mirror of
				https://github.com/labwc/labwc.git
				synced 2025-11-03 09:01:51 -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;
 | 
			
		||||
 | 
			
		||||
	/* Font buffers */
 | 
			
		||||
	int text_width = menu->size.width - 2 * theme->menu_items_padding_x;
 | 
			
		||||
	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_bg_color, menuitem->arrow);
 | 
			
		||||
	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_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 */
 | 
			
		||||
	int x = theme->menu_items_padding_x;
 | 
			
		||||
| 
						 | 
				
			
			@ -296,10 +293,8 @@ title_create_scene(struct menuitem *menuitem, int *item_y)
 | 
			
		|||
	assert(menuitem->normal.buffer);
 | 
			
		||||
	menuitem->normal.text = &menuitem->normal.buffer->scene_buffer->node;
 | 
			
		||||
	scaled_font_buffer_update(menuitem->normal.buffer, menuitem->text,
 | 
			
		||||
		menuitem->native_width, &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);
 | 
			
		||||
		menu->size.width - 2 * theme->menu_items_padding_x,
 | 
			
		||||
		&rc.font_menuheader, text_color, bg_color, /* arrow */ NULL);
 | 
			
		||||
 | 
			
		||||
	int title_x = 0;
 | 
			
		||||
	switch (theme->menu_title_text_justify) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue