From ccf6cfadf7917be62eda6b5613feca59ddc66a0f Mon Sep 17 00:00:00 2001 From: Scott Moynes Date: Thu, 17 Oct 2002 00:52:03 +0000 Subject: [PATCH] Fix XFT redraw of text. Still needs slight work for the shadow in Basemenu --- src/Basemenu.cc | 5 +++++ src/Toolbar.cc | 13 +++++++++++++ 2 files changed, 18 insertions(+) diff --git a/src/Basemenu.cc b/src/Basemenu.cc index 322576c5..25a941cb 100644 --- a/src/Basemenu.cc +++ b/src/Basemenu.cc @@ -447,6 +447,7 @@ void Basemenu::redrawTitle(void) { break; } + XClearWindow(display, menu.title); style->t_font->drawString(menu.title, dx, menu.bevel_w, style->t_text, text); } @@ -610,6 +611,10 @@ void Basemenu::drawItem(int index, bool highlight, bool clear, 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 (menu.hilite_pixmap) XCopyArea(display, menu.hilite_pixmap, menu.frame, diff --git a/src/Toolbar.cc b/src/Toolbar.cc index d2e2f15f..587d3fd4 100644 --- a/src/Toolbar.cc +++ b/src/Toolbar.cc @@ -581,6 +581,11 @@ void Toolbar::checkClock(bool redraw, bool date) { int pos = frame.bevel_w * 2; // this is modified by doJustify() 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); } } @@ -593,6 +598,10 @@ void Toolbar::redrawWindowLabel(bool redraw) { return; } +#ifdef XFT + redraw = true; +#endif // XFT + if (redraw) XClearWindow(display, frame.window_label); @@ -610,6 +619,10 @@ void Toolbar::redrawWindowLabel(bool redraw) { void Toolbar::redrawWorkspaceLabel(bool redraw) { const string& name = screen->getCurrentWorkspace()->getName(); +#ifdef XFT + redraw = true; +#endif // XFT + if (redraw) XClearWindow(display, frame.workspace_label); -- 2.39.2