summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorScott Moynes <smoynes@nexus.carleton.ca>2002-10-17 00:52:03 +0000
committerScott Moynes <smoynes@nexus.carleton.ca>2002-10-17 00:52:03 +0000
commitccf6cfadf7917be62eda6b5613feca59ddc66a0f (patch)
tree0b45b7f0f2cd2a44a5f4ae2ea07476a15a9cdf5a /src
parent402e229e76dfd8b4cda8b7cf1fccaec5acf7570c (diff)
Fix XFT redraw of text. Still needs slight work for the shadow in Basemenu
Diffstat (limited to 'src')
-rw-r--r--src/Basemenu.cc5
-rw-r--r--src/Toolbar.cc13
2 files changed, 18 insertions, 0 deletions
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);