home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / vos2-121.zip / v / include2 / GL / pgl.h < prev    next >
C/C++ Source or Header  |  1998-10-21  |  5KB  |  132 lines

  1.  
  2.  
  3. /*=================================================
  4. Contains defines needed for api level interface with 
  5. pgl. 
  6. ===================================================*/
  7.  
  8. #ifndef PGL_DEFINE
  9. #define PGL_DEFINE
  10.  
  11.  
  12. #if !defined (NT)
  13. #ifndef OS2
  14. #define OS2
  15. #endif
  16. #endif /* NT */
  17.  
  18. #ifdef __cplusplus
  19. extern "C" {
  20. #endif
  21.  
  22. #define INCL_DOSPROCESS
  23. #define INCL_32
  24. #define INCL_DEV
  25. #define INCL_WIN
  26. #define INCL_DOS
  27. #define INCL_GRE_PALETTE
  28. #define INCL_GPI
  29. #define INCL_PM
  30. #if defined (NT)
  31. #include <windows.h>
  32. #include <windef.h>
  33. #include <wingdi.h>
  34. #include <mapi.h>
  35. #include "os22nt.h"
  36. #else
  37. #include <os2.h>
  38. #endif /* NT */
  39.  
  40. #if !defined (NT)
  41. #include "GL/gl.h"
  42. #endif /* !NT */
  43.  
  44. typedef struct visualconfig {
  45.     unsigned long  vid;  /*Visual ID*/
  46.     BOOL   rgba;
  47.     int redSize, greenSize, blueSize, alphaSize;
  48.     ULONG redMask, greenMask, blueMask;
  49.     int accumRedSize, accumGreenSize, accumBlueSize, accumAlphaSize;
  50.     BOOL doubleBuffer;
  51.     BOOL  stereo;
  52.     int bufferSize;
  53.     int depthSize;
  54.     int stencilSize;
  55.     int auxBuffers;
  56.     int level;
  57.     PVOID reserved;
  58.     struct visualconfig *next;
  59.     } VISUALCONFIG, *PVISUALCONFIG;
  60.  
  61. typedef LHANDLE HGC;
  62.     
  63.  
  64. #if defined (NT)
  65. extern PVISUALCONFIG APIENTRY pglChooseConfig(HINSTANCE hInstance, int *attriblist);
  66. extern PVISUALCONFIG* APIENTRY pglQueryConfigs(HINSTANCE hInstance);
  67. extern HGC APIENTRY pglCreateContext(HINSTANCE hInstance, PVISUALCONFIG pVisualConfig, HGC Sharelist, BOOL IsDirect);
  68. extern BOOL APIENTRY pglMakeCurrent(HINSTANCE hInstance,HGC hgc, HWND hwnd);
  69. extern BOOL APIENTRY pglDestroyContext(HINSTANCE hInstance, HGC hgc);
  70. extern BOOL APIENTRY pglCopyContext(HINSTANCE hInstance, HGC hgc_src, HGC hgc_dst, UINT attrib_mask);
  71. extern int APIENTRY pglSelectColorIndexPalette(HINSTANCE hInstance, HPALETTE hpal, HGC hgc);
  72. extern LONG APIENTRY pglIsIndirect(HINSTANCE hInstance, HGC hgc);
  73. extern HGC  APIENTRY pglGetCurrentContext(HINSTANCE hInstance);
  74. extern HWND APIENTRY pglGetCurrentWindow(HINSTANCE hInstance);
  75. extern HDC  APIENTRY pglWaitGL(HINSTANCE hInstance);
  76. extern void APIENTRY pglWaitPM(HINSTANCE hInstance);
  77. extern void APIENTRY pglSwapBuffers(HINSTANCE hInstance, HWND hwnd);
  78. extern LONG APIENTRY pglQueryCapability(HINSTANCE hInstance);
  79. extern void APIENTRY pglQueryVersion(HINSTANCE hInstance, int *major, int *minor);
  80. extern BOOL APIENTRY pglUsePMBitmapFont(HINSTANCE hInstance, LONG id, int first, int count, int listbase);
  81. extern BOOL APIENTRY pglGrabFrontBitmap(HINSTANCE hInstance,HDC *phps,HBITMAP *phbitmap);
  82. extern BOOL APIENTRY pglReleaseFrontBitmap(HINSTANCE hInstance);
  83. extern BOOL APIENTRY pglUseFont(HINSTANCE,HDC,LOGFONT *,long,int,int,int);
  84. #else /* OS2 */
  85. extern PVISUALCONFIG APIENTRY pglChooseConfig(HAB hab, int *attriblist);
  86. extern PVISUALCONFIG* APIENTRY pglQueryConfigs(HAB hab);
  87. extern HGC APIENTRY pglCreateContext(HAB hab, PVISUALCONFIG pVisualConfig, HGC Sharelist, BOOL IsDirect);
  88. extern BOOL APIENTRY pglMakeCurrent(HAB hab,HGC hgc, HWND hwnd);
  89. extern BOOL APIENTRY pglDestroyContext(HAB hab, HGC hgc);
  90. extern BOOL APIENTRY pglCopyContext(HAB hab, HGC hgc_src, HGC hgc_dst, GLuint attrib_mask);
  91. extern int APIENTRY pglSelectColorIndexPalette(HAB hab, HPAL hpal, HGC hgc);
  92. extern LONG APIENTRY pglIsIndirect(HAB hab, HGC hgc);
  93. extern HGC  APIENTRY pglGetCurrentContext(HAB hab);
  94. extern HWND APIENTRY pglGetCurrentWindow(HAB hab);
  95. extern HPS  APIENTRY pglWaitGL(HAB hab);
  96. extern void APIENTRY pglWaitPM(HAB hab);
  97. extern void APIENTRY pglSwapBuffers(HAB hab, HWND hwnd);
  98. extern LONG APIENTRY pglQueryCapability(HAB hab);
  99. extern void APIENTRY pglQueryVersion(HAB hab, int *major, int *minor);
  100. extern BOOL APIENTRY pglUsePMBitmapFont(HAB hab, LONG id, int first, int count, int listbase);
  101. extern BOOL APIENTRY pglGrabFrontBitmap(HAB hab,HPS *phps,HBITMAP *phbitmap);
  102. extern BOOL APIENTRY pglReleaseFrontBitmap(HAB hab);
  103. extern BOOL APIENTRY pglUseFont(HAB,HPS,FATTRS *,long,int,int,int);
  104. #endif /* NT */
  105.  
  106. #define  PGL_None            0x0
  107.  
  108. #define  PGL_USE_GL           1
  109. #define  PGL_BUFFER_SIZE       2
  110. #define  PGL_LEVEL           3
  111. #define  PGL_RGBA           4
  112. #define  PGL_DOUBLEBUFFER       5
  113. #define  PGL_STEREO           6
  114. #define  PGL_AUX_BUFFERS       7
  115. #define  PGL_RED_SIZE       8
  116. #define  PGL_GREEN_SIZE       9
  117. #define  PGL_BLUE_SIZE       10
  118. #define  PGL_ALPHA_SIZE       11
  119. #define  PGL_DEPTH_SIZE       12
  120. #define  PGL_STENCIL_SIZE       13
  121. #define  PGL_ACCUM_RED_SIZE       14
  122. #define  PGL_ACCUM_GREEN_SIZE   15
  123. #define  PGL_ACCUM_BLUE_SIZE       16
  124. #define  PGL_ACCUM_ALPHA_SIZE   17
  125. #define  PGL_SINGLEBUFFER       18
  126.  
  127. #ifdef __cplusplus
  128. }
  129. #endif
  130.  
  131. #endif
  132.