[gtk+] Use cairo_push_group() to mix backgrounds during transitions
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] Use cairo_push_group() to mix backgrounds during transitions
- Date: Sat, 5 Feb 2011 14:27:39 +0000 (UTC)
commit 4c40349b920c8b175a118fcca378b6e76e34180c
Author: Carlos Garnacho <carlosg gnome org>
Date: Sat Feb 5 13:44:30 2011 +0100
Use cairo_push_group() to mix backgrounds during transitions
It also helps remove the cairo_clip() call to achieve the rounded
shape.
gtk/gtkthemingengine.c | 14 ++++++++++----
1 files changed, 10 insertions(+), 4 deletions(-)
---
diff --git a/gtk/gtkthemingengine.c b/gtk/gtkthemingengine.c
index 1db600e..a91daba 100644
--- a/gtk/gtkthemingengine.c
+++ b/gtk/gtkthemingengine.c
@@ -1498,10 +1498,8 @@ render_background_internal (GtkThemingEngine *engine,
NULL);
running = gtk_theming_engine_state_is_running (engine, GTK_STATE_PRELIGHT, &progress);
- _cairo_round_rectangle_sides (cr, (gdouble) radius,
- x, y, width, height,
- SIDE_ALL, junction);
- cairo_clip (cr);
+
+ cairo_push_group (cr);
if (gtk_theming_engine_has_class (engine, "background"))
{
@@ -1711,6 +1709,14 @@ render_background_internal (GtkThemingEngine *engine,
cairo_pattern_destroy (mask);
}
+ cairo_pop_group_to_source (cr);
+
+ _cairo_round_rectangle_sides (cr, (gdouble) radius,
+ x, y, width, height,
+ SIDE_ALL, junction);
+ cairo_close_path (cr);
+ cairo_fill (cr);
+
cairo_restore (cr);
gdk_rgba_free (bg_color);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]