Fix XFT redraw of text. Still needs slight work for the shadow in Basemenu

This commit is contained in:
Scott Moynes 2002-10-17 00:52:03 +00:00
parent 402e229e76
commit ccf6cfadf7
2 changed files with 18 additions and 0 deletions

View file

@ -447,6 +447,7 @@ void Basemenu::redrawTitle(void) {
break; break;
} }
XClearWindow(display, menu.title);
style->t_font->drawString(menu.title, dx, menu.bevel_w, style->t_font->drawString(menu.title, dx, menu.bevel_w,
style->t_text, text); style->t_text, text);
} }
@ -610,6 +611,10 @@ void Basemenu::drawItem(int index, bool highlight, bool clear,
dooppsel = False; dooppsel = False;
} }
if (dotext)
XClearArea(display, menu.frame, text_x, text_y, text_w, text_h,
False);
if (dohilite && highlight && (menu.hilite_pixmap != ParentRelative)) { if (dohilite && highlight && (menu.hilite_pixmap != ParentRelative)) {
if (menu.hilite_pixmap) if (menu.hilite_pixmap)
XCopyArea(display, menu.hilite_pixmap, menu.frame, XCopyArea(display, menu.hilite_pixmap, menu.frame,

View file

@ -581,6 +581,11 @@ void Toolbar::checkClock(bool redraw, bool date) {
int pos = frame.bevel_w * 2; // this is modified by doJustify() int pos = frame.bevel_w * 2; // this is modified by doJustify()
style->doJustify(t, pos, frame.clock_w, frame.bevel_w * 4); style->doJustify(t, pos, frame.clock_w, frame.bevel_w * 4);
#ifdef XFT
XClearWindow(display, frame.clock);
#endif // XFT
style->font->drawString(frame.clock, pos, 1, style->c_text, t); style->font->drawString(frame.clock, pos, 1, style->c_text, t);
} }
} }
@ -593,6 +598,10 @@ void Toolbar::redrawWindowLabel(bool redraw) {
return; return;
} }
#ifdef XFT
redraw = true;
#endif // XFT
if (redraw) if (redraw)
XClearWindow(display, frame.window_label); XClearWindow(display, frame.window_label);
@ -610,6 +619,10 @@ void Toolbar::redrawWindowLabel(bool redraw) {
void Toolbar::redrawWorkspaceLabel(bool redraw) { void Toolbar::redrawWorkspaceLabel(bool redraw) {
const string& name = screen->getCurrentWorkspace()->getName(); const string& name = screen->getCurrentWorkspace()->getName();
#ifdef XFT
redraw = true;
#endif // XFT
if (redraw) if (redraw)
XClearWindow(display, frame.workspace_label); XClearWindow(display, frame.workspace_label);