GtkPolicyType vscrollbar_policy;
GtkPolicyType hscrollbar_policy;
+
+ GdkGC *scrollbars_gc;
};
/*signals*/
widget->style = gtk_style_attach (widget->style, widget->window);
gtk_style_set_background (widget->style, widget->window, GTK_STATE_NORMAL);
+
+ priv->scrollbars_gc = gdk_gc_new (GDK_DRAWABLE (widget->window));
+ gdk_gc_copy (priv->scrollbars_gc, widget->style->fg_gc[GTK_STATE_INSENSITIVE]);
}
static void
priv->event_window = NULL;
}
+ gdk_gc_unref (priv->scrollbars_gc);
+
if (GTK_WIDGET_CLASS (hildon_pannable_area_parent_class)->unrealize)
(*GTK_WIDGET_CLASS (hildon_pannable_area_parent_class)->unrealize)(widget);
}
HildonPannableAreaPrivate *priv = HILDON_PANNABLE_AREA (widget)->priv;
gfloat y, height;
GdkColor transp_color;
- GdkGC *gc;
+ GdkGC *gc = widget->style->fg_gc[GTK_STATE_INSENSITIVE];
gdk_draw_rectangle (widget->window,
widget->style->bg_gc[GTK_STATE_NORMAL],
(priv->hscroll_visible ? priv->hscroll_rect.height : 0) -
height);
- tranparency_color (&transp_color, *back_color, *scroll_color,
- priv->scroll_indicator_alpha);
+ if (priv->scroll_indicator_alpha < 1.0) {
+ tranparency_color (&transp_color, *back_color, *scroll_color,
+ priv->scroll_indicator_alpha);
- gc = gdk_gc_new (GDK_DRAWABLE (widget->window));
- gdk_gc_copy (gc, widget->style->fg_gc[GTK_STATE_INSENSITIVE]);
- gdk_gc_set_rgb_fg_color (gc, &transp_color);
+ gdk_gc_set_rgb_fg_color (priv->scrollbars_gc, &transp_color);
+
+ gc = priv->scrollbars_gc;
+ }
gdk_draw_rectangle (widget->window, gc,
TRUE, priv->vscroll_rect.x, y,
priv->vscroll_rect.width, height);
-
- gdk_gc_unref (gc);
}
static void
HildonPannableAreaPrivate *priv = HILDON_PANNABLE_AREA (widget)->priv;
gfloat x, width;
GdkColor transp_color;
- GdkGC *gc;
+ GdkGC *gc = widget->style->fg_gc[GTK_STATE_INSENSITIVE];
gdk_draw_rectangle (widget->window,
widget->style->bg_gc[GTK_STATE_INSENSITIVE],
(priv->vscroll_visible ? priv->vscroll_rect.width : 0) -
width);
- tranparency_color (&transp_color, *back_color, *scroll_color,
- priv->scroll_indicator_alpha);
+ if (priv->scroll_indicator_alpha < 1.0) {
+ tranparency_color (&transp_color, *back_color, *scroll_color,
+ priv->scroll_indicator_alpha);
+
+ gdk_gc_set_rgb_fg_color (priv->scrollbars_gc, &transp_color);
- gc = gdk_gc_new (GDK_DRAWABLE (widget->window));
- gdk_gc_copy (gc, widget->style->fg_gc[GTK_STATE_INSENSITIVE]);
- gdk_gc_set_rgb_fg_color (gc, &transp_color);
+ gc = priv->scrollbars_gc;
+ }
gdk_draw_rectangle (widget->window, gc,
TRUE, x, priv->hscroll_rect.y, width,
priv->hscroll_rect.height);
-
- gdk_gc_unref (gc);
}
#endif /* USE_CAIRO_SCROLLBARS */