From http://www.jwz.org/xscreensaver/xscreensaver-5.37.tar.gz
[xscreensaver] / utils / visual.h
1 /* xscreensaver, Copyright (c) 1993-2014 by Jamie Zawinski <jwz@jwz.org>
2  *
3  * Permission to use, copy, modify, distribute, and sell this software and its
4  * documentation for any purpose is hereby granted without fee, provided that
5  * the above copyright notice appear in all copies and that both that
6  * copyright notice and this permission notice appear in supporting
7  * documentation.  No representations are made about the suitability of this
8  * software for any purpose.  It is provided "as is" without express or 
9  * implied warranty.
10  */
11
12 #ifndef __VISUAL_H__
13 #define __VISUAL_H__
14
15 extern Visual *get_visual (Screen *, const char *name, Bool, Bool);
16 extern Visual *get_visual_resource (Screen *, char *, char *, Bool);
17 extern int visual_depth (Screen *, Visual *);
18 extern int visual_pixmap_depth (Screen *, Visual *);
19 extern int visual_class (Screen *, Visual *);
20 extern int visual_cells (Screen *, Visual *);
21 extern int screen_number (Screen *);
22 extern Visual *find_similar_visual (Screen *, Visual *old);
23 extern void describe_visual (FILE *f, Screen *, Visual *, Bool private_cmap_p);
24 extern Visual *get_overlay_visual (Screen *, unsigned long *pixel_return);
25 extern Bool has_writable_cells (Screen *, Visual *);
26 extern Visual *id_to_visual (Screen *, int);
27 extern void visual_rgb_masks (Screen *screen, Visual *visual,
28                               unsigned long *red_mask,
29                               unsigned long *green_mask,
30                               unsigned long *blue_mask);
31
32 extern Visual *get_gl_visual (Screen *);
33 extern void describe_gl_visual (FILE *, Screen *, Visual *, Bool priv_cmap_p);
34 extern Bool validate_gl_visual (FILE *, Screen *, const char *, Visual *);
35
36 #endif /* __VISUAL_H__ */