132 int xoverlay = False;
133 int eventBase, errorBase;
134 if (checkXCompositeFunctions() &&
135 compositeQueryExtension(display, &eventBase, &errorBase))
136 {
137 int major = 0;
138 int minor = 0;
139
140 compositeQueryVersion(display, &major, &minor);
141 if (major > 0 || minor >= 3) {
142 xoverlay = True;
143 }
144 }
145
146 return xoverlay;
147 }
148
149 static jboolean isXCompositeDisplay(Display *display, int screenNumber) {
150
151 char NET_WM_CM_Sn[25];
152 snprintf(NET_WM_CM_Sn, sizeof(NET_WM_CM_Sn), "_NET_WM_CM_S%d\0", screenNumber);
153
154 Atom managerSelection = XInternAtom(display, NET_WM_CM_Sn, 0);
155 Window owner = XGetSelectionOwner(display, managerSelection);
156
157 return owner != 0;
158 }
159
160 static XImage *getWindowImage(Display * display, Window window,
161 int32_t x, int32_t y,
162 int32_t w, int32_t h) {
163 XImage *image;
164 int32_t transparentOverlays;
165 int32_t numVisuals;
166 XVisualInfo *pVisuals;
167 int32_t numOverlayVisuals;
168 OverlayInfo *pOverlayVisuals;
169 int32_t numImageVisuals;
170 XVisualInfo **pImageVisuals;
171 list_ptr vis_regions; /* list of regions to read from */
172 list_ptr vis_image_regions ;
|
132 int xoverlay = False;
133 int eventBase, errorBase;
134 if (checkXCompositeFunctions() &&
135 compositeQueryExtension(display, &eventBase, &errorBase))
136 {
137 int major = 0;
138 int minor = 0;
139
140 compositeQueryVersion(display, &major, &minor);
141 if (major > 0 || minor >= 3) {
142 xoverlay = True;
143 }
144 }
145
146 return xoverlay;
147 }
148
149 static jboolean isXCompositeDisplay(Display *display, int screenNumber) {
150
151 char NET_WM_CM_Sn[25];
152 snprintf(NET_WM_CM_Sn, sizeof(NET_WM_CM_Sn), "_NET_WM_CM_S%d", screenNumber);
153
154 Atom managerSelection = XInternAtom(display, NET_WM_CM_Sn, 0);
155 Window owner = XGetSelectionOwner(display, managerSelection);
156
157 return owner != 0;
158 }
159
160 static XImage *getWindowImage(Display * display, Window window,
161 int32_t x, int32_t y,
162 int32_t w, int32_t h) {
163 XImage *image;
164 int32_t transparentOverlays;
165 int32_t numVisuals;
166 XVisualInfo *pVisuals;
167 int32_t numOverlayVisuals;
168 OverlayInfo *pOverlayVisuals;
169 int32_t numImageVisuals;
170 XVisualInfo **pImageVisuals;
171 list_ptr vis_regions; /* list of regions to read from */
172 list_ptr vis_image_regions ;
|