00001 #ifndef __layerutil_h__ 00002 #define __layerutil_h__ 00003 00004 /* Copyright (c) Mark J. Kilgard, 1993, 1994. */ 00005 00006 /* This program is freely distributable without licensing fees 00007 and is provided without guarantee or warrantee expressed or 00008 implied. This program is -not- in the public domain. */ 00009 00010 /* Based on XLayerUtil.h: Revision: 1.3 */ 00011 00012 #if !defined(_WIN32) 00013 #include <X11/Xlib.h> 00014 #include <X11/Xutil.h> 00015 #include <X11/Xmd.h> 00016 #endif /* !_WIN32 */ 00017 00018 /* Transparent type values */ 00019 /* None 0 */ 00020 #define TransparentPixel 1 00021 #define TransparentMask 2 00022 00023 /* layered visual info template flags */ 00024 #define VisualLayerMask 0x200 00025 #define VisualTransparentType 0x400 00026 #define VisualTransparentValue 0x800 00027 #define VisualAllLayerMask 0xFFF 00028 00029 /* layered visual info structure */ 00030 typedef struct _XLayerVisualInfo { 00031 XVisualInfo vinfo; 00032 long layer; 00033 long type; 00034 unsigned long value; 00035 } XLayerVisualInfo; 00036 00037 /* SERVER_OVERLAY_VISUALS property element */ 00038 typedef struct _OverlayInfo { 00039 /* Avoid 64-bit portability problems by being careful to use 00040 longs due to the way XGetWindowProperty is specified. Note 00041 that these parameters are passed as CARD32s over X 00042 protocol. */ 00043 long overlay_visual; 00044 long transparent_type; 00045 long value; 00046 long layer; 00047 } OverlayInfo; 00048 00049 extern int __glutGetTransparentPixel(Display *, XVisualInfo *); 00050 extern XLayerVisualInfo *__glutXGetLayerVisualInfo(Display *, 00051 long, XLayerVisualInfo *, int *); 00052 extern Status __glutXMatchLayerVisualInfo(Display *, 00053 int, int, int, int, XLayerVisualInfo *); 00054 00055 #endif /* __layerutil_h__ */