We don't need a root pixmap if neither a wallpaper nor a gradient is
2002-02-17 Bradford Hovinen <hovinen@ximian.com> * applier.c (need_root_pixmap_p): We don't need a root pixmap if neither a wallpaper nor a gradient is enabled (render_to_screen): Use set_back_pixmap/set_background when just setting a color with a root applier (need_root_pixmap_p): If the last preferences structure had neither gradient nor wallpaper enabled, we need a new root pixmap
This commit is contained in:
parent
e31e31be03
commit
323e20bead
2 changed files with 28 additions and 7 deletions
|
@ -1,3 +1,12 @@
|
|||
2002-02-17 Bradford Hovinen <hovinen@ximian.com>
|
||||
|
||||
* applier.c (need_root_pixmap_p): We don't need a root pixmap if
|
||||
neither a wallpaper nor a gradient is enabled
|
||||
(render_to_screen): Use set_back_pixmap/set_background when just
|
||||
setting a color with a root applier
|
||||
(need_root_pixmap_p): If the last preferences structure had
|
||||
neither gradient nor wallpaper enabled, we need a new root pixmap
|
||||
|
||||
2002-02-12 Lauris Kaplinski <lauris@ximian.com>
|
||||
|
||||
* applier.c (draw_disabled_message): Use g_object_unref for GdkGC
|
||||
|
|
|
@ -774,6 +774,7 @@ render_to_screen (BGApplier *bg_applier, const BGPreferences *prefs)
|
|||
gdk_colormap_alloc_colors (gdk_drawable_get_colormap (gdk_get_default_root_window ()),
|
||||
prefs->color1, 1, FALSE, TRUE, &success);
|
||||
#endif
|
||||
|
||||
gdk_gc_set_foreground (gc, prefs->color1);
|
||||
gdk_draw_rectangle (bg_applier->p->pixmap, gc, TRUE,
|
||||
bg_applier->p->render_geom.x,
|
||||
|
@ -814,12 +815,19 @@ render_to_screen (BGApplier *bg_applier, const BGPreferences *prefs)
|
|||
gdk_colormap_alloc_colors (gdk_drawable_get_colormap (gdk_get_default_root_window ()),
|
||||
prefs->color1, 1, FALSE, TRUE, &success);
|
||||
#endif
|
||||
gdk_gc_set_foreground (gc, prefs->color1);
|
||||
gdk_draw_rectangle (bg_applier->p->pixmap, gc, TRUE,
|
||||
bg_applier->p->render_geom.x,
|
||||
bg_applier->p->render_geom.y,
|
||||
bg_applier->p->render_geom.width,
|
||||
bg_applier->p->render_geom.height);
|
||||
|
||||
if (bg_applier->p->type == BG_APPLIER_PREVIEW) {
|
||||
gdk_gc_set_foreground (gc, prefs->color1);
|
||||
gdk_draw_rectangle (bg_applier->p->pixmap, gc, TRUE,
|
||||
bg_applier->p->render_geom.x,
|
||||
bg_applier->p->render_geom.y,
|
||||
bg_applier->p->render_geom.width,
|
||||
bg_applier->p->render_geom.height);
|
||||
}
|
||||
else if (bg_applier->p->type == BG_APPLIER_ROOT) {
|
||||
gdk_window_set_back_pixmap (GDK_ROOT_PARENT (), NULL, FALSE);
|
||||
gdk_window_set_background (GDK_ROOT_PARENT (), prefs->color1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1251,7 +1259,11 @@ need_wallpaper_load_p (const BGApplier *bg_applier, const BGPreferences *prefs)
|
|||
static gboolean
|
||||
need_root_pixmap_p (const BGApplier *bg_applier, const BGPreferences *prefs)
|
||||
{
|
||||
if (bg_applier->p->last_prefs == NULL)
|
||||
if (prefs->wallpaper_enabled == FALSE && prefs->gradient_enabled == FALSE)
|
||||
return FALSE;
|
||||
else if (bg_applier->p->last_prefs == NULL)
|
||||
return TRUE;
|
||||
else if (bg_applier->p->last_prefs->wallpaper_enabled == FALSE && bg_applier->p->last_prefs->gradient_enabled == FALSE)
|
||||
return TRUE;
|
||||
else if (render_small_pixmap_p (bg_applier->p->last_prefs) != render_small_pixmap_p (prefs))
|
||||
return TRUE;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue