add frdrawseltick

This commit is contained in:
rsc 2007-05-10 19:08:09 +00:00
parent 35920e96a1
commit 813751d754
2 changed files with 27 additions and 3 deletions

View file

@ -1,6 +1,6 @@
.TH FRAME 3 .TH FRAME 3
.SH NAME .SH NAME
frinit, frsetrects, frinittick, frclear, frcharofpt, frptofchar, frinsert, frdelete, frselect, frtick, frselectpaint, frdrawsel, frdrawsel0, frgetmouse \- frames of text frinit, frsetrects, frinittick, frclear, frcharofpt, frptofchar, frinsert, frdelete, frselect, frtick, frselectpaint, frdrawsel, frdrawsel0, frdrawseltick, frgetmouse \- frames of text
.SH SYNOPSIS .SH SYNOPSIS
.nf .nf
.B .B
@ -55,6 +55,11 @@ void frdrawsel(Frame *f, Point pt0, ulong p0, ulong p1,
int highlighted) int highlighted)
.PP .PP
.B .B
void frdrawseltick(Frame *f, Point pt0, ulong p0, ulong p1,
.B
int highlighted, int ticked)
.PP
.B
void frdrawsel0(Frame *f, Point pt0, ulong p0, ulong p1, void frdrawsel0(Frame *f, Point pt0, ulong p0, ulong p1,
.B .B
Image *back, Image *text) Image *back, Image *text)
@ -339,6 +344,19 @@ on the screen; like all of the selection-helper routines'
.B Point .B Point
arguments, it must be a value generated by arguments, it must be a value generated by
.IR frptofchar . .IR frptofchar .
.I Frdrawseltick
is identical to
.I frdrawsel
except that the
.I ticked
flag controls whether to draw the tick
when
.I highlighted
is non-zero and
.I p0
and
.I p1
are equal.
.I Frdrawsel0 .I Frdrawsel0
is a lower-level routine, taking as arguments a background color, is a lower-level routine, taking as arguments a background color,
.IR back , .IR back ,

View file

@ -32,7 +32,7 @@ nbytes(char *s0, int nr)
} }
void void
frdrawsel(Frame *f, Point pt, ulong p0, ulong p1, int issel) frdrawseltick(Frame *f, Point pt, ulong p0, ulong p1, int issel, int ticked)
{ {
Image *back, *text; Image *back, *text;
@ -40,7 +40,7 @@ frdrawsel(Frame *f, Point pt, ulong p0, ulong p1, int issel)
frtick(f, frptofchar(f, f->p0), 0); frtick(f, frptofchar(f, f->p0), 0);
if(p0 == p1){ if(p0 == p1){
frtick(f, pt, issel); frtick(f, pt, issel && ticked);
return; return;
} }
@ -55,6 +55,12 @@ frdrawsel(Frame *f, Point pt, ulong p0, ulong p1, int issel)
frdrawsel0(f, pt, p0, p1, back, text); frdrawsel0(f, pt, p0, p1, back, text);
} }
void
frdrawsel(Frame *f, Point pt, ulong p0, ulong p1, int issel)
{
frdrawseltick(f, pt, p0, p1, issel, issel);
}
void void
frdrawsel0(Frame *f, Point pt, ulong p0, ulong p1, Image *back, Image *text) frdrawsel0(Frame *f, Point pt, ulong p0, ulong p1, Image *back, Image *text)
{ {