blob: 8f580afe3b7a3b5bea06eeef044e987e79a78e8e [file] [log] [blame]
#ifndef __layerutil_h__
#define __layerutil_h__
/* Copyright (c) Mark J. Kilgard, 1993, 1994. */
/* This program is freely distributable without licensing fees
and is provided without guarantee or warrantee expressed or
implied. This program is -not- in the public domain. */
/* Based on XLayerUtil.h: Revision: 1.3 */
#ifdef __VMS
#include <GL/vms_x_fix.h>
#endif
#if !defined(_WIN32)
#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <X11/Xmd.h>
#endif /* !_WIN32 */
/* Transparent type values */
/* None 0 */
#define TransparentPixel 1
#define TransparentMask 2
/* layered visual info template flags */
#define VisualLayerMask 0x200
#define VisualTransparentType 0x400
#define VisualTransparentValue 0x800
#define VisualAllLayerMask 0xFFF
/* layered visual info structure */
typedef struct _XLayerVisualInfo {
XVisualInfo vinfo;
long layer;
long type;
unsigned long value;
} XLayerVisualInfo;
/* SERVER_OVERLAY_VISUALS property element */
typedef struct _OverlayInfo {
/* Avoid 64-bit portability problems by being careful to use
longs due to the way XGetWindowProperty is specified. Note
that these parameters are passed as CARD32s over X
protocol. */
long overlay_visual;
long transparent_type;
long value;
long layer;
} OverlayInfo;
extern int __glutGetTransparentPixel(Display *, XVisualInfo *);
extern XLayerVisualInfo *__glutXGetLayerVisualInfo(Display *,
long, XLayerVisualInfo *, int *);
extern Status __glutXMatchLayerVisualInfo(Display *,
int, int, int, int, XLayerVisualInfo *);
#endif /* __layerutil_h__ */