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

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