perl/Test-Simple: update to 1.302205
[oi-userland.git] / components / x11 / sun-ext-protos / files / include / transovl.h
blob2ac751fbc8d2faaf07784d3318863f3878d5609b
1 /* Copyright (c) 1993, 1994, Oracle and/or its affiliates. All rights reserved.
3 * Permission is hereby granted, free of charge, to any person obtaining a
4 * copy of this software and associated documentation files (the "Software"),
5 * to deal in the Software without restriction, including without limitation
6 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
7 * and/or sell copies of the Software, and to permit persons to whom the
8 * Software is furnished to do so, subject to the following conditions:
10 * The above copyright notice and this permission notice (including the next
11 * paragraph) shall be included in all copies or substantial portions of the
12 * Software.
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
17 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
19 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
20 * DEALINGS IN THE SOFTWARE.
24 #ifndef _TRANSOVL_H_
25 #define _TRANSOVL_H_
27 #if defined(__cplusplus)
28 extern "C" {
29 #endif
31 #ifndef _TRANSOVL_SERVER_
33 #include <X11/Xlib.h>
34 #include <X11/Xutil.h>
36 #endif /* _TRANSOVL_SERVER_ */
38 #define X_OvlQueryVersion 0
39 #define X_OvlGetPartners 1
40 #define X_OvlGetSharedPixels 2
41 #define X_OvlGetSharedColors 3
42 #define X_OvlCreateWindow 4
43 #define X_OvlIsOverlayWindow 5
44 #define X_OvlSetWindowTransparent 6
45 #define X_OvlSetPaintType 7
46 #define X_OvlCopyPaintType 8
47 #define X_OvlCopyAreaAndPaintType 9
48 #define X_OvlReadScreen 10
50 #define OvlNumberEvents 0
52 typedef enum {
53 XSolarisOvlPaintTransparent,
54 XSolarisOvlPaintOpaque
55 } XSolarisOvlPaintType;
57 typedef enum {
58 XSolarisOvlSuccess,
59 XSolarisOvlQualifiedSuccess,
60 XSolarisOvlCriteriaFailure,
61 XSolarisOvlFailure
62 } XSolarisOvlSelectStatus;
64 typedef enum {
65 XSolarisOvlSelectBestOverlay,
66 XSolarisOvlSelectBestUnderlay
67 } XSolarisOvlSelectType;
69 typedef struct {
70 unsigned long hardCriteriaMask;
71 unsigned long softCriteriaMask;
72 int c_class;
73 unsigned int depth;
74 unsigned int minColors;
75 unsigned int minRed;
76 unsigned int minGreen;
77 unsigned int minBlue;
78 unsigned int minBitsPerRGB;
79 unsigned int minBuffers;
80 } XSolarisOvlVisualCriteria;
82 typedef struct {
83 XSolarisOvlVisualCriteria overlayCriteria;
84 XSolarisOvlVisualCriteria underlayCriteria;
85 } XSolarisOvlPairCriteria;
87 #define XSolarisOvlVisualClass (1L<<0)
88 #define XSolarisOvlDepth (1L<<1)
89 #define XSolarisOvlMinColors (1L<<2)
90 #define XSolarisOvlMinRed (1L<<3)
91 #define XSolarisOvlMinGreen (1L<<4)
92 #define XSolarisOvlMinBlue (1L<<5)
93 #define XSolarisOvlMinBitsPerRGB (1L<<6)
94 #define XSolarisOvlMinBuffers (1L<<7)
95 #define XSolarisOvlUnsharedPixels (1L<<8)
96 #define XSolarisOvlUnsharedColors (1L<<9)
97 #define XSolarisOvlPreferredPartner (1L<<10)
99 #define XSolarisOvlCopyOpaque (1L<<0)
100 #define XSolarisOvlCopyTransparent (1L<<1)
101 #define XSolarisOvlCopyAll (XSolarisOvlCopyOpaque|XSolarisOvlCopyTransparent)
103 #ifndef _TRANSOVL_SERVER_
105 #if defined(__STDC__) || defined(__cplusplus)
106 extern Bool XSolarisOvlQueryExtension(Display *, int *, int *);
108 extern Status XSolarisOvlQueryVersion(Display *, int *, int *);
110 extern Window XSolarisOvlCreateWindow(Display *, Window, int, int,
111 unsigned int, unsigned int, unsigned int, int,
112 unsigned int, Visual *, unsigned long, XSetWindowAttributes *);
114 extern Bool XSolarisOvlIsOverlayWindow(Display *, Window);
116 extern void XSolarisOvlSetWindowTransparent(Display *, Window);
118 extern Status XSolarisOvlSetPaintType(Display *, GC, XSolarisOvlPaintType);
120 extern XSolarisOvlPaintType XSolarisOvlGetPaintType(Display *, GC);
122 extern Status XSolarisOvlCopyPaintType(Display *, Drawable, Drawable, GC,
123 int, int, unsigned int, unsigned int, int, int,
124 unsigned long, unsigned long);
126 extern Status XSolarisOvlCopyAreaAndPaintType(Display *,
127 Drawable, Drawable, Drawable, Drawable,
128 GC, GC, int, int, int, int,
129 unsigned int, unsigned int, int, int, int, int,
130 unsigned long, unsigned long);
132 extern XImage *XReadScreen(Display *, Window, int, int, unsigned int, unsigned int, Bool);
134 extern XSolarisOvlSelectStatus XSolarisOvlSelectPartner(Display *, int, VisualID,
135 XSolarisOvlSelectType, int, XSolarisOvlVisualCriteria *, XVisualInfo *,
136 unsigned long *);
138 extern XSolarisOvlSelectStatus XSolarisOvlSelectPair(Display *, int, int,
139 XSolarisOvlPairCriteria *, XVisualInfo *, XVisualInfo *,
140 unsigned long *, unsigned long *);
141 #else
142 extern Bool XSolarisOvlQueryExtension();
143 extern Status XSolarisOvlQueryVersion();
144 extern Window XSolarisOvlCreateWindow();
145 extern Bool XSolarisOvlIsOverlayWindow();
146 extern void XSolarisOvlSetWindowTransparent();
147 extern Status XSolarisOvlSetPaintType();
148 extern XSolarisOvlPaintType XSolarisOvlGetPaintType();
149 extern Status XSolarisOvlCopyPaintType();
150 extern Status XSolarisOvlCopyAreaAndPaintType();
151 extern XImage *XReadScreen();
152 extern XSolarisOvlSelectStatus XSolarisOvlSelectPartner();
153 extern XSolarisOvlSelectStatus XSolarisOvlSelectPair();
154 #endif
156 #endif /* _TRANSOVL_SERVER_ */
158 #if defined(__cplusplus)
160 #endif
162 #endif /* _TRANSOVL_H_ */