From 15c0a9dadf697be051e091791f4267e7396bf4d5 Mon Sep 17 00:00:00 2001 From: Daiki Ueno Date: Fri, 12 Aug 2011 12:51:35 +0900 Subject: [PATCH] Blank background around a large key when key release. --- eek/eek-gtk-keyboard.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/eek/eek-gtk-keyboard.c b/eek/eek-gtk-keyboard.c index c9b4f382..4c1a3e58 100644 --- a/eek/eek-gtk-keyboard.c +++ b/eek/eek-gtk-keyboard.c @@ -419,6 +419,7 @@ on_key_released (EekKeyboard *keyboard, EekGtkKeyboardPrivate *priv = EEK_GTK_KEYBOARD_GET_PRIVATE(widget); cairo_t *cr; EekBounds bounds, large_bounds; + EekColor background; /* renderer may have not been set yet if the widget is a popup */ if (!priv->renderer) @@ -434,6 +435,18 @@ on_key_released (EekKeyboard *keyboard, large_bounds.width, large_bounds.height); cairo_clip (cr); + + /* blank background, in case that a large key does not fit in the + keyboard */ + eek_renderer_get_background_color (priv->renderer, + EEK_ELEMENT(priv->keyboard), + &background); + cairo_set_source_rgba (cr, + background.red, + background.green, + background.blue, + background.alpha); + cairo_paint (cr); eek_renderer_render_keyboard (priv->renderer, cr); cairo_set_operator (cr, CAIRO_OPERATOR_CLEAR); cairo_destroy (cr);