Fix menu drawing...

src/fl_draw.cxx:
    - fl_measure(): use "h" instead of "min(w,h)", since "w" is
      usually 0.

src/Fl_Menu.cxx:
    - Revert previous "fix" in Fl_Menu_Item::measure()


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4070 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
Michael R Sweet 2005-03-05 23:01:00 +00:00
parent a48c6dd545
commit e6399f8f37
2 changed files with 3 additions and 4 deletions

View File

@ -122,8 +122,7 @@ int Fl_Menu_Item::measure(int* hp, const Fl_Menu_* m) const {
l.size = labelsize_ ? labelsize_ : m ? m->textsize() : (uchar)FL_NORMAL_SIZE;
l.color = FL_BLACK; // this makes no difference?
fl_draw_shortcut = 1;
int w = l.size; int h = l.size;
if (hp) *hp = h;
int w = 0; int h = 0;
l.measure(w, hp ? *hp : h);
fl_draw_shortcut = 0;
if (flags & (FL_MENU_TOGGLE|FL_MENU_RADIO)) w += 14;

View File

@ -295,12 +295,12 @@ void fl_measure(const char* str, int& w, int& h, int draw_symbols) {
*symptr++ = *str++);
*symptr = '\0';
if (isspace(*str)) str++;
symwidth[0] = min(w,h);
symwidth[0] = h;
}
if (str && (p = strrchr(str, '@')) != NULL && p > (str + 1)) {
strlcpy(symbol[1], p, sizeof(symbol[1]));
symwidth[1] = min(w,h);
symwidth[1] = h;
}
symtotal = symwidth[0] + symwidth[1];