}
MenuStyle *style = screen->getMenuStyle();
- BPen pen((highlight || item->isSelected()) ? style->h_text : style->f_text),
- hipen(style->hilite.color());
+ BPen hipen(style->hilite.color());
+ // match the text color
+ BPen pen((highlight ? style->h_text :
+ (item->isEnabled() ? style->f_text :
+ style->d_text)));
sel_x = item_x;
if (dosel && item->isSelected()) {
XPoint pts[6];
- pts[0].x = sel_x + 0;
+ // put the check mark on the opposite side of the menu
+ int x = sel_x;
+ if (screen->getMenuStyle()->bullet_pos == Right)
+ x -= (menu.item_w - menu.item_h - menu.bevel_w);
+ else
+ x += (menu.item_w - menu.item_h - menu.bevel_w);
+
+ pts[0].x = x + 0;
pts[0].y = sel_y + 2;
pts[1].x = 0;
pts[3].x = 5;
pts[3].y = -5;
+
pts[4].x = 0;
pts[4].y = -3;
pts[5].x = -5;
pts[5].y = 5;
- XFillPolygon(display, menu.frame, pen.gc(), pts, 6, Complex,
+ XFillPolygon(display, menu.frame, pen.gc(), pts, 6, Nonconvex,
CoordModePrevious);
}