- int pos = frame.bevel_w * 2,
- dlen = style->doJustify(name.c_str(), pos, frame.workspace_label_w,
- frame.bevel_w * 4, i18n.multibyte());
- BPen pen(style->l_text, style->font);
- if (i18n.multibyte())
- XmbDrawString(display, frame.workspace_label, style->fontset, pen.gc(),
- pos, (1 - style->fontset_extents->max_ink_extent.y),
- name.c_str(), dlen);
- else
- XDrawString(display, frame.workspace_label, pen.gc(), pos,
- (style->font->ascent + 1),
- name.c_str(), dlen);
+ int pos = frame.bevel_w * 2;
+ style->doJustify(name.c_str(), pos, frame.workspace_label_w,
+ frame.bevel_w * 4);
+ style->font->drawString(frame.workspace_label, pos, 1, style->l_text, name);
+}
+
+
+void Toolbar::drawArrow(Drawable surface, bool left) const {
+ int hh = frame.button_w / 2, hw = frame.button_w / 2;
+ XPoint pts[3];
+ const int bullet_size = 3;
+
+ if (left) {
+ pts[0].x = hw - bullet_size;
+ pts[0].y = hh;
+ pts[1].x = 2 * bullet_size;
+ pts[1].y = bullet_size;
+ pts[2].x = 0;
+ pts[2].y = -(2 * bullet_size);
+ } else {
+ pts[0].x = hw - bullet_size;
+ pts[0].y = hh - bullet_size;
+ pts[1].x = (2 * bullet_size);
+ pts[1].y = bullet_size;
+ pts[2].x = -(2 * bullet_size);
+ pts[2].y = bullet_size;
+ }
+
+ BPen pen(screen->getToolbarStyle()->b_pic);
+ XFillPolygon(display, surface, pen.gc(), pts, 3, Convex, CoordModePrevious);