mirror of
				https://github.com/labwc/labwc.git
				synced 2025-11-03 09:01:51 -05:00 
			
		
		
		
	img: fix scaling for rendering large image in non-square rectangle
16dbdc6 caused a regression that the vscode icon (1024x1024) in the
titlebar is cut off with following configuraion:
  window.button.width: 26
  window.button.height: 16
			
			
This commit is contained in:
		
							parent
							
								
									028e24dc13
								
							
						
					
					
						commit
						adccc3ec84
					
				
					 1 changed files with 3 additions and 3 deletions
				
			
		| 
						 | 
					@ -138,9 +138,9 @@ render_cairo_surface(cairo_surface_t *surface, int width, int height,
 | 
				
			||||||
		.height = height - 2 * padding,
 | 
							.height = height - 2 * padding,
 | 
				
			||||||
	};
 | 
						};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	struct wlr_box src_box = box_fit_within(src_w, src_h, &container);
 | 
						struct wlr_box dst_box = box_fit_within(src_w, src_h, &container);
 | 
				
			||||||
	double scene_scale = MIN(1.0, (double_t)container.width / (double)src_w);
 | 
						double scene_scale = (double)dst_box.width / (double)src_w;
 | 
				
			||||||
	cairo_translate(cairo, src_box.x, src_box.y);
 | 
						cairo_translate(cairo, dst_box.x, dst_box.y);
 | 
				
			||||||
	cairo_scale(cairo, scene_scale, scene_scale);
 | 
						cairo_scale(cairo, scene_scale, scene_scale);
 | 
				
			||||||
	cairo_set_source_surface(cairo, surface, 0, 0);
 | 
						cairo_set_source_surface(cairo, surface, 0, 0);
 | 
				
			||||||
	cairo_pattern_set_filter(cairo_get_source(cairo), CAIRO_FILTER_GOOD);
 | 
						cairo_pattern_set_filter(cairo_get_source(cairo), CAIRO_FILTER_GOOD);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue