mirror of
				https://gitlab.freedesktop.org/wayland/wayland.git
				synced 2025-11-03 09:01:42 -05:00 
			
		
		
		
	Only draw background if it's different from the border color
This commit is contained in:
		
							parent
							
								
									940f75173b
								
							
						
					
					
						commit
						4554c41bf8
					
				
					 1 changed files with 9 additions and 8 deletions
				
			
		| 
						 | 
				
			
			@ -271,7 +271,7 @@ apply_key_map(struct keyboard_map *mode, int sym, char *response)
 | 
			
		|||
struct terminal_color { double r, g, b, a; };
 | 
			
		||||
struct color_scheme {
 | 
			
		||||
	struct terminal_color palette[16];
 | 
			
		||||
	struct terminal_color border;
 | 
			
		||||
	int border_color;
 | 
			
		||||
	char default_attr;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -643,7 +643,7 @@ struct color_scheme DEFAULT_COLORS = {
 | 
			
		|||
		{ 0.33, 1,    1,    1 }, /* high cyan */
 | 
			
		||||
		{ 1,    1,    1,    1 }  /* white */
 | 
			
		||||
	},
 | 
			
		||||
	{ 0, 0, 0, 1 },                  /* black border */
 | 
			
		||||
	0,			       /* black border */
 | 
			
		||||
	0x07                           /* bg:black, fg:light gray  */
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -657,7 +657,7 @@ terminal_draw_contents(struct terminal *terminal)
 | 
			
		|||
	int row, col;
 | 
			
		||||
	char attr;
 | 
			
		||||
	char toShow[5] = {0, };
 | 
			
		||||
	int foreground, background, bold, underline, tmp;
 | 
			
		||||
	int border, foreground, background, bold, underline, tmp;
 | 
			
		||||
	int text_x, text_y;
 | 
			
		||||
	cairo_surface_t *surface;
 | 
			
		||||
	double d;
 | 
			
		||||
| 
						 | 
				
			
			@ -669,11 +669,9 @@ terminal_draw_contents(struct terminal *terminal)
 | 
			
		|||
	cr = cairo_create(surface);
 | 
			
		||||
 | 
			
		||||
	cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE);
 | 
			
		||||
	cairo_set_source_rgba(cr,
 | 
			
		||||
			      terminal->color_scheme->border.r,
 | 
			
		||||
			      terminal->color_scheme->border.g,
 | 
			
		||||
			      terminal->color_scheme->border.b,
 | 
			
		||||
			      terminal->color_scheme->border.a);
 | 
			
		||||
	border = terminal->color_scheme->border_color;
 | 
			
		||||
	color = terminal->color_scheme->palette[border];
 | 
			
		||||
	cairo_set_source_rgba(cr, color.r, color.g, color.b, color.a);
 | 
			
		||||
	cairo_paint(cr);
 | 
			
		||||
 | 
			
		||||
	cairo_set_font_face(cr, terminal->font_normal);
 | 
			
		||||
| 
						 | 
				
			
			@ -702,6 +700,9 @@ terminal_draw_contents(struct terminal *terminal)
 | 
			
		|||
			background = tmp & ~ATTRMASK_INTENSITY;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if (background == border)
 | 
			
		||||
			continue;
 | 
			
		||||
 | 
			
		||||
		color = terminal->color_scheme->palette[background];
 | 
			
		||||
		cairo_set_source_rgba(cr, color.r, color.g, color.b, color.a);
 | 
			
		||||
		cairo_move_to(cr, side_margin + (col * extents.max_x_advance),
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue