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
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.
27 #if defined(__cplusplus)
31 #ifndef _TRANSOVL_SERVER_
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
53 XSolarisOvlPaintTransparent
,
54 XSolarisOvlPaintOpaque
55 } XSolarisOvlPaintType
;
59 XSolarisOvlQualifiedSuccess
,
60 XSolarisOvlCriteriaFailure
,
62 } XSolarisOvlSelectStatus
;
65 XSolarisOvlSelectBestOverlay
,
66 XSolarisOvlSelectBestUnderlay
67 } XSolarisOvlSelectType
;
70 unsigned long hardCriteriaMask
;
71 unsigned long softCriteriaMask
;
74 unsigned int minColors
;
76 unsigned int minGreen
;
78 unsigned int minBitsPerRGB
;
79 unsigned int minBuffers
;
80 } XSolarisOvlVisualCriteria
;
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
*,
138 extern XSolarisOvlSelectStatus
XSolarisOvlSelectPair(Display
*, int, int,
139 XSolarisOvlPairCriteria
*, XVisualInfo
*, XVisualInfo
*,
140 unsigned long *, unsigned long *);
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();
156 #endif /* _TRANSOVL_SERVER_ */
158 #if defined(__cplusplus)
162 #endif /* _TRANSOVL_H_ */