diff options
Diffstat (limited to 'plugins/gtkui/gtkglext-gtk2/gdk/gdkgltokens.h')
-rw-r--r-- | plugins/gtkui/gtkglext-gtk2/gdk/gdkgltokens.h | 298 |
1 files changed, 298 insertions, 0 deletions
diff --git a/plugins/gtkui/gtkglext-gtk2/gdk/gdkgltokens.h b/plugins/gtkui/gtkglext-gtk2/gdk/gdkgltokens.h new file mode 100644 index 00000000..417068d1 --- /dev/null +++ b/plugins/gtkui/gtkglext-gtk2/gdk/gdkgltokens.h @@ -0,0 +1,298 @@ +/* GdkGLExt - OpenGL Extension to GDK + * Copyright (C) 2002-2004 Naofumi Yasufuku + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + */ + +#ifndef __GDK_GL_TOKENS_H__ +#define __GDK_GL_TOKENS_H__ + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +/* + * Success return value + */ +#define GDK_GL_SUCCESS 0 /* same as 'Success' of X11 */ + +/* + * Attribute list terminator + */ +#define GDK_GL_ATTRIB_LIST_NONE 0 /* same as 'None' of X11 */ + +/* + * This source is based on the OpenGL(R) Sample Implementation by SGI. + */ + +/* +** License Applicability. Except to the extent portions of this file are +** made subject to an alternative license as permitted in the SGI Free +** Software License B, Version 1.1 (the "License"), the contents of this +** file are subject only to the provisions of the License. You may not use +** this file except in compliance with the License. You may obtain a copy +** of the License at Silicon Graphics, Inc., attn: Legal Services, 1600 +** Amphitheatre Parkway, Mountain View, CA 94043-1351, or at: +** +** http://oss.sgi.com/projects/FreeB +** +** Note that, as provided in the License, the Software is distributed on an +** "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS +** DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND +** CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A +** PARTICULAR PURPOSE, AND NON-INFRINGEMENT. +** +** Original Code. The Original Code is: OpenGL Sample Implementation, +** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics, +** Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc. +** Copyright in any portions created by third parties is as indicated +** elsewhere herein. All Rights Reserved. +** +** Additional Notice Provisions: The application programming interfaces +** established by SGI in conjunction with the Original Code are The +** OpenGL(R) Graphics System: A Specification (Version 1.2.1), released +** April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version +** 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X +** Window System(R) (Version 1.3), released October 19, 1998. This software +** was created using the OpenGL(R) version 1.2.1 Sample Implementation +** published by SGI, but has not been independently verified as being +** compliant with the OpenGL(R) version 1.2.1 Specification. +*/ + +/* + * Visual Config Attributes. + */ +typedef enum +{ + GDK_GL_USE_GL = 1, /* support GLX rendering */ + GDK_GL_BUFFER_SIZE = 2, /* depth of the color buffer */ + GDK_GL_LEVEL = 3, /* level in plane stacking */ + GDK_GL_RGBA = 4, /* true if RGBA mode */ + GDK_GL_DOUBLEBUFFER = 5, /* double buffering supported */ + GDK_GL_STEREO = 6, /* stereo buffering supported */ + GDK_GL_AUX_BUFFERS = 7, /* number of aux buffers */ + GDK_GL_RED_SIZE = 8, /* number of red component bits */ + GDK_GL_GREEN_SIZE = 9, /* number of green component bits */ + GDK_GL_BLUE_SIZE = 10, /* number of blue component bits */ + GDK_GL_ALPHA_SIZE = 11, /* number of alpha component bits */ + GDK_GL_DEPTH_SIZE = 12, /* number of depth bits */ + GDK_GL_STENCIL_SIZE = 13, /* number of stencil bits */ + GDK_GL_ACCUM_RED_SIZE = 14, /* number of red accum bits */ + GDK_GL_ACCUM_GREEN_SIZE = 15, /* number of green accum bits */ + GDK_GL_ACCUM_BLUE_SIZE = 16, /* number of blue accum bits */ + GDK_GL_ACCUM_ALPHA_SIZE = 17, /* number of alpha accum bits */ + + /* + * FBConfig-specific attributes. + * [ GLX 1.3 and later ] + */ + GDK_GL_CONFIG_CAVEAT = 0x20, + GDK_GL_X_VISUAL_TYPE = 0x22, + GDK_GL_TRANSPARENT_TYPE = 0x23, + GDK_GL_TRANSPARENT_INDEX_VALUE = 0x24, + GDK_GL_TRANSPARENT_RED_VALUE = 0x25, + GDK_GL_TRANSPARENT_GREEN_VALUE = 0x26, + GDK_GL_TRANSPARENT_BLUE_VALUE = 0x27, + GDK_GL_TRANSPARENT_ALPHA_VALUE = 0x28, + GDK_GL_DRAWABLE_TYPE = 0x8010, + GDK_GL_RENDER_TYPE = 0x8011, + GDK_GL_X_RENDERABLE = 0x8012, + GDK_GL_FBCONFIG_ID = 0x8013, + GDK_GL_MAX_PBUFFER_WIDTH = 0x8016, + GDK_GL_MAX_PBUFFER_HEIGHT = 0x8017, + GDK_GL_MAX_PBUFFER_PIXELS = 0x8018, + GDK_GL_VISUAL_ID = 0x800B, + GDK_GL_SCREEN = 0x800C, + + /* + * Multisampling configuration attributes. + * [ GLX 1.4 and later ] + */ + GDK_GL_SAMPLE_BUFFERS = 100000, + GDK_GL_SAMPLES = 100001 + +} GdkGLConfigAttrib; + +/* + * Generic "don't care" value. + * [ GLX 1.3 and later ] + */ +#define GDK_GL_DONT_CARE 0xFFFFFFFF + +/* + * "none" value. + * [ GLX 1.3 and later ] + */ +#define GDK_GL_NONE 0x8000 + +/* + * GLX_CONFIG_CAVEAT attribute values. + * [ GLX 1.3 and later ] + */ +typedef enum +{ + GDK_GL_CONFIG_CAVEAT_DONT_CARE = 0xFFFFFFFF, /* GDK_GL_DONT_CARE */ + GDK_GL_CONFIG_CAVEAT_NONE = 0x8000, /* GDK_GL_NONE */ + GDK_GL_SLOW_CONFIG = 0x8001, + GDK_GL_NON_CONFORMANT_CONFIG = 0x800D +} GdkGLConfigCaveat; + +/* + * GLX_X_VISUAL_TYPE attribute values. + * [ GLX 1.3 and later ] + */ +typedef enum +{ + GDK_GL_VISUAL_TYPE_DONT_CARE = 0xFFFFFFFF, /* GDK_GL_DONT_CARE */ + GDK_GL_TRUE_COLOR = 0x8002, + GDK_GL_DIRECT_COLOR = 0x8003, + GDK_GL_PSEUDO_COLOR = 0x8004, + GDK_GL_STATIC_COLOR = 0x8005, + GDK_GL_GRAY_SCALE = 0x8006, + GDK_GL_STATIC_GRAY = 0x8007 +} GdkGLVisualType; + +/* + * GLX_TRANSPARENT_TYPE attribute values. + * [ GLX 1.3 and later ] + */ +typedef enum +{ + GDK_GL_TRANSPARENT_NONE = 0x8000, /* GDK_GL_NONE */ + GDK_GL_TRANSPARENT_RGB = 0x8008, + GDK_GL_TRANSPARENT_INDEX = 0x8009 +} GdkGLTransparentType; + +/* + * GLX_DRAWABLE_TYPE bits. + * [ GLX 1.3 and later ] + */ +typedef enum +{ + GDK_GL_WINDOW_BIT = 1 << 0, /* 0x00000001 */ + GDK_GL_PIXMAP_BIT = 1 << 1, /* 0x00000002 */ + GDK_GL_PBUFFER_BIT = 1 << 2 /* 0x00000004 */ +} GdkGLDrawableTypeMask; + +/* + * GLX_RENDER_TYPE bits. + * [ GLX 1.3 and later ] + */ +typedef enum +{ + GDK_GL_RGBA_BIT = 1 << 0, /* 0x00000001 */ + GDK_GL_COLOR_INDEX_BIT = 1 << 1 /* 0x00000002 */ +} GdkGLRenderTypeMask; + +/* + * Buffer mask bits. + * [ GLX 1.3 and later ] + */ +typedef enum +{ + GDK_GL_FRONT_LEFT_BUFFER_BIT = 1 << 0, /* 0x00000001 */ + GDK_GL_FRONT_RIGHT_BUFFER_BIT = 1 << 1, /* 0x00000002 */ + GDK_GL_BACK_LEFT_BUFFER_BIT = 1 << 2, /* 0x00000004 */ + GDK_GL_BACK_RIGHT_BUFFER_BIT = 1 << 3, /* 0x00000008 */ + GDK_GL_AUX_BUFFERS_BIT = 1 << 4, /* 0x00000010 */ + GDK_GL_DEPTH_BUFFER_BIT = 1 << 5, /* 0x00000020 */ + GDK_GL_STENCIL_BUFFER_BIT = 1 << 6, /* 0x00000040 */ + GDK_GL_ACCUM_BUFFER_BIT = 1 << 7 /* 0x00000080 */ +} GdkGLBufferMask; + +/* + * Error return values from glXGetConfig. Success is indicated by + * a value of 0. + */ +typedef enum +{ + GDK_GL_BAD_SCREEN = 1, /* screen # is bad */ + GDK_GL_BAD_ATTRIBUTE = 2, /* attribute to get is bad */ + GDK_GL_NO_EXTENSION = 3, /* no glx extension on server */ + GDK_GL_BAD_VISUAL = 4, /* visual # not known by GLX */ + GDK_GL_BAD_CONTEXT = 5, /* returned only by import_context EXT? */ + GDK_GL_BAD_VALUE = 6, /* returned only by glXSwapIntervalSGI? */ + GDK_GL_BAD_ENUM = 7 /* unused? */ +} GdkGLConfigError; + +/* + * glXCreateNewContext render_type attribute values. + * [ GLX 1.3 and later ] + */ +typedef enum +{ + GDK_GL_RGBA_TYPE = 0x8014, + GDK_GL_COLOR_INDEX_TYPE = 0x8015 +} GdkGLRenderType; + +/* + * glXQueryDrawable attributes. + * [ GLX 1.3 and later ] + */ +typedef enum +{ + GDK_GL_PRESERVED_CONTENTS = 0x801B, + GDK_GL_LARGEST_PBUFFER = 0x801C, + GDK_GL_WIDTH = 0x801D, + GDK_GL_HEIGHT = 0x801E, + GDK_GL_EVENT_MASK = 0x801F +} GdkGLDrawableAttrib; + +/* + * glXCreatePbuffer attributes. + * [ GLX 1.3 and later ] + */ +typedef enum +{ + GDK_GL_PBUFFER_PRESERVED_CONTENTS = 0x801B, /* GDK_GL_PRESERVED_CONTENTS */ + GDK_GL_PBUFFER_LARGEST_PBUFFER = 0x801C, /* GDK_GL_LARGEST_PBUFFER */ + GDK_GL_PBUFFER_HEIGHT = 0x8040, + GDK_GL_PBUFFER_WIDTH = 0x8041 +} GdkGLPbufferAttrib; + +/* + * glXSelectEvent event mask bits. + * [ GLX 1.3 and later ] + */ +typedef enum +{ + GDK_GL_PBUFFER_CLOBBER_MASK = 1 << 27 /* 0x08000000 */ +} GdkGLEventMask; + +/* + * GLXPbufferClobberEvent event_type values. + * [ GLX 1.3 and later ] + */ +typedef enum +{ + GDK_GL_DAMAGED = 0x8020, + GDK_GL_SAVED = 0x8021 +} GdkGLEventType; + +/* + * GLXPbufferClobberEvent draw_type values. + * [ GLX 1.3 and later ] + */ +typedef enum +{ + GDK_GL_WINDOW = 0x8022, + GDK_GL_PBUFFER = 0x8023 +} GdkGLDrawableType; + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif /* __GDK_GL_TOKENS_H__ */ |