[gtk-theme-engine-clearlooks] Render progressbars as per the mockups in adwaita



commit 4906b30524f353f47cc874d7a5c84060040f3eed
Author: Carlos Garnacho <carlosg gnome org>
Date:   Wed Jan 19 04:26:59 2011 +0100

    Render progressbars as per the mockups in adwaita

 src/adwaita_engine.c |   35 +++++++++++++++++++++++++++++++++++
 1 files changed, 35 insertions(+), 0 deletions(-)
---
diff --git a/src/adwaita_engine.c b/src/adwaita_engine.c
index 787796e..c1e0154 100644
--- a/src/adwaita_engine.c
+++ b/src/adwaita_engine.c
@@ -487,6 +487,40 @@ adwaita_engine_render_expander (GtkThemingEngine *engine,
 }
 
 static void
+adwaita_engine_render_activity (GtkThemingEngine *engine,
+				cairo_t          *cr,
+				gdouble           x,
+				gdouble           y,
+				gdouble           width,
+				gdouble           height)
+{
+	cairo_save (cr);
+
+	GTK_THEMING_ENGINE_CLASS (adwaita_engine_parent_class)->render_activity (engine, cr,
+										 x, y, width, height);
+
+	if (gtk_theming_engine_has_class (engine, GTK_STYLE_CLASS_PROGRESSBAR))
+	{
+		cairo_pattern_t *pattern;
+
+		pattern = cairo_pattern_create_linear (0, 0, 20, 20);
+		cairo_pattern_add_color_stop_rgba (pattern, 0, 0, 0, 0, 0);
+		cairo_pattern_add_color_stop_rgba (pattern, 0.5, 0, 0, 0, 0);
+		cairo_pattern_add_color_stop_rgba (pattern, 0.5, 0, 0, 0, 0.1);
+		cairo_pattern_add_color_stop_rgba (pattern, 1, 0, 0, 0, 0.1);
+
+		cairo_pattern_set_extend (pattern, CAIRO_EXTEND_REPEAT);
+		cairo_rectangle (cr, x, y, width, height);
+		cairo_set_source (cr, pattern);
+		cairo_fill (cr);
+
+		cairo_pattern_destroy (pattern);
+	}
+
+	cairo_restore (cr);
+}
+
+static void
 adwaita_engine_class_init (AdwaitaEngineClass *klass)
 {
 	GtkThemingEngineClass *engine_class = GTK_THEMING_ENGINE_CLASS (klass);
@@ -498,6 +532,7 @@ adwaita_engine_class_init (AdwaitaEngineClass *klass)
 	engine_class->render_extension = adwaita_engine_render_extension;
 	engine_class->render_frame = adwaita_engine_render_frame;
 	engine_class->render_expander = adwaita_engine_render_expander;
+	engine_class->render_activity = adwaita_engine_render_activity;
 
 	gtk_theming_engine_register_property (ADWAITA_NAMESPACE, NULL,
 					      g_param_spec_boxed ("focus-border-color",



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]