mirror of
https://github.com/labwc/labwc.git
synced 2025-11-04 13:30:07 -05:00
src/menu.c: remove unnecessary re-renderings of font buffers
I missed that `scaled_font_buffer_update()` has `max_width` argument and the subsequent calls to `scaled_font_buffer_set_max_width()` caused unnecessary re-renderings.
This commit is contained in:
parent
e647fc7b23
commit
9703c1deca
1 changed files with 5 additions and 10 deletions
|
|
@ -187,18 +187,15 @@ item_create_scene(struct menuitem *menuitem, int *item_y)
|
||||||
menuitem->selected.text = &menuitem->selected.buffer->scene_buffer->node;
|
menuitem->selected.text = &menuitem->selected.buffer->scene_buffer->node;
|
||||||
|
|
||||||
/* Font buffers */
|
/* Font buffers */
|
||||||
|
int text_width = menu->size.width - 2 * theme->menu_items_padding_x;
|
||||||
scaled_font_buffer_update(menuitem->normal.buffer, menuitem->text,
|
scaled_font_buffer_update(menuitem->normal.buffer, menuitem->text,
|
||||||
menuitem->native_width, &rc.font_menuitem,
|
text_width, &rc.font_menuitem,
|
||||||
theme->menu_items_text_color,
|
theme->menu_items_text_color,
|
||||||
theme->menu_items_bg_color, menuitem->arrow);
|
theme->menu_items_bg_color, menuitem->arrow);
|
||||||
scaled_font_buffer_update(menuitem->selected.buffer, menuitem->text,
|
scaled_font_buffer_update(menuitem->selected.buffer, menuitem->text,
|
||||||
menuitem->native_width, &rc.font_menuitem,
|
text_width, &rc.font_menuitem,
|
||||||
theme->menu_items_active_text_color,
|
theme->menu_items_active_text_color,
|
||||||
theme->menu_items_active_bg_color, menuitem->arrow);
|
theme->menu_items_active_bg_color, menuitem->arrow);
|
||||||
scaled_font_buffer_set_max_width(menuitem->normal.buffer,
|
|
||||||
menu->size.width - 2 * theme->menu_items_padding_x);
|
|
||||||
scaled_font_buffer_set_max_width(menuitem->selected.buffer,
|
|
||||||
menu->size.width - 2 * theme->menu_items_padding_x);
|
|
||||||
|
|
||||||
/* Center font nodes */
|
/* Center font nodes */
|
||||||
int x = theme->menu_items_padding_x;
|
int x = theme->menu_items_padding_x;
|
||||||
|
|
@ -296,10 +293,8 @@ title_create_scene(struct menuitem *menuitem, int *item_y)
|
||||||
assert(menuitem->normal.buffer);
|
assert(menuitem->normal.buffer);
|
||||||
menuitem->normal.text = &menuitem->normal.buffer->scene_buffer->node;
|
menuitem->normal.text = &menuitem->normal.buffer->scene_buffer->node;
|
||||||
scaled_font_buffer_update(menuitem->normal.buffer, menuitem->text,
|
scaled_font_buffer_update(menuitem->normal.buffer, menuitem->text,
|
||||||
menuitem->native_width, &rc.font_menuheader,
|
menu->size.width - 2 * theme->menu_items_padding_x,
|
||||||
text_color, bg_color, /* arrow */ NULL);
|
&rc.font_menuheader, text_color, bg_color, /* arrow */ NULL);
|
||||||
scaled_font_buffer_set_max_width(menuitem->normal.buffer,
|
|
||||||
menu->size.width - 2 * theme->menu_items_padding_x);
|
|
||||||
|
|
||||||
int title_x = 0;
|
int title_x = 0;
|
||||||
switch (theme->menu_title_text_justify) {
|
switch (theme->menu_title_text_justify) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue