00001
00002
00003 #ifndef _GDKMM_GL_TOKENS_H
00004 #define _GDKMM_GL_TOKENS_H
00005
00006 #include <glibmm.h>
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #include <gdkmm/gl/defs.h>
00028
00029
00030 namespace Gdk
00031 {
00032 namespace GL
00033 {
00034
00035 GDKMM_GL_VAR const int SUCCESS;
00036
00037 GDKMM_GL_VAR const int ATTRIB_LIST_NONE;
00038
00039 GDKMM_GL_VAR const int DONT_CARE;
00040
00041 GDKMM_GL_VAR const int NONE;
00042
00043 }
00044 }
00045
00046 namespace Gdk
00047 {
00048 namespace GL
00049 {
00050
00056 enum ConfigAttrib
00057 {
00058 USE_GL = 1,
00059 BUFFER_SIZE = 2,
00060 LEVEL = 3,
00061 RGBA = 4,
00062 DOUBLEBUFFER = 5,
00063 STEREO = 6,
00064 AUX_BUFFERS = 7,
00065 RED_SIZE = 8,
00066 GREEN_SIZE = 9,
00067 BLUE_SIZE = 10,
00068 ALPHA_SIZE = 11,
00069 DEPTH_SIZE = 12,
00070 STENCIL_SIZE = 13,
00071 ACCUM_RED_SIZE = 14,
00072 ACCUM_GREEN_SIZE = 15,
00073 ACCUM_BLUE_SIZE = 16,
00074 ACCUM_ALPHA_SIZE = 17,
00075 CONFIG_CAVEAT = 0x20,
00076 X_VISUAL_TYPE = 0x22,
00077 TRANSPARENT_TYPE = 0x23,
00078 TRANSPARENT_INDEX_VALUE = 0x24,
00079 TRANSPARENT_RED_VALUE = 0x25,
00080 TRANSPARENT_GREEN_VALUE = 0x26,
00081 TRANSPARENT_BLUE_VALUE = 0x27,
00082 TRANSPARENT_ALPHA_VALUE = 0x28,
00083 DRAWABLE_TYPE = 0x8010,
00084 RENDER_TYPE = 0x8011,
00085 X_RENDERABLE = 0x8012,
00086 FBCONFIG_ID = 0x8013,
00087 MAX_PBUFFER_WIDTH = 0x8016,
00088 MAX_PBUFFER_HEIGHT = 0x8017,
00089 MAX_PBUFFER_PIXELS = 0x8018,
00090 VISUAL_ID = 0x800B,
00091 SCREEN = 0x800C,
00092 SAMPLE_BUFFERS = 100000,
00093 SAMPLES = 100001
00094 };
00095
00096 }
00097
00098 }
00099
00100
00101 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00102 namespace Glib
00103 {
00104
00105 template <>
00106 class Value<Gdk::GL::ConfigAttrib> : public Glib::Value_Enum<Gdk::GL::ConfigAttrib>
00107 {
00108 public:
00109 static GType value_type() G_GNUC_CONST;
00110 };
00111
00112 }
00113 #endif
00114
00115
00116 namespace Gdk
00117 {
00118
00119 namespace GL
00120 {
00121
00122
00126 enum ConfigCaveat
00127 {
00128 CONFIG_CAVEAT_DONT_CARE = 0xFFFFFFFF,
00129 CONFIG_CAVEAT_NONE = 0x8000,
00130 SLOW_CONFIG = 0x8001,
00131 NON_CONFORMANT_CONFIG = 0x800D
00132 };
00133
00134 }
00135
00136 }
00137
00138
00139 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00140 namespace Glib
00141 {
00142
00143 template <>
00144 class Value<Gdk::GL::ConfigCaveat> : public Glib::Value_Enum<Gdk::GL::ConfigCaveat>
00145 {
00146 public:
00147 static GType value_type() G_GNUC_CONST;
00148 };
00149
00150 }
00151 #endif
00152
00153
00154 namespace Gdk
00155 {
00156
00157 namespace GL
00158 {
00159
00160
00164 enum VisualType
00165 {
00166 VISUAL_TYPE_DONT_CARE = 0xFFFFFFFF,
00167 TRUE_COLOR = 0x8002,
00168 DIRECT_COLOR = 0x8003,
00169 PSEUDO_COLOR = 0x8004,
00170 STATIC_COLOR = 0x8005,
00171 GRAY_SCALE = 0x8006,
00172 STATIC_GRAY = 0x8007
00173 };
00174
00175 }
00176
00177 }
00178
00179
00180 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00181 namespace Glib
00182 {
00183
00184 template <>
00185 class Value<Gdk::GL::VisualType> : public Glib::Value_Enum<Gdk::GL::VisualType>
00186 {
00187 public:
00188 static GType value_type() G_GNUC_CONST;
00189 };
00190
00191 }
00192 #endif
00193
00194
00195 namespace Gdk
00196 {
00197
00198 namespace GL
00199 {
00200
00201
00205 enum TransparentType
00206 {
00207 TRANSPARENT_NONE = 0x8000,
00208 TRANSPARENT_RGB = 0x8008,
00209 TRANSPARENT_INDEX = 0x8009
00210 };
00211
00212 }
00213
00214 }
00215
00216
00217 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00218 namespace Glib
00219 {
00220
00221 template <>
00222 class Value<Gdk::GL::TransparentType> : public Glib::Value_Enum<Gdk::GL::TransparentType>
00223 {
00224 public:
00225 static GType value_type() G_GNUC_CONST;
00226 };
00227
00228 }
00229 #endif
00230
00231
00232 namespace Gdk
00233 {
00234
00235 namespace GL
00236 {
00237
00238
00250 enum DrawableTypeMask
00251 {
00252 WINDOW_BIT = 1 << 0,
00253 PIXMAP_BIT = 1 << 1,
00254 PBUFFER_BIT = 1 << 2
00255 };
00256
00258 inline DrawableTypeMask operator|(DrawableTypeMask lhs, DrawableTypeMask rhs)
00259 { return static_cast<DrawableTypeMask>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs)); }
00260
00262 inline DrawableTypeMask operator&(DrawableTypeMask lhs, DrawableTypeMask rhs)
00263 { return static_cast<DrawableTypeMask>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs)); }
00264
00266 inline DrawableTypeMask operator^(DrawableTypeMask lhs, DrawableTypeMask rhs)
00267 { return static_cast<DrawableTypeMask>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs)); }
00268
00270 inline DrawableTypeMask operator~(DrawableTypeMask flags)
00271 { return static_cast<DrawableTypeMask>(~static_cast<unsigned>(flags)); }
00272
00274 inline DrawableTypeMask& operator|=(DrawableTypeMask& lhs, DrawableTypeMask rhs)
00275 { return (lhs = static_cast<DrawableTypeMask>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs))); }
00276
00278 inline DrawableTypeMask& operator&=(DrawableTypeMask& lhs, DrawableTypeMask rhs)
00279 { return (lhs = static_cast<DrawableTypeMask>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs))); }
00280
00282 inline DrawableTypeMask& operator^=(DrawableTypeMask& lhs, DrawableTypeMask rhs)
00283 { return (lhs = static_cast<DrawableTypeMask>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs))); }
00284
00285 }
00286
00287 }
00288
00289
00290 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00291 namespace Glib
00292 {
00293
00294 template <>
00295 class Value<Gdk::GL::DrawableTypeMask> : public Glib::Value_Flags<Gdk::GL::DrawableTypeMask>
00296 {
00297 public:
00298 static GType value_type() G_GNUC_CONST;
00299 };
00300
00301 }
00302 #endif
00303
00304
00305 namespace Gdk
00306 {
00307
00308 namespace GL
00309 {
00310
00311
00323 enum RenderTypeMask
00324 {
00325 RGBA_BIT = 1 << 0,
00326 COLOR_INDEX_BIT = 1 << 1
00327 };
00328
00330 inline RenderTypeMask operator|(RenderTypeMask lhs, RenderTypeMask rhs)
00331 { return static_cast<RenderTypeMask>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs)); }
00332
00334 inline RenderTypeMask operator&(RenderTypeMask lhs, RenderTypeMask rhs)
00335 { return static_cast<RenderTypeMask>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs)); }
00336
00338 inline RenderTypeMask operator^(RenderTypeMask lhs, RenderTypeMask rhs)
00339 { return static_cast<RenderTypeMask>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs)); }
00340
00342 inline RenderTypeMask operator~(RenderTypeMask flags)
00343 { return static_cast<RenderTypeMask>(~static_cast<unsigned>(flags)); }
00344
00346 inline RenderTypeMask& operator|=(RenderTypeMask& lhs, RenderTypeMask rhs)
00347 { return (lhs = static_cast<RenderTypeMask>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs))); }
00348
00350 inline RenderTypeMask& operator&=(RenderTypeMask& lhs, RenderTypeMask rhs)
00351 { return (lhs = static_cast<RenderTypeMask>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs))); }
00352
00354 inline RenderTypeMask& operator^=(RenderTypeMask& lhs, RenderTypeMask rhs)
00355 { return (lhs = static_cast<RenderTypeMask>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs))); }
00356
00357 }
00358
00359 }
00360
00361
00362 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00363 namespace Glib
00364 {
00365
00366 template <>
00367 class Value<Gdk::GL::RenderTypeMask> : public Glib::Value_Flags<Gdk::GL::RenderTypeMask>
00368 {
00369 public:
00370 static GType value_type() G_GNUC_CONST;
00371 };
00372
00373 }
00374 #endif
00375
00376
00377 namespace Gdk
00378 {
00379
00380 namespace GL
00381 {
00382
00383
00395 enum BufferMask
00396 {
00397 FRONT_LEFT_BUFFER_BIT = 1 << 0,
00398 FRONT_RIGHT_BUFFER_BIT = 1 << 1,
00399 BACK_LEFT_BUFFER_BIT = 1 << 2,
00400 BACK_RIGHT_BUFFER_BIT = 1 << 3,
00401 AUX_BUFFERS_BIT = 1 << 4,
00402 DEPTH_BUFFER_BIT = 1 << 5,
00403 STENCIL_BUFFER_BIT = 1 << 6,
00404 ACCUM_BUFFER_BIT = 1 << 7
00405 };
00406
00408 inline BufferMask operator|(BufferMask lhs, BufferMask rhs)
00409 { return static_cast<BufferMask>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs)); }
00410
00412 inline BufferMask operator&(BufferMask lhs, BufferMask rhs)
00413 { return static_cast<BufferMask>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs)); }
00414
00416 inline BufferMask operator^(BufferMask lhs, BufferMask rhs)
00417 { return static_cast<BufferMask>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs)); }
00418
00420 inline BufferMask operator~(BufferMask flags)
00421 { return static_cast<BufferMask>(~static_cast<unsigned>(flags)); }
00422
00424 inline BufferMask& operator|=(BufferMask& lhs, BufferMask rhs)
00425 { return (lhs = static_cast<BufferMask>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs))); }
00426
00428 inline BufferMask& operator&=(BufferMask& lhs, BufferMask rhs)
00429 { return (lhs = static_cast<BufferMask>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs))); }
00430
00432 inline BufferMask& operator^=(BufferMask& lhs, BufferMask rhs)
00433 { return (lhs = static_cast<BufferMask>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs))); }
00434
00435 }
00436
00437 }
00438
00439
00440 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00441 namespace Glib
00442 {
00443
00444 template <>
00445 class Value<Gdk::GL::BufferMask> : public Glib::Value_Flags<Gdk::GL::BufferMask>
00446 {
00447 public:
00448 static GType value_type() G_GNUC_CONST;
00449 };
00450
00451 }
00452 #endif
00453
00454
00455 namespace Gdk
00456 {
00457
00458 namespace GL
00459 {
00460
00461
00465 enum ConfigError
00466 {
00467 BAD_SCREEN = 1,
00468 BAD_ATTRIBUTE,
00469 NO_EXTENSION,
00470 BAD_VISUAL,
00471 BAD_CONTEXT,
00472 BAD_VALUE,
00473 BAD_ENUM
00474 };
00475
00476 }
00477
00478 }
00479
00480
00481 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00482 namespace Glib
00483 {
00484
00485 template <>
00486 class Value<Gdk::GL::ConfigError> : public Glib::Value_Enum<Gdk::GL::ConfigError>
00487 {
00488 public:
00489 static GType value_type() G_GNUC_CONST;
00490 };
00491
00492 }
00493 #endif
00494
00495
00496 namespace Gdk
00497 {
00498
00499 namespace GL
00500 {
00501
00502
00506 enum RenderType
00507 {
00508 RGBA_TYPE = 0x8014,
00509 COLOR_INDEX_TYPE = 0x8015
00510 };
00511
00512 }
00513
00514 }
00515
00516
00517 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00518 namespace Glib
00519 {
00520
00521 template <>
00522 class Value<Gdk::GL::RenderType> : public Glib::Value_Enum<Gdk::GL::RenderType>
00523 {
00524 public:
00525 static GType value_type() G_GNUC_CONST;
00526 };
00527
00528 }
00529 #endif
00530
00531
00532 namespace Gdk
00533 {
00534
00535 namespace GL
00536 {
00537
00538
00542 enum DrawableAttrib
00543 {
00544 PRESERVED_CONTENTS = 0x801B,
00545 LARGEST_PBUFFER = 0x801C,
00546 WIDTH = 0x801D,
00547 HEIGHT = 0x801E,
00548 EVENT_MASK = 0x801F
00549 };
00550
00551 }
00552
00553 }
00554
00555
00556 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00557 namespace Glib
00558 {
00559
00560 template <>
00561 class Value<Gdk::GL::DrawableAttrib> : public Glib::Value_Enum<Gdk::GL::DrawableAttrib>
00562 {
00563 public:
00564 static GType value_type() G_GNUC_CONST;
00565 };
00566
00567 }
00568 #endif
00569
00570
00571 namespace Gdk
00572 {
00573
00574 namespace GL
00575 {
00576
00577
00581 enum PbufferAttrib
00582 {
00583 PBUFFER_PRESERVED_CONTENTS = 0x801B,
00584 PBUFFER_LARGEST_PBUFFER = 0x801C,
00585 PBUFFER_HEIGHT = 0x8040,
00586 PBUFFER_WIDTH = 0x8041
00587 };
00588
00589 }
00590
00591 }
00592
00593
00594 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00595 namespace Glib
00596 {
00597
00598 template <>
00599 class Value<Gdk::GL::PbufferAttrib> : public Glib::Value_Enum<Gdk::GL::PbufferAttrib>
00600 {
00601 public:
00602 static GType value_type() G_GNUC_CONST;
00603 };
00604
00605 }
00606 #endif
00607
00608
00609 namespace Gdk
00610 {
00611
00612 namespace GL
00613 {
00614
00615
00627 enum EventMask
00628 {
00629 PBUFFER_CLOBBER_MASK = 1 << 27
00630 };
00631
00633 inline EventMask operator|(EventMask lhs, EventMask rhs)
00634 { return static_cast<EventMask>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs)); }
00635
00637 inline EventMask operator&(EventMask lhs, EventMask rhs)
00638 { return static_cast<EventMask>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs)); }
00639
00641 inline EventMask operator^(EventMask lhs, EventMask rhs)
00642 { return static_cast<EventMask>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs)); }
00643
00645 inline EventMask operator~(EventMask flags)
00646 { return static_cast<EventMask>(~static_cast<unsigned>(flags)); }
00647
00649 inline EventMask& operator|=(EventMask& lhs, EventMask rhs)
00650 { return (lhs = static_cast<EventMask>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs))); }
00651
00653 inline EventMask& operator&=(EventMask& lhs, EventMask rhs)
00654 { return (lhs = static_cast<EventMask>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs))); }
00655
00657 inline EventMask& operator^=(EventMask& lhs, EventMask rhs)
00658 { return (lhs = static_cast<EventMask>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs))); }
00659
00660 }
00661
00662 }
00663
00664
00665 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00666 namespace Glib
00667 {
00668
00669 template <>
00670 class Value<Gdk::GL::EventMask> : public Glib::Value_Flags<Gdk::GL::EventMask>
00671 {
00672 public:
00673 static GType value_type() G_GNUC_CONST;
00674 };
00675
00676 }
00677 #endif
00678
00679
00680 namespace Gdk
00681 {
00682
00683 namespace GL
00684 {
00685
00686
00690 enum EventType
00691 {
00692 DAMAGED = 0x8020,
00693 SAVED = 0x8021
00694 };
00695
00696 }
00697
00698 }
00699
00700
00701 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00702 namespace Glib
00703 {
00704
00705 template <>
00706 class Value<Gdk::GL::EventType> : public Glib::Value_Enum<Gdk::GL::EventType>
00707 {
00708 public:
00709 static GType value_type() G_GNUC_CONST;
00710 };
00711
00712 }
00713 #endif
00714
00715
00716 namespace Gdk
00717 {
00718
00719 namespace GL
00720 {
00721
00722
00726 enum DrawableType
00727 {
00728 WINDOW = 0x8022,
00729 PBUFFER = 0x8023
00730 };
00731
00732 }
00733
00734 }
00735
00736
00737 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00738 namespace Glib
00739 {
00740
00741 template <>
00742 class Value<Gdk::GL::DrawableType> : public Glib::Value_Enum<Gdk::GL::DrawableType>
00743 {
00744 public:
00745 static GType value_type() G_GNUC_CONST;
00746 };
00747
00748 }
00749 #endif
00750
00751
00752 namespace Gdk
00753 {
00754
00755 namespace GL
00756 {
00757
00758
00759 }
00760 }
00761
00762 #endif
00763