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