configure.ac: GLX cannot work without OpenGL
[mesa.git] / include / GL / wmesa.h
index 94b61974c37418d8bbcb4eec7106cd44d5938343..f5f4f273ba9483c42ec7942b414e8e095e619189 100644 (file)
@@ -1,5 +1,3 @@
-/* $Id: wmesa.h,v 1.1 1999/08/19 00:55:40 jtg Exp $ */
-
 /*
  * Mesa 3-D graphics library
  * Version:  3.0
  */
 
 
-/*
- * $Log: wmesa.h,v $
- * Revision 1.1  1999/08/19 00:55:40  jtg
- * Initial revision
- *
- * Revision 3.2  1999/01/03 02:54:45  brianp
- * updated per Ted Jump
- *
- * Revision 3.1  1998/12/01 02:34:27  brianp
- * applied Mark Kilgard's patches from November 30, 1998
- *
- * Revision 3.0  1998/02/20 05:06:59  brianp
- * initial rev
- *
- */
-
-
 /*
  * Windows driver by: Mark E. Peterson (markp@ic.mankato.mn.us)
  * Updated by Li Wei (liwei@aiar.xjtu.edu.cn)
@@ -69,17 +50,19 @@ extern "C" {
 #endif
 
 
-#include "gl\gl.h"
+#include "GL/gl.h"
 
-#pragma warning (disable:4273)
-#pragma warning( disable : 4244 ) /* '=' : conversion from 'const double ' to 'float ', possible loss of data */
-#pragma warning( disable : 4018 ) /* '<' : signed/unsigned mismatch */
-#pragma warning( disable : 4305 ) /* '=' : truncation from 'const double ' to 'float ' */
-#pragma warning( disable : 4013 ) /* 'function' undefined; assuming extern returning int */
-#pragma warning( disable : 4761 ) /* integral size mismatch in argument; conversion supplied */
-#pragma warning( disable : 4273 ) /* 'identifier' : inconsistent DLL linkage. dllexport assumed */
-#if (MESA_WARNQUIET>1)
-#      pragma warning( disable : 4146 ) /* unary minus operator applied to unsigned type, result still unsigned */
+#if defined(_MSV_VER) && !defined(__GNUC__)
+#  pragma warning (disable:4273)
+#  pragma warning( disable : 4244 ) /* '=' : conversion from 'const double ' to 'float ', possible loss of data */
+#  pragma warning( disable : 4018 ) /* '<' : signed/unsigned mismatch */
+#  pragma warning( disable : 4305 ) /* '=' : truncation from 'const double ' to 'float ' */
+#  pragma warning( disable : 4013 ) /* 'function' undefined; assuming extern returning int */
+#  pragma warning( disable : 4761 ) /* integral size mismatch in argument; conversion supplied */
+#  pragma warning( disable : 4273 ) /* 'identifier' : inconsistent DLL linkage. dllexport assumed */
+#  if (MESA_WARNQUIET>1)
+#    pragma warning( disable : 4146 ) /* unary minus operator applied to unsigned type, result still unsigned */
+#  endif
 #endif
 
 /*
@@ -95,33 +78,36 @@ typedef struct wmesa_context *WMesaContext;
  * appropriate colormap.
  *
  * Input:
- *         hWnd - Window handle
+ *         hDC - Windows device or memory context
  *         Pal  - Palette to use
  *         rgb_flag - GL_TRUE = RGB mode,
  *                    GL_FALSE = color index mode
  *         db_flag - GL_TRUE = double-buffered,
  *                   GL_FALSE = single buffered
+ *         alpha_flag - GL_TRUE = create software alpha buffer,
+ *                      GL_FALSE = no software alpha buffer
  *
  * Note: Indexed mode requires double buffering under Windows.
  *
  * Return:  a WMesa_context or NULL if error.
  */
-extern WMesaContext WMesaCreateContext(HWND hWnd,HPALETTE* pPal,
-                                       GLboolean rgb_flag,GLboolean db_flag);
+extern WMesaContext WMesaCreateContext(HDC hDC,HPALETTE* pPal,
+                                       GLboolean rgb_flag,
+                                       GLboolean db_flag,
+                                       GLboolean alpha_flag);
 
 
 /*
  * Destroy a rendering context as returned by WMesaCreateContext()
  */
-/*extern void WMesaDestroyContext( WMesaContext ctx );*/
-extern void WMesaDestroyContext( void );
+extern void WMesaDestroyContext( WMesaContext ctx );
 
 
 
 /*
  * Make the specified context the current one.
  */
-extern void WMesaMakeCurrent( WMesaContext ctx );
+extern void WMesaMakeCurrent( WMesaContext ctx, HDC hdc );
 
 
 /*
@@ -134,7 +120,7 @@ extern WMesaContext WMesaGetCurrentContext( void );
  * Swap the front and back buffers for the current context.  No action
  * taken if the context is not double buffered.
  */
-extern void WMesaSwapBuffers(void);
+extern void WMesaSwapBuffers(HDC hdc);
 
 
 /*
@@ -144,7 +130,7 @@ extern void WMesaPaletteChange(HPALETTE Pal);
 
 extern void WMesaMove(void);
 
-
+void WMesaShareLists(WMesaContext ctx_to_share, WMesaContext ctx);
 
 #ifdef __cplusplus
 }