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:
tokyo4j 2024-11-19 06:20:30 +09:00 committed by Consolatis
parent e647fc7b23
commit 9703c1deca

View file

@ -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) {