X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?p=xscreensaver;a=blobdiff_plain;f=utils%2Fgrabscreen.h;h=19d01e2aa2e165df4add8aeb37cf9426d1e98875;hp=cf8a96ef00a316e10e84c0707716be2933cbf52f;hb=ffd8c0873576a9e3065696a624dce6b766b77062;hpb=40eacb5812ef7c0e3374fb139afbb4f5bc8bbfb5 diff --git a/utils/grabscreen.h b/utils/grabscreen.h index cf8a96ef..19d01e2a 100644 --- a/utils/grabscreen.h +++ b/utils/grabscreen.h @@ -1,4 +1,4 @@ -/* xscreensaver, Copyright (c) 1992, 1993, 1994, 1997, 2001, 2003 +/* xscreensaver, Copyright (c) 1992, 1993, 1994, 1997, 2001, 2003, 2004 * Jamie Zawinski * * Permission to use, copy, modify, distribute, and sell this software and its @@ -25,15 +25,27 @@ desktop, or from the system's video input, depending on user preferences. + If it is from a file, then it will be returned in `filename_return'. + filename_return may be NULL; also, NULL may be returned (e.g., if + it's a screenshot or video capture.) + Many colors may be allocated from the window's colormap. */ extern void load_random_image (Screen *screen, Window top_level_window, - Drawable target_window_or_pixmap); - + Drawable target_window_or_pixmap, + char **filename_return); -/* Uh, don't call this. */ -extern void grab_screen_image (Screen *, Window); +/* Like the above, but loads the image in the background and runs the + given callback once it has been loaded. + */ +extern void fork_load_random_image (Screen *screen, Window window, + Drawable drawable, + void (*callback) (Screen *, Window, + Drawable, + const char *name, + void *closure), + void *closure); /* Whether one should use GCSubwindowMode when drawing on this window @@ -49,4 +61,12 @@ extern Bool use_subwindow_mode_p(Screen *screen, Window window); */ extern Bool top_level_window_p(Screen *screen, Window window); + +/* Don't call this: this is for the "xscreensaver-getimage" program only. */ +extern void grab_screen_image_internal (Screen *, Window); + +/* Don't use this: this is how "xscreensaver-getimage" and "grabclient.c" + pass the file name around. */ +#define XA_XSCREENSAVER_IMAGE_FILENAME "_SCREENSAVER_IMAGE_FILENAME" + #endif /* __GRABSCREEN_H__ */