[eog/wip/emmanuel/lasem: 5/5] EogScrollView: fix override_background deprecated call
- From: Emmanuel Pacaud <emmanuel src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [eog/wip/emmanuel/lasem: 5/5] EogScrollView: fix override_background deprecated call
- Date: Wed, 26 Aug 2015 00:20:48 +0000 (UTC)
commit 794ac25a972b971a95e5b72b82e8c0d9d9cb70b2
Author: Emmanuel Pacaud <emmanuel gnome org>
Date: Wed Aug 26 02:11:28 2015 +0200
EogScrollView: fix override_background deprecated call
Do the necessary background drawing in draw callback.
src/eog-scroll-view.c | 32 +++++++++++++++++---------------
1 files changed, 17 insertions(+), 15 deletions(-)
---
diff --git a/src/eog-scroll-view.c b/src/eog-scroll-view.c
index e54b9f7..47ba09d 100644
--- a/src/eog-scroll-view.c
+++ b/src/eog-scroll-view.c
@@ -1252,6 +1252,7 @@ eog_scroll_view_focus_out_event (GtkWidget *widget,
static gboolean
display_draw (GtkWidget *widget, cairo_t *cr, gpointer data)
{
+ const GdkRGBA *background_color = NULL;
EogScrollView *view;
EogScrollViewPrivate *priv;
GtkAllocation allocation;
@@ -1275,11 +1276,23 @@ display_draw (GtkWidget *widget, cairo_t *cr, gpointer data)
priv->zoom, xofs, yofs, scaled_width, scaled_height);
/* Paint the background */
- cairo_set_source (cr, gdk_window_get_background_pattern (gtk_widget_get_window (priv->display)));
gtk_widget_get_allocation (GTK_WIDGET (priv->display), &allocation);
cairo_rectangle (cr, 0, 0, allocation.width, allocation.height);
- cairo_rectangle (cr, MAX (0, xofs), MAX (0, yofs),
- scaled_width, scaled_height);
+ if (priv->transp_style != EOG_TRANSP_BACKGROUND)
+ cairo_rectangle (cr, MAX (0, xofs), MAX (0, yofs),
+ scaled_width, scaled_height);
+ if (priv->override_bg_color != NULL)
+ background_color = priv->override_bg_color;
+ else if (priv->use_bg_color)
+ background_color = priv->background_color;
+ if (background_color != NULL)
+ cairo_set_source_rgba (cr,
+ background_color->red,
+ background_color->green,
+ background_color->blue,
+ background_color->alpha);
+ else
+ cairo_set_source (cr, gdk_window_get_background_pattern (gtk_widget_get_window
(priv->display)));
cairo_set_fill_rule (cr, CAIRO_FILL_RULE_EVEN_ODD);
cairo_fill (cr);
@@ -2787,16 +2800,8 @@ _eog_replace_gdk_rgba (GdkRGBA **dest, const GdkRGBA *src)
static void
_eog_scroll_view_update_bg_color (EogScrollView *view)
{
- const GdkRGBA *selected;
EogScrollViewPrivate *priv = view->priv;
- if (priv->override_bg_color)
- selected = priv->override_bg_color;
- else if (priv->use_bg_color)
- selected = priv->background_color;
- else
- selected = NULL;
-
if (priv->transp_style == EOG_TRANSP_BACKGROUND
&& priv->background_surface != NULL) {
/* Delete the SVG background to have it recreated with
@@ -2805,10 +2810,7 @@ _eog_scroll_view_update_bg_color (EogScrollView *view)
priv->background_surface = NULL;
}
- /*gtk_widget_modify_bg (GTK_WIDGET (priv->display),
- GTK_STATE_NORMAL,
- selected);*/
- gtk_widget_override_background_color(GTK_WIDGET (priv->display), GTK_STATE_FLAG_NORMAL, selected);
+ gtk_widget_queue_draw (priv->display);
}
void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]