ftp://ftp.linux.ncsu.edu/mirror/ftp.redhat.com/pub/redhat/linux/enterprise/4/en/os...
[xscreensaver] / hacks / glx / grab-ximage.h
index 4f1defff4dd4f330c765d0534bfec5c37dd19bf3..e892139615eda8f6eb565dae5b2bd09a0744e0a8 100644 (file)
@@ -1,5 +1,5 @@
 /* grab-ximage.c --- grab the screen to an XImage for use with OpenGL.
- * xscreensaver, Copyright (c) 2001 Jamie Zawinski <jwz@jwz.org>
+ * xscreensaver, Copyright (c) 2001, 2003, 2004 Jamie Zawinski <jwz@jwz.org>
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
 #define __GRAB_XIMAGE_H__
 
 /* Returns an XImage structure containing an image of the desktop.
-   (As a side-effect, that image will be painted onto the given Window.)
+   (As a side-effect, that image *may* be painted onto the given Window.)
    This XImage will be 32 bits per pixel, 8 each per R, G, and B, with the
    extra byte set to 0xFF.
  */
-XImage * screen_to_ximage (Screen *screen, Window window);
+XImage * screen_to_ximage (Screen *screen, Window window,
+                           char **filename_return);
+
+/* Like the above, but loads the image in the background and runs the
+   given callback once it has been loaded.
+ */
+void fork_screen_to_ximage (Screen *screen, Window window,
+                            void (*callback) (Screen *, Window, XImage *,
+                                              const char *filename,
+                                              void *closure,
+                                              double cvt_time),
+                            void *closure);
 
 #endif /* __GRAB_XIMAGE_H__ */