Browse Source

STR 2711: fixed radio menu button drawing.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9071 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
pull/49/head
Matthias Melcher 14 years ago
parent
commit
8f41d85454
  1. 10
      src/Fl_Menu.cxx

10
src/Fl_Menu.cxx

@ -139,7 +139,7 @@ int Fl_Menu_Item::measure(int* hp, const Fl_Menu_* m) const {
int w = 0; int h = 0; int w = 0; int h = 0;
l.measure(w, hp ? *hp : h); l.measure(w, hp ? *hp : h);
fl_draw_shortcut = 0; fl_draw_shortcut = 0;
if (flags & (FL_MENU_TOGGLE|FL_MENU_RADIO)) w += 14; if (flags & (FL_MENU_TOGGLE|FL_MENU_RADIO)) w += FL_NORMAL_SIZE;
return w; return w;
} }
@ -188,11 +188,8 @@ void Fl_Menu_Item::draw(int x, int y, int w, int h, const Fl_Menu_* m,
if (value()) { if (value()) {
int tW = (W - Fl::box_dw(FL_ROUND_DOWN_BOX)) / 2 + 1; int tW = (W - Fl::box_dw(FL_ROUND_DOWN_BOX)) / 2 + 1;
if ((W - tW) & 1) tW++; // Make sure difference is even to center if ((W - tW) & 1) tW++; // Make sure difference is even to center
int td = Fl::box_dx(FL_ROUND_DOWN_BOX) + 1; int td = (W - tW) / 2;
if (Fl::scheme()) { if (Fl::scheme()) {
// Offset the radio circle...
td ++;
if (!strcmp(Fl::scheme(), "gtk+")) { if (!strcmp(Fl::scheme(), "gtk+")) {
fl_color(FL_SELECTION_COLOR); fl_color(FL_SELECTION_COLOR);
tW --; tW --;
@ -332,7 +329,8 @@ menuwindow::menuwindow(const Fl_Menu_Item* m, int X, int Y, int Wp, int Hp,
int hh; int hh;
int w1 = m->measure(&hh, button); int w1 = m->measure(&hh, button);
if (hh+LEADING>itemheight) itemheight = hh+LEADING; if (hh+LEADING>itemheight) itemheight = hh+LEADING;
if (m->flags&(FL_SUBMENU|FL_SUBMENU_POINTER)) w1 += 14; if (m->flags&(FL_SUBMENU|FL_SUBMENU_POINTER))
w1 += FL_NORMAL_SIZE;
if (w1 > W) W = w1; if (w1 > W) W = w1;
// calculate the maximum width of all shortcuts // calculate the maximum width of all shortcuts
if (m->shortcut_) { if (m->shortcut_) {

Loading…
Cancel
Save