common: remove gf_bg_set_surface_as_root_with_crossfade
Alberts Muktupāvels
3 years ago
1258 | 1258 |
gdk_x11_display_ungrab (gdk_screen_get_display (screen));
|
1259 | 1259 |
}
|
1260 | 1260 |
|
1261 | |
GnomeBGCrossfade *
|
1262 | |
gf_bg_set_surface_as_root_with_crossfade (GdkScreen *screen,
|
1263 | |
cairo_surface_t *surface)
|
1264 | |
{
|
1265 | |
GdkDisplay *display;
|
1266 | |
GdkWindow *root_window;
|
1267 | |
cairo_surface_t *old_surface;
|
1268 | |
int width, height;
|
1269 | |
GnomeBGCrossfade *fade;
|
1270 | |
|
1271 | |
g_return_val_if_fail (screen != NULL, NULL);
|
1272 | |
g_return_val_if_fail (surface != NULL, NULL);
|
1273 | |
|
1274 | |
root_window = gdk_screen_get_root_window (screen);
|
1275 | |
|
1276 | |
width = gdk_screen_get_width (screen);
|
1277 | |
height = gdk_screen_get_height (screen);
|
1278 | |
|
1279 | |
fade = gnome_bg_crossfade_new (width, height);
|
1280 | |
|
1281 | |
display = gdk_screen_get_display (screen);
|
1282 | |
gdk_x11_display_grab (display);
|
1283 | |
old_surface = gf_bg_get_surface_from_root (screen);
|
1284 | |
gf_bg_set_root_pixmap_id (screen, surface);
|
1285 | |
gnome_bg_crossfade_set_start_surface (fade, old_surface);
|
1286 | |
cairo_surface_destroy (old_surface);
|
1287 | |
gnome_bg_crossfade_set_end_surface (fade, surface);
|
1288 | |
gdk_display_flush (display);
|
1289 | |
gdk_x11_display_ungrab (display);
|
1290 | |
|
1291 | |
gnome_bg_crossfade_start (fade, root_window);
|
1292 | |
|
1293 | |
return fade;
|
1294 | |
}
|
1295 | |
|
1296 | 1261 |
/* Implementation of the pixbuf cache */
|
1297 | 1262 |
struct _SlideShow
|
1298 | 1263 |
{
|
22 | 22 |
|
23 | 23 |
#include <gdk/gdk.h>
|
24 | 24 |
#include <gio/gio.h>
|
25 | |
#include <gdesktop-enums.h>
|
26 | |
#include <libgnome-desktop/gnome-bg-crossfade.h>
|
27 | 25 |
#include <gdesktop-enums.h>
|
28 | 26 |
|
29 | 27 |
G_BEGIN_DECLS
|
|
55 | 53 |
void gf_bg_set_surface_as_root (GdkScreen *screen,
|
56 | 54 |
cairo_surface_t *surface);
|
57 | 55 |
|
58 | |
GnomeBGCrossfade *gf_bg_set_surface_as_root_with_crossfade (GdkScreen *screen,
|
59 | |
cairo_surface_t *surface);
|
60 | 56 |
cairo_surface_t *gf_bg_get_surface_from_root (GdkScreen *screen);
|
61 | 57 |
|
62 | 58 |
GdkRGBA *gf_bg_get_average_color_from_surface (cairo_surface_t *surface);
|