renderer: Simplify surface rendering
This commit is contained in:
		@ -88,8 +88,8 @@ create_keyboard_surface_button_callback (struct squeek_button *button,
 | 
			
		||||
    cairo_rectangle (data->cr,
 | 
			
		||||
                     0.0,
 | 
			
		||||
                     0.0,
 | 
			
		||||
                     bounds.width + 100,
 | 
			
		||||
                     bounds.height + 100);
 | 
			
		||||
                     bounds.width,
 | 
			
		||||
                     bounds.height);
 | 
			
		||||
    cairo_clip (data->cr);
 | 
			
		||||
 | 
			
		||||
    render_button (data->renderer, data->cr, button, FALSE, FALSE);
 | 
			
		||||
@ -125,7 +125,6 @@ render_keyboard_surface (EekRenderer *renderer, struct squeek_view *view)
 | 
			
		||||
    CreateKeyboardSurfaceCallbackData data = {
 | 
			
		||||
        .cr = cairo_create (priv->keyboard_surface),
 | 
			
		||||
        .renderer = renderer,
 | 
			
		||||
        .view = view,
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    /* Paint the background covering the entire widget area */
 | 
			
		||||
@ -138,12 +137,6 @@ render_keyboard_surface (EekRenderer *renderer, struct squeek_view *view)
 | 
			
		||||
                      0, 0,
 | 
			
		||||
                      priv->allocation_width, priv->allocation_height);
 | 
			
		||||
 | 
			
		||||
    cairo_save (data.cr);
 | 
			
		||||
    cairo_scale (data.cr, priv->scale, priv->scale);
 | 
			
		||||
 | 
			
		||||
    EekBounds bounds = squeek_view_get_bounds (level_keyboard_current(priv->keyboard));
 | 
			
		||||
    cairo_translate (data.cr, bounds.x, bounds.y);
 | 
			
		||||
 | 
			
		||||
    GdkRGBA color = {0};
 | 
			
		||||
    gtk_style_context_get_color (priv->view_context, GTK_STATE_FLAG_NORMAL, &color);
 | 
			
		||||
    cairo_set_source_rgba (data.cr,
 | 
			
		||||
@ -152,8 +145,15 @@ render_keyboard_surface (EekRenderer *renderer, struct squeek_view *view)
 | 
			
		||||
                           color.blue,
 | 
			
		||||
                           color.alpha);
 | 
			
		||||
 | 
			
		||||
    cairo_save (data.cr);
 | 
			
		||||
 | 
			
		||||
    cairo_scale (data.cr, priv->scale, priv->scale);
 | 
			
		||||
 | 
			
		||||
    EekBounds bounds = squeek_view_get_bounds (view);
 | 
			
		||||
    cairo_translate (data.cr, bounds.x, bounds.y);
 | 
			
		||||
 | 
			
		||||
    /* draw rows */
 | 
			
		||||
    squeek_view_foreach(level_keyboard_current(priv->keyboard),
 | 
			
		||||
    squeek_view_foreach(view,
 | 
			
		||||
                        create_keyboard_surface_row_callback,
 | 
			
		||||
                        &data);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user