Subversion Repositories shark

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
55 pj 1
/****************************************************************************
2
*
3
*                      Mesa bindings for SciTech MGL
4
*
5
*                   Copyright (C) 1996 SciTech Software.
6
*                           All rights reserved.
7
*
8
* Filename:     $Workfile:   mglmesa.h  $
9
* Version:      $Revision: 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
* $Date: 2003-02-28 11:41:56 $ $Author: pj $
38
*
39
****************************************************************************/
40
 
41
#ifndef __MGLMESA_H
42
#define __MGLMESA_H
43
 
44
#include "mgraph.h"
45
 
46
/*------------------------- Function Prototypes ---------------------------*/
47
 
48
#ifdef  __cplusplus
49
extern "C" {            /* Use "C" linkage when in C++ mode */
50
#endif
51
 
52
#ifndef __WINDOWS__
53
#define GLAPIENTRY
54
#endif
55
 
56
#ifdef  __WINDOWS__
57
bool    GLAPIENTRY MGLMesaInitDLL(MGLCallbacks *cb,char *version);
58
#endif
59
void    GLAPIENTRY MGLMesaChooseVisual(MGLDC *dc,MGLVisual *visual);
60
bool    GLAPIENTRY MGLMesaSetVisual(MGLDC *dc,MGLVisual *visual);
61
bool    GLAPIENTRY MGLMesaCreateContext(MGLDC *dc,bool forceMemDC);
62
void    GLAPIENTRY MGLMesaDestroyContext(MGLDC *dc);
63
void    GLAPIENTRY MGLMesaMakeCurrent(MGLDC *dc);
64
void    GLAPIENTRY MGLMesaSwapBuffers(MGLDC *dc,bool waitVRT);
65
 
66
/* Palette manipulation support. The reason we provide palette manipulation
67
 * routines is so that when rendering in double buffered modes with a
68
 * software backbuffer, the palette for the backbuffer is kept consistent
69
 * with the hardware front buffer.
70
 */
71
 
72
void    GLAPIENTRY MGLMesaSetPaletteEntry(MGLDC *dc,int entry,uchar red,uchar green,uchar blue);
73
void    GLAPIENTRY MGLMesaSetPalette(MGLDC *dc,palette_t *pal,int numColors,int startIndex);
74
void    GLAPIENTRY MGLMesaRealizePalette(MGLDC *dc,int numColors,int startIndex,int waitVRT);
75
 
76
#ifdef  __cplusplus
77
}                       /* End of "C" linkage for C++   */
78
#endif  /* __cplusplus */
79
 
80
#endif  /* __MGLMESA_H */