home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / mesa5.zip / mesa5src.zip / layerutil.h < prev    next >
C/C++ Source or Header  |  2002-11-30  |  2KB  |  60 lines

  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) && !defined(__OS2__)
  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 */
  34. typedef struct _XLayerVisualInfo {
  35.   XVisualInfo vinfo;
  36.   long layer;
  37.   long type;
  38.   unsigned long value;
  39. } XLayerVisualInfo;
  40.  
  41. /* SERVER_OVERLAY_VISUALS property element */
  42. typedef 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.  
  53. extern int __glutGetTransparentPixel(Display *, XVisualInfo *);
  54. extern XLayerVisualInfo *__glutXGetLayerVisualInfo(Display *,
  55.   long, XLayerVisualInfo *, int *);
  56. extern Status __glutXMatchLayerVisualInfo(Display *,
  57.   int, int, int, int, XLayerVisualInfo *);
  58.  
  59. #endif /* __layerutil_h__ */
  60.