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,
|
cairo_rectangle (data->cr,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
bounds.width + 100,
|
bounds.width,
|
||||||
bounds.height + 100);
|
bounds.height);
|
||||||
cairo_clip (data->cr);
|
cairo_clip (data->cr);
|
||||||
|
|
||||||
render_button (data->renderer, data->cr, button, FALSE, FALSE);
|
render_button (data->renderer, data->cr, button, FALSE, FALSE);
|
||||||
@ -125,7 +125,6 @@ render_keyboard_surface (EekRenderer *renderer, struct squeek_view *view)
|
|||||||
CreateKeyboardSurfaceCallbackData data = {
|
CreateKeyboardSurfaceCallbackData data = {
|
||||||
.cr = cairo_create (priv->keyboard_surface),
|
.cr = cairo_create (priv->keyboard_surface),
|
||||||
.renderer = renderer,
|
.renderer = renderer,
|
||||||
.view = view,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Paint the background covering the entire widget area */
|
/* Paint the background covering the entire widget area */
|
||||||
@ -138,12 +137,6 @@ render_keyboard_surface (EekRenderer *renderer, struct squeek_view *view)
|
|||||||
0, 0,
|
0, 0,
|
||||||
priv->allocation_width, priv->allocation_height);
|
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};
|
GdkRGBA color = {0};
|
||||||
gtk_style_context_get_color (priv->view_context, GTK_STATE_FLAG_NORMAL, &color);
|
gtk_style_context_get_color (priv->view_context, GTK_STATE_FLAG_NORMAL, &color);
|
||||||
cairo_set_source_rgba (data.cr,
|
cairo_set_source_rgba (data.cr,
|
||||||
@ -152,8 +145,15 @@ render_keyboard_surface (EekRenderer *renderer, struct squeek_view *view)
|
|||||||
color.blue,
|
color.blue,
|
||||||
color.alpha);
|
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 */
|
/* draw rows */
|
||||||
squeek_view_foreach(level_keyboard_current(priv->keyboard),
|
squeek_view_foreach(view,
|
||||||
create_keyboard_surface_row_callback,
|
create_keyboard_surface_row_callback,
|
||||||
&data);
|
&data);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user