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