TerraLib 4.1
E:/Projetos_Primeiro_Semestre_2012/TerraView/terralib/src/terralib/drivers/GL/ggimesa.h
Go to the documentation of this file.
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
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines