Initial revision
[mesa.git] / include / GL / mglmesa.h
diff --git a/include/GL/mglmesa.h b/include/GL/mglmesa.h
new file mode 100644 (file)
index 0000000..76deb33
--- /dev/null
@@ -0,0 +1,80 @@
+/****************************************************************************\r
+*\r
+*                      Mesa bindings for SciTech MGL\r
+*\r
+*                   Copyright (C) 1996 SciTech Software.\r
+*                           All rights reserved.\r
+*\r
+* Filename:     $Workfile:   mglmesa.h  $\r
+* Version:      $Revision: 1.1 $\r
+*\r
+* Language:     ANSI C\r
+* Environment:  Any\r
+*\r
+* Description:  Header file for the Mesa/OpenGL interface bindings for the\r
+*               SciTech MGL graphics library. Uses the MGL internal\r
+*               device context structures to get direct access to the\r
+*               high performance MGL rasterization functions for maximum\r
+*               performance. Utilizes the VESA VBE/AF Accelerator Functions\r
+*               via the MGL's accelerated device driver functions, as well\r
+*               as basic DirectDraw accelerated functions provided by the\r
+*               MGL.\r
+*\r
+* This library is free software; you can redistribute it and/or\r
+* modify it under the terms of the GNU Library General Public\r
+* License as published by the Free Software Foundation; either\r
+* version 2 of the License, or (at your option) any later version.\r
+*\r
+* This library is distributed in the hope that it will be useful,\r
+* but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
+* Library General Public License for more details.\r
+*\r
+* You should have received a copy of the GNU Library General Public\r
+* License along with this library; if not, write to the Free\r
+* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.\r
+*\r
+* $Date: 1999/08/19 00:55:40 $ $Author: jtg $\r
+*\r
+****************************************************************************/\r
+\r
+#ifndef __MGLMESA_H\r
+#define __MGLMESA_H\r
+\r
+#include "mgraph.h"\r
+\r
+/*------------------------- Function Prototypes ---------------------------*/\r
+\r
+#ifdef  __cplusplus\r
+extern "C" {            /* Use "C" linkage when in C++ mode */\r
+#endif\r
+\r
+#ifndef __WINDOWS__\r
+#define GLAPIENTRY\r
+#endif\r
+\r
+#ifdef  __WINDOWS__\r
+bool    GLAPIENTRY MGLMesaInitDLL(MGLCallbacks *cb,char *version);\r
+#endif\r
+void    GLAPIENTRY MGLMesaChooseVisual(MGLDC *dc,MGLVisual *visual);\r
+bool    GLAPIENTRY MGLMesaSetVisual(MGLDC *dc,MGLVisual *visual);\r
+bool    GLAPIENTRY MGLMesaCreateContext(MGLDC *dc,bool forceMemDC);\r
+void    GLAPIENTRY MGLMesaDestroyContext(MGLDC *dc);\r
+void    GLAPIENTRY MGLMesaMakeCurrent(MGLDC *dc);\r
+void    GLAPIENTRY MGLMesaSwapBuffers(MGLDC *dc,bool waitVRT);\r
+\r
+/* Palette manipulation support. The reason we provide palette manipulation\r
+ * routines is so that when rendering in double buffered modes with a\r
+ * software backbuffer, the palette for the backbuffer is kept consistent\r
+ * with the hardware front buffer.\r
+ */\r
+\r
+void    GLAPIENTRY MGLMesaSetPaletteEntry(MGLDC *dc,int entry,uchar red,uchar green,uchar blue);\r
+void    GLAPIENTRY MGLMesaSetPalette(MGLDC *dc,palette_t *pal,int numColors,int startIndex);\r
+void    GLAPIENTRY MGLMesaRealizePalette(MGLDC *dc,int numColors,int startIndex,int waitVRT);\r
+\r
+#ifdef  __cplusplus\r
+}                       /* End of "C" linkage for C++   */\r
+#endif  /* __cplusplus */\r
+\r
+#endif  /* __MGLMESA_H */\r