![]() |
TerraLib 4.1
|
00001 /* 00002 * Mesa 3-D graphics library GGI bindings (GGIGL [giggle]) 00003 * Version: 4.0 00004 * Copyright (C) 1995-2000 Brian Paul 00005 * Copyright (C) 1998 Uwe Maurer 00006 * Copyrigth (C) 2001 Filip Spacek 00007 * 00008 * This library is free software; you can redistribute it and/or 00009 * modify it under the terms of the GNU Library General Public 00010 * License as published by the Free Software Foundation; either 00011 * version 2 of the License, or (at your option) any later version. 00012 * 00013 * This library is distributed in the hope that it will be useful, 00014 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00015 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00016 * Library General Public License for more details. 00017 * 00018 * You should have received a copy of the GNU Library General Public 00019 * License along with this library; if not, write to the Free 00020 * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 00021 */ 00022 00023 00024 #ifndef GGIMESA_H 00025 #define GGIMESA_H 00026 00027 #define GGIMESA_MAJOR_VERSION 4 00028 #define GGIMESA_MINOR_VERSION 0 00029 00030 #ifdef __cplusplus 00031 extern "C" { 00032 #endif 00033 00034 #include <ggi/ggi.h> 00035 #include "GL/gl.h" 00036 00037 typedef struct ggi_mesa_context *ggi_mesa_context_t; 00038 00039 /* 00040 * Initialize Mesa GGI extension 00041 */ 00042 int ggiMesaInit(void); 00043 /* 00044 * Clean up Mesa GGI exension 00045 */ 00046 int ggiMesaExit(void); 00047 00048 /* 00049 * Attach Mesa GGI extension to the visual 'vis' 00050 */ 00051 int ggiMesaAttach(ggi_visual_t vis); 00052 /* 00053 * Detach Mesa GGI extension from the visual 'vis' 00054 */ 00055 int ggiMesaDetach(ggi_visual_t vis); 00056 00057 int ggiMesaExtendVisual(ggi_visual_t vis, GLboolean alpha_flag, 00058 GLboolean stereo_flag, GLint depth_size, 00059 GLint stencil_size, GLint accum_red_size, 00060 GLint accum_green_size, GLint accum_blue_size, 00061 GLint accum_alpha_size, GLint num_samples); 00062 00063 /* 00064 * Create a new context capable of displaying on the visual vis. 00065 */ 00066 ggi_mesa_context_t ggiMesaCreateContext(ggi_visual_t vis); 00067 /* 00068 * Destroy the context 'ctx' 00069 */ 00070 void ggiMesaDestroyContext(ggi_mesa_context_t ctx); 00071 00072 /* 00073 * Make context 'ctx' the current context and bind it to visual 'vis'. 00074 * Note that the context must have been created with respect to that visual. 00075 */ 00076 void ggiMesaMakeCurrent(ggi_mesa_context_t ctx, ggi_visual_t vis); 00077 00078 void ggiMesaSwapBuffers(void); 00079 00080 00081 #ifdef __cplusplus 00082 } 00083 #endif 00084 00085 #endif