| 1 | /* $Id: layerutil.h,v 1.2 2000-02-09 08:46:21 jeroen Exp $ */ | 
|---|
| 2 | #ifndef __layerutil_h__ | 
|---|
| 3 | #define __layerutil_h__ | 
|---|
| 4 |  | 
|---|
| 5 | /* Copyright (c) Mark J. Kilgard, 1993, 1994. */ | 
|---|
| 6 |  | 
|---|
| 7 | /* This program is freely distributable without licensing fees | 
|---|
| 8 | and is provided without guarantee or warrantee expressed or | 
|---|
| 9 | implied. This program is -not- in the public domain. */ | 
|---|
| 10 |  | 
|---|
| 11 | /* Based on XLayerUtil.h: Revision: 1.3 */ | 
|---|
| 12 |  | 
|---|
| 13 | #if !defined(_WIN32) && !defined(__WIN32OS2__) | 
|---|
| 14 | #include <X11/Xlib.h> | 
|---|
| 15 | #include <X11/Xutil.h> | 
|---|
| 16 | #include <X11/Xmd.h> | 
|---|
| 17 | #endif /* !_WIN32 */ | 
|---|
| 18 |  | 
|---|
| 19 | /* Transparent type values */ | 
|---|
| 20 | /* None                       0 */ | 
|---|
| 21 | #define TransparentPixel      1 | 
|---|
| 22 | #define TransparentMask       2 | 
|---|
| 23 |  | 
|---|
| 24 | /* layered visual info template flags */ | 
|---|
| 25 | #define VisualLayerMask         0x200 | 
|---|
| 26 | #define VisualTransparentType   0x400 | 
|---|
| 27 | #define VisualTransparentValue  0x800 | 
|---|
| 28 | #define VisualAllLayerMask      0xFFF | 
|---|
| 29 |  | 
|---|
| 30 | /* layered visual info structure */ | 
|---|
| 31 | typedef struct _XLayerVisualInfo { | 
|---|
| 32 | XVisualInfo vinfo; | 
|---|
| 33 | long layer; | 
|---|
| 34 | long type; | 
|---|
| 35 | unsigned long value; | 
|---|
| 36 | } XLayerVisualInfo; | 
|---|
| 37 |  | 
|---|
| 38 | /* SERVER_OVERLAY_VISUALS property element */ | 
|---|
| 39 | typedef struct _OverlayInfo { | 
|---|
| 40 | /* Avoid 64-bit portability problems by being careful to use | 
|---|
| 41 | longs due to the way XGetWindowProperty is specified. Note | 
|---|
| 42 | that these parameters are passed as CARD32s over X | 
|---|
| 43 | protocol. */ | 
|---|
| 44 | long overlay_visual; | 
|---|
| 45 | long transparent_type; | 
|---|
| 46 | long value; | 
|---|
| 47 | long layer; | 
|---|
| 48 | } OverlayInfo; | 
|---|
| 49 |  | 
|---|
| 50 | extern int __glutGetTransparentPixel(Display *, XVisualInfo *); | 
|---|
| 51 | extern XLayerVisualInfo *__glutXGetLayerVisualInfo(Display *, | 
|---|
| 52 | long, XLayerVisualInfo *, int *); | 
|---|
| 53 | extern Status __glutXMatchLayerVisualInfo(Display *, | 
|---|
| 54 | int, int, int, int, XLayerVisualInfo *); | 
|---|
| 55 |  | 
|---|
| 56 | #endif /* __layerutil_h__ */ | 
|---|