Esempio n. 1
0
File: frdraw.c Progetto: npe9/harvey
Point
_frdraw(Frame *f, Point pt)
{
    Frbox *b;
    int nb, n;

    for(b=f->box,nb=0; nb<f->nbox; nb++, b++) {
        _frcklinewrap0(f, &pt, b);
        if(pt.y == f->r.max.y) {
            f->nchars -= _frstrlen(f, nb);
            _frdelbox(f, nb, f->nbox-1);
            break;
        }
        if(b->nrune > 0) {
            n = _frcanfit(f, pt, b);
            if(n == 0)
                drawerror(f->display, "_frcanfit==0");
            if(n != b->nrune) {
                _frsplitbox(f, nb, n);
                b = &f->box[nb];
            }
            pt.x += b->wid;
        } else {
            if(b->bc == '\n') {
                pt.x = f->r.min.x;
                pt.y+=f->font->height;
            } else
                pt.x += _frnewwid(f, pt, b);
        }
    }
    return pt;
}
Esempio n. 2
0
void
_frcklinewrap0(Frame *f, Point *p, Frbox *b)
{
	if(_frcanfit(f, *p, b) == 0){
		p->x = f->r.min.x;
		p->y += f->font->height;
	}
}
Esempio n. 3
0
File: frutil.c Progetto: 4ad/sam
void
_frcklinewrap0(Frame *f, Point *p, Frbox *b)
{
	if(_frcanfit(f, *p, b) == 0){
		p->x = f->left;
		p->y += f->fheight;
	}
}