ui_draw_text optimization from unified patches
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@277 423420c4-83ab-492f-b58f-81f9feb106b5
This commit is contained in:
parent
f03b756f48
commit
517c36f2ef
17
xwin.c
17
xwin.c
@ -1126,6 +1126,7 @@ ui_rect(
|
||||
FILL_RECTANGLE(x, y, cx, cy);
|
||||
}
|
||||
|
||||
/* warning, this function only draws on wnd or backstore, not both */
|
||||
void
|
||||
ui_draw_glyph(int mixmode,
|
||||
/* dest */ int x, int y, int cx, int cy,
|
||||
@ -1140,7 +1141,10 @@ ui_draw_glyph(int mixmode,
|
||||
XSetStipple(display, gc, (Pixmap) glyph);
|
||||
XSetTSOrigin(display, gc, x, y);
|
||||
|
||||
FILL_RECTANGLE(x, y, cx, cy);
|
||||
if (ownbackstore)
|
||||
XFillRectangle(display, backstore, gc, x, y, cx, cy);
|
||||
else
|
||||
XFillRectangle(display, wnd, gc, x, y, cx, cy);
|
||||
|
||||
XSetFillStyle(display, gc, FillSolid);
|
||||
}
|
||||
@ -1249,8 +1253,15 @@ ui_draw_text(uint8 font, uint8 flags, int mixmode, int x, int y,
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (ownbackstore)
|
||||
{
|
||||
if (boxcx > 1)
|
||||
XCopyArea(display, backstore, wnd, gc, boxx,
|
||||
boxy, boxcx, boxcy, boxx, boxy);
|
||||
else
|
||||
XCopyArea(display, backstore, wnd, gc, clipx,
|
||||
clipy, clipcx, clipcy, clipx, clipy);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
|
Loading…
Reference in New Issue
Block a user