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.

ggimesa.h 2.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. /* $Id: ggimesa.h,v 1.4 2002/06/10 15:16:44 brianp Exp $ */
  2. /*
  3. * Mesa 3-D graphics library GGI bindings (GGIGL [giggle])
  4. * Version: 4.0
  5. * Copyright (C) 1995-2000 Brian Paul
  6. * Copyright (C) 1998 Uwe Maurer
  7. * Copyrigth (C) 2001 Filip Spacek
  8. *
  9. * This library is free software; you can redistribute it and/or
  10. * modify it under the terms of the GNU Library General Public
  11. * License as published by the Free Software Foundation; either
  12. * version 2 of the License, or (at your option) any later version.
  13. *
  14. * This library is distributed in the hope that it will be useful,
  15. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  16. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  17. * Library General Public License for more details.
  18. *
  19. * You should have received a copy of the GNU Library General Public
  20. * License along with this library; if not, write to the Free
  21. * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  22. */
  23. #ifndef GGIMESA_H
  24. #define GGIMESA_H
  25. #define GGIMESA_MAJOR_VERSION 4
  26. #define GGIMESA_MINOR_VERSION 0
  27. #ifdef __cplusplus
  28. extern "C" {
  29. #endif
  30. #include <ggi/ggi.h>
  31. #include "GL/gl.h"
  32. typedef struct ggi_mesa_context *ggi_mesa_context_t;
  33. /*
  34. * Initialize Mesa GGI extension
  35. */
  36. int ggiMesaInit(void);
  37. /*
  38. * Clean up Mesa GGI exension
  39. */
  40. int ggiMesaExit(void);
  41. /*
  42. * Attach Mesa GGI extension to the visual 'vis'
  43. */
  44. int ggiMesaAttach(ggi_visual_t vis);
  45. /*
  46. * Detach Mesa GGI extension from the visual 'vis'
  47. */
  48. int ggiMesaDetach(ggi_visual_t vis);
  49. int ggiMesaExtendVisual(ggi_visual_t vis, GLboolean alpha_flag,
  50. GLboolean stereo_flag, GLint depth_size,
  51. GLint stencil_size, GLint accum_red_size,
  52. GLint accum_green_size, GLint accum_blue_size,
  53. GLint accum_alpha_size, GLint num_samples);
  54. /*
  55. * Create a new context capable of displaying on the visual vis.
  56. */
  57. ggi_mesa_context_t ggiMesaCreateContext(ggi_visual_t vis);
  58. /*
  59. * Destroy the context 'ctx'
  60. */
  61. void ggiMesaDestroyContext(ggi_mesa_context_t ctx);
  62. /*
  63. * Make context 'ctx' the current context and bind it to visual 'vis'.
  64. * Note that the context must have been created with respect to that visual.
  65. */
  66. void ggiMesaMakeCurrent(ggi_mesa_context_t ctx, ggi_visual_t vis);
  67. void ggiMesaSwapBuffers(void);
  68. #ifdef __cplusplus
  69. }
  70. #endif
  71. #endif