Move "blank background" code from EekGtkKeyboard to EekRenderer.
This commit is contained in:
		@ -85,7 +85,6 @@ eek_gtk_keyboard_real_draw (GtkWidget *self,
 | 
			
		||||
{
 | 
			
		||||
    EekGtkKeyboardPrivate *priv = EEK_GTK_KEYBOARD_GET_PRIVATE(self);
 | 
			
		||||
    GtkAllocation allocation;
 | 
			
		||||
    EekColor background;
 | 
			
		||||
 | 
			
		||||
    gtk_widget_get_allocation (self, &allocation);
 | 
			
		||||
 | 
			
		||||
@ -112,20 +111,6 @@ eek_gtk_keyboard_real_draw (GtkWidget *self,
 | 
			
		||||
             color_from_gdk_color (&style->bg[state]));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /* blank background */
 | 
			
		||||
    eek_renderer_get_background (priv->renderer, &background);
 | 
			
		||||
    cairo_set_source_rgba (cr,
 | 
			
		||||
                           background.red,
 | 
			
		||||
                           background.green,
 | 
			
		||||
                           background.blue,
 | 
			
		||||
                           background.alpha);
 | 
			
		||||
    cairo_rectangle (cr,
 | 
			
		||||
                     0.0,
 | 
			
		||||
                     0.0,
 | 
			
		||||
                     allocation.width,
 | 
			
		||||
                     allocation.height);
 | 
			
		||||
    cairo_fill (cr);
 | 
			
		||||
 | 
			
		||||
    eek_renderer_render_keyboard (priv->renderer, cr);
 | 
			
		||||
 | 
			
		||||
#if GTK_CHECK_VERSION (2, 91, 2)
 | 
			
		||||
@ -336,8 +321,6 @@ on_key_released (EekKeyboard *keyboard,
 | 
			
		||||
    EekGtkKeyboardPrivate *priv = EEK_GTK_KEYBOARD_GET_PRIVATE(widget);
 | 
			
		||||
    cairo_t *cr;
 | 
			
		||||
    EekBounds bounds, large_bounds;
 | 
			
		||||
    EekColor background;
 | 
			
		||||
    cairo_path_t *cp;
 | 
			
		||||
 | 
			
		||||
    /* renderer may have not been set yet if the widget is a popup */
 | 
			
		||||
    if (!priv->renderer)
 | 
			
		||||
@ -346,25 +329,14 @@ on_key_released (EekKeyboard *keyboard,
 | 
			
		||||
    cr = gdk_cairo_create (GDK_DRAWABLE (gtk_widget_get_window (widget)));
 | 
			
		||||
 | 
			
		||||
    eek_renderer_get_key_bounds (priv->renderer, key, &bounds, TRUE);
 | 
			
		||||
    magnify_bounds (&bounds, &large_bounds, 1.5);
 | 
			
		||||
    magnify_bounds (&bounds, &large_bounds, 2.0);
 | 
			
		||||
    cairo_rectangle (cr,
 | 
			
		||||
                     large_bounds.x,
 | 
			
		||||
                     large_bounds.y,
 | 
			
		||||
                     large_bounds.width,
 | 
			
		||||
                     large_bounds.height);
 | 
			
		||||
    cp = cairo_copy_path (cr);
 | 
			
		||||
    cairo_clip (cr);
 | 
			
		||||
 | 
			
		||||
    eek_renderer_get_background (priv->renderer, &background);
 | 
			
		||||
    cairo_set_source_rgba (cr,
 | 
			
		||||
                           background.red,
 | 
			
		||||
                           background.green,
 | 
			
		||||
                           background.blue,
 | 
			
		||||
                           background.alpha);
 | 
			
		||||
    cairo_append_path (cr, cp);
 | 
			
		||||
    cairo_fill (cr);
 | 
			
		||||
    eek_renderer_render_keyboard (priv->renderer, cr);
 | 
			
		||||
    cairo_path_destroy (cp);
 | 
			
		||||
    cairo_destroy (cr);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -115,7 +115,11 @@ create_keyboard_surface (EekRenderer *renderer)
 | 
			
		||||
    cairo_translate (data.cr, bounds.x * priv->scale, bounds.y * priv->scale);
 | 
			
		||||
 | 
			
		||||
    /* blank background */
 | 
			
		||||
    cairo_set_source_rgba (data.cr, 0, 0, 0, 0);
 | 
			
		||||
    cairo_set_source_rgba (data.cr,
 | 
			
		||||
                           priv->background->red,
 | 
			
		||||
                           priv->background->green,
 | 
			
		||||
                           priv->background->blue,
 | 
			
		||||
                           priv->background->alpha);
 | 
			
		||||
    cairo_rectangle (data.cr,
 | 
			
		||||
                     0.0,
 | 
			
		||||
                     0.0,
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user