-/* $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)
#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
/*
* 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 );
/*
* 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);
/*
extern void WMesaMove(void);
-
+void WMesaShareLists(WMesaContext ctx_to_share, WMesaContext ctx);
#ifdef __cplusplus
}