- /* The width of the menu has to be more than the width of the text
- with the most characters */
- int menu_width = 0;
- for(unsigned int i = 0; i < items.size(); ++i)
- {
- int w = items[i]->text.size() + items[i]->input.size() + 1;
- if(w > menu_width)
- {
- menu_width = w;
- if( items[i]->kind == MN_TOGGLE)
- menu_width += 2;
- }
- }
-
- return (menu_width * 16 + 24);
+ Font* font = default_font;
+ if(items[i]->kind == MN_LABEL)
+ font = label_font;
+
+ float w = font->get_text_width(items[i]->text) +
+ label_font->get_text_width(items[i]->input) + 16;
+ if(items[i]->kind == MN_TOGGLE)
+ w += 32;
+
+ if(w > menu_width)
+ menu_width = w;