123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155 |
- /* uglmesa.h - Public header UGL/Mesa */
-
- /* Copyright (C) 2001 by Wind River Systems, Inc */
-
- /*
- * Mesa 3-D graphics library
- * Version: 4.0
- *
- * The MIT License
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- */
-
- /*
- * Author:
- * Stephane Raimbault <stephane.raimbault@windriver.com>
- */
-
- #ifndef UGLMESA_H
- #define UGLMESA_H
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
- #define UGL_MESA_MAJOR_VERSION 4
- #define UGL_MESA_MINOR_VERSION 0
-
- #include <GL/gl.h>
- #include <ugl/ugl.h>
-
- /*
- * Values for display mode of uglMesaCreateContext ()
- */
-
- /*
- * With these mask values, it's possible to test double buffer mode
- * with UGL_MESA_DOUBLE mask
- *
- * SINGLE 0000 0001
- * DOUBLE 0000 0110
- * - SOFT 0000 0010
- * - HARD 0000 0100
- * WINDML 0001 0000
- *
- *
- */
- #define UGL_MESA_SINGLE 0x01
- #define UGL_MESA_DOUBLE 0x06
- #define UGL_MESA_DOUBLE_SOFTWARE 0x02
- #define UGL_MESA_DOUBLE_HARDWARE 0x04
-
- #define UGL_MESA_WINDML_EXCLUSIVE 0x10
-
- #define UGL_MESA_FULLSCREEN_WIDTH 0x0
- #define UGL_MESA_FULLSCREEN_HEIGHT 0x0
-
- /*
- * uglMesaPixelStore() parameters:
- */
-
- #define UGL_MESA_ROW_LENGTH 0x20
- #define UGL_MESA_Y_UP 0x21
-
- /*
- * Accepted by uglMesaGetIntegerv:
- */
-
- #define UGL_MESA_LEFT_X 0x01
- #define UGL_MESA_TOP_Y 0x02
- #define UGL_MESA_WIDTH 0x03
- #define UGL_MESA_HEIGHT 0x04
- #define UGL_MESA_DISPLAY_WIDTH 0x05
- #define UGL_MESA_DISPLAY_HEIGHT 0x06
- #define UGL_MESA_COLOR_FORMAT 0x07
- #define UGL_MESA_COLOR_MODEL 0x08
- #define UGL_MESA_PIXEL_FORMAT 0x09
- #define UGL_MESA_TYPE 0x0A
- #define UGL_MESA_RGB 0x0B
- #define UGL_MESA_COLOR_INDEXED 0x0C
- #define UGL_MESA_SINGLE_BUFFER 0x0D
- #define UGL_MESA_DOUBLE_BUFFER 0x0E
- #define UGL_MESA_DOUBLE_BUFFER_SOFTWARE 0x0F
- #define UGL_MESA_DOUBLE_BUFFER_HARDWARE 0x10
-
- /*
- * typedefs
- */
-
- typedef struct uglMesaContext * UGL_MESA_CONTEXT;
-
- UGL_MESA_CONTEXT uglMesaCreateNewContext (GLenum mode,
- UGL_MESA_CONTEXT share_list);
-
- UGL_MESA_CONTEXT uglMesaCreateNewContextExt (GLenum mode,
- GLint depth_bits,
- GLint stencil_bits,
- GLint accum_red_bits,
- GLint accum_green_bits,
- GLint accum_blue_bits,
- GLint accum_alpha_bits,
- UGL_MESA_CONTEXT share_list);
-
- GLboolean uglMesaMakeCurrentContext (UGL_MESA_CONTEXT umc,
- GLsizei left, GLsizei top,
- GLsizei width, GLsizei height);
-
- GLboolean uglMesaMoveWindow (GLsizei dx, GLsizei dy);
-
- GLboolean uglMesaMoveToWindow (GLsizei left, GLsizei top);
-
- GLboolean uglMesaResizeWindow (GLsizei dw, GLsizei dh);
-
- GLboolean uglMesaResizeToWindow (GLsizei width, GLsizei height);
-
- void uglMesaDestroyContext (void);
-
- UGL_MESA_CONTEXT uglMesaGetCurrentContext (void);
-
- void uglMesaSwapBuffers (void);
-
- void uglMesaPixelStore (GLint pname, GLint value);
-
- void uglMesaGetIntegerv (GLint pname, GLint *value);
-
- GLboolean uglMesaGetDepthBuffer (GLint *width, GLint *height,
- GLint *bytesPerValue, void **buffer);
-
- GLboolean uglMesaGetColorBuffer (GLint *width, GLint *height,
- GLint *format, void **buffer);
-
- GLboolean uglMesaSetColor (GLubyte index, GLfloat red,
- GLfloat green, GLfloat blue);
-
- #ifdef __cplusplus
- }
- #endif
-
-
- #endif
|