1 /****************************************************************************
3 * Mesa bindings for SciTech MGL
5 * Copyright (C) 1996 SciTech Software.
9 * Version: Revision: 1.1.1.1
14 * Description: Header file for the Mesa/OpenGL interface bindings for the
15 * SciTech MGL graphics library. Uses the MGL internal
16 * device context structures to get direct access to the
17 * high performance MGL rasterization functions for maximum
18 * performance. Utilizes the VESA VBE/AF Accelerator Functions
19 * via the MGL's accelerated device driver functions, as well
20 * as basic DirectDraw accelerated functions provided by the
23 * This library is free software; you can redistribute it and/or
24 * modify it under the terms of the GNU Library General Public
25 * License as published by the Free Software Foundation; either
26 * version 2 of the License, or (at your option) any later version.
28 * This library is distributed in the hope that it will be useful,
29 * but WITHOUT ANY WARRANTY; without even the implied warranty of
30 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
31 * Library General Public License for more details.
33 * You should have received a copy of the GNU Library General Public
34 * License along with this library; if not, write to the Free
35 * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
38 ****************************************************************************/
45 /*------------------------- Function Prototypes ---------------------------*/
48 extern "C" { /* Use "C" linkage when in C++ mode */
56 bool GLAPIENTRY MGLMesaInitDLL(MGLCallbacks *cb,char *version);
58 void GLAPIENTRY MGLMesaChooseVisual(MGLDC *dc,MGLVisual *visual);
59 bool GLAPIENTRY MGLMesaSetVisual(MGLDC *dc,MGLVisual *visual);
60 bool GLAPIENTRY MGLMesaCreateContext(MGLDC *dc,bool forceMemDC);
61 void GLAPIENTRY MGLMesaDestroyContext(MGLDC *dc);
62 void GLAPIENTRY MGLMesaMakeCurrent(MGLDC *dc);
63 void GLAPIENTRY MGLMesaSwapBuffers(MGLDC *dc,bool waitVRT);
65 /* Palette manipulation support. The reason we provide palette manipulation
66 * routines is so that when rendering in double buffered modes with a
67 * software backbuffer, the palette for the backbuffer is kept consistent
68 * with the hardware front buffer.
71 void GLAPIENTRY MGLMesaSetPaletteEntry(MGLDC *dc,int entry,uchar red,uchar green,uchar blue);
72 void GLAPIENTRY MGLMesaSetPalette(MGLDC *dc,palette_t *pal,int numColors,int startIndex);
73 void GLAPIENTRY MGLMesaRealizePalette(MGLDC *dc,int numColors,int startIndex,int waitVRT);
76 } /* End of "C" linkage for C++ */
77 #endif /* __cplusplus */
79 #endif /* __MGLMESA_H */