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 */