]> git.jsancho.org Git - lugaru.git/blob - Dependencies/OpenGL/GL/mglmesa.h
Replacing the headers yet again, this time from Mesa 7.8.1
[lugaru.git] / Dependencies / OpenGL / GL / mglmesa.h
1 /****************************************************************************
2 *
3 *                      Mesa bindings for SciTech MGL
4 *
5 *                   Copyright (C) 1996 SciTech Software.
6 *                           All rights reserved.
7 *
8 * Filename:     mglmesa.h
9 * Version:      Revision: 1.1.1.1
10 *
11 * Language:     ANSI C
12 * Environment:  Any
13 *
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
21 *               MGL.
22 *
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.
27 *
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.
32 *
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.
36 *
37 *
38 ****************************************************************************/
39
40 #ifndef __MGLMESA_H
41 #define __MGLMESA_H
42
43 #include "mgraph.h"
44
45 /*------------------------- Function Prototypes ---------------------------*/
46
47 #ifdef  __cplusplus
48 extern "C" {            /* Use "C" linkage when in C++ mode */
49 #endif
50
51 #ifndef __WINDOWS__
52 #define GLAPIENTRY
53 #endif
54
55 #ifdef  __WINDOWS__
56 bool    GLAPIENTRY MGLMesaInitDLL(MGLCallbacks *cb,char *version);
57 #endif
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);
64
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.
69  */
70
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);
74
75 #ifdef  __cplusplus
76 }                       /* End of "C" linkage for C++   */
77 #endif  /* __cplusplus */
78
79 #endif  /* __MGLMESA_H */