Clone of mesa.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

mglmesa.h 3.2KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  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: 1999/08/19 00:55:40 $ $Author: jtg $
  38. *
  39. ****************************************************************************/
  40. #ifndef __MGLMESA_H
  41. #define __MGLMESA_H
  42. #include "mgraph.h"
  43. /*------------------------- Function Prototypes ---------------------------*/
  44. #ifdef __cplusplus
  45. extern "C" { /* Use "C" linkage when in C++ mode */
  46. #endif
  47. #ifndef __WINDOWS__
  48. #define GLAPIENTRY
  49. #endif
  50. #ifdef __WINDOWS__
  51. bool GLAPIENTRY MGLMesaInitDLL(MGLCallbacks *cb,char *version);
  52. #endif
  53. void GLAPIENTRY MGLMesaChooseVisual(MGLDC *dc,MGLVisual *visual);
  54. bool GLAPIENTRY MGLMesaSetVisual(MGLDC *dc,MGLVisual *visual);
  55. bool GLAPIENTRY MGLMesaCreateContext(MGLDC *dc,bool forceMemDC);
  56. void GLAPIENTRY MGLMesaDestroyContext(MGLDC *dc);
  57. void GLAPIENTRY MGLMesaMakeCurrent(MGLDC *dc);
  58. void GLAPIENTRY MGLMesaSwapBuffers(MGLDC *dc,bool waitVRT);
  59. /* Palette manipulation support. The reason we provide palette manipulation
  60. * routines is so that when rendering in double buffered modes with a
  61. * software backbuffer, the palette for the backbuffer is kept consistent
  62. * with the hardware front buffer.
  63. */
  64. void GLAPIENTRY MGLMesaSetPaletteEntry(MGLDC *dc,int entry,uchar red,uchar green,uchar blue);
  65. void GLAPIENTRY MGLMesaSetPalette(MGLDC *dc,palette_t *pal,int numColors,int startIndex);
  66. void GLAPIENTRY MGLMesaRealizePalette(MGLDC *dc,int numColors,int startIndex,int waitVRT);
  67. #ifdef __cplusplus
  68. } /* End of "C" linkage for C++ */
  69. #endif /* __cplusplus */
  70. #endif /* __MGLMESA_H */