source: trunk/third/xscreensaver/utils/grabscreen.h @ 20148

Revision 20148, 2.4 KB checked in by ghudson, 21 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r20147, which included commits to RCS files with non-trunk default branches.
Line 
1/* xscreensaver, Copyright (c) 1992, 1993, 1994, 1997, 2001, 2003
2 *  Jamie Zawinski <jwz@jwz.org>
3 *
4 * Permission to use, copy, modify, distribute, and sell this software and its
5 * documentation for any purpose is hereby granted without fee, provided that
6 * the above copyright notice appear in all copies and that both that
7 * copyright notice and this permission notice appear in supporting
8 * documentation.  No representations are made about the suitability of this
9 * software for any purpose.  It is provided "as is" without express or
10 * implied warranty.
11 */
12
13#ifndef __GRABSCREEN_H__
14#define __GRABSCREEN_H__
15
16/* This will write an image onto the given Drawable.
17   The Drawable (arg 3) may be a Window or a Pixmap.
18
19   The Window must be the top-level window.  The image *may or may not*
20   be written to the window, though it will definitely be written to
21   the drawable.  It's fine for args 2 and 3 to be the same window, or
22   for arg 2 to be a Window, and arg 3 to be a Pixmap.
23
24   The loaded image might be from a file, or from a screen shot of the
25   desktop, or from the system's video input, depending on user
26   preferences.
27
28   If it is from a file, then it will be returned in `filename_return'.
29   filename_return may be NULL; also, NULL may be returned (e.g., if
30   it's a screenshot or video capture.)
31
32   Many colors may be allocated from the window's colormap.
33 */
34extern void load_random_image (Screen *screen,
35                               Window top_level_window,
36                               Drawable target_window_or_pixmap,
37                               char **filename_return);
38
39/* Whether one should use GCSubwindowMode when drawing on this window
40   (assuming a screen image has been grabbed onto it.)  Yes, this is a
41   total kludge. */
42extern Bool use_subwindow_mode_p(Screen *screen, Window window);
43
44/* Whether the given window is:
45   - the real root window;
46   - the virtual root window;
47   - a direct child of the root window;
48   - a direct child of the window manager's decorations.
49 */
50extern Bool top_level_window_p(Screen *screen, Window window);
51
52
53/* Don't call this: this is for the "xscreensaver-getimage" program only. */
54extern void grab_screen_image_internal (Screen *, Window);
55
56/* Don't use this: this is how "xscreensaver-getimage" and "grabclient.c"
57   pass the file name around. */
58#define XA_XSCREENSAVER_IMAGE_FILENAME "_SCREENSAVER_IMAGE_FILENAME"
59
60#endif /* __GRABSCREEN_H__ */
Note: See TracBrowser for help on using the repository browser.