2009-06-25 Claudio Saavedra <csaavedra@igalia.com>
+ * hildon/hildon-pannable-area.c: (hildon_pannable_area_init):
+ Cache the panning indicator color.,
+ (hildon_pannable_area_style_set): Query the color on style changes.
+ (hildon_pannable_draw_vscroll),
+ (hildon_pannable_draw_hscroll),
+ (hildon_pannable_area_expose_event): Use the cached panning indicator
+ color instead of looking it up on every expose and more.
+
+2009-06-25 Claudio Saavedra <csaavedra@igalia.com>
+
* hildon/hildon-pannable-area.c: (hildon_pannable_draw_vscroll),
(hildon_pannable_draw_hscroll),
(hildon_pannable_area_expose_event): Fix the panning indicator color,
GtkPolicyType hscrollbar_policy;
GdkGC *scrollbars_gc;
+ GdkColor scroll_color;
};
/*signals*/
priv->x_offset = 0;
priv->y_offset = 0;
+ gtk_style_lookup_color (GTK_WIDGET (area)->style,
+ "SecondaryTextColor", &priv->scroll_color);
+
priv->hadjust =
GTK_ADJUSTMENT (gtk_adjustment_new (0.0, 0.0, 0.0, 0.0, 0.0, 0.0));
priv->vadjust =
GTK_WIDGET_CLASS (hildon_pannable_area_parent_class)->
style_set (widget, previous_style);
+ gtk_style_lookup_color (widget->style, "SecondaryTextColor", &priv->scroll_color);
gtk_widget_style_get (widget, "indicator-width", &priv->indicator_width, NULL);
}
height);
if (priv->scroll_indicator_alpha == 1.0) {
- gtk_style_lookup_color (widget->style, "SecondaryTextColor", &transp_color);
+ transp_color = priv->scroll_color;
} else if (priv->scroll_indicator_alpha < 1.0) {
tranparency_color (&transp_color, *back_color, *scroll_color,
priv->scroll_indicator_alpha);
width);
if (priv->scroll_indicator_alpha == 1.0) {
- gtk_style_lookup_color (widget->style, "SecondaryTextColor", &transp_color);
+ transp_color = priv->scroll_color;
} else if (priv->scroll_indicator_alpha < 1.0) {
tranparency_color (&transp_color, *back_color, *scroll_color,
priv->scroll_indicator_alpha);
GdkColor scroll_color = widget->style->base[GTK_STATE_SELECTED];
#else /* USE_CAIRO_SCROLLBARS */
GdkColor back_color = widget->style->bg[GTK_STATE_NORMAL];
- GdkColor scroll_color;
- gtk_style_lookup_color (widget->style, "SecondaryTextColor", &scroll_color);
+ GdkColor scroll_color = priv->scroll_color;
#endif
if (G_UNLIKELY (priv->initial_effect)) {