summaryrefslogtreecommitdiff
path: root/include/GL/uglmesa.h
diff options
context:
space:
mode:
authorAlex Heck <nesl247@beryl-project.org>2007-03-17 19:55:09 -0400
committerAlex Heck <nesl247@beryl-project.org>2007-03-17 19:55:09 -0400
commit3c464a6f450c7b9e5f35460458e4d37a9be15f6e (patch)
treec98caeee9b16d98fee3db95977a713b25bb7919b /include/GL/uglmesa.h
parentd34c1c65bd18eaaae2d1da2a32654916477cb86f (diff)
downloadberyl-mesa-master.tar.gz
beryl-mesa-master.tar.bz2
Added missing filesHEADmaster
Diffstat (limited to 'include/GL/uglmesa.h')
-rw-r--r--include/GL/uglmesa.h155
1 files changed, 155 insertions, 0 deletions
diff --git a/include/GL/uglmesa.h b/include/GL/uglmesa.h
new file mode 100644
index 0000000..7ef5843
--- /dev/null
+++ b/include/GL/uglmesa.h
@@ -0,0 +1,155 @@
+/* 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