Changeset 43

Show
Ignore:
Timestamp:
11/12/08 02:12:31 (4 years ago)
Author:
trevorparscal
Message:

Source reformatting.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/src/uni/app/Application.d

    r20 r43  
    11/+ 
    22 
    3    Copyright (c) 2008, Trevor Parscal 
    4      
    5    Module:    uni.app.Application 
     3 Copyright (c) 2008, Trevor Parscal 
     4  
     5 Module:  uni.app.Application 
    66 
    7 +/ 
     7 +/ 
    88 
    99module uni.app.Application; 
    1010 
    1111/* Interfaces */ 
    12 interface IApplication 
    13 
     12interface IApplication { 
    1413    // Properties and States 
    1514    bool active(); 
    16      
     15 
    1716    // Functions 
    1817    void rest(); 
  • trunk/src/uni/app/Event.d

    r20 r43  
    11/+ 
    22 
    3    Copyright (c) 2008, Trevor Parscal 
    4      
    5    Module:    uni.app.Event 
    6  
    7 +/ 
     3 Copyright (c) 2008, Trevor Parscal 
     4  
     5 Module:  uni.app.Event 
     6 
     7 +/ 
    88 
    99module uni.app.Event; 
    1010 
    1111/* Aliases */ 
    12 alias void delegate() Slot; 
    13 alias void delegate(SignalMeta) MetaSlot; 
     12alias void delegate () Slot; 
     13alias void delegate ( SignalMeta ) MetaSlot; 
    1414 
    1515/* Structures */ 
    16 struct SignalMeta 
    17 
     16struct SignalMeta { 
    1817    /* Members */ 
    19     public 
    20     { 
    21         union 
    22         { 
     18    public { 
     19        union { 
    2320            private int _a; 
    2421            int x; 
    2522            int width; 
    2623        } 
    27         union 
    28        
     24 
     25        union
    2926            private int _b; 
    3027            int y; 
    3128            int height; 
    3229        } 
    33         union 
    34        
     30 
     31        union
    3532            private int _c; 
    3633            int wheel; 
     
    3835            int code; 
    3936        } 
    40         union 
    41        
     37 
     38        union
    4239            private bool _d; 
    4340            bool pressed; 
    4441        } 
    45         union 
    46        
     42 
     43        union
    4744            private wchar _e; 
    4845            wchar character; 
    4946        } 
     47 
    5048        char[] type; 
    5149    } 
    52      
     50 
    5351    /* Functions */ 
    54     public 
    55     { 
    56         static SignalMeta opCall(int a, int b, int c = 0, bool d = false, wchar e = 0) 
    57         { 
     52    public { 
     53        static SignalMeta opCall( int a, int b, int c = 0, bool d = false, 
     54            wchar e = 0 ) { 
    5855            SignalMeta meta; 
    5956            meta._a = a; 
     
    6461            return meta; 
    6562        } 
    66         static SignalMeta opCall() 
    67        
     63 
     64        static SignalMeta opCall()
    6865            SignalMeta meta; 
    6966            return meta; 
     
    7370 
    7471/* Classes */ 
    75 class Publisher 
    76 
     72class Publisher { 
    7773    /* Members */ 
    78     protected 
    79     { 
    80         Slot[][char[]] _signals; 
    81         MetaSlot[][char[]] _metaSignals; 
     74    protected { 
     75        Slot[][ char[] ] _signals; 
     76        MetaSlot[][ char[] ] _metaSignals; 
    8277        MetaSlot[] _allSignals; 
    8378    } 
    84      
     79 
    8580    /* Functions */ 
    86     public 
    87     { 
    88         void subscribe(char[] signal, Slot slot) 
    89         { 
    90             this._signals[signal] ~= slot; 
    91         } 
    92          
    93          
    94         void subscribe(char[] signal, MetaSlot slot) 
    95         { 
    96             this._metaSignals[signal] ~= slot; 
    97         } 
    98          
    99          
    100         void subscribe(MetaSlot slot) 
    101         { 
     81    public { 
     82        void subscribe( char[] signal, Slot slot ) { 
     83            this._signals[ signal ] ~= slot; 
     84        } 
     85 
     86        void subscribe( char[] signal, MetaSlot slot ) { 
     87            this._metaSignals[ signal ] ~= slot; 
     88        } 
     89 
     90        void subscribe( MetaSlot slot ) { 
    10291            this._allSignals ~= slot; 
    10392        } 
    104          
    105          
    106         void publish(char[] signal, SignalMeta meta) 
    107         { 
     93 
     94        void publish( char[] signal, SignalMeta meta ) { 
    10895            // Meta-enhanced subscribers 
    10996            MetaSlot[]* metaSlots = (signal in this._metaSignals); 
    110             if(metaSlots != null) 
    111             { 
    112                 foreach(slot; *metaSlots) 
    113                 { 
    114                     slot(meta); 
     97            if ( metaSlots != null ) { 
     98                foreach ( slot; *metaSlots ) { 
     99                    slot( meta ); 
    115100                } 
    116101            } 
    117102            // Basic subscribers 
    118103            Slot[]* slots = (signal in this._signals); 
    119             if(slots != null) 
    120             { 
    121                 foreach(slot; *slots) 
    122                 { 
     104            if ( slots != null ) { 
     105                foreach ( slot; *slots ) { 
    123106                    slot(); 
    124107                } 
     
    126109            // All signal subscribers 
    127110            meta.type = signal; 
    128             foreach(slot; this._allSignals) 
    129             { 
    130                 slot(meta); 
     111            foreach ( slot; this._allSignals ) { 
     112                slot( meta ); 
    131113            } 
    132114        } 
     
    134116} 
    135117 
    136  
    137 enum Key 
    138 
     118enum Key { 
    139119    // Function Keys 
    140120    F1, 
  • trunk/src/uni/app/Window.d

    r29 r43  
    11/+ 
    22 
    3    Copyright (c) 2008, Trevor Parscal 
    4      
    5    Module:    uni.app.Window 
     3 Copyright (c) 2008, Trevor Parscal 
     4  
     5 Module:  uni.app.Window 
    66 
    7 +/ 
     7 +/ 
    88 
    99module uni.app.Window; 
    1010 
    1111/* Interfaces */ 
    12 interface IWindow 
    13 
     12interface IWindow { 
    1413    // Properties and States 
    1514    wchar[] name(); 
     15 
    1616    int width(); 
     17 
    1718    int height(); 
     19 
    1820    int x(); 
     21 
    1922    int y(); 
     23 
    2024    bool alive(); 
     25 
    2126    bool active(); 
     27 
    2228    bool enabled(); 
     29 
    2330    bool visible(); 
     31 
    2432    bool sizing(); 
     33 
    2534    bool moving(); 
     35 
    2636    bool dragging(); 
    27      
     37 
    2838    // Functions 
    2939    bool interact(); 
     40 
    3041    void begin(); 
     42 
    3143    void end(); 
     44 
    3245    void fullScreen(); 
     46 
    3347    void desktop(); 
     48 
    3449    void minimize(); 
     50 
    3551    void maximize(); 
     52 
    3653    void restore(); 
     54 
    3755    void hide(); 
     56 
    3857    void show(); 
    39     void move(int x, int y); 
    40     void size(int width, int height); 
    41     void rename(wchar[] name); 
    42     void cursor(bool state); 
    43     void cursor(int x, int y); 
     58 
     59    void move( int x, int y ); 
     60 
     61    void size( int width, int height ); 
     62 
     63    void rename( wchar[] name ); 
     64 
     65    void cursor( bool state ); 
     66 
     67    void cursor( int x, int y ); 
     68 
    4469    void raise(); 
     70 
    4571    void lower(); 
    46     void notify(bool state = true); 
     72 
     73    void notify( bool state = true ); 
     74 
    4775    void paint(); 
    4876} 
  • trunk/src/uni/app/platforms/linux/Application.d

    r20 r43  
    11/+ 
    22 
    3    Copyright (c) 2008, Trevor Parscal 
    4      
    5    Module:    Platform Specifics for Linux and other X based operating systems 
     3 Copyright (c) 2008, Trevor Parscal 
     4  
     5 Module:  Platform Specifics for Linux and other X based operating systems 
    66 
    7 +/ 
     7 +/ 
    88 
    99module uni.app.platforms.linux.Application; 
    1010 
    1111/* Imports */ 
     12 
    1213import uni.app.Application; 
    1314import uni.app.Event; 
     
    1920 
    2021/* Members */ 
    21 package 
    22 
     22 
     23package
    2324    PlatformApplication application; 
    2425} 
    2526 
    2627/* Classes */ 
    27 class PlatformApplication : Publisher, IApplication 
    28 
     28 
     29class PlatformApplication : Publisher, IApplication { 
     30     
     31     
    2932    /* Members */ 
    30     private 
    31    
     33 
     34    private
    3235        Display* _display; 
    3336    } 
    34     package 
    35    
     37 
     38    package
    3639        bool _active; 
    3740    } 
    38      
     41 
    3942    /* Properties */ 
    40     public 
    41     { 
    42         Display* display() 
    43         { 
     43 
     44    public { 
     45        Display* display() { 
    4446            return this._display; 
    4547        } 
    46         bool active() 
    47        
     48 
     49        bool active()
    4850            return this._active; 
    4951        } 
    5052    } 
    51      
     53 
    5254    /* Functions */ 
    53     public 
    54     { 
    55         this() 
    56         { 
    57             if(application !is null) 
    58                 throw new Exception(__FILE__ ~ " : Application already initialized."); 
    59             this._display = XOpenDisplay(null); //Open default display 
    60             if(this._display is null) 
    61                 throw new Exception(__FILE__ ~ " : XOpenDisplay failed."); 
     55 
     56    public { 
     57        this() { 
     58            if ( application !is null ) { 
     59                throw new Exception( 
     60                    __FILE__ ~ " : Application already initialized." ); 
     61            } 
     62            // Open default display 
     63            this._display = XOpenDisplay( null ); 
     64            if ( this._display is null ) { 
     65                throw new Exception( __FILE__ ~ " : XOpenDisplay failed." ); 
     66            } 
    6267            this._active = true; 
    6368            application = this; 
    6469        } 
    65          
    66         ~this() 
    67         { 
     70 
     71        ~this() { 
    6872            application = null; 
    69             XCloseDisplay(this._display); //close the display 
     73            // Close the display 
     74            XCloseDisplay( this._display ); 
    7075        } 
    71          
    72         bool interact() 
    73         { 
    74             bool running = windowTable.length > 0; 
    75             foreach(window; windowTable) 
    76             { 
    77                 if(!window.interact) running = false; 
     76 
     77        bool interact() { 
     78           bool running = (windowTable.length > 0); 
     79            foreach ( window; windowTable ) { 
     80               if ( !window.interact ) { 
     81                   running = false; 
     82                } 
    7883            } 
    7984            return running; 
    8085        } 
    81          
    82         void rest() 
    83         { 
     86 
     87        void rest() { 
    8488            XEvent report; 
    85             XPeekEvent(this._display, &report); 
     89            XPeekEvent( this._display, &report ); 
    8690        } 
    8791    } 
  • trunk/src/uni/app/platforms/linux/Event.d

    r20 r43  
    11/+ 
    22 
    3    Copyright (c) 2008, Trevor Parscal 
    4      
    5    Module:    Platform Specifics for Linux and other X based operating systems 
     3 Copyright (c) 2008, Trevor Parscal 
     4  
     5 Module:  Platform Specifics for Linux and other X based operating systems 
    66 
    7 +/ 
     7 +/ 
    88 
    99module uni.app.platforms.linux.Event; 
    1010 
    1111/* Imports */ 
     12 
    1213import uni.app.Event; 
    1314import uni.app.platforms.linux.Window; 
  • trunk/src/uni/app/platforms/linux/Window.d

    r36 r43  
    11/+ 
    22 
    3    Copyright (c) 2008, Trevor Parscal 
    4      
    5    Module:    Platform Specifics for Linux and other X based operating systems 
    6  
    7 +/ 
     3 Copyright (c) 2008, Trevor Parscal 
     4  
     5 Module:  Platform Specifics for Linux and other X based operating systems 
     6 
     7 +/ 
    88 
    99module uni.app.platforms.linux.Window; 
    1010 
    1111/* Imports */ 
     12 
    1213import uni.app.Window; 
    1314import uni.app.Event; 
     
    2021 
    2122/* Cofiguration */ 
    22 private 
    23 
     23 
     24private
    2425    // X11 doesn't handle default window positioning, but rather 
    2526    // the window manager does, so unless we can interface with 
     
    2930    const int DEFAULT_X = 100; 
    3031    const int DEFAULT_Y = 100; 
     32     
     33     
    3134    // These are the ONLY events that will be processed 
    32     const EventMask EVENT_MASKS = 
    33         NoEventMask | 
    34         KeyPressMask | 
    35         KeyReleaseMask | 
    36         ButtonPressMask | 
    37         ButtonReleaseMask | 
    38         EnterWindowMask | 
    39         LeaveWindowMask | 
    40         PointerMotionMask | 
    41         PointerMotionHintMask | 
    42         Button1MotionMask | 
    43         Button2MotionMask | 
    44         Button3MotionMask | 
    45         Button4MotionMask | 
    46         Button5MotionMask | 
    47         ButtonMotionMask | 
    48         KeymapStateMask | 
    49         ExposureMask | 
    50         VisibilityChangeMask | 
    51         StructureNotifyMask | 
    52         ResizeRedirectMask | 
    53         SubstructureNotifyMask | 
    54         SubstructureRedirectMask | 
    55         FocusChangeMask | 
    56         PropertyChangeMask | 
    57         ColormapChangeMask | 
    58         OwnerGrabButtonMask; 
     35    const EventMask 
     36        EVENT_MASKS = NoEventMask | KeyPressMask | KeyReleaseMask | ButtonPressMask | ButtonReleaseMask | EnterWindowMask | LeaveWindowMask | PointerMotionMask | PointerMotionHintMask | Button1MotionMask | Button2MotionMask | Button3MotionMask | Button4MotionMask | Button5MotionMask | ButtonMotionMask | KeymapStateMask | ExposureMask | VisibilityChangeMask | StructureNotifyMask | ResizeRedirectMask | SubstructureNotifyMask | SubstructureRedirectMask | FocusChangeMask | PropertyChangeMask | ColormapChangeMask | OwnerGrabButtonMask; 
    5937} 
    6038 
    6139/* Members */ 
    62 package 
    63 
    64     PlatformWindow[Window] windowTable; 
     40 
     41package
     42    PlatformWindow[ Window ] windowTable; 
    6543} 
    6644 
    6745/* Functions */ 
    68 package 
    69 
    70     PlatformWindow lookupWindow(Window handle) 
    71     { 
     46 
     47package { 
     48    PlatformWindow lookupWindow( Window handle ) { 
    7249        PlatformWindow* window = (handle in windowTable); 
    73         if(window != null) return *window; 
     50        if ( window != null ) { 
     51            return *window; 
     52        } 
    7453        return null; 
    7554    } 
     
    7756 
    7857/* Classes */ 
    79 class PlatformWindow : Publisher, IWindow 
    80 
     58 
     59class PlatformWindow : Publisher, IWindow { 
     60     
     61     
    8162    /* Members */ 
    82     private 
    83    
     63 
     64    private
    8465        wchar[] _name = "UniD Window"; 
    85         int _x, _y, _width, _height; 
     66        int _x; 
     67        int _y; 
     68        int _width; 
     69        int _height; 
    8670        bool _alive; 
     71         
     72         
    8773        // Recycled return data 
    8874        XWindowAttributes _info; 
    8975        XEvent _junk; 
    90         Window _root, _child; 
     76        Window _handle; 
     77        Window _root; 
     78        Window _child; 
     79        int _windowX; 
     80        int _windowY; 
     81        int _rootX; 
     82        int _rootY; 
    9183        uint _mask; 
    92         int _rootX, _rootY, _windowX, _windowY; 
    93         Window _handle; 
    94     } 
    95     package 
    96     { 
     84    } 
     85 
     86    package { 
    9787        bool _active; 
    9888        bool _enabled; 
     
    10292        bool _dragging; 
    10393    } 
    104      
     94 
    10595    /* Properties */ 
    106     public 
    107     { 
    108         Window handle() 
    109         { 
     96 
     97    public { 
     98        Window handle() { 
    11099            return this._handle; 
    111100        } 
    112         wchar[] name() 
    113        
     101 
     102        wchar[] name()
    114103            return this._name; 
    115104        } 
    116         int width() 
    117        
     105 
     106        int width()
    118107            return this._width; 
    119108        } 
    120         int height() 
    121        
     109 
     110        int height()
    122111            return this._height; 
    123112        } 
    124         int x() 
    125        
     113 
     114        int x()
    126115            return this._x; 
    127116        } 
    128         int y() 
    129        
     117 
     118        int y()
    130119            return this._y; 
    131120        } 
    132         bool alive() 
    133        
     121 
     122        bool alive()
    134123            return this._alive; 
    135124        } 
    136         bool active() 
    137        
     125 
     126        bool active()
    138127            return this._active; 
    139128        } 
    140         bool enabled() 
    141        
     129 
     130        bool enabled()
    142131            return this._enabled; 
    143132        } 
    144         bool visible() 
    145        
     133 
     134        bool visible()
    146135            return this._visible; 
    147136        } 
    148         bool sizing() 
    149        
     137 
     138        bool sizing()
    150139            return this._sizing; 
    151140        } 
    152         bool moving() 
    153        
     141 
     142        bool moving()
    154143            return this._moving; 
    155144        } 
    156         bool dragging() 
    157        
     145 
     146        bool dragging()
    158147            return this._dragging; 
    159148        } 
    160149    } 
    161      
     150 
    162151    /* Functions */ 
    163     package 
    164     { 
    165         void describe() 
    166         { 
     152 
     153    package { 
     154        void describe() { 
    167155            // Get the dimensions of the window 
    168             XGetWindowAttributes(application.display, this._handle, &this._info); 
     156            XGetWindowAttributes( application.display, this._handle, 
     157                &this._info ); 
    169158            this._x = this._info.x; 
    170159            this._y = this._info.y; 
     
    173162        } 
    174163    } 
    175     public 
    176    
    177         this(wchar[] name, int width = -1, int height = -1, int x = -1, int y = -1) 
    178        
     164 
     165    public
     166        this( wchar[] name, int width = -1, int height = -1, int x = -1, 
     167           int y = -1 )
    179168            this._name = name; 
    180             this._handle = XCreateSimpleWindow( 
    181                 application.display, 
    182                 DefaultRootWindow(application.display), 
    183                 x >= 0 ? x : DEFAULT_X, 
    184                 y >= 0 ? y : DEFAULT_Y, 
     169            this._handle = XCreateSimpleWindow( application.display, 
     170                DefaultRootWindow( application.display ), 
     171                x >= 0 ? x : DEFAULT_X, y >= 0 ? y : DEFAULT_Y, 
    185172                width >= 0 ? width : DEFAULT_WIDTH, 
    186                 height >= 0 ? height : DEFAULT_HEIGHT, 
    187                0, 0x0, 0x00000000 
    188             ); 
    189             XSelectInput(application.display, this._handle, EVENT_MASKS); 
    190             XMapWindow(application.display, this._handle); 
    191             XRaiseWindow(application.display, this._handle); 
    192             //XStoreName(application.display, this._handle, toStringz(name)); 
    193             XFlush(application.display); 
     173                height >= 0 ? height : DEFAULT_HEIGHT, 0, 0x0, 0x00000000 ); 
     174             
     175            XSelectInput( application.display, this._handle, EVENT_MASKS ); 
     176            XMapWindow( application.display, this._handle ); 
     177            XRaiseWindow( application.display, this._handle ); 
     178            //XStoreName( application.display, this._handle, toStringz( name ) ); 
     179            XFlush( application.display ); 
     180             
    194181            this.describe(); 
    195             windowTable[this._handle] = this; 
     182            windowTable[ this._handle ] = this; 
    196183            this._alive = true; 
    197184        } 
    198          
    199         ~this() 
    200         { 
     185 
     186        ~this() { 
    201187            this._alive = false; 
    202             XUnmapWindow(application.display, this._handle); 
    203             XDestroyWindow(application.display, this._handle); 
    204             windowTable.remove(this._handle); 
    205         } 
    206          
    207         bool interact() 
    208         { 
    209             // poll and dispatch events 
     188            XUnmapWindow( application.display, this._handle ); 
     189            XDestroyWindow( application.display, this._handle ); 
     190            windowTable.remove( this._handle ); 
     191        } 
     192 
     193        bool interact() { 
     194            // Poll and dispatch events 
    210195            XEvent event; 
    211196            bool paint; 
    212             while(XCheckWindowEvent(application.display, this._handle, EVENT_MASKS, &event)) 
    213             { 
    214                 switch(event.type) 
    215                 { 
     197            while ( XCheckWindowEvent( application.display, this._handle, 
     198                EVENT_MASKS, &event ) ) { 
     199                switch ( event.type ) { 
    216200                    case ConfigureNotify: 
    217201                        describe; 
     
    220204                    case MotionNotify: 
    221205                        // Get rid of any other pending motion notifications 
    222                         while(XCheckTypedEvent(application.display, MotionNotify, &this._junk)) { } 
     206                        while ( XCheckTypedEvent( application.display, 
     207                            MotionNotify, &this._junk ) ) { 
     208                        } 
    223209                        // Get mouse position 
    224                         XQueryPointer(application.display, this._handle, &this._root, &this._child, 
    225                                         &this._rootX, &this._rootY, &this._windowX, &this._windowY, &this._mask); 
    226                         publish("mouse.move", SignalMeta(this._windowX, this._windowY)); 
     210                        XQueryPointer( application.display, this._handle, 
     211                            &this._root, &this._child, &this._rootX, 
     212                            &this._rootY, &this._windowX, &this._windowY, 
     213                            &this._mask ); 
     214                        publish( "mouse.move", SignalMeta( this._windowX, 
     215                            this._windowY ) ); 
    227216                        break; 
    228217                    case ButtonRelease: 
    229218                    case ButtonPress: 
    230                         publish("mouse.button", SignalMeta(event.xbutton.x, event.xbutton.y, 
    231                                                             event.xbutton.button, (event.type == ButtonPress))); 
     219                        publish( "mouse.button", SignalMeta( event.xbutton.x, 
     220                            event.xbutton.y, event.xbutton.button, 
     221                            (event.type == ButtonPress) ) ); 
    232222                        break; 
    233223                    case KeyPress: 
    234224                    case KeyRelease: 
    235225                        /* 
    236                             char buf; 
    237                             KeySym ks; 
    238                             XLookupString(&event.key, &buf, 1, &ks, NULL); 
    239                             // ks is now one of X key types (ie XK_F1 or just 'a' for a) 
    240                             switch (ks) 
    241                            
    242                                 // do keyboard things here 
    243                            
    244                         */ 
    245                         publish("key", SignalMeta(event.xkey.x, event.xkey.y, event.xkey.keycode
    246                                                    (event.type == KeyPress))); 
     226                        char buf; 
     227                        KeySym ks; 
     228                        XLookupString(&event.key, &buf, 1, &ks, NULL); 
     229                        // ks is now one of X key types (ie XK_F1 or just 'a' for a) 
     230                        switch (ks) 
     231                       
     232                        // do keyboard things here 
     233                       
     234                        */ 
     235                        publish( "key", SignalMeta( event.xkey.x, event.xkey.y
     236                            event.xkey.keycode, (event.type == KeyPress) ) ); 
    247237                        break; 
    248238                    case Expose: 
     
    250240                        paint = true; 
    251241                        break; 
    252                     default: break; 
     242                    default: 
     243                        break; 
    253244                } 
    254245            } 
    255             if(paint) this.publish("paint", SignalMeta()); 
     246            if ( paint ) 
     247                this.publish( "paint", SignalMeta() ); 
    256248            return true; 
    257249        } 
    258          
    259         void begin() 
    260         { 
    261             // For graphics engines that use state like OpenGL 
    262         } 
    263          
    264         void end() 
    265         { 
     250 
     251        void begin() { 
     252        // For graphics engines that use state like OpenGL 
     253        } 
     254 
     255        void end() { 
    266256            // swap buffers 
    267             XFlush(application.display); 
    268         } 
    269          
    270         void fullScreen() 
    271         { 
    272             // go fullscreen 
    273         } 
    274          
    275         void desktop() 
    276         { 
    277             // go back to a desktop window 
    278         } 
    279          
    280         void minimize() 
    281         { 
    282             // iconify 
    283         } 
    284          
    285         void maximize() 
    286         { 
    287             // maximize 
    288         } 
    289          
    290         void restore() 
    291         { 
    292             // restore 
    293         } 
    294          
    295         void hide() 
    296         { 
    297             // hide 
    298         } 
    299          
    300         void show() 
    301         { 
    302             // show 
    303         } 
    304          
    305         void enable() 
    306         { 
    307             // enable 
    308         } 
    309          
    310         void disable() 
    311         { 
    312             // diable 
    313         } 
    314          
    315         void move(int x, int y) 
    316         { 
    317             // move to x,y 
    318         } 
    319          
    320         void size(int width, int height) 
    321         { 
    322             // size to width,height 
    323         } 
    324          
    325         void rename(wchar[] name) 
    326         { 
    327             // rename to name 
    328         } 
    329          
    330         void cursor(bool state) 
    331         { 
    332             // show/hide cursor 
    333         } 
    334          
    335         void cursor(int x, int y) 
    336         { 
    337             // warp cursor 
    338         } 
    339          
    340         void raise() 
    341         { 
    342             // raise window 
    343         } 
    344          
    345         void lower() 
    346         { 
    347             // lower window 
    348         } 
    349          
    350         void notify(bool state = true) 
    351         { 
    352             // make the icon get attention 
    353         } 
    354          
    355         void paint() 
    356         { 
     257            XFlush( application.display ); 
     258        } 
     259 
     260        void fullScreen() { 
     261        // go fullscreen 
     262        } 
     263 
     264        void desktop() { 
     265        // go back to a desktop window 
     266        } 
     267 
     268        void minimize() { 
     269        // iconify 
     270        } 
     271 
     272        void maximize() { 
     273        // maximize 
     274        } 
     275 
     276        void restore() { 
     277        // restore 
     278        } 
     279 
     280        void hide() { 
     281        // hide 
     282        } 
     283 
     284        void show() { 
     285        // show 
     286        } 
     287 
     288        void enable() { 
     289        // enable 
     290        } 
     291 
     292        void disable() { 
     293        // diable 
     294        } 
     295 
     296        void move( int x, int y ) { 
     297        // move to x,y 
     298        } 
     299 
     300        void size( int width, int height ) { 
     301        // size to width,height 
     302        } 
     303 
     304        void rename( wchar[] name ) { 
     305        // rename to name 
     306        } 
     307 
     308        void cursor( bool state ) { 
     309        // show/hide cursor 
     310        } 
     311 
     312        void cursor( int x, int y ) { 
     313        // warp cursor 
     314        } 
     315 
     316        void raise() { 
     317        // raise window 
     318        } 
     319 
     320        void lower() { 
     321        // lower window 
     322        } 
     323 
     324        void notify( bool state = true ) { 
     325        // make the icon get attention 
     326        } 
     327 
     328        void paint() { 
    357329            XEvent event; 
    358330            event.type = Expose; 
    359331            event.xexpose.display = application.display; 
    360332            event.xexpose.window = this._handle; 
    361             if(!XSendEvent(application.display, this._handle, False, ExposureMask, &event)) 
    362                 throw new Exception(__FILE__ ~ " : XSendEvent failed."); 
    363         } 
    364     } 
    365 
    366  
    367 class OpenGLWindow : PlatformWindow 
    368 
     333            if ( !XSendEvent( application.display, this._handle, False, 
     334                ExposureMask, &event ) ) { 
     335                throw new Exception( __FILE__ ~ " : XSendEvent failed." ); 
     336            } 
     337        } 
     338    } 
     339
     340 
     341class OpenGLWindow : PlatformWindow { 
    369342    /* Members */ 
    370     private 
    371     { 
     343    private { 
    372344        GLXContext _opengl; 
    373345    } 
    374      
     346 
    375347    /* Functions */ 
    376     public 
    377     { 
    378         this(wchar[] name, int width = -1, int height = -1, int x = -1, int y = -1) 
    379         { 
    380             super(name, width, height, x, y); 
     348    public { 
     349       this( wchar[] name, int width = -1, int height = -1, int x = -1, 
     350           int y = -1 ) { 
     351           super( name, width, height, x, y ); 
     352             
    381353             
    382354            // Setup OpenGL 
    383355            XVisualInfo visualInfo; 
    384             if(!XMatchVisualInfo(application.display, DefaultScreen(application.display), 
    385                                  DefaultDepth(application.display, DefaultScreen(application.display)), 
    386                                  DefaultVisual(application.display, DefaultScreen(application.display))._class, 
    387                                  &visualInfo)) 
    388                 throw new Exception(__FILE__ ~ " : XMatchVisualInfo failed."); 
    389              
    390             this._opengl = glXCreateContext(application.display, &visualInfo, null, True); 
    391             if(!this._opengl) 
    392                 throw new Exception(__FILE__ ~ " : glXCreateContext failed."); 
    393         } 
    394          
    395         ~this() 
    396         { 
    397             if(this._opengl is null) 
    398                 throw new Exception(__FILE__ ~ " : glXDestroyContext called again?"); 
    399             glXDestroyContext(application.display, this._opengl); 
     356            if ( !XMatchVisualInfo( application.display, DefaultScreen( 
     357                application.display ), DefaultDepth( application.display, 
     358                DefaultScreen( application.display ) ), 
     359                DefaultVisual( application.display, DefaultScreen( 
     360                    application.display ) )._class, &visualInfo ) ) { 
     361                throw new Exception( __FILE__ ~ " : XMatchVisualInfo failed." ); 
     362            } 
     363             
     364            this._opengl = glXCreateContext( application.display, &visualInfo, 
     365                null, True ); 
     366            if ( !this._opengl ) { 
     367                throw new Exception( __FILE__ ~ " : glXCreateContext failed." ); 
     368            } 
     369        } 
     370 
     371        ~this() { 
     372            if ( this._opengl is null ) { 
     373                throw new Exception( 
     374                    __FILE__ ~ " : glXDestroyContext called again?" ); 
     375            } 
     376            glXDestroyContext( application.display, this._opengl ); 
    400377            this._opengl = null; 
    401378        } 
    402          
    403         void begin() 
    404         { 
    405             if(!glXMakeCurrent(application.display, this._handle, this._opengl)) 
    406                throw new Exception(__FILE__ ~ " : glXMakeCurrent failed."); 
    407        
    408          
    409         void end() 
    410        
    411             glXSwapBuffers(application.display, this._handle); 
    412         } 
    413     } 
    414 } 
     379 
     380        void begin() { 
     381           if ( !glXMakeCurrent( application.display, this._handle, 
     382               this._opengl ) ) { 
     383               throw new Exception( __FILE__ ~ " : glXMakeCurrent failed." ); 
     384           
     385        } 
     386 
     387        void end()
     388            glXSwapBuffers( application.display, this._handle ); 
     389        } 
     390    } 
     391} 
  • trunk/src/uni/app/platforms/mac/Application.d

    r38 r43  
    11/+ 
    22 
    3    Copyright (c) 2008, Trevor Parscal 
    4      
    5    Module:    Platform Specifics for MacOS 
     3 Copyright (c) 2008, Trevor Parscal 
     4  
     5 Module:  Platform Specifics for MacOS 
    66 
    7 +/ 
     7 +/ 
    88 
    99module uni.app.platforms.mac.Application; 
    1010 
    1111/* Imports */ 
    12    import uni.app.Application; 
    13    import uni.app.Event; 
    14    import uni.app.platforms.mac.Window; 
    15    import uni.app.platforms.mac.Event; 
    16    import uni.group.system; 
    17    import tango.stdc.stringz; 
     12import uni.app.Application; 
     13import uni.app.Event; 
     14import uni.app.platforms.mac.Window; 
     15import uni.app.platforms.mac.Event; 
     16import uni.group.system; 
     17import tango.stdc.stringz; 
    1818 
    1919/* Members */ 
    20 package 
    21 
     20package { 
    2221    PlatformApplication application; 
    2322} 
    2423 
    2524/* Classes */ 
    26 class PlatformApplication : Publisher, IApplication 
    27 
     25class PlatformApplication : Publisher, IApplication { 
    2826    /* Members */ 
    29     private 
    30     { 
    31         // application instance? 
     27    private { 
     28    // application instance? 
    3229    } 
    33     package 
    34    
     30 
     31    package
    3532        bool _active; 
    3633    } 
    37      
     34 
    3835    /* Properties */ 
    39     public 
    40     { 
     36    public { 
    4137        /+ 
    42         HINSTANCE instance() 
    43         { 
    44             return this._instance; 
    45         } 
    46         +/ 
    47         bool active() 
    48         { 
     38         HINSTANCE instance() 
     39         { 
     40         return this._instance; 
     41         } 
     42         +/ 
     43        bool active() { 
    4944            return this._active; 
    5045        } 
    5146    } 
    52      
     47 
    5348    /* Functions */ 
    54     public 
    55    
    56         this(
    57         { 
    58             if(application !is null) 
    59                throw new Exception(__FILE__ ~ " : Application already initialized."); 
     49    public { 
     50       this()
     51           if ( application !is null
     52               throw new Exception( 
     53                   __FILE__ ~ " : Application already initialized." ); 
     54             
    6055             
    6156            // initialize application 
     
    6459            application = this; 
    6560        } 
     61 
     62        ~this() { 
     63            application = null; 
    6664         
    67         ~this() 
    68         { 
    69             application = null; 
    70              
    71             // cleanup application 
     65         
     66        // cleanup application 
    7267        } 
    73          
    74         bool interact() 
    75         { 
     68 
     69        bool interact() { 
    7670            bool running = windowTable.length > 0; 
    77             foreach(window; windowTable) 
    78             { 
    79                 if(!window.interact) running = false; 
     71            foreach ( window; windowTable ) { 
     72               if ( !window.interact ) 
     73                   running = false; 
    8074            } 
    8175            return running; 
    8276        } 
    83          
    84         void rest() 
    85         { 
    86             // wait for messages 
     77 
     78        void rest() { 
     79        // wait for messages 
    8780        } 
    8881    } 
  • trunk/src/uni/app/platforms/mac/Event.d

    r5 r43  
    11/+ 
    22 
    3    Copyright (c) 2008, Trevor Parscal 
    4      
    5    Module:    Platform Specifics for MacOS 
     3 Copyright (c) 2008, Trevor Parscal 
     4  
     5 Module:  Platform Specifics for MacOS 
    66 
    7 +/ 
     7 +/ 
    88 
    99module uni.app.platforms.mac.Event; 
    1010 
    11 private 
    12 
     11private { 
    1312    /* Imports */ 
    1413    // UniApp 
  • trunk/src/uni/app/platforms/mac/Window.d

    r21 r43  
    11/+ 
    22 
    3    Copyright (c) 2008, Trevor Parscal 
    4      
    5    Module:    Platform Specifics for MacOS 
    6  
    7 +/ 
     3 Copyright (c) 2008, Trevor Parscal 
     4  
     5 Module:  Platform Specifics for MacOS 
     6 
     7 +/ 
    88 
    99module uni.app.platforms.mac.Window; 
     
    1616 
    1717/* Members */ 
    18 package 
    19 
    20     PlatformWindow[HWND] windowTable; 
     18package { 
     19    PlatformWindow[ HWND ] windowTable; 
    2120} 
    2221 
    2322/* Functions */ 
    24 package 
    25 
    26     PlatformWindow lookupWindow(HWND handle) 
    27     { 
     23package { 
     24    PlatformWindow lookupWindow( HWND handle ) { 
    2825        PlatformWindow* window = (handle in windowTable); 
    29         if(window != null) return *window; 
     26        if ( window != null ) 
     27            return *window; 
    3028        return null; 
    3129    } 
     
    3331 
    3432/* Classes */ 
    35 class PlatformWindow : Publisher, IWindow 
    36 
     33class PlatformWindow : Publisher, IWindow { 
    3734    /* Members */ 
    38     private 
    39     { 
     35    private { 
    4036        wchar[] _name = "UniD Window"; 
    4137        int _x, _y, _width, _height; 
    4238        bool _alive; 
    4339    } 
    44     protected 
    45    
    46        // window handle? 
    47        // window device? 
    48     } 
    49     package 
    50    
     40 
     41    protected
     42    // window handle? 
     43    // window device? 
     44    } 
     45 
     46    package
    5147        bool _active; 
    5248        bool _enabled; 
     
    5652        bool _dragging; 
    5753    } 
    58      
     54 
    5955    /* Properties */ 
    60     public 
    61     { 
     56    public { 
    6257        /+ 
    63         HWND handle() 
    64         { 
    65             return this._handle; 
    66         } 
    67         +/ 
    68         wchar[] name() 
    69         { 
     58         HWND handle() 
     59         { 
     60         return this._handle; 
     61         } 
     62         +/ 
     63        wchar[] name() { 
    7064            return this._name; 
    7165        } 
    72         bool alive() 
    73        
     66 
     67        bool alive()
    7468            return this._alive; 
    7569        } 
    76         bool active() 
    77        
     70 
     71        bool active()
    7872            return this._active; 
    7973        } 
    80         bool enabled() 
    81        
     74 
     75        bool enabled()
    8276            return this._enabled; 
    8377        } 
    84         bool visible() 
    85        
     78 
     79        bool visible()
    8680            return this._visible; 
    8781        } 
    88         bool sizing() 
    89        
     82 
     83        bool sizing()
    9084            return this._sizing; 
    9185        } 
    92         bool moving() 
    93        
     86 
     87        bool moving()
    9488            return this._moving; 
    9589        } 
    96         bool dragging() 
    97        
     90 
     91        bool dragging()
    9892            return this._dragging; 
    9993        } 
    10094    } 
    101      
     95 
    10296    /* Functions */ 
    103     public 
    104     { 
    105         this(wchar[] name, int width = -1, int height = -1, int x = -1, int y = -1) 
    106         { 
     97    public { 
     98        this( wchar[] name, int width = -1, int height = -1, int x = -1, 
     99            int y = -1 ) { 
    107100            this._name = name; 
    108101             
     102             
    109103            // create window 
    110104             
    111105            this.describe(); 
    112             windowTable[this._handle] = this; 
     106            windowTable[ this._handle ] = this; 
    113107            this._alive = true; 
    114108        } 
     109 
     110        ~this() { 
     111            this._alive = false; 
     112             
     113             
     114            // release window 
     115             
     116            windowTable.remove( this._handle ); 
     117        } 
     118 
     119        bool interact() { 
     120            // poll and dispatch events 
     121             
     122            return true; 
     123        } 
     124 
     125        void describe() { 
     126        // Get the dimensions of the window 
     127        } 
     128 
     129        void activate() { 
     130        // For graphics engines that use state like OpenGL 
     131        } 
     132 
     133        void flip() { 
     134        // swap buffers 
     135        } 
     136 
     137        void fullScreen() { 
     138        // go fullscreen 
     139        } 
     140 
     141        void desktop() { 
     142        // go back to a desktop window 
     143        } 
     144 
     145        void minimize() { 
     146        // iconify 
     147        } 
     148 
     149        void maximize() { 
     150        // maximize 
     151        } 
     152 
     153        void restore() { 
     154        // restore 
     155        } 
     156 
     157        void hide() { 
     158        // hide 
     159        } 
     160 
     161        void show() { 
     162        // show 
     163        } 
     164 
     165        void enable() { 
     166        // enable 
     167        } 
     168 
     169        void disable() { 
     170        // diable 
     171        } 
     172 
     173        void move( int x, int y ) { 
     174        // move to x,y 
     175        } 
     176 
     177        void size( int width, int height ) { 
     178        // size to width,height 
     179        } 
     180 
     181        void rename( wchar[] name ) { 
     182        // rename to name 
     183        } 
     184 
     185        void cursor( bool state ) { 
     186        // show/hide cursor 
     187        } 
     188 
     189        void cursor( int x, int y ) { 
     190        // warp cursor 
     191        } 
     192 
     193        void raise() { 
     194        // raise window 
     195        } 
     196 
     197        void lower() { 
     198        // lower window 
     199        } 
     200 
     201        void notify( bool state = true ) { 
     202        // make the icon get attention 
     203        } 
     204 
     205        void paint() { 
     206        // force a paint message 
     207        } 
     208    } 
     209} 
     210 
     211class OpenGLWindow : PlatformWindow { 
     212    /* Members */ 
     213    private { 
     214    // opengl device? 
     215    } 
     216 
     217    /* Functions */ 
     218    public { 
     219        this( wchar[] name, int width = -1, int height = -1, int x = -1, 
     220            int y = -1 ) { 
     221            super( name, width, height, x, y ); 
    115222         
    116         ~this() 
    117         { 
    118             this._alive = false; 
    119              
    120             // release window 
    121              
    122             windowTable.remove(this._handle); 
    123         } 
    124223         
    125         bool interact() 
    126         { 
    127             // poll and dispatch events 
    128              
    129             return true; 
    130         } 
    131          
    132         void describe() 
    133         { 
    134             // Get the dimensions of the window 
    135         } 
    136          
    137         void activate() 
    138         { 
    139             // For graphics engines that use state like OpenGL 
    140         } 
    141          
    142         void flip() 
    143         { 
    144             // swap buffers 
    145         } 
    146          
    147         void fullScreen() 
    148         { 
    149             // go fullscreen 
    150         } 
    151          
    152         void desktop() 
    153         { 
    154             // go back to a desktop window 
    155         } 
    156          
    157         void minimize() 
    158         { 
    159             // iconify 
    160         } 
    161          
    162         void maximize() 
    163         { 
    164             // maximize 
    165         } 
    166          
    167         void restore() 
    168         { 
    169             // restore 
    170         } 
    171          
    172         void hide() 
    173         { 
    174             // hide 
    175         } 
    176          
    177         void show() 
    178         { 
    179             // show 
    180         } 
    181          
    182         void enable() 
    183         { 
    184             // enable 
    185         } 
    186          
    187         void disable() 
    188         { 
    189             // diable 
    190         } 
    191          
    192         void move(int x, int y) 
    193         { 
    194             // move to x,y 
    195         } 
    196          
    197         void size(int width, int height) 
    198         { 
    199             // size to width,height 
    200         } 
    201          
    202         void rename(wchar[] name) 
    203         { 
    204             // rename to name 
    205         } 
    206          
    207         void cursor(bool state) 
    208         { 
    209             // show/hide cursor 
    210         } 
    211          
    212         void cursor(int x, int y) 
    213         { 
    214             // warp cursor 
    215         } 
    216          
    217         void raise() 
    218         { 
    219             // raise window 
    220         } 
    221          
    222         void lower() 
    223         { 
    224             // lower window 
    225         } 
    226          
    227         void notify(bool state = true) 
    228         { 
    229             // make the icon get attention 
    230         } 
    231          
    232         void paint() 
    233         { 
    234             // force a paint message 
    235         } 
    236     } 
    237 
    238  
    239 class OpenGLWindow : PlatformWindow 
    240 
    241     /* Members */ 
    242     private 
    243     { 
    244         // opengl device? 
    245     } 
    246      
    247     /* Functions */ 
    248     public 
    249     { 
    250         this(wchar[] name, int width = -1, int height = -1, int x = -1, int y = -1) 
    251         { 
    252             super(name, width, height, x, y); 
    253              
    254             // Setup OpenGL 
    255         } 
    256          
    257         ~this() 
    258         { 
    259             // Cleanup OpenGL 
    260         } 
    261          
    262         void activate() 
    263         { 
    264             // activate opengl context for this window 
    265         } 
    266     } 
    267 
     224        // Setup OpenGL 
     225        } 
     226 
     227        ~this() { 
     228        // Cleanup OpenGL 
     229        } 
     230 
     231        void activate() { 
     232        // activate opengl context for this window 
     233        } 
     234    } 
     235
  • trunk/src/uni/app/platforms/windows/Application.d

    r24 r43  
    11/+ 
    22 
    3    Copyright (c) 2008, Trevor Parscal 
    4      
    5    Module:    Platform Specifics for Windows on Windows 2000, XP, and Vista 
     3 Copyright (c) 2008, Trevor Parscal 
     4  
     5 Module:  Platform Specifics for Windows on Windows 2000, XP, and Vista 
    66 
    7 +/ 
     7 +/ 
    88 
    99module uni.app.platforms.windows.Application; 
    1010 
    1111/* Imports */ 
     12 
    1213import uni.app.Application; 
    1314import uni.app.Event; 
     
    2021 
    2122/* Members */ 
    22 package 
    23 
     23 
     24package
    2425    Application application; 
    2526} 
    2627 
    2728/* Classes */ 
    28 class Application : Publisher, IApplication 
    29 
     29 
     30class Application : Publisher, IApplication { 
     31     
     32     
    3033    /* Members */ 
    31     private 
    32    
     34 
     35    private
    3336        HINSTANCE _instance; 
    3437    } 
    35     package 
    36    
     38 
     39    package
    3740        bool _active; 
    3841    } 
    39      
     42 
    4043    /* Properties */ 
    41     public 
    42     { 
    43         HINSTANCE instance() 
    44         { 
     44 
     45    public { 
     46        HINSTANCE instance() { 
    4547            return this._instance; 
    4648        } 
    47          
    48         bool active() 
    49         { 
     49 
     50        bool active() { 
    5051            return this._active; 
    5152        } 
    5253    } 
    53      
     54 
    5455    /* Functions */ 
    55     public 
    56     { 
    57         this() 
    58         { 
    59             if(application !is null) 
    60                 throw new Exception(__FILE__ ~ " : Application already initialized."); 
    61             this._instance = GetModuleHandle(null); 
    62             if(!this._instance) 
    63                 throw new Exception(__FILE__ ~ " : GetModuleHandle Failed."); 
     56 
     57    public { 
     58        this() { 
     59            if ( application !is null ) { 
     60                throw new Exception( 
     61                    __FILE__ ~ " : Application already initialized." ); 
     62            } 
     63            this._instance = GetModuleHandle( null ); 
     64            if ( !this._instance ) { 
     65                throw new Exception( __FILE__ ~ " : GetModuleHandle Failed." ); 
     66            } 
    6467            WNDCLASS wc; 
    65             wc.style = CS_HREDRAW | CS_VREDRAW;  
     68            wc.style = CS_HREDRAW | CS_VREDRAW; 
    6669            wc.lpfnWndProc = &WindowProc; 
    67             wc.cbClsExtra = 0;  
    68             wc.cbWndExtra = 0;  
    69             wc.hInstance = this._instance;  
    70             wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);  
    71             wc.hCursor = LoadCursor(NULL, IDC_ARROW);  
     70            wc.cbClsExtra = 0; 
     71            wc.cbWndExtra = 0; 
     72            wc.hInstance = this._instance; 
     73            wc.hIcon = LoadIcon( NULL, IDI_APPLICATION ); 
     74            wc.hCursor = LoadCursor( NULL, IDC_ARROW ); 
    7275            wc.hbrBackground = (5); 
    73             wc.lpszMenuName = null; 
     76            wc.lpszMenuName = null; 
    7477            wc.lpszClassName = "UNID_APP"; 
    75             if(!RegisterClass(&wc)) 
    76                 throw new Exception(__FILE__ ~ " : RegisterClass Failed."); 
     78            if ( !RegisterClass( &wc ) ) { 
     79                throw new Exception( __FILE__ ~ " : RegisterClass Failed." ); 
     80            } 
    7781            this._active = true; 
    7882            application = this; 
    7983        } 
    80          
    81         ~this() 
    82         { 
     84 
     85        ~this() { 
    8386            application = null; 
    84             UnregisterClass("UNID_APP", this._instance); 
     87            UnregisterClass( "UNID_APP", this._instance ); 
    8588        } 
    86          
    87         bool interact() 
    88         { 
     89 
     90        bool interact() { 
    8991            bool running = windowTable.length > 0; 
    90             foreach(window; windowTable) 
    91             { 
    92                 if(!window.interact) running = false; 
     92            foreach ( window; windowTable ) { 
     93               if ( !window.interact ) 
     94                   running = false; 
    9395            } 
    9496            return running; 
    9597        } 
    96          
    97         void rest() 
    98         { 
     98 
     99        void rest() { 
    99100            WaitMessage(); 
    100101        } 
  • trunk/src/uni/app/platforms/windows/Event.d

    r20 r43  
    11/+ 
    22 
    3    Copyright (c) 2008, Trevor Parscal 
    4      
    5    Module:    Platform Specifics for Windows on Windows 2000, XP, and Vista 
    6  
    7 +/ 
     3 Copyright (c) 2008, Trevor Parscal 
     4  
     5 Module:  Platform Specifics for Windows on Windows 2000, XP, and Vista 
     6 
     7 +/ 
    88 
    99module uni.app.platforms.windows.Event; 
    1010 
    1111/* Imports */ 
     12 
    1213import uni.app.Event; 
    1314import uni.app.platforms.windows.Window; 
     
    1617 
    1718/* Functions */ 
    18 extern(Windows) 
    19 
    20     int WindowProc(HWND handle, UINT message, WPARAM wParam, LPARAM lParam) 
    21     { 
    22         auto target = lookupWindow(handle); 
    23         if(target is null) 
    24         { 
    25             return DefWindowProc(handle, message, wParam, lParam); 
     19 
     20extern ( Windows ) { 
     21    int WindowProc( HWND handle, UINT message, WPARAM wParam, LPARAM lParam ) { 
     22        auto target = lookupWindow( handle ); 
     23        if ( target is null ) { 
     24            return DefWindowProc( handle, message, wParam, lParam ); 
    2625        } 
    27         switch(message) 
    28         { 
     26        switch ( message ) { 
    2927            // Window 
    3028            case WM_DESTROY: 
    3129                // A window has been closed 
    32                 if(target.alive) target.publish("close", SignalMeta()); 
    33                 break; 
    34             case WM_SETFOCUS: // A window has gained keyboard focus 
     30                if ( target.alive ) { 
     31                    target.publish( "close", SignalMeta() ); 
     32                } 
     33                break; 
     34             
     35            case WM_SETFOCUS: 
     36                // A window has gained keyboard focus 
    3537                target._active = true; 
    36                 target.publish("focus", SignalMeta()); 
    37                 break; 
    38             case WM_KILLFOCUS: // A window is about to loose keyboard focus 
     38                target.publish( "focus", SignalMeta() ); 
     39                break; 
     40             
     41            case WM_KILLFOCUS: 
     42                // A window is about to loose keyboard focus 
    3943                target._active = false; 
    40                 target.publish("blur", SignalMeta()); 
    41                 break; 
    42             case WM_ENABLE: // A window is being enabled/disabled 
    43                 target._enabled = cast(bool)wParam; 
    44                 target.publish(wParam ? "enable" : "disable", SignalMeta()); 
    45                 break; 
     44                target.publish( "blur", SignalMeta() ); 
     45                break; 
     46             
     47            case WM_ENABLE: 
     48                // A window is being enabled/disabled 
     49                target._enabled = cast(bool) wParam; 
     50                target.publish( wParam ? "enable" : "disable", SignalMeta() ); 
     51                break; 
     52             
    4653            case WM_SHOWWINDOW: 
    47                 target._visible = cast(bool)wParam; 
    48                 target.publish(wParam ? "show" : "hide", SignalMeta()); 
    49                 break; 
     54                target._visible = cast(bool) wParam; 
     55                target.publish( wParam ? "show" : "hide", SignalMeta() ); 
     56                break; 
     57             
    5058            case WM_SYSCOLORCHANGE: 
    5159            case WM_DISPLAYCHANGE: 
    5260            case WM_DEVMODECHANGE: 
    5361                // All windows need to be redrawn and displays need to be re-evaulated 
    54                 InvalidateRect(handle, null, 1);  
    55                // system.describe() ?? 
    56                // window.resetVideo() ?? 
    57                // \/ falls through \/ 
     62                InvalidateRect( handle, null, 1 ); 
     63            // system.describe() ?? 
     64            // window.resetVideo() ?? 
     65            // \/ falls through \/ 
    5866            case WM_ERASEBKGND: // The entire window needs to be redrawn 
    59             case WM_PAINT: // A portion of the window needs to be redrawn 
     67            case WM_PAINT: 
     68                // A portion of the window needs to be redrawn 
    6069                PAINTSTRUCT ps; 
    61                 BeginPaint(handle, &ps);  
    62                 EndPaint(handle, &ps); 
     70                BeginPaint( handle, &ps ); 
     71                EndPaint( handle, &ps ); 
    6372                GdiFlush(); 
    64                 target.publish("paint", SignalMeta()); 
     73                target.publish( "paint", SignalMeta() ); 
    6574                return 0; 
    66             case WM_ENTERSIZEMOVE: // The user has started sizing or moving the window 
     75             
     76            case WM_ENTERSIZEMOVE: 
     77                // The user has started sizing or moving the window 
    6778                target._sizing = true; 
    6879                target._moving = true; 
    6980                break; 
    70             case WM_EXITSIZEMOVE: // The user has finished sizing or moving the window 
     81             
     82            case WM_EXITSIZEMOVE: 
     83                // The user has finished sizing or moving the window 
    7184                target._sizing = false; 
    7285                target._moving = false; 
    7386                break; 
    74             case WM_MOVE: // A window has been moved 
     87             
     88            case WM_MOVE: 
     89                // A window has been moved 
    7590                target.describe; 
    76                 target.publish("move", SignalMeta(LOWORD(lParam), HIWORD(lParam))); 
    77                 break; 
    78             case WM_SIZE: // A window has been sized 
    79             { 
     91                target.publish( "move", SignalMeta( LOWORD( lParam ), HIWORD( 
     92                    lParam ) ) ); 
     93                break; 
     94             
     95            case WM_SIZE: 
     96                // A window has been sized 
    8097                GdiFlush(); 
    81                 switch(wParam) 
    82                 { 
     98                switch ( wParam ) { 
    8399                    case SIZE_MINIMIZED: 
    84                     { 
    85                         target.publish("minimize", SignalMeta()); 
    86                     } break; 
     100                        target.publish( "minimize", SignalMeta() ); 
     101                        break; 
    87102                    case SIZE_MAXIMIZED: 
    88                     { 
    89                         target.publish("maximize", SignalMeta()); 
    90                     } break; 
     103                        target.publish( "maximize", SignalMeta() ); 
     104                        break; 
    91105                    case SIZE_RESTORED: 
    92                     { 
    93                         target.publish("restore", SignalMeta())
    94                     } break; 
    95                     default: break; 
     106                       target.publish( "restore", SignalMeta() ); 
     107                        break
     108                    default: 
     109                       break; 
    96110                } 
    97111                target.describe; 
    98                 target.publish("size", SignalMeta(LOWORD(lParam), HIWORD(lParam))); 
    99                 target.publish("paint", SignalMeta()); 
    100             } break; 
    101             case WM_DROPFILES: // The user has droped a file on the window 
    102                 // target._fileDrop(path); ?? 
     112                target.publish( "size", SignalMeta( LOWORD( lParam ), HIWORD( 
     113                    lParam ) ) ); 
     114                target.publish( "paint", SignalMeta() ); 
     115                break; 
     116             
     117            case WM_DROPFILES: 
     118                // The user has droped a file on the window 
     119                // target._fileDrop( path ); ?? 
    103120                // DragFinish 
    104121                // DragQueryPoint 
    105122                // DragQueryFile 
    106123                break; 
     124             
     125             
    107126            // Mouse 
    108             case WM_MOUSEMOVE: // The mouse is being moved 
    109                 target.publish("mouse.move", SignalMeta(LOWORD(lParam), HIWORD(lParam))); 
    110                 break; 
     127            case WM_MOUSEMOVE: 
     128                // The mouse is being moved 
     129                target.publish( "mouse.move", SignalMeta( LOWORD( lParam ), 
     130                    HIWORD( lParam ) ) ); 
     131                break; 
     132             
     133             
    111134            /+ 
    112             case WM_NCMOUSEMOVE: // The mouse is being moved outside 
    113                 if(target._dragging) 
    114                     target.publish("mouse.move", SignalMeta(LOWORD(lParam), HIWORD(lParam))); 
    115                 break; 
    116             +/ 
    117             case WM_LBUTTONDOWN: // The mouse button is being pressed in a window's client area 
     135             case WM_NCMOUSEMOVE: // The mouse is being moved outside 
     136             if ( target._dragging ) 
     137             target.publish( "mouse.move", SignalMeta( LOWORD( lParam ), HIWORD( lParam ) ) ); 
     138             break; 
     139             +/ 
     140 
     141            // The mouse button is being pressed in a window's client area 
     142            case WM_LBUTTONDOWN: 
    118143            case WM_RBUTTONDOWN: 
    119144            case WM_MBUTTONDOWN: 
    120             case WM_LBUTTONUP: // The mouse button is being released in a window's client area 
     145            // The mouse button is being released in a window's client area 
     146            case WM_LBUTTONUP: 
    121147            case WM_RBUTTONUP: 
    122148            case WM_MBUTTONUP: 
    123             { 
    124149                int button; 
    125                 switch(message) 
    126                 { 
     150                switch ( message ) { 
    127151                    case WM_LBUTTONUP: 
    128152                    case WM_LBUTTONDOWN: 
     
    137161                        button = 3; 
    138162                        break; 
    139                     default: break; 
     163                    default: 
     164                        break; 
    140165                } 
    141166                target._dragging = (message == WM_LBUTTONDOWN || message == WM_MBUTTONDOWN || message == WM_RBUTTONDOWN); 
    142                 target.publish("mouse.button", SignalMeta(LOWORD(lParam), HIWORD(lParam), button, target._dragging)); 
    143                 if(target._dragging) SetCapture(handle); 
    144                 else ReleaseCapture(); 
    145             } break; 
    146             case WM_LBUTTONDBLCLK: // The mouse button is being double-clicked in a window's client area 
     167                target.publish( "mouse.button", SignalMeta( LOWORD( lParam ), 
     168                    HIWORD( lParam ), button, target._dragging ) ); 
     169                if ( target._dragging ) { 
     170                    SetCapture( handle ); 
     171                } else { 
     172                    ReleaseCapture(); 
     173                } 
     174                break; 
     175             
     176             
     177            // The mouse button is being double-clicked in a window's client area 
     178            case WM_LBUTTONDBLCLK: 
    147179            case WM_RBUTTONDBLCLK: 
    148180            case WM_MBUTTONDBLCLK: 
    149             { 
    150181                int button; 
    151                 switch(message) 
    152                 { 
     182                switch ( message ) { 
    153183                    case WM_LBUTTONDBLCLK: 
    154184                        button = 1; 
     
    160190                        button = 3; 
    161191                        break; 
    162                     default: break; 
    163                 } 
    164                 target.publish("mouse.execute", SignalMeta(LOWORD(lParam), HIWORD(lParam), button)); 
    165             } break; 
    166             case WM_NCLBUTTONUP: // The mouse button is being released in a window's non-client area 
     192                    default: 
     193                        break; 
     194                } 
     195                target.publish( "mouse.execute", SignalMeta( LOWORD( lParam ), 
     196                    HIWORD( lParam ), button ) ); 
     197                break; 
     198             
     199             
     200            // The mouse button is being released in a window's non-client area 
     201            case WM_NCLBUTTONUP: 
    167202            case WM_NCRBUTTONUP: 
    168203            case WM_NCMBUTTONUP: 
     
    170205                ReleaseCapture(); 
    171206                break; 
    172             case WM_MOUSEWHEEL: // The mouse wheel is being moved 
    173                 target.publish("mouse.wheel", SignalMeta(LOWORD(lParam), HIWORD(lParam), HIWORD(wParam) / 120)); 
    174                 break; 
    175              
    176             // Keyboard 
    177             case WM_SYSKEYDOWN: // A system keyboard key was pressed 
    178             case WM_SYSKEYUP: // A system keyboard key was released 
    179             case WM_KEYDOWN: // A keyboard key was pressed 
    180             case WM_KEYUP: // A keyboard key was released 
    181             { 
     207             
     208             
     209            // The mouse wheel is being moved 
     210            case WM_MOUSEWHEEL: 
     211                target.publish( "mouse.wheel", SignalMeta( LOWORD( lParam ), 
     212                    HIWORD( lParam ), HIWORD( wParam ) / 120 ) ); 
     213                break; 
     214             
     215             
     216            // A system keyboard key was pressed 
     217            case WM_SYSKEYDOWN: 
     218            // A system keyboard key was released 
     219            case WM_SYSKEYUP: 
     220            // A keyboard key was pressed 
     221            case WM_KEYDOWN: 
     222            // A keyboard key was released 
     223            case WM_KEYUP: 
    182224                // Get Translated Unicode Character 
    183                 BYTE[256] keyState; 
    184                 wchar[1] buffer; 
    185                 UINT scan; 
    186                 GetKeyboardState(keyState.ptr); 
    187                 ToUnicode(wParam, scan, keyState.ptr, buffer.ptr, 1, 0); 
    188                 wchar character = cast(wchar)buffer[0]; 
     225                BYTE[ 256 ] keyState; 
     226                wchar[ 1 ] buffer; 
     227                UINT scan; 
     228                GetKeyboardState( keyState.ptr ); 
     229                ToUnicode( wParam, scan, keyState.ptr, buffer.ptr, 1, 0 ); 
     230                wchar character = cast(wchar) buffer[ 0 ]; 
     231                int code = -1; 
    189232                 
    190                 int code = -1; 
     233                 
    191234                // System Keys 
    192                 switch(wParam)  
    193                 { 
    194                     case VK_F1:         code = Key.F1;              break; 
    195                     case VK_F2:         code = Key.F2;              break; 
    196                     case VK_F3:         code = Key.F3;              break; 
    197                     case VK_F4:         code = Key.F4;              break; 
    198                     case VK_F5:         code = Key.F5;              break; 
    199                     case VK_F6:         code = Key.F6;              break; 
    200                     case VK_F7:         code = Key.F7;              break; 
    201                     case VK_F8:         code = Key.F8;              break; 
    202                     case VK_F9:         code = Key.F9;              break; 
    203                     case VK_F10:        code = Key.F10;             break; 
    204                     case VK_F11:        code = Key.F11;             break; 
    205                     case VK_F12:        code = Key.F12;             break; 
    206                     case VK_LEFT:       code = Key.Left;            break; 
    207                     case VK_UP:         code = Key.Up;              break; 
    208                     case VK_RIGHT:      code = Key.Right;           break; 
    209                     case VK_DOWN:       code = Key.Down;            break; 
    210                     case VK_PRIOR:      code = Key.PageUp;          break; 
    211                     case VK_NEXT:       code = Key.PageDown;        break; 
    212                     case VK_HOME:       code = Key.Home;            break; 
    213                     case VK_END:        code = Key.End;             break; 
    214                     case VK_INSERT:     code = Key.Insert;          break; 
    215                     case VK_DELETE:     code = Key.Delete;          break; 
    216                     case VK_CAPITAL:    code = Key.CapsLock;        break; 
    217                     case VK_SHIFT:      code = Key.Shift;           break; 
    218                     case VK_CONTROL:    code = Key.Control;         break; 
    219                     case VK_MENU:       code = Key.Alternate;       break; 
    220                     case VK_PAUSE:      code = Key.Pause;           break; 
    221                     case VK_ESCAPE:     code = Key.Escape;          break; 
    222                     case VK_TAB:        code = Key.Tab;             break; 
    223                     case VK_MULTIPLY:   code = Key.Multiply;        break; 
    224                     case VK_ADD:        code = Key.Add;             break; 
    225                     case VK_SEPARATOR:  code = Key.Seperator;       break; 
    226                     case VK_SUBTRACT:   code = Key.Subtract;        break; 
    227                     case VK_DECIMAL:    code = Key.Decimal;         break; 
    228                     case VK_DIVIDE:     code = Key.Divide;          break; 
    229                     case VK_NUMLOCK:    code = Key.NumLock;         break; 
    230                     case VK_PRINT:      code = Key.Print;           break; 
    231                     case VK_SNAPSHOT:   code = Key.Capture;         break;  
    232                     case VK_SCROLL:     code = Key.ScrollLock;      break; 
    233                     case 8:             code = Key.Backspace;       break; 
    234                     case 13:            code = Key.Return;          break; 
    235                     default: break; 
    236                 } 
     235                switch ( wParam ) { 
     236                    case VK_F1: 
     237                        code = Key.F1; 
     238                        break; 
     239                    case VK_F2: 
     240                        code = Key.F2; 
     241                        break; 
     242                    case VK_F3: 
     243                        code = Key.F3; 
     244                        break; 
     245                    case VK_F4: 
     246                        code = Key.F4; 
     247                        break; 
     248                    case VK_F5: 
     249                        code = Key.F5; 
     250                        break; 
     251                    case VK_F6: 
     252                        code = Key.F6; 
     253                        break; 
     254                    case VK_F7: 
     255                        code = Key.F7; 
     256                        break; 
     257                    case VK_F8: 
     258                        code = Key.F8; 
     259                        break; 
     260                    case VK_F9: 
     261                        code = Key.F9; 
     262                        break; 
     263                    case VK_F10: 
     264                        code = Key.F10; 
     265                        break; 
     266                    case VK_F11: 
     267                        code = Key.F11; 
     268                        break; 
     269                    case VK_F12: 
     270                        code = Key.F12; 
     271                        break; 
     272                    case VK_LEFT: 
     273                        code = Key.Left; 
     274                        break; 
     275                    case VK_UP: 
     276                        code = Key.Up; 
     277                        break; 
     278                    case VK_RIGHT: 
     279                        code = Key.Right; 
     280                        break; 
     281                    case VK_DOWN: 
     282                        code = Key.Down; 
     283                        break; 
     284                    case VK_PRIOR: 
     285                        code = Key.PageUp; 
     286                        break; 
     287                    case VK_NEXT: 
     288                        code = Key.PageDown; 
     289                        break; 
     290                    case VK_HOME: 
     291                        code = Key.Home; 
     292                        break; 
     293                    case VK_END: 
     294                        code = Key.End; 
     295                        break; 
     296                    case VK_INSERT: 
     297                        code = Key.Insert; 
     298                        break; 
     299                    case VK_DELETE: 
     300                        code = Key.Delete; 
     301                        break; 
     302                    case VK_CAPITAL: 
     303                        code = Key.CapsLock; 
     304                        break; 
     305                    case VK_SHIFT: 
     306                        code = Key.Shift; 
     307                        break; 
     308                    case VK_CONTROL: 
     309                        code = Key.Control; 
     310                        break; 
     311                    case VK_MENU: 
     312                        code = Key.Alternate; 
     313                        break; 
     314                    case VK_PAUSE: 
     315                        code = Key.Pause; 
     316                        break; 
     317                    case VK_ESCAPE: 
     318                        code = Key.Escape; 
     319                        break; 
     320                    case VK_TAB: 
     321                        code = Key.Tab; 
     322                        break; 
     323                    case VK_MULTIPLY: 
     324                        code = Key.Multiply; 
     325                        break; 
     326                    case VK_ADD: 
     327                        code = Key.Add; 
     328                        break; 
     329                    case VK_SEPARATOR: 
     330                        code = Key.Seperator; 
     331                        break; 
     332                    case VK_SUBTRACT: 
     333                        code = Key.Subtract; 
     334                        break; 
     335                    case VK_DECIMAL: 
     336                        code = Key.Decimal; 
     337                        break; 
     338                    case VK_DIVIDE: 
     339                        code = Key.Divide; 
     340                        break; 
     341                    case VK_NUMLOCK: 
     342                        code = Key.NumLock; 
     343                        break; 
     344                    case VK_PRINT: 
     345                        code = Key.Print; 
     346                        break; 
     347                    case VK_SNAPSHOT: 
     348                        code = Key.Capture; 
     349                        break; 
     350                    case VK_SCROLL: 
     351                        code = Key.ScrollLock; 
     352                        break; 
     353                    case 8: 
     354                        code = Key.Backspace; 
     355                        break; 
     356                    case 13: 
     357                        code = Key.Return; 
     358                        break; 
     359                    default: 
     360                        break; 
     361                } 
     362                 
     363                 
    237364                // Numbers from the Numpad 
    238                 if(code == -1) 
    239                 { 
    240                     switch(wParam)  
    241                     { 
    242                         case VK_NUMPAD0:    code = Key.NumPad0; break; 
    243                         case VK_NUMPAD1:    code = Key.NumPad1; break; 
    244                         case VK_NUMPAD2:    code = Key.NumPad2; break; 
    245                         case VK_NUMPAD3:    code = Key.NumPad3; break; 
    246                         case VK_NUMPAD4:    code = Key.NumPad4; break; 
    247                         case VK_NUMPAD5:    code = Key.NumPad5; break; 
    248                         case VK_NUMPAD6:    code = Key.NumPad6; break; 
    249                         case VK_NUMPAD7:    code = Key.NumPad7; break; 
    250                         case VK_NUMPAD8:    code = Key.NumPad8; break; 
    251                         case VK_NUMPAD9:    code = Key.NumPad9; break; 
    252                         default: break; 
     365                if ( code == -1 ) { 
     366                    switch ( wParam ) { 
     367                        case VK_NUMPAD0: 
     368                            code = Key.NumPad0; 
     369                            break; 
     370                        case VK_NUMPAD1: 
     371                            code = Key.NumPad1; 
     372                            break; 
     373                        case VK_NUMPAD2: 
     374                            code = Key.NumPad2; 
     375                            break; 
     376                        case VK_NUMPAD3: 
     377                            code = Key.NumPad3; 
     378                            break; 
     379                        case VK_NUMPAD4: 
     380                            code = Key.NumPad4; 
     381                            break; 
     382                        case VK_NUMPAD5: 
     383                            code = Key.NumPad5; 
     384                            break; 
     385                        case VK_NUMPAD6: 
     386                            code = Key.NumPad6; 
     387                            break; 
     388                        case VK_NUMPAD7: 
     389                            code = Key.NumPad7; 
     390                            break; 
     391                        case VK_NUMPAD8: 
     392                            code = Key.NumPad8; 
     393                            break; 
     394                        case VK_NUMPAD9: 
     395                            code = Key.NumPad9; 
     396                            break; 
     397                        default: 
     398                            break; 
    253399                    } 
    254400                } 
     401                 
     402                 
    255403                // Characters 
    256                 if(code == -1) 
    257                 { 
    258                     code = MapVirtualKey(wParam, 2); 
    259                     if(code != 0) wParam = code; 
    260                     switch(wParam)  
    261                     { 
    262                         case '0': code = Key.Num0;          break; 
    263                         case '1': code = Key.Num1;          break; 
    264                         case '2': code = Key.Num2;          break; 
    265                         case '3': code = Key.Num3;          break; 
    266                         case '4': code = Key.Num4;          break; 
    267                         case '5': code = Key.Num5;          break; 
    268                         case '6': code = Key.Num6;          break; 
    269                         case '7': code = Key.Num7;          break; 
    270                         case '8': code = Key.Num8;          break; 
    271                         case '9': code = Key.Num9;          break; 
    272                         case '-': code = Key.Minus;         break; 
    273                         case '=': code = Key.Equals;        break; 
    274                         case '[': code = Key.LeftBracket;   break; 
    275                         case ']': code = Key.RightBracket;  break; 
    276                         case ';': code = Key.SemiColon;     break; 
    277                         case '`': code = Key.Apostrophe;    break; 
    278                         case '\'':code = Key.Quote;         break; 
    279                         case ',': code = Key.Comma;         break; 
    280                         case '.': code = Key.Period;        break; 
    281                         case '/': code = Key.Slash;         break; 
    282                         case '\\':code = Key.BackSlash;     break; 
    283                         case ' ': code = Key.Space;         break; 
    284                         case 'A': code = Key.A;             break; 
    285                         case 'B': code = Key.B;             break; 
    286                         case 'C': code = Key.C;             break; 
    287                         case 'D': code = Key.D;             break; 
    288                         case 'E': code = Key.E;             break; 
    289                         case 'F': code = Key.F;             break; 
    290                         case 'G': code = Key.G;             break; 
    291                         case 'H': code = Key.H;             break; 
    292                         case 'I': code = Key.I;             break; 
    293                         case 'J': code = Key.J;             break; 
    294                         case 'K': code = Key.K;             break; 
    295                         case 'L': code = Key.L;             break; 
    296                         case 'M': code = Key.M;             break; 
    297                         case 'N': code = Key.N;             break; 
    298                         case 'O': code = Key.O;             break; 
    299                         case 'P': code = Key.P;             break; 
    300                         case 'Q': code = Key.Q;             break; 
    301                         case 'R': code = Key.R;             break; 
    302                         case 'S': code = Key.S;             break; 
    303                         case 'T': code = Key.T;             break; 
    304                         case 'U': code = Key.U;             break; 
    305                         case 'V': code = Key.V;             break; 
    306                         case 'W': code = Key.W;             break; 
    307                         case 'X': code = Key.X;             break; 
    308                         case 'Y': code = Key.Y;             break; 
    309                         case 'Z': code = Key.Z;             break; 
    310                         default: break; 
     404                if ( code == -1 ) { 
     405                    code = MapVirtualKey( wParam, 2 ); 
     406                    if ( code != 0 ) 
     407                        wParam = code; 
     408                    switch ( wParam ) { 
     409                        case '0': 
     410                            code = Key.Num0; 
     411                            break; 
     412                        case '1': 
     413                            code = Key.Num1; 
     414                            break; 
     415                        case '2': 
     416                            code = Key.Num2; 
     417                            break; 
     418                        case '3': 
     419                            code = Key.Num3; 
     420                            break; 
     421                        case '4': 
     422                            code = Key.Num4; 
     423                            break; 
     424                        case '5': 
     425                            code = Key.Num5; 
     426                            break; 
     427                        case '6': 
     428                            code = Key.Num6; 
     429                            break; 
     430                        case '7': 
     431                            code = Key.Num7; 
     432                            break; 
     433                        case '8': 
     434                            code = Key.Num8; 
     435                            break; 
     436                        case '9': 
     437                            code = Key.Num9; 
     438                            break; 
     439                        case '-': 
     440                            code = Key.Minus; 
     441                            break; 
     442                        case '=': 
     443                            code = Key.Equals; 
     444                            break; 
     445                        case '[': 
     446                            code = Key.LeftBracket; 
     447                            break; 
     448                        case ']': 
     449                            code = Key.RightBracket; 
     450                            break; 
     451                        case ';': 
     452                            code = Key.SemiColon; 
     453                            break; 
     454                        case '`': 
     455                            code = Key.Apostrophe; 
     456                            break; 
     457                        case '\'': 
     458                            code = Key.Quote; 
     459                            break; 
     460                        case ',': 
     461                            code = Key.Comma; 
     462                            break; 
     463                        case '.': 
     464                            code = Key.Period; 
     465                            break; 
     466                        case '/': 
     467                            code = Key.Slash; 
     468                            break; 
     469                        case '\\': 
     470                            code = Key.BackSlash; 
     471                            break; 
     472                        case ' ': 
     473                            code = Key.Space; 
     474                            break; 
     475                        case 'A': 
     476                            code = Key.A; 
     477                            break; 
     478                        case 'B': 
     479                            code = Key.B; 
     480                            break; 
     481                        case 'C': 
     482                            code = Key.C; 
     483                            break; 
     484                        case 'D': 
     485                            code = Key.D; 
     486                            break; 
     487                        case 'E': 
     488                            code = Key.E; 
     489                            break; 
     490                        case 'F': 
     491                            code = Key.F; 
     492                            break; 
     493                        case 'G': 
     494                            code = Key.G; 
     495                            break; 
     496                        case 'H': 
     497                            code = Key.H; 
     498                            break; 
     499                        case 'I': 
     500                            code = Key.I; 
     501                            break; 
     502                        case 'J': 
     503                            code = Key.J; 
     504                            break; 
     505                        case 'K': 
     506                            code = Key.K; 
     507                            break; 
     508                        case 'L': 
     509                            code = Key.L; 
     510                            break; 
     511                        case 'M': 
     512                            code = Key.M; 
     513                            break; 
     514                        case 'N': 
     515                            code = Key.N; 
     516                            break; 
     517                        case 'O': 
     518                            code = Key.O; 
     519                            break; 
     520                        case 'P': 
     521                            code = Key.P; 
     522                            break; 
     523                        case 'Q': 
     524                            code = Key.Q; 
     525                            break; 
     526                        case 'R': 
     527                            code = Key.R; 
     528                            break; 
     529                        case 'S': 
     530                            code = Key.S; 
     531                            break; 
     532                        case 'T': 
     533                            code = Key.T; 
     534                            break; 
     535                        case 'U': 
     536                            code = Key.U; 
     537                            break; 
     538                        case 'V': 
     539                            code = Key.V; 
     540                            break; 
     541                        case 'W': 
     542                            code = Key.W; 
     543                            break; 
     544                        case 'X': 
     545                            code = Key.X; 
     546                            break; 
     547                        case 'Y': 
     548                            code = Key.Y; 
     549                            break; 
     550                        case 'Z': 
     551                            code = Key.Z; 
     552                            break; 
     553                        default: 
     554                            break; 
    311555                    } 
    312556                } 
     557                 
     558                 
    313559                // Mouse Position 
    314560                POINT point; 
    315                 GetCursorPos(&point); 
    316                 ScreenToClient(target.handle, &point); 
    317                 target.publish("key", SignalMeta(point.x, point.y, code, (message == WM_SYSKEYDOWN || message == WM_KEYDOWN), character)); 
    318             } break; 
     561                GetCursorPos( &point ); 
     562                ScreenToClient( target.handle, &point ); 
     563                target.publish( "key", SignalMeta( point.x, point.y, code, 
     564                    (message == WM_SYSKEYDOWN || message == WM_KEYDOWN), 
     565                    character ) ); 
     566                break; 
     567             
    319568            case WM_ACTIVATEAPP: 
    320             { 
    321                 if(wParam && !application.active) 
    322                 { 
     569                if ( wParam && !application.active ) { 
    323570                    application._active = true; 
    324                     application.publish("focus", SignalMeta()); 
    325                 } 
    326                 else if(!wParam && application.active) 
    327                 { 
     571                    application.publish( "focus", SignalMeta() ); 
     572                } else if ( !wParam && application.active ) { 
    328573                    application._active = false; 
    329                     application.publish("blur", SignalMeta()); 
    330                 } 
    331             } 
    332             default: break; 
     574                    application.publish( "blur", SignalMeta() ); 
     575                } 
     576                break; 
     577             
     578            default: 
     579                break; 
    333580        } 
    334         return DefWindowProc(handle, message, wParam, lParam); 
     581        return DefWindowProc( handle, message, wParam, lParam ); 
    335582    } 
    336583} 
    337584 
    338585/+ 
    339    Irrelavant / Unused Messages 
    340            case WM_SETREDRAW: 
    341            case WM_SETTEXT: 
    342            case WM_GETTEXT: 
    343            case WM_GETTEXTLENGTH: 
    344            case WM_CTLCOLOR: 
    345            case WM_MOUSEACTIVATE: 
    346            case WM_CHILDACTIVATE: 
    347            case WM_QUEUESYNC: 
    348            case WM_GETMINMAXINFO: 
    349            case WM_NEXTDLGCTL: 
    350            case WM_DRAWITEM: 
    351            case WM_MEASUREITEM: 
    352            case WM_DELETEITEM: 
    353            case WM_VKEYTOITEM: 
    354            case WM_CHARTOITEM: 
    355            case WM_SETFONT: 
    356            case WM_GETFONT: 
    357            case WM_SETHOTKEY: 
    358            case WM_GETHOTKEY: 
    359            case WM_QUERYDRAGICON: 
    360            case WM_COMPAREITEM: 
    361            case WM_COPYDATA: 
    362            case WM_CANCELJOURNAL: 
    363            case WM_NOTIFY: 
    364            case WM_NOTIFYFORMAT: 
    365            case WM_CONTEXTMENU: 
    366            case WM_GETICON: 
    367            case WM_SETICON: 
    368            case WM_GETDLGCODE: 
    369            case WM_IME_STARTCOMPOSITION: 
    370            case WM_IME_ENDCOMPOSITION: 
    371            case WM_IME_COMPOSITION: 
    372            case WM_IME_KEYLAST: 
    373            case WM_TIMER: 
    374            case WM_HSCROLL: 
    375            case WM_VSCROLL: 
    376            case WM_INITMENU: 
    377            case WM_INITMENUPOPUP: 
    378            case WM_INITDIALOG: 
    379            case WM_MENUSELECT: 
    380            case WM_MENUCHAR: 
    381            case WM_ENTERIDLE: 
    382            case WM_CTLCOLORMSGBOX: 
    383            case WM_CTLCOLOREDIT: 
    384            case WM_CTLCOLORLISTBOX: 
    385            case WM_CTLCOLORBTN: 
    386            case WM_CTLCOLORDLG: 
    387            case WM_CTLCOLORSCROLLBAR: 
    388            case WM_CTLCOLORSTATIC: 
    389            case WM_MOUSEFIRST: 
    390            case WM_COMMAND: 
    391            case WM_PARENTNOTIFY: 
    392            case WM_ENTERMENULOOP: 
    393            case WM_EXITMENULOOP: 
    394            case WM_NEXTMENU: 
    395            case WM_MDICREATE: 
    396            case WM_MDIDESTROY: 
    397            case WM_MDIACTIVATE: 
    398            case WM_MDIRESTORE: 
    399            case WM_MDINEXT: 
    400            case WM_MDIMAXIMIZE: 
    401            case WM_MDITILE: 
    402            case WM_MDICASCADE: 
    403            case WM_MDIICONARRANGE: 
    404            case WM_MDIGETACTIVE: 
    405            case WM_MDISETMENU: 
    406            case WM_MDIREFRESHMENU: 
    407            case WM_IME_SETCONTEXT: 
    408            case WM_IME_NOTIFY: 
    409            case WM_IME_CONTROL: 
    410            case WM_IME_COMPOSITIONFULL: 
    411            case WM_IME_SELECT: 
    412            case WM_IME_CHAR: 
    413            case WM_IME_KEYDOWN: 
    414            case WM_IME_KEYUP: 
    415            case WM_MOUSEHOVER: 
    416            case WM_NCMOUSELEAVE: 
    417            case WM_MOUSELEAVE: 
    418            case WM_CUT: 
    419            case WM_COPY: 
    420            case WM_PASTE: 
    421            case WM_CLEAR: 
    422            case WM_UNDO: 
    423            case WM_RENDERFORMAT: 
    424            case WM_RENDERALLFORMATS: 
    425            case WM_DESTROYCLIPBOARD: 
    426            case WM_DRAWCLIPBOARD: 
    427            case WM_PAINTCLIPBOARD: 
    428            case WM_VSCROLLCLIPBOARD: 
    429            case WM_SIZECLIPBOARD: 
    430            case WM_ASKCBFORMATNAME: 
    431            case WM_CHANGECBCHAIN: 
    432            case WM_HSCROLLCLIPBOARD: 
    433            case WM_QUERYNEWPALETTE: 
    434            case WM_PALETTEISCHANGING: 
    435            case WM_PALETTECHANGED: 
    436            case WM_WINDOWPOSCHANGING: 
    437            case WM_WINDOWPOSCHANGED: 
    438            case WM_CLOSE: 
    439            case WM_NCCALCSIZE: 
    440            case WM_NCACTIVATE: 
    441            case WM_NCHITTEST: 
    442            case WM_STYLECHANGING: 
    443            case WM_STYLECHANGED: 
    444            case WM_NCPAINT: 
    445            case WM_SYSCOMMAND: 
    446            case WM_CAPTURECHANGED: 
    447            case WM_TCARD: 
    448            case WM_SPOOLERSTATUS: 
    449            case WM_INPUTLANGCHANGEREQUEST: 
    450            case WM_INPUTLANGCHANGE: 
    451            case WM_HELP: 
    452            case WM_USERCHANGED: 
    453            case WM_FONTCHANGE: 
    454            case WM_TIMECHANGE: 
    455            case WM_QUERYOPEN: 
    456            case WM_SETTINGCHANGE: 
    457              
    458            case WM_MOVING: // The window is being moved - we can still have a say in it 
    459            case WM_SIZING: // The window is being resized - we can still have a say in it 
    460            case WM_NCCREATE: // A window is about to be created 
    461            case WM_CLOSE: // A window is being asked to close 
    462            case WM_CREATE: // A window has been created 
    463            case WM_NCLBUTTONDOWN: // The mouse button is being pressed in a window's non-client area 
    464            case WM_NCRBUTTONDOWN: 
    465            case WM_NCMBUTTONDOWN: 
    466            case WM_NCLBUTTONDBLCLK: // The mouse button is being double-clicked in a window's non-client area 
    467            case WM_NCRBUTTONDBLCLK: 
    468            case WM_NCMBUTTONDBLCLK: 
    469            case WM_ACTIVATE: // A window is about to be activated/deactivated 
    470            case WM_SETCURSOR: // The cursor is over the window and ready to be changed 
    471            case WM_MOUSELEAVE: // The mouse has left 
    472            case WM_DEVICECHANGE: // The system's hardware has changed 
    473            case WM_CANCELMODE: // The application needs to cancel scrolling, menus, mouse capture, etc. 
    474            case WM_POWERBROADCAST: // The system is going to suspend because of low-battery 
    475            case WM_QUERYENDSESSION: 
    476            case WM_ENDSESSION: 
    477            case WM_DEADCHAR: // A keyboard key which has a character code was released 
    478            case WM_SYSCHAR: // A system keyboard key which has a character code was pressed 
    479            case WM_SYSDEADCHAR: // A system keyboard key which has a character code was released 
    480  
    481 +/ 
     586 Irrelavant / Unused Messages 
     587 case WM_SETREDRAW: 
     588 case WM_SETTEXT: 
     589 case WM_GETTEXT: 
     590 case WM_GETTEXTLENGTH: 
     591 case WM_CTLCOLOR: 
     592 case WM_MOUSEACTIVATE: 
     593 case WM_CHILDACTIVATE: 
     594 case WM_QUEUESYNC: 
     595 case WM_GETMINMAXINFO: 
     596 case WM_NEXTDLGCTL: 
     597 case WM_DRAWITEM: 
     598 case WM_MEASUREITEM: 
     599 case WM_DELETEITEM: 
     600 case WM_VKEYTOITEM: 
     601 case WM_CHARTOITEM: 
     602 case WM_SETFONT: 
     603 case WM_GETFONT: 
     604 case WM_SETHOTKEY: 
     605 case WM_GETHOTKEY: 
     606 case WM_QUERYDRAGICON: 
     607 case WM_COMPAREITEM: 
     608 case WM_COPYDATA: 
     609 case WM_CANCELJOURNAL: 
     610 case WM_NOTIFY: 
     611 case WM_NOTIFYFORMAT: 
     612 case WM_CONTEXTMENU: 
     613 case WM_GETICON: 
     614 case WM_SETICON: 
     615 case WM_GETDLGCODE: 
     616 case WM_IME_STARTCOMPOSITION: 
     617 case WM_IME_ENDCOMPOSITION: 
     618 case WM_IME_COMPOSITION: 
     619 case WM_IME_KEYLAST: 
     620 case WM_TIMER: 
     621 case WM_HSCROLL: 
     622 case WM_VSCROLL: 
     623 case WM_INITMENU: 
     624 case WM_INITMENUPOPUP: 
     625 case WM_INITDIALOG: 
     626 case WM_MENUSELECT: 
     627 case WM_MENUCHAR: 
     628 case WM_ENTERIDLE: 
     629 case WM_CTLCOLORMSGBOX: 
     630 case WM_CTLCOLOREDIT: 
     631 case WM_CTLCOLORLISTBOX: 
     632 case WM_CTLCOLORBTN: 
     633 case WM_CTLCOLORDLG: 
     634 case WM_CTLCOLORSCROLLBAR: 
     635 case WM_CTLCOLORSTATIC: 
     636 case WM_MOUSEFIRST: 
     637 case WM_COMMAND: 
     638 case WM_PARENTNOTIFY: 
     639 case WM_ENTERMENULOOP: 
     640 case WM_EXITMENULOOP: 
     641 case WM_NEXTMENU: 
     642 case WM_MDICREATE: 
     643 case WM_MDIDESTROY: 
     644 case WM_MDIACTIVATE: 
     645 case WM_MDIRESTORE: 
     646 case WM_MDINEXT: 
     647 case WM_MDIMAXIMIZE: 
     648 case WM_MDITILE: 
     649 case WM_MDICASCADE: 
     650 case WM_MDIICONARRANGE: 
     651 case WM_MDIGETACTIVE: 
     652 case WM_MDISETMENU: 
     653 case WM_MDIREFRESHMENU: 
     654 case WM_IME_SETCONTEXT: 
     655 case WM_IME_NOTIFY: 
     656 case WM_IME_CONTROL: 
     657 case WM_IME_COMPOSITIONFULL: 
     658 case WM_IME_SELECT: 
     659 case WM_IME_CHAR: 
     660 case WM_IME_KEYDOWN: 
     661 case WM_IME_KEYUP: 
     662 case WM_MOUSEHOVER: 
     663 case WM_NCMOUSELEAVE: 
     664 case WM_MOUSELEAVE: 
     665 case WM_CUT: 
     666 case WM_COPY: 
     667 case WM_PASTE: 
     668 case WM_CLEAR: 
     669 case WM_UNDO: 
     670 case WM_RENDERFORMAT: 
     671 case WM_RENDERALLFORMATS: 
     672 case WM_DESTROYCLIPBOARD: 
     673 case WM_DRAWCLIPBOARD: 
     674 case WM_PAINTCLIPBOARD: 
     675 case WM_VSCROLLCLIPBOARD: 
     676 case WM_SIZECLIPBOARD: 
     677 case WM_ASKCBFORMATNAME: 
     678 case WM_CHANGECBCHAIN: 
     679 case WM_HSCROLLCLIPBOARD: 
     680 case WM_QUERYNEWPALETTE: 
     681 case WM_PALETTEISCHANGING: 
     682 case WM_PALETTECHANGED: 
     683 case WM_WINDOWPOSCHANGING: 
     684 case WM_WINDOWPOSCHANGED: 
     685 case WM_CLOSE: 
     686 case WM_NCCALCSIZE: 
     687 case WM_NCACTIVATE: 
     688 case WM_NCHITTEST: 
     689 case WM_STYLECHANGING: 
     690 case WM_STYLECHANGED: 
     691 case WM_NCPAINT: 
     692 case WM_SYSCOMMAND: 
     693 case WM_CAPTURECHANGED: 
     694 case WM_TCARD: 
     695 case WM_SPOOLERSTATUS: 
     696 case WM_INPUTLANGCHANGEREQUEST: 
     697 case WM_INPUTLANGCHANGE: 
     698 case WM_HELP: 
     699 case WM_USERCHANGED: 
     700 case WM_FONTCHANGE: 
     701 case WM_TIMECHANGE: 
     702 case WM_QUERYOPEN: 
     703 case WM_SETTINGCHANGE: 
     704  
     705 case WM_MOVING: // The window is being moved - we can still have a say in it 
     706 case WM_SIZING: // The window is being resized - we can still have a say in it 
     707 case WM_NCCREATE: // A window is about to be created 
     708 case WM_CLOSE: // A window is being asked to close 
     709 case WM_CREATE: // A window has been created 
     710 case WM_NCLBUTTONDOWN: // The mouse button is being pressed in a window's non-client area 
     711 case WM_NCRBUTTONDOWN: 
     712 case WM_NCMBUTTONDOWN: 
     713 case WM_NCLBUTTONDBLCLK: // The mouse button is being double-clicked in a window's non-client area 
     714 case WM_NCRBUTTONDBLCLK: 
     715 case WM_NCMBUTTONDBLCLK: 
     716 case WM_ACTIVATE: // A window is about to be activated/deactivated 
     717 case WM_SETCURSOR: // The cursor is over the window and ready to be changed 
     718 case WM_MOUSELEAVE: // The mouse has left 
     719 case WM_DEVICECHANGE: // The system's hardware has changed 
     720 case WM_CANCELMODE: // The application needs to cancel scrolling, menus, mouse capture, etc. 
     721 case WM_POWERBROADCAST: // The system is going to suspend because of low-battery 
     722 case WM_QUERYENDSESSION: 
     723 case WM_ENDSESSION: 
     724 case WM_DEADCHAR: // A keyboard key which has a character code was released 
     725 case WM_SYSCHAR: // A system keyboard key which has a character code was pressed 
     726 case WM_SYSDEADCHAR: // A system keyboard key which has a character code was released 
     727 
     728 +/ 
  • trunk/src/uni/app/platforms/windows/Window.d

    r29 r43  
    11/+ 
    22 
    3    Copyright (c) 2008, Trevor Parscal 
    4      
    5    Module:    Platform Specifics for Windows on Windows 2000, XP, and Vista 
    6  
    7 +/ 
     3 Copyright (c) 2008, Trevor Parscal 
     4  
     5 Module:  Platform Specifics for Windows on Windows 2000, XP, and Vista 
     6 
     7 +/ 
    88 
    99module uni.app.platforms.windows.Window; 
    1010 
    1111/* Imports */ 
     12 
    1213import uni.app.Window; 
    1314import uni.app.Event; 
     
    1718 
    1819/* Members */ 
    19 package 
    20 
    21     Window[HWND] windowTable; 
     20 
     21package
     22    Window[ HWND ] windowTable; 
    2223} 
    2324 
    2425/* Functions */ 
    25 package 
    26 
    27     Window lookupWindow(HWND handle) 
    28     { 
     26 
     27package { 
     28    Window lookupWindow( HWND handle ) { 
    2929        Window* window = (handle in windowTable); 
    30         if(window != null) return *window; 
     30        if ( window != null ) { 
     31            return *window; 
     32        } 
    3133        return null; 
    3234    } 
     
    3436 
    3537/* Classes */ 
    36 class Window : Publisher, IWindow 
    37 
     38 
     39class Window : Publisher, IWindow { 
     40     
     41     
    3842    /* Members */ 
    39     private 
    40    
     43 
     44    private
    4145        wchar[] _name = "UniD Window"; 
    42         int _x, _y, _width, _height; 
     46        int _x; 
     47        int _y; 
     48        int _width; 
     49        int _height; 
    4350        bool _alive; 
    4451        WINDOWINFO _info; 
    4552        HWND _handle; 
    4653    } 
    47     package 
    48    
     54 
     55    package
    4956        bool _active; 
    5057        bool _enabled; 
     
    5461        bool _dragging; 
    5562    } 
    56      
     63 
    5764    /* Properties */ 
    58     public 
    59     { 
    60         HWND handle() 
    61         { 
     65 
     66    public { 
     67        HWND handle() { 
    6268            return this._handle; 
    6369        } 
    64         wchar[] name() 
    65        
     70 
     71        wchar[] name()
    6672            return this._name; 
    6773        } 
    68         int width() 
    69        
     74 
     75        int width()
    7076            return this._width; 
    7177        } 
    72         int height() 
    73        
     78 
     79        int height()
    7480            return this._height; 
    7581        } 
    76         int x() 
    77        
     82 
     83        int x()
    7884            return this._x; 
    7985        } 
    80         int y() 
    81        
     86 
     87        int y()
    8288            return this._y; 
    8389        } 
    84         bool alive() 
    85        
     90 
     91        bool alive()
    8692            return this._alive; 
    8793        } 
    88         bool active() 
    89        
     94 
     95        bool active()
    9096            return this._active; 
    9197        } 
    92         bool enabled() 
    93        
     98 
     99        bool enabled()
    94100            return this._enabled; 
    95101        } 
    96         bool visible() 
    97        
     102 
     103        bool visible()
    98104            return this._visible; 
    99105        } 
    100         bool sizing() 
    101        
     106 
     107        bool sizing()
    102108            return this._sizing; 
    103109        } 
    104         bool moving() 
    105        
     110 
     111        bool moving()
    106112            return this._moving; 
    107113        } 
    108         bool dragging() 
    109        
     114 
     115        bool dragging()
    110116            return this._dragging; 
    111117        } 
    112118    } 
    113      
     119 
    114120    /* Functions */ 
    115     package 
    116     { 
    117         void describe() 
    118         { 
     121 
     122    package { 
     123        void describe() { 
    119124            // Get the dimensions of the window 
    120125            this._info.cbSize = WINDOWINFO.sizeof; 
    121             if(!GetWindowInfo(this._handle, &this._info)) 
    122                 throw new Exception(__FILE__ ~ " : GetWindowInfo Failed."); 
     126            if ( !GetWindowInfo( this._handle, &this._info ) ) { 
     127                throw new Exception( __FILE__ ~ " : GetWindowInfo Failed." ); 
     128            } 
    123129            this._x = this._info.rcClient.left; 
    124130            this._y = this._info.rcClient.top; 
     
    127133        } 
    128134    } 
    129     public 
    130    
    131         this(wchar[] name, int width = -1, int height = -1, int x = -1, int y = -1) 
    132        
     135 
     136    public
     137        this( wchar[] name, int width = -1, int height = -1, int x = -1, 
     138           int y = -1 )
    133139            this._name = name; 
    134             this._handle = CreateWindowEx( 
    135                 WS_EX_OVERLAPPEDWINDOW, 
    136                 "UNID_APP", 
    137                 toString16z(this._name), 
    138                 WS_OVERLAPPEDWINDOW, 
    139                 x >= 0 ? x : CW_USEDEFAULT, 
    140                 y >= 0 ? y : CW_USEDEFAULT, 
     140            this._handle = CreateWindowEx( WS_EX_OVERLAPPEDWINDOW, "UNID_APP", 
     141                toString16z( this._name ), WS_OVERLAPPEDWINDOW, 
     142                x >= 0 ? x : CW_USEDEFAULT, y >= 0 ? y : CW_USEDEFAULT, 
    141143                width >= 0 ? width : CW_USEDEFAULT, 
    142                 height >= 0 ? height : CW_USEDEFAULT, 
    143                 NULL, 
    144                 NULL, 
    145                 GetModuleHandle(null), 
    146                 null); 
    147             if(!this._handle) 
    148                 throw new Exception(__FILE__ ~ " : CreateWindowEx Failed."); 
    149             ShowWindow(this._handle, SW_SHOW); 
    150             if(!UpdateWindow(this._handle)) 
    151                 throw new Exception(__FILE__ ~ " : UpdateWindow Failed."); 
    152             windowTable[this._handle] = this; 
     144                height >= 0 ? height : CW_USEDEFAULT, NULL, NULL, 
     145                GetModuleHandle( null ), null ); 
     146            if ( !this._handle ) { 
     147                throw new Exception( __FILE__ ~ " : CreateWindowEx Failed." ); 
     148            } 
     149            ShowWindow( this._handle, SW_SHOW ); 
     150            if ( !UpdateWindow( this._handle ) ) { 
     151                throw new Exception( __FILE__ ~ " : UpdateWindow Failed." ); 
     152            } 
     153            windowTable[ this._handle ] = this; 
    153154            this._alive = true; 
    154155            this.describe; 
    155156        } 
    156          
    157         ~this() 
    158         { 
     157 
     158        ~this() { 
    159159            this._alive = false; 
    160             if(!DestroyWindow(this._handle)) 
    161                 throw new Exception(__FILE__ ~ " : DestroyWindow Failed."); 
    162             windowTable.remove(this._handle); 
    163         } 
    164          
    165         bool interact() 
    166        
     160            if ( !DestroyWindow( this._handle ) ) { 
     161                throw new Exception( __FILE__ ~ " : DestroyWindow Failed." ); 
     162            } 
     163           windowTable.remove( this._handle ); 
     164        } 
     165 
     166        bool interact()
    167167            MSG event; 
    168             while(PeekMessage(&event, this._handle, 0, 0, PM_REMOVE)) 
    169             { 
    170                 if(event.message == WM_QUIT) 
     168            while ( PeekMessage( &event, this._handle, 0, 0, PM_REMOVE ) ) { 
     169                if ( event.message == WM_QUIT ) { 
    171170                    return false; 
    172                 TranslateMessage(&event); 
    173                 DispatchMessage(&event); 
     171                } 
     172                TranslateMessage( &event ); 
     173                DispatchMessage( &event ); 
    174174            } 
    175175            return true; 
    176176        } 
    177          
    178         void begin() 
    179         { 
    180             // For graphics engines that use state like OpenGL 
    181         } 
    182          
    183         void end() 
    184         { 
    185             // Also for graphics engines that use state like OpenGL 
    186         } 
    187          
    188         void fullScreen() 
    189         { 
    190             ShowWindow(this._handle, SW_MAXIMIZE); 
    191             if(!SetWindowLong(this._handle, GWL_STYLE, WS_POPUP)) 
    192                 throw new Exception(__FILE__ ~ " : SetWindowLong Failed (Basic)."); 
    193             if(!SetWindowLong(this._handle, GWL_EXSTYLE, WS_EX_ACCEPTFILES)) 
    194                 throw new Exception(__FILE__ ~ " : SetWindowLong Failed (Extended)."); 
    195             ShowWindow(this._handle, SW_MAXIMIZE); 
    196             this.describe; 
    197         } 
    198          
    199         void desktop() 
    200         { 
    201             ShowWindow(this._handle, SW_RESTORE); 
    202             if(!SetWindowLong(this._handle, GWL_STYLE, WS_OVERLAPPED | WS_CAPTION | 
    203                                 WS_SYSMENU | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_THICKFRAME)) 
    204                 throw new Exception(__FILE__ ~ " : SetWindowLong Failed (Basic)."); 
    205             if(!SetWindowLong(this._handle, GWL_EXSTYLE, WS_EX_ACCEPTFILES)) 
    206                 throw new Exception(__FILE__ ~ " : SetWindowLong Failed (Extended)."); 
    207             ShowWindow(this._handle, SW_RESTORE); 
    208             this.describe; 
    209         } 
    210          
    211         void minimize() 
    212         { 
    213             ShowWindow(this._handle, SW_MINIMIZE); 
    214             this.describe; 
    215         } 
    216          
    217         void maximize() 
    218         { 
    219             ShowWindow(this._handle, SW_MAXIMIZE); 
    220             this.describe; 
    221         } 
    222          
    223         void restore() 
    224         { 
    225             ShowWindow(this._handle, SW_RESTORE); 
    226             this.describe; 
    227         } 
    228          
    229         void hide() 
    230         { 
    231             ShowWindow(this._handle, SW_HIDE); 
    232         } 
    233          
    234         void show() 
    235         { 
    236             ShowWindow(this._handle, SW_SHOW); 
    237         } 
    238          
    239         void enable() 
    240         { 
    241             EnableWindow(this._handle, TRUE); 
    242         } 
    243          
    244         void disable() 
    245         { 
    246             EnableWindow(this._handle, FALSE); 
    247         } 
    248          
    249         void move(int x, int y) 
    250         { 
    251             if(!SetWindowPos(this._handle, 0, x, y, 0, 0, SWP_NOZORDER | SWP_NOSIZE)) 
    252                 throw new Exception(__FILE__ ~ " : SetWindowPos Failed."); 
    253             this.describe; 
    254         } 
    255          
    256         void size(int width, int height) 
    257         { 
    258             if(!SetWindowPos(this._handle, 0, 0, 0, width, height, SWP_NOZORDER | SWP_NOMOVE)) 
    259                 throw new Exception(__FILE__ ~ " : SetWindowPos Failed."); 
    260             this.describe; 
    261              
    262         } 
    263          
    264         void rename(wchar[] name) 
    265         { 
     177 
     178        void begin() { 
     179        // For graphics engines that use state like OpenGL 
     180        } 
     181 
     182        void end() { 
     183        // Also for graphics engines that use state like OpenGL 
     184        } 
     185 
     186        void fullScreen() { 
     187            ShowWindow( this._handle, SW_MAXIMIZE ); 
     188            if ( !SetWindowLong( this._handle, GWL_STYLE, WS_POPUP ) ) { 
     189                throw new Exception( 
     190                    __FILE__ ~ " : SetWindowLong Failed (Basic)." ); 
     191            } 
     192            if ( !SetWindowLong( this._handle, GWL_EXSTYLE, WS_EX_ACCEPTFILES ) ) { 
     193                throw new Exception( 
     194                    __FILE__ ~ " : SetWindowLong Failed (Extended)." ); 
     195            } 
     196            ShowWindow( this._handle, SW_MAXIMIZE ); 
     197            this.describe; 
     198        } 
     199 
     200        void desktop() { 
     201            ShowWindow( this._handle, SW_RESTORE ); 
     202            if ( !SetWindowLong( 
     203                this._handle, 
     204                GWL_STYLE, 
     205                WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_THICKFRAME ) ) { 
     206                throw new Exception( 
     207                    __FILE__ ~ " : SetWindowLong Failed (Basic)." ); 
     208            } 
     209            if ( !SetWindowLong( this._handle, GWL_EXSTYLE, WS_EX_ACCEPTFILES ) ) { 
     210                throw new Exception( 
     211                    __FILE__ ~ " : SetWindowLong Failed (Extended)." ); 
     212            } 
     213            ShowWindow( this._handle, SW_RESTORE ); 
     214            this.describe; 
     215        } 
     216 
     217        void minimize() { 
     218            ShowWindow( this._handle, SW_MINIMIZE ); 
     219            this.describe; 
     220        } 
     221 
     222        void maximize() { 
     223            ShowWindow( this._handle, SW_MAXIMIZE ); 
     224            this.describe; 
     225        } 
     226 
     227        void restore() { 
     228            ShowWindow( this._handle, SW_RESTORE ); 
     229            this.describe; 
     230        } 
     231 
     232        void hide() { 
     233            ShowWindow( this._handle, SW_HIDE ); 
     234        } 
     235 
     236        void show() { 
     237            ShowWindow( this._handle, SW_SHOW ); 
     238        } 
     239 
     240        void enable() { 
     241            EnableWindow( this._handle, TRUE ); 
     242        } 
     243 
     244        void disable() { 
     245            EnableWindow( this._handle, FALSE ); 
     246        } 
     247 
     248        void move( int x, int y ) { 
     249            if ( !SetWindowPos( this._handle, 0, x, y, 0, 0, 
     250                SWP_NOZORDER | SWP_NOSIZE ) ) { 
     251                throw new Exception( __FILE__ ~ " : SetWindowPos Failed." ); 
     252            } 
     253            this.describe; 
     254        } 
     255 
     256        void size( int width, int height ) { 
     257            if ( !SetWindowPos( this._handle, 0, 0, 0, width, height, 
     258                SWP_NOZORDER | SWP_NOMOVE ) ) { 
     259                throw new Exception( __FILE__ ~ " : SetWindowPos Failed." ); 
     260            } 
     261            this.describe; 
     262        } 
     263 
     264        void rename( wchar[] name ) { 
    266265            this._name = name; 
    267             if(!SetWindowText(this._handle, toString16z(this._name))) 
    268                 throw new Exception(__FILE__ ~ " : SetWindowText Failed."); 
    269         } 
    270          
    271         void cursor(bool state) 
    272         { 
    273             ShowCursor(state ? TRUE : FALSE); 
    274         } 
    275          
    276         void cursor(int x, int y) 
    277         { 
     266            if ( !SetWindowText( this._handle, toString16z( this._name ) ) ) { 
     267                throw new Exception( __FILE__ ~ " : SetWindowText Failed." ); 
     268            } 
     269        } 
     270 
     271        void cursor( bool state ) { 
     272            ShowCursor( state ? TRUE : FALSE ); 
     273        } 
     274 
     275        void cursor( int x, int y ) { 
    278276            POINT point; 
    279277            point.x = x; 
    280278            point.y = y; 
    281             if(!ClientToScreen(this._handle, &point)) 
    282                 throw new Exception(__FILE__ ~ " : ClientToScreen Failed."); 
    283             if(!SetCursorPos(point.x, point.y)) 
    284                 throw new Exception(__FILE__ ~ " : SetCursorPos Failed."); 
    285         } 
    286          
    287         void raise() 
    288         { 
    289             if(!SetForegroundWindow(this._handle)) 
    290                 throw new Exception(__FILE__ ~ " : SetForegroundWindow Failed."); 
    291         } 
    292          
    293         void lower() 
    294         { 
    295             if(!SetWindowPos(this._handle, 1, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE)) 
    296                 throw new Exception(__FILE__ ~ " : SetWindowPos Failed."); 
    297         } 
    298          
    299         void notify(bool state = true) 
    300         { 
     279            if ( !ClientToScreen( this._handle, &point ) ) { 
     280                throw new Exception( __FILE__ ~ " : ClientToScreen Failed." ); 
     281            } 
     282            if ( !SetCursorPos( point.x, point.y ) ) { 
     283                throw new Exception( __FILE__ ~ " : SetCursorPos Failed." ); 
     284            } 
     285        } 
     286 
     287        void raise() { 
     288            if ( !SetForegroundWindow( this._handle ) ) { 
     289                throw new Exception( 
     290                    __FILE__ ~ " : SetForegroundWindow Failed." ); 
     291            } 
     292        } 
     293 
     294        void lower() { 
     295            if ( !SetWindowPos( this._handle, 1, 0, 0, 0, 0, 
     296                SWP_NOSIZE | SWP_NOMOVE ) ) { 
     297                throw new Exception( __FILE__ ~ " : SetWindowPos Failed." ); 
     298            } 
     299        } 
     300 
     301        void notify( bool state = true ) { 
    301302            FLASHWINFO fw; 
    302             fw.cbSize = FLASHWINFO.sizeof; 
    303             fw.hwnd = this._handle; 
    304             fw.dwFlags = state ? 0x00000001 | 0x00000002 | 0x0000000C : 0; 
    305             fw.dwTimeout = 0; 
    306             FlashWindowEx(&fw); 
    307         } 
    308          
    309         void paint() 
    310        
    311             if(!InvalidateRect(this._handle, null, 1)) 
    312                throw new Exception(__FILE__ ~ " : wglDeleteContext Failed."); 
     303           fw.cbSize = FLASHWINFO.sizeof; 
     304           fw.hwnd = this._handle; 
     305           fw.dwFlags = state ? 0x00000001 | 0x00000002 | 0x0000000C : 0; 
     306           fw.dwTimeout = 0; 
     307            FlashWindowEx( &fw ); 
     308        } 
     309 
     310        void paint() { 
     311           if ( !InvalidateRect( this._handle, null, 1 ) )
     312               throw new Exception( __FILE__ ~ " : wglDeleteContext Failed." ); 
     313            } 
    313314        } 
    314315    } 
    315316} 
    316317 
    317 class OpenGLWindow : Window 
    318 
     318class OpenGLWindow : Window { 
    319319    /* Members */ 
    320     private 
    321     { 
     320    private { 
    322321        HGLRC _opengl; 
    323322        HDC _device; 
    324323    } 
    325      
     324 
    326325    /* Properties */ 
    327     public 
    328     { 
    329         HGLRC context() 
    330         { 
     326    public { 
     327        HGLRC context() { 
    331328            return this._opengl; 
    332329        } 
    333330    } 
    334      
     331 
    335332    /* Functions */ 
    336     public 
    337     { 
    338         this(wchar[] name, int width = -1, int height = -1, int x = -1, int y = -1) 
    339         { 
    340             super(name, width, height, x, y); 
     333    public { 
     334       this( wchar[] name, int width = -1, int height = -1, int x = -1, 
     335           int y = -1 ) { 
     336           super( name, width, height, x, y ); 
     337             
    341338             
    342339            // Setup OpenGL 
    343             this._device = GetDC(this._handle); 
    344             if(!this._device) 
    345                 throw new Exception(__FILE__ ~ " : GetDC Failed."); 
    346             static PIXELFORMATDESCRIPTOR pfd = { 
    347                 nSize:PIXELFORMATDESCRIPTOR.sizeof, nVersion:1, 
    348                 dwFlags:PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER, 
    349                 iLayerType:PFD_MAIN_PLANE, iPixelType:PFD_TYPE_RGBA, 
    350                 cDepthBits:16, cAlphaBits:8, cColorBits:24 
    351             }; 
    352             int iformat = ChoosePixelFormat(this._device, &pfd); 
    353             if(!iformat) 
    354                 throw new Exception(__FILE__ ~ " : ChoosePixelFormat Failed."); 
    355             if(SetPixelFormat(this._device, iformat, &pfd) == 0) 
    356                 throw new Exception(__FILE__ ~ " : SetPixelFormat Failed."); 
    357             if((this._opengl = wglCreateContext(this._device)) == 0) 
    358                 throw new Exception(__FILE__ ~ " : wglCreateContext Failed."); 
    359         } 
    360          
    361         ~this() 
    362         { 
    363             if(!this._opengl) 
    364                 throw new Exception(__FILE__ ~ " : wglDeleteContext called again?"); 
    365             if(wglDeleteContext(this._opengl) == 0) 
    366                 throw new Exception(__FILE__ ~ " : wglDeleteContext Failed."); 
     340            this._device = GetDC( this._handle ); 
     341            if ( !this._device ) { 
     342                throw new Exception( __FILE__ ~ " : GetDC Failed." ); 
     343            } 
     344            static PIXELFORMATDESCRIPTOR 
     345                pfd = { 
     346                    nSize: PIXELFORMATDESCRIPTOR.sizeof, 
     347                    nVersion: 1, 
     348                    dwFlags: PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER, 
     349                    iLayerType: PFD_MAIN_PLANE, iPixelType: PFD_TYPE_RGBA, 
     350                    cDepthBits: 16, cAlphaBits: 8, cColorBits: 24}; 
     351            int iformat = ChoosePixelFormat( this._device, &pfd ); 
     352            if ( !iformat ) { 
     353                throw new Exception( __FILE__ ~ " : ChoosePixelFormat Failed." ); 
     354            } 
     355            if ( SetPixelFormat( this._device, iformat, &pfd ) == 0 ) { 
     356                throw new Exception( __FILE__ ~ " : SetPixelFormat Failed." ); 
     357            } 
     358            if ( (this._opengl = wglCreateContext( this._device )) == 0 ) { 
     359                throw new Exception( __FILE__ ~ " : wglCreateContext Failed." ); 
     360            } 
     361        } 
     362 
     363        ~this() { 
     364            if ( !this._opengl ) { 
     365                throw new Exception( 
     366                    __FILE__ ~ " : wglDeleteContext called again?" ); 
     367            } 
     368            if ( wglDeleteContext( this._opengl ) == 0 ) { 
     369                throw new Exception( __FILE__ ~ " : wglDeleteContext Failed." ); 
     370            } 
    367371            this._opengl = 0; 
    368             ReleaseDC(this._handle, this._device); 
    369         } 
    370          
    371         void begin() 
    372         { 
    373             if(wglMakeCurrent(this._device, this._opengl) == 0) 
    374                 throw new Exception(__FILE__ ~ " : wglMakeCurrent Failed."); 
    375         } 
    376          
    377         void end() 
    378         { 
     372            ReleaseDC( this._handle, this._device ); 
     373        } 
     374 
     375        void begin() { 
     376            if ( wglMakeCurrent( this._device, this._opengl ) == 0 ) { 
     377                throw new Exception( __FILE__ ~ " : wglMakeCurrent Failed." ); 
     378            } 
     379        } 
     380 
     381        void end() { 
    379382            glFlush(); 
    380             if(!SwapBuffers(this._device)) 
    381                 throw new Exception(__FILE__ ~ " : SwapBuffers Failed."); 
     383            if ( !SwapBuffers( this._device ) ) { 
     384                throw new Exception( __FILE__ ~ " : SwapBuffers Failed." ); 
     385            } 
    382386        } 
    383387    } 
  • trunk/src/uni/group/app.d

    r5 r43  
    11/+ 
    22 
    3    Copyright (c) 2008, Trevor Parscal 
    4      
    5    Module:    uni.group.lib 
     3 Copyright (c) 2008, Trevor Parscal 
     4  
     5 Module:  uni.group.lib 
    66 
    7 +/ 
     7 +/ 
    88 
    99module uni.group.app; 
    1010 
    1111/* Imports */ 
    12 public 
    13 
    14     version(Windows) 
    15     { 
     12public { 
     13    version ( Windows ) { 
    1614        import uni.app.platforms.windows.Application; 
    1715        import uni.app.platforms.windows.Window; 
    1816        import uni.app.platforms.windows.Event; 
    1917    } 
    20     version(darwin) 
    21    
     18 
     19    version ( darwin )
    2220        import uni.app.platforms.mac.Application; 
    2321        import uni.app.platforms.mac.Window; 
    2422        import uni.app.platforms.mac.Event; 
    2523    } 
    26     version(linux) 
    27    
     24 
     25    version ( linux )
    2826        import uni.app.platforms.linux.Application; 
    2927        import uni.app.platforms.linux.Window; 
    3028        import uni.app.platforms.linux.Event; 
    3129    } 
     30 
    3231    import uni.app.Application; 
    3332    import uni.app.Window; 
  • trunk/src/uni/group/render.d

    r29 r43  
    11/+ 
    22 
    3    Copyright (c) 2008, Trevor Parscal 
    4      
    5    Module:    uni.group.render 
     3 Copyright (c) 2008, Trevor Parscal 
     4  
     5 Module:  uni.group.render 
    66 
    7 +/ 
     7 +/ 
    88 
    99module uni.group.render; 
    1010 
    1111/* Imports */ 
    12 public 
    13 
     12public { 
    1413    import uni.lib.renderers.GL; 
    1514    import uni.lib.renderers.Cg; 
     
    2019     
    2120    import uni.render.Vector; 
    22      
    23    /* 
    24    import uni.render.draw.raster.Raster; 
    25    import uni.render.draw.raster.Map; 
    26    import uni.render.draw.raster.Render; 
    27    import uni.render.draw.raster.Shader; 
    28    import uni.render.draw.raster.Decode; 
    29      
    30    import uni.render.draw.vector.Vector; 
    31    import uni.render.draw.vector.Point; 
    32    import uni.render.draw.vector.Spline; 
    33    import uni.render.draw.vector.Shape; 
    34    */ 
     21 
     22/* 
     23 import uni.render.draw.raster.Raster; 
     24 import uni.render.draw.raster.Map; 
     25 import uni.render.draw.raster.Render; 
     26 import uni.render.draw.raster.Shader; 
     27 import uni.render.draw.raster.Decode; 
     28  
     29 import uni.render.draw.vector.Vector; 
     30 import uni.render.draw.vector.Point; 
     31 import uni.render.draw.vector.Spline; 
     32 import uni.render.draw.vector.Shape; 
     33 */ 
    3534} 
  • trunk/src/uni/group/system.d

    r16 r43  
    11/+ 
    22 
    3    Copyright (c) 2008, Trevor Parscal 
    4      
    5    Module:    uni.group.lib 
     3 Copyright (c) 2008, Trevor Parscal 
     4  
     5 Module:  uni.group.lib 
    66 
    7 +/ 
     7 +/ 
    88 
    99module uni.group.lib; 
    1010 
    1111/* Imports */ 
    12 public 
    13 
    14     version(Windows) 
    15     { 
     12public { 
     13    version ( Windows ) { 
    1614        import uni.lib.platforms.Windows; 
    1715    } 
    18     version(linux) 
    19    
     16 
     17    version ( linux )
    2018        import uni.lib.platforms.Linux; 
    2119    } 
    22     version(darwin) 
    23    
     20 
     21    version ( darwin )
    2422        import uni.lib.platforms.Mac; 
    2523    } 
  • trunk/src/uni/gui/Gui.d

    r30 r43  
    11/+ 
    22 
    3    Copyright (c) 2008, Trevor Parscal 
    4      
    5    Module:    uni.gui.native.Gui 
     3 Copyright (c) 2008, Trevor Parscal 
     4  
     5 Module:  uni.gui.native.Gui 
    66 
    7 +/ 
     7 +/ 
    88 
    99module uni.gui.Gui; 
    1010 
    1111/* Interfaces */ 
    12 interface IGui 
    13 
     12interface IGui { 
    1413    // Functions 
    15     void interact(SignalMeta meta); 
     14    void interact( SignalMeta meta ); 
    1615} 
  • trunk/src/uni/gui/Widget.d

    r30 r43  
    11/+ 
    22 
    3    Copyright (c) 2008, Trevor Parscal 
    4      
    5    Module:    uni.gui.native.Widget 
     3 Copyright (c) 2008, Trevor Parscal 
     4  
     5 Module:  uni.gui.native.Widget 
    66 
    7 +/ 
     7 +/ 
    88 
    99module uni.gui.Widget; 
    1010 
    1111/* Interfaces */ 
    12 interface IWidget 
    13 
     12interface IWidget { 
    1413    // Properties and States 
    1514    wchar[] name(); 
     15 
    1616    int width(); 
     17 
    1718    int height(); 
     19 
    1820    int x(); 
     21 
    1922    int y(); 
     23 
    2024    bool alive(); 
    2125} 
  • trunk/src/uni/lib/platforms/Linux.d

    r18 r43  
    11/+ 
    22 
    3    Copyright (c) 2008, Trevor Parscal 
    4      
    5    Module:    Bare-Minimum Linux API 
    6  
    7 +/ 
     3 Copyright (c) 2008, Trevor Parscal 
     4  
     5 Module:  Bare-Minimum Linux API 
     6 
     7 +/ 
    88 
    99module uni.lib.platforms.Linux; 
    1010 
    1111/* Pragmas */ 
    12 version(build) pragma(link, "X11"); 
     12version ( build ) 
     13    pragma ( link, "X11" ); 
    1314 
    1415/* Versions */ 
     
    1718/* Aliases */ 
    1819alias ushort XIMStringConversionPosition; 
    19 alias _XIM *XIM; 
    20 alias _XIC *XIC; 
    21 alias _XOM *XOM; 
    22 alias _XOC *XOC; 
    23 alias _XOC *XFontSet; 
    24 alias void *XVaNestedList; 
     20alias _XIM* XIM; 
     21alias _XIC* XIC; 
     22alias _XOM* XOM; 
     23alias _XOC* XOC; 
     24alias _XOC* XFontSet; 
     25alias void* XVaNestedList; 
    2526alias uint XID; 
    2627alias uint Mask; 
     
    3738alias XID KeySym; 
    3839alias uint KeyCode; 
    39 alias void function(XIM, XPointer, XPointer) XIMProc; 
    40 alias Bool function(XIC, XPointer, XPointer)XICProc; 
    41 alias void function(Display*, XPointer, XPointer)XIDProc; 
     40alias void function ( XIM, XPointer, XPointer ) XIMProc; 
     41alias Bool function ( XIC, XPointer, XPointer ) XICProc; 
     42alias void function ( Display*, XPointer, XPointer ) XIDProc; 
    4243alias XFocusChangeEvent XFocusInEvent; 
    4344alias XFocusChangeEvent XFocusOutEvent; 
     
    4950alias XKeyEvent XKeyPressedEvent; 
    5051alias XKeyEvent XKeyReleasedEvent; 
    51 alias Display *_XPrivDisplay; 
     52alias Display* _XPrivDisplay; 
    5253alias Display XDisplay; 
    5354alias void* GC; 
     
    130131alias ushort XIMStringConversionOperation; 
    131132 
    132  
    133133/* Constants */ 
    134134const char[] XNVaNestedList = "XNVaNestedList"; 
     
    191191const int XlibSpecificationRelease = 6; 
    192192const uint GCLastBit = 22; 
    193 const int NotifyHint = 1;  
     193const int NotifyHint = 1; 
    194194const XID None = 0; 
    195 const uint ParentRelative = 1;  
     195const uint ParentRelative = 1; 
    196196//const uint CopyFromParent = 0;  
    197 const Window PointerWindow = 0;  
    198 const Window InputFocus = 1;  
    199 const Window PointerRoot = 1;  
    200 const Atom AnyPropertyType = 0;  
    201 const KeyCode AnyKey = 0;  
    202 const uint AnyButton = 0;  
    203 const XID AllTemporary = 0;  
    204 const Time CurrentTime = 0;  
    205 const KeySym NoSymbol = 0;  
    206 const uint X_PROTOCOL = 11;  
    207 const uint X_PROTOCOL_REVISION = 0;  
     197const Window PointerWindow = 0; 
     198const Window InputFocus = 1; 
     199const Window PointerRoot = 1; 
     200const Atom AnyPropertyType = 0; 
     201const KeyCode AnyKey = 0; 
     202const uint AnyButton = 0; 
     203const XID AllTemporary = 0; 
     204const Time CurrentTime = 0; 
     205const KeySym NoSymbol = 0; 
     206const uint X_PROTOCOL = 11; 
     207const uint X_PROTOCOL_REVISION = 0; 
    208208const uint UnmapGravity = 0; 
    209209 
    210210/* Enumerations */ 
    211 enum:int 
    212 
     211enum : int { 
    213212    // EventMask 
    214213    NoEventMask = 0, 
    215     KeyPressMask = 1<<0, 
    216     KeyReleaseMask = 1<<1,  
    217     ButtonPressMask = 1<<2, 
    218     ButtonReleaseMask = 1<<3, 
    219     EnterWindowMask = 1<<4, 
    220     LeaveWindowMask = 1<<5, 
    221     PointerMotionMask = 1<<6, 
    222     PointerMotionHintMask = 1<<7, 
    223     Button1MotionMask = 1<<8, 
    224     Button2MotionMask = 1<<9, 
    225     Button3MotionMask = 1<<10, 
    226     Button4MotionMask = 1<<11, 
    227     Button5MotionMask = 1<<12, 
    228     ButtonMotionMask = 1<<13, 
    229     KeymapStateMask = 1<<14, 
    230     ExposureMask = 1<<15, 
    231     VisibilityChangeMask = 1<<16, 
    232     StructureNotifyMask = 1<<17, 
    233     ResizeRedirectMask = 1<<18, 
    234     SubstructureNotifyMask = 1<<19, 
    235     SubstructureRedirectMask = 1<<20, 
    236     FocusChangeMask = 1<<21, 
    237     PropertyChangeMask = 1<<22, 
    238     ColormapChangeMask = 1<<23, 
    239     OwnerGrabButtonMask = 1<<24, 
     214    KeyPressMask = 1 << 0, 
     215    KeyReleaseMask = 1 << 1, 
     216    ButtonPressMask = 1 << 2, 
     217    ButtonReleaseMask = 1 << 3, 
     218    EnterWindowMask = 1 << 4, 
     219    LeaveWindowMask = 1 << 5, 
     220    PointerMotionMask = 1 << 6, 
     221    PointerMotionHintMask = 1 << 7, 
     222    Button1MotionMask = 1 << 8, 
     223    Button2MotionMask = 1 << 9, 
     224    Button3MotionMask = 1 << 10, 
     225    Button4MotionMask = 1 << 11, 
     226    Button5MotionMask = 1 << 12, 
     227    ButtonMotionMask = 1 << 13, 
     228    KeymapStateMask = 1 << 14, 
     229    ExposureMask = 1 << 15, 
     230    VisibilityChangeMask = 1 << 16, 
     231    StructureNotifyMask = 1 << 17, 
     232    ResizeRedirectMask = 1 << 18, 
     233    SubstructureNotifyMask = 1 << 19, 
     234    SubstructureRedirectMask = 1 << 20, 
     235    FocusChangeMask = 1 << 21, 
     236    PropertyChangeMask = 1 << 22, 
     237    ColormapChangeMask = 1 << 23, 
     238    OwnerGrabButtonMask = 1 << 24, 
    240239    // EventType 
    241240    KeyPress = 2, 
     
    274273    LASTEvent = 35, 
    275274    // KeyMask 
    276     ShiftMask = 1<<0, 
    277     LockMask = 1<<1, 
    278     ControlMask = 1<<2, 
    279     Mod1Mask = 1<<3, 
    280     Mod2Mask = 1<<4, 
    281     Mod3Mask = 1<<5, 
    282     Mod4Mask = 1<<6, 
    283     Mod5Mask = 1<<7, 
    284     AnyModifier = 1<<15, 
     275    ShiftMask = 1 << 0, 
     276    LockMask = 1 << 1, 
     277    ControlMask = 1 << 2, 
     278    Mod1Mask = 1 << 3, 
     279    Mod2Mask = 1 << 4, 
     280    Mod3Mask = 1 << 5, 
     281    Mod4Mask = 1 << 6, 
     282    Mod5Mask = 1 << 7, 
     283    AnyModifier = 1 << 15, 
    285284    // ModifierName 
    286285    ShiftMapIndex = 0, 
     
    293292    Mod5MapIndex = 7, 
    294293    // ButtonMask 
    295     Button1Mask = 1<<8, 
    296     Button2Mask = 1<<9, 
    297     Button3Mask = 1<<10, 
    298     Button4Mask = 1<<11, 
    299     Button5Mask = 1<<12, 
     294    Button1Mask = 1 << 8, 
     295    Button2Mask = 1 << 9, 
     296    Button3Mask = 1 << 10, 
     297    Button4Mask = 1 << 11, 
     298    Button5Mask = 1 << 12, 
    300299    ///AnyModifier = 1<<15, 
    301300    // KeyOrButtonMask 
     
    376375    RevertToParent = 2, 
    377376    // XErrorCode 
    378     Success = 0,        
     377    Success = 0, 
    379378    BadRequest = 1, 
    380379    BadValue = 2, 
     
    386385    BadMatch = 8, 
    387386    BadDrawable = 9, 
    388     BadAccess = 10,     
     387    BadAccess = 10, 
    389388    BadAlloc = 11, 
    390389    BadColor = 12, 
     
    401400    InputOnly = 2, 
    402401    // WindowAttribute 
    403     CWBackPixmap = 1<<0, 
    404     CWBackPixel = 1<<1, 
    405     CWBorderPixmap = 1<<2, 
    406     CWBorderPixel = 1<<3, 
    407     CWBitGravity = 1<<4, 
    408     CWWinGravity = 1<<5, 
    409     CWBackingStore = 1<<6, 
    410     CWBackingPlanes = 1<<7, 
    411     CWBackingPixel = 1<<8, 
    412     CWOverrideRedirect = 1<<9, 
    413     CWSaveUnder = 1<<10, 
    414     CWEventMask = 1<<11, 
    415     CWDontPropagate = 1<<12, 
    416     CWColormap = 1<<13, 
    417     CWCursor = 1<<14, 
     402    CWBackPixmap = 1 << 0, 
     403    CWBackPixel = 1 << 1, 
     404    CWBorderPixmap = 1 << 2, 
     405    CWBorderPixel = 1 << 3, 
     406    CWBitGravity = 1 << 4, 
     407    CWWinGravity = 1 << 5, 
     408    CWBackingStore = 1 << 6, 
     409    CWBackingPlanes = 1 << 7, 
     410    CWBackingPixel = 1 << 8, 
     411    CWOverrideRedirect = 1 << 9, 
     412    CWSaveUnder = 1 << 10, 
     413    CWEventMask = 1 << 11, 
     414    CWDontPropagate = 1 << 12, 
     415    CWColormap = 1 << 13, 
     416    CWCursor = 1 << 14, 
    418417    // ConfigureWindowStruct 
    419     CWX = 1<<0, 
    420     CWY = 1<<1, 
    421     CWWidth = 1<<2, 
    422     CWHeight = 1<<3, 
    423     CWBorderWidth = 1<<4, 
    424     CWSibling = 1<<5, 
    425     CWStackMode = 1<<6, 
     418    CWX = 1 << 0, 
     419    CWY = 1 << 1, 
     420    CWWidth = 1 << 2, 
     421    CWHeight = 1 << 3, 
     422    CWBorderWidth = 1 << 4, 
     423    CWSibling = 1 << 5, 
     424    CWStackMode = 1 << 6, 
    426425    // BitGravity 
    427426    ForgetGravity = 0, 
     
    465464    PropModeAppend = 2, 
    466465    // GraphicFunction 
    467     GXclear = 0x0,      
    468     GXand = 0x1,        
    469     GXandReverse = 0x2,         
    470     GXcopy = 0x3,       
    471     GXandInverted = 0x4,        
    472     GXnoop = 0x5,       
    473     GXxor = 0x6,        
    474     GXor = 0x7,         
    475     GXnor = 0x8,        
    476     GXequiv = 0x9,      
    477     GXinvert = 0xa,         
    478     GXorReverse = 0xb,      
    479     GXcopyInverted = 0xc,       
    480     GXorInverted = 0xd,         
    481     GXnand = 0xe,       
    482     GXset = 0xf   
     466    GXclear = 0x0, 
     467    GXand = 0x1, 
     468    GXandReverse = 0x2, 
     469    GXcopy = 0x3, 
     470    GXandInverted = 0x4, 
     471    GXnoop = 0x5, 
     472    GXxor = 0x6, 
     473    GXor = 0x7, 
     474    GXnor = 0x8, 
     475    GXequiv = 0x9, 
     476    GXinvert = 0xa, 
     477    GXorReverse = 0xb, 
     478    GXcopyInverted = 0xc, 
     479    GXorInverted = 0xd, 
     480    GXnand = 0xe, 
     481    GXset = 0xf
    483482    // LineStyle 
    484483    LineSolid = 0, 
     
    511510    YXBanded = 3, 
    512511    // CoordinateMode 
    513     CoordModeOrigin = 0,    
     512    CoordModeOrigin = 0, 
    514513    CoordModePrevious = 1, 
    515514    // PolygonShape 
    516     Complex = 0,    
    517     Nonconvex = 1,  
     515    Complex = 0, 
     516    Nonconvex = 1, 
    518517    Convex = 2, 
    519518    // ArcMode 
    520     ArcChord = 0,   
     519    ArcChord = 0, 
    521520    ArcPieSlice = 1, 
    522521    // GCMask 
    523     GCFunction = 1<<0, 
    524     GCPlaneMask = 1<<1, 
    525     GCForeground = 1<<2, 
    526     GCBackground = 1<<3, 
    527     GCLineWidth = 1<<4, 
    528     GCLineStyle = 1<<5, 
    529     GCCapStyle = 1<<6, 
    530     GCJoinStyle = 1<<7, 
    531     GCFillStyle = 1<<8, 
    532     GCFillRule = 1<<9, 
    533     GCTile = 1<<10, 
    534     GCStipple = 1<<11, 
    535     GCTileStipXOrigin = 1<<12, 
    536     GCTileStipYOrigin = 1<<13, 
    537     GCFont = 1<<14, 
    538     GCSubwindowMode = 1<<15, 
    539     GCGraphicsExposures = 1<<16, 
    540     GCClipXOrigin = 1<<17, 
    541     GCClipYOrigin = 1<<18, 
    542     GCClipMask = 1<<19, 
    543     GCDashOffset = 1<<20, 
    544     GCDashList = 1<<21, 
    545     GCArcMode = 1<<22, 
     522    GCFunction = 1 << 0, 
     523    GCPlaneMask = 1 << 1, 
     524    GCForeground = 1 << 2, 
     525    GCBackground = 1 << 3, 
     526    GCLineWidth = 1 << 4, 
     527    GCLineStyle = 1 << 5, 
     528    GCCapStyle = 1 << 6, 
     529    GCJoinStyle = 1 << 7, 
     530    GCFillStyle = 1 << 8, 
     531    GCFillRule = 1 << 9, 
     532    GCTile = 1 << 10, 
     533    GCStipple = 1 << 11, 
     534    GCTileStipXOrigin = 1 << 12, 
     535    GCTileStipYOrigin = 1 << 13, 
     536    GCFont = 1 << 14, 
     537    GCSubwindowMode = 1 << 15, 
     538    GCGraphicsExposures = 1 << 16, 
     539    GCClipXOrigin = 1 << 17, 
     540    GCClipYOrigin = 1 << 18, 
     541    GCClipMask = 1 << 19, 
     542    GCDashOffset = 1 << 20, 
     543    GCDashList = 1 << 21, 
     544    GCArcMode = 1 << 22, 
    546545    // FontDrawDirection 
    547546    FontLeftToRight = 0, 
     
    549548    FontChange = 255, 
    550549    // ImageFormat 
    551     XYBitmap = 0,   
     550    XYBitmap = 0, 
    552551    XYPixmap = 1, 
    553552    // AllocType 
    554     AllocNone = 0,  
     553    AllocNone = 0, 
    555554    AllocAll = 1, 
    556555    // StoreColor 
    557     DoRed = 1<<0, 
    558     DoGreen = 1<<1, 
    559     DoBlue = 1<<2, 
     556    DoRed = 1 << 0, 
     557    DoGreen = 1 << 1, 
     558    DoBlue = 1 << 2, 
    560559    // QueryBestSizeClass 
    561     CursorShape = 0,    
    562     TileShape = 1,  
     560    CursorShape = 0, 
     561    TileShape = 1, 
    563562    StippleShape = 2, 
    564563    // AutoRepeatMode 
     
    570569    LedModeOn = 1, 
    571570    // KBMask 
    572     KBKeyClickPercent = 1<<0, 
    573     KBBellPercent = 1<<1, 
    574     KBBellPitch = 1<<2, 
    575     KBBellDuration = 1<<3, 
    576     KBLed = 1<<4, 
    577     KBLedMode = 1<<5, 
    578     KBKey = 1<<6, 
    579     KBAutoRepeatMode = 1<<7, 
     571    KBKeyClickPercent = 1 << 0, 
     572    KBBellPercent = 1 << 1, 
     573    KBBellPitch = 1 << 2, 
     574    KBBellDuration = 1 << 3, 
     575    KBLed = 1 << 4, 
     576    KBLedMode = 1 << 5, 
     577    KBKey = 1 << 6, 
     578    KBAutoRepeatMode = 1 << 7, 
    580579    // MappingErrorCode 
    581580    MappingSuccess = 0, 
     
    604603    HostDelete = 1, 
    605604    // HostAccess 
    606     EnableAccess = 1,  
     605    EnableAccess = 1, 
    607606    DisableAccess = 0, 
    608607    // DisplayClass 
     
    651650    XIMPreviousLine = 7, 
    652651    XIMLineStart = 8, 
    653     XIMLineEnd = 9,  
     652    XIMLineEnd = 9, 
    654653    XIMAbsolutePosition = 10, 
    655654    XIMDontChange = 11, 
    656655    // XIMCaretStyle 
    657     XIMIsInvisible = 0,  
    658     XIMIsPrimary = 1,   
     656    XIMIsInvisible = 0, 
     657    XIMIsPrimary = 1, 
    659658    XIMIsSecondary = 2, 
    660659    // XIMStatusDataType 
     
    662661    XIMBitmapType = 1 
    663662} 
    664 enum:uint 
    665 
     663 
     664enum : uint
    666665    // XIMStyle 
    667666    XIMPreeditArea = 0x0001L, 
     
    676675    // XIMFeedback 
    677676    XIMReverse = 1, 
    678     XIMUnderline = 1<<1, 
    679     XIMHighlight = 1<<2, 
    680     XIMPrimary = 1<<5, 
    681     XIMSecondary = 1<<6, 
    682     XIMTertiary = 1<<7, 
    683     XIMVisibleToForward = 1<<8, 
    684     XIMVisibleToBackword = 1<<9, 
    685     XIMVisibleToCenter = 1<<10, 
     677    XIMUnderline = 1 << 1, 
     678    XIMHighlight = 1 << 2, 
     679    XIMPrimary = 1 << 5, 
     680    XIMSecondary = 1 << 6, 
     681    XIMTertiary = 1 << 7, 
     682    XIMVisibleToForward = 1 << 8, 
     683    XIMVisibleToBackword = 1 << 9, 
     684    XIMVisibleToCenter = 1 << 10, 
    686685    // XIMPreeditState 
    687686    XIMPreeditUnKnown = 0L, 
    688687    XIMPreeditEnable = 1L, 
    689     XIMPreeditDisable = 1L<<1, 
     688    XIMPreeditDisable = 1L << 1, 
    690689    // XIMResetState 
    691690    XIMInitialState = 1L, 
    692     XIMPreserveState = 1L<<1, 
     691    XIMPreserveState = 1L << 1, 
    693692    // XIMStringConversionFeedback 
    694693    XIMStringConversionLeftEdge = 0x00000001, 
     
    702701    XIMHotKeyStateOFF = 0x0002L 
    703702} 
    704 enum:ushort 
    705 
     703 
     704enum : ushort
    706705    // XIMStringConversionType 
    707706    XIMStringConversionBuffer = 0x0001, 
     
    715714 
    716715/* Unions */ 
    717 union XEvent 
    718 
     716union XEvent { 
    719717    int type; 
    720718    XAnyEvent xany; 
     
    749747    XErrorEvent xerror; 
    750748    XKeymapEvent xkeymap; 
    751     long pad[24]; 
    752 } 
    753 union XEDataObject 
    754 {  
     749    long pad[ 24 ]; 
     750} 
     751 
     752union XEDataObject { 
    755753    Display* display; 
    756754    GC gc; 
     
    758756    Screen* screen; 
    759757    ScreenFormat* pixmap_format; 
    760     XFontStruct* font;  
     758    XFontStruct* font; 
    761759} 
    762760 
    763761/* Structures */ 
    764 struct _XIM { } 
    765 struct _XIC { } 
    766 struct _XOM { }  
    767 struct _XOC { } 
    768 struct XrmHashBucketRec { } 
    769 struct _XPrivate { }  
    770 struct _XrmHashBucketRec { } 
    771 struct XIMValuesList 
    772 
     762struct _XIM { 
     763
     764 
     765struct _XIC { 
     766
     767 
     768struct _XOM { 
     769
     770 
     771struct _XOC { 
     772
     773 
     774struct XrmHashBucketRec { 
     775
     776 
     777struct _XPrivate { 
     778
     779 
     780struct _XrmHashBucketRec { 
     781
     782 
     783struct XIMValuesList { 
    773784    ushort count_values; 
    774785    byte** supported_values; 
    775786} 
    776 struct XIMHotKeyTriggers  
    777 
     787 
     788struct XIMHotKeyTriggers
    778789    int num_hot_key; 
    779     XIMHotKeyTrigger *key; 
    780 } 
    781 struct XIMStatusDrawCallbackStruct  
    782 
     790    XIMHotKeyTrigger* key; 
     791} 
     792 
     793struct XIMStatusDrawCallbackStruct
    783794    XIMStatusDataType type; 
    784     union data 
    785    
     795 
     796    union data
    786797        XIMText* text; 
    787798        Pixmap bitmap; 
    788799    } 
    789800} 
    790 struct XIMHotKeyTrigger  
    791 
     801 
     802struct XIMHotKeyTrigger
    792803    KeySym keysym; 
    793804    int modifier; 
    794805    int modifier_mask; 
    795806} 
    796 struct XIMPreeditCaretCallbackStruct  
    797 
    798     int position;  
    799     XIMCaretDirection direction;  
    800     XIMCaretStyle style;  
    801 } 
    802 struct XIMStringConversionCallbackStruct  
    803 
     807 
     808struct XIMPreeditCaretCallbackStruct
     809    int position; 
     810    XIMCaretDirection direction; 
     811    XIMCaretStyle style; 
     812} 
     813 
     814struct XIMStringConversionCallbackStruct
    804815    XIMStringConversionPosition position; 
    805816    XIMCaretDirection direction; 
     
    808819    XIMStringConversionText* text; 
    809820} 
    810 struct XIMPreeditDrawCallbackStruct  
    811 
    812     int caret;  
    813     int chg_first;  
    814     int chg_length;     
     821 
     822struct XIMPreeditDrawCallbackStruct
     823    int caret; 
     824    int chg_first; 
     825    int chg_length; 
    815826    XIMText* text; 
    816827} 
    817 struct XIMStringConversionText  
    818 
     828 
     829struct XIMStringConversionText
    819830    uint length; 
    820831    XIMStringConversionFeedback* feedback; 
    821     Bool encoding_is_wchar;  
    822     union string 
    823    
     832    Bool encoding_is_wchar; 
     833 
     834    union string
    824835        byte* mbs; 
    825836        wchar* wcs; 
    826     }  
    827 } 
    828 struct  XIMPreeditStateNotifyCallbackStruct 
    829 
     837    } 
     838} 
     839 
     840struct XIMPreeditStateNotifyCallbackStruct
    830841    XIMPreeditState state; 
    831842} 
    832 struct XIMText  
    833 
     843 
     844struct XIMText
    834845    ushort length; 
    835846    XIMFeedback* feedback; 
    836     Bool encoding_is_wchar;  
    837     union string  
    838    
     847    Bool encoding_is_wchar; 
     848 
     849    union string
    839850        byte* multi_byte; 
    840851        wchar* wide_char; 
    841     }  
    842 } 
    843 struct XVisualInfo 
    844 
     852    } 
     853} 
     854 
     855struct XVisualInfo
    845856    Visual* visual; 
    846857    VisualID visualid; 
     
    854865    int bits_per_rgb; 
    855866} 
    856 struct XIMCallback 
    857 
     867 
     868struct XIMCallback
    858869    XPointer client_data; 
    859870    XIMProc callback; 
    860871} 
    861 struct XICCallback 
    862 
     872 
     873struct XICCallback
    863874    XPointer client_data; 
    864875    XICProc callback; 
    865876} 
    866 struct XIMStyles 
    867 
     877 
     878struct XIMStyles
    868879    ushort count_styles; 
    869880    XIMStyle* supported_styles; 
    870881} 
    871 struct XOMOrientation 
    872 
     882 
     883struct XOMOrientation
    873884    int num_orientation; 
    874     XOrientation* orientation;  
    875 } 
    876 struct XOMFontInfo 
    877 
     885    XOrientation* orientation; 
     886} 
     887 
     888struct XOMFontInfo
    878889    int num_font; 
    879890    XFontStruct** font_struct_list; 
    880891    byte** font_name_list; 
    881892} 
    882 struct XOMCharSetList 
    883 
     893 
     894struct XOMCharSetList
    884895    int charset_count; 
    885896    byte** charset_list; 
    886897} 
    887 struct XmbTextItem 
    888 
    889     byte *chars; 
    890     int nchars; 
    891     int delta; 
    892     XFontSet    font_set; 
    893 
    894 struct XwcTextItem 
    895 
    896     wchar *chars; 
     898 
     899struct XmbTextItem { 
     900    byte* chars; 
    897901    int nchars; 
    898902    int delta; 
    899903    XFontSet font_set; 
    900904} 
    901 struct XFontSetExtents 
    902 
    903     XRectangle  max_ink_extent; 
    904     XRectangle  max_logical_extent; 
    905 
    906 struct XTextItem16 
    907 
    908     XChar2b* chars;  
    909     int nchars;  
    910     int delta;  
    911     Font font;  
    912 }  
    913 struct XTextItem 
    914 
    915     char *chars;  
    916     int nchars;  
    917     int delta;  
    918     Font font;  
    919 
    920 struct XChar2b 
    921 {  
    922     align(1): 
    923     ubyte byte1; 
    924     ubyte byte2; 
    925 
    926 struct XFontProp  
    927 
     905 
     906struct XwcTextItem { 
     907    wchar* chars; 
     908    int nchars; 
     909    int delta; 
     910    XFontSet font_set; 
     911
     912 
     913struct XFontSetExtents { 
     914    XRectangle max_ink_extent; 
     915    XRectangle max_logical_extent; 
     916
     917 
     918struct XTextItem16 { 
     919    XChar2b* chars; 
     920    int nchars; 
     921    int delta; 
     922    Font font; 
     923
     924 
     925struct XTextItem { 
     926    char* chars; 
     927    int nchars; 
     928    int delta; 
     929    Font font; 
     930
     931 
     932struct XChar2b { 
     933    align ( 1 ): 
     934        ubyte byte1; 
     935        ubyte byte2; 
     936
     937 
     938struct XFontProp { 
    928939    Atom name; 
    929940    uint card32; 
    930941} 
    931 struct XFontStruct 
    932 
    933     XExtData *ext_data;  
    934     Font fid;  
    935     FontDrawDirection direction;    
    936     uint min_char_or_byte2;     
    937     uint max_char_or_byte2;     
    938     uint min_byte1;  
    939     uint max_byte1;  
    940     Bool all_chars_exist;   
    941     uint default_char;  
    942     int n_properties;  
    943     XFontProp *properties;  
    944     XCharStruct    min_bounds;  
    945     XCharStruct    max_bounds;  
    946     XCharStruct    *per_char;  
    947     int ascent;  
    948     int descent;  
    949 } 
    950 struct XCharStruct 
    951 
    952     short  lbearing;    
    953     short  rbearing;    
    954     short  width;  
    955     short  ascent;  
    956     short  descent;     
    957     short attributes;   
    958 } 
    959 struct XKeymapEvent 
    960 
    961     int type; 
    962     uint serial;    
    963     Bool send_event;    
    964     Display* display;   
     942 
     943struct XFontStruct
     944    XExtData* ext_data; 
     945    Font fid; 
     946    FontDrawDirection direction; 
     947    uint min_char_or_byte2; 
     948    uint max_char_or_byte2; 
     949    uint min_byte1; 
     950    uint max_byte1; 
     951    Bool all_chars_exist; 
     952    uint default_char; 
     953    int n_properties; 
     954    XFontProp* properties; 
     955    XCharStruct min_bounds; 
     956    XCharStruct max_bounds; 
     957    XCharStruct* per_char; 
     958    int ascent; 
     959    int descent; 
     960} 
     961 
     962struct XCharStruct
     963    short lbearing; 
     964    short rbearing; 
     965    short width; 
     966    short ascent; 
     967    short descent; 
     968    short attributes; 
     969} 
     970 
     971struct XKeymapEvent
     972    int type; 
     973    uint serial; 
     974    Bool send_event; 
     975    Display* display; 
    965976    Window window; 
    966     byte key_vector[32]; 
    967 }   
    968 struct XExposeEvent 
    969 
    970     int type; 
    971     uint serial;    
    972     Bool send_event;    
    973     Display* display;   
     977    byte key_vector[ 32 ]; 
     978} 
     979 
     980struct XExposeEvent
     981    int type; 
     982    uint serial; 
     983    Bool send_event; 
     984    Display* display; 
    974985    Window window; 
    975986    int x, y; 
    976987    int width, height; 
    977     int count;  
    978 } 
    979 struct XGraphicsExposeEvent 
    980 
    981     int type; 
    982     uint serial;    
    983     Bool send_event;    
    984     Display* display;   
     988    int count; 
     989} 
     990 
     991struct XGraphicsExposeEvent
     992    int type; 
     993    uint serial; 
     994    Bool send_event; 
     995    Display* display; 
    985996    Drawable drawable; 
    986997    int x, y; 
    987998    int width, height; 
    988     int count;  
    989     int major_code;  
    990     int minor_code;  
    991 } 
    992 struct XNoExposeEvent 
    993 
    994     int type; 
    995     uint serial;    
    996     Bool send_event;    
    997     Display* display;   
     999    int count; 
     1000    int major_code; 
     1001    int minor_code; 
     1002} 
     1003 
     1004struct XNoExposeEvent
     1005    int type; 
     1006    uint serial; 
     1007    Bool send_event; 
     1008    Display* display; 
    9981009    Drawable drawable; 
    999     int major_code;  
    1000     int minor_code;  
    1001 } 
    1002 struct XVisibilityEvent 
    1003 
    1004     int type; 
    1005     uint serial;    
    1006     Bool send_event;    
    1007     Display* display;   
     1010    int major_code; 
     1011    int minor_code; 
     1012} 
     1013 
     1014struct XVisibilityEvent
     1015    int type; 
     1016    uint serial; 
     1017    Bool send_event; 
     1018    Display* display; 
    10081019    Window window; 
    1009     VisibilityNotify state;  
    1010 } 
    1011 struct XCreateWindowEvent 
    1012 
    1013     int type; 
    1014     uint serial;    
    1015     Bool send_event;    
    1016     Display* display;   
    1017     Window parent;  
    1018     Window window;  
    1019     int x, y;  
    1020     int width, height;  
    1021     int border_width;   
    1022     Bool override_redirect;     
    1023 } 
    1024 struct XDestroyWindowEvent  
    1025 
    1026     int type; 
    1027     uint serial;  
    1028     Bool send_event;    
    1029     Display* display;   
     1020    VisibilityNotify state; 
     1021} 
     1022 
     1023struct XCreateWindowEvent
     1024    int type; 
     1025    uint serial; 
     1026    Bool send_event; 
     1027    Display* display; 
     1028    Window parent; 
     1029    Window window; 
     1030    int x, y; 
     1031    int width, height; 
     1032    int border_width; 
     1033    Bool override_redirect; 
     1034} 
     1035 
     1036struct XDestroyWindowEvent
     1037    int type; 
     1038    uint serial; 
     1039    Bool send_event; 
     1040    Display* display; 
    10301041    Window event; 
    10311042    Window window; 
    10321043} 
    1033 struct XUnmapEvent 
    1034 
    1035     int type; 
    1036     uint serial;  
    1037     Bool send_event;    
    1038     Display* display;   
     1044 
     1045struct XUnmapEvent
     1046    int type; 
     1047    uint serial; 
     1048    Bool send_event; 
     1049    Display* display; 
    10391050    Window event; 
    10401051    Window window; 
    10411052    Bool from_configure; 
    10421053} 
    1043 struct XMapEvent 
    1044 
    1045     int type; 
    1046     uint serial;  
    1047     Bool send_event;    
    1048     Display* display;   
     1054 
     1055struct XMapEvent
     1056    int type; 
     1057    uint serial; 
     1058    Bool send_event; 
     1059    Display* display; 
    10491060    Window event; 
    10501061    Window window; 
    1051     Bool override_redirect;     
    1052 } 
    1053 struct XMapRequestEvent 
    1054 
    1055     int type; 
    1056     uint serial;    
    1057     Bool send_event;    
    1058     Display* display;   
     1062    Bool override_redirect; 
     1063} 
     1064 
     1065struct XMapRequestEvent
     1066    int type; 
     1067    uint serial; 
     1068    Bool send_event; 
     1069    Display* display; 
    10591070    Window parent; 
    10601071    Window window; 
    10611072} 
    1062 struct XReparentEvent 
    1063 
    1064     int type; 
    1065     uint serial;    
    1066     Bool send_event;    
    1067     Display* display;   
     1073 
     1074struct XReparentEvent
     1075    int type; 
     1076    uint serial; 
     1077    Bool send_event; 
     1078    Display* display; 
    10681079    Window event; 
    10691080    Window window; 
     
    10721083    Bool override_redirect; 
    10731084} 
    1074 struct XConfigureEvent 
    1075 
    1076     int type; 
    1077     uint serial;    
    1078     Bool send_event;    
    1079     Display* display;   
     1085 
     1086struct XConfigureEvent
     1087    int type; 
     1088    uint serial; 
     1089    Bool send_event; 
     1090    Display* display; 
    10801091    Window event; 
    10811092    Window window; 
     
    10861097    Bool override_redirect; 
    10871098} 
    1088 struct XGravityEvent 
    1089 
    1090     int type; 
    1091     uint serial;    
    1092     Bool send_event;    
    1093     Display* display;   
     1099 
     1100struct XGravityEvent
     1101    int type; 
     1102    uint serial; 
     1103    Bool send_event; 
     1104    Display* display; 
    10941105    Window event; 
    10951106    Window window; 
    10961107    int x, y; 
    10971108} 
    1098 struct XResizeRequestEvent 
    1099 
    1100     int type; 
    1101     uint serial;    
    1102     Bool send_event;    
    1103     Display* display;   
     1109 
     1110struct XResizeRequestEvent
     1111    int type; 
     1112    uint serial; 
     1113    Bool send_event; 
     1114    Display* display; 
    11041115    Window window; 
    11051116    int width, height; 
    11061117} 
    1107 struct XConfigureRequestEvent 
    1108 
    1109     int type; 
    1110     uint serial;    
    1111     Bool send_event;    
    1112     Display* display;   
     1118 
     1119struct XConfigureRequestEvent
     1120    int type; 
     1121    uint serial; 
     1122    Bool send_event; 
     1123    Display* display; 
    11131124    Window parent; 
    11141125    Window window; 
     
    11171128    int border_width; 
    11181129    Window above; 
    1119     WindowStackingMethod detail;  
     1130    WindowStackingMethod detail; 
    11201131    uint value_mask; 
    11211132} 
    1122 struct XCirculateEvent 
    1123 
    1124     int type; 
    1125     uint serial;    
    1126     Bool send_event;    
    1127     Display* display;   
     1133 
     1134struct XCirculateEvent
     1135    int type; 
     1136    uint serial; 
     1137    Bool send_event; 
     1138    Display* display; 
    11281139    Window event; 
    11291140    Window window; 
    1130     CirculationRequest place;  
    1131 } 
    1132 struct XCirculateRequestEvent 
    1133 
    1134     int type; 
    1135     uint serial;    
    1136     Bool send_event;    
    1137     Display* display;   
     1141    CirculationRequest place; 
     1142} 
     1143 
     1144struct XCirculateRequestEvent
     1145    int type; 
     1146    uint serial; 
     1147    Bool send_event; 
     1148    Display* display; 
    11381149    Window parent; 
    11391150    Window window; 
    1140     CirculationRequest place;  
    1141 } 
    1142 struct XPropertyEvent 
    1143 
    1144     int type; 
    1145     uint serial;    
    1146     Bool send_event;    
    1147     Display* display;   
     1151    CirculationRequest place; 
     1152} 
     1153 
     1154struct XPropertyEvent
     1155    int type; 
     1156    uint serial; 
     1157    Bool send_event; 
     1158    Display* display; 
    11481159    Window window; 
    11491160    Atom atom; 
    11501161    Time time; 
    1151     PropertyNotification state;  
    1152 } 
    1153 struct XSelectionClearEvent 
    1154 
    1155     int type; 
    1156     uint serial;    
    1157     Bool send_event;    
    1158     Display* display;   
     1162    PropertyNotification state; 
     1163} 
     1164 
     1165struct XSelectionClearEvent
     1166    int type; 
     1167    uint serial; 
     1168    Bool send_event; 
     1169    Display* display; 
    11591170    Window window; 
    11601171    Atom selection; 
    11611172    Time time; 
    11621173} 
    1163 struct XSelectionRequestEvent 
    1164 
    1165     int type; 
    1166     uint serial;    
    1167     Bool send_event;    
    1168     Display* display;   
     1174 
     1175struct XSelectionRequestEvent
     1176    int type; 
     1177    uint serial; 
     1178    Bool send_event; 
     1179    Display* display; 
    11691180    Window owner; 
    11701181    Window requestor; 
     
    11741185    Time time; 
    11751186} 
    1176 struct XSelectionEvent 
    1177 
    1178     int type; 
    1179     uint serial;    
    1180     Bool send_event;    
    1181     Display* display;   
     1187 
     1188struct XSelectionEvent
     1189    int type; 
     1190    uint serial; 
     1191    Bool send_event; 
     1192    Display* display; 
    11821193    Window requestor; 
    11831194    Atom selection; 
    11841195    Atom target; 
    1185     Atom property;  
     1196    Atom property; 
    11861197    Time time; 
    11871198} 
    1188 struct XColormapEvent 
    1189 
    1190     int type; 
    1191     uint serial;    
    1192     Bool send_event;    
    1193     Display* display;   
     1199 
     1200struct XColormapEvent
     1201    int type; 
     1202    uint serial; 
     1203    Bool send_event; 
     1204    Display* display; 
    11941205    Window window; 
    1195     Colormap colormap;  
    1196     Bool new_;  
    1197     ColorMapNotification state;  
    1198 } 
    1199 struct XClientMessageEvent 
    1200 
    1201     int type; 
    1202     uint serial;    
    1203     Bool send_event;    
    1204     Display* display;   
     1206    Colormap colormap; 
     1207    Bool new_; 
     1208    ColorMapNotification state; 
     1209} 
     1210 
     1211struct XClientMessageEvent
     1212    int type; 
     1213    uint serial; 
     1214    Bool send_event; 
     1215    Display* display; 
    12051216    Window window; 
    12061217    Atom message_type; 
    12071218    int format; 
    1208     union data 
    1209    
    1210         byte b[20]; 
    1211         short s[10]; 
    1212         long l[5]; 
     1219 
     1220    union data
     1221        byte b[ 20 ]; 
     1222        short s[ 10 ]; 
     1223        long l[ 5 ]; 
    12131224    } 
    12141225} 
    1215 struct XMappingEvent 
    1216 
    1217     int type; 
    1218     uint serial;    
    1219     Bool send_event;    
    1220     Display* display;   
    1221     Window window;  
     1226 
     1227struct XMappingEvent
     1228    int type; 
     1229    uint serial; 
     1230    Bool send_event; 
     1231    Display* display; 
     1232    Window window; 
    12221233    MappingType request; 
    1223     int first_keycode;  
    1224     int count;  
    1225 } 
    1226 struct XErrorEvent 
    1227 
    1228     int type; 
    1229     Display* display;   
    1230     XID resourceid;  
    1231     uint serial;    
    1232     uint error_code;    
    1233     ubyte request_code;     
    1234     ubyte minor_code;   
    1235 } 
    1236 struct XAnyEvent  
    1237 
    1238     int type; 
    1239     ubyte serial;   
    1240     Bool send_event;    
    1241     Display* display; 
    1242     Window window;  
    1243 } 
    1244 struct XFocusChangeEvent 
    1245 
    1246     int type;  
    1247     uint serial;    
    1248     Bool send_event;    
    1249     Display* display;   
    1250     Window window;  
     1234    int first_keycode; 
     1235    int count; 
     1236} 
     1237 
     1238struct XErrorEvent
     1239    int type; 
     1240    Display* display; 
     1241    XID resourceid; 
     1242    uint serial; 
     1243    uint error_code; 
     1244    ubyte request_code; 
     1245    ubyte minor_code; 
     1246} 
     1247 
     1248struct XAnyEvent
     1249    int type; 
     1250    ubyte serial; 
     1251    Bool send_event; 
     1252    Display* display; 
     1253    Window window; 
     1254} 
     1255 
     1256struct XFocusChangeEvent
     1257    int type; 
     1258    uint serial; 
     1259    Bool send_event; 
     1260    Display* display; 
     1261    Window window; 
    12511262    NotifyModes mode; 
    12521263    NotifyDetail detail; 
    12531264} 
    1254 struct XCrossingEvent 
    1255 
    1256     int type;  
    1257     uint serial;    
    1258     Bool send_event;    
    1259     Display* display;   
    1260     Window window;  
    1261     Window root;  
    1262     Window subwindow;   
    1263     Time time;  
    1264     int x, y;  
    1265     int x_root, y_root;     
    1266     NotifyModes mode;  
     1265 
     1266struct XCrossingEvent
     1267    int type; 
     1268    uint serial; 
     1269    Bool send_event; 
     1270    Display* display; 
     1271    Window window; 
     1272    Window root; 
     1273    Window subwindow; 
     1274    Time time; 
     1275    int x, y; 
     1276    int x_root, y_root; 
     1277    NotifyModes mode; 
    12671278    NotifyDetail detail; 
    1268     Bool same_screen;   
    1269     Bool focus;  
    1270     KeyOrButtonMask state;  
    1271 } 
    1272 struct XMotionEvent 
    1273 
    1274     int type;  
    1275     uint serial;    
    1276     Bool send_event;    
    1277     Display* display;   
    1278     Window window;  
    1279     Window root;  
    1280     Window subwindow;   
    1281     Time time;  
    1282     int x, y;  
    1283     int x_root, y_root;     
    1284     KeyOrButtonMask state;  
    1285     byte is_hint;  
    1286     Bool same_screen;   
    1287 } 
    1288 struct XButtonEvent 
    1289 
    1290     int type;  
    1291     uint serial;    
    1292     Bool send_event;    
    1293     Display* display;   
    1294     Window window;  
    1295     Window root;  
    1296     Window subwindow;   
    1297     Time time;  
    1298     int x, y;  
    1299     int x_root, y_root;     
    1300     KeyOrButtonMask state;  
    1301     uint button;    
    1302     Bool same_screen;   
    1303 } 
    1304 struct XKeyEvent 
    1305 
    1306     int type;  
    1307     uint serial;  
    1308     Bool send_event;    
    1309     Display* display;   
    1310     Window window;  
    1311     Window root;  
    1312     Window subwindow;   
    1313     Time time;  
    1314     int x, y;  
    1315     int x_root, y_root;     
    1316     KeyOrButtonMask state;  
    1317     uint keycode;   
    1318     Bool same_screen;   
    1319 } 
    1320 struct Display 
    1321 
    1322     XExtData* ext_data;     
     1279    Bool same_screen; 
     1280    Bool focus; 
     1281    KeyOrButtonMask state; 
     1282} 
     1283 
     1284struct XMotionEvent
     1285    int type; 
     1286    uint serial; 
     1287    Bool send_event; 
     1288    Display* display; 
     1289    Window window; 
     1290    Window root; 
     1291    Window subwindow; 
     1292    Time time; 
     1293    int x, y; 
     1294    int x_root, y_root; 
     1295    KeyOrButtonMask state; 
     1296    byte is_hint; 
     1297    Bool same_screen; 
     1298} 
     1299 
     1300struct XButtonEvent
     1301    int type; 
     1302    uint serial; 
     1303    Bool send_event; 
     1304    Display* display; 
     1305    Window window; 
     1306    Window root; 
     1307    Window subwindow; 
     1308    Time time; 
     1309    int x, y; 
     1310    int x_root, y_root; 
     1311    KeyOrButtonMask state; 
     1312    uint button; 
     1313    Bool same_screen; 
     1314} 
     1315 
     1316struct XKeyEvent
     1317    int type; 
     1318    uint serial; 
     1319    Bool send_event; 
     1320    Display* display; 
     1321    Window window; 
     1322    Window root; 
     1323    Window subwindow; 
     1324    Time time; 
     1325    int x, y; 
     1326    int x_root, y_root; 
     1327    KeyOrButtonMask state; 
     1328    uint keycode; 
     1329    Bool same_screen; 
     1330} 
     1331 
     1332struct Display
     1333    XExtData* ext_data; 
    13231334    _XPrivate* private1; 
    1324     int fd;  
     1335    int fd; 
    13251336    int private2; 
    13261337    int proto_major_version; 
    13271338    int proto_minor_version; 
    1328     char* vendor;  
     1339    char* vendor; 
    13291340    XID private3; 
    13301341    XID private4; 
    13311342    XID private5; 
    13321343    int private6; 
    1333     XID function(Display*)resource_alloc; 
    1334     ByteOrder byte_order;  
    1335     int bitmap_unit;    
    1336     int bitmap_pad;  
    1337     ByteOrder bitmap_bit_order;     
    1338     int nformats;  
    1339     ScreenFormat* pixmap_format;    
     1344    XID function ( Display* ) resource_alloc; 
     1345    ByteOrder byte_order; 
     1346    int bitmap_unit; 
     1347    int bitmap_pad; 
     1348    ByteOrder bitmap_bit_order; 
     1349    int nformats; 
     1350    ScreenFormat* pixmap_format; 
    13401351    int private8; 
    1341     int release;  
     1352    int release; 
    13421353    _XPrivate* private9; 
    13431354    _XPrivate* private10; 
    1344     int qlen;  
    1345     uint last_request_read;  
    1346     uint request;   
     1355    int qlen; 
     1356    uint last_request_read; 
     1357    uint request; 
    13471358    XPointer private11; 
    13481359    XPointer private12; 
    13491360    XPointer private13; 
    13501361    XPointer private14; 
    1351     uint max_request_size;  
     1362    uint max_request_size; 
    13521363    _XrmHashBucketRec* db; 
    1353     int function (Display*)private15; 
    1354     char* display_name;     
    1355     int default_screen;     
    1356     int nscreens;  
    1357     Screen* screens;    
    1358     uint motion_buffer;     
     1364    int function ( Display* ) private15; 
     1365    char* display_name; 
     1366    int default_screen; 
     1367    int nscreens; 
     1368    Screen* screens; 
     1369    uint motion_buffer; 
    13591370    uint private16; 
    1360     int min_keycode;    
    1361     int max_keycode;    
     1371    int min_keycode; 
     1372    int max_keycode; 
    13621373    XPointer private17; 
    13631374    XPointer private18; 
     
    13651376    byte* xdefaults; 
    13661377} 
    1367 struct Screen 
    1368 
    1369     XExtData* ext_data;  
    1370     XDisplay* display;  
    1371     Window root;  
    1372     int width, height;  
    1373     int mwidth, mheight;    
    1374     int ndepths;  
    1375     Depth* depths;  
    1376     int root_depth;  
    1377     Visual* root_visual;    
    1378     GC default_gc;  
    1379     Colormap cmap;  
     1378 
     1379struct Screen
     1380    XExtData* ext_data; 
     1381    XDisplay* display; 
     1382    Window root; 
     1383    int width, height; 
     1384    int mwidth, mheight; 
     1385    int ndepths; 
     1386    Depth* depths; 
     1387    int root_depth; 
     1388    Visual* root_visual; 
     1389    GC default_gc; 
     1390    Colormap cmap; 
    13801391    uint white_pixel; 
    1381     uint black_pixel;  
    1382     int max_maps, min_maps;     
    1383     int backing_store;  
    1384     Bool save_unders;   
    1385     int root_input_mask;    
    1386 } 
    1387 struct ScreenFormat 
    1388 
    1389     XExtData* ext_data;     
    1390     int depth;  
    1391     int bits_per_pixel;     
    1392     int scanline_pad;   
    1393 } 
    1394 struct XSetWindowAttributes 
    1395 
    1396     Pixmap background_pixmap;   
    1397     uint background_pixel;  
    1398     Pixmap border_pixmap;  
    1399     uint border_pixel;  
    1400     BitGravity bit_gravity;  
    1401     BitGravity win_gravity;  
    1402     BackingStoreHint backing_store;  
    1403     uint backing_planes;  
    1404     uint backing_pixel;  
    1405     Bool save_under;  
    1406     long event_mask;  
     1392    uint black_pixel; 
     1393    int max_maps, min_maps; 
     1394    int backing_store; 
     1395    Bool save_unders; 
     1396    int root_input_mask; 
     1397} 
     1398 
     1399struct ScreenFormat
     1400    XExtData* ext_data; 
     1401    int depth; 
     1402    int bits_per_pixel; 
     1403    int scanline_pad; 
     1404} 
     1405 
     1406struct XSetWindowAttributes
     1407    Pixmap background_pixmap; 
     1408    uint background_pixel; 
     1409    Pixmap border_pixmap; 
     1410    uint border_pixel; 
     1411    BitGravity bit_gravity; 
     1412    BitGravity win_gravity; 
     1413    BackingStoreHint backing_store; 
     1414    uint backing_planes; 
     1415    uint backing_pixel; 
     1416    Bool save_under; 
     1417    long event_mask; 
    14071418    long do_not_propagate_mask; 
    1408     Bool override_redirect;  
    1409     Colormap colormap;  
    1410     Cursor cursor;  
    1411 } 
    1412 struct XWindowAttributes 
    1413 
    1414     int x, y;  
    1415     int width, height;  
    1416     int border_width;  
    1417     int depth;  
    1418     Visual* visual;  
    1419     Window root;  
    1420     WindowClass class_;  
    1421     BitGravity bit_gravity;  
    1422     BitGravity win_gravity;  
    1423     BackingStoreHint backing_store;     
    1424     uint backing_planes;  
    1425     uint backing_pixel;     
    1426     Bool save_under;  
    1427     Colormap colormap;  
    1428     Bool map_installed;  
    1429     MapState map_state;  
    1430     EventMask all_event_masks;  
    1431     EventMask your_event_mask;  
    1432     EventMask do_not_propagate_mask;  
    1433     Bool override_redirect;  
    1434     Screen* screen;  
    1435 } 
    1436 struct XHostAddress 
    1437 
    1438     ProtocolFamlily family;     
    1439     int length;  
    1440     void* address;  
    1441 } 
    1442 struct XServerInterpretedAddress 
    1443 
    1444     int typelength;  
    1445     int valuelength;    
    1446     void* type;  
    1447     void* value;  
    1448 } 
    1449 struct XImage 
    1450 
    1451     int width, height;  
    1452     int xoffset;  
    1453     ImageFormat format;  
    1454     void* data;  
    1455     ByteOrder byte_order;  
    1456     int bitmap_unit;  
    1457     int bitmap_bit_order;  
    1458     int bitmap_pad;  
    1459     int depth;  
    1460     int bytes_per_line;  
    1461     int bits_per_pixel;  
    1462     uint red_mask;  
     1419    Bool override_redirect; 
     1420    Colormap colormap; 
     1421    Cursor cursor; 
     1422} 
     1423 
     1424struct XWindowAttributes
     1425    int x, y; 
     1426    int width, height; 
     1427    int border_width; 
     1428    int depth; 
     1429    Visual* visual; 
     1430    Window root; 
     1431    WindowClass class_; 
     1432    BitGravity bit_gravity; 
     1433    BitGravity win_gravity; 
     1434    BackingStoreHint backing_store; 
     1435    uint backing_planes; 
     1436    uint backing_pixel; 
     1437    Bool save_under; 
     1438    Colormap colormap; 
     1439    Bool map_installed; 
     1440    MapState map_state; 
     1441    EventMask all_event_masks; 
     1442    EventMask your_event_mask; 
     1443    EventMask do_not_propagate_mask; 
     1444    Bool override_redirect; 
     1445    Screen* screen; 
     1446} 
     1447 
     1448struct XHostAddress
     1449    ProtocolFamlily family; 
     1450    int length; 
     1451    void* address; 
     1452} 
     1453 
     1454struct XServerInterpretedAddress
     1455    int typelength; 
     1456    int valuelength; 
     1457    void* type; 
     1458    void* value; 
     1459} 
     1460 
     1461struct XImage
     1462    int width, height; 
     1463    int xoffset; 
     1464    ImageFormat format; 
     1465    void* data; 
     1466    ByteOrder byte_order; 
     1467    int bitmap_unit; 
     1468    int bitmap_bit_order; 
     1469    int bitmap_pad; 
     1470    int depth; 
     1471    int bytes_per_line; 
     1472    int bits_per_pixel; 
     1473    uint red_mask; 
    14631474    uint green_mask; 
    14641475    uint blue_mask; 
    1465     XPointer obdata;  
    1466     struct f 
    1467     { 
    1468         XImage* function(XDisplay*, Visual*, uint, int, int, byte*, uint, uint, int, int) create_image; 
    1469         int function(XImage*)destroy_image; 
    1470         uint function(XImage*, int, int)get_pixel; 
    1471         int function(XImage*, int, int, uint)put_pixel; 
    1472         XImage function(XImage*, int, int, uint, uint)sub_image; 
    1473         int function(XImage*, int)add_pixel; 
     1476    XPointer obdata; 
     1477 
     1478    struct f { 
     1479        XImage* function ( XDisplay*, Visual*, uint, int, int, byte*, uint, uint, int, int ) 
     1480            create_image; 
     1481        int function ( XImage* ) destroy_image; 
     1482        uint function ( XImage*, int, int ) get_pixel; 
     1483        int function ( XImage*, int, int, uint ) put_pixel; 
     1484        XImage function ( XImage*, int, int, uint, uint ) sub_image; 
     1485        int function ( XImage*, int ) add_pixel; 
    14741486    } 
    14751487} 
    1476 struct XWindowChanges 
    1477 
     1488 
     1489struct XWindowChanges
    14781490    int x, y; 
    14791491    int width, height; 
     
    14821494    WindowStackingMethod stack_mode; 
    14831495} 
    1484 struct XColor 
    1485 
     1496 
     1497struct XColor
    14861498    uint pixel; 
    14871499    ushort red, green, blue; 
    1488     StoreColor flags;  
     1500    StoreColor flags; 
    14891501    byte pad; 
    14901502} 
    1491 struct XSegment 
    1492 
     1503 
     1504struct XSegment
    14931505    short x1, y1, x2, y2; 
    14941506} 
    1495 struct XPoint 
    1496 
     1507 
     1508struct XPoint
    14971509    short x, y; 
    14981510} 
    1499      
    1500 struct XRectangle 
    1501 
     1511 
     1512struct XRectangle { 
    15021513    short x, y; 
    15031514    ushort width, height; 
    15041515} 
    1505      
    1506 struct XArc 
    1507 
     1516 
     1517struct XArc { 
    15081518    short x, y; 
    15091519    ushort width, height; 
    15101520    short angle1, angle2; 
    15111521} 
    1512 struct XKeyboardControl 
    1513 
     1522 
     1523struct XKeyboardControl
    15141524    int key_click_percent; 
    15151525    int bell_percent; 
     
    15191529    LedMode led_mode; 
    15201530    int key; 
    1521     AutoRepeatMode auto_repeat_mode;  
    1522 } 
    1523 struct XKeyboardState 
    1524 
     1531    AutoRepeatMode auto_repeat_mode; 
     1532} 
     1533 
     1534struct XKeyboardState
    15251535    int key_click_percent; 
    15261536    int bell_percent; 
     
    15281538    uint led_mask; 
    15291539    int global_auto_repeat; 
    1530     byte auto_repeats[32]; 
    1531 } 
    1532 struct XTimeCoord 
    1533 
     1540    byte auto_repeats[ 32 ]; 
     1541} 
     1542 
     1543struct XTimeCoord
    15341544    Time time; 
    15351545    short x, y; 
    15361546} 
    1537 struct XModifierKeymap 
    1538 
    1539     int max_keypermod;  
    1540     KeyCode* modifiermap;   
    1541 } 
    1542 struct Visual 
    1543 
    1544     XExtData* ext_data;     
    1545     VisualID visualid;  
    1546     int _class;  
    1547     uint red_mask, green_mask, blue_mask;   
    1548     int bits_per_rgb;   
    1549     int map_entries;    
    1550 } 
    1551 struct Depth 
    1552 
    1553     int depth;  
    1554     int nvisuals;  
    1555     Visual* visuals;    
    1556 } 
    1557 struct XExtData  
    1558 
    1559     int number;  
    1560     XExtData* next;  
    1561     int function(XExtData* extension) free_private;     
    1562     XPointer private_data;  
    1563 } 
    1564 struct XExtCodes 
    1565 {  
    1566     int extension;  
    1567     int major_opcode;   
    1568     int first_event;    
    1569     int first_error;    
    1570 } 
    1571 struct XPixmapFormatValues 
    1572 
     1547 
     1548struct XModifierKeymap
     1549    int max_keypermod; 
     1550    KeyCode* modifiermap; 
     1551} 
     1552 
     1553struct Visual
     1554    XExtData* ext_data; 
     1555    VisualID visualid; 
     1556    int _class; 
     1557    uint red_mask, green_mask, blue_mask; 
     1558    int bits_per_rgb; 
     1559    int map_entries; 
     1560} 
     1561 
     1562struct Depth
     1563    int depth; 
     1564    int nvisuals; 
     1565    Visual* visuals; 
     1566} 
     1567 
     1568struct XExtData
     1569    int number; 
     1570    XExtData* next; 
     1571    int function ( XExtData* extension ) free_private; 
     1572    XPointer private_data; 
     1573} 
     1574 
     1575struct XExtCodes { 
     1576    int extension; 
     1577    int major_opcode; 
     1578    int first_event; 
     1579    int first_error; 
     1580} 
     1581 
     1582struct XPixmapFormatValues
    15731583    int depth; 
    15741584    int bits_per_pixel; 
    15751585    int scanline_pad; 
    15761586} 
    1577 struct XGCValues 
    1578 
    1579     GraphicFunction function_;  
    1580     uint plane_mask;  
    1581     uint foreground;  
    1582     uint background;  
    1583     int line_width;  
    1584     LineStyle line_style;  
    1585     CapStyle cap_style;  
    1586     LineStyle join_style;  
    1587     FillStyle fill_style;  
    1588     FillRule fill_rule;  
    1589     ArcMode arc_mode;  
    1590     Pixmap tile;  
    1591     Pixmap stipple;  
    1592     int ts_x_origin;  
     1587 
     1588struct XGCValues
     1589    GraphicFunction function_; 
     1590    uint plane_mask; 
     1591    uint foreground; 
     1592    uint background; 
     1593    int line_width; 
     1594    LineStyle line_style; 
     1595    CapStyle cap_style; 
     1596    LineStyle join_style; 
     1597    FillStyle fill_style; 
     1598    FillRule fill_rule; 
     1599    ArcMode arc_mode; 
     1600    Pixmap tile; 
     1601    Pixmap stipple; 
     1602    int ts_x_origin; 
    15931603    int ts_y_origin; 
    1594     Font font;  
    1595     SubwindowMode subwindow_mode;  
    1596     Bool graphics_exposures;  
    1597     int clip_x_origin;  
     1604    Font font; 
     1605    SubwindowMode subwindow_mode; 
     1606    Bool graphics_exposures; 
     1607    int clip_x_origin; 
    15981608    int clip_y_origin; 
    1599     Pixmap clip_mask;  
    1600     int dash_offset;  
     1609    Pixmap clip_mask; 
     1610    int dash_offset; 
    16011611    byte dashes; 
    16021612} 
    16031613 
    16041614/* Functions */ 
    1605 extern(C) 
    1606 
     1615extern ( C ) { 
    16071616    int _Xdebug; 
    1608     XFontStruct* XLoadQueryFont(Display*, byte*); 
    1609     XFontStruct* XQueryFont(Display*, XID); 
    1610     XTimeCoord* XGetMotionEvents(Display*, Window, Time, Time, int*); 
    1611     XModifierKeymap* XDeleteModifiermapEntry(XModifierKeymap*, KeyCode, int); 
    1612     XModifierKeymap* XGetModifierMapping(Display*); 
    1613     XModifierKeymap* XInsertModifiermapEntry(XModifierKeymap*, KeyCode, int); 
    1614     XModifierKeymap* XNewModifiermap(int); 
    1615     XImage* XCreateImage(Display*, Visual*, uint, int, int, byte*, uint, uint, int, int); 
    1616     Status XInitImage(XImage*); 
    1617     XImage* XGetImage(Display*, Drawable, int, int, uint, uint, uint, ImageFormat); 
    1618     XImage* XGetSubImage(Display*, Drawable, int, int, uint, uint, uint, int, XImage*, int, int); 
    1619     Display* XOpenDisplay(byte*); 
     1617 
     1618    XFontStruct* XLoadQueryFont( Display*, byte* ); 
     1619 
     1620    XFontStruct* XQueryFont( Display*, XID ); 
     1621 
     1622    XTimeCoord* XGetMotionEvents( Display*, Window, Time, Time, int* ); 
     1623 
     1624    XModifierKeymap* XDeleteModifiermapEntry( XModifierKeymap*, KeyCode, int ); 
     1625 
     1626    XModifierKeymap* XGetModifierMapping( Display* ); 
     1627 
     1628    XModifierKeymap* XInsertModifiermapEntry( XModifierKeymap*, KeyCode, int ); 
     1629 
     1630    XModifierKeymap* XNewModifiermap( int ); 
     1631 
     1632    XImage* XCreateImage( Display*, Visual*, uint, int, int, byte*, uint, uint, 
     1633        int, int ); 
     1634 
     1635    Status XInitImage( XImage* ); 
     1636 
     1637    XImage* XGetImage( Display*, Drawable, int, int, uint, uint, uint, 
     1638        ImageFormat ); 
     1639 
     1640    XImage* XGetSubImage( Display*, Drawable, int, int, uint, uint, uint, int, 
     1641        XImage*, int, int ); 
     1642 
     1643    Display* XOpenDisplay( byte* ); 
     1644 
    16201645    void XrmInitialize(); 
    1621     byte* XFetchBytes(Display*, int*); 
    1622     byte* XFetchBuffer(Display*, int*, int); 
    1623     byte* XGetAtomName(Display*, Atom); 
    1624     Status XGetAtomNames(Display*, Atom*, int, byte**); 
    1625     byte* XGetDefault(Display*, byte*, byte*); 
    1626     char* XDisplayName(char*); 
    1627     char* XKeysymToString(KeySym); 
    1628     int function(Display*,Bool )XSynchronize(Display*); 
    1629     int function(Display*, int function(Display*))XSetAfterFunction(Display*); 
    1630     Atom XInternAtom(Display*, byte*, Bool); 
    1631     Status XInternAtoms(Display*, byte**, int, Bool, Atom*); 
    1632     Colormap XCopyColormapAndFree(Display*, Colormap); 
    1633     Colormap XCreateColormap(Display*, Window, Visual*, int); 
    1634     Cursor XCreatePixmapCursor(Display*, Pixmap, Pixmap, XColor*, XColor*, uint, uint); 
    1635     Cursor XCreateGlyphCursor(Display*, Font, Font, uint, uint, XColor*, XColor*); 
    1636     Cursor XCreateFontCursor(Display*, uint); 
    1637     Font XLoadFont(Display*, byte*); 
    1638     GC XCreateGC(Display*, Drawable, uint, XGCValues*); 
    1639     GContext XGContextFromGC(GC); 
    1640     void XFlushGC(Display*, GC); 
    1641     Pixmap XCreatePixmap(Display*, Drawable, uint, uint, uint); 
    1642     Pixmap XCreateBitmapFromData(Display*, Drawable, byte*, uint, uint); 
    1643     Pixmap XCreatePixmapFromBitmapData(Display*, Drawable, byte*, uint, uint, uint, uint, uint); 
    1644     Window XCreateSimpleWindow(Display*, Window, int, int, uint, uint, uint, uint, uint); 
    1645     Window XGetSelectionOwner(Display*, Atom); 
    1646     Window XCreateWindow(Display*, Window, int, int, uint, uint, uint, int, WindowClass, Visual*, WindowAttribute, XSetWindowAttributes*);  
    1647     Colormap* XListInstalledColormaps(Display*, Window, int*); 
    1648     byte** XListFonts(Display*, byte*, int, int*); 
    1649     byte** XListFontsWithInfo(Display*, byte*, int, int*, XFontStruct**); 
    1650     byte** XGetFontPath(Display*, int*); 
    1651     byte** XListExtensions(Display*, int*); 
    1652     Atom* XListProperties(Display*, Window, int*); 
    1653     XHostAddress* XListHosts(Display*, int*, Bool*); 
    1654     KeySym XKeycodeToKeysym(Display*, KeyCode, int); 
    1655     KeySym XLookupKeysym(XKeyEvent*, int); 
    1656     KeySym* XGetKeyboardMapping(Display*, KeyCode, int, int*); 
    1657     KeySym XStringToKeysym(char*); 
    1658     long XMaxRequestSize(Display*); 
    1659     long XExtendedMaxRequestSize(Display*); 
    1660     char* XResourceManagerString(Display*); 
    1661     char* XScreenResourceString(Screen*); 
    1662     uint XDisplayMotionBufferSize(Display*); 
    1663     VisualID XVisualIDFromVisual(Visual*); 
     1646 
     1647    byte* XFetchBytes( Display*, int* ); 
     1648 
     1649    byte* XFetchBuffer( Display*, int*, int ); 
     1650 
     1651    byte* XGetAtomName( Display*, Atom ); 
     1652 
     1653    Status XGetAtomNames( Display*, Atom*, int, byte** ); 
     1654 
     1655    byte* XGetDefault( Display*, byte*, byte* ); 
     1656 
     1657    char* XDisplayName( char* ); 
     1658 
     1659    char* XKeysymToString( KeySym ); 
     1660 
     1661    int function ( Display*, Bool ) XSynchronize( Display* ); 
     1662 
     1663    int function ( Display*, int function ( Display* ) ) XSetAfterFunction( 
     1664        Display* ); 
     1665 
     1666    Atom XInternAtom( Display*, byte*, Bool ); 
     1667 
     1668    Status XInternAtoms( Display*, byte**, int, Bool, Atom* ); 
     1669 
     1670    Colormap XCopyColormapAndFree( Display*, Colormap ); 
     1671 
     1672    Colormap XCreateColormap( Display*, Window, Visual*, int ); 
     1673 
     1674    Cursor XCreatePixmapCursor( Display*, Pixmap, Pixmap, XColor*, XColor*, 
     1675        uint, uint ); 
     1676 
     1677    Cursor XCreateGlyphCursor( Display*, Font, Font, uint, uint, XColor*, 
     1678        XColor* ); 
     1679 
     1680    Cursor XCreateFontCursor( Display*, uint ); 
     1681 
     1682    Font XLoadFont( Display*, byte* ); 
     1683 
     1684    GC XCreateGC( Display*, Drawable, uint, XGCValues* ); 
     1685 
     1686    GContext XGContextFromGC( GC ); 
     1687 
     1688    void XFlushGC( Display*, GC ); 
     1689 
     1690    Pixmap XCreatePixmap( Display*, Drawable, uint, uint, uint ); 
     1691 
     1692    Pixmap XCreateBitmapFromData( Display*, Drawable, byte*, uint, uint ); 
     1693 
     1694    Pixmap XCreatePixmapFromBitmapData( Display*, Drawable, byte*, uint, uint, 
     1695        uint, uint, uint ); 
     1696 
     1697    Window XCreateSimpleWindow( Display*, Window, int, int, uint, uint, uint, 
     1698        uint, uint ); 
     1699 
     1700    Window XGetSelectionOwner( Display*, Atom ); 
     1701 
     1702    Window XCreateWindow( Display*, Window, int, int, uint, uint, uint, int, 
     1703        WindowClass, Visual*, WindowAttribute, XSetWindowAttributes* ); 
     1704 
     1705    Colormap* XListInstalledColormaps( Display*, Window, int* ); 
     1706 
     1707    byte** XListFonts( Display*, byte*, int, int* ); 
     1708 
     1709    byte** XListFontsWithInfo( Display*, byte*, int, int*, XFontStruct** ); 
     1710 
     1711    byte** XGetFontPath( Display*, int* ); 
     1712 
     1713    byte** XListExtensions( Display*, int* ); 
     1714 
     1715    Atom* XListProperties( Display*, Window, int* ); 
     1716 
     1717    XHostAddress* XListHosts( Display*, int*, Bool* ); 
     1718 
     1719    KeySym XKeycodeToKeysym( Display*, KeyCode, int ); 
     1720 
     1721    KeySym XLookupKeysym( XKeyEvent*, int ); 
     1722 
     1723    KeySym* XGetKeyboardMapping( Display*, KeyCode, int, int* ); 
     1724 
     1725    KeySym XStringToKeysym( char* ); 
     1726 
     1727    long XMaxRequestSize( Display* ); 
     1728 
     1729    long XExtendedMaxRequestSize( Display* ); 
     1730 
     1731    char* XResourceManagerString( Display* ); 
     1732 
     1733    char* XScreenResourceString( Screen* ); 
     1734 
     1735    uint XDisplayMotionBufferSize( Display* ); 
     1736 
     1737    VisualID XVisualIDFromVisual( Visual* ); 
     1738 
    16641739    Status XInitThreads(); 
    1665     void XLockDisplay(Display*); 
    1666     void XUnlockDisplay(Display*); 
    1667     XExtCodes* XInitExtension(Display*, byte*); 
    1668     XExtCodes* XAddExtension(Display*); 
    1669     XExtData* XFindOnExtensionList(XExtData**, int); 
    1670     XExtData** XEHeadOfExtensionList(XEDataObject); 
    1671     Window XRootWindow(Display*, int); 
    1672     Window XDefaultRootWindow(Display*); 
    1673     Window XRootWindowOfScreen(Screen*); 
    1674     Visual* XDefaultVisual(Display*, int); 
    1675     Visual* XDefaultVisualOfScreen(Screen*); 
    1676     GC XDefaultGC(Display*, int); 
    1677     GC XDefaultGCOfScreen(Screen*); 
    1678     uint XBlackPixel(Display*, int); 
    1679     uint XWhitePixel(Display*, int); 
     1740 
     1741    void XLockDisplay( Display* ); 
     1742 
     1743    void XUnlockDisplay( Display* ); 
     1744 
     1745    XExtCodes* XInitExtension( Display*, byte* ); 
     1746 
     1747    XExtCodes* XAddExtension( Display* ); 
     1748 
     1749    XExtData* XFindOnExtensionList( XExtData**, int ); 
     1750 
     1751    XExtData** XEHeadOfExtensionList( XEDataObject ); 
     1752 
     1753    Window XRootWindow( Display*, int ); 
     1754 
     1755    Window XDefaultRootWindow( Display* ); 
     1756 
     1757    Window XRootWindowOfScreen( Screen* ); 
     1758 
     1759    Visual* XDefaultVisual( Display*, int ); 
     1760 
     1761    Visual* XDefaultVisualOfScreen( Screen* ); 
     1762 
     1763    GC XDefaultGC( Display*, int ); 
     1764 
     1765    GC XDefaultGCOfScreen( Screen* ); 
     1766 
     1767    uint XBlackPixel( Display*, int ); 
     1768 
     1769    uint XWhitePixel( Display*, int ); 
     1770 
    16801771    uint XAllPlanes(); 
    1681     uint XBlackPixelOfScreen(Screen*); 
    1682     uint XWhitePixelOfScreen(Screen*); 
    1683     uint XNextRequest(Display*); 
    1684     uint XLastKnownRequestProcessed(Display*); 
    1685     char* XServerVendor(Display*); 
    1686     char* XDisplayString(Display*); 
    1687     Colormap XDefaultColormap(Display*, int); 
    1688     Colormap XDefaultColormapOfScreen(Screen*); 
    1689     Display* XDisplayOfScreen(Screen*); 
    1690     Screen* XScreenOfDisplay(Display*, int); 
    1691     Screen* XDefaultScreenOfDisplay(Display*); 
    1692     long XEventMaskOfScreen(Screen*); 
    1693     int XScreenNumberOfScreen(Screen*); 
    1694     XPixmapFormatValues* XListPixmapFormats(Display*, int*); 
    1695     int* XListDepths(Display*, int, int*); 
    1696     Status XReconfigureWMWindow(Display*, Window, int, ConfigureWindowStruct, XWindowChanges*); 
    1697     Status XGetWMProtocols(Display*, Window, Atom**, int*); 
    1698     Status XSetWMProtocols(Display*, Window, Atom*, int); 
    1699     Status XIconifyWindow(Display*, Window, int); 
    1700     Status XWithdrawWindow(Display*, Window, int); 
    1701     Status XGetCommand(Display*, Window, byte***, int*); 
    1702     Status XGetWMColormapWindows(Display*, Window, Window**, int*); 
    1703     Status XSetWMColormapWindows(Display*, Window, Window*, int); 
    1704     void XFreeStringList(char**); 
    1705     int XSetTransientForHint(Display*, Window, Window); 
    1706     int XActivateScreenSaver(Display*); 
    1707     int XAddHost(Display*, XHostAddress*); 
    1708     int XAddHosts(Display*, XHostAddress*, int); 
    1709     int XAddToExtensionList(XExtData**, XExtData*); 
    1710     int XAddToSaveSet(Display*, Window); 
    1711     Status XAllocColor(Display*, Colormap, XColor*); 
    1712     Status XAllocColorCells(Display*, Colormap, Bool, uint*, uint, ulong*, uint); 
    1713     Status XAllocColorPlanes(Display*, Colormap, Bool, ulong*, int, int, int, int, ulong*, ulong*, ulong*); 
    1714     Status XAllocNamedColor(Display*, Colormap, byte*, XColor*, XColor*); 
    1715     int XAllowEvents(Display*, int, Time); 
    1716     int XAutoRepeatOff(Display*); 
    1717     int XAutoRepeatOff(Display*); 
    1718     int XAutoRepeatOn(Display*); 
    1719     int XBell(Display*, int); 
    1720     int XBitmapBitOrder(Display*); 
    1721     int XBitmapPad(Display*); 
    1722     int XBitmapUnit(Display*); 
    1723     int XCellsOfScreen(Screen*); 
    1724     int XChangeActivePointerGrab(Display*, EventMask, Cursor, Time); 
    1725     int XChangeGC(Display*, GC, GCMask, XGCValues*); 
    1726     int XChangeKeyboardControl(Display*, KBMask, XKeyboardControl*); 
    1727     int XChangeKeyboardMapping(Display*, int, int, KeySym*, int); 
    1728     int XChangePointerControl(Display*, Bool, Bool, int, int, int); 
    1729     int XChangeProperty(Display*, Window, Atom, Atom, int, PropertyMode, ubyte*, int); 
    1730     int XChangeSaveSet(Display*, Window, ChangeMode); 
    1731     int XChangeWindowAttributes(Display*, Window, WindowAttribute, XSetWindowAttributes*); 
    1732     Bool XCheckIfEvent(Display*, XEvent*, Bool function(Display*, XEvent*, XPointer), XPointer); 
    1733     Bool XCheckMaskEvent(Display*, EventMask, XEvent*); 
    1734     Bool XCheckTypedEvent(Display*, EventType, XEvent*); 
    1735     Bool XCheckTypedWindowEvent(Display*, Window, EventType, XEvent*); 
    1736     Bool XCheckWindowEvent(Display*, Window, EventMask, XEvent*); 
    1737     int XCirculateSubwindows(Display*, Window, CircularDirection); 
    1738     int XCirculateSubwindowsDown(Display*, Window); 
    1739     int XCirculateSubwindowsUp(Display*, Window); 
    1740     int XClearArea(Display*, Window, int, int, uint, uint, Bool); 
    1741     int XClearWindow(Display*, Window); 
    1742     int XCloseDisplay(Display*); 
    1743     int XConfigureWindow(Display*, Window, uint, XWindowChanges*); 
    1744     int XConnectionNumber(Display*); 
    1745     int XConvertSelection(Display*, Atom, Atom, Atom, Window, Time); 
    1746     int XCopyArea(Display*, Drawable, Drawable, GC, int, int, uint, uint, int, int); 
    1747     int XCopyGC(Display*, GC, GCMask, GC); 
    1748     int XCopyPlane(Display*, Drawable, Drawable, GC, int, int, uint, uint, int, int, uint); 
    1749     int XDefaultDepth(Display*, int); 
    1750     int XDefaultDepthOfScreen(Screen*); 
    1751     int XDefaultScreen(Display*); 
    1752     int XDefineCursor(Display*, Window, Cursor); 
    1753     int XDeleteProperty(Display*, Window, Atom); 
    1754     int XDestroyWindow(Display*, Window); 
    1755     int XDestroySubwindows(Display*, Window); 
    1756     int XDoesBackingStore(Screen*); 
    1757     Bool XDoesSaveUnders(Screen*); 
    1758     int XDisableAccessControl(Display*); 
    1759     int XDisplayCells(Display*, int); 
    1760     int XDisplayHeight(Display*, int); 
    1761     int XDisplayHeightMM(Display*, int); 
    1762     int XDisplayKeycodes(Display*, int*, int*); 
    1763     int XDisplayPlanes(Display*, int); 
    1764     int XDisplayWidth(Display*, int); 
    1765     int XDisplayWidthMM(Display*, int); 
    1766     int XDrawArc(Display*, Drawable, GC, int, int, uint, uint, int, int); 
    1767     int XDrawArcs(Display*, Drawable, GC, XArc*, int); 
    1768     int XDrawImageString(Display*, Drawable, GC, int, int, char*, int); 
    1769     int XDrawImageString16(Display*, Drawable, GC, int, int, XChar2b*, int); 
    1770     int XDrawLine(Display*, Drawable, GC, int, int, int, int); 
    1771     int XDrawLines(Display*, Drawable, GC, XPoint*, int, CoordinateMode); 
    1772     int XDrawPoint(Display*, Drawable, GC, int, int); 
    1773     int XDrawPoints(Display*, Drawable, GC, XPoint*, int, CoordinateMode); 
    1774     int XDrawRectangle(Display*, Drawable, GC, int, int, uint, uint); 
    1775     int XDrawRectangles(Display*, Drawable, GC, XRectangle*, int); 
    1776     int XDrawSegments(Display*, Drawable, GC, XSegment*, int); 
    1777     int XDrawString(Display*, Drawable, GC, int, int, char*, int); 
    1778     int XDrawString16(Display*, Drawable, GC, int, int, XChar2b*, int); 
    1779     int XDrawText(Display*, Drawable, GC, int, int, XTextItem*, int); 
    1780     int XDrawText16(Display*, Drawable, GC, int, int, XTextItem16*, int); 
    1781     int XEnableAccessControl(Display*); 
    1782     int XEventsQueued(Display*, QueueMode); 
    1783     Status XFetchName(Display*, Window, byte**); 
    1784     int XFillArc(Display*, Drawable, GC, int, int, uint, uint, int, int); 
    1785     int XFillArcs(Display*, Drawable, GC, XArc*, int); 
    1786     int XFillPolygon(Display*, Drawable, GC, XPoint*, int, int, CoordinateMode); 
    1787     int XFillRectangle(Display*, Drawable, GC, int, int, uint, uint); 
    1788     int XFillRectangles(Display*, Drawable, GC, XRectangle*, int); 
    1789     int XFlush(Display*); 
    1790     int XForceScreenSaver(Display*, ScreenSaverMode); 
    1791     int XFree(void*); 
    1792     int XFreeColormap(Display*, Colormap); 
    1793     int XFreeColors(Display*, Colormap, uint*, int, uint); 
    1794     int XFreeCursor(Display*, Cursor); 
    1795     int XFreeExtensionList(byte**); 
    1796     int XFreeFont(Display*, XFontStruct*); 
    1797     int XFreeFontInfo(byte**, XFontStruct*, int); 
    1798     int XFreeFontNames(byte**); 
    1799     int XFreeFontPath(byte**); 
    1800     int XFreeGC(Display*, GC); 
    1801     int XFreeModifiermap(XModifierKeymap*); 
    1802     int XFreePixmap(Display*, Pixmap); 
    1803     int XGeometry(Display*, int, byte*, byte*, uint, uint, uint, int, int, int*, int*, int*, int*); 
    1804     int XGetErrorDatabaseText(Display*, char*, char*, char*, byte*, int); 
    1805     int XGetErrorText(Display*, XErrorCode, byte*, int); 
    1806     Bool XGetFontProperty(XFontStruct*, Atom, uint*); 
    1807     Status XGetGCValues(Display*, GC, GCMask, XGCValues*); 
    1808     Status XGetGeometry(Display*, Drawable, Window*, int*, int*, uint*, uint*, uint*, uint*); 
    1809     Status XGetIconName(Display*, Window, byte**); 
    1810     int XGetInputFocus(Display*, Window*, int*); 
    1811     int XGetKeyboardControl(Display*, XKeyboardState*); 
    1812     int XGetPointerControl(Display*, int*, int*, int*); 
    1813     int XGetPointerMapping(Display*, ubyte*, int); 
    1814     int XGetScreenSaver(Display*, int*, int*, int*, int*); 
    1815     Status XGetTransientForHint(Display*, Window, Window*); 
    1816     int XGetWindowProperty(Display*, Window, Atom, long, long, Bool, Atom, Atom*, int*, uint*, uint*, ubyte**); 
    1817     Status XGetWindowAttributes(Display*, Window, XWindowAttributes*); 
    1818     int XGrabButton(Display*, uint, uint, Window, Bool, EventMask, GrabMode, GrabMode, Window, Cursor); 
    1819     int XGrabKey(Display*, int, KeyMask, Window, Bool, GrabMode, GrabMode); 
    1820     int XGrabKeyboard(Display*, Window, Bool, GrabMode, GrabMode, Time); 
    1821     int XGrabPointer(Display*, Window, Bool, EventMask, GrabMode, GrabMode, Window, Cursor, Time); 
    1822     int XGrabServer(Display*); 
    1823     int XHeightMMOfScreen(Screen*); 
    1824     int XHeightOfScreen(Screen*); 
    1825     int XIfEvent(Display*, XEvent*, Bool function(Display*, XEvent*, XPointer), XPointer); 
    1826     int XImageByteOrder(Display*); 
    1827     int XInstallColormap(Display*, Colormap); 
    1828     KeyCode XKeysymToKeycode(Display*, KeySym); 
    1829     int XKillClient(Display*, XID); 
    1830     Status XLookupColor(Display*, Colormap, byte*, XColor*, XColor*); 
    1831     int XLowerWindow(Display*, Window); 
    1832     int XMapRaised(Display*, Window); 
    1833     int XMapSubwindows(Display*, Window); 
    1834     int XMapWindow(Display*, Window); 
    1835     int XMaskEvent(Display*, EventMask, XEvent*); 
    1836     int XMaxCmapsOfScreen(Screen*); 
    1837     int XMinCmapsOfScreen(Screen*); 
    1838     int XMoveResizeWindow(Display*, Window, int, int, uint, uint); 
    1839     int XMoveWindow(Display*, Window, int, int); 
    1840     int XNextEvent(Display*, XEvent*); 
    1841     int XNoOp(Display*); 
    1842     Status XParseColor(Display*, Colormap, ubyte*, XColor*); 
    1843     int XParseGeometry(char*, int*, int*, uint*, uint*); 
    1844     int XPeekEvent(Display*, XEvent*); 
    1845     int XPeekIfEvent(Display*, XEvent*, Bool function(Display*, XEvent*, XPointer), XPointer); 
    1846     int XPending(Display*); 
    1847     int XPlanesOfScreen(Screen*); 
    1848     int XProtocolRevision(Display*); 
    1849     int XProtocolVersion(Display*); 
    1850     int XPutBackEvent(Display*, XEvent*); 
    1851     int XPutImage(Display*, Drawable, GC, XImage*, int, int, int, int, uint, uint); 
    1852     int XQLength(Display*); 
    1853     Status XQueryBestCursor(Display*, Drawable, uint, uint, uint*, uint*); 
    1854     Status XQueryBestSize(Display*, int, Drawable, uint, uint, uint*, uint*); 
    1855     Status XQueryBestStipple(Display*, Drawable, uint, uint, uint*, uint*); 
    1856     Status XQueryBestTile(Display*, Drawable, uint, uint, uint*, uint*); 
    1857     int XQueryColor(Display*, Colormap, XColor*); 
    1858     int XQueryColors(Display*, Colormap, XColor*, int); 
    1859     Bool XQueryExtension(Display*, byte*, int*, int*, int*); 
    1860     int XQueryKeymap(Display*, byte [32]); 
    1861     Bool XQueryPointer(Display*, Window, Window*, Window*, int*, int*, int*, int*, uint*); 
    1862     int XQueryTextExtents(Display*, XID, char*, int, FontDrawDirection*, int*, int*, XCharStruct*); 
    1863     int XQueryTextExtents16(Display*, XID, XChar2b*, int, FontDrawDirection*, int*, int*, XCharStruct*); 
    1864     Status XQueryTree(Display*, Window, Window*, Window*, Window**, uint*); 
    1865     int XRaiseWindow(Display*, Window); 
    1866     int XReadBitmapFile(Display*, Drawable, ubyte*, uint*, uint*, Pixmap*, int*, int*); 
    1867     int XReadBitmapFileData(byte*, uint*, uint*, ubyte**, int*, int*); 
    1868     int XRebindKeysym(Display*, KeySym, KeySym*, int, char*, int); 
    1869     int XRecolorCursor(Display*, Cursor, XColor*, XColor*); 
    1870     int XRefreshKeyboardMapping(XMappingEvent*); 
    1871     int XRemoveFromSaveSet(Display*, Window); 
    1872     int XRemoveHost(Display*, XHostAddress*); 
    1873     int XRemoveHosts(Display*, XHostAddress*, int); 
    1874     int XReparentWindow(Display*, Window, Window, int, int); 
    1875     int XResetScreenSaver(Display*); 
    1876     int XResizeWindow(Display*, Window, uint, uint); 
    1877     int XRestackWindows(Display*, Window*, int); 
    1878     int XRotateBuffers(Display*, int); 
    1879     int XRotateWindowProperties(Display*, Window, Atom*, int, int); 
    1880     int XScreenCount(Display*); 
    1881     int XSelectInput(Display*, Window, EventMask); 
    1882     Status XSendEvent(Display*, Window, Bool, EventMask, XEvent*); 
    1883     int XSetAccessControl(Display*, HostAccess); 
    1884     int XSetArcMode(Display*, GC, ArcMode); 
    1885     int XSetBackground(Display*, GC, uint); 
    1886     int XSetClipMask(Display*, GC, Pixmap); 
    1887     int XSetClipOrigin(Display*, GC, int, int); 
    1888     int XSetClipRectangles(Display*, GC, int, int, XRectangle*, int, int); 
    1889     int XSetCloseDownMode(Display*, int); 
    1890     int XSetCommand(Display*, Window, byte**, int); 
    1891     int XSetDashes(Display*, GC, int, byte*, int); 
    1892     int XSetFillRule(Display*, GC, FillRule); 
    1893     int XSetFillStyle(Display*, GC, FillStyle); 
    1894     int XSetFont(Display*, GC, Font); 
    1895     int XSetFontPath(Display*, byte**, int); 
    1896     int XSetForeground(Display*, GC, uint); 
    1897     int XSetFunction(Display*, GC, int); 
    1898     int XSetGraphicsExposures(Display*, GC, Bool); 
    1899     int XSetIconName(Display*, Window, byte*); 
    1900     int XSetInputFocus(Display*, Window, int, Time); 
    1901     int XSetLineAttributes(Display*, GC, uint, LineStyle, CapStyle, JoinStyle); 
    1902     int XSetModifierMapping(Display*, XModifierKeymap*); 
    1903     int XSetPlaneMask(Display*, GC, uint); 
    1904     int XSetPointerMapping(Display*, ubyte*, int); 
    1905     int XSetScreenSaver(Display*, int, int, int, int); 
    1906     int XSetSelectionOwner(Display*, Atom, Window, Time); 
    1907     int XSetState(Display*, GC, uint, uint, GraphicFunction, uint); 
    1908     int XSetStipple(Display*, GC, Pixmap); 
    1909     int XSetSubwindowMode(Display*, GC, int); 
    1910     int XSetTSOrigin(Display*, GC, int, int); 
    1911     int XSetTile(Display*, GC, Pixmap); 
    1912     int XSetWindowBackground(Display*, Window, uint); 
    1913     int XSetWindowBackgroundPixmap(Display*, Window, Pixmap); 
    1914     int XSetWindowBorder(Display*, Window, uint); 
    1915     int XSetWindowBorderPixmap(Display*, Window, Pixmap); 
    1916     int XSetWindowBorderWidth(Display*, Window, uint); 
    1917     int XSetWindowColormap(Display*, Window, Colormap); 
    1918     int XStoreBuffer(Display*, byte*, int, int); 
    1919     int XStoreBytes(Display*, byte*, int); 
    1920     int XStoreColor(Display*, Colormap, XColor*); 
    1921     int XStoreColors(Display*, Colormap, XColor*, int); 
    1922     int XStoreName(Display*, Window, char*); 
    1923     int XStoreNamedColor(Display*, Colormap, char*, uint, StoreColor); 
    1924     int XSync(Display*, Bool); 
    1925     int XTextExtents(XFontStruct*, char*, int, int*, int*, int*, XCharStruct*); 
    1926     int XTextExtents16(XFontStruct*, XChar2b*, int, FontDrawDirection*, int*, int*, XCharStruct*); 
    1927     int XTextWidth(XFontStruct*, char*, int); 
    1928     int XTextWidth16(XFontStruct*, XChar2b*, int); 
    1929     Bool XTranslateCoordinates(Display*, Window, Window, int, int, int*, int*, Window*); 
    1930     int XUndefineCursor(Display*, Window); 
    1931     int XUngrabButton(Display*, uint, KeyMask, Window); 
    1932     int XUngrabKey(Display*, int, KeyMask, Window); 
    1933     int XUngrabKeyboard(Display*, Time); 
    1934     int XUngrabPointer(Display*, Time); 
    1935     int XUngrabServer(Display*); 
    1936     int XUninstallColormap(Display*, Colormap); 
    1937     int XUnloadFont(Display*, Font); 
    1938     int XUnmapSubwindows(Display*, Window); 
    1939     int XUnmapWindow(Display*, Window); 
    1940     int XVendorRelease(Display*); 
    1941     int XWarpPointer(Display*, Window, Window, int, int, uint, uint, int, int); 
    1942     int XWidthMMOfScreen(Screen*); 
    1943     int XWidthOfScreen(Screen*); 
    1944     int XWindowEvent(Display*, Window, EventMask, XEvent*); 
    1945     int XWriteBitmapFile(Display*, byte*, Pixmap, uint, uint, int, int); 
    1946     Bool XSupportsLocale (); 
    1947     byte* XSetLocaleModifiers(byte*); 
    1948     XOM XOpenOM(Display*, XrmHashBucketRec*, byte*, byte*); 
    1949     Status XCloseOM(XOM); 
    1950     Display* XDisplayOfOM(XOM); 
    1951     byte* XLocaleOfOM(XOM); 
    1952     void XDestroyOC(XOC); 
    1953     XOM XOMOfOC(XOC); 
    1954     XFontSet XCreateFontSet(Display*, byte*, byte***, int*, char**); 
    1955     void XFreeFontSet(Display*, XFontSet); 
    1956     int XFontsOfFontSet(XFontSet, XFontStruct***, byte***); 
    1957     byte* XBaseFontNameListOfFontSet(XFontSet); 
    1958     byte* XLocaleOfFontSet(XFontSet); 
    1959     Bool XContextDependentDrawing(XFontSet); 
    1960     Bool XDirectionalDependentDrawing(XFontSet); 
    1961     Bool XContextualDrawing(XFontSet); 
    1962     XFontSetExtents* XExtentsOfFontSet(XFontSet); 
    1963     int XmbTextEscapement(XFontSet, byte*, int); 
    1964     int XwcTextEscapement(XFontSet, wchar*, int); 
    1965     int Xutf8TextEscapement(XFontSet, char*, int); 
    1966     int XmbTextExtents(XFontSet, byte*, int, XRectangle*, XRectangle*); 
    1967     int XwcTextExtents(XFontSet, wchar*, int, XRectangle*, XRectangle*); 
    1968     int Xutf8TextExtents(XFontSet, char*, int, XRectangle*, XRectangle*); 
    1969     Status XmbTextPerCharExtents(XFontSet, byte*, int, XRectangle*, XRectangle*, int, int*, XRectangle*, XRectangle*); 
    1970     Status XwcTextPerCharExtents(XFontSet, wchar*, int, XRectangle*, XRectangle*, int, int*, XRectangle*, XRectangle*); 
    1971     Status Xutf8TextPerCharExtents(XFontSet, char*, int, XRectangle*, XRectangle*, int, int*, XRectangle*, XRectangle*); 
    1972     void XmbDrawText(Display*, Drawable, GC, int, int, XmbTextItem*, int); 
    1973     void XwcDrawText(Display*, Drawable, GC, int, int, XwcTextItem*, int); 
    1974     void Xutf8DrawText(Display*, Drawable, GC, int, int, XmbTextItem*, int); 
    1975     void XmbDrawString(Display*, Drawable, XFontSet, GC, int, int, char*, int); 
    1976     void XwcDrawString(Display*, Drawable, XFontSet, GC, int, int, wchar*, int); 
    1977     void Xutf8DrawString(Display*, Drawable, XFontSet, GC, int, int, char*, int); 
    1978     void XmbDrawImageString(Display*, Drawable, XFontSet, GC, int, int, char*, int); 
    1979     void XwcDrawImageString(Display*, Drawable, XFontSet, GC, int, int, wchar*, int); 
    1980     void Xutf8DrawImageString(Display*, Drawable, XFontSet, GC, int, int, char*, int); 
    1981     XIM XOpenIM(Display*, XrmHashBucketRec*, byte*, byte*); 
    1982     Status XCloseIM(XIM); 
    1983     Display* XDisplayOfIM(XIM); 
    1984     byte* XLocaleOfIM(XIM); 
    1985     void XDestroyIC(XIC); 
    1986     void XSetICFocus(XIC); 
    1987     void XUnsetICFocus(XIC); 
    1988     wchar* XwcResetIC(XIC); 
    1989     byte* XmbResetIC(XIC); 
    1990     byte* Xutf8ResetIC(XIC); 
    1991     XIM XIMOfIC(XIC); 
    1992     Bool XFilterEvent(XEvent*, Window); 
    1993     int XmbLookupString(XIC, XKeyPressedEvent*, char*, int, KeySym*, Status*); 
    1994     int XwcLookupString(XIC, XKeyPressedEvent*, wchar*, int, KeySym*, Status*); 
    1995     int Xutf8LookupString(XIC, XKeyPressedEvent*, char*, int, KeySym*, Status*); 
    1996     Bool XRegisterIMInstantiateCallback(Display*, XrmHashBucketRec*, byte*, byte*, XIDProc, XPointer); 
    1997     Bool XUnregisterIMInstantiateCallback(Display*, XrmHashBucketRec*, byte*, byte*, XIDProc, XPointer); 
    1998     typedef void function(Display*, XPointer, int, Bool, XPointer*) XConnectionWatchProc; 
    1999     Status XInternalConnectionNumbers(Display*, int**, int*); 
    2000     void XProcessInternalConnection(Display*, int); 
    2001     Status XAddConnectionWatch(Display*, XConnectionWatchProc, XPointer); 
    2002     void XRemoveConnectionWatch(Display*, XConnectionWatchProc, XPointer); 
    2003     void XSetAuthorization(byte* , int, byte* , int); 
    2004     int _Xmbtowc(wchar* , byte* , int); 
    2005     int _Xwctomb(byte* , wchar); 
    2006      
    2007     Status XMatchVisualInfo(Display*, int, int, int, XVisualInfo*); 
     1772 
     1773    uint XBlackPixelOfScreen( Screen* ); 
     1774 
     1775    uint XWhitePixelOfScreen( Screen* ); 
     1776 
     1777    uint XNextRequest( Display* ); 
     1778 
     1779    uint XLastKnownRequestProcessed( Display* ); 
     1780 
     1781    char* XServerVendor( Display* ); 
     1782 
     1783    char* XDisplayString( Display* ); 
     1784 
     1785    Colormap XDefaultColormap( Display*, int ); 
     1786 
     1787    Colormap XDefaultColormapOfScreen( Screen* ); 
     1788 
     1789    Display* XDisplayOfScreen( Screen* ); 
     1790 
     1791    Screen* XScreenOfDisplay( Display*, int ); 
     1792 
     1793    Screen* XDefaultScreenOfDisplay( Display* ); 
     1794 
     1795    long XEventMaskOfScreen( Screen* ); 
     1796 
     1797    int XScreenNumberOfScreen( Screen* ); 
     1798 
     1799    XPixmapFormatValues* XListPixmapFormats( Display*, int* ); 
     1800 
     1801    int* XListDepths( Display*, int, int* ); 
     1802 
     1803    Status XReconfigureWMWindow( Display*, Window, int, ConfigureWindowStruct, 
     1804        XWindowChanges* ); 
     1805 
     1806    Status XGetWMProtocols( Display*, Window, Atom**, int* ); 
     1807 
     1808    Status XSetWMProtocols( Display*, Window, Atom*, int ); 
     1809 
     1810    Status XIconifyWindow( Display*, Window, int ); 
     1811 
     1812    Status XWithdrawWindow( Display*, Window, int ); 
     1813 
     1814    Status XGetCommand( Display*, Window, byte***, int* ); 
     1815 
     1816    Status XGetWMColormapWindows( Display*, Window, Window**, int* ); 
     1817 
     1818    Status XSetWMColormapWindows( Display*, Window, Window*, int ); 
     1819 
     1820    void XFreeStringList( char** ); 
     1821 
     1822    int XSetTransientForHint( Display*, Window, Window ); 
     1823 
     1824    int XActivateScreenSaver( Display* ); 
     1825 
     1826    int XAddHost( Display*, XHostAddress* ); 
     1827 
     1828    int XAddHosts( Display*, XHostAddress*, int ); 
     1829 
     1830    int XAddToExtensionList( XExtData**, XExtData* ); 
     1831 
     1832    int XAddToSaveSet( Display*, Window ); 
     1833 
     1834    Status XAllocColor( Display*, Colormap, XColor* ); 
     1835 
     1836    Status XAllocColorCells( Display*, Colormap, Bool, uint*, uint, ulong*, 
     1837        uint ); 
     1838 
     1839    Status XAllocColorPlanes( Display*, Colormap, Bool, ulong*, int, int, int, 
     1840        int, ulong*, ulong*, ulong* ); 
     1841 
     1842    Status XAllocNamedColor( Display*, Colormap, byte*, XColor*, XColor* ); 
     1843 
     1844    int XAllowEvents( Display*, int, Time ); 
     1845 
     1846    int XAutoRepeatOff( Display* ); 
     1847 
     1848    int XAutoRepeatOff( Display* ); 
     1849 
     1850    int XAutoRepeatOn( Display* ); 
     1851 
     1852    int XBell( Display*, int ); 
     1853 
     1854    int XBitmapBitOrder( Display* ); 
     1855 
     1856    int XBitmapPad( Display* ); 
     1857 
     1858    int XBitmapUnit( Display* ); 
     1859 
     1860    int XCellsOfScreen( Screen* ); 
     1861 
     1862    int XChangeActivePointerGrab( Display*, EventMask, Cursor, Time ); 
     1863 
     1864    int XChangeGC( Display*, GC, GCMask, XGCValues* ); 
     1865 
     1866    int XChangeKeyboardControl( Display*, KBMask, XKeyboardControl* ); 
     1867 
     1868    int XChangeKeyboardMapping( Display*, int, int, KeySym*, int ); 
     1869 
     1870    int XChangePointerControl( Display*, Bool, Bool, int, int, int ); 
     1871 
     1872    int XChangeProperty( Display*, Window, Atom, Atom, int, PropertyMode, 
     1873        ubyte*, int ); 
     1874 
     1875    int XChangeSaveSet( Display*, Window, ChangeMode ); 
     1876 
     1877    int XChangeWindowAttributes( Display*, Window, WindowAttribute, 
     1878        XSetWindowAttributes* ); 
     1879 
     1880    Bool XCheckIfEvent( Display*, XEvent*, 
     1881        Bool function ( Display*, XEvent*, XPointer ), XPointer ); 
     1882 
     1883    Bool XCheckMaskEvent( Display*, EventMask, XEvent* ); 
     1884 
     1885    Bool XCheckTypedEvent( Display*, EventType, XEvent* ); 
     1886 
     1887    Bool XCheckTypedWindowEvent( Display*, Window, EventType, XEvent* ); 
     1888 
     1889    Bool XCheckWindowEvent( Display*, Window, EventMask, XEvent* ); 
     1890 
     1891    int XCirculateSubwindows( Display*, Window, CircularDirection ); 
     1892 
     1893    int XCirculateSubwindowsDown( Display*, Window ); 
     1894 
     1895    int XCirculateSubwindowsUp( Display*, Window ); 
     1896 
     1897    int XClearArea( Display*, Window, int, int, uint, uint, Bool ); 
     1898 
     1899    int XClearWindow( Display*, Window ); 
     1900 
     1901    int XCloseDisplay( Display* ); 
     1902 
     1903    int XConfigureWindow( Display*, Window, uint, XWindowChanges* ); 
     1904 
     1905    int XConnectionNumber( Display* ); 
     1906 
     1907    int XConvertSelection( Display*, Atom, Atom, Atom, Window, Time ); 
     1908 
     1909    int XCopyArea( Display*, Drawable, Drawable, GC, int, int, uint, uint, int, 
     1910        int ); 
     1911 
     1912    int XCopyGC( Display*, GC, GCMask, GC ); 
     1913 
     1914    int XCopyPlane( Display*, Drawable, Drawable, GC, int, int, uint, uint, 
     1915        int, int, uint ); 
     1916 
     1917    int XDefaultDepth( Display*, int ); 
     1918 
     1919    int XDefaultDepthOfScreen( Screen* ); 
     1920 
     1921    int XDefaultScreen( Display* ); 
     1922 
     1923    int XDefineCursor( Display*, Window, Cursor ); 
     1924 
     1925    int XDeleteProperty( Display*, Window, Atom ); 
     1926 
     1927    int XDestroyWindow( Display*, Window ); 
     1928 
     1929    int XDestroySubwindows( Display*, Window ); 
     1930 
     1931    int XDoesBackingStore( Screen* ); 
     1932 
     1933    Bool XDoesSaveUnders( Screen* ); 
     1934 
     1935    int XDisableAccessControl( Display* ); 
     1936 
     1937    int XDisplayCells( Display*, int ); 
     1938 
     1939    int XDisplayHeight( Display*, int ); 
     1940 
     1941    int XDisplayHeightMM( Display*, int ); 
     1942 
     1943    int XDisplayKeycodes( Display*, int*, int* ); 
     1944 
     1945    int XDisplayPlanes( Display*, int ); 
     1946 
     1947    int XDisplayWidth( Display*, int ); 
     1948 
     1949    int XDisplayWidthMM( Display*, int ); 
     1950 
     1951    int XDrawArc( Display*, Drawable, GC, int, int, uint, uint, int, int ); 
     1952 
     1953    int XDrawArcs( Display*, Drawable, GC, XArc*, int ); 
     1954 
     1955    int XDrawImageString( Display*, Drawable, GC, int, int, char*, int ); 
     1956 
     1957    int XDrawImageString16( Display*, Drawable, GC, int, int, XChar2b*, int ); 
     1958 
     1959    int XDrawLine( Display*, Drawable, GC, int, int, int, int ); 
     1960 
     1961    int XDrawLines( Display*, Drawable, GC, XPoint*, int, CoordinateMode ); 
     1962 
     1963    int XDrawPoint( Display*, Drawable, GC, int, int ); 
     1964 
     1965    int XDrawPoints( Display*, Drawable, GC, XPoint*, int, CoordinateMode ); 
     1966 
     1967    int XDrawRectangle( Display*, Drawable, GC, int, int, uint, uint ); 
     1968 
     1969    int XDrawRectangles( Display*, Drawable, GC, XRectangle*, int ); 
     1970 
     1971    int XDrawSegments( Display*, Drawable, GC, XSegment*, int ); 
     1972 
     1973    int XDrawString( Display*, Drawable, GC, int, int, char*, int ); 
     1974 
     1975    int XDrawString16( Display*, Drawable, GC, int, int, XChar2b*, int ); 
     1976 
     1977    int XDrawText( Display*, Drawable, GC, int, int, XTextItem*, int ); 
     1978 
     1979    int XDrawText16( Display*, Drawable, GC, int, int, XTextItem16*, int ); 
     1980 
     1981    int XEnableAccessControl( Display* ); 
     1982 
     1983    int XEventsQueued( Display*, QueueMode ); 
     1984 
     1985    Status XFetchName( Display*, Window, byte** ); 
     1986 
     1987    int XFillArc( Display*, Drawable, GC, int, int, uint, uint, int, int ); 
     1988 
     1989    int XFillArcs( Display*, Drawable, GC, XArc*, int ); 
     1990 
     1991    int XFillPolygon( Display*, Drawable, GC, XPoint*, int, int, CoordinateMode ); 
     1992 
     1993    int XFillRectangle( Display*, Drawable, GC, int, int, uint, uint ); 
     1994 
     1995    int XFillRectangles( Display*, Drawable, GC, XRectangle*, int ); 
     1996 
     1997    int XFlush( Display* ); 
     1998 
     1999    int XForceScreenSaver( Display*, ScreenSaverMode ); 
     2000 
     2001    int XFree( void* ); 
     2002 
     2003    int XFreeColormap( Display*, Colormap ); 
     2004 
     2005    int XFreeColors( Display*, Colormap, uint*, int, uint ); 
     2006 
     2007    int XFreeCursor( Display*, Cursor ); 
     2008 
     2009    int XFreeExtensionList( byte** ); 
     2010 
     2011    int XFreeFont( Display*, XFontStruct* ); 
     2012 
     2013    int XFreeFontInfo( byte**, XFontStruct*, int ); 
     2014 
     2015    int XFreeFontNames( byte** ); 
     2016 
     2017    int XFreeFontPath( byte** ); 
     2018 
     2019    int XFreeGC( Display*, GC ); 
     2020 
     2021    int XFreeModifiermap( XModifierKeymap* ); 
     2022 
     2023    int XFreePixmap( Display*, Pixmap ); 
     2024 
     2025    int XGeometry( Display*, int, byte*, byte*, uint, uint, uint, int, int, 
     2026        int*, int*, int*, int* ); 
     2027 
     2028    int XGetErrorDatabaseText( Display*, char*, char*, char*, byte*, int ); 
     2029 
     2030    int XGetErrorText( Display*, XErrorCode, byte*, int ); 
     2031 
     2032    Bool XGetFontProperty( XFontStruct*, Atom, uint* ); 
     2033 
     2034    Status XGetGCValues( Display*, GC, GCMask, XGCValues* ); 
     2035 
     2036    Status XGetGeometry( Display*, Drawable, Window*, int*, int*, uint*, uint*, 
     2037        uint*, uint* ); 
     2038 
     2039    Status XGetIconName( Display*, Window, byte** ); 
     2040 
     2041    int XGetInputFocus( Display*, Window*, int* ); 
     2042 
     2043    int XGetKeyboardControl( Display*, XKeyboardState* ); 
     2044 
     2045    int XGetPointerControl( Display*, int*, int*, int* ); 
     2046 
     2047    int XGetPointerMapping( Display*, ubyte*, int ); 
     2048 
     2049    int XGetScreenSaver( Display*, int*, int*, int*, int* ); 
     2050 
     2051    Status XGetTransientForHint( Display*, Window, Window* ); 
     2052 
     2053    int XGetWindowProperty( Display*, Window, Atom, long, long, Bool, Atom, 
     2054        Atom*, int*, uint*, uint*, ubyte** ); 
     2055 
     2056    Status XGetWindowAttributes( Display*, Window, XWindowAttributes* ); 
     2057 
     2058    int XGrabButton( Display*, uint, uint, Window, Bool, EventMask, GrabMode, 
     2059        GrabMode, Window, Cursor ); 
     2060 
     2061    int XGrabKey( Display*, int, KeyMask, Window, Bool, GrabMode, GrabMode ); 
     2062 
     2063    int XGrabKeyboard( Display*, Window, Bool, GrabMode, GrabMode, Time ); 
     2064 
     2065    int XGrabPointer( Display*, Window, Bool, EventMask, GrabMode, GrabMode, 
     2066        Window, Cursor, Time ); 
     2067 
     2068    int XGrabServer( Display* ); 
     2069 
     2070    int XHeightMMOfScreen( Screen* ); 
     2071 
     2072    int XHeightOfScreen( Screen* ); 
     2073 
     2074    int XIfEvent( Display*, XEvent*, 
     2075        Bool function ( Display*, XEvent*, XPointer ), XPointer ); 
     2076 
     2077    int XImageByteOrder( Display* ); 
     2078 
     2079    int XInstallColormap( Display*, Colormap ); 
     2080 
     2081    KeyCode XKeysymToKeycode( Display*, KeySym ); 
     2082 
     2083    int XKillClient( Display*, XID ); 
     2084 
     2085    Status XLookupColor( Display*, Colormap, byte*, XColor*, XColor* ); 
     2086 
     2087    int XLowerWindow( Display*, Window ); 
     2088 
     2089    int XMapRaised( Display*, Window ); 
     2090 
     2091    int XMapSubwindows( Display*, Window ); 
     2092 
     2093    int XMapWindow( Display*, Window ); 
     2094 
     2095    int XMaskEvent( Display*, EventMask, XEvent* ); 
     2096 
     2097    int XMaxCmapsOfScreen( Screen* ); 
     2098 
     2099    int XMinCmapsOfScreen( Screen* ); 
     2100 
     2101    int XMoveResizeWindow( Display*, Window, int, int, uint, uint ); 
     2102 
     2103    int XMoveWindow( Display*, Window, int, int ); 
     2104 
     2105    int XNextEvent( Display*, XEvent* ); 
     2106 
     2107    int XNoOp( Display* ); 
     2108 
     2109    Status XParseColor( Display*, Colormap, ubyte*, XColor* ); 
     2110 
     2111    int XParseGeometry( char*, int*, int*, uint*, uint* ); 
     2112 
     2113    int XPeekEvent( Display*, XEvent* ); 
     2114 
     2115    int XPeekIfEvent( Display*, XEvent*, 
     2116        Bool function ( Display*, XEvent*, XPointer ), XPointer ); 
     2117 
     2118    int XPending( Display* ); 
     2119 
     2120    int XPlanesOfScreen( Screen* ); 
     2121 
     2122    int XProtocolRevision( Display* ); 
     2123 
     2124    int XProtocolVersion( Display* ); 
     2125 
     2126    int XPutBackEvent( Display*, XEvent* ); 
     2127 
     2128    int XPutImage( Display*, Drawable, GC, XImage*, int, int, int, int, uint, 
     2129        uint ); 
     2130 
     2131    int XQLength( Display* ); 
     2132 
     2133    Status XQueryBestCursor( Display*, Drawable, uint, uint, uint*, uint* ); 
     2134 
     2135    Status XQueryBestSize( Display*, int, Drawable, uint, uint, uint*, uint* ); 
     2136 
     2137    Status XQueryBestStipple( Display*, Drawable, uint, uint, uint*, uint* ); 
     2138 
     2139    Status XQueryBestTile( Display*, Drawable, uint, uint, uint*, uint* ); 
     2140 
     2141    int XQueryColor( Display*, Colormap, XColor* ); 
     2142 
     2143    int XQueryColors( Display*, Colormap, XColor*, int ); 
     2144 
     2145    Bool XQueryExtension( Display*, byte*, int*, int*, int* ); 
     2146 
     2147    int XQueryKeymap( Display*, byte[ 32 ] ); 
     2148 
     2149    Bool XQueryPointer( Display*, Window, Window*, Window*, int*, int*, int*, 
     2150        int*, uint* ); 
     2151 
     2152    int XQueryTextExtents( Display*, XID, char*, int, FontDrawDirection*, int*, 
     2153        int*, XCharStruct* ); 
     2154 
     2155    int XQueryTextExtents16( Display*, XID, XChar2b*, int, FontDrawDirection*, 
     2156        int*, int*, XCharStruct* ); 
     2157 
     2158    Status XQueryTree( Display*, Window, Window*, Window*, Window**, uint* ); 
     2159 
     2160    int XRaiseWindow( Display*, Window ); 
     2161 
     2162    int XReadBitmapFile( Display*, Drawable, ubyte*, uint*, uint*, Pixmap*, 
     2163        int*, int* ); 
     2164 
     2165    int XReadBitmapFileData( byte*, uint*, uint*, ubyte**, int*, int* ); 
     2166 
     2167    int XRebindKeysym( Display*, KeySym, KeySym*, int, char*, int ); 
     2168 
     2169    int XRecolorCursor( Display*, Cursor, XColor*, XColor* ); 
     2170 
     2171    int XRefreshKeyboardMapping( XMappingEvent* ); 
     2172 
     2173    int XRemoveFromSaveSet( Display*, Window ); 
     2174 
     2175    int XRemoveHost( Display*, XHostAddress* ); 
     2176 
     2177    int XRemoveHosts( Display*, XHostAddress*, int ); 
     2178 
     2179    int XReparentWindow( Display*, Window, Window, int, int ); 
     2180 
     2181    int XResetScreenSaver( Display* ); 
     2182 
     2183    int XResizeWindow( Display*, Window, uint, uint ); 
     2184 
     2185    int XRestackWindows( Display*, Window*, int ); 
     2186 
     2187    int XRotateBuffers( Display*, int ); 
     2188 
     2189    int XRotateWindowProperties( Display*, Window, Atom*, int, int ); 
     2190 
     2191    int XScreenCount( Display* ); 
     2192 
     2193    int XSelectInput( Display*, Window, EventMask ); 
     2194 
     2195    Status XSendEvent( Display*, Window, Bool, EventMask, XEvent* ); 
     2196 
     2197    int XSetAccessControl( Display*, HostAccess ); 
     2198 
     2199    int XSetArcMode( Display*, GC, ArcMode ); 
     2200 
     2201    int XSetBackground( Display*, GC, uint ); 
     2202 
     2203    int XSetClipMask( Display*, GC, Pixmap ); 
     2204 
     2205    int XSetClipOrigin( Display*, GC, int, int ); 
     2206 
     2207    int XSetClipRectangles( Display*, GC, int, int, XRectangle*, int, int ); 
     2208 
     2209    int XSetCloseDownMode( Display*, int ); 
     2210 
     2211    int XSetCommand( Display*, Window, byte**, int ); 
     2212 
     2213    int XSetDashes( Display*, GC, int, byte*, int ); 
     2214 
     2215    int XSetFillRule( Display*, GC, FillRule ); 
     2216 
     2217    int XSetFillStyle( Display*, GC, FillStyle ); 
     2218 
     2219    int XSetFont( Display*, GC, Font ); 
     2220 
     2221    int XSetFontPath( Display*, byte**, int ); 
     2222 
     2223    int XSetForeground( Display*, GC, uint ); 
     2224 
     2225    int XSetFunction( Display*, GC, int ); 
     2226 
     2227    int XSetGraphicsExposures( Display*, GC, Bool ); 
     2228 
     2229    int XSetIconName( Display*, Window, byte* ); 
     2230 
     2231    int XSetInputFocus( Display*, Window, int, Time ); 
     2232 
     2233    int XSetLineAttributes( Display*, GC, uint, LineStyle, CapStyle, JoinStyle ); 
     2234 
     2235    int XSetModifierMapping( Display*, XModifierKeymap* ); 
     2236 
     2237    int XSetPlaneMask( Display*, GC, uint ); 
     2238 
     2239    int XSetPointerMapping( Display*, ubyte*, int ); 
     2240 
     2241    int XSetScreenSaver( Display*, int, int, int, int ); 
     2242 
     2243    int XSetSelectionOwner( Display*, Atom, Window, Time ); 
     2244 
     2245    int XSetState( Display*, GC, uint, uint, GraphicFunction, uint ); 
     2246 
     2247    int XSetStipple( Display*, GC, Pixmap ); 
     2248 
     2249    int XSetSubwindowMode( Display*, GC, int ); 
     2250 
     2251    int XSetTSOrigin( Display*, GC, int, int ); 
     2252 
     2253    int XSetTile( Display*, GC, Pixmap ); 
     2254 
     2255    int XSetWindowBackground( Display*, Window, uint ); 
     2256 
     2257    int XSetWindowBackgroundPixmap( Display*, Window, Pixmap ); 
     2258 
     2259    int XSetWindowBorder( Display*, Window, uint ); 
     2260 
     2261    int XSetWindowBorderPixmap( Display*, Window, Pixmap ); 
     2262 
     2263    int XSetWindowBorderWidth( Display*, Window, uint ); 
     2264 
     2265    int XSetWindowColormap( Display*, Window, Colormap ); 
     2266 
     2267    int XStoreBuffer( Display*, byte*, int, int ); 
     2268 
     2269    int XStoreBytes( Display*, byte*, int ); 
     2270 
     2271    int XStoreColor( Display*, Colormap, XColor* ); 
     2272 
     2273    int XStoreColors( Display*, Colormap, XColor*, int ); 
     2274 
     2275    int XStoreName( Display*, Window, char* ); 
     2276 
     2277    int XStoreNamedColor( Display*, Colormap, char*, uint, StoreColor ); 
     2278 
     2279    int XSync( Display*, Bool ); 
     2280 
     2281    int XTextExtents( XFontStruct*, char*, int, int*, int*, int*, XCharStruct* ); 
     2282 
     2283    int XTextExtents16( XFontStruct*, XChar2b*, int, FontDrawDirection*, int*, 
     2284        int*, XCharStruct* ); 
     2285 
     2286    int XTextWidth( XFontStruct*, char*, int ); 
     2287 
     2288    int XTextWidth16( XFontStruct*, XChar2b*, int ); 
     2289 
     2290    Bool XTranslateCoordinates( Display*, Window, Window, int, int, int*, int*, 
     2291        Window* ); 
     2292 
     2293    int XUndefineCursor( Display*, Window ); 
     2294 
     2295    int XUngrabButton( Display*, uint, KeyMask, Window ); 
     2296 
     2297    int XUngrabKey( Display*, int, KeyMask, Window ); 
     2298 
     2299    int XUngrabKeyboard( Display*, Time ); 
     2300 
     2301    int XUngrabPointer( Display*, Time ); 
     2302 
     2303    int XUngrabServer( Display* ); 
     2304 
     2305    int XUninstallColormap( Display*, Colormap ); 
     2306 
     2307    int XUnloadFont( Display*, Font ); 
     2308 
     2309    int XUnmapSubwindows( Display*, Window ); 
     2310 
     2311    int XUnmapWindow( Display*, Window ); 
     2312 
     2313    int XVendorRelease( Display* ); 
     2314 
     2315    int XWarpPointer( Display*, Window, Window, int, int, uint, uint, int, int ); 
     2316 
     2317    int XWidthMMOfScreen( Screen* ); 
     2318 
     2319    int XWidthOfScreen( Screen* ); 
     2320 
     2321    int XWindowEvent( Display*, Window, EventMask, XEvent* ); 
     2322 
     2323    int XWriteBitmapFile( Display*, byte*, Pixmap, uint, uint, int, int ); 
     2324 
     2325    Bool XSupportsLocale(); 
     2326 
     2327    byte* XSetLocaleModifiers( byte* ); 
     2328 
     2329    XOM XOpenOM( Display*, XrmHashBucketRec*, byte*, byte* ); 
     2330 
     2331    Status XCloseOM( XOM ); 
     2332 
     2333    Display* XDisplayOfOM( XOM ); 
     2334 
     2335    byte* XLocaleOfOM( XOM ); 
     2336 
     2337    void XDestroyOC( XOC ); 
     2338 
     2339    XOM XOMOfOC( XOC ); 
     2340 
     2341    XFontSet XCreateFontSet( Display*, byte*, byte***, int*, char** ); 
     2342 
     2343    void XFreeFontSet( Display*, XFontSet ); 
     2344 
     2345    int XFontsOfFontSet( XFontSet, XFontStruct***, byte*** ); 
     2346 
     2347    byte* XBaseFontNameListOfFontSet( XFontSet ); 
     2348 
     2349    byte* XLocaleOfFontSet( XFontSet ); 
     2350 
     2351    Bool XContextDependentDrawing( XFontSet ); 
     2352 
     2353    Bool XDirectionalDependentDrawing( XFontSet ); 
     2354 
     2355    Bool XContextualDrawing( XFontSet ); 
     2356 
     2357    XFontSetExtents* XExtentsOfFontSet( XFontSet ); 
     2358 
     2359    int XmbTextEscapement( XFontSet, byte*, int ); 
     2360 
     2361    int XwcTextEscapement( XFontSet, wchar*, int ); 
     2362 
     2363    int Xutf8TextEscapement( XFontSet, char*, int ); 
     2364 
     2365    int XmbTextExtents( XFontSet, byte*, int, XRectangle*, XRectangle* ); 
     2366 
     2367    int XwcTextExtents( XFontSet, wchar*, int, XRectangle*, XRectangle* ); 
     2368 
     2369    int Xutf8TextExtents( XFontSet, char*, int, XRectangle*, XRectangle* ); 
     2370 
     2371    Status XmbTextPerCharExtents( XFontSet, byte*, int, XRectangle*, 
     2372        XRectangle*, int, int*, XRectangle*, XRectangle* ); 
     2373 
     2374    Status XwcTextPerCharExtents( XFontSet, wchar*, int, XRectangle*, 
     2375        XRectangle*, int, int*, XRectangle*, XRectangle* ); 
     2376 
     2377    Status Xutf8TextPerCharExtents( XFontSet, char*, int, XRectangle*, 
     2378        XRectangle*, int, int*, XRectangle*, XRectangle* ); 
     2379 
     2380    void XmbDrawText( Display*, Drawable, GC, int, int, XmbTextItem*, int ); 
     2381 
     2382    void XwcDrawText( Display*, Drawable, GC, int, int, XwcTextItem*, int ); 
     2383 
     2384    void Xutf8DrawText( Display*, Drawable, GC, int, int, XmbTextItem*, int ); 
     2385 
     2386    void XmbDrawString( Display*, Drawable, XFontSet, GC, int, int, char*, int ); 
     2387 
     2388    void XwcDrawString( Display*, Drawable, XFontSet, GC, int, int, wchar*, int ); 
     2389 
     2390    void Xutf8DrawString( Display*, Drawable, XFontSet, GC, int, int, char*, 
     2391        int ); 
     2392 
     2393    void XmbDrawImageString( Display*, Drawable, XFontSet, GC, int, int, char*, 
     2394        int ); 
     2395 
     2396    void XwcDrawImageString( Display*, Drawable, XFontSet, GC, int, int, 
     2397        wchar*, int ); 
     2398 
     2399    void Xutf8DrawImageString( Display*, Drawable, XFontSet, GC, int, int, 
     2400        char*, int ); 
     2401 
     2402    XIM XOpenIM( Display*, XrmHashBucketRec*, byte*, byte* ); 
     2403 
     2404    Status XCloseIM( XIM ); 
     2405 
     2406    Display* XDisplayOfIM( XIM ); 
     2407 
     2408    byte* XLocaleOfIM( XIM ); 
     2409 
     2410    void XDestroyIC( XIC ); 
     2411 
     2412    void XSetICFocus( XIC ); 
     2413 
     2414    void XUnsetICFocus( XIC ); 
     2415 
     2416    wchar* XwcResetIC( XIC ); 
     2417 
     2418    byte* XmbResetIC( XIC ); 
     2419 
     2420    byte* Xutf8ResetIC( XIC ); 
     2421 
     2422    XIM XIMOfIC( XIC ); 
     2423 
     2424    Bool XFilterEvent( XEvent*, Window ); 
     2425 
     2426    int XmbLookupString( XIC, XKeyPressedEvent*, char*, int, KeySym*, Status* ); 
     2427 
     2428    int XwcLookupString( XIC, XKeyPressedEvent*, wchar*, int, KeySym*, Status* ); 
     2429 
     2430    int Xutf8LookupString( XIC, XKeyPressedEvent*, char*, int, KeySym*, Status* ); 
     2431 
     2432    Bool XRegisterIMInstantiateCallback( Display*, XrmHashBucketRec*, byte*, 
     2433        byte*, XIDProc, XPointer ); 
     2434 
     2435    Bool XUnregisterIMInstantiateCallback( Display*, XrmHashBucketRec*, byte*, 
     2436        byte*, XIDProc, XPointer ); 
     2437 
     2438    typedef void function ( Display*, XPointer, int, Bool, XPointer* ) 
     2439        XConnectionWatchProc; 
     2440 
     2441    Status XInternalConnectionNumbers( Display*, int**, int* ); 
     2442 
     2443    void XProcessInternalConnection( Display*, int ); 
     2444 
     2445    Status XAddConnectionWatch( Display*, XConnectionWatchProc, XPointer ); 
     2446 
     2447    void XRemoveConnectionWatch( Display*, XConnectionWatchProc, XPointer ); 
     2448 
     2449    void XSetAuthorization( byte*, int, byte*, int ); 
     2450 
     2451    int _Xmbtowc( wchar*, byte*, int ); 
     2452 
     2453    int _Xwctomb( byte*, wchar ); 
     2454 
     2455    Status XMatchVisualInfo( Display*, int, int, int, XVisualInfo* ); 
    20082456} 
    20092457 
    20102458/* Macros */ 
    2011 int ConnectionNumber(Display *dpy) 
    2012     { return dpy.fd; } 
    2013 Window RootWindow(Display *dpy,int scr) 
    2014     { return ScreenOfDisplay(dpy,scr).root; } 
    2015 int DefaultScreen(Display *dpy) 
    2016     { return dpy.default_screen; } 
    2017 Window DefaultRootWindow(Display *dpy) 
    2018     { return ScreenOfDisplay(dpy,DefaultScreen(dpy)).root; } 
    2019 Visual* DefaultVisual(Display *dpy,int scr) 
    2020     { return ScreenOfDisplay(dpy,scr).root_visual; } 
    2021 GC DefaultGC(Display *dpy,int scr) 
    2022     { return ScreenOfDisplay(dpy,scr).default_gc; } 
    2023 uint BlackPixel(Display *dpy,int scr) 
    2024     { return ScreenOfDisplay(dpy,scr).black_pixel; } 
    2025 uint WhitePixel(Display *dpy,int scr) 
    2026     { return ScreenOfDisplay(dpy,scr).white_pixel; } 
    2027 uint AllPlanes() 
    2028     { return 0xFFFFFFFF; } 
    2029 int QLength(Display *dpy) 
    2030     { return dpy.qlen; } 
    2031 int DisplayWidth(Display *dpy,int scr) 
    2032     { return ScreenOfDisplay(dpy,scr).width; } 
    2033 int DisplayHeight(Display *dpy,int scr) 
    2034     { return ScreenOfDisplay(dpy,scr).height; } 
    2035 int DisplayWidthMM(Display *dpy,int scr) 
    2036     { return ScreenOfDisplay(dpy,scr).mwidth; } 
    2037 int DisplayHeightMM(Display *dpy,int scr) 
    2038     { return ScreenOfDisplay(dpy,scr).mheight; } 
    2039 int DisplayPlanes(Display *dpy,int scr) 
    2040     { return ScreenOfDisplay(dpy,scr).root_depth; } 
    2041 int DisplayCells(Display *dpy,int scr) 
    2042     { return DefaultVisual(dpy,scr).map_entries; } 
    2043 int ScreenCount(Display *dpy) 
    2044     { return dpy.nscreens; } 
    2045 char* ServerVendor(Display *dpy) 
    2046     { return dpy.vendor; } 
    2047 int ProtocolVersion(Display *dpy) 
    2048     { return dpy.proto_major_version; } 
    2049 int ProtocolRevision(Display *dpy) 
    2050     { return dpy.proto_minor_version; } 
    2051 int VendorRelease(Display *dpy) 
    2052     { return dpy.release; } 
    2053 char* DisplayString(Display *dpy) 
    2054     { return dpy.display_name; } 
    2055 int DefaultDepth(Display *dpy,int scr) 
    2056     { return ScreenOfDisplay(dpy,scr).root_depth; } 
    2057 Colormap DefaultColormap(Display *dpy,int scr) 
    2058     { return ScreenOfDisplay(dpy,scr).cmap; } 
    2059 int BitmapUnit(Display *dpy) 
    2060     { return dpy.bitmap_unit; } 
    2061 int BitmapBitOrder(Display *dpy) 
    2062     { return dpy.bitmap_bit_order; } 
    2063 int BitmapPad(Display *dpy) 
    2064     { return dpy.bitmap_pad; } 
    2065 int ImageByteOrder(Display *dpy) 
    2066     { return dpy.byte_order; }  
    2067 uint NextRequest(Display *dpy) 
    2068     { return dpy.request + 1; } 
    2069 uint LastKnownRequestProcessed(Display *dpy) 
    2070     { return dpy.last_request_read; } 
    2071 Screen* ScreenOfDisplay(Display *dpy,int scr) 
    2072     { return &dpy.screens[scr]; } 
    2073 Screen* DefaultScreenOfDisplay(Display *dpy) 
    2074     { return ScreenOfDisplay(dpy,DefaultScreen(dpy)); } 
    2075 Display* DisplayOfScreen(Screen s) 
    2076     { return s.display; } 
    2077 Window RootWindowOfScreen(Screen s) 
    2078     { return s.root; } 
    2079 uint BlackPixelOfScreen(Screen s) 
    2080     { return s.black_pixel; } 
    2081 uint WhitePixelOfScreen(Screen s) 
    2082     { return s.white_pixel; } 
    2083 Colormap DefaultColormapOfScreen(Screen s) 
    2084     { return s.cmap; } 
    2085 int DefaultDepthOfScreen(Screen s) 
    2086     { return s.root_depth; } 
    2087 GC DefaultGCOfScreen(Screen s) 
    2088     { return s.default_gc; } 
    2089 Visual* DefaultVisualOfScreen(Screen s) 
    2090     { return s.root_visual; } 
    2091 int WidthOfScreen(Screen s) 
    2092     { return s.width; } 
    2093 int HeightOfScreen(Screen s) 
    2094     { return s.height; } 
    2095 int WidthMMOfScreen(Screen s) 
    2096     { return s.mwidth; } 
    2097 int HeightMMOfScreen(Screen s) 
    2098     { return s.mheight; } 
    2099 int PlanesOfScreen(Screen s) 
    2100     { return s.root_depth; } 
    2101 int CellsOfScreen(Screen s) 
    2102     { return DefaultVisualOfScreen(s).map_entries; } 
    2103 int MinCmapsOfScreen(Screen s) 
    2104     { return s.min_maps; } 
    2105 int MaxCmapsOfScreen(Screen s) 
    2106     { return s.max_maps; } 
    2107 Bool DoesSaveUnders(Screen s) 
    2108     { return s.save_unders; } 
    2109 int DoesBackingStore(Screen s) 
    2110     { return s.backing_store; } 
    2111 int EventMaskOfScreen(Screen s) 
    2112     { return s.root_input_mask; } 
    2113 int XAllocID(Display* dpy) 
    2114     { return dpy.resource_alloc(dpy); } 
     2459int ConnectionNumber( Display* dpy ) { 
     2460    return dpy.fd; 
     2461
     2462 
     2463Window RootWindow( Display* dpy, int scr ) { 
     2464    return ScreenOfDisplay( dpy, scr ).root; 
     2465
     2466 
     2467int DefaultScreen( Display* dpy ) { 
     2468    return dpy.default_screen; 
     2469
     2470 
     2471Window DefaultRootWindow( Display* dpy ) { 
     2472    return ScreenOfDisplay( dpy, DefaultScreen( dpy ) ).root; 
     2473
     2474 
     2475Visual* DefaultVisual( Display* dpy, int scr ) { 
     2476    return ScreenOfDisplay( dpy, scr ).root_visual; 
     2477
     2478 
     2479GC DefaultGC( Display* dpy, int scr ) { 
     2480    return ScreenOfDisplay( dpy, scr ).default_gc; 
     2481
     2482 
     2483uint BlackPixel( Display* dpy, int scr ) { 
     2484    return ScreenOfDisplay( dpy, scr ).black_pixel; 
     2485
     2486 
     2487uint WhitePixel( Display* dpy, int scr ) { 
     2488    return ScreenOfDisplay( dpy, scr ).white_pixel; 
     2489
     2490 
     2491uint AllPlanes() { 
     2492    return 0xFFFFFFFF; 
     2493
     2494 
     2495int QLength( Display* dpy ) { 
     2496    return dpy.qlen; 
     2497
     2498 
     2499int DisplayWidth( Display* dpy, int scr ) { 
     2500    return ScreenOfDisplay( dpy, scr ).width; 
     2501
     2502 
     2503int DisplayHeight( Display* dpy, int scr ) { 
     2504    return ScreenOfDisplay( dpy, scr ).height; 
     2505
     2506 
     2507int DisplayWidthMM( Display* dpy, int scr ) { 
     2508    return ScreenOfDisplay( dpy, scr ).mwidth; 
     2509
     2510 
     2511int DisplayHeightMM( Display* dpy, int scr ) { 
     2512    return ScreenOfDisplay( dpy, scr ).mheight; 
     2513
     2514 
     2515int DisplayPlanes( Display* dpy, int scr ) { 
     2516    return ScreenOfDisplay( dpy, scr ).root_depth; 
     2517
     2518 
     2519int DisplayCells( Display* dpy, int scr ) { 
     2520    return DefaultVisual( dpy, scr ).map_entries; 
     2521
     2522 
     2523int ScreenCount( Display* dpy ) { 
     2524    return dpy.nscreens; 
     2525
     2526 
     2527char* ServerVendor( Display* dpy ) { 
     2528    return dpy.vendor; 
     2529
     2530 
     2531int ProtocolVersion( Display* dpy ) { 
     2532    return dpy.proto_major_version; 
     2533
     2534 
     2535int ProtocolRevision( Display* dpy ) { 
     2536    return dpy.proto_minor_version; 
     2537
     2538 
     2539int VendorRelease( Display* dpy ) { 
     2540    return dpy.release; 
     2541
     2542 
     2543char* DisplayString( Display* dpy ) { 
     2544    return dpy.display_name; 
     2545
     2546 
     2547int DefaultDepth( Display* dpy, int scr ) { 
     2548    return ScreenOfDisplay( dpy, scr ).root_depth; 
     2549
     2550 
     2551Colormap DefaultColormap( Display* dpy, int scr ) { 
     2552    return ScreenOfDisplay( dpy, scr ).cmap; 
     2553
     2554 
     2555int BitmapUnit( Display* dpy ) { 
     2556    return dpy.bitmap_unit; 
     2557
     2558 
     2559int BitmapBitOrder( Display* dpy ) { 
     2560    return dpy.bitmap_bit_order; 
     2561
     2562 
     2563int BitmapPad( Display* dpy ) { 
     2564    return dpy.bitmap_pad; 
     2565
     2566 
     2567int ImageByteOrder( Display* dpy ) { 
     2568    return dpy.byte_order; 
     2569
     2570 
     2571uint NextRequest( Display* dpy ) { 
     2572    return dpy.request + 1; 
     2573
     2574 
     2575uint LastKnownRequestProcessed( Display* dpy ) { 
     2576    return dpy.last_request_read; 
     2577
     2578 
     2579Screen* ScreenOfDisplay( Display* dpy, int scr ) { 
     2580    return &dpy.screens[ scr ]; 
     2581
     2582 
     2583Screen* DefaultScreenOfDisplay( Display* dpy ) { 
     2584    return ScreenOfDisplay( dpy, DefaultScreen( dpy ) ); 
     2585
     2586 
     2587Display* DisplayOfScreen( Screen s ) { 
     2588    return s.display; 
     2589
     2590 
     2591Window RootWindowOfScreen( Screen s ) { 
     2592    return s.root; 
     2593
     2594 
     2595uint BlackPixelOfScreen( Screen s ) { 
     2596    return s.black_pixel; 
     2597
     2598 
     2599uint WhitePixelOfScreen( Screen s ) { 
     2600    return s.white_pixel; 
     2601
     2602 
     2603Colormap DefaultColormapOfScreen( Screen s ) { 
     2604    return s.cmap; 
     2605
     2606 
     2607int DefaultDepthOfScreen( Screen s ) { 
     2608    return s.root_depth; 
     2609
     2610 
     2611GC DefaultGCOfScreen( Screen s ) { 
     2612    return s.default_gc; 
     2613
     2614 
     2615Visual* DefaultVisualOfScreen( Screen s ) { 
     2616    return s.root_visual; 
     2617
     2618 
     2619int WidthOfScreen( Screen s ) { 
     2620    return s.width; 
     2621
     2622 
     2623int HeightOfScreen( Screen s ) { 
     2624    return s.height; 
     2625
     2626 
     2627int WidthMMOfScreen( Screen s ) { 
     2628    return s.mwidth; 
     2629
     2630 
     2631int HeightMMOfScreen( Screen s ) { 
     2632    return s.mheight; 
     2633
     2634 
     2635int PlanesOfScreen( Screen s ) { 
     2636    return s.root_depth; 
     2637
     2638 
     2639int CellsOfScreen( Screen s ) { 
     2640    return DefaultVisualOfScreen( s ).map_entries; 
     2641
     2642 
     2643int MinCmapsOfScreen( Screen s ) { 
     2644    return s.min_maps; 
     2645
     2646 
     2647int MaxCmapsOfScreen( Screen s ) { 
     2648    return s.max_maps; 
     2649
     2650 
     2651Bool DoesSaveUnders( Screen s ) { 
     2652    return s.save_unders; 
     2653
     2654 
     2655int DoesBackingStore( Screen s ) { 
     2656    return s.backing_store; 
     2657
     2658 
     2659int EventMaskOfScreen( Screen s ) { 
     2660    return s.root_input_mask; 
     2661
     2662 
     2663int XAllocID( Display* dpy ) { 
     2664    return dpy.resource_alloc( dpy ); 
     2665
  • trunk/src/uni/lib/platforms/Mac.d

    r5 r43  
    11/+ 
    22 
    3    Copyright (c) 2008, Trevor Parscal 
    4      
    5    Module:    Bare-Minimum Mac API 
     3 Copyright (c) 2008, Trevor Parscal 
     4  
     5 Module:  Bare-Minimum Mac API 
    66 
    7 +/ 
     7 +/ 
    88 
    99module uni.lib.platforms.Mac; 
  • trunk/src/uni/lib/platforms/Windows.d

    r19 r43  
    11/+ 
    22 
    3    Copyright (c) 2008, Trevor Parscal 
    4      
    5    Module:    Bare-Minimum Windows API 
    6      
    7    Notes: Unicode is implimented only. All functions with 
    8           W name extensions have aliases without. 
    9  
    10 +/ 
     3 Copyright (c) 2008, Trevor Parscal 
     4  
     5 Module:  Bare-Minimum Windows API 
     6  
     7 Notes: Unicode is implimented only. All functions with 
     8 W name extensions have aliases without. 
     9 
     10 +/ 
    1111 
    1212module uni.lib.platforms.Windows; 
    1313 
    1414/* Pragmas */ 
    15 pragma(lib, "user32.lib"); 
    16 pragma(lib, "gdi32.lib"); 
     15pragma ( lib, "user32.lib" ); 
     16pragma ( lib, "gdi32.lib" ); 
    1717 
    1818/* Aliases */ 
     
    5050alias long LONGLONG; 
    5151alias void VOID; 
    52 extern(Windows) alias LRESULT (*WNDPROC)(HWND, UINT, WPARAM, LPARAM); 
     52 
     53extern ( Windows ) 
     54    alias LRESULT ( *WNDPROC ) ( HWND, UINT, WPARAM, LPARAM ); 
    5355 
    5456/* Macros */ 
    55 short HIWORD(uint L) 
    56 
     57short HIWORD( uint L ) { 
    5758    return L >> 16; 
    5859} 
    59 short LOWORD(uint L) 
    60 
     60 
     61short LOWORD( uint L )
    6162    return L & 0xFFFF; 
    6263} 
    6364 
    6465/* Functions */ 
    65 extern(Windows) 
    66 
     66extern ( Windows ) { 
    6767    // Modules 
    68     HMODULE GetModuleHandleA(LPCSTRW); 
    69         alias GetModuleHandleA GetModuleHandle; 
    70      
     68    HMODULE GetModuleHandleA( LPCSTRW ); 
     69 
     70    alias GetModuleHandleA GetModuleHandle; 
     71 
    7172    // Classes 
    72     ATOM RegisterClassExW(WNDCLASSEX*); 
    73         alias RegisterClassExW RegisterClassEx; 
    74     ATOM RegisterClassW(WNDCLASS*); 
    75         alias RegisterClassW RegisterClass; 
    76     BOOL UnregisterClassW(LPCSTRW, HINST); 
    77         alias UnregisterClassW UnregisterClass; 
    78      
     73    ATOM RegisterClassExW( WNDCLASSEX* ); 
     74 
     75    alias RegisterClassExW RegisterClassEx; 
     76 
     77    ATOM RegisterClassW( WNDCLASS* ); 
     78 
     79    alias RegisterClassW RegisterClass; 
     80 
     81    BOOL UnregisterClassW( LPCSTRW, HINST ); 
     82 
     83    alias UnregisterClassW UnregisterClass; 
     84 
    7985    // Windows  
    80     BOOL GetWindowInfo(HWND, WINDOWINFO*); 
    81     BOOL ShowWindow(HWND, INT); 
    82     BOOL UpdateWindow(HWND); 
    83     BOOL DestroyWindow(HWND); 
    84     HDC GetDC(HWND); 
     86    BOOL GetWindowInfo( HWND, WINDOWINFO* ); 
     87 
     88    BOOL ShowWindow( HWND, INT ); 
     89 
     90    BOOL UpdateWindow( HWND ); 
     91 
     92    BOOL DestroyWindow( HWND ); 
     93 
     94    HDC GetDC( HWND ); 
     95 
    8596    BOOL GdiFlush(); 
    86     INT ChoosePixelFormat(HDC, PIXELFORMATDESCRIPTOR*); 
    87     BOOL SetPixelFormat(HDC, INT, PIXELFORMATDESCRIPTOR*); 
    88     INT ReleaseDC(HWND, HDC); 
    89     BOOL SwapBuffers(HDC); 
    90     BOOL SetWindowPos(HWND, HWND, INT, INT, INT, INT, UINT); 
    91     HDC BeginPaint(HWND, PAINTSTRUCT*); 
    92     BOOL EndPaint(HWND, PAINTSTRUCT*); 
    93     BOOL InvalidateRect(HWND, RECT* BOOL); 
    94     BOOL FlashWindowEx(FLASHWINFO*); 
    95     BOOL ClientToScreen(HWND, POINT*); 
    96     BOOL ScreenToClient(HWND, POINT*); 
    97     BOOL SetCursorPos(INT, INT); 
    98     BOOL GetCursorPos(POINT*); 
    99     BOOL SetForegroundWindow(HWND); 
    100     BOOL EnableWindow(HWND, BOOL); 
    101     VOID DragFinish(HDROP); 
    102     BOOL DragQueryPoint(HDROP, POINT*); 
    103     UINT DragQueryFileW(HDROP, UINT, LPCSTRW, UINT); 
    104         alias DragQueryFileW DragQueryFile; 
    105     LONG SetWindowLongW(HWND, INT, LONG); 
    106         alias SetWindowLongW SetWindowLong; 
    107     HWND CreateWindowExW(DWORD, LPCSTRW, LPCSTRW, DWORD, INT, INT, INT, INT, HWND, HMENU, HINSTANCE, void*); 
    108         alias CreateWindowExW CreateWindowEx; 
    109     BOOL SetWindowTextW(HWND, LPCSTRW); 
    110         alias SetWindowTextW SetWindowText; 
    111      
     97 
     98    INT ChoosePixelFormat( HDC, PIXELFORMATDESCRIPTOR* ); 
     99 
     100    BOOL SetPixelFormat( HDC, INT, PIXELFORMATDESCRIPTOR* ); 
     101 
     102    INT ReleaseDC( HWND, HDC ); 
     103 
     104    BOOL SwapBuffers( HDC ); 
     105 
     106    BOOL SetWindowPos( HWND, HWND, INT, INT, INT, INT, UINT ); 
     107 
     108    HDC BeginPaint( HWND, PAINTSTRUCT* ); 
     109 
     110    BOOL EndPaint( HWND, PAINTSTRUCT* ); 
     111 
     112    BOOL InvalidateRect( HWND, RECT* BOOL ); 
     113 
     114    BOOL FlashWindowEx( FLASHWINFO* ); 
     115 
     116    BOOL ClientToScreen( HWND, POINT* ); 
     117 
     118    BOOL ScreenToClient( HWND, POINT* ); 
     119 
     120    BOOL SetCursorPos( INT, INT ); 
     121 
     122    BOOL GetCursorPos( POINT* ); 
     123 
     124    BOOL SetForegroundWindow( HWND ); 
     125 
     126    BOOL EnableWindow( HWND, BOOL ); 
     127 
     128    VOID DragFinish( HDROP ); 
     129 
     130    BOOL DragQueryPoint( HDROP, POINT* ); 
     131 
     132    UINT DragQueryFileW( HDROP, UINT, LPCSTRW, UINT ); 
     133 
     134    alias DragQueryFileW DragQueryFile; 
     135 
     136    LONG SetWindowLongW( HWND, INT, LONG ); 
     137 
     138    alias SetWindowLongW SetWindowLong; 
     139 
     140    HWND CreateWindowExW( DWORD, LPCSTRW, LPCSTRW, DWORD, INT, INT, INT, INT, 
     141        HWND, HMENU, HINSTANCE, void* ); 
     142 
     143    alias CreateWindowExW CreateWindowEx; 
     144 
     145    BOOL SetWindowTextW( HWND, LPCSTRW ); 
     146 
     147    alias SetWindowTextW SetWindowText; 
     148 
    112149    // Messages 
    113     BOOL TranslateMessage(MSG*); 
    114     VOID PostQuitMessage(INT); 
     150    BOOL TranslateMessage( MSG* ); 
     151 
     152    VOID PostQuitMessage( INT ); 
     153 
    115154    BOOL WaitMessage(); 
    116     HWND SetCapture(HWND); 
     155 
     156    HWND SetCapture( HWND ); 
     157 
    117158    BOOL ReleaseCapture(); 
    118     BOOL GetKeyboardState(BYTE*); 
    119     UINT MapVirtualKeyW(UINT, UINT); 
    120         alias MapVirtualKeyW MapVirtualKey; 
    121     LRESULT DefWindowProcW(HWND, UINT, WPARAM, LPARAM); 
    122         alias DefWindowProcW DefWindowProc; 
    123     BOOL PeekMessageW(MSG*, HWND, UINT, UINT, UINT); 
    124         alias PeekMessageW PeekMessage; 
    125     BOOL DispatchMessageW(MSG*); 
    126         alias DispatchMessageW DispatchMessage; 
    127     INT ToUnicode(UINT, UINT, BYTE*, LPCSTRW, INT, UINT); 
    128      
     159 
     160    BOOL GetKeyboardState( BYTE* ); 
     161 
     162    UINT MapVirtualKeyW( UINT, UINT ); 
     163 
     164    alias MapVirtualKeyW MapVirtualKey; 
     165 
     166    LRESULT DefWindowProcW( HWND, UINT, WPARAM, LPARAM ); 
     167 
     168    alias DefWindowProcW DefWindowProc; 
     169 
     170    BOOL PeekMessageW( MSG*, HWND, UINT, UINT, UINT ); 
     171 
     172    alias PeekMessageW PeekMessage; 
     173 
     174    BOOL DispatchMessageW( MSG* ); 
     175 
     176    alias DispatchMessageW DispatchMessage; 
     177 
     178    INT ToUnicode( UINT, UINT, BYTE*, LPCSTRW, INT, UINT ); 
     179 
    129180    // Icons Cursors and Images 
    130     INT ShowCursor(BOOL); 
    131     HBITMAP LoadBitmapW(HINSTANCE, LPCSTRW); 
    132         alias LoadBitmapW LoadBitmap; 
    133     HCURSOR LoadCursorW(HINSTANCE, LPCSTRW); 
    134         alias LoadCursorW LoadCursor; 
    135     HCURSOR LoadCursorFromFileW(LPCSTRW); 
    136         alias LoadCursorFromFileW LoadCursorFromFile; 
    137     HICON LoadIconW(HINSTANCE, LPCSTRW); 
    138         alias LoadIconW LoadIcon; 
    139     HANDLE LoadImageW(HINSTANCE, LPCSTRW, UINT, INT, INT, UINT); 
    140         alias LoadImageW LoadImage; 
    141      
     181    INT ShowCursor( BOOL ); 
     182 
     183    HBITMAP LoadBitmapW( HINSTANCE, LPCSTRW ); 
     184 
     185    alias LoadBitmapW LoadBitmap; 
     186 
     187    HCURSOR LoadCursorW( HINSTANCE, LPCSTRW ); 
     188 
     189    alias LoadCursorW LoadCursor; 
     190 
     191    HCURSOR LoadCursorFromFileW( LPCSTRW ); 
     192 
     193    alias LoadCursorFromFileW LoadCursorFromFile; 
     194 
     195    HICON LoadIconW( HINSTANCE, LPCSTRW ); 
     196 
     197    alias LoadIconW LoadIcon; 
     198 
     199    HANDLE LoadImageW( HINSTANCE, LPCSTRW, UINT, INT, INT, UINT ); 
     200 
     201    alias LoadImageW LoadImage; 
     202 
    142203    // Graphics 
    143     BOOL InvalidateRect(HWND, RECT*, BOOL); 
    144      
     204    BOOL InvalidateRect( HWND, RECT*, BOOL ); 
     205 
    145206    // Errors 
    146207    DWORD GetLastError(); 
    147      
     208 
    148209    // Time 
    149     BOOL QueryPerformanceFrequency(LARGE_INTEGER*); 
    150     BOOL QueryPerformanceCounter(LARGE_INTEGER*); 
    151     VOID Sleep(DWORD); 
     210    BOOL QueryPerformanceFrequency( LARGE_INTEGER* ); 
     211 
     212    BOOL QueryPerformanceCounter( LARGE_INTEGER* ); 
     213 
     214    VOID Sleep( DWORD ); 
    152215} 
    153216 
    154217/* Structures */ 
    155 struct WNDCLASS 
    156 
     218struct WNDCLASS { 
    157219    UINT style; 
    158220    WNDPROC lpfnWndProc; 
     
    166228    LPCSTRW lpszClassName; 
    167229} 
    168 struct WNDCLASSEX 
    169 
     230 
     231struct WNDCLASSEX
    170232    UINT cbSize = WNDCLASSEX.sizeof; 
    171233    UINT style; 
     
    181243    HICON hIconSm; 
    182244} 
    183 struct MSG 
    184 
     245 
     246struct MSG
    185247    HWND hwnd; 
    186248    UINT message; 
     
    191253} 
    192254 
    193 struct RECT 
    194 
     255struct RECT { 
    195256    LONG left; 
    196257    LONG top; 
     
    198259    LONG bottom; 
    199260} 
    200 struct POINT 
    201 
     261 
     262struct POINT
    202263    LONG x; 
    203264    LONG y; 
    204265} 
    205 struct MINMAXINFO 
    206 
    207     POINT ptReserved; 
    208     POINT ptMaxSize; 
    209     POINT ptMaxPosition; 
    210     POINT ptMinTrackSize; 
    211     POINT ptMaxTrackSize; 
    212 } 
    213 struct LAYERPLANEDESCRIPTOR 
    214 
     266 
     267struct MINMAXINFO
     268   POINT ptReserved; 
     269   POINT ptMaxSize; 
     270   POINT ptMaxPosition; 
     271   POINT ptMinTrackSize; 
     272   POINT ptMaxTrackSize; 
     273} 
     274 
     275struct LAYERPLANEDESCRIPTOR
    215276    WORD nSize; 
    216277    WORD nVersion; 
     
    238299    COLORREF crTransparent; 
    239300} 
    240 struct PIXELFORMATDESCRIPTOR 
    241 
     301 
     302struct PIXELFORMATDESCRIPTOR
    242303    WORD nSize; 
    243304    WORD nVersion; 
     
    267328    DWORD dwDamageMask; 
    268329} 
    269 struct PAINTSTRUCT 
    270 {  
    271     HDC hdc;  
    272     BOOL fErase;  
    273     RECT rcPaint;  
    274     BOOL fRestore;  
    275     BOOL fIncUpdate;  
    276     BYTE rgbReserved[32];  
    277 } 
    278 struct POINTFLOAT 
    279 
    280     FLOAT x;  
    281     FLOAT y;  
    282 } 
    283 struct GLYPHMETRICSFLOAT 
    284 
    285     FLOAT gmfBlackBoxX;  
    286     FLOAT gmfBlackBoxY;  
    287     POINTFLOAT gmfptGlyphOrigin;  
    288     FLOAT gmfCellIncX;  
    289     FLOAT gmfCellIncY;  
    290 } 
    291 struct WINDOWINFO 
    292 
    293     DWORD cbSize; 
    294     RECT rcWindow; 
    295     RECT rcClient; 
    296     DWORD dwStyle; 
    297     DWORD dwExStyle; 
    298     DWORD dwWindowStatus; 
    299     UINT cxWindowBorders; 
    300     UINT cyWindowBorders; 
    301     ATOM atomWindowType; 
    302     WORD wCreatorVersion; 
    303 } 
    304 struct FLASHWINFO 
    305 
     330 
     331struct PAINTSTRUCT { 
     332    HDC hdc; 
     333    BOOL fErase; 
     334    RECT rcPaint; 
     335    BOOL fRestore; 
     336    BOOL fIncUpdate; 
     337    BYTE rgbReserved[ 32 ]; 
     338} 
     339 
     340struct POINTFLOAT
     341    FLOAT x; 
     342    FLOAT y; 
     343} 
     344 
     345struct GLYPHMETRICSFLOAT
     346    FLOAT gmfBlackBoxX; 
     347    FLOAT gmfBlackBoxY; 
     348    POINTFLOAT gmfptGlyphOrigin; 
     349    FLOAT gmfCellIncX; 
     350    FLOAT gmfCellIncY; 
     351} 
     352 
     353struct WINDOWINFO
     354   DWORD cbSize; 
     355   RECT rcWindow; 
     356   RECT rcClient; 
     357   DWORD dwStyle; 
     358   DWORD dwExStyle; 
     359   DWORD dwWindowStatus; 
     360   UINT cxWindowBorders; 
     361   UINT cyWindowBorders; 
     362   ATOM atomWindowType; 
     363   WORD wCreatorVersion; 
     364} 
     365 
     366struct FLASHWINFO
    306367    UINT cbSize; 
    307368    HWND hwnd; 
     
    312373 
    313374/* Unions */ 
    314 union LARGE_INTEGER 
    315 
    316     struct 
    317     { 
     375union LARGE_INTEGER { 
     376    struct { 
    318377        DWORD LowPart; 
    319378        DWORD HighPart; 
    320379    } 
    321     struct u 
    322    
     380 
     381    struct u
    323382        DWORD LowPart; 
    324383        DWORD HighPart; 
    325384    } 
     385 
    326386    LONGLONG QuadPart; 
    327387} 
     
    332392const BOOL TRUE = (-1); 
    333393// Cursors 
    334 const LPCSTRW IDC_ARROW = cast(LPCSTRW)((32512)); 
    335 const LPCSTRW IDC_IBEAM = cast(LPCSTRW)((32513)); 
    336 const LPCSTRW IDC_WAIT = cast(LPCSTRW)((32514)); 
    337 const LPCSTRW IDC_CROSS = cast(LPCSTRW)((32515)); 
    338 const LPCSTRW IDC_UPARROW = cast(LPCSTRW)((32516)); 
    339 const LPCSTRW IDC_SIZENWSE = cast(LPCSTRW)((32642)); 
    340 const LPCSTRW IDC_SIZENESW = cast(LPCSTRW)((32643)); 
    341 const LPCSTRW IDC_SIZEWE = cast(LPCSTRW)((32644)); 
    342 const LPCSTRW IDC_SIZENS = cast(LPCSTRW)((32645)); 
    343 const LPCSTRW IDC_SIZEALL = cast(LPCSTRW)((32646)); 
    344 const LPCSTRW IDC_NO = cast(LPCSTRW)((32648)); 
    345 const LPCSTRW IDC_APPSTARTING = cast(LPCSTRW)((32650)); 
    346 const LPCSTRW IDC_HELP = cast(LPCSTRW)((32651)); 
    347 const LPCSTRW IDC_SIZE = cast(LPCSTRW)((32640)); 
    348 const LPCSTRW IDC_ICON = cast(LPCSTRW)((32641)); 
     394const LPCSTRW IDC_ARROW = cast(LPCSTRW) ((32512)); 
     395const LPCSTRW IDC_IBEAM = cast(LPCSTRW) ((32513)); 
     396const LPCSTRW IDC_WAIT = cast(LPCSTRW) ((32514)); 
     397const LPCSTRW IDC_CROSS = cast(LPCSTRW) ((32515)); 
     398const LPCSTRW IDC_UPARROW = cast(LPCSTRW) ((32516)); 
     399const LPCSTRW IDC_SIZENWSE = cast(LPCSTRW) ((32642)); 
     400const LPCSTRW IDC_SIZENESW = cast(LPCSTRW) ((32643)); 
     401const LPCSTRW IDC_SIZEWE = cast(LPCSTRW) ((32644)); 
     402const LPCSTRW IDC_SIZENS = cast(LPCSTRW) ((32645)); 
     403const LPCSTRW IDC_SIZEALL = cast(LPCSTRW) ((32646)); 
     404const LPCSTRW IDC_NO = cast(LPCSTRW) ((32648)); 
     405const LPCSTRW IDC_APPSTARTING = cast(LPCSTRW) ((32650)); 
     406const LPCSTRW IDC_HELP = cast(LPCSTRW) ((32651)); 
     407const LPCSTRW IDC_SIZE = cast(LPCSTRW) ((32640)); 
     408const LPCSTRW IDC_ICON = cast(LPCSTRW) ((32641)); 
    349409// Icons 
    350 const LPCSTRW IDI_APPLICATION = cast(LPCSTRW)((32512)); 
    351 const LPCSTRW IDI_HAND = cast(LPCSTRW)((32513)); 
    352 const LPCSTRW IDI_QUESTION = cast(LPCSTRW)((32514)); 
    353 const LPCSTRW IDI_EXCLAMATION = cast(LPCSTRW)((32515)); 
    354 const LPCSTRW IDI_ASTERISK = cast(LPCSTRW)((32516)); 
    355 const LPCSTRW IDI_WINLOGO = cast(LPCSTRW)((32517)); 
     410const LPCSTRW IDI_APPLICATION = cast(LPCSTRW) ((32512)); 
     411const LPCSTRW IDI_HAND = cast(LPCSTRW) ((32513)); 
     412const LPCSTRW IDI_QUESTION = cast(LPCSTRW) ((32514)); 
     413const LPCSTRW IDI_EXCLAMATION = cast(LPCSTRW) ((32515)); 
     414const LPCSTRW IDI_ASTERISK = cast(LPCSTRW) ((32516)); 
     415const LPCSTRW IDI_WINLOGO = cast(LPCSTRW) ((32517)); 
    356416 
    357417/* Enumerations */ 
    358 enum:uint 
    359 
     418enum : uint { 
    360419    // Messages 
    361420    WM_NULL = (0), 
  • trunk/src/uni/lib/renderers/Cg.d

    r18 r43  
    11/+ 
    22 
    3    Copyright (c) 2008, Trevor Parscal 
    4      
    5    Module:    Cg API 
    6  
    7 +/ 
     3 Copyright (c) 2008, Trevor Parscal 
     4  
     5 Module:  Cg API 
     6 
     7 +/ 
    88 
    99module uni.lib.renderers.Cg; 
    1010 
    11 public 
    12 
     11public { 
    1312    /* Imports and Pragmas */ 
    1413    import uni.lib.renderers.gl.CgGL; 
    15     version(Windows) 
    16    
    17         pragma(lib, "cg.lib"); 
     14     
     15    version ( Windows )
     16        pragma ( lib, "cg.lib" ); 
    1817    } 
    19     version(linux) 
    20     { 
    21         version(build) pragma(link, "Cg"); 
     18 
     19    version ( linux ) { 
     20        version ( build ) 
     21            pragma ( link, "Cg" ); 
    2222    } 
    2323 
     
    2828 
    2929/* Enumerations */ 
    30 enum:uint 
    31 
     30enum : uint { 
    3231    CG_UNKNOWN = 4096, 
    3332    CG_IN = 4097, 
     
    807806 
    808807/* Aliases */ 
    809 alias void function(void*, int, void*) CGFuncType462; 
     808alias void function ( void*, int, void* ) CGFuncType462; 
    810809alias CGFuncType462 CGerrorHandlerFunc; 
    811 alias void function() CGFuncType463; 
     810alias void function () CGFuncType463; 
    812811alias CGFuncType463 CGerrorCallbackFunc; 
    813812alias int CGbool; 
    814 alias int function(void*) CGFuncType464; 
     813alias int function ( void* ) CGFuncType464; 
    815814alias CGFuncType464 CGstatecallback; 
    816815alias void* CGhandle; 
     
    833832 
    834833/* Functions */ 
    835 extern(C) 
    836 
    837     int cgGetProgramDomainProfile(void*, int); 
    838     void* cgCombinePrograms3(void*, void*, void*); 
    839     void* cgCombinePrograms2(void*, void*); 
    840     void* cgCombinePrograms(int, void**); 
    841     int cgGetProfileDomain(int); 
    842     int cgGetNumProgramDomains(void*); 
    843     void cgGetMatrixSize(int, int*, int*); 
    844     int cgGetTypeSizes(int, int*, int*); 
    845     int cgGetTypeBase(int); 
    846     int cgGetTypeClass(int); 
    847     void* cgGetParameterEffect(void*); 
    848     int cgGetStateEnumerantValue(void*, char*); 
    849     char* cgGetStateEnumerantName(void*, int); 
    850     int cgSetStringAnnotation(void*, char*); 
    851     int cgSetBoolAnnotation(void*, int); 
    852     int cgSetFloatAnnotation(void*, float); 
    853     int cgSetIntAnnotation(void*, int); 
    854     void* cgCreateEffectAnnotation(void*, char*, int); 
    855     void* cgCreateProgramAnnotation(void*, char*, int); 
    856     void* cgCreateParameterAnnotation(void*, char*, int); 
    857     void* cgCreatePassAnnotation(void*, char*, int); 
    858     void* cgCreateTechniqueAnnotation(void*, char*, int); 
    859     int cgSetBoolArrayStateAssignment(void*, int*); 
    860     int cgSetIntArrayStateAssignment(void*, int*); 
    861     int cgSetFloatArrayStateAssignment(void*, float*); 
    862     int cgSetTextureStateAssignment(void*, void*); 
    863     int cgSetSamplerStateAssignment(void*, void*); 
    864     int cgSetProgramStateAssignment(void*, void*); 
    865     int cgSetStringStateAssignment(void*, char*); 
    866     int cgSetBoolStateAssignment(void*, int); 
    867     int cgSetIntStateAssignment(void*, int); 
    868     int cgSetFloatStateAssignment(void*, float); 
    869     void* cgCreateSamplerStateAssignment(void*, void*); 
    870     void* cgCreateStateAssignmentIndex(void*, void*, int); 
    871     void* cgCreateStateAssignment(void*, void*); 
    872     void* cgCreatePass(void*, char*); 
    873     void* cgCreateEffectParameterMultiDimArray(void*, char*, int, int, int*); 
    874     void* cgCreateEffectParameterArray(void*, char*, int, int); 
    875     void* cgCreateTechnique(void*, char*); 
    876     void* cgCreateEffectParameter(void*, char*, int); 
    877     void* cgGetNamedEffect(void*, char*); 
    878     char* cgGetEffectName(void*); 
    879     int cgSetEffectName(void*, char*); 
    880     void cgEvaluateProgram(void*, float*, int, int, int, int); 
    881     void* cgGetDependentAnnotationParameter(void*, int); 
    882     int cgGetNumDependentAnnotationParameters(void*); 
    883     int* cgGetBooleanAnnotationValues(void*, int*); 
    884     int* cgGetBoolAnnotationValues(void*, int*); 
    885     char* cgGetStringAnnotationValue(void*); 
    886     int* cgGetIntAnnotationValues(void*, int*); 
    887     float* cgGetFloatAnnotationValues(void*, int*); 
    888     int cgGetAnnotationType(void*); 
    889     char* cgGetAnnotationName(void*); 
    890     int cgIsAnnotation(void*); 
    891     void* cgGetNamedEffectAnnotation(void*, char*); 
    892     void* cgGetNamedProgramAnnotation(void*, char*); 
    893     void* cgGetNamedParameterAnnotation(void*, char*); 
    894     void* cgGetNamedPassAnnotation(void*, char*); 
    895     void* cgGetNamedTechniqueAnnotation(void*, char*); 
    896     void* cgGetNextAnnotation(void*); 
    897     void* cgGetFirstEffectAnnotation(void*); 
    898     void* cgGetFirstProgramAnnotation(void*); 
    899     void* cgGetFirstParameterAnnotation(void*); 
    900     void* cgGetFirstPassAnnotation(void*); 
    901     void* cgGetFirstTechniqueAnnotation(void*); 
    902     void* cgGetEffectParameterBySemantic(void*, char*); 
    903     void* cgGetFirstEffectParameter(void*); 
    904     void* cgGetFirstLeafEffectParameter(void*); 
    905     void* cgGetNamedEffectParameter(void*, char*); 
    906     void cgSetSamplerState(void*); 
    907     void* cgGetNamedSamplerStateAssignment(void*, char*); 
    908     void* cgGetFirstSamplerStateAssignment(void*); 
    909     void* cgGetFirstSamplerState(void*); 
    910     void* cgGetNamedSamplerState(void*, char*); 
    911     void* cgCreateArraySamplerState(void*, char*, int, int); 
    912     void* cgCreateSamplerState(void*, char*, int); 
    913     void cgAddStateEnumerant(void*, char*, int); 
    914     int cgIsState(void*); 
    915     void* cgGetNextState(void*); 
    916     void* cgGetFirstState(void*); 
    917     void* cgGetNamedState(void*, char*); 
    918     char* cgGetStateName(void*); 
    919     int cgGetStateType(void*); 
    920     void* cgGetStateContext(void*); 
    921     CGFuncType464 cgGetStateValidateCallback(void*); 
    922     CGFuncType464 cgGetStateResetCallback(void*); 
    923     CGFuncType464 cgGetStateSetCallback(void*); 
    924     void cgSetStateCallbacks(void*, CGFuncType464, CGFuncType464, CGFuncType464); 
    925     void* cgCreateArrayState(void*, char*, int, int); 
    926     void* cgCreateState(void*, char*, int); 
    927     void* cgGetSamplerStateAssignmentState(void*); 
    928     void* cgGetStateAssignmentState(void*); 
    929     void* cgGetDependentStateAssignmentParameter(void*, int); 
    930     int cgGetNumDependentStateAssignmentParameters(void*); 
    931     int cgGetStateAssignmentIndex(void*); 
    932     void* cgGetSamplerStateAssignmentValue(void*); 
    933     void* cgGetTextureStateAssignmentValue(void*); 
    934     void* cgGetProgramStateAssignmentValue(void*); 
    935     char* cgGetStringStateAssignmentValue(void*); 
    936     int* cgGetBoolStateAssignmentValues(void*, int*); 
    937     int* cgGetIntStateAssignmentValues(void*, int*); 
    938     float* cgGetFloatStateAssignmentValues(void*, int*); 
    939     void* cgGetSamplerStateAssignmentParameter(void*); 
    940     void* cgGetStateAssignmentPass(void*); 
    941     int cgCallStateResetCallback(void*); 
    942     int cgCallStateValidateCallback(void*); 
    943     int cgCallStateSetCallback(void*); 
    944     int cgIsStateAssignment(void*); 
    945     void* cgGetNextStateAssignment(void*); 
    946     void* cgGetNamedStateAssignment(void*, char*); 
    947     void* cgGetFirstStateAssignment(void*); 
    948     void cgResetPassState(void*); 
    949     void cgSetPassState(void*); 
    950     void* cgGetPassTechnique(void*); 
    951     char* cgGetPassName(void*); 
    952     int cgIsPass(void*); 
    953     void* cgGetNextPass(void*); 
    954     void* cgGetNamedPass(void*, char*); 
    955     void* cgGetFirstPass(void*); 
    956     void* cgGetTechniqueEffect(void*); 
    957     int cgIsTechniqueValidated(void*); 
    958     int cgValidateTechnique(void*); 
    959     int cgIsTechnique(void*); 
    960     char* cgGetTechniqueName(void*); 
    961     void* cgGetNamedTechnique(void*, char*); 
    962     void* cgGetNextTechnique(void*); 
    963     void* cgGetFirstTechnique(void*); 
    964     void* cgCreateProgramFromEffect(void*, int, char*, char**); 
    965     void* cgGetNextEffect(void*); 
    966     void* cgGetFirstEffect(void*); 
    967     int cgIsEffect(void*); 
    968     void* cgGetEffectContext(void*); 
    969     void cgDestroyEffect(void*); 
    970     void* cgCreateEffectFromFile(void*, char*, char**); 
    971     void* cgCreateEffect(void*, char*, char**); 
    972     char* cgGetString(int); 
    973     CGFuncType462 cgGetErrorHandler(void**); 
    974     void cgSetErrorHandler(CGFuncType462, void*); 
     834extern ( C ) { 
     835    int cgGetProgramDomainProfile( void*, int ); 
     836 
     837    void* cgCombinePrograms3( void*, void*, void* ); 
     838 
     839    void* cgCombinePrograms2( void*, void* ); 
     840 
     841    void* cgCombinePrograms( int, void** ); 
     842 
     843    int cgGetProfileDomain( int ); 
     844 
     845    int cgGetNumProgramDomains( void* ); 
     846 
     847    void cgGetMatrixSize( int, int*, int* ); 
     848 
     849    int cgGetTypeSizes( int, int*, int* ); 
     850 
     851    int cgGetTypeBase( int ); 
     852 
     853    int cgGetTypeClass( int ); 
     854 
     855    void* cgGetParameterEffect( void* ); 
     856 
     857    int cgGetStateEnumerantValue( void*, char* ); 
     858 
     859    char* cgGetStateEnumerantName( void*, int ); 
     860 
     861    int cgSetStringAnnotation( void*, char* ); 
     862 
     863    int cgSetBoolAnnotation( void*, int ); 
     864 
     865    int cgSetFloatAnnotation( void*, float ); 
     866 
     867    int cgSetIntAnnotation( void*, int ); 
     868 
     869    void* cgCreateEffectAnnotation( void*, char*, int ); 
     870 
     871    void* cgCreateProgramAnnotation( void*, char*, int ); 
     872 
     873    void* cgCreateParameterAnnotation( void*, char*, int ); 
     874 
     875    void* cgCreatePassAnnotation( void*, char*, int ); 
     876 
     877    void* cgCreateTechniqueAnnotation( void*, char*, int ); 
     878 
     879    int cgSetBoolArrayStateAssignment( void*, int* ); 
     880 
     881    int cgSetIntArrayStateAssignment( void*, int* ); 
     882 
     883    int cgSetFloatArrayStateAssignment( void*, float* ); 
     884 
     885    int cgSetTextureStateAssignment( void*, void* ); 
     886 
     887    int cgSetSamplerStateAssignment( void*, void* ); 
     888 
     889    int cgSetProgramStateAssignment( void*, void* ); 
     890 
     891    int cgSetStringStateAssignment( void*, char* ); 
     892 
     893    int cgSetBoolStateAssignment( void*, int ); 
     894 
     895    int cgSetIntStateAssignment( void*, int ); 
     896 
     897    int cgSetFloatStateAssignment( void*, float ); 
     898 
     899    void* cgCreateSamplerStateAssignment( void*, void* ); 
     900 
     901    void* cgCreateStateAssignmentIndex( void*, void*, int ); 
     902 
     903    void* cgCreateStateAssignment( void*, void* ); 
     904 
     905    void* cgCreatePass( void*, char* ); 
     906 
     907    void* cgCreateEffectParameterMultiDimArray( void*, char*, int, int, int* ); 
     908 
     909    void* cgCreateEffectParameterArray( void*, char*, int, int ); 
     910 
     911    void* cgCreateTechnique( void*, char* ); 
     912 
     913    void* cgCreateEffectParameter( void*, char*, int ); 
     914 
     915    void* cgGetNamedEffect( void*, char* ); 
     916 
     917    char* cgGetEffectName( void* ); 
     918 
     919    int cgSetEffectName( void*, char* ); 
     920 
     921    void cgEvaluateProgram( void*, float*, int, int, int, int ); 
     922 
     923    void* cgGetDependentAnnotationParameter( void*, int ); 
     924 
     925    int cgGetNumDependentAnnotationParameters( void* ); 
     926 
     927    int* cgGetBooleanAnnotationValues( void*, int* ); 
     928 
     929    int* cgGetBoolAnnotationValues( void*, int* ); 
     930 
     931    char* cgGetStringAnnotationValue( void* ); 
     932 
     933    int* cgGetIntAnnotationValues( void*, int* ); 
     934 
     935    float* cgGetFloatAnnotationValues( void*, int* ); 
     936 
     937    int cgGetAnnotationType( void* ); 
     938 
     939    char* cgGetAnnotationName( void* ); 
     940 
     941    int cgIsAnnotation( void* ); 
     942 
     943    void* cgGetNamedEffectAnnotation( void*, char* ); 
     944 
     945    void* cgGetNamedProgramAnnotation( void*, char* ); 
     946 
     947    void* cgGetNamedParameterAnnotation( void*, char* ); 
     948 
     949    void* cgGetNamedPassAnnotation( void*, char* ); 
     950 
     951    void* cgGetNamedTechniqueAnnotation( void*, char* ); 
     952 
     953    void* cgGetNextAnnotation( void* ); 
     954 
     955    void* cgGetFirstEffectAnnotation( void* ); 
     956 
     957    void* cgGetFirstProgramAnnotation( void* ); 
     958 
     959    void* cgGetFirstParameterAnnotation( void* ); 
     960 
     961    void* cgGetFirstPassAnnotation( void* ); 
     962 
     963    void* cgGetFirstTechniqueAnnotation( void* ); 
     964 
     965    void* cgGetEffectParameterBySemantic( void*, char* ); 
     966 
     967    void* cgGetFirstEffectParameter( void* ); 
     968 
     969    void* cgGetFirstLeafEffectParameter( void* ); 
     970 
     971    void* cgGetNamedEffectParameter( void*, char* ); 
     972 
     973    void cgSetSamplerState( void* ); 
     974 
     975    void* cgGetNamedSamplerStateAssignment( void*, char* ); 
     976 
     977    void* cgGetFirstSamplerStateAssignment( void* ); 
     978 
     979    void* cgGetFirstSamplerState( void* ); 
     980 
     981    void* cgGetNamedSamplerState( void*, char* ); 
     982 
     983    void* cgCreateArraySamplerState( void*, char*, int, int ); 
     984 
     985    void* cgCreateSamplerState( void*, char*, int ); 
     986 
     987    void cgAddStateEnumerant( void*, char*, int ); 
     988 
     989    int cgIsState( void* ); 
     990 
     991    void* cgGetNextState( void* ); 
     992 
     993    void* cgGetFirstState( void* ); 
     994 
     995    void* cgGetNamedState( void*, char* ); 
     996 
     997    char* cgGetStateName( void* ); 
     998 
     999    int cgGetStateType( void* ); 
     1000 
     1001    void* cgGetStateContext( void* ); 
     1002 
     1003    CGFuncType464 cgGetStateValidateCallback( void* ); 
     1004 
     1005    CGFuncType464 cgGetStateResetCallback( void* ); 
     1006 
     1007    CGFuncType464 cgGetStateSetCallback( void* ); 
     1008 
     1009    void cgSetStateCallbacks( void*, CGFuncType464, CGFuncType464, 
     1010        CGFuncType464 ); 
     1011 
     1012    void* cgCreateArrayState( void*, char*, int, int ); 
     1013 
     1014    void* cgCreateState( void*, char*, int ); 
     1015 
     1016    void* cgGetSamplerStateAssignmentState( void* ); 
     1017 
     1018    void* cgGetStateAssignmentState( void* ); 
     1019 
     1020    void* cgGetDependentStateAssignmentParameter( void*, int ); 
     1021 
     1022    int cgGetNumDependentStateAssignmentParameters( void* ); 
     1023 
     1024    int cgGetStateAssignmentIndex( void* ); 
     1025 
     1026    void* cgGetSamplerStateAssignmentValue( void* ); 
     1027 
     1028    void* cgGetTextureStateAssignmentValue( void* ); 
     1029 
     1030    void* cgGetProgramStateAssignmentValue( void* ); 
     1031 
     1032    char* cgGetStringStateAssignmentValue( void* ); 
     1033 
     1034    int* cgGetBoolStateAssignmentValues( void*, int* ); 
     1035 
     1036    int* cgGetIntStateAssignmentValues( void*, int* ); 
     1037 
     1038    float* cgGetFloatStateAssignmentValues( void*, int* ); 
     1039 
     1040    void* cgGetSamplerStateAssignmentParameter( void* ); 
     1041 
     1042    void* cgGetStateAssignmentPass( void* ); 
     1043 
     1044    int cgCallStateResetCallback( void* ); 
     1045 
     1046    int cgCallStateValidateCallback( void* ); 
     1047 
     1048    int cgCallStateSetCallback( void* ); 
     1049 
     1050    int cgIsStateAssignment( void* ); 
     1051 
     1052    void* cgGetNextStateAssignment( void* ); 
     1053 
     1054    void* cgGetNamedStateAssignment( void*, char* ); 
     1055 
     1056    void* cgGetFirstStateAssignment( void* ); 
     1057 
     1058    void cgResetPassState( void* ); 
     1059 
     1060    void cgSetPassState( void* ); 
     1061 
     1062    void* cgGetPassTechnique( void* ); 
     1063 
     1064    char* cgGetPassName( void* ); 
     1065 
     1066    int cgIsPass( void* ); 
     1067 
     1068    void* cgGetNextPass( void* ); 
     1069 
     1070    void* cgGetNamedPass( void*, char* ); 
     1071 
     1072    void* cgGetFirstPass( void* ); 
     1073 
     1074    void* cgGetTechniqueEffect( void* ); 
     1075 
     1076    int cgIsTechniqueValidated( void* ); 
     1077 
     1078    int cgValidateTechnique( void* ); 
     1079 
     1080    int cgIsTechnique( void* ); 
     1081 
     1082    char* cgGetTechniqueName( void* ); 
     1083 
     1084    void* cgGetNamedTechnique( void*, char* ); 
     1085 
     1086    void* cgGetNextTechnique( void* ); 
     1087 
     1088    void* cgGetFirstTechnique( void* ); 
     1089 
     1090    void* cgCreateProgramFromEffect( void*, int, char*, char** ); 
     1091 
     1092    void* cgGetNextEffect( void* ); 
     1093 
     1094    void* cgGetFirstEffect( void* ); 
     1095 
     1096    int cgIsEffect( void* ); 
     1097 
     1098    void* cgGetEffectContext( void* ); 
     1099 
     1100    void cgDestroyEffect( void* ); 
     1101 
     1102    void* cgCreateEffectFromFile( void*, char*, char** ); 
     1103 
     1104    void* cgCreateEffect( void*, char*, char** ); 
     1105 
     1106    char* cgGetString( int ); 
     1107 
     1108    CGFuncType462 cgGetErrorHandler( void** ); 
     1109 
     1110    void cgSetErrorHandler( CGFuncType462, void* ); 
     1111 
    9751112    CGFuncType463 cgGetErrorCallback(); 
    976     void cgSetErrorCallback(CGFuncType463); 
    977     char* cgGetLastErrorString(int*); 
    978     char* cgGetErrorString(int); 
     1113 
     1114    void cgSetErrorCallback( CGFuncType463 ); 
     1115 
     1116    char* cgGetLastErrorString( int* ); 
     1117 
     1118    char* cgGetErrorString( int ); 
     1119 
    9791120    int cgGetFirstError(); 
     1121 
    9801122    int cgGetError(); 
    981     int cgGetProfile(char*); 
    982     char* cgGetProfileString(int); 
    983     int cgGetEnum(char*); 
    984     char* cgGetEnumString(int); 
    985     int cgGetResource(char*); 
    986     char* cgGetResourceString(int); 
    987     int cgIsInterfaceType(int); 
    988     int cgIsParentType(int, int); 
    989     int cgGetParentType(int, int); 
    990     int cgGetNumParentTypes(int); 
    991     int cgGetUserType(void*, int); 
    992     int cgGetNumUserTypes(void*); 
    993     int cgGetNamedUserType(void*, char*); 
    994     int cgGetType(char*); 
    995     char* cgGetTypeString(int); 
    996     void* cgGetNamedSubParameter(void*, char*); 
    997     void cgGetMatrixParameterfc(void*, float*); 
    998     void cgGetMatrixParameterdc(void*, double*); 
    999     void cgGetMatrixParameteric(void*, int*); 
    1000     void cgGetMatrixParameterfr(void*, float*); 
    1001     void cgGetMatrixParameterdr(void*, double*); 
    1002     void cgGetMatrixParameterir(void*, int*); 
    1003     void cgSetMatrixParameterfc(void*, float*); 
    1004     void cgSetMatrixParameterdc(void*, double*); 
    1005     void cgSetMatrixParameteric(void*, int*); 
    1006     void cgSetMatrixParameterfr(void*, float*); 
    1007     void cgSetMatrixParameterdr(void*, double*); 
    1008     void cgSetMatrixParameterir(void*, int*); 
    1009     void cgSetParameter4dv(void*, double*); 
    1010     void cgSetParameter3dv(void*, double*); 
    1011     void cgSetParameter2dv(void*, double*); 
    1012     void cgSetParameter1dv(void*, double*); 
    1013     void cgSetParameter4fv(void*, float*); 
    1014     void cgSetParameter3fv(void*, float*); 
    1015     void cgSetParameter2fv(void*, float*); 
    1016     void cgSetParameter1fv(void*, float*); 
    1017     void cgSetParameter4iv(void*, int*); 
    1018     void cgSetParameter3iv(void*, int*); 
    1019     void cgSetParameter2iv(void*, int*); 
    1020     void cgSetParameter1iv(void*, int*); 
    1021     void cgSetParameter4i(void*, int, int, int, int); 
    1022     void cgSetParameter3i(void*, int, int, int); 
    1023     void cgSetParameter2i(void*, int, int); 
    1024     void cgSetParameter1i(void*, int); 
    1025     void cgSetParameter4d(void*, double, double, double, double); 
    1026     void cgSetParameter3d(void*, double, double, double); 
    1027     void cgSetParameter2d(void*, double, double); 
    1028     void cgSetParameter1d(void*, double); 
    1029     void cgSetParameter4f(void*, float, float, float, float); 
    1030     void cgSetParameter3f(void*, float, float, float); 
    1031     void cgSetParameter2f(void*, float, float); 
    1032     void cgSetParameter1f(void*, float); 
    1033     void cgSetParameterSemantic(void*, char*); 
    1034     void cgSetParameterVariability(void*, int); 
    1035     int cgGetParameterIndex(void*); 
    1036     int cgIsParameterGlobal(void*); 
    1037     int cgGetParameterOrdinalNumber(void*); 
    1038     void cgSetStringParameterValue(void*, char*); 
    1039     char* cgGetStringParameterValue(void*); 
    1040     int cgGetParameterValueic(void*, int, int*); 
    1041     int cgGetParameterValueir(void*, int, int*); 
    1042     int cgGetParameterValuefc(void*, int, float*); 
    1043     int cgGetParameterValuefr(void*, int, float*); 
    1044     int cgGetParameterValuedc(void*, int, double*); 
    1045     int cgGetParameterValuedr(void*, int, double*); 
    1046     void cgSetParameterValueic(void*, int, int*); 
    1047     void cgSetParameterValueir(void*, int, int*); 
    1048     void cgSetParameterValuefc(void*, int, float*); 
    1049     void cgSetParameterValuefr(void*, int, float*); 
    1050     void cgSetParameterValuedc(void*, int, double*); 
    1051     void cgSetParameterValuedr(void*, int, double*); 
    1052     double* cgGetParameterValues(void*, int, int*); 
    1053     int cgIsParameterUsed(void*, void*); 
    1054     int cgIsParameterReferenced(void*); 
    1055     int cgGetParameterDirection(void*); 
    1056     int cgGetParameterVariability(void*); 
    1057     uint cgGetParameterResourceIndex(void*); 
    1058     int cgGetParameterBaseResource(void*); 
    1059     int cgGetParameterResource(void*); 
    1060     char* cgGetParameterSemantic(void*); 
    1061     int cgGetParameterNamedType(void*); 
    1062     int cgGetParameterColumns(void*); 
    1063     int cgGetParameterRows(void*); 
    1064     int cgGetParameterClass(void*); 
    1065     int cgGetParameterBaseType(void*); 
    1066     int cgGetParameterType(void*); 
    1067     char* cgGetParameterName(void*); 
    1068     int cgIsParameter(void*); 
    1069     void* cgGetParameterContext(void*); 
    1070     void* cgGetParameterProgram(void*); 
    1071     void cgSetMultiDimArraySize(void*, int*); 
    1072     void cgSetArraySize(void*, int); 
    1073     int cgGetArrayTotalSize(void*); 
    1074     int cgGetArraySize(void*, int); 
    1075     int cgGetArrayType(void*); 
    1076     int cgGetArrayDimension(void*); 
    1077     void* cgGetArrayParameter(void*, int); 
    1078     void* cgGetFirstDependentParameter(void*); 
    1079     void* cgGetNamedStructParameter(void*, char*); 
    1080     void* cgGetFirstStructParameter(void*); 
    1081     void* cgGetNextLeafParameter(void*); 
    1082     void* cgGetFirstLeafParameter(void*, int); 
    1083     void* cgGetNextParameter(void*); 
    1084     void* cgGetFirstParameter(void*, int); 
    1085     void* cgGetNamedProgramParameter(void*, int, char*); 
    1086     void* cgGetNamedParameter(void*, char*); 
    1087     void* cgGetConnectedToParameter(void*, int); 
    1088     int cgGetNumConnectedToParameters(void*); 
    1089     void* cgGetConnectedParameter(void*); 
    1090     void cgDisconnectParameter(void*); 
    1091     void cgConnectParameter(void*, void*); 
    1092     void cgDestroyParameter(void*); 
    1093     void* cgCreateParameterMultiDimArray(void*, int, int, int*); 
    1094     void* cgCreateParameterArray(void*, int, int); 
    1095     void* cgCreateParameter(void*, int); 
    1096     void cgSetPassProgramParameters(void*); 
    1097     void cgSetProgramProfile(void*, int); 
    1098     char** cgGetProgramOptions(void*); 
    1099     int cgGetProgramProfile(void*); 
    1100     char* cgGetProgramString(void*, int); 
    1101     int cgIsProgramCompiled(void*); 
    1102     void cgCompileProgram(void*); 
    1103     int cgIsProgram(void*); 
    1104     void* cgGetProgramContext(void*); 
    1105     void* cgGetNextProgram(void*); 
    1106     void* cgGetFirstProgram(void*); 
    1107     void cgDestroyProgram(void*); 
    1108     void* cgCopyProgram(void*); 
    1109     void* cgCreateProgramFromFile(void*, int, char*, int, char*, char**); 
    1110     void* cgCreateProgram(void*, int, char*, int, char*, char**); 
    1111     int cgGetAutoCompile(void*); 
    1112     void cgSetAutoCompile(void*, int); 
    1113     void cgSetLastListing(void*, char*); 
    1114     char* cgGetLastListing(void*); 
    1115     int cgIsContext(void*); 
    1116     void cgDestroyContext(void*); 
     1123 
     1124    int cgGetProfile( char* ); 
     1125 
     1126    char* cgGetProfileString( int ); 
     1127 
     1128    int cgGetEnum( char* ); 
     1129 
     1130    char* cgGetEnumString( int ); 
     1131 
     1132    int cgGetResource( char* ); 
     1133 
     1134    char* cgGetResourceString( int ); 
     1135 
     1136    int cgIsInterfaceType( int ); 
     1137 
     1138    int cgIsParentType( int, int ); 
     1139 
     1140    int cgGetParentType( int, int ); 
     1141 
     1142    int cgGetNumParentTypes( int ); 
     1143 
     1144    int cgGetUserType( void*, int ); 
     1145 
     1146    int cgGetNumUserTypes( void* ); 
     1147 
     1148    int cgGetNamedUserType( void*, char* ); 
     1149 
     1150    int cgGetType( char* ); 
     1151 
     1152    char* cgGetTypeString( int ); 
     1153 
     1154    void* cgGetNamedSubParameter( void*, char* ); 
     1155 
     1156    void cgGetMatrixParameterfc( void*, float* ); 
     1157 
     1158    void cgGetMatrixParameterdc( void*, double* ); 
     1159 
     1160    void cgGetMatrixParameteric( void*, int* ); 
     1161 
     1162    void cgGetMatrixParameterfr( void*, float* ); 
     1163 
     1164    void cgGetMatrixParameterdr( void*, double* ); 
     1165 
     1166    void cgGetMatrixParameterir( void*, int* ); 
     1167 
     1168    void cgSetMatrixParameterfc( void*, float* ); 
     1169 
     1170    void cgSetMatrixParameterdc( void*, double* ); 
     1171 
     1172    void cgSetMatrixParameteric( void*, int* ); 
     1173 
     1174    void cgSetMatrixParameterfr( void*, float* ); 
     1175 
     1176    void cgSetMatrixParameterdr( void*, double* ); 
     1177 
     1178    void cgSetMatrixParameterir( void*, int* ); 
     1179 
     1180    void cgSetParameter4dv( void*, double* ); 
     1181 
     1182    void cgSetParameter3dv( void*, double* ); 
     1183 
     1184    void cgSetParameter2dv( void*, double* ); 
     1185 
     1186    void cgSetParameter1dv( void*, double* ); 
     1187 
     1188    void cgSetParameter4fv( void*, float* ); 
     1189 
     1190    void cgSetParameter3fv( void*, float* ); 
     1191 
     1192    void cgSetParameter2fv( void*, float* ); 
     1193 
     1194    void cgSetParameter1fv( void*, float* ); 
     1195 
     1196    void cgSetParameter4iv( void*, int* ); 
     1197 
     1198    void cgSetParameter3iv( void*, int* ); 
     1199 
     1200    void cgSetParameter2iv( void*, int* ); 
     1201 
     1202    void cgSetParameter1iv( void*, int* ); 
     1203 
     1204    void cgSetParameter4i( void*, int, int, int, int ); 
     1205 
     1206    void cgSetParameter3i( void*, int, int, int ); 
     1207 
     1208    void cgSetParameter2i( void*, int, int ); 
     1209 
     1210    void cgSetParameter1i( void*, int ); 
     1211 
     1212    void cgSetParameter4d( void*, double, double, double, double ); 
     1213 
     1214    void cgSetParameter3d( void*, double, double, double ); 
     1215 
     1216    void cgSetParameter2d( void*, double, double ); 
     1217 
     1218    void cgSetParameter1d( void*, double ); 
     1219 
     1220    void cgSetParameter4f( void*, float, float, float, float ); 
     1221 
     1222    void cgSetParameter3f( void*, float, float, float ); 
     1223 
     1224    void cgSetParameter2f( void*, float, float ); 
     1225 
     1226    void cgSetParameter1f( void*, float ); 
     1227 
     1228    void cgSetParameterSemantic( void*, char* ); 
     1229 
     1230    void cgSetParameterVariability( void*, int ); 
     1231 
     1232    int cgGetParameterIndex( void* ); 
     1233 
     1234    int cgIsParameterGlobal( void* ); 
     1235 
     1236    int cgGetParameterOrdinalNumber( void* ); 
     1237 
     1238    void cgSetStringParameterValue( void*, char* ); 
     1239 
     1240    char* cgGetStringParameterValue( void* ); 
     1241 
     1242    int cgGetParameterValueic( void*, int, int* ); 
     1243 
     1244    int cgGetParameterValueir( void*, int, int* ); 
     1245 
     1246    int cgGetParameterValuefc( void*, int, float* ); 
     1247 
     1248    int cgGetParameterValuefr( void*, int, float* ); 
     1249 
     1250    int cgGetParameterValuedc( void*, int, double* ); 
     1251 
     1252    int cgGetParameterValuedr( void*, int, double* ); 
     1253 
     1254    void cgSetParameterValueic( void*, int, int* ); 
     1255 
     1256    void cgSetParameterValueir( void*, int, int* ); 
     1257 
     1258    void cgSetParameterValuefc( void*, int, float* ); 
     1259 
     1260    void cgSetParameterValuefr( void*, int, float* ); 
     1261 
     1262    void cgSetParameterValuedc( void*, int, double* ); 
     1263 
     1264    void cgSetParameterValuedr( void*, int, double* ); 
     1265 
     1266    double* cgGetParameterValues( void*, int, int* ); 
     1267 
     1268    int cgIsParameterUsed( void*, void* ); 
     1269 
     1270    int cgIsParameterReferenced( void* ); 
     1271 
     1272    int cgGetParameterDirection( void* ); 
     1273 
     1274    int cgGetParameterVariability( void* ); 
     1275 
     1276    uint cgGetParameterResourceIndex( void* ); 
     1277 
     1278    int cgGetParameterBaseResource( void* ); 
     1279 
     1280    int cgGetParameterResource( void* ); 
     1281 
     1282    char* cgGetParameterSemantic( void* ); 
     1283 
     1284    int cgGetParameterNamedType( void* ); 
     1285 
     1286    int cgGetParameterColumns( void* ); 
     1287 
     1288    int cgGetParameterRows( void* ); 
     1289 
     1290    int cgGetParameterClass( void* ); 
     1291 
     1292    int cgGetParameterBaseType( void* ); 
     1293 
     1294    int cgGetParameterType( void* ); 
     1295 
     1296    char* cgGetParameterName( void* ); 
     1297 
     1298    int cgIsParameter( void* ); 
     1299 
     1300    void* cgGetParameterContext( void* ); 
     1301 
     1302    void* cgGetParameterProgram( void* ); 
     1303 
     1304    void cgSetMultiDimArraySize( void*, int* ); 
     1305 
     1306    void cgSetArraySize( void*, int ); 
     1307 
     1308    int cgGetArrayTotalSize( void* ); 
     1309 
     1310    int cgGetArraySize( void*, int ); 
     1311 
     1312    int cgGetArrayType( void* ); 
     1313 
     1314    int cgGetArrayDimension( void* ); 
     1315 
     1316    void* cgGetArrayParameter( void*, int ); 
     1317 
     1318    void* cgGetFirstDependentParameter( void* ); 
     1319 
     1320    void* cgGetNamedStructParameter( void*, char* ); 
     1321 
     1322    void* cgGetFirstStructParameter( void* ); 
     1323 
     1324    void* cgGetNextLeafParameter( void* ); 
     1325 
     1326    void* cgGetFirstLeafParameter( void*, int ); 
     1327 
     1328    void* cgGetNextParameter( void* ); 
     1329 
     1330    void* cgGetFirstParameter( void*, int ); 
     1331 
     1332    void* cgGetNamedProgramParameter( void*, int, char* ); 
     1333 
     1334    void* cgGetNamedParameter( void*, char* ); 
     1335 
     1336    void* cgGetConnectedToParameter( void*, int ); 
     1337 
     1338    int cgGetNumConnectedToParameters( void* ); 
     1339 
     1340    void* cgGetConnectedParameter( void* ); 
     1341 
     1342    void cgDisconnectParameter( void* ); 
     1343 
     1344    void cgConnectParameter( void*, void* ); 
     1345 
     1346    void cgDestroyParameter( void* ); 
     1347 
     1348    void* cgCreateParameterMultiDimArray( void*, int, int, int* ); 
     1349 
     1350    void* cgCreateParameterArray( void*, int, int ); 
     1351 
     1352    void* cgCreateParameter( void*, int ); 
     1353 
     1354    void cgSetPassProgramParameters( void* ); 
     1355 
     1356    void cgSetProgramProfile( void*, int ); 
     1357 
     1358    char** cgGetProgramOptions( void* ); 
     1359 
     1360    int cgGetProgramProfile( void* ); 
     1361 
     1362    char* cgGetProgramString( void*, int ); 
     1363 
     1364    int cgIsProgramCompiled( void* ); 
     1365 
     1366    void cgCompileProgram( void* ); 
     1367 
     1368    int cgIsProgram( void* ); 
     1369 
     1370    void* cgGetProgramContext( void* ); 
     1371 
     1372    void* cgGetNextProgram( void* ); 
     1373 
     1374    void* cgGetFirstProgram( void* ); 
     1375 
     1376    void cgDestroyProgram( void* ); 
     1377 
     1378    void* cgCopyProgram( void* ); 
     1379 
     1380    void* cgCreateProgramFromFile( void*, int, char*, int, char*, char** ); 
     1381 
     1382    void* cgCreateProgram( void*, int, char*, int, char*, char** ); 
     1383 
     1384    int cgGetAutoCompile( void* ); 
     1385 
     1386    void cgSetAutoCompile( void*, int ); 
     1387 
     1388    void cgSetLastListing( void*, char* ); 
     1389 
     1390    char* cgGetLastListing( void* ); 
     1391 
     1392    int cgIsContext( void* ); 
     1393 
     1394    void cgDestroyContext( void* ); 
     1395 
    11171396    void* cgCreateContext(); 
    11181397} 
  • trunk/src/uni/lib/renderers/GL.d

    r36 r43  
    11/+ 
    22 
    3    Copyright (c) 2008, Trevor Parscal 
    4      
    5    Module:    OpenGL and OpenGL Utilities API 
    6  
    7 +/ 
     3 Copyright (c) 2008, Trevor Parscal 
     4  
     5 Module:  OpenGL and OpenGL Utilities API 
     6 
     7 +/ 
    88 
    99module uni.lib.renderers.GL; 
     
    1414import tango.io.Stdout; 
    1515 
    16 public 
    17 
     16public { 
    1817    /* Pragmas and Imports */ 
    1918    import uni.lib.renderers.gl.APPLE; 
     
    2221    import uni.lib.renderers.gl.EXT; 
    2322    import uni.lib.renderers.gl.NV; 
    24     version(Windows) 
    25    
     23     
     24    version ( Windows )
    2625        import uni.lib.renderers.gl.WGL; 
    27         pragma(lib, "opengl32.lib"); 
    28         pragma(lib, "glu32.lib"); 
     26         
     27        pragma ( lib, "opengl32.lib" ); 
     28        pragma ( lib, "glu32.lib" ); 
    2929    } 
    30     version(linux) 
    31    
     30 
     31    version ( linux )
    3232        import uni.lib.renderers.gl.GLX; 
    33         version(build) 
    34        
    35             pragma(link, "GL"); 
    36             pragma(link, "GLU"); 
     33         
     34        version ( build )
     35            pragma ( link, "GL" ); 
     36            pragma ( link, "GLU" ); 
    3737        } 
    3838    } 
    39     version(darwin) 
    40    
     39 
     40    version ( darwin )
    4141        import uni.lib.renderers.gl.AGL; 
    4242    } 
     
    4444 
    4545/* Members */ 
    46 void delegate()[char[]] glExtensions; 
     46void delegate ()[ char[] ] glExtensions; 
    4747 
    4848/* Convenience Functions */ 
    49 void glBindExtensions() 
    50 
    51     char[] extensions = fromStringz(cast(char*)glGetString(GL_EXTENSIONS)); 
    52     foreach(name, glExtension; glExtensions) 
    53     { 
    54         if(!containsPattern(extensions, name)) 
    55             throw new Exception(__FILE__ ~ " : OpenGL Extension Not Supported: " ~ name); 
     49void glBindExtensions() { 
     50    char[] extensions = fromStringz( cast(char*) glGetString( GL_EXTENSIONS ) ); 
     51    foreach ( name, glExtension; glExtensions ) { 
     52        if ( !containsPattern( extensions, name ) ) 
     53            throw new Exception( 
     54                __FILE__ ~ " : OpenGL Extension Not Supported: " ~ name ); 
    5655        glExtension(); 
    57         debug 
    58         { 
    59             Stdout("OpenGL Extension Loaded: ")(name).newline; 
     56        debug { 
     57            Stdout( "OpenGL Extension Loaded: " )( name ).newline; 
    6058        } 
    6159    } 
    6260} 
    63 void* glBindExtension(char[] name) 
    64 
     61 
     62void* glBindExtension( char[] name )
    6563    void* symbol; 
    66     version(Windows) symbol = cast(void*)wglGetProcAddress(toStringz(name)); 
    67     version(linux) symbol = cast(void*)glXGetProcAddressARB(cast(ubyte*)toStringz(name)); 
    68     debug 
    69     { 
    70         Stdout("Binding OpenGL Extension: " ~ name).newline; 
    71         if(symbol is null) Stdout("OpenGL Extension Not Availible: " ~ name).newline; 
     64    version ( Windows ) 
     65        symbol = cast(void*) wglGetProcAddress( toStringz( name ) ); 
     66    version ( linux ) 
     67        symbol = cast(void*) glXGetProcAddressARB( 
     68            cast(ubyte*) toStringz( name ) ); 
     69    debug { 
     70        Stdout( "Binding OpenGL Extension: " ~ name ).newline; 
     71        if ( symbol is null ) 
     72            Stdout( "OpenGL Extension Not Availible: " ~ name ).newline; 
    7273    } 
    7374    return symbol; 
    7475} 
    75 void glCheckErrors(char[] location = null)  
    76 
     76 
     77void glCheckErrors( char[] location = null )
    7778    GLuint errorNumber; 
    7879    char[] errorString; 
    79     while((errorNumber = glGetError()) > 0) 
    80     { 
    81         errorString = fromStringz(cast(char*)gluErrorString(errorNumber)); 
    82         if(errorString) 
    83        
    84             Stdout("OpenGL Error: ")(errorString).newline; 
     80    while ( (errorNumber = glGetError()) > 0 ) { 
     81       errorString = fromStringz( cast(char*) gluErrorString( errorNumber ) ); 
     82        if ( errorString ) { 
     83           Stdout( "OpenGL Error: " )( errorString ).newline; 
     84        } else
     85            Stdout( "OpenGL Error: " )( errorNumber ).newline; 
    8586        } 
    86         else 
    87         { 
    88             Stdout("OpenGL Error: ")(errorNumber).newline; 
    89         } 
    90         if(location) Stdout("\tat: ")(location).newline; 
     87        if ( location ) 
     88            Stdout( "\tat: " )( location ).newline; 
    9189    } 
    9290} 
     
    111109alias double GLdouble; 
    112110alias double GLclampd; 
    113 struct GLUnurbs { }; 
    114 struct GLUquadric { }; 
    115 struct GLUtesselator { }; 
     111 
     112struct GLUnurbs { 
     113}; 
     114 
     115struct GLUquadric { 
     116}; 
     117 
     118struct GLUtesselator { 
     119}; 
     120 
    116121typedef GLUnurbs GLUnurbsObj; 
    117122typedef GLUquadric GLUquadricObj; 
    118123typedef GLUtesselator GLUtesselatorObj; 
    119124typedef GLUtesselator GLUtriangulatorObj; 
    120 typedef void function() _GLUfuncptr; 
     125typedef void function () _GLUfuncptr; 
    121126 
    122127/* Constants */ 
     
    126131 
    127132/* Enumerations */ 
    128 enum:GLuint 
    129 
     133enum : GLuint { 
    130134    GL_BYTE = 0x1400, 
    131135    GL_UNSIGNED_BYTE = 0x1401, 
     
    10661070 
    10671071/* Functions */ 
    1068 extern(System) 
    1069 
    1070     GLvoid glClearIndex(GLfloat); 
    1071     GLvoid glClearColor(GLclampf, GLclampf, GLclampf, GLclampf); 
    1072     GLvoid glClear(GLbitfield); 
    1073     GLvoid glIndexMask(GLuint); 
    1074     GLvoid glColorMask(GLboolean, GLboolean, GLboolean, GLboolean); 
    1075     GLvoid glAlphaFunc(GLenum, GLclampf); 
    1076     GLvoid glBlendFunc(GLenum, GLenum); 
    1077     GLvoid glLogicOp(GLenum); 
    1078     GLvoid glCullFace(GLenum); 
    1079     GLvoid glFrontFace(GLenum); 
    1080     GLvoid glPointSize(GLfloat); 
    1081     GLvoid glLineWidth(GLfloat); 
    1082     GLvoid glLineStipple(GLint, GLushort); 
    1083     GLvoid glPolygonMode(GLenum, GLenum); 
    1084     GLvoid glPolygonOffset(GLfloat, GLfloat); 
    1085     GLvoid glPolygonStipple(GLubyte*); 
    1086     GLvoid glGetPolygonStipple(GLubyte*); 
    1087     GLvoid glEdgeFlag(GLboolean); 
    1088     GLvoid glEdgeFlagv(GLboolean*); 
    1089     GLvoid glScissor(GLint, GLint, GLsizei, GLsizei); 
    1090     GLvoid glClipPlane(GLenum, GLdouble*); 
    1091     GLvoid glGetClipPlane(GLenum, GLdouble*); 
    1092     GLvoid glDrawBuffer(GLenum); 
    1093     GLvoid glReadBuffer(GLenum); 
    1094     GLvoid glEnable(GLenum); 
    1095     GLvoid glDisable(GLenum); 
    1096     GLboolean glIsEnabled(GLenum); 
    1097     GLvoid glEnableClientState(GLenum); 
    1098     GLvoid glDisableClientState(GLenum); 
    1099     GLvoid glGetBooleanv(GLenum, GLboolean*); 
    1100     GLvoid glGetDoublev(GLenum, GLdouble*); 
    1101     GLvoid glGetFloatv(GLenum, GLfloat*); 
    1102     GLvoid glGetIntegerv(GLenum, GLint*); 
    1103     GLvoid glPushAttrib(GLbitfield); 
     1072extern ( System ) { 
     1073    GLvoid glClearIndex( GLfloat ); 
     1074 
     1075    GLvoid glClearColor( GLclampf, GLclampf, GLclampf, GLclampf ); 
     1076 
     1077    GLvoid glClear( GLbitfield ); 
     1078 
     1079    GLvoid glIndexMask( GLuint ); 
     1080 
     1081    GLvoid glColorMask( GLboolean, GLboolean, GLboolean, GLboolean ); 
     1082 
     1083    GLvoid glAlphaFunc( GLenum, GLclampf ); 
     1084 
     1085    GLvoid glBlendFunc( GLenum, GLenum ); 
     1086 
     1087    GLvoid glLogicOp( GLenum ); 
     1088 
     1089    GLvoid glCullFace( GLenum ); 
     1090 
     1091    GLvoid glFrontFace( GLenum ); 
     1092 
     1093    GLvoid glPointSize( GLfloat ); 
     1094 
     1095    GLvoid glLineWidth( GLfloat ); 
     1096 
     1097    GLvoid glLineStipple( GLint, GLushort ); 
     1098 
     1099    GLvoid glPolygonMode( GLenum, GLenum ); 
     1100 
     1101    GLvoid glPolygonOffset( GLfloat, GLfloat ); 
     1102 
     1103    GLvoid glPolygonStipple( GLubyte* ); 
     1104 
     1105    GLvoid glGetPolygonStipple( GLubyte* ); 
     1106 
     1107    GLvoid glEdgeFlag( GLboolean ); 
     1108 
     1109    GLvoid glEdgeFlagv( GLboolean* ); 
     1110 
     1111    GLvoid glScissor( GLint, GLint, GLsizei, GLsizei ); 
     1112 
     1113    GLvoid glClipPlane( GLenum, GLdouble* ); 
     1114 
     1115    GLvoid glGetClipPlane( GLenum, GLdouble* ); 
     1116 
     1117    GLvoid glDrawBuffer( GLenum ); 
     1118 
     1119    GLvoid glReadBuffer( GLenum ); 
     1120 
     1121    GLvoid glEnable( GLenum ); 
     1122 
     1123    GLvoid glDisable( GLenum ); 
     1124 
     1125    GLboolean glIsEnabled( GLenum ); 
     1126 
     1127    GLvoid glEnableClientState( GLenum ); 
     1128 
     1129    GLvoid glDisableClientState( GLenum ); 
     1130 
     1131    GLvoid glGetBooleanv( GLenum, GLboolean* ); 
     1132 
     1133    GLvoid glGetDoublev( GLenum, GLdouble* ); 
     1134 
     1135    GLvoid glGetFloatv( GLenum, GLfloat* ); 
     1136 
     1137    GLvoid glGetIntegerv( GLenum, GLint* ); 
     1138 
     1139    GLvoid glPushAttrib( GLbitfield ); 
     1140 
    11041141    GLvoid glPopAttrib(); 
    1105     GLvoid glPushClientAttrib(GLbitfield); 
     1142 
     1143    GLvoid glPushClientAttrib( GLbitfield ); 
     1144 
    11061145    GLvoid glPopClientAttrib(); 
    1107     GLint glRenderMode(GLenum); 
     1146 
     1147    GLint glRenderMode( GLenum ); 
     1148 
    11081149    GLenum glGetError(); 
    1109     GLubyte* glGetString(GLenum); 
     1150 
     1151    GLubyte* glGetString( GLenum ); 
     1152 
    11101153    GLvoid glFinish(); 
     1154 
    11111155    GLvoid glFlush(); 
    1112     GLvoid glHint(GLenum, GLenum); 
    1113     GLvoid glClearDepth(GLclampd); 
    1114     GLvoid glDepthFunc(GLenum); 
    1115     GLvoid glDepthMask(GLboolean); 
    1116     GLvoid glDepthRange(GLclampd, GLclampd); 
    1117     GLvoid glClearAccum(GLfloat, GLfloat, GLfloat, GLfloat); 
    1118     GLvoid glAccum(GLenum, GLfloat); 
    1119     GLvoid glMatrixMode(GLenum); 
    1120     GLvoid glOrtho(GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble); 
    1121     GLvoid glFrustum(GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble); 
    1122     GLvoid glViewport(GLint, GLint, GLsizei, GLsizei); 
     1156 
     1157    GLvoid glHint( GLenum, GLenum ); 
     1158 
     1159    GLvoid glClearDepth( GLclampd ); 
     1160 
     1161    GLvoid glDepthFunc( GLenum ); 
     1162 
     1163    GLvoid glDepthMask( GLboolean ); 
     1164 
     1165    GLvoid glDepthRange( GLclampd, GLclampd ); 
     1166 
     1167    GLvoid glClearAccum( GLfloat, GLfloat, GLfloat, GLfloat ); 
     1168 
     1169    GLvoid glAccum( GLenum, GLfloat ); 
     1170 
     1171    GLvoid glMatrixMode( GLenum ); 
     1172 
     1173    GLvoid glOrtho( GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble ); 
     1174 
     1175    GLvoid glFrustum( GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, 
     1176        GLdouble ); 
     1177 
     1178    GLvoid glViewport( GLint, GLint, GLsizei, GLsizei ); 
     1179 
    11231180    GLvoid glPushMatrix(); 
     1181 
    11241182    GLvoid glPopMatrix(); 
     1183 
    11251184    GLvoid glLoadIdentity(); 
    1126     GLvoid glLoadMatrixd(GLdouble*); 
    1127     GLvoid glLoadMatrixf(GLfloat*); 
    1128     GLvoid glMultMatrixd(GLdouble*); 
    1129     GLvoid glMultMatrixf(GLfloat*); 
    1130     GLvoid glRotated(GLdouble, GLdouble, GLdouble, GLdouble); 
    1131     GLvoid glRotatef(GLfloat, GLfloat, GLfloat, GLfloat); 
    1132     GLvoid glScaled(GLdouble, GLdouble, GLdouble); 
    1133     GLvoid glScalef(GLfloat, GLfloat, GLfloat); 
    1134     GLvoid glTranslated(GLdouble, GLdouble, GLdouble); 
    1135     GLvoid glTranslatef(GLfloat, GLfloat, GLfloat); 
    1136     GLboolean glIsList(GLuint); 
    1137     GLvoid glDeleteLists(GLuint, GLsizei); 
    1138     GLuint glGenLists(GLsizei); 
    1139     GLvoid glNewList(GLuint, GLenum); 
     1185 
     1186    GLvoid glLoadMatrixd( GLdouble* ); 
     1187 
     1188    GLvoid glLoadMatrixf( GLfloat* ); 
     1189 
     1190    GLvoid glMultMatrixd( GLdouble* ); 
     1191 
     1192    GLvoid glMultMatrixf( GLfloat* ); 
     1193 
     1194    GLvoid glRotated( GLdouble, GLdouble, GLdouble, GLdouble ); 
     1195 
     1196    GLvoid glRotatef( GLfloat, GLfloat, GLfloat, GLfloat ); 
     1197 
     1198    GLvoid glScaled( GLdouble, GLdouble, GLdouble ); 
     1199 
     1200    GLvoid glScalef( GLfloat, GLfloat, GLfloat ); 
     1201 
     1202    GLvoid glTranslated( GLdouble, GLdouble, GLdouble ); 
     1203 
     1204    GLvoid glTranslatef( GLfloat, GLfloat, GLfloat ); 
     1205 
     1206    GLboolean glIsList( GLuint ); 
     1207 
     1208    GLvoid glDeleteLists( GLuint, GLsizei ); 
     1209 
     1210    GLuint glGenLists( GLsizei ); 
     1211 
     1212    GLvoid glNewList( GLuint, GLenum ); 
     1213 
    11401214    GLvoid glEndList(); 
    1141     GLvoid glCallList(GLuint); 
    1142     GLvoid glCallLists(GLsizei, GLenum, GLvoid*); 
    1143     GLvoid glListBase(GLuint); 
    1144     GLvoid glBegin(GLenum); 
     1215 
     1216    GLvoid glCallList( GLuint ); 
     1217 
     1218    GLvoid glCallLists( GLsizei, GLenum, GLvoid* ); 
     1219 
     1220    GLvoid glListBase( GLuint ); 
     1221 
     1222    GLvoid glBegin( GLenum ); 
     1223 
    11451224    GLvoid glEnd(); 
    1146     GLvoid glVertex2d(GLdouble, GLdouble); 
    1147     GLvoid glVertex2f(GLfloat, GLfloat); 
    1148     GLvoid glVertex2i(GLint, GLint); 
    1149     GLvoid glVertex2s(GLshort, GLshort); 
    1150     GLvoid glVertex3d(GLdouble, GLdouble, GLdouble); 
    1151     GLvoid glVertex3f(GLfloat, GLfloat, GLfloat); 
    1152     GLvoid glVertex3i(GLint, GLint, GLint); 
    1153     GLvoid glVertex3s(GLshort, GLshort, GLshort); 
    1154     GLvoid glVertex4d(GLdouble, GLdouble, GLdouble, GLdouble); 
    1155     GLvoid glVertex4f(GLfloat, GLfloat, GLfloat, GLfloat); 
    1156     GLvoid glVertex4i(GLint, GLint, GLint, GLint); 
    1157     GLvoid glVertex4s(GLshort, GLshort, GLshort, GLshort); 
    1158     GLvoid glVertex2dv(GLdouble*); 
    1159     GLvoid glVertex2fv(GLfloat*); 
    1160     GLvoid glVertex2iv(GLint*); 
    1161     GLvoid glVertex2sv(GLshort*); 
    1162     GLvoid glVertex3dv(GLdouble*); 
    1163     GLvoid glVertex3fv(GLfloat*); 
    1164     GLvoid glVertex3iv(GLint*); 
    1165     GLvoid glVertex3sv(GLshort*); 
    1166     GLvoid glVertex4dv(GLdouble*); 
    1167     GLvoid glVertex4fv(GLfloat*); 
    1168     GLvoid glVertex4iv(GLint*); 
    1169     GLvoid glVertex4sv(GLshort*); 
    1170     GLvoid glNormal3b(GLbyte, GLbyte, GLbyte); 
    1171     GLvoid glNormal3d(GLdouble, GLdouble, GLdouble); 
    1172     GLvoid glNormal3f(GLfloat, GLfloat, GLfloat); 
    1173     GLvoid glNormal3i(GLint, GLint, GLint); 
    1174     GLvoid glNormal3s(GLshort, GLshort, GLshort); 
    1175     GLvoid glNormal3bv(GLbyte*); 
    1176     GLvoid glNormal3dv(GLdouble*); 
    1177     GLvoid glNormal3fv(GLfloat*); 
    1178     GLvoid glNormal3iv(GLint*); 
    1179     GLvoid glNormal3sv(GLshort*); 
    1180     GLvoid glIndexd(GLdouble); 
    1181     GLvoid glIndexf(GLfloat); 
    1182     GLvoid glIndexi(GLint); 
    1183     GLvoid glIndexs(GLshort); 
    1184     GLvoid glIndexub(GLubyte); 
    1185     GLvoid glIndexdv(GLdouble*); 
    1186     GLvoid glIndexfv(GLfloat*); 
    1187     GLvoid glIndexiv(GLint*); 
    1188     GLvoid glIndexsv(GLshort*); 
    1189     GLvoid glIndexubv(GLubyte*); 
    1190     GLvoid glColor3b(GLbyte, GLbyte, GLbyte); 
    1191     GLvoid glColor3d(GLdouble, GLdouble, GLdouble); 
    1192     GLvoid glColor3f(GLfloat, GLfloat, GLfloat); 
    1193     GLvoid glColor3i(GLint, GLint, GLint); 
    1194     GLvoid glColor3s(GLshort, GLshort, GLshort); 
    1195     GLvoid glColor3ub(GLubyte, GLubyte, GLubyte); 
    1196     GLvoid glColor3ui(GLuint, GLuint, GLuint); 
    1197     GLvoid glColor3us(GLushort, GLushort, GLushort); 
    1198     GLvoid glColor4b(GLbyte, GLbyte, GLbyte, GLbyte); 
    1199     GLvoid glColor4d(GLdouble, GLdouble, GLdouble, GLdouble); 
    1200     GLvoid glColor4f(GLfloat, GLfloat, GLfloat, GLfloat); 
    1201     GLvoid glColor4i(GLint, GLint, GLint, GLint); 
    1202     GLvoid glColor4s(GLshort, GLshort, GLshort, GLshort); 
    1203     GLvoid glColor4ub(GLubyte, GLubyte, GLubyte, GLubyte); 
    1204     GLvoid glColor4ui(GLuint, GLuint, GLuint, GLuint); 
    1205     GLvoid glColor4us(GLushort, GLushort, GLushort, GLushort); 
    1206     GLvoid glColor3bv(GLubyte*); 
    1207     GLvoid glColor3dv(GLdouble*); 
    1208     GLvoid glColor3fv(GLfloat*); 
    1209     GLvoid glColor3iv(GLint*); 
    1210     GLvoid glColor3sv(GLshort*); 
    1211     GLvoid glColor3ubv(GLubyte*); 
    1212     GLvoid glColor3uiv(GLuint*); 
    1213     GLvoid glColor3usv(GLushort*); 
    1214     GLvoid glColor4bv(GLbyte*); 
    1215     GLvoid glColor4dv(GLdouble*); 
    1216     GLvoid glColor4fv(GLfloat*); 
    1217     GLvoid glColor4iv(GLint*); 
    1218     GLvoid glColor4sv(GLshort*); 
    1219     GLvoid glColor4ubv(GLubyte*); 
    1220     GLvoid glColor4uiv(GLuint*); 
    1221     GLvoid glColor4usv(GLushort); 
    1222     GLvoid glTexCoord1d(GLdouble); 
    1223     GLvoid glTexCoord1f(GLfloat); 
    1224     GLvoid glTexCoord1i(GLint); 
    1225     GLvoid glTexCoord1s(GLshort); 
    1226     GLvoid glTexCoord2d(GLdouble, GLdouble); 
    1227     GLvoid glTexCoord2f(GLfloat, GLfloat); 
    1228     GLvoid glTexCoord2i(GLint, GLint); 
    1229     GLvoid glTexCoord2s(GLshort, GLshort); 
    1230     GLvoid glTexCoord3d(GLdouble, GLdouble, GLdouble); 
    1231     GLvoid glTexCoord3f(GLfloat, GLfloat, GLfloat); 
    1232     GLvoid glTexCoord3i(GLint, GLint, GLint); 
    1233     GLvoid glTexCoord3s(GLshort, GLshort, GLshort); 
    1234     GLvoid glTexCoord4d(GLdouble, GLdouble, GLdouble, GLdouble); 
    1235     GLvoid glTexCoord4f(GLfloat, GLfloat, GLfloat, GLfloat); 
    1236     GLvoid glTexCoord4i(GLint, GLint, GLint, GLint); 
    1237     GLvoid glTexCoord4s(GLshort, GLshort, GLshort, GLshort); 
    1238     GLvoid glTexCoord1dv(GLdouble*); 
    1239     GLvoid glTexCoord1fv(GLfloat*); 
    1240     GLvoid glTexCoord1iv(GLint*); 
    1241     GLvoid glTexCoord1sv(GLshort*); 
    1242     GLvoid glTexCoord2dv(GLdouble*); 
    1243     GLvoid glTexCoord2fv(GLfloat*); 
    1244     GLvoid glTexCoord2iv(GLint*); 
    1245     GLvoid glTexCoord2sv(GLshort*); 
    1246     GLvoid glTexCoord3dv(GLdouble*); 
    1247     GLvoid glTexCoord3fv(GLfloat*); 
    1248     GLvoid glTexCoord3iv(GLint*); 
    1249     GLvoid glTexCoord3sv(GLshort*); 
    1250     GLvoid glTexCoord4dv(GLdouble*); 
    1251     GLvoid glTexCoord4fv(GLfloat*); 
    1252     GLvoid glTexCoord4iv(GLint*); 
    1253     GLvoid glTexCoord4sv(GLshort*); 
    1254     GLvoid glRasterPos2d(GLdouble, GLdouble); 
    1255     GLvoid glRasterPos2f(GLfloat, GLfloat); 
    1256     GLvoid glRasterPos2i(GLint, GLint); 
    1257     GLvoid glRasterPos2s(GLshort, GLshort); 
    1258     GLvoid glRasterPos3d(GLdouble, GLdouble, GLdouble); 
    1259     GLvoid glRasterPos3f(GLfloat, GLfloat, GLfloat); 
    1260     GLvoid glRasterPos3i(GLint, GLint, GLint); 
    1261     GLvoid glRasterPos3s(GLshort, GLshort, GLshort); 
    1262     GLvoid glRasterPos4d(GLdouble, GLdouble, GLdouble, GLdouble); 
    1263     GLvoid glRasterPos4f(GLfloat, GLfloat, GLfloat, GLfloat); 
    1264     GLvoid glRasterPos4i(GLint, GLint, GLint, GLint); 
    1265     GLvoid glRasterPos4s(GLshort, GLshort, GLshort, GLshort); 
    1266     GLvoid glRasterPos2dv(GLdouble*); 
    1267     GLvoid glRasterPos2fv(GLfloat*); 
    1268     GLvoid glRasterPos2iv(GLint*); 
    1269     GLvoid glRasterPos2sv(GLshort*); 
    1270     GLvoid glRasterPos3dv(GLdouble*); 
    1271     GLvoid glRasterPos3fv(GLfloat*); 
    1272     GLvoid glRasterPos3iv(GLint*); 
    1273     GLvoid glRasterPos3sv(GLshort*); 
    1274     GLvoid glRasterPos4dv(GLdouble*); 
    1275     GLvoid glRasterPos4fv(GLfloat*); 
    1276     GLvoid glRasterPos4iv(GLint*); 
    1277     GLvoid glRasterPos4sv(GLshort*); 
    1278     GLvoid glRectd(GLdouble, GLdouble, GLdouble, GLdouble); 
    1279     GLvoid glRectf(GLfloat, GLfloat, GLfloat, GLfloat); 
    1280     GLvoid glRecti(GLint, GLint, GLint, GLint); 
    1281     GLvoid glRects(GLshort, GLshort, GLshort, GLshort); 
    1282     GLvoid glRectdv(GLdouble*); 
    1283     GLvoid glRectfv(GLfloat*); 
    1284     GLvoid glRectiv(GLint*); 
    1285     GLvoid glRectsv(GLshort*); 
    1286     GLvoid glShadeModel(GLenum); 
    1287     GLvoid glLightf(GLenum, GLenum, GLfloat); 
    1288     GLvoid glLighti(GLenum, GLenum, GLint); 
    1289     GLvoid glLightfv(GLenum, GLenum, GLfloat*); 
    1290     GLvoid glLightiv(GLenum, GLenum, GLint*); 
    1291     GLvoid glGetLightfv(GLenum, GLenum, GLfloat*); 
    1292     GLvoid glGetLightiv(GLenum, GLenum, GLint*); 
    1293     GLvoid glLightModelf(GLenum, GLfloat); 
    1294     GLvoid glLightModeli(GLenum, GLint); 
    1295     GLvoid glLightModelfv(GLenum, GLfloat*); 
    1296     GLvoid glLightModeliv(GLenum, GLint*); 
    1297     GLvoid glMaterialf(GLenum, GLenum, GLfloat); 
    1298     GLvoid glMateriali(GLenum, GLenum, GLint); 
    1299     GLvoid glMaterialfv(GLenum, GLenum, GLfloat*); 
    1300     GLvoid glMaterialiv(GLenum, GLenum, GLint*); 
    1301     GLvoid glGetMaterialfv(GLenum, GLenum, GLfloat*); 
    1302     GLvoid glGetMaterialiv(GLenum, GLenum, GLint*); 
    1303     GLvoid glColorMaterial(GLenum, GLenum); 
    1304     GLvoid glPixelZoom(GLfloat, GLfloat); 
    1305     GLvoid glPixelStoref(GLenum, GLfloat); 
    1306     GLvoid glPixelStorei(GLenum, GLint); 
    1307     GLvoid glPixelTransferf(GLenum, GLfloat); 
    1308     GLvoid glPixelTransferi(GLenum, GLint); 
    1309     GLvoid glPixelMapfv(GLenum, GLint, GLfloat*); 
    1310     GLvoid glPixelMapuiv(GLenum, GLint, GLuint*); 
    1311     GLvoid glPixelMapusv(GLenum, GLint, GLushort*); 
    1312     GLvoid glGetPixelMapfv(GLenum, GLfloat*); 
    1313     GLvoid glGetPixelMapuiv(GLenum, GLuint*); 
    1314     GLvoid glGetPixelMapusv(GLenum, GLushort*); 
    1315     GLvoid glBitmap(GLsizei, GLsizei, GLfloat, GLfloat, GLfloat, GLfloat, GLubyte*); 
    1316     GLvoid glReadPixels(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLvoid*); 
    1317     GLvoid glDrawPixels(GLsizei, GLsizei, GLenum, GLenum, GLvoid*); 
    1318     GLvoid glCopyPixels(GLint, GLint, GLsizei, GLsizei, GLenum); 
    1319     GLvoid glStencilFunc(GLenum, GLint, GLuint); 
    1320     GLvoid glStencilMask(GLuint); 
    1321     GLvoid glStencilOp(GLenum, GLenum, GLenum); 
    1322     GLvoid glClearStencil(GLint); 
    1323     GLvoid glTexGend(GLenum, GLenum, GLdouble); 
    1324     GLvoid glTexGenf(GLenum, GLenum, GLfloat); 
    1325     GLvoid glTexGeni(GLenum, GLenum, GLint); 
    1326     GLvoid glTexGendv(GLenum, GLenum, GLdouble*); 
    1327     GLvoid glTexGenfv(GLenum, GLenum, GLfloat*); 
    1328     GLvoid glTexGeniv(GLenum, GLenum, GLint*); 
    1329     GLvoid glGetTexGendv(GLenum, GLenum, GLdouble*); 
    1330     GLvoid glGetTexGenfv(GLenum, GLenum, GLfloat*); 
    1331     GLvoid glGetTexGeniv(GLenum, GLenum, GLint*); 
    1332     GLvoid glTexEnvf(GLenum, GLenum, GLfloat); 
    1333     GLvoid glTexEnvi(GLenum, GLenum, GLint); 
    1334     GLvoid glTexEnvfv(GLenum, GLenum, GLfloat*); 
    1335     GLvoid glTexEnviv(GLenum, GLenum, GLint*); 
    1336     GLvoid glGetTexEnvfv(GLenum, GLenum, GLfloat*); 
    1337     GLvoid glGetTexEnviv(GLenum, GLenum, GLint*); 
    1338     GLvoid glTexParameterf(GLenum, GLenum, GLfloat); 
    1339     GLvoid glTexParameteri(GLenum, GLenum, GLint); 
    1340     GLvoid glTexParameterfv(GLenum, GLenum, GLfloat*); 
    1341     GLvoid glTexParameteriv(GLenum, GLenum, GLint*); 
    1342     GLvoid glGetTexParameterfv(GLenum, GLenum, GLfloat*); 
    1343     GLvoid glGetTexParameteriv(GLenum, GLenum, GLint*); 
    1344     GLvoid glGetTexLevelParameterfv(GLenum, GLint, GLenum, GLfloat*); 
    1345     GLvoid glGetTexLevelParameteriv(GLenum, GLint, GLenum, GLint*); 
    1346     GLvoid glTexImage1D(GLenum, GLint, GLint, GLsizei, GLint, GLenum, GLenum, GLvoid*); 
    1347     GLvoid glTexImage2D(GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, GLvoid*); 
    1348     GLvoid glGetTexImage(GLenum, GLint, GLenum, GLenum, GLvoid*); 
    1349     GLvoid glMap1d(GLenum, GLdouble, GLdouble, GLint, GLint, GLdouble*); 
    1350     GLvoid glMap1f(GLenum, GLfloat, GLfloat, GLint, GLint, GLfloat*); 
    1351     GLvoid glMap2d(GLenum, GLdouble, GLdouble, GLint, GLint, GLdouble, GLdouble, GLint, GLint, GLdouble*); 
    1352     GLvoid glMap2f(GLenum, GLfloat, GLfloat, GLint, GLint, GLfloat, GLfloat, GLint, GLint, GLfloat*); 
    1353     GLvoid glGetMapdv(GLenum, GLenum, GLdouble*); 
    1354     GLvoid glGetMapfv(GLenum, GLenum, GLfloat*); 
    1355     GLvoid glGetMapiv(GLenum, GLenum, GLint*); 
    1356     GLvoid glEvalCoord1d(GLdouble); 
    1357     GLvoid glEvalCoord1f(GLfloat); 
    1358     GLvoid glEvalCoord1dv(GLdouble*); 
    1359     GLvoid glEvalCoord1fv(GLfloat*); 
    1360     GLvoid glEvalCoord2d(GLdouble, GLdouble); 
    1361     GLvoid glEvalCoord2f(GLfloat, GLfloat); 
    1362     GLvoid glEvalCoord2dv(GLdouble*); 
    1363     GLvoid glEvalCoord2fv(GLfloat*); 
    1364     GLvoid glMapGrid1d(GLint, GLdouble, GLdouble); 
    1365     GLvoid glMapGrid1f(GLint, GLfloat, GLfloat); 
    1366     GLvoid glMapGrid2d(GLint, GLdouble, GLdouble, GLint, GLdouble, GLdouble); 
    1367     GLvoid glMapGrid2f(GLint, GLfloat, GLfloat, GLint, GLfloat, GLfloat); 
    1368     GLvoid glEvalPoint1(GLint); 
    1369     GLvoid glEvalPoint2(GLint, GLint); 
    1370     GLvoid glEvalMesh1(GLenum, GLint, GLint); 
    1371     GLvoid glEvalMesh2(GLenum, GLint, GLint, GLint, GLint); 
    1372     GLvoid glFogf(GLenum, GLfloat); 
    1373     GLvoid glFogi(GLenum, GLint); 
    1374     GLvoid glFogfv(GLenum, GLfloat*); 
    1375     GLvoid glFogiv(GLenum, GLint*); 
    1376     GLvoid glFeedbackBuffer(GLsizei, GLenum, GLfloat*); 
    1377     GLvoid glPassThrough(GLfloat); 
    1378     GLvoid glSelectBuffer(GLsizei, GLuint*); 
     1225 
     1226    GLvoid glVertex2d( GLdouble, GLdouble ); 
     1227 
     1228    GLvoid glVertex2f( GLfloat, GLfloat ); 
     1229 
     1230    GLvoid glVertex2i( GLint, GLint ); 
     1231 
     1232    GLvoid glVertex2s( GLshort, GLshort ); 
     1233 
     1234    GLvoid glVertex3d( GLdouble, GLdouble, GLdouble ); 
     1235 
     1236    GLvoid glVertex3f( GLfloat, GLfloat, GLfloat ); 
     1237 
     1238    GLvoid glVertex3i( GLint, GLint, GLint ); 
     1239 
     1240    GLvoid glVertex3s( GLshort, GLshort, GLshort ); 
     1241 
     1242    GLvoid glVertex4d( GLdouble, GLdouble, GLdouble, GLdouble ); 
     1243 
     1244    GLvoid glVertex4f( GLfloat, GLfloat, GLfloat, GLfloat ); 
     1245 
     1246    GLvoid glVertex4i( GLint, GLint, GLint, GLint ); 
     1247 
     1248    GLvoid glVertex4s( GLshort, GLshort, GLshort, GLshort ); 
     1249 
     1250    GLvoid glVertex2dv( GLdouble* ); 
     1251 
     1252    GLvoid glVertex2fv( GLfloat* ); 
     1253 
     1254    GLvoid glVertex2iv( GLint* ); 
     1255 
     1256    GLvoid glVertex2sv( GLshort* ); 
     1257 
     1258    GLvoid glVertex3dv( GLdouble* ); 
     1259 
     1260    GLvoid glVertex3fv( GLfloat* ); 
     1261 
     1262    GLvoid glVertex3iv( GLint* ); 
     1263 
     1264    GLvoid glVertex3sv( GLshort* ); 
     1265 
     1266    GLvoid glVertex4dv( GLdouble* ); 
     1267 
     1268    GLvoid glVertex4fv( GLfloat* ); 
     1269 
     1270    GLvoid glVertex4iv( GLint* ); 
     1271 
     1272    GLvoid glVertex4sv( GLshort* ); 
     1273 
     1274    GLvoid glNormal3b( GLbyte, GLbyte, GLbyte ); 
     1275 
     1276    GLvoid glNormal3d( GLdouble, GLdouble, GLdouble ); 
     1277 
     1278    GLvoid glNormal3f( GLfloat, GLfloat, GLfloat ); 
     1279 
     1280    GLvoid glNormal3i( GLint, GLint, GLint ); 
     1281 
     1282    GLvoid glNormal3s( GLshort, GLshort, GLshort ); 
     1283 
     1284    GLvoid glNormal3bv( GLbyte* ); 
     1285 
     1286    GLvoid glNormal3dv( GLdouble* ); 
     1287 
     1288    GLvoid glNormal3fv( GLfloat* ); 
     1289 
     1290    GLvoid glNormal3iv( GLint* ); 
     1291 
     1292    GLvoid glNormal3sv( GLshort* ); 
     1293 
     1294    GLvoid glIndexd( GLdouble ); 
     1295 
     1296    GLvoid glIndexf( GLfloat ); 
     1297 
     1298    GLvoid glIndexi( GLint ); 
     1299 
     1300    GLvoid glIndexs( GLshort ); 
     1301 
     1302    GLvoid glIndexub( GLubyte ); 
     1303 
     1304    GLvoid glIndexdv( GLdouble* ); 
     1305 
     1306    GLvoid glIndexfv( GLfloat* ); 
     1307 
     1308    GLvoid glIndexiv( GLint* ); 
     1309 
     1310    GLvoid glIndexsv( GLshort* ); 
     1311 
     1312    GLvoid glIndexubv( GLubyte* ); 
     1313 
     1314    GLvoid glColor3b( GLbyte, GLbyte, GLbyte ); 
     1315 
     1316    GLvoid glColor3d( GLdouble, GLdouble, GLdouble ); 
     1317 
     1318    GLvoid glColor3f( GLfloat, GLfloat, GLfloat ); 
     1319 
     1320    GLvoid glColor3i( GLint, GLint, GLint ); 
     1321 
     1322    GLvoid glColor3s( GLshort, GLshort, GLshort ); 
     1323 
     1324    GLvoid glColor3ub( GLubyte, GLubyte, GLubyte ); 
     1325 
     1326    GLvoid glColor3ui( GLuint, GLuint, GLuint ); 
     1327 
     1328    GLvoid glColor3us( GLushort, GLushort, GLushort ); 
     1329 
     1330    GLvoid glColor4b( GLbyte, GLbyte, GLbyte, GLbyte ); 
     1331 
     1332    GLvoid glColor4d( GLdouble, GLdouble, GLdouble, GLdouble ); 
     1333 
     1334    GLvoid glColor4f( GLfloat, GLfloat, GLfloat, GLfloat ); 
     1335 
     1336    GLvoid glColor4i( GLint, GLint, GLint, GLint ); 
     1337 
     1338    GLvoid glColor4s( GLshort, GLshort, GLshort, GLshort ); 
     1339 
     1340    GLvoid glColor4ub( GLubyte, GLubyte, GLubyte, GLubyte ); 
     1341 
     1342    GLvoid glColor4ui( GLuint, GLuint, GLuint, GLuint ); 
     1343 
     1344    GLvoid glColor4us( GLushort, GLushort, GLushort, GLushort ); 
     1345 
     1346    GLvoid glColor3bv( GLubyte* ); 
     1347 
     1348    GLvoid glColor3dv( GLdouble* ); 
     1349 
     1350    GLvoid glColor3fv( GLfloat* ); 
     1351 
     1352    GLvoid glColor3iv( GLint* ); 
     1353 
     1354    GLvoid glColor3sv( GLshort* ); 
     1355 
     1356    GLvoid glColor3ubv( GLubyte* ); 
     1357 
     1358    GLvoid glColor3uiv( GLuint* ); 
     1359 
     1360    GLvoid glColor3usv( GLushort* ); 
     1361 
     1362    GLvoid glColor4bv( GLbyte* ); 
     1363 
     1364    GLvoid glColor4dv( GLdouble* ); 
     1365 
     1366    GLvoid glColor4fv( GLfloat* ); 
     1367 
     1368    GLvoid glColor4iv( GLint* ); 
     1369 
     1370    GLvoid glColor4sv( GLshort* ); 
     1371 
     1372    GLvoid glColor4ubv( GLubyte* ); 
     1373 
     1374    GLvoid glColor4uiv( GLuint* ); 
     1375 
     1376    GLvoid glColor4usv( GLushort ); 
     1377 
     1378    GLvoid glTexCoord1d( GLdouble ); 
     1379 
     1380    GLvoid glTexCoord1f( GLfloat ); 
     1381 
     1382    GLvoid glTexCoord1i( GLint ); 
     1383 
     1384    GLvoid glTexCoord1s( GLshort ); 
     1385 
     1386    GLvoid glTexCoord2d( GLdouble, GLdouble ); 
     1387 
     1388    GLvoid glTexCoord2f( GLfloat, GLfloat ); 
     1389 
     1390    GLvoid glTexCoord2i( GLint, GLint ); 
     1391 
     1392    GLvoid glTexCoord2s( GLshort, GLshort ); 
     1393 
     1394    GLvoid glTexCoord3d( GLdouble, GLdouble, GLdouble ); 
     1395 
     1396    GLvoid glTexCoord3f( GLfloat, GLfloat, GLfloat ); 
     1397 
     1398    GLvoid glTexCoord3i( GLint, GLint, GLint ); 
     1399 
     1400    GLvoid glTexCoord3s( GLshort, GLshort, GLshort ); 
     1401 
     1402    GLvoid glTexCoord4d( GLdouble, GLdouble, GLdouble, GLdouble ); 
     1403 
     1404    GLvoid glTexCoord4f( GLfloat, GLfloat, GLfloat, GLfloat ); 
     1405 
     1406    GLvoid glTexCoord4i( GLint, GLint, GLint, GLint ); 
     1407 
     1408    GLvoid glTexCoord4s( GLshort, GLshort, GLshort, GLshort ); 
     1409 
     1410    GLvoid glTexCoord1dv( GLdouble* ); 
     1411 
     1412    GLvoid glTexCoord1fv( GLfloat* ); 
     1413 
     1414    GLvoid glTexCoord1iv( GLint* ); 
     1415 
     1416    GLvoid glTexCoord1sv( GLshort* ); 
     1417 
     1418    GLvoid glTexCoord2dv( GLdouble* ); 
     1419 
     1420    GLvoid glTexCoord2fv( GLfloat* ); 
     1421 
     1422    GLvoid glTexCoord2iv( GLint* ); 
     1423 
     1424    GLvoid glTexCoord2sv( GLshort* ); 
     1425 
     1426    GLvoid glTexCoord3dv( GLdouble* ); 
     1427 
     1428    GLvoid glTexCoord3fv( GLfloat* ); 
     1429 
     1430    GLvoid glTexCoord3iv( GLint* ); 
     1431 
     1432    GLvoid glTexCoord3sv( GLshort* ); 
     1433 
     1434    GLvoid glTexCoord4dv( GLdouble* ); 
     1435 
     1436    GLvoid glTexCoord4fv( GLfloat* ); 
     1437 
     1438    GLvoid glTexCoord4iv( GLint* ); 
     1439 
     1440    GLvoid glTexCoord4sv( GLshort* ); 
     1441 
     1442    GLvoid glRasterPos2d( GLdouble, GLdouble ); 
     1443 
     1444    GLvoid glRasterPos2f( GLfloat, GLfloat ); 
     1445 
     1446    GLvoid glRasterPos2i( GLint, GLint ); 
     1447 
     1448    GLvoid glRasterPos2s( GLshort, GLshort ); 
     1449 
     1450    GLvoid glRasterPos3d( GLdouble, GLdouble, GLdouble ); 
     1451 
     1452    GLvoid glRasterPos3f( GLfloat, GLfloat, GLfloat ); 
     1453 
     1454    GLvoid glRasterPos3i( GLint, GLint, GLint ); 
     1455 
     1456    GLvoid glRasterPos3s( GLshort, GLshort, GLshort ); 
     1457 
     1458    GLvoid glRasterPos4d( GLdouble, GLdouble, GLdouble, GLdouble ); 
     1459 
     1460    GLvoid glRasterPos4f( GLfloat, GLfloat, GLfloat, GLfloat ); 
     1461 
     1462    GLvoid glRasterPos4i( GLint, GLint, GLint, GLint ); 
     1463 
     1464    GLvoid glRasterPos4s( GLshort, GLshort, GLshort, GLshort ); 
     1465 
     1466    GLvoid glRasterPos2dv( GLdouble* ); 
     1467 
     1468    GLvoid glRasterPos2fv( GLfloat* ); 
     1469 
     1470    GLvoid glRasterPos2iv( GLint* ); 
     1471 
     1472    GLvoid glRasterPos2sv( GLshort* ); 
     1473 
     1474    GLvoid glRasterPos3dv( GLdouble* ); 
     1475 
     1476    GLvoid glRasterPos3fv( GLfloat* ); 
     1477 
     1478    GLvoid glRasterPos3iv( GLint* ); 
     1479 
     1480    GLvoid glRasterPos3sv( GLshort* ); 
     1481 
     1482    GLvoid glRasterPos4dv( GLdouble* ); 
     1483 
     1484    GLvoid glRasterPos4fv( GLfloat* ); 
     1485 
     1486    GLvoid glRasterPos4iv( GLint* ); 
     1487 
     1488    GLvoid glRasterPos4sv( GLshort* ); 
     1489 
     1490    GLvoid glRectd( GLdouble, GLdouble, GLdouble, GLdouble ); 
     1491 
     1492    GLvoid glRectf( GLfloat, GLfloat, GLfloat, GLfloat ); 
     1493 
     1494    GLvoid glRecti( GLint, GLint, GLint, GLint ); 
     1495 
     1496    GLvoid glRects( GLshort, GLshort, GLshort, GLshort ); 
     1497 
     1498    GLvoid glRectdv( GLdouble* ); 
     1499 
     1500    GLvoid glRectfv( GLfloat* ); 
     1501 
     1502    GLvoid glRectiv( GLint* ); 
     1503 
     1504    GLvoid glRectsv( GLshort* ); 
     1505 
     1506    GLvoid glShadeModel( GLenum ); 
     1507 
     1508    GLvoid glLightf( GLenum, GLenum, GLfloat ); 
     1509 
     1510    GLvoid glLighti( GLenum, GLenum, GLint ); 
     1511 
     1512    GLvoid glLightfv( GLenum, GLenum, GLfloat* ); 
     1513 
     1514    GLvoid glLightiv( GLenum, GLenum, GLint* ); 
     1515 
     1516    GLvoid glGetLightfv( GLenum, GLenum, GLfloat* ); 
     1517 
     1518    GLvoid glGetLightiv( GLenum, GLenum, GLint* ); 
     1519 
     1520    GLvoid glLightModelf( GLenum, GLfloat ); 
     1521 
     1522    GLvoid glLightModeli( GLenum, GLint ); 
     1523 
     1524    GLvoid glLightModelfv( GLenum, GLfloat* ); 
     1525 
     1526    GLvoid glLightModeliv( GLenum, GLint* ); 
     1527 
     1528    GLvoid glMaterialf( GLenum, GLenum, GLfloat ); 
     1529 
     1530    GLvoid glMateriali( GLenum, GLenum, GLint ); 
     1531 
     1532    GLvoid glMaterialfv( GLenum, GLenum, GLfloat* ); 
     1533 
     1534    GLvoid glMaterialiv( GLenum, GLenum, GLint* ); 
     1535 
     1536    GLvoid glGetMaterialfv( GLenum, GLenum, GLfloat* ); 
     1537 
     1538    GLvoid glGetMaterialiv( GLenum, GLenum, GLint* ); 
     1539 
     1540    GLvoid glColorMaterial( GLenum, GLenum ); 
     1541 
     1542    GLvoid glPixelZoom( GLfloat, GLfloat ); 
     1543 
     1544    GLvoid glPixelStoref( GLenum, GLfloat ); 
     1545 
     1546    GLvoid glPixelStorei( GLenum, GLint ); 
     1547 
     1548    GLvoid glPixelTransferf( GLenum, GLfloat ); 
     1549 
     1550    GLvoid glPixelTransferi( GLenum, GLint ); 
     1551 
     1552    GLvoid glPixelMapfv( GLenum, GLint, GLfloat* ); 
     1553 
     1554    GLvoid glPixelMapuiv( GLenum, GLint, GLuint* ); 
     1555 
     1556    GLvoid glPixelMapusv( GLenum, GLint, GLushort* ); 
     1557 
     1558    GLvoid glGetPixelMapfv( GLenum, GLfloat* ); 
     1559 
     1560    GLvoid glGetPixelMapuiv( GLenum, GLuint* ); 
     1561 
     1562    GLvoid glGetPixelMapusv( GLenum, GLushort* ); 
     1563 
     1564    GLvoid glBitmap( GLsizei, GLsizei, GLfloat, GLfloat, GLfloat, GLfloat, 
     1565        GLubyte* ); 
     1566 
     1567    GLvoid glReadPixels( GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, 
     1568        GLvoid* ); 
     1569 
     1570    GLvoid glDrawPixels( GLsizei, GLsizei, GLenum, GLenum, GLvoid* ); 
     1571 
     1572    GLvoid glCopyPixels( GLint, GLint, GLsizei, GLsizei, GLenum ); 
     1573 
     1574    GLvoid glStencilFunc( GLenum, GLint, GLuint ); 
     1575 
     1576    GLvoid glStencilMask( GLuint ); 
     1577 
     1578    GLvoid glStencilOp( GLenum, GLenum, GLenum ); 
     1579 
     1580    GLvoid glClearStencil( GLint ); 
     1581 
     1582    GLvoid glTexGend( GLenum, GLenum, GLdouble ); 
     1583 
     1584    GLvoid glTexGenf( GLenum, GLenum, GLfloat ); 
     1585 
     1586    GLvoid glTexGeni( GLenum, GLenum, GLint ); 
     1587 
     1588    GLvoid glTexGendv( GLenum, GLenum, GLdouble* ); 
     1589 
     1590    GLvoid glTexGenfv( GLenum, GLenum, GLfloat* ); 
     1591 
     1592    GLvoid glTexGeniv( GLenum, GLenum, GLint* ); 
     1593 
     1594    GLvoid glGetTexGendv( GLenum, GLenum, GLdouble* ); 
     1595 
     1596    GLvoid glGetTexGenfv( GLenum, GLenum, GLfloat* ); 
     1597 
     1598    GLvoid glGetTexGeniv( GLenum, GLenum, GLint* ); 
     1599 
     1600    GLvoid glTexEnvf( GLenum, GLenum, GLfloat ); 
     1601 
     1602    GLvoid glTexEnvi( GLenum, GLenum, GLint ); 
     1603 
     1604    GLvoid glTexEnvfv( GLenum, GLenum, GLfloat* ); 
     1605 
     1606    GLvoid glTexEnviv( GLenum, GLenum, GLint* ); 
     1607 
     1608    GLvoid glGetTexEnvfv( GLenum, GLenum, GLfloat* ); 
     1609 
     1610    GLvoid glGetTexEnviv( GLenum, GLenum, GLint* ); 
     1611 
     1612    GLvoid glTexParameterf( GLenum, GLenum, GLfloat ); 
     1613 
     1614    GLvoid glTexParameteri( GLenum, GLenum, GLint ); 
     1615 
     1616    GLvoid glTexParameterfv( GLenum, GLenum, GLfloat* ); 
     1617 
     1618    GLvoid glTexParameteriv( GLenum, GLenum, GLint* ); 
     1619 
     1620    GLvoid glGetTexParameterfv( GLenum, GLenum, GLfloat* ); 
     1621 
     1622    GLvoid glGetTexParameteriv( GLenum, GLenum, GLint* ); 
     1623 
     1624    GLvoid glGetTexLevelParameterfv( GLenum, GLint, GLenum, GLfloat* ); 
     1625 
     1626    GLvoid glGetTexLevelParameteriv( GLenum, GLint, GLenum, GLint* ); 
     1627 
     1628    GLvoid glTexImage1D( GLenum, GLint, GLint, GLsizei, GLint, GLenum, GLenum, 
     1629        GLvoid* ); 
     1630 
     1631    GLvoid glTexImage2D( GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, 
     1632        GLenum, GLvoid* ); 
     1633 
     1634    GLvoid glGetTexImage( GLenum, GLint, GLenum, GLenum, GLvoid* ); 
     1635 
     1636    GLvoid glMap1d( GLenum, GLdouble, GLdouble, GLint, GLint, GLdouble* ); 
     1637 
     1638    GLvoid glMap1f( GLenum, GLfloat, GLfloat, GLint, GLint, GLfloat* ); 
     1639 
     1640    GLvoid glMap2d( GLenum, GLdouble, GLdouble, GLint, GLint, GLdouble, 
     1641        GLdouble, GLint, GLint, GLdouble* ); 
     1642 
     1643    GLvoid glMap2f( GLenum, GLfloat, GLfloat, GLint, GLint, GLfloat, GLfloat, 
     1644        GLint, GLint, GLfloat* ); 
     1645 
     1646    GLvoid glGetMapdv( GLenum, GLenum, GLdouble* ); 
     1647 
     1648    GLvoid glGetMapfv( GLenum, GLenum, GLfloat* ); 
     1649 
     1650    GLvoid glGetMapiv( GLenum, GLenum, GLint* ); 
     1651 
     1652    GLvoid glEvalCoord1d( GLdouble ); 
     1653 
     1654    GLvoid glEvalCoord1f( GLfloat ); 
     1655 
     1656    GLvoid glEvalCoord1dv( GLdouble* ); 
     1657 
     1658    GLvoid glEvalCoord1fv( GLfloat* ); 
     1659 
     1660    GLvoid glEvalCoord2d( GLdouble, GLdouble ); 
     1661 
     1662    GLvoid glEvalCoord2f( GLfloat, GLfloat ); 
     1663 
     1664    GLvoid glEvalCoord2dv( GLdouble* ); 
     1665 
     1666    GLvoid glEvalCoord2fv( GLfloat* ); 
     1667 
     1668    GLvoid glMapGrid1d( GLint, GLdouble, GLdouble ); 
     1669 
     1670    GLvoid glMapGrid1f( GLint, GLfloat, GLfloat ); 
     1671 
     1672    GLvoid glMapGrid2d( GLint, GLdouble, GLdouble, GLint, GLdouble, GLdouble ); 
     1673 
     1674    GLvoid glMapGrid2f( GLint, GLfloat, GLfloat, GLint, GLfloat, GLfloat ); 
     1675 
     1676    GLvoid glEvalPoint1( GLint ); 
     1677 
     1678    GLvoid glEvalPoint2( GLint, GLint ); 
     1679 
     1680    GLvoid glEvalMesh1( GLenum, GLint, GLint ); 
     1681 
     1682    GLvoid glEvalMesh2( GLenum, GLint, GLint, GLint, GLint ); 
     1683 
     1684    GLvoid glFogf( GLenum, GLfloat ); 
     1685 
     1686    GLvoid glFogi( GLenum, GLint ); 
     1687 
     1688    GLvoid glFogfv( GLenum, GLfloat* ); 
     1689 
     1690    GLvoid glFogiv( GLenum, GLint* ); 
     1691 
     1692    GLvoid glFeedbackBuffer( GLsizei, GLenum, GLfloat* ); 
     1693 
     1694    GLvoid glPassThrough( GLfloat ); 
     1695 
     1696    GLvoid glSelectBuffer( GLsizei, GLuint* ); 
     1697 
    13791698    GLvoid glInitNames(); 
    1380     GLvoid glLoadName(GLuint); 
    1381     GLvoid glPushName(GLuint); 
     1699 
     1700    GLvoid glLoadName( GLuint ); 
     1701 
     1702    GLvoid glPushName( GLuint ); 
     1703 
    13821704    GLvoid glPopName(); 
    1383     GLvoid glGenTextures(GLsizei, GLuint*); 
    1384     GLvoid glDeleteTextures(GLsizei, GLuint*); 
    1385     GLvoid glBindTexture(GLenum, GLuint); 
    1386     GLvoid glPrioritizeTextures(GLsizei, GLuint*, GLclampf*); 
    1387     GLboolean glAreTexturesResident(GLsizei, GLuint*, GLboolean*); 
    1388     GLboolean glIsTexture(GLuint); 
    1389     GLvoid glTexSubImage1D(GLenum, GLint, GLint, GLsizei, GLenum, GLenum, GLvoid*); 
    1390     GLvoid glTexSubImage2D(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLvoid*); 
    1391     GLvoid glCopyTexImage1D(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint); 
    1392     GLvoid glCopyTexImage2D(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint); 
    1393     GLvoid glCopyTexSubImage1D(GLenum, GLint, GLint, GLint, GLint, GLsizei); 
    1394     GLvoid glCopyTexSubImage2D(GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei); 
    1395     GLvoid glVertexPointer(GLint, GLenum, GLsizei, GLvoid*); 
    1396     GLvoid glNormalPointer(GLenum, GLsizei, GLvoid*); 
    1397     GLvoid glColorPointer(GLint, GLenum, GLsizei, GLvoid*); 
    1398     GLvoid glIndexPointer(GLenum, GLsizei, GLvoid*); 
    1399     GLvoid glTexCoordPointer(GLint, GLenum, GLsizei, GLvoid*); 
    1400     GLvoid glEdgeFlagPointer(GLsizei, GLvoid*); 
    1401     GLvoid glGetPointerv(GLenum, GLvoid**); 
    1402     GLvoid glArrayElement(GLint); 
    1403     GLvoid glDrawArrays(GLenum, GLint, GLsizei); 
    1404     GLvoid glDrawElements(GLenum, GLsizei, GLenum, GLvoid*); 
    1405     GLvoid glInterleavedArrays(GLenum, GLsizei, GLvoid*); 
    1406      
     1705 
     1706    GLvoid glGenTextures( GLsizei, GLuint* ); 
     1707 
     1708    GLvoid glDeleteTextures( GLsizei, GLuint* ); 
     1709 
     1710    GLvoid glBindTexture( GLenum, GLuint ); 
     1711 
     1712    GLvoid glPrioritizeTextures( GLsizei, GLuint*, GLclampf* ); 
     1713 
     1714    GLboolean glAreTexturesResident( GLsizei, GLuint*, GLboolean* ); 
     1715 
     1716    GLboolean glIsTexture( GLuint ); 
     1717 
     1718    GLvoid glTexSubImage1D( GLenum, GLint, GLint, GLsizei, GLenum, GLenum, 
     1719        GLvoid* ); 
     1720 
     1721    GLvoid glTexSubImage2D( GLenum, GLint, GLint, GLint, GLsizei, GLsizei, 
     1722        GLenum, GLenum, GLvoid* ); 
     1723 
     1724    GLvoid glCopyTexImage1D( GLenum, GLint, GLenum, GLint, GLint, GLsizei, 
     1725        GLint ); 
     1726 
     1727    GLvoid glCopyTexImage2D( GLenum, GLint, GLenum, GLint, GLint, GLsizei, 
     1728        GLsizei, GLint ); 
     1729 
     1730    GLvoid glCopyTexSubImage1D( GLenum, GLint, GLint, GLint, GLint, GLsizei ); 
     1731 
     1732    GLvoid glCopyTexSubImage2D( GLenum, GLint, GLint, GLint, GLint, GLint, 
     1733        GLsizei, GLsizei ); 
     1734 
     1735    GLvoid glVertexPointer( GLint, GLenum, GLsizei, GLvoid* ); 
     1736 
     1737    GLvoid glNormalPointer( GLenum, GLsizei, GLvoid* ); 
     1738 
     1739    GLvoid glColorPointer( GLint, GLenum, GLsizei, GLvoid* ); 
     1740 
     1741    GLvoid glIndexPointer( GLenum, GLsizei, GLvoid* ); 
     1742 
     1743    GLvoid glTexCoordPointer( GLint, GLenum, GLsizei, GLvoid* ); 
     1744 
     1745    GLvoid glEdgeFlagPointer( GLsizei, GLvoid* ); 
     1746 
     1747    GLvoid glGetPointerv( GLenum, GLvoid** ); 
     1748 
     1749    GLvoid glArrayElement( GLint ); 
     1750 
     1751    GLvoid glDrawArrays( GLenum, GLint, GLsizei ); 
     1752 
     1753    GLvoid glDrawElements( GLenum, GLsizei, GLenum, GLvoid* ); 
     1754 
     1755    GLvoid glInterleavedArrays( GLenum, GLsizei, GLvoid* ); 
     1756 
    14071757    // Utilities 
    1408     GLint gluBuild1DMipmapLevels(GLenum,GLint,GLsizei,GLenum,GLenum,GLint,GLint,GLint,GLvoid*); 
    1409     GLint gluBuild1DMipmaps(GLenum,GLint,GLsizei,GLenum,GLenum,GLvoid*); 
    1410     GLint gluBuild2DMipmapLevels(GLenum,GLint,GLsizei,GLsizei,GLenum,GLenum,GLint,GLint,GLint,GLvoid*); 
    1411     GLint gluBuild2DMipmaps(GLenum,GLint,GLsizei,GLsizei,GLenum,GLenum,GLvoid*); 
    1412     GLint gluBuild3DMipmapLevels(GLenum,GLint,GLsizei,GLsizei,GLsizei,GLenum,GLenum,GLint,GLint,GLint,GLvoid*); 
    1413     GLint gluBuild3DMipmaps(GLenum,GLint,GLsizei,GLsizei,GLsizei,GLenum,GLenum,GLvoid*); 
    1414     GLboolean gluCheckExtension(GLubyte*,GLubyte*); 
    1415     GLubyte* gluErrorString(GLenum); 
    1416     GLubyte* gluGetString(GLenum); 
    1417     GLvoid gluCylinder(GLUquadric*,GLdouble,GLdouble,GLdouble,GLint,GLint); 
    1418     GLvoid gluDisk(GLUquadric*,GLdouble,GLdouble,GLint,GLint); 
    1419     GLvoid gluPartialDisk(GLUquadric*,GLdouble,GLdouble,GLint,GLint,GLdouble,GLdouble); 
    1420     GLvoid gluSphere(GLUquadric*,GLdouble,GLint,GLint); 
    1421     GLvoid gluBeginCurve(GLUnurbs*); 
    1422     GLvoid gluBeginPolygon(GLUtesselator*); 
    1423     GLvoid gluBeginSurface(GLUnurbs*); 
    1424     GLvoid gluBeginTrim(GLUnurbs*); 
    1425     GLvoid gluEndCurve(GLUnurbs*); 
    1426     GLvoid gluEndPolygon(GLUtesselator*); 
    1427     GLvoid gluEndSurface(GLUnurbs*); 
    1428     GLvoid gluEndTrim(GLUnurbs*); 
    1429     GLvoid gluDeleteNurbsRenderer(GLUnurbs*); 
    1430     GLvoid gluDeleteQuadric(GLUquadric*); 
    1431     GLvoid gluDeleteTess(GLUtesselator*); 
    1432     GLvoid gluGetNurbsProperty(GLUnurbs*,GLenum,GLfloat*); 
    1433     GLvoid gluGetTessProperty(GLUtesselator*,GLenum,GLdouble*); 
    1434     GLvoid gluLoadSamplingMatrices(GLUnurbs*,GLfloat*,GLfloat*,GLint*); 
     1758    GLint gluBuild1DMipmapLevels( GLenum, GLint, GLsizei, GLenum, GLenum, 
     1759        GLint, GLint, GLint, GLvoid* ); 
     1760 
     1761    GLint gluBuild1DMipmaps( GLenum, GLint, GLsizei, GLenum, GLenum, GLvoid* ); 
     1762 
     1763    GLint gluBuild2DMipmapLevels( GLenum, GLint, GLsizei, GLsizei, GLenum, 
     1764        GLenum, GLint, GLint, GLint, GLvoid* ); 
     1765 
     1766    GLint gluBuild2DMipmaps( GLenum, GLint, GLsizei, GLsizei, GLenum, GLenum, 
     1767        GLvoid* ); 
     1768 
     1769    GLint gluBuild3DMipmapLevels( GLenum, GLint, GLsizei, GLsizei, GLsizei, 
     1770        GLenum, GLenum, GLint, GLint, GLint, GLvoid* ); 
     1771 
     1772    GLint gluBuild3DMipmaps( GLenum, GLint, GLsizei, GLsizei, GLsizei, GLenum, 
     1773        GLenum, GLvoid* ); 
     1774 
     1775    GLboolean gluCheckExtension( GLubyte*, GLubyte* ); 
     1776 
     1777    GLubyte* gluErrorString( GLenum ); 
     1778 
     1779    GLubyte* gluGetString( GLenum ); 
     1780 
     1781    GLvoid gluCylinder( GLUquadric*, GLdouble, GLdouble, GLdouble, GLint, GLint ); 
     1782 
     1783    GLvoid gluDisk( GLUquadric*, GLdouble, GLdouble, GLint, GLint ); 
     1784 
     1785    GLvoid gluPartialDisk( GLUquadric*, GLdouble, GLdouble, GLint, GLint, 
     1786        GLdouble, GLdouble ); 
     1787 
     1788    GLvoid gluSphere( GLUquadric*, GLdouble, GLint, GLint ); 
     1789 
     1790    GLvoid gluBeginCurve( GLUnurbs* ); 
     1791 
     1792    GLvoid gluBeginPolygon( GLUtesselator* ); 
     1793 
     1794    GLvoid gluBeginSurface( GLUnurbs* ); 
     1795 
     1796    GLvoid gluBeginTrim( GLUnurbs* ); 
     1797 
     1798    GLvoid gluEndCurve( GLUnurbs* ); 
     1799 
     1800    GLvoid gluEndPolygon( GLUtesselator* ); 
     1801 
     1802    GLvoid gluEndSurface( GLUnurbs* ); 
     1803 
     1804    GLvoid gluEndTrim( GLUnurbs* ); 
     1805 
     1806    GLvoid gluDeleteNurbsRenderer( GLUnurbs* ); 
     1807 
     1808    GLvoid gluDeleteQuadric( GLUquadric* ); 
     1809 
     1810    GLvoid gluDeleteTess( GLUtesselator* ); 
     1811 
     1812    GLvoid gluGetNurbsProperty( GLUnurbs*, GLenum, GLfloat* ); 
     1813 
     1814    GLvoid gluGetTessProperty( GLUtesselator*, GLenum, GLdouble* ); 
     1815 
     1816    GLvoid gluLoadSamplingMatrices( GLUnurbs*, GLfloat*, GLfloat*, GLint* ); 
     1817 
    14351818    GLUnurbs* gluNewNurbsRenderer(); 
     1819 
    14361820    GLUquadric* gluNewQuadric(); 
     1821 
    14371822    GLUtesselator* gluNewTess(); 
    1438     GLvoid gluNextContour(GLUtesselator*,GLenum); 
    1439     GLvoid gluNurbsCallback(GLUnurbs*,GLenum,_GLUfuncptr); 
    1440     GLvoid gluNurbsCallbackData(GLUnurbs*,GLvoid*); 
    1441     GLvoid gluNurbsCallbackDataEXT(GLUnurbs*,GLvoid*); 
    1442     GLvoid gluNurbsCurve(GLUnurbs*,GLint,GLfloat*,GLint,GLfloat*,GLint,GLenum); 
    1443     GLvoid gluNurbsProperty(GLUnurbs*,GLenum,GLfloat); 
    1444     GLvoid gluNurbsSurface(GLUnurbs*,GLint,GLfloat*,GLint,GLfloat*,GLint,GLint,GLfloat*,GLint,GLint,GLenum); 
    1445     GLvoid gluPwlCurve(GLUnurbs*,GLint,GLfloat*,GLint,GLenum); 
    1446     GLvoid gluQuadricCallback(GLUquadric*,GLenum,_GLUfuncptr); 
    1447     GLvoid gluQuadricDrawStyle(GLUquadric*,GLenum); 
    1448     GLvoid gluQuadricNormals(GLUquadric*,GLenum); 
    1449     GLvoid gluQuadricOrientation(GLUquadric*,GLenum); 
    1450     GLvoid gluQuadricTexture(GLUquadric*,GLboolean); 
    1451     GLvoid gluTessBeginContour(GLUtesselator*); 
    1452     GLvoid gluTessBeginPolygon(GLUtesselator*,GLvoid*); 
    1453     GLvoid gluTessCallback(GLUtesselator*,GLenum,_GLUfuncptr); 
    1454     GLvoid gluTessEndContour(GLUtesselator*); 
    1455     GLvoid gluTessEndPolygon(GLUtesselator*); 
    1456     GLvoid gluTessNormal(GLUtesselator*,GLdouble,GLdouble,GLdouble); 
    1457     GLvoid gluTessVertex(GLUtesselator*,GLdouble*,GLvoid*); 
    1458     GLvoid gluLookAt(GLdouble,GLdouble,GLdouble,GLdouble,GLdouble,GLdouble,GLdouble,GLdouble,GLdouble); 
    1459     GLvoid gluOrtho2D(GLdouble,GLdouble,GLdouble,GLdouble); 
    1460     GLvoid gluPerspective(GLdouble,GLdouble,GLdouble,GLdouble); 
    1461     GLvoid gluPickMatrix(GLdouble,GLdouble,GLdouble,GLdouble,GLint*); 
    1462     GLint gluProject(GLdouble,GLdouble,GLdouble,GLdouble*,GLdouble*,GLint*,GLdouble*,GLdouble*,GLdouble*); 
    1463     GLint gluScaleImage(GLenum,GLsizei,GLsizei,GLenum,GLvoid*,GLsizei,GLsizei,GLenum,GLvoid*); 
    1464     GLint gluUnProject(GLdouble,GLdouble,GLdouble,GLdouble*,GLdouble*,GLint*,GLdouble*,GLdouble*,GLdouble*); 
    1465     GLint gluUnProject4(GLdouble,GLdouble,GLdouble,GLdouble,GLdouble*,GLdouble*,GLint*,GLdouble,GLdouble,GLdouble*,GLdouble*,GLdouble*,GLdouble*); 
    1466      
     1823 
     1824    GLvoid gluNextContour( GLUtesselator*, GLenum ); 
     1825 
     1826    GLvoid gluNurbsCallback( GLUnurbs*, GLenum, _GLUfuncptr ); 
     1827 
     1828    GLvoid gluNurbsCallbackData( GLUnurbs*, GLvoid* ); 
     1829 
     1830    GLvoid gluNurbsCallbackDataEXT( GLUnurbs*, GLvoid* ); 
     1831 
     1832    GLvoid gluNurbsCurve( GLUnurbs*, GLint, GLfloat*, GLint, GLfloat*, GLint, 
     1833        GLenum ); 
     1834 
     1835    GLvoid gluNurbsProperty( GLUnurbs*, GLenum, GLfloat ); 
     1836 
     1837    GLvoid gluNurbsSurface( GLUnurbs*, GLint, GLfloat*, GLint, GLfloat*, GLint, 
     1838        GLint, GLfloat*, GLint, GLint, GLenum ); 
     1839 
     1840    GLvoid gluPwlCurve( GLUnurbs*, GLint, GLfloat*, GLint, GLenum ); 
     1841 
     1842    GLvoid gluQuadricCallback( GLUquadric*, GLenum, _GLUfuncptr ); 
     1843 
     1844    GLvoid gluQuadricDrawStyle( GLUquadric*, GLenum ); 
     1845 
     1846    GLvoid gluQuadricNormals( GLUquadric*, GLenum ); 
     1847 
     1848    GLvoid gluQuadricOrientation( GLUquadric*, GLenum ); 
     1849 
     1850    GLvoid gluQuadricTexture( GLUquadric*, GLboolean ); 
     1851 
     1852    GLvoid gluTessBeginContour( GLUtesselator* ); 
     1853 
     1854    GLvoid gluTessBeginPolygon( GLUtesselator*, GLvoid* ); 
     1855 
     1856    GLvoid gluTessCallback( GLUtesselator*, GLenum, _GLUfuncptr ); 
     1857 
     1858    GLvoid gluTessEndContour( GLUtesselator* ); 
     1859 
     1860    GLvoid gluTessEndPolygon( GLUtesselator* ); 
     1861 
     1862    GLvoid gluTessNormal( GLUtesselator*, GLdouble, GLdouble, GLdouble ); 
     1863 
     1864    GLvoid gluTessVertex( GLUtesselator*, GLdouble*, GLvoid* ); 
     1865 
     1866    GLvoid gluLookAt( GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, 
     1867        GLdouble, GLdouble, GLdouble, GLdouble ); 
     1868 
     1869    GLvoid gluOrtho2D( GLdouble, GLdouble, GLdouble, GLdouble ); 
     1870 
     1871    GLvoid gluPerspective( GLdouble, GLdouble, GLdouble, GLdouble ); 
     1872 
     1873    GLvoid gluPickMatrix( GLdouble, GLdouble, GLdouble, GLdouble, GLint* ); 
     1874 
     1875    GLint gluProject( GLdouble, GLdouble, GLdouble, GLdouble*, GLdouble*, 
     1876        GLint*, GLdouble*, GLdouble*, GLdouble* ); 
     1877 
     1878    GLint gluScaleImage( GLenum, GLsizei, GLsizei, GLenum, GLvoid*, GLsizei, 
     1879        GLsizei, GLenum, GLvoid* ); 
     1880 
     1881    GLint gluUnProject( GLdouble, GLdouble, GLdouble, GLdouble*, GLdouble*, 
     1882        GLint*, GLdouble*, GLdouble*, GLdouble* ); 
     1883 
     1884    GLint gluUnProject4( GLdouble, GLdouble, GLdouble, GLdouble, GLdouble*, 
     1885        GLdouble*, GLint*, GLdouble, GLdouble, GLdouble*, GLdouble*, GLdouble*, 
     1886        GLdouble* ); 
     1887 
    14671888    // Extensions 
    1468     GLvoid glBlendColor(GLclampf,GLclampf,GLclampf,GLclampf); 
    1469     GLvoid glBlendEquation(GLenum); 
    1470     GLvoid glDrawRangeElements(GLenum,GLuint,GLuint,GLsizei,GLenum,GLvoid*); 
    1471     GLvoid glColorTable(GLenum,GLenum,GLsizei,GLenum,GLenum,GLvoid*); 
    1472     GLvoid glColorTableParameterfv(GLenum,GLenum,GLfloat*); 
    1473     GLvoid glColorTableParameteriv(GLenum,GLenum,GLint*); 
    1474     GLvoid glCopyColorTable(GLenum,GLenum,GLint,GLint,GLsizei); 
    1475     GLvoid glGetColorTable(GLenum,GLenum,GLenum,GLvoid*); 
    1476     GLvoid glGetColorTableParameterfv(GLenum,GLenum,GLfloat*); 
    1477     GLvoid glGetColorTableParameteriv(GLenum,GLenum,GLint*); 
    1478     GLvoid glColorSubTable(GLenum,GLsizei,GLsizei,GLenum,GLenum,GLvoid*); 
    1479     GLvoid glCopyColorSubTable(GLenum,GLsizei,GLint,GLint,GLsizei); 
    1480     GLvoid glConvolutionFilter1D(GLenum,GLenum,GLsizei,GLenum,GLenum,GLvoid*); 
    1481     GLvoid glConvolutionFilter2D(GLenum,GLenum,GLsizei,GLsizei,GLenum,GLenum,GLvoid*); 
    1482     GLvoid glConvolutionParameterf(GLenum,GLenum,GLfloat); 
    1483     GLvoid glConvolutionParameterfv(GLenum,GLenum,GLfloat*); 
    1484     GLvoid glConvolutionParameteri(GLenum,GLenum,GLint); 
    1485     GLvoid glConvolutionParameteriv(GLenum,GLenum,GLint*); 
    1486     GLvoid glCopyConvolutionFilter1D(GLenum,GLenum,GLint,GLint,GLsizei); 
    1487     GLvoid glCopyConvolutionFilter2D(GLenum,GLenum,GLint,GLint,GLsizei,GLsizei); 
    1488     GLvoid glGetConvolutionFilter(GLenum,GLenum,GLenum,GLvoid*); 
    1489     GLvoid glGetConvolutionParameterfv(GLenum,GLenum,GLfloat*); 
    1490     GLvoid glGetConvolutionParameteriv(GLenum,GLenum,GLint*); 
    1491     GLvoid glGetSeparableFilter(GLenum,GLenum,GLenum,GLvoid*,GLvoid*,GLvoid*); 
    1492     GLvoid glSeparableFilter2D(GLenum,GLenum,GLsizei,GLsizei,GLenum,GLenum,GLvoid*,GLvoid*); 
    1493     GLvoid glGetHistogram(GLenum,GLboolean,GLenum,GLenum,GLvoid*); 
    1494     GLvoid glGetHistogramParameterfv(GLenum,GLenum,GLfloat*); 
    1495     GLvoid glGetHistogramParameteriv(GLenum,GLenum,GLint*); 
    1496     GLvoid glGetMinmax(GLenum,GLboolean,GLenum,GLenum,GLvoid*); 
    1497     GLvoid glGetMinmaxParameterfv(GLenum,GLenum,GLfloat*); 
    1498     GLvoid glGetMinmaxParameteriv(GLenum,GLenum,GLint*); 
    1499     GLvoid glHistogram(GLenum,GLsizei,GLenum,GLboolean); 
    1500     GLvoid glMinmax(GLenum,GLenum,GLboolean); 
    1501     GLvoid glResetHistogram(GLenum); 
    1502     GLvoid glResetMinmax(GLenum); 
    1503     GLvoid glTexImage3D(GLenum,GLint,GLint,GLsizei,GLsizei,GLsizei,GLint,GLenum,GLenum,GLvoid*); 
    1504     GLvoid glTexSubImage3D(GLenum,GLint,GLint,GLint,GLint,GLsizei,GLsizei,GLsizei,GLenum,GLenum,GLvoid*); 
    1505     GLvoid glCopyTexSubImage3D(GLenum,GLint,GLint,GLint,GLint,GLint,GLint,GLsizei,GLsizei); 
    1506     GLvoid glActiveTexture(GLenum); 
    1507     GLvoid glClientActiveTexture(GLenum); 
    1508     GLvoid glMultiTexCoord1d(GLenum,GLdouble); 
    1509     GLvoid glMultiTexCoord1dv(GLenum,GLdouble*); 
    1510     GLvoid glMultiTexCoord1f(GLenum,GLfloat); 
    1511     GLvoid glMultiTexCoord1fv(GLenum,GLfloat*); 
    1512     GLvoid glMultiTexCoord1i(GLenum,GLint); 
    1513     GLvoid glMultiTexCoord1iv(GLenum,GLint*); 
    1514     GLvoid glMultiTexCoord1s(GLenum,GLshort); 
    1515     GLvoid glMultiTexCoord1sv(GLenum,GLshort*); 
    1516     GLvoid glMultiTexCoord2d(GLenum,GLdouble,GLdouble); 
    1517     GLvoid glMultiTexCoord2dv(GLenum,GLdouble*); 
    1518     GLvoid glMultiTexCoord2f(GLenum,GLfloat,GLfloat); 
    1519     GLvoid glMultiTexCoord2fv(GLenum,GLfloat*); 
    1520     GLvoid glMultiTexCoord2i(GLenum,GLint,GLint); 
    1521     GLvoid glMultiTexCoord2iv(GLenum,GLint*); 
    1522     GLvoid glMultiTexCoord2s(GLenum,GLshort,GLshort); 
    1523     GLvoid glMultiTexCoord2sv(GLenum,GLshort*); 
    1524     GLvoid glMultiTexCoord3d(GLenum,GLdouble,GLdouble,GLdouble); 
    1525     GLvoid glMultiTexCoord3dv(GLenum,GLdouble*); 
    1526     GLvoid glMultiTexCoord3f(GLenum,GLfloat,GLfloat,GLfloat); 
    1527     GLvoid glMultiTexCoord3fv(GLenum,GLfloat*); 
    1528     GLvoid glMultiTexCoord3i(GLenum,GLint,GLint,GLint); 
    1529     GLvoid glMultiTexCoord3iv(GLenum,GLint*); 
    1530     GLvoid glMultiTexCoord3s(GLenum,GLshort,GLshort,GLshort); 
    1531     GLvoid glMultiTexCoord3sv(GLenum,GLshort*); 
    1532     GLvoid glMultiTexCoord4d(GLenum,GLdouble,GLdouble,GLdouble,GLdouble); 
    1533     GLvoid glMultiTexCoord4dv(GLenum,GLdouble*); 
    1534     GLvoid glMultiTexCoord4f(GLenum,GLfloat,GLfloat,GLfloat,GLfloat); 
    1535     GLvoid glMultiTexCoord4fv(GLenum,GLfloat*); 
    1536     GLvoid glMultiTexCoord4i(GLenum,GLint,GLint,GLint,GLint); 
    1537     GLvoid glMultiTexCoord4iv(GLenum,GLint*); 
    1538     GLvoid glMultiTexCoord4s(GLenum,GLshort,GLshort,GLshort,GLshort); 
    1539     GLvoid glMultiTexCoord4sv(GLenum,GLshort*); 
    1540     GLvoid glLoadTransposeMatrixf(GLfloat*); 
    1541     GLvoid glLoadTransposeMatrixd(GLdouble*); 
    1542     GLvoid glMultTransposeMatrixf(GLfloat*); 
    1543     GLvoid glMultTransposeMatrixd(GLdouble*); 
    1544     GLvoid glSampleCoverage(GLclampf,GLboolean); 
    1545     GLvoid glCompressedTexImage3D(GLenum,GLint,GLenum,GLsizei,GLsizei,GLsizei,GLint,GLsizei,GLvoid*); 
    1546     GLvoid glCompressedTexImage2D(GLenum,GLint,GLenum,GLsizei,GLsizei,GLint,GLsizei,GLvoid*); 
    1547     GLvoid glCompressedTexImage1D(GLenum,GLint,GLenum,GLsizei,GLint,GLsizei,GLvoid*); 
    1548     GLvoid glCompressedTexSubImage3D(GLenum,GLint,GLint,GLint,GLint,GLsizei,GLsizei,GLsizei,GLenum,GLsizei,GLvoid*); 
    1549     GLvoid glCompressedTexSubImage2D(GLenum,GLint,GLint,GLint,GLsizei,GLsizei,GLenum,GLsizei,GLvoid*); 
    1550     GLvoid glCompressedTexSubImage1D(GLenum,GLint,GLint,GLsizei,GLenum,GLsizei,GLvoid*); 
    1551     GLvoid glGetCompressedTexImage(GLenum,GLint,GLvoid*); 
    1552     GLvoid glBlendFuncSeparate(GLenum,GLenum,GLenum,GLenum); 
    1553     GLvoid glFogCoordf(GLfloat); 
    1554     GLvoid glFogCoordfv(GLfloat*); 
    1555     GLvoid glFogCoordd(GLdouble); 
    1556     GLvoid glFogCoorddv(GLdouble*); 
    1557     GLvoid glFogCoordPointer(GLenum,GLsizei,GLvoid*); 
    1558     GLvoid glMultiDrawArrays(GLenum,GLint*,GLsizei*,GLsizei); 
    1559     GLvoid glMultiDrawElements(GLenum,GLsizei*,GLenum,GLvoid**,GLsizei); 
    1560     GLvoid glPointParameterf(GLenum,GLfloat); 
    1561     GLvoid glPointParameterfv(GLenum,GLfloat*); 
    1562     GLvoid glPointParameteri(GLenum,GLint); 
    1563     GLvoid glPointParameteriv(GLenum,GLint*); 
    1564     GLvoid glSecondaryColor3b(GLbyte,GLbyte,GLbyte); 
    1565     GLvoid glSecondaryColor3bv(GLbyte*); 
    1566     GLvoid glSecondaryColor3d(GLdouble,GLdouble,GLdouble); 
    1567     GLvoid glSecondaryColor3dv(GLdouble*); 
    1568     GLvoid glSecondaryColor3f(GLfloat,GLfloat,GLfloat); 
    1569     GLvoid glSecondaryColor3fv(GLfloat*); 
    1570     GLvoid glSecondaryColor3i(GLint,GLint,GLint); 
    1571     GLvoid glSecondaryColor3iv(GLint*); 
    1572     GLvoid glSecondaryColor3s(GLshort,GLshort,GLshort); 
    1573     GLvoid glSecondaryColor3sv(GLshort*); 
    1574     GLvoid glSecondaryColor3ub(GLubyte,GLubyte,GLubyte); 
    1575     GLvoid glSecondaryColor3ubv(GLubyte*); 
    1576     GLvoid glSecondaryColor3ui(GLuint,GLuint,GLuint); 
    1577     GLvoid glSecondaryColor3uiv(GLuint*); 
    1578     GLvoid glSecondaryColor3us(GLushort,GLushort,GLushort); 
    1579     GLvoid glSecondaryColor3usv(GLushort*); 
    1580     GLvoid glSecondaryColorPointer(GLint,GLenum,GLsizei,GLvoid*); 
    1581     GLvoid glWindowPos2d(GLdouble,GLdouble); 
    1582     GLvoid glWindowPos2dv(GLdouble*); 
    1583     GLvoid glWindowPos2f(GLfloat,GLfloat); 
    1584     GLvoid glWindowPos2fv(GLfloat*); 
    1585     GLvoid glWindowPos2i(GLint,GLint); 
    1586     GLvoid glWindowPos2iv(GLint*); 
    1587     GLvoid glWindowPos2s(GLshort,GLshort); 
    1588     GLvoid glWindowPos2sv(GLshort*); 
    1589     GLvoid glWindowPos3d(GLdouble,GLdouble,GLdouble); 
    1590     GLvoid glWindowPos3dv(GLdouble*); 
    1591     GLvoid glWindowPos3f(GLfloat,GLfloat,GLfloat); 
    1592     GLvoid glWindowPos3fv(GLfloat*); 
    1593     GLvoid glWindowPos3i(GLint,GLint,GLint); 
    1594     GLvoid glWindowPos3iv(GLint*); 
    1595     GLvoid glWindowPos3s(GLshort,GLshort,GLshort); 
    1596     GLvoid glWindowPos3sv(GLshort*); 
    1597     GLvoid glGenQueries(GLsizei,GLuint*); 
    1598     GLvoid glDeleteQueries(GLsizei,GLuint*); 
    1599     GLboolean glIsQuery(GLuint); 
    1600     GLvoid glBeginQuery(GLenum,GLuint); 
    1601     GLvoid glEndQuery(GLenum); 
    1602     GLvoid glGetQueryiv(GLenum,GLenum,GLint*); 
    1603     GLvoid glGetQueryObjectiv(GLuint,GLenum,GLint*); 
    1604     GLvoid glGetQueryObjectuiv(GLuint,GLenum,GLuint*); 
    1605     GLvoid glBindBuffer(GLenum,GLuint); 
    1606     GLvoid glDeleteBuffers(GLsizei,GLuint*); 
    1607     GLvoid glGenBuffers(GLsizei,GLuint*); 
    1608     GLboolean glIsBuffer(GLuint); 
    1609     GLvoid glBufferData(GLenum,GLsizeiptr,GLvoid*,GLenum); 
    1610     GLvoid glBufferSubData(GLenum,GLintptr,GLsizeiptr,GLvoid*); 
    1611     GLvoid glGetBufferSubData(GLenum,GLintptr,GLsizeiptr,GLvoid*); 
    1612     GLvoid* glMapBuffer(GLenum,GLenum); 
    1613     GLboolean glUnmapBuffer(GLenum); 
    1614     GLvoid glGetBufferParameteriv(GLenum,GLenum,GLint*); 
    1615     GLvoid glGetBufferPointerv(GLenum,GLenum,GLvoid**); 
    1616     GLvoid glBlendEquationSeparate(GLenum,GLenum); 
    1617     GLvoid glDrawBuffers(GLsizei,GLenum*); 
    1618     GLvoid glStencilOpSeparate(GLenum,GLenum,GLenum,GLenum); 
    1619     GLvoid glStencilFuncSeparate(GLenum,GLenum,GLint,GLuint); 
    1620     GLvoid glStencilMaskSeparate(GLenum,GLuint); 
    1621     GLvoid glAttachShader(GLuint,GLuint); 
    1622     GLvoid glBindAttribLocation(GLuint,GLuint,GLchar*); 
    1623     GLvoid glCompileShader(GLuint); 
     1889    GLvoid glBlendColor( GLclampf, GLclampf, GLclampf, GLclampf ); 
     1890 
     1891    GLvoid glBlendEquation( GLenum ); 
     1892 
     1893    GLvoid glDrawRangeElements( GLenum, GLuint, GLuint, GLsizei, GLenum, 
     1894        GLvoid* ); 
     1895 
     1896    GLvoid glColorTable( GLenum, GLenum, GLsizei, GLenum, GLenum, GLvoid* ); 
     1897 
     1898    GLvoid glColorTableParameterfv( GLenum, GLenum, GLfloat* ); 
     1899 
     1900    GLvoid glColorTableParameteriv( GLenum, GLenum, GLint* ); 
     1901 
     1902    GLvoid glCopyColorTable( GLenum, GLenum, GLint, GLint, GLsizei ); 
     1903 
     1904    GLvoid glGetColorTable( GLenum, GLenum, GLenum, GLvoid* ); 
     1905 
     1906    GLvoid glGetColorTableParameterfv( GLenum, GLenum, GLfloat* ); 
     1907 
     1908    GLvoid glGetColorTableParameteriv( GLenum, GLenum, GLint* ); 
     1909 
     1910    GLvoid glColorSubTable( GLenum, GLsizei, GLsizei, GLenum, GLenum, GLvoid* ); 
     1911 
     1912    GLvoid glCopyColorSubTable( GLenum, GLsizei, GLint, GLint, GLsizei ); 
     1913 
     1914    GLvoid glConvolutionFilter1D( GLenum, GLenum, GLsizei, GLenum, GLenum, 
     1915        GLvoid* ); 
     1916 
     1917    GLvoid glConvolutionFilter2D( GLenum, GLenum, GLsizei, GLsizei, GLenum, 
     1918        GLenum, GLvoid* ); 
     1919 
     1920    GLvoid glConvolutionParameterf( GLenum, GLenum, GLfloat ); 
     1921 
     1922    GLvoid glConvolutionParameterfv( GLenum, GLenum, GLfloat* ); 
     1923 
     1924    GLvoid glConvolutionParameteri( GLenum, GLenum, GLint ); 
     1925 
     1926    GLvoid glConvolutionParameteriv( GLenum, GLenum, GLint* ); 
     1927 
     1928    GLvoid glCopyConvolutionFilter1D( GLenum, GLenum, GLint, GLint, GLsizei ); 
     1929 
     1930    GLvoid glCopyConvolutionFilter2D( GLenum, GLenum, GLint, GLint, GLsizei, 
     1931        GLsizei ); 
     1932 
     1933    GLvoid glGetConvolutionFilter( GLenum, GLenum, GLenum, GLvoid* ); 
     1934 
     1935    GLvoid glGetConvolutionParameterfv( GLenum, GLenum, GLfloat* ); 
     1936 
     1937    GLvoid glGetConvolutionParameteriv( GLenum, GLenum, GLint* ); 
     1938 
     1939    GLvoid glGetSeparableFilter( GLenum, GLenum, GLenum, GLvoid*, GLvoid*, 
     1940        GLvoid* ); 
     1941 
     1942    GLvoid glSeparableFilter2D( GLenum, GLenum, GLsizei, GLsizei, GLenum, 
     1943        GLenum, GLvoid*, GLvoid* ); 
     1944 
     1945    GLvoid glGetHistogram( GLenum, GLboolean, GLenum, GLenum, GLvoid* ); 
     1946 
     1947    GLvoid glGetHistogramParameterfv( GLenum, GLenum, GLfloat* ); 
     1948 
     1949    GLvoid glGetHistogramParameteriv( GLenum, GLenum, GLint* ); 
     1950 
     1951    GLvoid glGetMinmax( GLenum, GLboolean, GLenum, GLenum, GLvoid* ); 
     1952 
     1953    GLvoid glGetMinmaxParameterfv( GLenum, GLenum, GLfloat* ); 
     1954 
     1955    GLvoid glGetMinmaxParameteriv( GLenum, GLenum, GLint* ); 
     1956 
     1957    GLvoid glHistogram( GLenum, GLsizei, GLenum, GLboolean ); 
     1958 
     1959    GLvoid glMinmax( GLenum, GLenum, GLboolean ); 
     1960 
     1961    GLvoid glResetHistogram( GLenum ); 
     1962 
     1963    GLvoid glResetMinmax( GLenum ); 
     1964 
     1965    GLvoid glTexImage3D( GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, 
     1966        GLint, GLenum, GLenum, GLvoid* ); 
     1967 
     1968    GLvoid glTexSubImage3D( GLenum, GLint, GLint, GLint, GLint, GLsizei, 
     1969        GLsizei, GLsizei, GLenum, GLenum, GLvoid* ); 
     1970 
     1971    GLvoid glCopyTexSubImage3D( GLenum, GLint, GLint, GLint, GLint, GLint, 
     1972        GLint, GLsizei, GLsizei ); 
     1973 
     1974    GLvoid glActiveTexture( GLenum ); 
     1975 
     1976    GLvoid glClientActiveTexture( GLenum ); 
     1977 
     1978    GLvoid glMultiTexCoord1d( GLenum, GLdouble ); 
     1979 
     1980    GLvoid glMultiTexCoord1dv( GLenum, GLdouble* ); 
     1981 
     1982    GLvoid glMultiTexCoord1f( GLenum, GLfloat ); 
     1983 
     1984    GLvoid glMultiTexCoord1fv( GLenum, GLfloat* ); 
     1985 
     1986    GLvoid glMultiTexCoord1i( GLenum, GLint ); 
     1987 
     1988    GLvoid glMultiTexCoord1iv( GLenum, GLint* ); 
     1989 
     1990    GLvoid glMultiTexCoord1s( GLenum, GLshort ); 
     1991 
     1992    GLvoid glMultiTexCoord1sv( GLenum, GLshort* ); 
     1993 
     1994    GLvoid glMultiTexCoord2d( GLenum, GLdouble, GLdouble ); 
     1995 
     1996    GLvoid glMultiTexCoord2dv( GLenum, GLdouble* ); 
     1997 
     1998    GLvoid glMultiTexCoord2f( GLenum, GLfloat, GLfloat ); 
     1999 
     2000    GLvoid glMultiTexCoord2fv( GLenum, GLfloat* ); 
     2001 
     2002    GLvoid glMultiTexCoord2i( GLenum, GLint, GLint ); 
     2003 
     2004    GLvoid glMultiTexCoord2iv( GLenum, GLint* ); 
     2005 
     2006    GLvoid glMultiTexCoord2s( GLenum, GLshort, GLshort ); 
     2007 
     2008    GLvoid glMultiTexCoord2sv( GLenum, GLshort* ); 
     2009 
     2010    GLvoid glMultiTexCoord3d( GLenum, GLdouble, GLdouble, GLdouble ); 
     2011 
     2012    GLvoid glMultiTexCoord3dv( GLenum, GLdouble* ); 
     2013 
     2014    GLvoid glMultiTexCoord3f( GLenum, GLfloat, GLfloat, GLfloat ); 
     2015 
     2016    GLvoid glMultiTexCoord3fv( GLenum, GLfloat* ); 
     2017 
     2018    GLvoid glMultiTexCoord3i( GLenum, GLint, GLint, GLint ); 
     2019 
     2020    GLvoid glMultiTexCoord3iv( GLenum, GLint* ); 
     2021 
     2022    GLvoid glMultiTexCoord3s( GLenum, GLshort, GLshort, GLshort ); 
     2023 
     2024    GLvoid glMultiTexCoord3sv( GLenum, GLshort* ); 
     2025 
     2026    GLvoid glMultiTexCoord4d( GLenum, GLdouble, GLdouble, GLdouble, GLdouble ); 
     2027 
     2028    GLvoid glMultiTexCoord4dv( GLenum, GLdouble* ); 
     2029 
     2030    GLvoid glMultiTexCoord4f( GLenum, GLfloat, GLfloat, GLfloat, GLfloat ); 
     2031 
     2032    GLvoid glMultiTexCoord4fv( GLenum, GLfloat* ); 
     2033 
     2034    GLvoid glMultiTexCoord4i( GLenum, GLint, GLint, GLint, GLint ); 
     2035 
     2036    GLvoid glMultiTexCoord4iv( GLenum, GLint* ); 
     2037 
     2038    GLvoid glMultiTexCoord4s( GLenum, GLshort, GLshort, GLshort, GLshort ); 
     2039 
     2040    GLvoid glMultiTexCoord4sv( GLenum, GLshort* ); 
     2041 
     2042    GLvoid glLoadTransposeMatrixf( GLfloat* ); 
     2043 
     2044    GLvoid glLoadTransposeMatrixd( GLdouble* ); 
     2045 
     2046    GLvoid glMultTransposeMatrixf( GLfloat* ); 
     2047 
     2048    GLvoid glMultTransposeMatrixd( GLdouble* ); 
     2049 
     2050    GLvoid glSampleCoverage( GLclampf, GLboolean ); 
     2051 
     2052    GLvoid glCompressedTexImage3D( GLenum, GLint, GLenum, GLsizei, GLsizei, 
     2053        GLsizei, GLint, GLsizei, GLvoid* ); 
     2054 
     2055    GLvoid glCompressedTexImage2D( GLenum, GLint, GLenum, GLsizei, GLsizei, 
     2056        GLint, GLsizei, GLvoid* ); 
     2057 
     2058    GLvoid glCompressedTexImage1D( GLenum, GLint, GLenum, GLsizei, GLint, 
     2059        GLsizei, GLvoid* ); 
     2060 
     2061    GLvoid glCompressedTexSubImage3D( GLenum, GLint, GLint, GLint, GLint, 
     2062        GLsizei, GLsizei, GLsizei, GLenum, GLsizei, GLvoid* ); 
     2063 
     2064    GLvoid glCompressedTexSubImage2D( GLenum, GLint, GLint, GLint, GLsizei, 
     2065        GLsizei, GLenum, GLsizei, GLvoid* ); 
     2066 
     2067    GLvoid glCompressedTexSubImage1D( GLenum, GLint, GLint, GLsizei, GLenum, 
     2068        GLsizei, GLvoid* ); 
     2069 
     2070    GLvoid glGetCompressedTexImage( GLenum, GLint, GLvoid* ); 
     2071 
     2072    GLvoid glBlendFuncSeparate( GLenum, GLenum, GLenum, GLenum ); 
     2073 
     2074    GLvoid glFogCoordf( GLfloat ); 
     2075 
     2076    GLvoid glFogCoordfv( GLfloat* ); 
     2077 
     2078    GLvoid glFogCoordd( GLdouble ); 
     2079 
     2080    GLvoid glFogCoorddv( GLdouble* ); 
     2081 
     2082    GLvoid glFogCoordPointer( GLenum, GLsizei, GLvoid* ); 
     2083 
     2084    GLvoid glMultiDrawArrays( GLenum, GLint*, GLsizei*, GLsizei ); 
     2085 
     2086    GLvoid glMultiDrawElements( GLenum, GLsizei*, GLenum, GLvoid**, GLsizei ); 
     2087 
     2088    GLvoid glPointParameterf( GLenum, GLfloat ); 
     2089 
     2090    GLvoid glPointParameterfv( GLenum, GLfloat* ); 
     2091 
     2092    GLvoid glPointParameteri( GLenum, GLint ); 
     2093 
     2094    GLvoid glPointParameteriv( GLenum, GLint* ); 
     2095 
     2096    GLvoid glSecondaryColor3b( GLbyte, GLbyte, GLbyte ); 
     2097 
     2098    GLvoid glSecondaryColor3bv( GLbyte* ); 
     2099 
     2100    GLvoid glSecondaryColor3d( GLdouble, GLdouble, GLdouble ); 
     2101 
     2102    GLvoid glSecondaryColor3dv( GLdouble* ); 
     2103 
     2104    GLvoid glSecondaryColor3f( GLfloat, GLfloat, GLfloat ); 
     2105 
     2106    GLvoid glSecondaryColor3fv( GLfloat* ); 
     2107 
     2108    GLvoid glSecondaryColor3i( GLint, GLint, GLint ); 
     2109 
     2110    GLvoid glSecondaryColor3iv( GLint* ); 
     2111 
     2112    GLvoid glSecondaryColor3s( GLshort, GLshort, GLshort ); 
     2113 
     2114    GLvoid glSecondaryColor3sv( GLshort* ); 
     2115 
     2116    GLvoid glSecondaryColor3ub( GLubyte, GLubyte, GLubyte ); 
     2117 
     2118    GLvoid glSecondaryColor3ubv( GLubyte* ); 
     2119 
     2120    GLvoid glSecondaryColor3ui( GLuint, GLuint, GLuint ); 
     2121 
     2122    GLvoid glSecondaryColor3uiv( GLuint* ); 
     2123 
     2124    GLvoid glSecondaryColor3us( GLushort, GLushort, GLushort ); 
     2125 
     2126    GLvoid glSecondaryColor3usv( GLushort* ); 
     2127 
     2128    GLvoid glSecondaryColorPointer( GLint, GLenum, GLsizei, GLvoid* ); 
     2129 
     2130    GLvoid glWindowPos2d( GLdouble, GLdouble ); 
     2131 
     2132    GLvoid glWindowPos2dv( GLdouble* ); 
     2133 
     2134    GLvoid glWindowPos2f( GLfloat, GLfloat ); 
     2135 
     2136    GLvoid glWindowPos2fv( GLfloat* ); 
     2137 
     2138    GLvoid glWindowPos2i( GLint, GLint ); 
     2139 
     2140    GLvoid glWindowPos2iv( GLint* ); 
     2141 
     2142    GLvoid glWindowPos2s( GLshort, GLshort ); 
     2143 
     2144    GLvoid glWindowPos2sv( GLshort* ); 
     2145 
     2146    GLvoid glWindowPos3d( GLdouble, GLdouble, GLdouble ); 
     2147 
     2148    GLvoid glWindowPos3dv( GLdouble* ); 
     2149 
     2150    GLvoid glWindowPos3f( GLfloat, GLfloat, GLfloat ); 
     2151 
     2152    GLvoid glWindowPos3fv( GLfloat* ); 
     2153 
     2154    GLvoid glWindowPos3i( GLint, GLint, GLint ); 
     2155 
     2156    GLvoid glWindowPos3iv( GLint* ); 
     2157 
     2158    GLvoid glWindowPos3s( GLshort, GLshort, GLshort ); 
     2159 
     2160    GLvoid glWindowPos3sv( GLshort* ); 
     2161 
     2162    GLvoid glGenQueries( GLsizei, GLuint* ); 
     2163 
     2164    GLvoid glDeleteQueries( GLsizei, GLuint* ); 
     2165 
     2166    GLboolean glIsQuery( GLuint ); 
     2167 
     2168    GLvoid glBeginQuery( GLenum, GLuint ); 
     2169 
     2170    GLvoid glEndQuery( GLenum ); 
     2171 
     2172    GLvoid glGetQueryiv( GLenum, GLenum, GLint* ); 
     2173 
     2174    GLvoid glGetQueryObjectiv( GLuint, GLenum, GLint* ); 
     2175 
     2176    GLvoid glGetQueryObjectuiv( GLuint, GLenum, GLuint* ); 
     2177 
     2178    GLvoid glBindBuffer( GLenum, GLuint ); 
     2179 
     2180    GLvoid glDeleteBuffers( GLsizei, GLuint* ); 
     2181 
     2182    GLvoid glGenBuffers( GLsizei, GLuint* ); 
     2183 
     2184    GLboolean glIsBuffer( GLuint ); 
     2185 
     2186    GLvoid glBufferData( GLenum, GLsizeiptr, GLvoid*, GLenum ); 
     2187 
     2188    GLvoid glBufferSubData( GLenum, GLintptr, GLsizeiptr, GLvoid* ); 
     2189 
     2190    GLvoid glGetBufferSubData( GLenum, GLintptr, GLsizeiptr, GLvoid* ); 
     2191 
     2192    GLvoid* glMapBuffer( GLenum, GLenum ); 
     2193 
     2194    GLboolean glUnmapBuffer( GLenum ); 
     2195 
     2196    GLvoid glGetBufferParameteriv( GLenum, GLenum, GLint* ); 
     2197 
     2198    GLvoid glGetBufferPointerv( GLenum, GLenum, GLvoid** ); 
     2199 
     2200    GLvoid glBlendEquationSeparate( GLenum, GLenum ); 
     2201 
     2202    GLvoid glDrawBuffers( GLsizei, GLenum* ); 
     2203 
     2204    GLvoid glStencilOpSeparate( GLenum, GLenum, GLenum, GLenum ); 
     2205 
     2206    GLvoid glStencilFuncSeparate( GLenum, GLenum, GLint, GLuint ); 
     2207 
     2208    GLvoid glStencilMaskSeparate( GLenum, GLuint ); 
     2209 
     2210    GLvoid glAttachShader( GLuint, GLuint ); 
     2211 
     2212    GLvoid glBindAttribLocation( GLuint, GLuint, GLchar* ); 
     2213 
     2214    GLvoid glCompileShader( GLuint ); 
     2215 
    16242216    GLuint glCreateProgram(); 
    1625     GLuint glCreateShader(GLenum); 
    1626     GLvoid glDeleteProgram(GLuint); 
    1627     GLvoid glDeleteShader(GLuint); 
    1628     GLvoid glDetachShader(GLuint,GLuint); 
    1629     GLvoid glDisableVertexAttribArray(GLuint); 
    1630     GLvoid glEnableVertexAttribArray(GLuint); 
    1631     GLvoid glGetActiveAttrib(GLuint,GLuint,GLsizei,GLsizei*,GLint*,GLenum*,GLchar*); 
    1632     GLvoid glGetActiveUniform(GLuint,GLuint,GLsizei,GLsizei*,GLint*,GLenum*,GLchar*); 
    1633     GLvoid glGetAttachedShaders(GLuint,GLsizei,GLsizei*,GLuint*); 
    1634     GLint glGetAttribLocation(GLuint,GLchar*); 
    1635     GLvoid glGetProgramiv(GLuint,GLenum,GLint*); 
    1636     GLvoid glGetProgramInfoLog(GLuint,GLsizei,GLsizei*,GLchar*); 
    1637     GLvoid glGetShaderiv(GLuint,GLenum,GLint*); 
    1638     GLvoid glGetShaderInfoLog(GLuint,GLsizei,GLsizei*,GLchar*); 
    1639     GLvoid glGetShaderSource(GLuint,GLsizei,GLsizei*,GLchar*); 
    1640     GLint glGetUniformLocation(GLuint,GLchar*); 
    1641     GLvoid glGetUniformfv(GLuint,GLint,GLfloat*); 
    1642     GLvoid glGetUniformiv(GLuint,GLint,GLint*); 
    1643     GLvoid glGetVertexAttribdv(GLuint,GLenum,GLdouble*); 
    1644     GLvoid glGetVertexAttribfv(GLuint,GLenum,GLfloat*); 
    1645     GLvoid glGetVertexAttribiv(GLuint,GLenum,GLint*); 
    1646     GLvoid glGetVertexAttribPointerv(GLuint,GLenum,GLvoid**); 
    1647     GLboolean glIsProgram(GLuint); 
    1648     GLboolean glIsShader(GLuint); 
    1649     GLvoid glLinkProgram(GLuint); 
    1650     GLvoid glShaderSource(GLuint,GLsizei,GLchar**,GLint*); 
    1651     GLvoid glUseProgram(GLuint); 
    1652     GLvoid glUniform1f(GLint,GLfloat); 
    1653     GLvoid glUniform2f(GLint,GLfloat,GLfloat); 
    1654     GLvoid glUniform3f(GLint,GLfloat,GLfloat,GLfloat); 
    1655     GLvoid glUniform4f(GLint,GLfloat,GLfloat,GLfloat,GLfloat); 
    1656     GLvoid glUniform1i(GLint,GLint); 
    1657     GLvoid glUniform2i(GLint,GLint,GLint); 
    1658     GLvoid glUniform3i(GLint,GLint,GLint,GLint); 
    1659     GLvoid glUniform4i(GLint,GLint,GLint,GLint,GLint); 
    1660     GLvoid glUniform1fv(GLint,GLsizei,GLfloat*); 
    1661     GLvoid glUniform2fv(GLint,GLsizei,GLfloat*); 
    1662     GLvoid glUniform3fv(GLint,GLsizei,GLfloat*); 
    1663     GLvoid glUniform4fv(GLint,GLsizei,GLfloat*); 
    1664     GLvoid glUniform1iv(GLint,GLsizei,GLint*); 
    1665     GLvoid glUniform2iv(GLint,GLsizei,GLint*); 
    1666     GLvoid glUniform3iv(GLint,GLsizei,GLint*); 
    1667     GLvoid glUniform4iv(GLint,GLsizei,GLint*); 
    1668     GLvoid glUniformMatrix2fv(GLint,GLsizei,GLboolean,GLfloat*); 
    1669     GLvoid glUniformMatrix3fv(GLint,GLsizei,GLboolean,GLfloat*); 
    1670     GLvoid glUniformMatrix4fv(GLint,GLsizei,GLboolean,GLfloat*); 
    1671     GLvoid glValidateProgram(GLuint); 
    1672     GLvoid glVertexAttrib1d(GLuint,GLdouble); 
    1673     GLvoid glVertexAttrib1dv(GLuint,GLdouble*); 
    1674     GLvoid glVertexAttrib1f(GLuint,GLfloat); 
    1675     GLvoid glVertexAttrib1fv(GLuint,GLfloat*); 
    1676     GLvoid glVertexAttrib1s(GLuint,GLshort); 
    1677     GLvoid glVertexAttrib1sv(GLuint,GLshort*); 
    1678     GLvoid glVertexAttrib2d(GLuint,GLdouble,GLdouble); 
    1679     GLvoid glVertexAttrib2dv(GLuint,GLdouble*); 
    1680     GLvoid glVertexAttrib2f(GLuint,GLfloat,GLfloat); 
    1681     GLvoid glVertexAttrib2fv(GLuint,GLfloat*); 
    1682     GLvoid glVertexAttrib2s(GLuint,GLshort,GLshort); 
    1683     GLvoid glVertexAttrib2sv(GLuint,GLshort*); 
    1684     GLvoid glVertexAttrib3d(GLuint,GLdouble,GLdouble,GLdouble); 
    1685     GLvoid glVertexAttrib3dv(GLuint,GLdouble*); 
    1686     GLvoid glVertexAttrib3f(GLuint,GLfloat,GLfloat,GLfloat); 
    1687     GLvoid glVertexAttrib3fv(GLuint,GLfloat*); 
    1688     GLvoid glVertexAttrib3s(GLuint,GLshort,GLshort,GLshort); 
    1689     GLvoid glVertexAttrib3sv(GLuint,GLshort*); 
    1690     GLvoid glVertexAttrib4Nbv(GLuint,GLbyte*); 
    1691     GLvoid glVertexAttrib4Niv(GLuint,GLint*); 
    1692     GLvoid glVertexAttrib4Nsv(GLuint,GLshort*); 
    1693     GLvoid glVertexAttrib4Nub(GLuint,GLubyte,GLubyte,GLubyte,GLubyte); 
    1694     GLvoid glVertexAttrib4Nubv(GLuint,GLubyte*); 
    1695     GLvoid glVertexAttrib4Nuiv(GLuint,GLuint*); 
    1696     GLvoid glVertexAttrib4Nusv(GLuint,GLushort*); 
    1697     GLvoid glVertexAttrib4bv(GLuint,GLbyte*); 
    1698     GLvoid glVertexAttrib4d(GLuint,GLdouble,GLdouble,GLdouble,GLdouble); 
    1699     GLvoid glVertexAttrib4dv(GLuint,GLdouble*); 
    1700     GLvoid glVertexAttrib4f(GLuint,GLfloat,GLfloat,GLfloat,GLfloat); 
    1701     GLvoid glVertexAttrib4fv(GLuint,GLfloat*); 
    1702     GLvoid glVertexAttrib4iv(GLuint,GLint*); 
    1703     GLvoid glVertexAttrib4s(GLuint,GLshort,GLshort,GLshort,GLshort); 
    1704     GLvoid glVertexAttrib4sv(GLuint,GLshort*); 
    1705     GLvoid glVertexAttrib4ubv(GLuint,GLubyte*); 
    1706     GLvoid glVertexAttrib4uiv(GLuint,GLuint*); 
    1707     GLvoid glVertexAttrib4usv(GLuint,GLushort*); 
    1708     GLvoid glVertexAttribPointer(GLuint,GLint,GLenum,GLboolean,GLsizei,GLvoid*); 
     2217 
     2218    GLuint glCreateShader( GLenum ); 
     2219 
     2220    GLvoid glDeleteProgram( GLuint ); 
     2221 
     2222    GLvoid glDeleteShader( GLuint ); 
     2223 
     2224    GLvoid glDetachShader( GLuint, GLuint ); 
     2225 
     2226    GLvoid glDisableVertexAttribArray( GLuint ); 
     2227 
     2228    GLvoid glEnableVertexAttribArray( GLuint ); 
     2229 
     2230    GLvoid glGetActiveAttrib( GLuint, GLuint, GLsizei, GLsizei*, GLint*, 
     2231        GLenum*, GLchar* ); 
     2232 
     2233    GLvoid glGetActiveUniform( GLuint, GLuint, GLsizei, GLsizei*, GLint*, 
     2234        GLenum*, GLchar* ); 
     2235 
     2236    GLvoid glGetAttachedShaders( GLuint, GLsizei, GLsizei*, GLuint* ); 
     2237 
     2238    GLint glGetAttribLocation( GLuint, GLchar* ); 
     2239 
     2240    GLvoid glGetProgramiv( GLuint, GLenum, GLint* ); 
     2241 
     2242    GLvoid glGetProgramInfoLog( GLuint, GLsizei, GLsizei*, GLchar* ); 
     2243 
     2244    GLvoid glGetShaderiv( GLuint, GLenum, GLint* ); 
     2245 
     2246    GLvoid glGetShaderInfoLog( GLuint, GLsizei, GLsizei*, GLchar* ); 
     2247 
     2248    GLvoid glGetShaderSource( GLuint, GLsizei, GLsizei*, GLchar* ); 
     2249 
     2250    GLint glGetUniformLocation( GLuint, GLchar* ); 
     2251 
     2252    GLvoid glGetUniformfv( GLuint, GLint, GLfloat* ); 
     2253 
     2254    GLvoid glGetUniformiv( GLuint, GLint, GLint* ); 
     2255 
     2256    GLvoid glGetVertexAttribdv( GLuint, GLenum, GLdouble* ); 
     2257 
     2258    GLvoid glGetVertexAttribfv( GLuint, GLenum, GLfloat* ); 
     2259 
     2260    GLvoid glGetVertexAttribiv( GLuint, GLenum, GLint* ); 
     2261 
     2262    GLvoid glGetVertexAttribPointerv( GLuint, GLenum, GLvoid** ); 
     2263 
     2264    GLboolean glIsProgram( GLuint ); 
     2265 
     2266    GLboolean glIsShader( GLuint ); 
     2267 
     2268    GLvoid glLinkProgram( GLuint ); 
     2269 
     2270    GLvoid glShaderSource( GLuint, GLsizei, GLchar**, GLint* ); 
     2271 
     2272    GLvoid glUseProgram( GLuint ); 
     2273 
     2274    GLvoid glUniform1f( GLint, GLfloat ); 
     2275 
     2276    GLvoid glUniform2f( GLint, GLfloat, GLfloat ); 
     2277 
     2278    GLvoid glUniform3f( GLint, GLfloat, GLfloat, GLfloat ); 
     2279 
     2280    GLvoid glUniform4f( GLint, GLfloat, GLfloat, GLfloat, GLfloat ); 
     2281 
     2282    GLvoid glUniform1i( GLint, GLint ); 
     2283 
     2284    GLvoid glUniform2i( GLint, GLint, GLint ); 
     2285 
     2286    GLvoid glUniform3i( GLint, GLint, GLint, GLint ); 
     2287 
     2288    GLvoid glUniform4i( GLint, GLint, GLint, GLint, GLint ); 
     2289 
     2290    GLvoid glUniform1fv( GLint, GLsizei, GLfloat* ); 
     2291 
     2292    GLvoid glUniform2fv( GLint, GLsizei, GLfloat* ); 
     2293 
     2294    GLvoid glUniform3fv( GLint, GLsizei, GLfloat* ); 
     2295 
     2296    GLvoid glUniform4fv( GLint, GLsizei, GLfloat* ); 
     2297 
     2298    GLvoid glUniform1iv( GLint, GLsizei, GLint* ); 
     2299 
     2300    GLvoid glUniform2iv( GLint, GLsizei, GLint* ); 
     2301 
     2302    GLvoid glUniform3iv( GLint, GLsizei, GLint* ); 
     2303 
     2304    GLvoid glUniform4iv( GLint, GLsizei, GLint* ); 
     2305 
     2306    GLvoid glUniformMatrix2fv( GLint, GLsizei, GLboolean, GLfloat* ); 
     2307 
     2308    GLvoid glUniformMatrix3fv( GLint, GLsizei, GLboolean, GLfloat* ); 
     2309 
     2310    GLvoid glUniformMatrix4fv( GLint, GLsizei, GLboolean, GLfloat* ); 
     2311 
     2312    GLvoid glValidateProgram( GLuint ); 
     2313 
     2314    GLvoid glVertexAttrib1d( GLuint, GLdouble ); 
     2315 
     2316    GLvoid glVertexAttrib1dv( GLuint, GLdouble* ); 
     2317 
     2318    GLvoid glVertexAttrib1f( GLuint, GLfloat ); 
     2319 
     2320    GLvoid glVertexAttrib1fv( GLuint, GLfloat* ); 
     2321 
     2322    GLvoid glVertexAttrib1s( GLuint, GLshort ); 
     2323 
     2324    GLvoid glVertexAttrib1sv( GLuint, GLshort* ); 
     2325 
     2326    GLvoid glVertexAttrib2d( GLuint, GLdouble, GLdouble ); 
     2327 
     2328    GLvoid glVertexAttrib2dv( GLuint, GLdouble* ); 
     2329 
     2330    GLvoid glVertexAttrib2f( GLuint, GLfloat, GLfloat ); 
     2331 
     2332    GLvoid glVertexAttrib2fv( GLuint, GLfloat* ); 
     2333 
     2334    GLvoid glVertexAttrib2s( GLuint, GLshort, GLshort ); 
     2335 
     2336    GLvoid glVertexAttrib2sv( GLuint, GLshort* ); 
     2337 
     2338    GLvoid glVertexAttrib3d( GLuint, GLdouble, GLdouble, GLdouble ); 
     2339 
     2340    GLvoid glVertexAttrib3dv( GLuint, GLdouble* ); 
     2341 
     2342    GLvoid glVertexAttrib3f( GLuint, GLfloat, GLfloat, GLfloat ); 
     2343 
     2344    GLvoid glVertexAttrib3fv( GLuint, GLfloat* ); 
     2345 
     2346    GLvoid glVertexAttrib3s( GLuint, GLshort, GLshort, GLshort ); 
     2347 
     2348    GLvoid glVertexAttrib3sv( GLuint, GLshort* ); 
     2349 
     2350    GLvoid glVertexAttrib4Nbv( GLuint, GLbyte* ); 
     2351 
     2352    GLvoid glVertexAttrib4Niv( GLuint, GLint* ); 
     2353 
     2354    GLvoid glVertexAttrib4Nsv( GLuint, GLshort* ); 
     2355 
     2356    GLvoid glVertexAttrib4Nub( GLuint, GLubyte, GLubyte, GLubyte, GLubyte ); 
     2357 
     2358    GLvoid glVertexAttrib4Nubv( GLuint, GLubyte* ); 
     2359 
     2360    GLvoid glVertexAttrib4Nuiv( GLuint, GLuint* ); 
     2361 
     2362    GLvoid glVertexAttrib4Nusv( GLuint, GLushort* ); 
     2363 
     2364    GLvoid glVertexAttrib4bv( GLuint, GLbyte* ); 
     2365 
     2366    GLvoid glVertexAttrib4d( GLuint, GLdouble, GLdouble, GLdouble, GLdouble ); 
     2367 
     2368    GLvoid glVertexAttrib4dv( GLuint, GLdouble* ); 
     2369 
     2370    GLvoid glVertexAttrib4f( GLuint, GLfloat, GLfloat, GLfloat, GLfloat ); 
     2371 
     2372    GLvoid glVertexAttrib4fv( GLuint, GLfloat* ); 
     2373 
     2374    GLvoid glVertexAttrib4iv( GLuint, GLint* ); 
     2375 
     2376    GLvoid glVertexAttrib4s( GLuint, GLshort, GLshort, GLshort, GLshort ); 
     2377 
     2378    GLvoid glVertexAttrib4sv( GLuint, GLshort* ); 
     2379 
     2380    GLvoid glVertexAttrib4ubv( GLuint, GLubyte* ); 
     2381 
     2382    GLvoid glVertexAttrib4uiv( GLuint, GLuint* ); 
     2383 
     2384    GLvoid glVertexAttrib4usv( GLuint, GLushort* ); 
     2385 
     2386    GLvoid glVertexAttribPointer( GLuint, GLint, GLenum, GLboolean, GLsizei, 
     2387        GLvoid* ); 
    17092388} 
  • trunk/src/uni/lib/renderers/gl/AGL.d

    r38 r43  
    11/+ 
    22 
    3    Copyright(c) 2008, Trevor Parscal 
    4      
    5    Module: Mac OS X implementation of the OpenGL 
    6  
    7 +/ 
     3 Copyright(c) 2008, Trevor Parscal 
     4  
     5 Module: Mac OS X implementation of the OpenGL 
     6 
     7 +/ 
    88 
    99module uni.lib.renderers.gl.AGL; 
     
    1414 
    1515/* Enumerations */ 
    16 enum:GLuint 
    17 
     16enum : GLuint { 
    1817    // Renderer ID numbers 
    1918    AGL_RENDERER_GENERIC_ID = 0x00020200, 
     
    184183 
    185184/* Structures */ 
    186 struct RGBColor 
    187 
     185struct RGBColor { 
    188186    ushort red; 
    189187    ushort green; 
     
    191189} 
    192190 
    193 struct GrafVars 
    194 
     191struct GrafVars { 
    195192    RGBColor rgbOpColor; 
    196193    RGBColor rgbHiliteColor; 
     
    202199} 
    203200 
    204 struct __GLIFunctionDispatchRec 
    205 
    206     extern(System) 
    207     { 
    208         void(*accum)(GLIContext ctx, GLenum op, GLfloat value); 
    209         void(*alpha_func)(GLIContext ctx, GLenum func, GLclampf _ref); 
    210         GLboolean(*are_textures_resident)(GLIContext ctx, GLsizei n, GLuint* textures, GLboolean* residences); 
    211         void(*array_element)(GLIContext ctx, GLint i); 
    212         void(*begin)(GLIContext ctx, GLenum mode); 
    213         void(*bind_texture)(GLIContext ctx, GLenum target, GLuint texture); 
    214         void(*bitmap)(GLIContext ctx, GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, GLubyte* bitmap); 
    215         void(*blend_func)(GLIContext ctx, GLenum sfactor, GLenum dfactor); 
    216         void(*call_list)(GLIContext ctx, GLuint list); 
    217         void(*call_lists)(GLIContext ctx, GLsizei n, GLenum type, GLvoid* lists); 
    218         void(*clear)(GLIContext ctx, GLbitfield mask); 
    219         void(*clear_accum)(GLIContext ctx, GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); 
    220         void(*clear_color)(GLIContext ctx, GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); 
    221         void(*clear_depth)(GLIContext ctx, GLclampd depth); 
    222         void(*clear_index)(GLIContext ctx, GLfloat c); 
    223         void(*clear_stencil)(GLIContext ctx, GLint s); 
    224         void(*clip_plane)(GLIContext ctx, GLenum plane, GLdouble* equation); 
    225         void(*color3b)(GLIContext ctx, GLbyte red, GLbyte green, GLbyte blue); 
    226         void(*color3bv)(GLIContext ctx, GLbyte* v); 
    227         void(*color3d)(GLIContext ctx, GLdouble red, GLdouble green, GLdouble blue); 
    228         void(*color3dv)(GLIContext ctx, GLdouble* v); 
    229         void(*color3f)(GLIContext ctx, GLfloat red, GLfloat green, GLfloat blue); 
    230         void(*color3fv)(GLIContext ctx, GLfloat* v); 
    231         void(*color3i)(GLIContext ctx, GLint red, GLint green, GLint blue); 
    232         void(*color3iv)(GLIContext ctx, GLint* v); 
    233         void(*color3s)(GLIContext ctx, GLshort red, GLshort green, GLshort blue); 
    234         void(*color3sv)(GLIContext ctx, GLshort* v); 
    235         void(*color3ub)(GLIContext ctx, GLubyte red, GLubyte green, GLubyte blue); 
    236         void(*color3ubv)(GLIContext ctx, GLubyte* v); 
    237         void(*color3ui)(GLIContext ctx, GLuint red, GLuint green, GLuint blue); 
    238         void(*color3uiv)(GLIContext ctx, GLuint* v); 
    239         void(*color3us)(GLIContext ctx, GLushort red, GLushort green, GLushort blue); 
    240         void(*color3usv)(GLIContext ctx, GLushort* v); 
    241         void(*color4b)(GLIContext ctx, GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha); 
    242         void(*color4bv)(GLIContext ctx, GLbyte* v); 
    243         void(*color4d)(GLIContext ctx, GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha); 
    244         void(*color4dv)(GLIContext ctx, GLdouble* v); 
    245         void(*color4f)(GLIContext ctx, GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); 
    246         void(*color4fv)(GLIContext ctx, GLfloat* v); 
    247         void(*color4i)(GLIContext ctx, GLint red, GLint green, GLint blue, GLint alpha); 
    248         void(*color4iv)(GLIContext ctx, GLint* v); 
    249         void(*color4s)(GLIContext ctx, GLshort red, GLshort green, GLshort blue, GLshort alpha); 
    250         void(*color4sv)(GLIContext ctx, GLshort* v); 
    251         void(*color4ub)(GLIContext ctx, GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha); 
    252         void(*color4ubv)(GLIContext ctx, GLubyte* v); 
    253         void(*color4ui)(GLIContext ctx, GLuint red, GLuint green, GLuint blue, GLuint alpha); 
    254         void(*color4uiv)(GLIContext ctx, GLuint* v); 
    255         void(*color4us)(GLIContext ctx, GLushort red, GLushort green, GLushort blue, GLushort alpha); 
    256         void(*color4usv)(GLIContext ctx, GLushort* v); 
    257         void(*color_mask)(GLIContext ctx, GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha); 
    258         void(*color_material)(GLIContext ctx, GLenum face, GLenum mode); 
    259         void(*color_pointer)(GLIContext ctx, GLint size, GLenum type, GLsizei stride, GLvoid* pointer); 
    260         void(*copy_pixels)(GLIContext ctx, GLint x, GLint y, GLsizei width, GLsizei height, GLenum type); 
    261         void(*copy_tex_image1D)(GLIContext ctx, GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLint border); 
    262         void(*copy_tex_image2D)(GLIContext ctx, GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); 
    263         void(*copy_tex_sub_image1D)(GLIContext ctx, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width); 
    264         void(*copy_tex_sub_image2D)(GLIContext ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); 
    265         void(*cull_face)(GLIContext ctx, GLenum mode); 
    266         void(*delete_lists)(GLIContext ctx, GLuint list, GLsizei range); 
    267         void(*delete_textures)(GLIContext ctx, GLsizei n, GLuint* textures); 
    268         void(*depth_func)(GLIContext ctx, GLenum func); 
    269         void(*depth_mask)(GLIContext ctx, GLboolean flag); 
    270         void(*depth_range)(GLIContext ctx, GLclampd zNear, GLclampd zFar); 
    271         void(*disable)(GLIContext ctx, GLenum cap); 
    272         void(*disable_client_state)(GLIContext ctx, GLenum array); 
    273         void(*draw_arrays)(GLIContext ctx, GLenum mode, GLint first, GLsizei count); 
    274         void(*draw_buffer)(GLIContext ctx, GLenum mode); 
    275         void(*draw_elements)(GLIContext ctx, GLenum mode, GLsizei count, GLenum type, GLvoid* indices); 
    276         void(*draw_pixels)(GLIContext ctx, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels); 
    277         void(*edge_flag)(GLIContext ctx, GLboolean flag); 
    278         void(*edge_flag_pointer)(GLIContext ctx, GLsizei stride, GLvoid* pointer); 
    279         void(*edge_flagv)(GLIContext ctx, GLboolean* flag); 
    280         void(*enable)(GLIContext ctx, GLenum cap); 
    281         void(*enable_client_state)(GLIContext ctx, GLenum array); 
    282         void(*end)(GLIContext ctx); 
    283         void(*end_list)(GLIContext ctx); 
    284         void(*eval_coord1d)(GLIContext ctx, GLdouble u); 
    285         void(*eval_coord1dv)(GLIContext ctx, GLdouble* u); 
    286         void(*eval_coord1f)(GLIContext ctx, GLfloat u); 
    287         void(*eval_coord1fv)(GLIContext ctx, GLfloat* u); 
    288         void(*eval_coord2d)(GLIContext ctx, GLdouble u, GLdouble v); 
    289         void(*eval_coord2dv)(GLIContext ctx, GLdouble* u); 
    290         void(*eval_coord2f)(GLIContext ctx, GLfloat u, GLfloat v); 
    291         void(*eval_coord2fv)(GLIContext ctx, GLfloat* u); 
    292         void(*eval_mesh1)(GLIContext ctx, GLenum mode, GLint i1, GLint i2); 
    293         void(*eval_mesh2)(GLIContext ctx, GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2); 
    294         void(*eval_point1)(GLIContext ctx, GLint i); 
    295         void(*eval_point2)(GLIContext ctx, GLint i, GLint j); 
    296         void(*feedback_buffer)(GLIContext ctx, GLsizei size, GLenum type, GLfloat* buffer); 
    297         void(*finish)(GLIContext ctx); 
    298         void(*flush)(GLIContext ctx); 
    299         void(*fogf)(GLIContext ctx, GLenum pname, GLfloat param); 
    300         void(*fogfv)(GLIContext ctx, GLenum pname, GLfloat* params); 
    301         void(*fogi)(GLIContext ctx, GLenum pname, GLint param); 
    302         void(*fogiv)(GLIContext ctx, GLenum pname, GLint* params); 
    303         void(*front_face)(GLIContext ctx, GLenum mode); 
    304         void(*frustum)(GLIContext ctx, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar); 
    305         GLuint(*gen_lists)(GLIContext ctx, GLsizei range); 
    306         void(*gen_textures)(GLIContext ctx, GLsizei n, GLuint* textures); 
    307         void(*get_booleanv)(GLIContext ctx, GLenum pname, GLboolean* params); 
    308         void(*get_clip_plane)(GLIContext ctx, GLenum plane, GLdouble* equation); 
    309         void(*get_doublev)(GLIContext ctx, GLenum pname, GLdouble* params); 
    310         GLenum(*get_error)(GLIContext ctx); 
    311         void(*get_floatv)(GLIContext ctx, GLenum pname, GLfloat* params); 
    312         void(*get_integerv)(GLIContext ctx, GLenum pname, GLint* params); 
    313         void(*get_lightfv)(GLIContext ctx, GLenum light, GLenum pname, GLfloat* params); 
    314         void(*get_lightiv)(GLIContext ctx, GLenum light, GLenum pname, GLint* params); 
    315         void(*get_mapdv)(GLIContext ctx, GLenum target, GLenum query, GLdouble* v); 
    316         void(*get_mapfv)(GLIContext ctx, GLenum target, GLenum query, GLfloat* v); 
    317         void(*get_mapiv)(GLIContext ctx, GLenum target, GLenum query, GLint* v); 
    318         void(*get_materialfv)(GLIContext ctx, GLenum face, GLenum pname, GLfloat* params); 
    319         void(*get_materialiv)(GLIContext ctx, GLenum face, GLenum pname, GLint* params); 
    320         void(*get_pixel_mapfv)(GLIContext ctx, GLenum map, GLfloat* values); 
    321         void(*get_pixel_mapuiv)(GLIContext ctx, GLenum map, GLuint* values); 
    322         void(*get_pixel_mapusv)(GLIContext ctx, GLenum map, GLushort* values); 
    323         void(*get_pointerv)(GLIContext ctx, GLenum pname, GLvoid** params); 
    324         void(*get_polygon_stipple)(GLIContext ctx, GLubyte* mask); 
    325         const GLubyte*(*get_string)(GLIContext ctx, GLenum name); 
    326         void(*get_tex_envfv)(GLIContext ctx, GLenum target, GLenum pname, GLfloat* params); 
    327         void(*get_tex_enviv)(GLIContext ctx, GLenum target, GLenum pname, GLint* params); 
    328         void(*get_tex_gendv)(GLIContext ctx, GLenum coord, GLenum pname, GLdouble* params); 
    329         void(*get_tex_genfv)(GLIContext ctx, GLenum coord, GLenum pname, GLfloat* params); 
    330         void(*get_tex_geniv)(GLIContext ctx, GLenum coord, GLenum pname, GLint* params); 
    331         void(*get_tex_image)(GLIContext ctx, GLenum target, GLint level, GLenum format, GLenum type, GLvoid* pixels); 
    332         void(*get_tex_level_parameterfv)(GLIContext ctx, GLenum target, GLint level, GLenum pname, GLfloat* params); 
    333         void(*get_tex_level_parameteriv)(GLIContext ctx, GLenum target, GLint level, GLenum pname, GLint* params); 
    334         void(*get_tex_parameterfv)(GLIContext ctx, GLenum target, GLenum pname, GLfloat* params); 
    335         void(*get_tex_parameteriv)(GLIContext ctx, GLenum target, GLenum pname, GLint* params); 
    336         void(*hint)(GLIContext ctx, GLenum target, GLenum mode); 
    337         void(*index_mask)(GLIContext ctx, GLuint mask); 
    338         void(*index_pointer)(GLIContext ctx, GLenum type, GLsizei stride, GLvoid* pointer); 
    339         void(*indexd)(GLIContext ctx, GLdouble c); 
    340         void(*indexdv)(GLIContext ctx, GLdouble* c); 
    341         void(*indexf)(GLIContext ctx, GLfloat c); 
    342         void(*indexfv)(GLIContext ctx, GLfloat* c); 
    343         void(*indexi)(GLIContext ctx, GLint c); 
    344         void(*indexiv)(GLIContext ctx, GLint* c); 
    345         void(*indexs)(GLIContext ctx, GLshort c); 
    346         void(*indexsv)(GLIContext ctx, GLshort* c); 
    347         void(*indexub)(GLIContext ctx, GLubyte c); 
    348         void(*indexubv)(GLIContext ctx, GLubyte* c); 
    349         void(*init_names)(GLIContext ctx); 
    350         void(*interleaved_arrays)(GLIContext ctx, GLenum format, GLsizei stride, GLvoid* pointer); 
    351         GLboolean(*is_enabled)(GLIContext ctx, GLenum cap); 
    352         GLboolean(*is_list)(GLIContext ctx, GLuint list); 
    353         GLboolean(*is_texture)(GLIContext ctx, GLuint texture); 
    354         void(*light_modelf)(GLIContext ctx, GLenum pname, GLfloat param); 
    355         void(*light_modelfv)(GLIContext ctx, GLenum pname, GLfloat* params); 
    356         void(*light_modeli)(GLIContext ctx, GLenum pname, GLint param); 
    357         void(*light_modeliv)(GLIContext ctx, GLenum pname, GLint* params); 
    358         void(*lightf)(GLIContext ctx, GLenum light, GLenum pname, GLfloat param); 
    359         void(*lightfv)(GLIContext ctx, GLenum light, GLenum pname, GLfloat* params); 
    360         void(*lighti)(GLIContext ctx, GLenum light, GLenum pname, GLint param); 
    361         void(*lightiv)(GLIContext ctx, GLenum light, GLenum pname, GLint* params); 
    362         void(*line_stipple)(GLIContext ctx, GLint factor, GLushort pattern); 
    363         void(*line_width)(GLIContext ctx, GLfloat width); 
    364         void(*list_base)(GLIContext ctx, GLuint base); 
    365         void(*load_identity)(GLIContext ctx); 
    366         void(*load_matrixd)(GLIContext ctx, GLdouble* m); 
    367         void(*load_matrixf)(GLIContext ctx, GLfloat* m); 
    368         void(*load_name)(GLIContext ctx, GLuint name); 
    369         void(*logic_op)(GLIContext ctx, GLenum opcode); 
    370         void(*map1d)(GLIContext ctx, GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, GLdouble* points); 
    371         void(*map1f)(GLIContext ctx, GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, GLfloat* points); 
    372         void(*map2d)(GLIContext ctx, GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, GLdouble* points); 
    373         void(*map2f)(GLIContext ctx, GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, GLfloat* points); 
    374         void(*map_grid1d)(GLIContext ctx, GLint un, GLdouble u1, GLdouble u2); 
    375         void(*map_grid1f)(GLIContext ctx, GLint un, GLfloat u1, GLfloat u2); 
    376         void(*map_grid2d)(GLIContext ctx, GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2); 
    377         void(*map_grid2f)(GLIContext ctx, GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2); 
    378         void(*materialf)(GLIContext ctx, GLenum face, GLenum pname, GLfloat param); 
    379         void(*materialfv)(GLIContext ctx, GLenum face, GLenum pname, GLfloat* params); 
    380         void(*materiali)(GLIContext ctx, GLenum face, GLenum pname, GLint param); 
    381         void(*materialiv)(GLIContext ctx, GLenum face, GLenum pname, GLint* params); 
    382         void(*matrix_mode)(GLIContext ctx, GLenum mode); 
    383         void(*mult_matrixd)(GLIContext ctx, GLdouble* m); 
    384         void(*mult_matrixf)(GLIContext ctx, GLfloat* m); 
    385         void(*new_list)(GLIContext ctx, GLuint list, GLenum mode); 
    386         void(*normal3b)(GLIContext ctx, GLbyte nx, GLbyte ny, GLbyte nz); 
    387         void(*normal3bv)(GLIContext ctx, GLbyte* v); 
    388         void(*normal3d)(GLIContext ctx, GLdouble nx, GLdouble ny, GLdouble nz); 
    389         void(*normal3dv)(GLIContext ctx, GLdouble* v); 
    390         void(*normal3f)(GLIContext ctx, GLfloat nx, GLfloat ny, GLfloat nz); 
    391         void(*normal3fv)(GLIContext ctx, GLfloat* v); 
    392         void(*normal3i)(GLIContext ctx, GLint nx, GLint ny, GLint nz); 
    393         void(*normal3iv)(GLIContext ctx, GLint* v); 
    394         void(*normal3s)(GLIContext ctx, GLshort nx, GLshort ny, GLshort nz); 
    395         void(*normal3sv)(GLIContext ctx, GLshort* v); 
    396         void(*normal_pointer)(GLIContext ctx, GLenum type, GLsizei stride, GLvoid* pointer); 
    397         void(*ortho)(GLIContext ctx, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar); 
    398         void(*pass_through)(GLIContext ctx, GLfloat token); 
    399         void(*pixel_mapfv)(GLIContext ctx, GLenum map, GLsizei mapsize, GLfloat* values); 
    400         void(*pixel_mapuiv)(GLIContext ctx, GLenum map, GLsizei mapsize, GLuint* values); 
    401         void(*pixel_mapusv)(GLIContext ctx, GLenum map, GLsizei mapsize, GLushort* values); 
    402         void(*pixel_storef)(GLIContext ctx, GLenum pname, GLfloat param); 
    403         void(*pixel_storei)(GLIContext ctx, GLenum pname, GLint param); 
    404         void(*pixel_transferf)(GLIContext ctx, GLenum pname, GLfloat param); 
    405         void(*pixel_transferi)(GLIContext ctx, GLenum pname, GLint param); 
    406         void(*pixel_zoom)(GLIContext ctx, GLfloat xfactor, GLfloat yfactor); 
    407         void(*point_size)(GLIContext ctx, GLfloat size); 
    408         void(*polygon_mode)(GLIContext ctx, GLenum face, GLenum mode); 
    409         void(*polygon_offset)(GLIContext ctx, GLfloat factor, GLfloat units); 
    410         void(*polygon_stipple)(GLIContext ctx, GLubyte* mask); 
    411         void(*pop_attrib)(GLIContext ctx); 
    412         void(*pop_client_attrib)(GLIContext ctx); 
    413         void(*pop_matrix)(GLIContext ctx); 
    414         void(*pop_name)(GLIContext ctx); 
    415         void(*prioritize_textures)(GLIContext ctx, GLsizei n, GLuint* textures, GLclampf* priorities); 
    416         void(*push_attrib)(GLIContext ctx, GLbitfield mask); 
    417         void(*push_client_attrib)(GLIContext ctx, GLbitfield mask); 
    418         void(*push_matrix)(GLIContext ctx); 
    419         void(*push_name)(GLIContext ctx, GLuint name); 
    420         void(*raster_pos2d)(GLIContext ctx, GLdouble x, GLdouble y); 
    421         void(*raster_pos2dv)(GLIContext ctx, GLdouble* v); 
    422         void(*raster_pos2f)(GLIContext ctx, GLfloat x, GLfloat y); 
    423         void(*raster_pos2fv)(GLIContext ctx, GLfloat* v); 
    424         void(*raster_pos2i)(GLIContext ctx, GLint x, GLint y); 
    425         void(*raster_pos2iv)(GLIContext ctx, GLint* v); 
    426         void(*raster_pos2s)(GLIContext ctx, GLshort x, GLshort y); 
    427         void(*raster_pos2sv)(GLIContext ctx, GLshort* v); 
    428         void(*raster_pos3d)(GLIContext ctx, GLdouble x, GLdouble y, GLdouble z); 
    429         void(*raster_pos3dv)(GLIContext ctx, GLdouble* v); 
    430         void(*raster_pos3f)(GLIContext ctx, GLfloat x, GLfloat y, GLfloat z); 
    431         void(*raster_pos3fv)(GLIContext ctx, GLfloat* v); 
    432         void(*raster_pos3i)(GLIContext ctx, GLint x, GLint y, GLint z); 
    433         void(*raster_pos3iv)(GLIContext ctx, GLint* v); 
    434         void(*raster_pos3s)(GLIContext ctx, GLshort x, GLshort y, GLshort z); 
    435         void(*raster_pos3sv)(GLIContext ctx, GLshort* v); 
    436         void(*raster_pos4d)(GLIContext ctx, GLdouble x, GLdouble y, GLdouble z, GLdouble w); 
    437         void(*raster_pos4dv)(GLIContext ctx, GLdouble* v); 
    438         void(*raster_pos4f)(GLIContext ctx, GLfloat x, GLfloat y, GLfloat z, GLfloat w); 
    439         void(*raster_pos4fv)(GLIContext ctx, GLfloat* v); 
    440         void(*raster_pos4i)(GLIContext ctx, GLint x, GLint y, GLint z, GLint w); 
    441         void(*raster_pos4iv)(GLIContext ctx, GLint* v); 
    442         void(*raster_pos4s)(GLIContext ctx, GLshort x, GLshort y, GLshort z, GLshort w); 
    443         void(*raster_pos4sv)(GLIContext ctx, GLshort* v); 
    444         void(*read_buffer)(GLIContext ctx, GLenum mode); 
    445         void(*read_pixels)(GLIContext ctx, GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels); 
    446         void(*rectd)(GLIContext ctx, GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2); 
    447         void(*rectdv)(GLIContext ctx, GLdouble* v1, GLdouble* v2); 
    448         void(*rectf)(GLIContext ctx, GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2); 
    449         void(*rectfv)(GLIContext ctx, GLfloat* v1, GLfloat* v2); 
    450         void(*recti)(GLIContext ctx, GLint x1, GLint y1, GLint x2, GLint y2); 
    451         void(*rectiv)(GLIContext ctx, GLint* v1, GLint* v2); 
    452         void(*rects)(GLIContext ctx, GLshort x1, GLshort y1, GLshort x2, GLshort y2); 
    453         void(*rectsv)(GLIContext ctx, GLshort* v1, GLshort* v2); 
    454         GLint(*render_mode)(GLIContext ctx, GLenum mode); 
    455         void(*rotated)(GLIContext ctx, GLdouble angle, GLdouble x, GLdouble y, GLdouble z); 
    456         void(*rotatef)(GLIContext ctx, GLfloat angle, GLfloat x, GLfloat y, GLfloat z); 
    457         void(*scaled)(GLIContext ctx, GLdouble x, GLdouble y, GLdouble z); 
    458         void(*scalef)(GLIContext ctx, GLfloat x, GLfloat y, GLfloat z); 
    459         void(*scissor)(GLIContext ctx, GLint x, GLint y, GLsizei width, GLsizei height); 
    460         void(*select_buffer)(GLIContext ctx, GLsizei size, GLuint* buffer); 
    461         void(*shade_model)(GLIContext ctx, GLenum mode); 
    462         void(*stencil_func)(GLIContext ctx, GLenum func, GLint _ref, GLuint mask); 
    463         void(*stencil_mask)(GLIContext ctx, GLuint mask); 
    464         void(*stencil_op)(GLIContext ctx, GLenum fail, GLenum zfail, GLenum zpass); 
    465         void(*tex_coord1d)(GLIContext ctx, GLdouble s); 
    466         void(*tex_coord1dv)(GLIContext ctx, GLdouble* v); 
    467         void(*tex_coord1f)(GLIContext ctx, GLfloat s); 
    468         void(*tex_coord1fv)(GLIContext ctx, GLfloat* v); 
    469         void(*tex_coord1i)(GLIContext ctx, GLint s); 
    470         void(*tex_coord1iv)(GLIContext ctx, GLint* v); 
    471         void(*tex_coord1s)(GLIContext ctx, GLshort s); 
    472         void(*tex_coord1sv)(GLIContext ctx, GLshort* v); 
    473         void(*tex_coord2d)(GLIContext ctx, GLdouble s, GLdouble t); 
    474         void(*tex_coord2dv)(GLIContext ctx, GLdouble* v); 
    475         void(*tex_coord2f)(GLIContext ctx, GLfloat s, GLfloat t); 
    476         void(*tex_coord2fv)(GLIContext ctx, GLfloat* v); 
    477         void(*tex_coord2i)(GLIContext ctx, GLint s, GLint t); 
    478         void(*tex_coord2iv)(GLIContext ctx, GLint* v); 
    479         void(*tex_coord2s)(GLIContext ctx, GLshort s, GLshort t); 
    480         void(*tex_coord2sv)(GLIContext ctx, GLshort* v); 
    481         void(*tex_coord3d)(GLIContext ctx, GLdouble s, GLdouble t, GLdouble r); 
    482         void(*tex_coord3dv)(GLIContext ctx, GLdouble* v); 
    483         void(*tex_coord3f)(GLIContext ctx, GLfloat s, GLfloat t, GLfloat r); 
    484         void(*tex_coord3fv)(GLIContext ctx, GLfloat* v); 
    485         void(*tex_coord3i)(GLIContext ctx, GLint s, GLint t, GLint r); 
    486         void(*tex_coord3iv)(GLIContext ctx, GLint* v); 
    487         void(*tex_coord3s)(GLIContext ctx, GLshort s, GLshort t, GLshort r); 
    488         void(*tex_coord3sv)(GLIContext ctx, GLshort* v); 
    489         void(*tex_coord4d)(GLIContext ctx, GLdouble s, GLdouble t, GLdouble r, GLdouble q); 
    490         void(*tex_coord4dv)(GLIContext ctx, GLdouble* v); 
    491         void(*tex_coord4f)(GLIContext ctx, GLfloat s, GLfloat t, GLfloat r, GLfloat q); 
    492         void(*tex_coord4fv)(GLIContext ctx, GLfloat* v); 
    493         void(*tex_coord4i)(GLIContext ctx, GLint s, GLint t, GLint r, GLint q); 
    494         void(*tex_coord4iv)(GLIContext ctx, GLint* v); 
    495         void(*tex_coord4s)(GLIContext ctx, GLshort s, GLshort t, GLshort r, GLshort q); 
    496         void(*tex_coord4sv)(GLIContext ctx, GLshort* v); 
    497         void(*tex_coord_pointer)(GLIContext ctx, GLint size, GLenum type, GLsizei stride, GLvoid* pointer); 
    498         void(*tex_envf)(GLIContext ctx, GLenum target, GLenum pname, GLfloat param); 
    499         void(*tex_envfv)(GLIContext ctx, GLenum target, GLenum pname, GLfloat* params); 
    500         void(*tex_envi)(GLIContext ctx, GLenum target, GLenum pname, GLint param); 
    501         void(*tex_enviv)(GLIContext ctx, GLenum target, GLenum pname, GLint* params); 
    502         void(*tex_gend)(GLIContext ctx, GLenum coord, GLenum pname, GLdouble param); 
    503         void(*tex_gendv)(GLIContext ctx, GLenum coord, GLenum pname, GLdouble* params); 
    504         void(*tex_genf)(GLIContext ctx, GLenum coord, GLenum pname, GLfloat param); 
    505         void(*tex_genfv)(GLIContext ctx, GLenum coord, GLenum pname, GLfloat* params); 
    506         void(*tex_geni)(GLIContext ctx, GLenum coord, GLenum pname, GLint param); 
    507         void(*tex_geniv)(GLIContext ctx, GLenum coord, GLenum pname, GLint* params); 
    508         void(*tex_image1D)(GLIContext ctx, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLenum format, GLenum type, GLvoid* pixels); 
    509         void(*tex_image2D)(GLIContext ctx, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, GLvoid* pixels); 
    510         void(*tex_parameterf)(GLIContext ctx, GLenum target, GLenum pname, GLfloat param); 
    511         void(*tex_parameterfv)(GLIContext ctx, GLenum target, GLenum pname, GLfloat* params); 
    512         void(*tex_parameteri)(GLIContext ctx, GLenum target, GLenum pname, GLint param); 
    513         void(*tex_parameteriv)(GLIContext ctx, GLenum target, GLenum pname, GLint* params); 
    514         void(*tex_sub_image1D)(GLIContext ctx, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, GLvoid* pixels); 
    515         void(*tex_sub_image2D)(GLIContext ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels); 
    516         void(*translated)(GLIContext ctx, GLdouble x, GLdouble y, GLdouble z); 
    517         void(*translatef)(GLIContext ctx, GLfloat x, GLfloat y, GLfloat z); 
    518         void(*vertex2d)(GLIContext ctx, GLdouble x, GLdouble y); 
    519         void(*vertex2dv)(GLIContext ctx, GLdouble* v); 
    520         void(*vertex2f)(GLIContext ctx, GLfloat x, GLfloat y); 
    521         void(*vertex2fv)(GLIContext ctx, GLfloat* v); 
    522         void(*vertex2i)(GLIContext ctx, GLint x, GLint y); 
    523         void(*vertex2iv)(GLIContext ctx, GLint* v); 
    524         void(*vertex2s)(GLIContext ctx, GLshort x, GLshort y); 
    525         void(*vertex2sv)(GLIContext ctx, GLshort* v); 
    526         void(*vertex3d)(GLIContext ctx, GLdouble x, GLdouble y, GLdouble z); 
    527         void(*vertex3dv)(GLIContext ctx, GLdouble* v); 
    528         void(*vertex3f)(GLIContext ctx, GLfloat x, GLfloat y, GLfloat z); 
    529         void(*vertex3fv)(GLIContext ctx, GLfloat* v); 
    530         void(*vertex3i)(GLIContext ctx, GLint x, GLint y, GLint z); 
    531         void(*vertex3iv)(GLIContext ctx, GLint* v); 
    532         void(*vertex3s)(GLIContext ctx, GLshort x, GLshort y, GLshort z); 
    533         void(*vertex3sv)(GLIContext ctx, GLshort* v); 
    534         void(*vertex4d)(GLIContext ctx, GLdouble x, GLdouble y, GLdouble z, GLdouble w); 
    535         void(*vertex4dv)(GLIContext ctx, GLdouble* v); 
    536         void(*vertex4f)(GLIContext ctx, GLfloat x, GLfloat y, GLfloat z, GLfloat w); 
    537         void(*vertex4fv)(GLIContext ctx, GLfloat* v); 
    538         void(*vertex4i)(GLIContext ctx, GLint x, GLint y, GLint z, GLint w); 
    539         void(*vertex4iv)(GLIContext ctx, GLint* v); 
    540         void(*vertex4s)(GLIContext ctx, GLshort x, GLshort y, GLshort z, GLshort w); 
    541         void(*vertex4sv)(GLIContext ctx, GLshort* v); 
    542         void(*vertex_pointer)(GLIContext ctx, GLint size, GLenum type, GLsizei stride, GLvoid* pointer); 
    543         void(*viewport)(GLIContext ctx, GLint x, GLint y, GLsizei width, GLsizei height); 
    544         void(*blend_func_separate)(GLIContext ctx, GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); 
    545         void(*blend_color)(GLIContext ctx, GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); 
    546         void(*blend_equation)(GLIContext ctx, GLenum mode); 
    547         void(*lock_arrays_EXT)(GLIContext ctx, GLint first, GLsizei count); 
    548         void(*unlock_arrays_EXT)(GLIContext ctx); 
    549         void(*client_active_texture)(GLIContext ctx, GLenum target); 
    550         void(*active_texture)(GLIContext ctx, GLenum target); 
    551         void(*multi_tex_coord1d)(GLIContext ctx, GLenum target, GLdouble s); 
    552         void(*multi_tex_coord1dv)(GLIContext ctx, GLenum target, GLdouble* v); 
    553         void(*multi_tex_coord1f)(GLIContext ctx, GLenum target, GLfloat s); 
    554         void(*multi_tex_coord1fv)(GLIContext ctx, GLenum target, GLfloat* v); 
    555         void(*multi_tex_coord1i)(GLIContext ctx, GLenum target, GLint s); 
    556         void(*multi_tex_coord1iv)(GLIContext ctx, GLenum target, GLint* v); 
    557         void(*multi_tex_coord1s)(GLIContext ctx, GLenum target, GLshort s); 
    558         void(*multi_tex_coord1sv)(GLIContext ctx, GLenum target, GLshort* v); 
    559         void(*multi_tex_coord2d)(GLIContext ctx, GLenum target, GLdouble s, GLdouble t); 
    560         void(*multi_tex_coord2dv)(GLIContext ctx, GLenum target, GLdouble* v); 
    561         void(*multi_tex_coord2f)(GLIContext ctx, GLenum target, GLfloat s, GLfloat t); 
    562         void(*multi_tex_coord2fv)(GLIContext ctx, GLenum target, GLfloat* v); 
    563         void(*multi_tex_coord2i)(GLIContext ctx, GLenum target, GLint s, GLint t); 
    564         void(*multi_tex_coord2iv)(GLIContext ctx, GLenum target, GLint* v); 
    565         void(*multi_tex_coord2s)(GLIContext ctx, GLenum target, GLshort s, GLshort t); 
    566         void(*multi_tex_coord2sv)(GLIContext ctx, GLenum target, GLshort* v); 
    567         void(*multi_tex_coord3d)(GLIContext ctx, GLenum target, GLdouble s, GLdouble t, GLdouble r); 
    568         void(*multi_tex_coord3dv)(GLIContext ctx, GLenum target, GLdouble* v); 
    569         void(*multi_tex_coord3f)(GLIContext ctx, GLenum target, GLfloat s, GLfloat t, GLfloat r); 
    570         void(*multi_tex_coord3fv)(GLIContext ctx, GLenum target, GLfloat* v); 
    571         void(*multi_tex_coord3i)(GLIContext ctx, GLenum target, GLint s, GLint t, GLint r); 
    572         void(*multi_tex_coord3iv)(GLIContext ctx, GLenum target, GLint* v); 
    573         void(*multi_tex_coord3s)(GLIContext ctx, GLenum target, GLshort s, GLshort t, GLshort r); 
    574         void(*multi_tex_coord3sv)(GLIContext ctx, GLenum target, GLshort* v); 
    575         void(*multi_tex_coord4d)(GLIContext ctx, GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q); 
    576         void(*multi_tex_coord4dv)(GLIContext ctx, GLenum target, GLdouble* v); 
    577         void(*multi_tex_coord4f)(GLIContext ctx, GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q); 
    578         void(*multi_tex_coord4fv)(GLIContext ctx, GLenum target, GLfloat* v); 
    579         void(*multi_tex_coord4i)(GLIContext ctx, GLenum target, GLint s, GLint t, GLint r, GLint q); 
    580         void(*multi_tex_coord4iv)(GLIContext ctx, GLenum target, GLint* v); 
    581         void(*multi_tex_coord4s)(GLIContext ctx, GLenum target, GLshort s, GLshort t, GLshort r, GLshort q); 
    582         void(*multi_tex_coord4sv)(GLIContext ctx, GLenum target, GLshort* v); 
    583         void(*load_transpose_matrixd)(GLIContext ctx, GLdouble* m); 
    584         void(*load_transpose_matrixf)(GLIContext ctx, GLfloat* m); 
    585         void(*mult_transpose_matrixd)(GLIContext ctx, GLdouble* m); 
    586         void(*mult_transpose_matrixf)(GLIContext ctx, GLfloat* m); 
    587         void(*compressed_tex_image3D)(GLIContext ctx, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, GLvoid* data); 
    588         void(*compressed_tex_image2D)(GLIContext ctx, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, GLvoid* data); 
    589         void(*compressed_tex_image1D)(GLIContext ctx, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, GLvoid* data); 
    590         void(*compressed_tex_sub_image3D)(GLIContext ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, GLvoid* data); 
    591         void(*compressed_tex_sub_image2D)(GLIContext ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, GLvoid* data); 
    592         void(*compressed_tex_sub_image1D)(GLIContext ctx, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, GLvoid* data); 
    593         void(*get_compressed_tex_image)(GLIContext ctx, GLenum target, GLint level, GLvoid* img); 
    594         void(*secondary_color3b)(GLIContext ctx, GLbyte red, GLbyte green, GLbyte blue); 
    595         void(*secondary_color3bv)(GLIContext ctx, GLbyte* v); 
    596         void(*secondary_color3d)(GLIContext ctx, GLdouble red, GLdouble green, GLdouble blue); 
    597         void(*secondary_color3dv)(GLIContext ctx, GLdouble* v); 
    598         void(*secondary_color3f)(GLIContext ctx, GLfloat red, GLfloat green, GLfloat blue); 
    599         void(*secondary_color3fv)(GLIContext ctx, GLfloat* v); 
    600         void(*secondary_color3i)(GLIContext ctx, GLint red, GLint green, GLint blue); 
    601         void(*secondary_color3iv)(GLIContext ctx, GLint* v); 
    602         void(*secondary_color3s)(GLIContext ctx, GLshort red, GLshort green, GLshort blue); 
    603         void(*secondary_color3sv)(GLIContext ctx, GLshort* v); 
    604         void(*secondary_color3ub)(GLIContext ctx, GLubyte red, GLubyte green, GLubyte blue); 
    605         void(*secondary_color3ubv)(GLIContext ctx, GLubyte* v); 
    606         void(*secondary_color3ui)(GLIContext ctx, GLuint red, GLuint green, GLuint blue); 
    607         void(*secondary_color3uiv)(GLIContext ctx, GLuint* v); 
    608         void(*secondary_color3us)(GLIContext ctx, GLushort red, GLushort green, GLushort blue); 
    609         void(*secondary_color3usv)(GLIContext ctx, GLushort* v); 
    610         void(*secondary_color_pointer)(GLIContext ctx, GLint size, GLenum type, GLsizei stride, GLvoid* pointer); 
    611         void(*vertex_array_range_EXT)(GLIContext ctx, GLsizei count, GLvoid* pointer); 
    612         void(*flush_vertex_array_range_EXT)(GLIContext ctx, GLsizei count, GLvoid* pointer); 
    613         void(*draw_range_elements)(GLIContext ctx, GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, GLvoid* indices); 
    614         void(*color_table)(GLIContext ctx, GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, GLvoid* table); 
    615         void(*color_table_parameterfv)(GLIContext ctx, GLenum target, GLenum pname, GLfloat* params); 
    616         void(*color_table_parameteriv)(GLIContext ctx, GLenum target, GLenum pname, GLint* params); 
    617         void(*copy_color_table)(GLIContext ctx, GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width); 
    618         void(*get_color_table)(GLIContext ctx, GLenum target, GLenum format, GLenum type, GLvoid* table); 
    619         void(*get_color_table_parameterfv)(GLIContext ctx, GLenum target, GLenum pname, GLfloat* params); 
    620         void(*get_color_table_parameteriv)(GLIContext ctx, GLenum target, GLenum pname, GLint* params); 
    621         void(*color_sub_table)(GLIContext ctx, GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, GLvoid* data); 
    622         void(*copy_color_sub_table)(GLIContext ctx, GLenum target, GLsizei start, GLint x, GLint y, GLsizei width); 
    623         void(*convolution_filter1D)(GLIContext ctx, GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, GLvoid* image); 
    624         void(*convolution_filter2D)(GLIContext ctx, GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* image); 
    625         void(*convolution_parameterf)(GLIContext ctx, GLenum target, GLenum pname, GLfloat params); 
    626         void(*convolution_parameterfv)(GLIContext ctx, GLenum target, GLenum pname, GLfloat* params); 
    627         void(*convolution_parameteri)(GLIContext ctx, GLenum target, GLenum pname, GLint params); 
    628         void(*convolution_parameteriv)(GLIContext ctx, GLenum target, GLenum pname, GLint* params); 
    629         void(*copy_convolution_filter1D)(GLIContext ctx, GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width); 
    630         void(*copy_convolution_filter2D)(GLIContext ctx, GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height); 
    631         void(*get_convolution_filter)(GLIContext ctx, GLenum target, GLenum format, GLenum type, GLvoid* image); 
    632         void(*get_convolution_parameterfv)(GLIContext ctx, GLenum target, GLenum pname, GLfloat* params); 
    633         void(*get_convolution_parameteriv)(GLIContext ctx, GLenum target, GLenum pname, GLint* params); 
    634         void(*get_separable_filter)(GLIContext ctx, GLenum target, GLenum format, GLenum type, GLvoid* row, GLvoid* column, GLvoid* span); 
    635         void(*separable_filter2D)(GLIContext ctx, GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* row, GLvoid* column); 
    636         void(*get_histogram)(GLIContext ctx, GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid* values); 
    637         void(*get_histogram_parameterfv)(GLIContext ctx, GLenum target, GLenum pname, GLfloat* params); 
    638         void(*get_histogram_parameteriv)(GLIContext ctx, GLenum target, GLenum pname, GLint* params); 
    639         void(*get_minmax)(GLIContext ctx, GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid* values); 
    640         void(*get_minmax_parameterfv)(GLIContext ctx, GLenum target, GLenum pname, GLfloat* params); 
    641         void(*get_minmax_parameteriv)(GLIContext ctx, GLenum target, GLenum pname, GLint* params); 
    642         void(*histogram)(GLIContext ctx, GLenum target, GLsizei width, GLenum internalformat, GLboolean sink); 
    643         void(*minmax)(GLIContext ctx, GLenum target, GLenum internalformat, GLboolean sink); 
    644         void(*reset_histogram)(GLIContext ctx, GLenum target); 
    645         void(*reset_minmax)(GLIContext ctx, GLenum target); 
    646         void(*tex_image3D)(GLIContext ctx, GLenum target, GLint level, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, GLvoid* pixels); 
    647         void(*tex_sub_image3D)(GLIContext ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLvoid* pixels); 
    648         void(*copy_tex_sub_image3D)(GLIContext ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); 
    649         void(*combiner_parameterfv_NV)(GLIContext ctx, GLenum pname, GLfloat* params); 
    650         void(*combiner_parameterf_NV)(GLIContext ctx, GLenum pname, GLfloat param); 
    651         void(*combiner_parameteriv_NV)(GLIContext ctx, GLenum pname, GLint* params); 
    652         void(*combiner_parameteri_NV)(GLIContext ctx, GLenum pname, GLint param); 
    653         void(*combiner_input_NV)(GLIContext ctx, GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage); 
    654         void(*combiner_output_NV)(GLIContext ctx, GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum); 
    655         void(*final_combiner_input_NV)(GLIContext ctx, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage); 
    656         void(*get_combiner_input_parameterfv_NV)(GLIContext ctx, GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat* params); 
    657         void(*get_combiner_input_parameteriv_NV)(GLIContext ctx, GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint* params); 
    658         void(*get_combiner_output_parameterfv_NV)(GLIContext ctx, GLenum stage, GLenum portion, GLenum pname, GLfloat* params); 
    659         void(*get_combiner_output_parameteriv_NV)(GLIContext ctx, GLenum stage, GLenum portion, GLenum pname, GLint* params); 
    660         void(*get_final_combiner_input_parameterfv_NV)(GLIContext ctx, GLenum variable, GLenum pname, GLfloat* params); 
    661         void(*get_final_combiner_input_parameteriv_NV)(GLIContext ctx, GLenum variable, GLenum pname, GLint* params); 
    662         void(*combiner_stage_parameterfv_NV)(GLIContext ctx, GLenum stage, GLenum pname, GLfloat* params); 
    663         void(*get_combiner_stage_parameterfv_NV)(GLIContext ctx, GLenum stage, GLenum pname, GLfloat* params); 
    664         void(*texture_range_APPLE)(GLIContext ctx, GLenum target, GLsizei length, GLvoid* pointer); 
    665         void(*get_tex_parameter_pointerv_APPLE)(GLIContext ctx, GLenum target, GLenum pname, GLvoid** params); 
    666         void(*blend_equation_separate_ATI)(GLIContext ctx, GLenum equationRGB, GLenum equationAlpha); 
    667         void(*sample_coverage)(GLIContext ctx, GLclampf value, GLboolean invert); 
    668         void(*sample_pass)(GLIContext ctx, GLenum mode); 
    669         void(*pn_trianglesi_ATI)(GLIContext ctx, GLenum pname, GLint param); 
    670         void(*pn_trianglesf_ATI)(GLIContext ctx, GLenum pname, GLfloat param); 
    671         void(*gen_fences_APPLE)(GLIContext ctx, GLsizei n, GLuint* fences); 
    672         void(*delete_fences_APPLE)(GLIContext ctx, GLsizei n, GLuint* fences); 
    673         void(*set_fence_APPLE)(GLIContext ctx, GLuint fence); 
    674         GLboolean(*is_fence_APPLE)(GLIContext ctx, GLuint fence); 
    675         GLboolean(*test_fence_APPLE)(GLIContext ctx, GLuint fence); 
    676         void(*finish_fence_APPLE)(GLIContext ctx, GLuint fence); 
    677         GLboolean(*test_object_APPLE)(GLIContext ctx, GLenum object, GLuint name); 
    678         void(*finish_object_APPLE)(GLIContext ctx, GLenum object, GLuint name); 
    679         void(*bind_program_ARB)(GLIContext ctx, GLenum target, GLuint program); 
    680         void(*delete_programs_ARB)(GLIContext ctx, GLsizei n, GLuint* programs); 
    681         void(*gen_programs_ARB)(GLIContext ctx, GLsizei n, GLuint* programs); 
    682         GLboolean(*is_program_ARB)(GLIContext ctx, GLuint program); 
    683         void(*vertex_attrib1s_ARB)(GLIContext ctx, GLuint index, GLshort x); 
    684         void(*vertex_attrib1f_ARB)(GLIContext ctx, GLuint index, GLfloat x); 
    685         void(*vertex_attrib1d_ARB)(GLIContext ctx, GLuint index, GLdouble x); 
    686         void(*vertex_attrib2s_ARB)(GLIContext ctx, GLuint index, GLshort x, GLshort y); 
    687         void(*vertex_attrib2f_ARB)(GLIContext ctx, GLuint index, GLfloat x, GLfloat y); 
    688         void(*vertex_attrib2d_ARB)(GLIContext ctx, GLuint index, GLdouble x, GLdouble y); 
    689         void(*vertex_attrib3s_ARB)(GLIContext ctx, GLuint index, GLshort x, GLshort y, GLshort z); 
    690         void(*vertex_attrib3f_ARB)(GLIContext ctx, GLuint index, GLfloat x, GLfloat y, GLfloat z); 
    691         void(*vertex_attrib3d_ARB)(GLIContext ctx, GLuint index, GLdouble x, GLdouble y, GLdouble z); 
    692         void(*vertex_attrib4s_ARB)(GLIContext ctx, GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); 
    693         void(*vertex_attrib4f_ARB)(GLIContext ctx, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); 
    694         void(*vertex_attrib4d_ARB)(GLIContext ctx, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); 
    695         void(*vertex_attrib4Nub_ARB)(GLIContext ctx, GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w); 
    696         void(*vertex_attrib1sv_ARB)(GLIContext ctx, GLuint index, GLshort* v); 
    697         void(*vertex_attrib1fv_ARB)(GLIContext ctx, GLuint index, GLfloat* v); 
    698         void(*vertex_attrib1dv_ARB)(GLIContext ctx, GLuint index, GLdouble* v); 
    699         void(*vertex_attrib2sv_ARB)(GLIContext ctx, GLuint index, GLshort* v); 
    700         void(*vertex_attrib2fv_ARB)(GLIContext ctx, GLuint index, GLfloat* v); 
    701         void(*vertex_attrib2dv_ARB)(GLIContext ctx, GLuint index, GLdouble* v); 
    702         void(*vertex_attrib3sv_ARB)(GLIContext ctx, GLuint index, GLshort* v); 
    703         void(*vertex_attrib3fv_ARB)(GLIContext ctx, GLuint index, GLfloat* v); 
    704         void(*vertex_attrib3dv_ARB)(GLIContext ctx, GLuint index, GLdouble* v); 
    705         void(*vertex_attrib4bv_ARB)(GLIContext ctx, GLuint index, GLbyte* v); 
    706         void(*vertex_attrib4sv_ARB)(GLIContext ctx, GLuint index, GLshort* v); 
    707         void(*vertex_attrib4iv_ARB)(GLIContext ctx, GLuint index, GLint* v); 
    708         void(*vertex_attrib4ubv_ARB)(GLIContext ctx, GLuint index, GLubyte* v); 
    709         void(*vertex_attrib4usv_ARB)(GLIContext ctx, GLuint index, GLushort* v); 
    710         void(*vertex_attrib4uiv_ARB)(GLIContext ctx, GLuint index, GLuint* v); 
    711         void(*vertex_attrib4fv_ARB)(GLIContext ctx, GLuint index, GLfloat* v); 
    712         void(*vertex_attrib4dv_ARB)(GLIContext ctx, GLuint index, GLdouble* v); 
    713         void(*vertex_attrib4Nbv_ARB)(GLIContext ctx, GLuint index, GLbyte* v); 
    714         void(*vertex_attrib4Nsv_ARB)(GLIContext ctx, GLuint index, GLshort* v); 
    715         void(*vertex_attrib4Niv_ARB)(GLIContext ctx, GLuint index, GLint* v); 
    716         void(*vertex_attrib4Nubv_ARB)(GLIContext ctx, GLuint index, GLubyte* v); 
    717         void(*vertex_attrib4Nusv_ARB)(GLIContext ctx, GLuint index, GLushort* v); 
    718         void(*vertex_attrib4Nuiv_ARB)(GLIContext ctx, GLuint index, GLuint* v); 
    719         void(*vertex_attrib_pointer_ARB)(GLIContext ctx, GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLvoid* pointer); 
    720         void(*enable_vertex_attrib_array_ARB)(GLIContext ctx, GLuint index); 
    721         void(*disable_vertex_attrib_array_ARB)(GLIContext ctx, GLuint index); 
    722         void(*get_vertex_attribdv_ARB)(GLIContext ctx, GLuint index, GLenum pname, GLdouble* params); 
    723         void(*get_vertex_attribfv_ARB)(GLIContext ctx, GLuint index, GLenum pname, GLfloat* params); 
    724         void(*get_vertex_attribiv_ARB)(GLIContext ctx, GLuint index, GLenum pname, GLint* params); 
    725         void(*get_vertex_attrib_pointerv_ARB)(GLIContext ctx, GLuint index, GLenum pname, GLvoid** pointer); 
    726         void(*program_env_parameter4d_ARB)(GLIContext ctx, GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); 
    727         void(*program_env_parameter4dv_ARB)(GLIContext ctx, GLenum target, GLuint index, GLdouble* params); 
    728         void(*program_env_parameter4f_ARB)(GLIContext ctx, GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); 
    729         void(*program_env_parameter4fv_ARB)(GLIContext ctx, GLenum target, GLuint index, GLfloat* params); 
    730         void(*program_local_parameter4d_ARB)(GLIContext ctx, GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); 
    731         void(*program_local_parameter4dv_ARB)(GLIContext ctx, GLenum target, GLuint index, GLdouble* params); 
    732         void(*program_local_parameter4f_ARB)(GLIContext ctx, GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); 
    733         void(*program_local_parameter4fv_ARB)(GLIContext ctx, GLenum target, GLuint index, GLfloat* params); 
    734         void(*get_program_env_parameterdv_ARB)(GLIContext ctx, GLenum target, GLuint index, GLdouble* params); 
    735         void(*get_program_env_parameterfv_ARB)(GLIContext ctx, GLenum target, GLuint index, GLfloat* params); 
    736         void(*get_program_local_parameterdv_ARB)(GLIContext ctx, GLenum target, GLuint index, GLdouble* params); 
    737         void(*get_program_local_parameterfv_ARB)(GLIContext ctx, GLenum target, GLuint index, GLfloat* params); 
    738         void(*program_string_ARB)(GLIContext ctx, GLenum target, GLenum format, GLsizei len, GLvoid* string); 
    739         void(*get_program_string_ARB)(GLIContext ctx, GLenum target, GLenum pname, GLvoid* string); 
    740         void(*get_programiv_ARB)(GLIContext ctx, GLenum target, GLenum pname, GLint* params); 
    741         void(*enable_vertex_attrib_ARB)(GLIContext ctx, GLuint index, GLenum pname); 
    742         void(*disable_vertex_attrib_ARB)(GLIContext ctx, GLuint index, GLenum pname); 
    743         GLboolean(*is_vertex_attrib_enabled_ARB)(GLIContext ctx, GLuint index, GLenum pname); 
    744         void(*map_vertex_attrib1d_ARB)(GLIContext ctx, GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint stride, GLint order, GLdouble* points); 
    745         void(*map_vertex_attrib1f_ARB)(GLIContext ctx, GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint stride, GLint order, GLfloat* points); 
    746         void(*map_vertex_attrib2d_ARB)(GLIContext ctx, GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, GLdouble* points); 
    747         void(*map_vertex_attrib2f_ARB)(GLIContext ctx, GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, GLfloat* points); 
    748         void(*point_parameterf)(GLIContext ctx, GLenum pname, GLfloat param); 
    749         void(*point_parameterfv)(GLIContext ctx, GLenum pname, GLfloat* params); 
    750         void(*point_parameteri)(GLIContext ctx, GLenum pname, GLint param); 
    751         void(*point_parameteriv)(GLIContext ctx, GLenum pname, GLint* params); 
    752         void(*fog_coordf)(GLIContext ctx, GLfloat coord); 
    753         void(*fog_coordfv)(GLIContext ctx, GLfloat* coord); 
    754         void(*fog_coordd)(GLIContext ctx, GLdouble coord); 
    755         void(*fog_coorddv)(GLIContext ctx, GLdouble* coord); 
    756         void(*fog_coord_pointer)(GLIContext ctx, GLenum type, GLsizei stride, GLvoid* pointer); 
    757         void(*vertex_array_parameteri_EXT)(GLIContext ctx, GLenum pname, GLint param); 
    758         void(*bind_vertex_array_EXT)(GLIContext ctx, GLuint id); 
    759         void(*delete_vertex_arrays_EXT)(GLIContext ctx, GLsizei n, GLuint* ids); 
    760         void(*gen_vertex_arrays_EXT)(GLIContext ctx, GLsizei n, GLuint* ids); 
    761         GLboolean(*is_vertex_array_EXT)(GLIContext ctx, GLuint id); 
    762         void(*element_pointer_APPLE)(GLIContext ctx, GLenum type, GLvoid* pointer); 
    763         void(*draw_element_array_APPLE)(GLIContext ctx, GLenum mode, GLint first, GLsizei count); 
    764         void(*draw_range_element_array_APPLE)(GLIContext ctx, GLenum mode, GLuint start, GLuint end, GLint first, GLsizei count); 
    765         void(*weightbv_ARB)(GLIContext ctx, GLint size, GLbyte* weights); 
    766         void(*weightsv_ARB)(GLIContext ctx, GLint size, GLshort* weights); 
    767         void(*weightiv_ARB)(GLIContext ctx, GLint size, GLint* weights); 
    768         void(*weightfv_ARB)(GLIContext ctx, GLint size, GLfloat* weights); 
    769         void(*weightdv_ARB)(GLIContext ctx, GLint size, GLdouble* weights); 
    770         void(*weightubv_ARB)(GLIContext ctx, GLint size, GLubyte* weights); 
    771         void(*weightusv_ARB)(GLIContext ctx, GLint size, GLushort* weights); 
    772         void(*weightuiv_ARB)(GLIContext ctx, GLint size, GLuint* weights); 
    773         void(*weight_pointer_ARB)(GLIContext ctx, GLint size, GLenum type, GLsizei stride, GLvoid* pointer); 
    774         void(*vertex_blend_ARB)(GLIContext ctx, GLint count); 
    775         void(*multi_draw_arrays)(GLIContext ctx, GLenum mode, GLint* first, GLsizei* count, GLsizei primcount); 
    776         void(*multi_draw_elements)(GLIContext ctx, GLenum mode, GLsizei* count, GLenum type, GLvoid** indices, GLsizei primcount); 
    777         void(*window_pos2d)(GLIContext ctx, GLdouble x, GLdouble y); 
    778         void(*window_pos2dv)(GLIContext ctx, GLdouble* v); 
    779         void(*window_pos2f)(GLIContext ctx, GLfloat x, GLfloat y); 
    780         void(*window_pos2fv)(GLIContext ctx, GLfloat* v); 
    781         void(*window_pos2i)(GLIContext ctx, GLint x, GLint y); 
    782         void(*window_pos2iv)(GLIContext ctx, GLint* v); 
    783         void(*window_pos2s)(GLIContext ctx, GLshort x, GLshort y); 
    784         void(*window_pos2sv)(GLIContext ctx, GLshort* v); 
    785         void(*window_pos3d)(GLIContext ctx, GLdouble x, GLdouble y, GLdouble z); 
    786         void(*window_pos3dv)(GLIContext ctx, GLdouble* v); 
    787         void(*window_pos3f)(GLIContext ctx, GLfloat x, GLfloat y, GLfloat z); 
    788         void(*window_pos3fv)(GLIContext ctx, GLfloat* v); 
    789         void(*window_pos3i)(GLIContext ctx, GLint x, GLint y, GLint z); 
    790         void(*window_pos3iv)(GLIContext ctx, GLint* v); 
    791         void(*window_pos3s)(GLIContext ctx, GLshort x, GLshort y, GLshort z); 
    792         void(*window_pos3sv)(GLIContext ctx, GLshort* v); 
    793         void(*active_stencil_face_EXT)(GLIContext ctx, GLenum face); 
     201struct __GLIFunctionDispatchRec { 
     202    extern ( System ) { 
     203        void ( *accum ) ( GLIContext ctx, GLenum op, GLfloat value ); 
     204        void ( *alpha_func ) ( GLIContext ctx, GLenum func, GLclampf _ref ); 
     205        GLboolean ( *are_textures_resident ) ( GLIContext ctx, GLsizei n, GLuint* textures, GLboolean* residences ); 
     206        void ( *array_element ) ( GLIContext ctx, GLint i ); 
     207        void ( *begin ) ( GLIContext ctx, GLenum mode ); 
     208        void ( *bind_texture ) ( GLIContext ctx, GLenum target, GLuint texture ); 
     209        void ( *bitmap ) ( GLIContext ctx, GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, GLubyte* bitmap ); 
     210        void ( *blend_func ) ( GLIContext ctx, GLenum sfactor, GLenum dfactor ); 
     211        void ( *call_list ) ( GLIContext ctx, GLuint list ); 
     212        void ( *call_lists ) ( GLIContext ctx, GLsizei n, GLenum type, GLvoid* lists ); 
     213        void ( *clear ) ( GLIContext ctx, GLbitfield mask ); 
     214        void ( *clear_accum ) ( GLIContext ctx, GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha ); 
     215        void ( *clear_color ) ( GLIContext ctx, GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha ); 
     216        void ( *clear_depth ) ( GLIContext ctx, GLclampd depth ); 
     217        void ( *clear_index ) ( GLIContext ctx, GLfloat c ); 
     218        void ( *clear_stencil ) ( GLIContext ctx, GLint s ); 
     219        void ( *clip_plane ) ( GLIContext ctx, GLenum plane, GLdouble* equation ); 
     220        void ( *color3b ) ( GLIContext ctx, GLbyte red, GLbyte green, GLbyte blue ); 
     221        void ( *color3bv ) ( GLIContext ctx, GLbyte* v ); 
     222        void ( *color3d ) ( GLIContext ctx, GLdouble red, GLdouble green, GLdouble blue ); 
     223        void ( *color3dv ) ( GLIContext ctx, GLdouble* v ); 
     224        void ( *color3f ) ( GLIContext ctx, GLfloat red, GLfloat green, GLfloat blue ); 
     225        void ( *color3fv ) ( GLIContext ctx, GLfloat* v ); 
     226        void ( *color3i ) ( GLIContext ctx, GLint red, GLint green, GLint blue ); 
     227        void ( *color3iv ) ( GLIContext ctx, GLint* v ); 
     228        void ( *color3s ) ( GLIContext ctx, GLshort red, GLshort green, GLshort blue ); 
     229        void ( *color3sv ) ( GLIContext ctx, GLshort* v ); 
     230        void ( *color3ub ) ( GLIContext ctx, GLubyte red, GLubyte green, GLubyte blue ); 
     231        void ( *color3ubv ) ( GLIContext ctx, GLubyte* v ); 
     232        void ( *color3ui ) ( GLIContext ctx, GLuint red, GLuint green, GLuint blue ); 
     233        void ( *color3uiv ) ( GLIContext ctx, GLuint* v ); 
     234        void ( *color3us ) ( GLIContext ctx, GLushort red, GLushort green, GLushort blue ); 
     235        void ( *color3usv ) ( GLIContext ctx, GLushort* v ); 
     236        void ( *color4b ) ( GLIContext ctx, GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha ); 
     237        void ( *color4bv ) ( GLIContext ctx, GLbyte* v ); 
     238        void ( *color4d ) ( GLIContext ctx, GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha ); 
     239        void ( *color4dv ) ( GLIContext ctx, GLdouble* v ); 
     240        void ( *color4f ) ( GLIContext ctx, GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha ); 
     241        void ( *color4fv ) ( GLIContext ctx, GLfloat* v ); 
     242        void ( *color4i ) ( GLIContext ctx, GLint red, GLint green, GLint blue, GLint alpha ); 
     243        void ( *color4iv ) ( GLIContext ctx, GLint* v ); 
     244        void ( *color4s ) ( GLIContext ctx, GLshort red, GLshort green, GLshort blue, GLshort alpha ); 
     245        void ( *color4sv ) ( GLIContext ctx, GLshort* v ); 
     246        void ( *color4ub ) ( GLIContext ctx, GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha ); 
     247        void ( *color4ubv ) ( GLIContext ctx, GLubyte* v ); 
     248        void ( *color4ui ) ( GLIContext ctx, GLuint red, GLuint green, GLuint blue, GLuint alpha ); 
     249        void ( *color4uiv ) ( GLIContext ctx, GLuint* v ); 
     250        void ( *color4us ) ( GLIContext ctx, GLushort red, GLushort green, GLushort blue, GLushort alpha ); 
     251        void ( *color4usv ) ( GLIContext ctx, GLushort* v ); 
     252        void ( *color_mask ) ( GLIContext ctx, GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha ); 
     253        void ( *color_material ) ( GLIContext ctx, GLenum face, GLenum mode ); 
     254        void ( *color_pointer ) ( GLIContext ctx, GLint size, GLenum type, GLsizei stride, GLvoid* pointer ); 
     255        void ( *copy_pixels ) ( GLIContext ctx, GLint x, GLint y, GLsizei width, GLsizei height, GLenum type ); 
     256        void ( *copy_tex_image1D ) ( GLIContext ctx, GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLint border ); 
     257        void ( *copy_tex_image2D ) ( GLIContext ctx, GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border ); 
     258        void ( *copy_tex_sub_image1D ) ( GLIContext ctx, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width ); 
     259        void ( *copy_tex_sub_image2D ) ( GLIContext ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height ); 
     260        void ( *cull_face ) ( GLIContext ctx, GLenum mode ); 
     261        void ( *delete_lists ) ( GLIContext ctx, GLuint list, GLsizei range ); 
     262        void ( *delete_textures ) ( GLIContext ctx, GLsizei n, GLuint* textures ); 
     263        void ( *depth_func ) ( GLIContext ctx, GLenum func ); 
     264        void ( *depth_mask ) ( GLIContext ctx, GLboolean flag ); 
     265        void ( *depth_range ) ( GLIContext ctx, GLclampd zNear, GLclampd zFar ); 
     266        void ( *disable ) ( GLIContext ctx, GLenum cap ); 
     267        void ( *disable_client_state ) ( GLIContext ctx, GLenum array ); 
     268        void ( *draw_arrays ) ( GLIContext ctx, GLenum mode, GLint first, GLsizei count ); 
     269        void ( *draw_buffer ) ( GLIContext ctx, GLenum mode ); 
     270        void ( *draw_elements ) ( GLIContext ctx, GLenum mode, GLsizei count, GLenum type, GLvoid* indices ); 
     271        void ( *draw_pixels ) ( GLIContext ctx, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels ); 
     272        void ( *edge_flag ) ( GLIContext ctx, GLboolean flag ); 
     273        void ( *edge_flag_pointer ) ( GLIContext ctx, GLsizei stride, GLvoid* pointer ); 
     274        void ( *edge_flagv ) ( GLIContext ctx, GLboolean* flag ); 
     275        void ( *enable ) ( GLIContext ctx, GLenum cap ); 
     276        void ( *enable_client_state ) ( GLIContext ctx, GLenum array ); 
     277        void ( *end ) ( GLIContext ctx ); 
     278        void ( *end_list ) ( GLIContext ctx ); 
     279        void ( *eval_coord1d ) ( GLIContext ctx, GLdouble u ); 
     280        void ( *eval_coord1dv ) ( GLIContext ctx, GLdouble* u ); 
     281        void ( *eval_coord1f ) ( GLIContext ctx, GLfloat u ); 
     282        void ( *eval_coord1fv ) ( GLIContext ctx, GLfloat* u ); 
     283        void ( *eval_coord2d ) ( GLIContext ctx, GLdouble u, GLdouble v ); 
     284        void ( *eval_coord2dv ) ( GLIContext ctx, GLdouble* u ); 
     285        void ( *eval_coord2f ) ( GLIContext ctx, GLfloat u, GLfloat v ); 
     286        void ( *eval_coord2fv ) ( GLIContext ctx, GLfloat* u ); 
     287        void ( *eval_mesh1 ) ( GLIContext ctx, GLenum mode, GLint i1, GLint i2 ); 
     288        void ( *eval_mesh2 ) ( GLIContext ctx, GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2 ); 
     289        void ( *eval_point1 ) ( GLIContext ctx, GLint i ); 
     290        void ( *eval_point2 ) ( GLIContext ctx, GLint i, GLint j ); 
     291        void ( *feedback_buffer ) ( GLIContext ctx, GLsizei size, GLenum type, GLfloat* buffer ); 
     292        void ( *finish ) ( GLIContext ctx ); 
     293        void ( *flush ) ( GLIContext ctx ); 
     294        void ( *fogf ) ( GLIContext ctx, GLenum pname, GLfloat param ); 
     295        void ( *fogfv ) ( GLIContext ctx, GLenum pname, GLfloat* params ); 
     296        void ( *fogi ) ( GLIContext ctx, GLenum pname, GLint param ); 
     297        void ( *fogiv ) ( GLIContext ctx, GLenum pname, GLint* params ); 
     298        void ( *front_face ) ( GLIContext ctx, GLenum mode ); 
     299        void ( *frustum ) ( GLIContext ctx, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar ); 
     300        GLuint ( *gen_lists ) ( GLIContext ctx, GLsizei range ); 
     301        void ( *gen_textures ) ( GLIContext ctx, GLsizei n, GLuint* textures ); 
     302        void ( *get_booleanv ) ( GLIContext ctx, GLenum pname, GLboolean* params ); 
     303        void ( *get_clip_plane ) ( GLIContext ctx, GLenum plane, GLdouble* equation ); 
     304        void ( *get_doublev ) ( GLIContext ctx, GLenum pname, GLdouble* params ); 
     305        GLenum ( *get_error ) ( GLIContext ctx ); 
     306        void ( *get_floatv ) ( GLIContext ctx, GLenum pname, GLfloat* params ); 
     307        void ( *get_integerv ) ( GLIContext ctx, GLenum pname, GLint* params ); 
     308        void ( *get_lightfv ) ( GLIContext ctx, GLenum light, GLenum pname, GLfloat* params ); 
     309        void ( *get_lightiv ) ( GLIContext ctx, GLenum light, GLenum pname, GLint* params ); 
     310        void ( *get_mapdv ) ( GLIContext ctx, GLenum target, GLenum query, GLdouble* v ); 
     311        void ( *get_mapfv ) ( GLIContext ctx, GLenum target, GLenum query, GLfloat* v ); 
     312        void ( *get_mapiv ) ( GLIContext ctx, GLenum target, GLenum query, GLint* v ); 
     313        void ( *get_materialfv ) ( GLIContext ctx, GLenum face, GLenum pname, GLfloat* params ); 
     314        void ( *get_materialiv ) ( GLIContext ctx, GLenum face, GLenum pname, GLint* params ); 
     315        void ( *get_pixel_mapfv ) ( GLIContext ctx, GLenum map, GLfloat* values ); 
     316        void ( *get_pixel_mapuiv ) ( GLIContext ctx, GLenum map, GLuint* values ); 
     317        void ( *get_pixel_mapusv ) ( GLIContext ctx, GLenum map, GLushort* values ); 
     318        void ( *get_pointerv ) ( GLIContext ctx, GLenum pname, GLvoid** params ); 
     319        void ( *get_polygon_stipple ) ( GLIContext ctx, GLubyte* mask ); 
     320        const GLubyte* ( *get_string ) ( GLIContext ctx, GLenum name ); 
     321        void ( *get_tex_envfv ) ( GLIContext ctx, GLenum target, GLenum pname, GLfloat* params ); 
     322        void ( *get_tex_enviv ) ( GLIContext ctx, GLenum target, GLenum pname, GLint* params ); 
     323        void ( *get_tex_gendv ) ( GLIContext ctx, GLenum coord, GLenum pname, GLdouble* params ); 
     324        void ( *get_tex_genfv ) ( GLIContext ctx, GLenum coord, GLenum pname, GLfloat* params ); 
     325        void ( *get_tex_geniv ) ( GLIContext ctx, GLenum coord, GLenum pname, GLint* params ); 
     326        void ( *get_tex_image ) ( GLIContext ctx, GLenum target, GLint level, GLenum format, GLenum type, GLvoid* pixels ); 
     327        void ( *get_tex_level_parameterfv ) ( GLIContext ctx, GLenum target, GLint level, GLenum pname, GLfloat* params ); 
     328        void ( *get_tex_level_parameteriv ) ( GLIContext ctx, GLenum target, GLint level, GLenum pname, GLint* params ); 
     329        void ( *get_tex_parameterfv ) ( GLIContext ctx, GLenum target, GLenum pname, GLfloat* params ); 
     330        void ( *get_tex_parameteriv ) ( GLIContext ctx, GLenum target, GLenum pname, GLint* params ); 
     331        void ( *hint ) ( GLIContext ctx, GLenum target, GLenum mode ); 
     332        void ( *index_mask ) ( GLIContext ctx, GLuint mask ); 
     333        void ( *index_pointer ) ( GLIContext ctx, GLenum type, GLsizei stride, GLvoid* pointer ); 
     334        void ( *indexd ) ( GLIContext ctx, GLdouble c ); 
     335        void ( *indexdv ) ( GLIContext ctx, GLdouble* c ); 
     336        void ( *indexf ) ( GLIContext ctx, GLfloat c ); 
     337        void ( *indexfv ) ( GLIContext ctx, GLfloat* c ); 
     338        void ( *indexi ) ( GLIContext ctx, GLint c ); 
     339        void ( *indexiv ) ( GLIContext ctx, GLint* c ); 
     340        void ( *indexs ) ( GLIContext ctx, GLshort c ); 
     341        void ( *indexsv ) ( GLIContext ctx, GLshort* c ); 
     342        void ( *indexub ) ( GLIContext ctx, GLubyte c ); 
     343        void ( *indexubv ) ( GLIContext ctx, GLubyte* c ); 
     344        void ( *init_names ) ( GLIContext ctx ); 
     345        void ( *interleaved_arrays ) ( GLIContext ctx, GLenum format, GLsizei stride, GLvoid* pointer ); 
     346        GLboolean ( *is_enabled ) ( GLIContext ctx, GLenum cap ); 
     347        GLboolean ( *is_list ) ( GLIContext ctx, GLuint list ); 
     348        GLboolean ( *is_texture ) ( GLIContext ctx, GLuint texture ); 
     349        void ( *light_modelf ) ( GLIContext ctx, GLenum pname, GLfloat param ); 
     350        void ( *light_modelfv ) ( GLIContext ctx, GLenum pname, GLfloat* params ); 
     351        void ( *light_modeli ) ( GLIContext ctx, GLenum pname, GLint param ); 
     352        void ( *light_modeliv ) ( GLIContext ctx, GLenum pname, GLint* params ); 
     353        void ( *lightf ) ( GLIContext ctx, GLenum light, GLenum pname, GLfloat param ); 
     354        void ( *lightfv ) ( GLIContext ctx, GLenum light, GLenum pname, GLfloat* params ); 
     355        void ( *lighti ) ( GLIContext ctx, GLenum light, GLenum pname, GLint param ); 
     356        void ( *lightiv ) ( GLIContext ctx, GLenum light, GLenum pname, GLint* params ); 
     357        void ( *line_stipple ) ( GLIContext ctx, GLint factor, GLushort pattern ); 
     358        void ( *line_width ) ( GLIContext ctx, GLfloat width ); 
     359        void ( *list_base ) ( GLIContext ctx, GLuint base ); 
     360        void ( *load_identity ) ( GLIContext ctx ); 
     361        void ( *load_matrixd ) ( GLIContext ctx, GLdouble* m ); 
     362        void ( *load_matrixf ) ( GLIContext ctx, GLfloat* m ); 
     363        void ( *load_name ) ( GLIContext ctx, GLuint name ); 
     364        void ( *logic_op ) ( GLIContext ctx, GLenum opcode ); 
     365        void ( *map1d ) ( GLIContext ctx, GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, GLdouble* points ); 
     366        void ( *map1f ) ( GLIContext ctx, GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, GLfloat* points ); 
     367        void ( *map2d ) ( GLIContext ctx, GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, GLdouble* points ); 
     368        void ( *map2f ) ( GLIContext ctx, GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, GLfloat* points ); 
     369        void ( *map_grid1d ) ( GLIContext ctx, GLint un, GLdouble u1, GLdouble u2 ); 
     370        void ( *map_grid1f ) ( GLIContext ctx, GLint un, GLfloat u1, GLfloat u2 ); 
     371        void ( *map_grid2d ) ( GLIContext ctx, GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2 ); 
     372        void ( *map_grid2f ) ( GLIContext ctx, GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2 ); 
     373        void ( *materialf ) ( GLIContext ctx, GLenum face, GLenum pname, GLfloat param ); 
     374        void ( *materialfv ) ( GLIContext ctx, GLenum face, GLenum pname, GLfloat* params ); 
     375        void ( *materiali ) ( GLIContext ctx, GLenum face, GLenum pname, GLint param ); 
     376        void ( *materialiv ) ( GLIContext ctx, GLenum face, GLenum pname, GLint* params ); 
     377        void ( *matrix_mode ) ( GLIContext ctx, GLenum mode ); 
     378        void ( *mult_matrixd ) ( GLIContext ctx, GLdouble* m ); 
     379        void ( *mult_matrixf ) ( GLIContext ctx, GLfloat* m ); 
     380        void ( *new_list ) ( GLIContext ctx, GLuint list, GLenum mode ); 
     381        void ( *normal3b ) ( GLIContext ctx, GLbyte nx, GLbyte ny, GLbyte nz ); 
     382        void ( *normal3bv ) ( GLIContext ctx, GLbyte* v ); 
     383        void ( *normal3d ) ( GLIContext ctx, GLdouble nx, GLdouble ny, GLdouble nz ); 
     384        void ( *normal3dv ) ( GLIContext ctx, GLdouble* v ); 
     385        void ( *normal3f ) ( GLIContext ctx, GLfloat nx, GLfloat ny, GLfloat nz ); 
     386        void ( *normal3fv ) ( GLIContext ctx, GLfloat* v ); 
     387        void ( *normal3i ) ( GLIContext ctx, GLint nx, GLint ny, GLint nz ); 
     388        void ( *normal3iv ) ( GLIContext ctx, GLint* v ); 
     389        void ( *normal3s ) ( GLIContext ctx, GLshort nx, GLshort ny, GLshort nz ); 
     390        void ( *normal3sv ) ( GLIContext ctx, GLshort* v ); 
     391        void ( *normal_pointer ) ( GLIContext ctx, GLenum type, GLsizei stride, GLvoid* pointer ); 
     392        void ( *ortho ) ( GLIContext ctx, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar ); 
     393        void ( *pass_through ) ( GLIContext ctx, GLfloat token ); 
     394        void ( *pixel_mapfv ) ( GLIContext ctx, GLenum map, GLsizei mapsize, GLfloat* values ); 
     395        void ( *pixel_mapuiv ) ( GLIContext ctx, GLenum map, GLsizei mapsize, GLuint* values ); 
     396        void ( *pixel_mapusv ) ( GLIContext ctx, GLenum map, GLsizei mapsize, GLushort* values ); 
     397        void ( *pixel_storef ) ( GLIContext ctx, GLenum pname, GLfloat param ); 
     398        void ( *pixel_storei ) ( GLIContext ctx, GLenum pname, GLint param ); 
     399        void ( *pixel_transferf ) ( GLIContext ctx, GLenum pname, GLfloat param ); 
     400        void ( *pixel_transferi ) ( GLIContext ctx, GLenum pname, GLint param ); 
     401        void ( *pixel_zoom ) ( GLIContext ctx, GLfloat xfactor, GLfloat yfactor ); 
     402        void ( *point_size ) ( GLIContext ctx, GLfloat size ); 
     403        void ( *polygon_mode ) ( GLIContext ctx, GLenum face, GLenum mode ); 
     404        void ( *polygon_offset ) ( GLIContext ctx, GLfloat factor, GLfloat units ); 
     405        void ( *polygon_stipple ) ( GLIContext ctx, GLubyte* mask ); 
     406        void ( *pop_attrib ) ( GLIContext ctx ); 
     407        void ( *pop_client_attrib ) ( GLIContext ctx ); 
     408        void ( *pop_matrix ) ( GLIContext ctx ); 
     409        void ( *pop_name ) ( GLIContext ctx ); 
     410        void ( *prioritize_textures ) ( GLIContext ctx, GLsizei n, GLuint* textures, GLclampf* priorities ); 
     411        void ( *push_attrib ) ( GLIContext ctx, GLbitfield mask ); 
     412        void ( *push_client_attrib ) ( GLIContext ctx, GLbitfield mask ); 
     413        void ( *push_matrix ) ( GLIContext ctx ); 
     414        void ( *push_name ) ( GLIContext ctx, GLuint name ); 
     415        void ( *raster_pos2d ) ( GLIContext ctx, GLdouble x, GLdouble y ); 
     416        void ( *raster_pos2dv ) ( GLIContext ctx, GLdouble* v ); 
     417        void ( *raster_pos2f ) ( GLIContext ctx, GLfloat x, GLfloat y ); 
     418        void ( *raster_pos2fv ) ( GLIContext ctx, GLfloat* v ); 
     419        void ( *raster_pos2i ) ( GLIContext ctx, GLint x, GLint y ); 
     420        void ( *raster_pos2iv ) ( GLIContext ctx, GLint* v ); 
     421        void ( *raster_pos2s ) ( GLIContext ctx, GLshort x, GLshort y ); 
     422        void ( *raster_pos2sv ) ( GLIContext ctx, GLshort* v ); 
     423        void ( *raster_pos3d ) ( GLIContext ctx, GLdouble x, GLdouble y, GLdouble z ); 
     424        void ( *raster_pos3dv ) ( GLIContext ctx, GLdouble* v ); 
     425        void ( *raster_pos3f ) ( GLIContext ctx, GLfloat x, GLfloat y, GLfloat z ); 
     426        void ( *raster_pos3fv ) ( GLIContext ctx, GLfloat* v ); 
     427        void ( *raster_pos3i ) ( GLIContext ctx, GLint x, GLint y, GLint z ); 
     428        void ( *raster_pos3iv ) ( GLIContext ctx, GLint* v ); 
     429        void ( *raster_pos3s ) ( GLIContext ctx, GLshort x, GLshort y, GLshort z ); 
     430        void ( *raster_pos3sv ) ( GLIContext ctx, GLshort* v ); 
     431        void ( *raster_pos4d ) ( GLIContext ctx, GLdouble x, GLdouble y, GLdouble z, GLdouble w ); 
     432        void ( *raster_pos4dv ) ( GLIContext ctx, GLdouble* v ); 
     433        void ( *raster_pos4f ) ( GLIContext ctx, GLfloat x, GLfloat y, GLfloat z, GLfloat w ); 
     434        void ( *raster_pos4fv ) ( GLIContext ctx, GLfloat* v ); 
     435        void ( *raster_pos4i ) ( GLIContext ctx, GLint x, GLint y, GLint z, GLint w ); 
     436        void ( *raster_pos4iv ) ( GLIContext ctx, GLint* v ); 
     437        void ( *raster_pos4s ) ( GLIContext ctx, GLshort x, GLshort y, GLshort z, GLshort w ); 
     438        void ( *raster_pos4sv ) ( GLIContext ctx, GLshort* v ); 
     439        void ( *read_buffer ) ( GLIContext ctx, GLenum mode ); 
     440        void ( *read_pixels ) ( GLIContext ctx, GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels ); 
     441        void ( *rectd ) ( GLIContext ctx, GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2 ); 
     442        void ( *rectdv ) ( GLIContext ctx, GLdouble* v1, GLdouble* v2 ); 
     443        void ( *rectf ) ( GLIContext ctx, GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2 ); 
     444        void ( *rectfv ) ( GLIContext ctx, GLfloat* v1, GLfloat* v2 ); 
     445        void ( *recti ) ( GLIContext ctx, GLint x1, GLint y1, GLint x2, GLint y2 ); 
     446        void ( *rectiv ) ( GLIContext ctx, GLint* v1, GLint* v2 ); 
     447        void ( *rects ) ( GLIContext ctx, GLshort x1, GLshort y1, GLshort x2, GLshort y2 ); 
     448        void ( *rectsv ) ( GLIContext ctx, GLshort* v1, GLshort* v2 ); 
     449        GLint ( *render_mode ) ( GLIContext ctx, GLenum mode ); 
     450        void ( *rotated ) ( GLIContext ctx, GLdouble angle, GLdouble x, GLdouble y, GLdouble z ); 
     451        void ( *rotatef ) ( GLIContext ctx, GLfloat angle, GLfloat x, GLfloat y, GLfloat z ); 
     452        void ( *scaled ) ( GLIContext ctx, GLdouble x, GLdouble y, GLdouble z ); 
     453        void ( *scalef ) ( GLIContext ctx, GLfloat x, GLfloat y, GLfloat z ); 
     454        void ( *scissor ) ( GLIContext ctx, GLint x, GLint y, GLsizei width, GLsizei height ); 
     455        void ( *select_buffer ) ( GLIContext ctx, GLsizei size, GLuint* buffer ); 
     456        void ( *shade_model ) ( GLIContext ctx, GLenum mode ); 
     457        void ( *stencil_func ) ( GLIContext ctx, GLenum func, GLint _ref, GLuint mask ); 
     458        void ( *stencil_mask ) ( GLIContext ctx, GLuint mask ); 
     459        void ( *stencil_op ) ( GLIContext ctx, GLenum fail, GLenum zfail, GLenum zpass ); 
     460        void ( *tex_coord1d ) ( GLIContext ctx, GLdouble s ); 
     461        void ( *tex_coord1dv ) ( GLIContext ctx, GLdouble* v ); 
     462        void ( *tex_coord1f ) ( GLIContext ctx, GLfloat s ); 
     463        void ( *tex_coord1fv ) ( GLIContext ctx, GLfloat* v ); 
     464        void ( *tex_coord1i ) ( GLIContext ctx, GLint s ); 
     465        void ( *tex_coord1iv ) ( GLIContext ctx, GLint* v ); 
     466        void ( *tex_coord1s ) ( GLIContext ctx, GLshort s ); 
     467        void ( *tex_coord1sv ) ( GLIContext ctx, GLshort* v ); 
     468        void ( *tex_coord2d ) ( GLIContext ctx, GLdouble s, GLdouble t ); 
     469        void ( *tex_coord2dv ) ( GLIContext ctx, GLdouble* v ); 
     470        void ( *tex_coord2f ) ( GLIContext ctx, GLfloat s, GLfloat t ); 
     471        void ( *tex_coord2fv ) ( GLIContext ctx, GLfloat* v ); 
     472        void ( *tex_coord2i ) ( GLIContext ctx, GLint s, GLint t ); 
     473        void ( *tex_coord2iv ) ( GLIContext ctx, GLint* v ); 
     474        void ( *tex_coord2s ) ( GLIContext ctx, GLshort s, GLshort t ); 
     475        void ( *tex_coord2sv ) ( GLIContext ctx, GLshort* v ); 
     476        void ( *tex_coord3d ) ( GLIContext ctx, GLdouble s, GLdouble t, GLdouble r ); 
     477        void ( *tex_coord3dv ) ( GLIContext ctx, GLdouble* v ); 
     478        void ( *tex_coord3f ) ( GLIContext ctx, GLfloat s, GLfloat t, GLfloat r ); 
     479        void ( *tex_coord3fv ) ( GLIContext ctx, GLfloat* v ); 
     480        void ( *tex_coord3i ) ( GLIContext ctx, GLint s, GLint t, GLint r ); 
     481        void ( *tex_coord3iv ) ( GLIContext ctx, GLint* v ); 
     482        void ( *tex_coord3s ) ( GLIContext ctx, GLshort s, GLshort t, GLshort r ); 
     483        void ( *tex_coord3sv ) ( GLIContext ctx, GLshort* v ); 
     484        void ( *tex_coord4d ) ( GLIContext ctx, GLdouble s, GLdouble t, GLdouble r, GLdouble q ); 
     485        void ( *tex_coord4dv ) ( GLIContext ctx, GLdouble* v ); 
     486        void ( *tex_coord4f ) ( GLIContext ctx, GLfloat s, GLfloat t, GLfloat r, GLfloat q ); 
     487        void ( *tex_coord4fv ) ( GLIContext ctx, GLfloat* v ); 
     488        void ( *tex_coord4i ) ( GLIContext ctx, GLint s, GLint t, GLint r, GLint q ); 
     489        void ( *tex_coord4iv ) ( GLIContext ctx, GLint* v ); 
     490        void ( *tex_coord4s ) ( GLIContext ctx, GLshort s, GLshort t, GLshort r, GLshort q ); 
     491        void ( *tex_coord4sv ) ( GLIContext ctx, GLshort* v ); 
     492        void ( *tex_coord_pointer ) ( GLIContext ctx, GLint size, GLenum type, GLsizei stride, GLvoid* pointer ); 
     493        void ( *tex_envf ) ( GLIContext ctx, GLenum target, GLenum pname, GLfloat param ); 
     494        void ( *tex_envfv ) ( GLIContext ctx, GLenum target, GLenum pname, GLfloat* params ); 
     495        void ( *tex_envi ) ( GLIContext ctx, GLenum target, GLenum pname, GLint param ); 
     496        void ( *tex_enviv ) ( GLIContext ctx, GLenum target, GLenum pname, GLint* params ); 
     497        void ( *tex_gend ) ( GLIContext ctx, GLenum coord, GLenum pname, GLdouble param ); 
     498        void ( *tex_gendv ) ( GLIContext ctx, GLenum coord, GLenum pname, GLdouble* params ); 
     499        void ( *tex_genf ) ( GLIContext ctx, GLenum coord, GLenum pname, GLfloat param ); 
     500        void ( *tex_genfv ) ( GLIContext ctx, GLenum coord, GLenum pname, GLfloat* params ); 
     501        void ( *tex_geni ) ( GLIContext ctx, GLenum coord, GLenum pname, GLint param ); 
     502        void ( *tex_geniv ) ( GLIContext ctx, GLenum coord, GLenum pname, GLint* params ); 
     503        void ( *tex_image1D ) ( GLIContext ctx, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLenum format, GLenum type, GLvoid* pixels ); 
     504        void ( *tex_image2D ) ( GLIContext ctx, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, GLvoid* pixels ); 
     505        void ( *tex_parameterf ) ( GLIContext ctx, GLenum target, GLenum pname, GLfloat param ); 
     506        void ( *tex_parameterfv ) ( GLIContext ctx, GLenum target, GLenum pname, GLfloat* params ); 
     507        void ( *tex_parameteri ) ( GLIContext ctx, GLenum target, GLenum pname, GLint param ); 
     508        void ( *tex_parameteriv ) ( GLIContext ctx, GLenum target, GLenum pname, GLint* params ); 
     509        void ( *tex_sub_image1D ) ( GLIContext ctx, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, GLvoid* pixels ); 
     510        void ( *tex_sub_image2D ) ( GLIContext ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels ); 
     511        void ( *translated ) ( GLIContext ctx, GLdouble x, GLdouble y, GLdouble z ); 
     512        void ( *translatef ) ( GLIContext ctx, GLfloat x, GLfloat y, GLfloat z ); 
     513        void ( *vertex2d ) ( GLIContext ctx, GLdouble x, GLdouble y ); 
     514        void ( *vertex2dv ) ( GLIContext ctx, GLdouble* v ); 
     515        void ( *vertex2f ) ( GLIContext ctx, GLfloat x, GLfloat y ); 
     516        void ( *vertex2fv ) ( GLIContext ctx, GLfloat* v ); 
     517        void ( *vertex2i ) ( GLIContext ctx, GLint x, GLint y ); 
     518        void ( *vertex2iv ) ( GLIContext ctx, GLint* v ); 
     519        void ( *vertex2s ) ( GLIContext ctx, GLshort x, GLshort y ); 
     520        void ( *vertex2sv ) ( GLIContext ctx, GLshort* v ); 
     521        void ( *vertex3d ) ( GLIContext ctx, GLdouble x, GLdouble y, GLdouble z ); 
     522        void ( *vertex3dv ) ( GLIContext ctx, GLdouble* v ); 
     523        void ( *vertex3f ) ( GLIContext ctx, GLfloat x, GLfloat y, GLfloat z ); 
     524        void ( *vertex3fv ) ( GLIContext ctx, GLfloat* v ); 
     525        void ( *vertex3i ) ( GLIContext ctx, GLint x, GLint y, GLint z ); 
     526        void ( *vertex3iv ) ( GLIContext ctx, GLint* v ); 
     527        void ( *vertex3s ) ( GLIContext ctx, GLshort x, GLshort y, GLshort z ); 
     528        void ( *vertex3sv ) ( GLIContext ctx, GLshort* v ); 
     529        void ( *vertex4d ) ( GLIContext ctx, GLdouble x, GLdouble y, GLdouble z, GLdouble w ); 
     530        void ( *vertex4dv ) ( GLIContext ctx, GLdouble* v ); 
     531        void ( *vertex4f ) ( GLIContext ctx, GLfloat x, GLfloat y, GLfloat z, GLfloat w ); 
     532        void ( *vertex4fv ) ( GLIContext ctx, GLfloat* v ); 
     533        void ( *vertex4i ) ( GLIContext ctx, GLint x, GLint y, GLint z, GLint w ); 
     534        void ( *vertex4iv ) ( GLIContext ctx, GLint* v ); 
     535        void ( *vertex4s ) ( GLIContext ctx, GLshort x, GLshort y, GLshort z, GLshort w ); 
     536        void ( *vertex4sv ) ( GLIContext ctx, GLshort* v ); 
     537        void ( *vertex_pointer ) ( GLIContext ctx, GLint size, GLenum type, GLsizei stride, GLvoid* pointer ); 
     538        void ( *viewport ) ( GLIContext ctx, GLint x, GLint y, GLsizei width, GLsizei height ); 
     539        void ( *blend_func_separate ) ( GLIContext ctx, GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha ); 
     540        void ( *blend_color ) ( GLIContext ctx, GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha ); 
     541        void ( *blend_equation ) ( GLIContext ctx, GLenum mode ); 
     542        void ( *lock_arrays_EXT ) ( GLIContext ctx, GLint first, GLsizei count ); 
     543        void ( *unlock_arrays_EXT ) ( GLIContext ctx ); 
     544        void ( *client_active_texture ) ( GLIContext ctx, GLenum target ); 
     545        void ( *active_texture ) ( GLIContext ctx, GLenum target ); 
     546        void ( *multi_tex_coord1d ) ( GLIContext ctx, GLenum target, GLdouble s ); 
     547        void ( *multi_tex_coord1dv ) ( GLIContext ctx, GLenum target, GLdouble* v ); 
     548        void ( *multi_tex_coord1f ) ( GLIContext ctx, GLenum target, GLfloat s ); 
     549        void ( *multi_tex_coord1fv ) ( GLIContext ctx, GLenum target, GLfloat* v ); 
     550        void ( *multi_tex_coord1i ) ( GLIContext ctx, GLenum target, GLint s ); 
     551        void ( *multi_tex_coord1iv ) ( GLIContext ctx, GLenum target, GLint* v ); 
     552        void ( *multi_tex_coord1s ) ( GLIContext ctx, GLenum target, GLshort s ); 
     553        void ( *multi_tex_coord1sv ) ( GLIContext ctx, GLenum target, GLshort* v ); 
     554        void ( *multi_tex_coord2d ) ( GLIContext ctx, GLenum target, GLdouble s, GLdouble t ); 
     555        void ( *multi_tex_coord2dv ) ( GLIContext ctx, GLenum target, GLdouble* v ); 
     556        void ( *multi_tex_coord2f ) ( GLIContext ctx, GLenum target, GLfloat s, GLfloat t ); 
     557        void ( *multi_tex_coord2fv ) ( GLIContext ctx, GLenum target, GLfloat* v ); 
     558        void ( *multi_tex_coord2i ) ( GLIContext ctx, GLenum target, GLint s, GLint t ); 
     559        void ( *multi_tex_coord2iv ) ( GLIContext ctx, GLenum target, GLint* v ); 
     560        void ( *multi_tex_coord2s ) ( GLIContext ctx, GLenum target, GLshort s, GLshort t ); 
     561        void ( *multi_tex_coord2sv ) ( GLIContext ctx, GLenum target, GLshort* v ); 
     562        void ( *multi_tex_coord3d ) ( GLIContext ctx, GLenum target, GLdouble s, GLdouble t, GLdouble r ); 
     563        void ( *multi_tex_coord3dv ) ( GLIContext ctx, GLenum target, GLdouble* v ); 
     564        void ( *multi_tex_coord3f ) ( GLIContext ctx, GLenum target, GLfloat s, GLfloat t, GLfloat r ); 
     565        void ( *multi_tex_coord3fv ) ( GLIContext ctx, GLenum target, GLfloat* v ); 
     566        void ( *multi_tex_coord3i ) ( GLIContext ctx, GLenum target, GLint s, GLint t, GLint r ); 
     567        void ( *multi_tex_coord3iv ) ( GLIContext ctx, GLenum target, GLint* v ); 
     568        void ( *multi_tex_coord3s ) ( GLIContext ctx, GLenum target, GLshort s, GLshort t, GLshort r ); 
     569        void ( *multi_tex_coord3sv ) ( GLIContext ctx, GLenum target, GLshort* v ); 
     570        void ( *multi_tex_coord4d ) ( GLIContext ctx, GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q ); 
     571        void ( *multi_tex_coord4dv ) ( GLIContext ctx, GLenum target, GLdouble* v ); 
     572        void ( *multi_tex_coord4f ) ( GLIContext ctx, GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q ); 
     573        void ( *multi_tex_coord4fv ) ( GLIContext ctx, GLenum target, GLfloat* v ); 
     574        void ( *multi_tex_coord4i ) ( GLIContext ctx, GLenum target, GLint s, GLint t, GLint r, GLint q ); 
     575        void ( *multi_tex_coord4iv ) ( GLIContext ctx, GLenum target, GLint* v ); 
     576        void ( *multi_tex_coord4s ) ( GLIContext ctx, GLenum target, GLshort s, GLshort t, GLshort r, GLshort q ); 
     577        void ( *multi_tex_coord4sv ) ( GLIContext ctx, GLenum target, GLshort* v ); 
     578        void ( *load_transpose_matrixd ) ( GLIContext ctx, GLdouble* m ); 
     579        void ( *load_transpose_matrixf ) ( GLIContext ctx, GLfloat* m ); 
     580        void ( *mult_transpose_matrixd ) ( GLIContext ctx, GLdouble* m ); 
     581        void ( *mult_transpose_matrixf ) ( GLIContext ctx, GLfloat* m ); 
     582        void ( *compressed_tex_image3D ) ( GLIContext ctx, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, GLvoid* data ); 
     583        void ( *compressed_tex_image2D ) ( GLIContext ctx, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, GLvoid* data ); 
     584        void ( *compressed_tex_image1D ) ( GLIContext ctx, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, GLvoid* data ); 
     585        void ( *compressed_tex_sub_image3D ) ( GLIContext ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, GLvoid* data ); 
     586        void ( *compressed_tex_sub_image2D ) ( GLIContext ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, GLvoid* data ); 
     587        void ( *compressed_tex_sub_image1D ) ( GLIContext ctx, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, GLvoid* data ); 
     588        void ( *get_compressed_tex_image ) ( GLIContext ctx, GLenum target, GLint level, GLvoid* img ); 
     589        void ( *secondary_color3b ) ( GLIContext ctx, GLbyte red, GLbyte green, GLbyte blue ); 
     590        void ( *secondary_color3bv ) ( GLIContext ctx, GLbyte* v ); 
     591        void ( *secondary_color3d ) ( GLIContext ctx, GLdouble red, GLdouble green, GLdouble blue ); 
     592        void ( *secondary_color3dv ) ( GLIContext ctx, GLdouble* v ); 
     593        void ( *secondary_color3f ) ( GLIContext ctx, GLfloat red, GLfloat green, GLfloat blue ); 
     594        void ( *secondary_color3fv ) ( GLIContext ctx, GLfloat* v ); 
     595        void ( *secondary_color3i ) ( GLIContext ctx, GLint red, GLint green, GLint blue ); 
     596        void ( *secondary_color3iv ) ( GLIContext ctx, GLint* v ); 
     597        void ( *secondary_color3s ) ( GLIContext ctx, GLshort red, GLshort green, GLshort blue ); 
     598        void ( *secondary_color3sv ) ( GLIContext ctx, GLshort* v ); 
     599        void ( *secondary_color3ub ) ( GLIContext ctx, GLubyte red, GLubyte green, GLubyte blue ); 
     600        void ( *secondary_color3ubv ) ( GLIContext ctx, GLubyte* v ); 
     601        void ( *secondary_color3ui ) ( GLIContext ctx, GLuint red, GLuint green, GLuint blue ); 
     602        void ( *secondary_color3uiv ) ( GLIContext ctx, GLuint* v ); 
     603        void ( *secondary_color3us ) ( GLIContext ctx, GLushort red, GLushort green, GLushort blue ); 
     604        void ( *secondary_color3usv ) ( GLIContext ctx, GLushort* v ); 
     605        void ( *secondary_color_pointer ) ( GLIContext ctx, GLint size, GLenum type, GLsizei stride, GLvoid* pointer ); 
     606        void ( *vertex_array_range_EXT ) ( GLIContext ctx, GLsizei count, GLvoid* pointer ); 
     607        void ( *flush_vertex_array_range_EXT ) ( GLIContext ctx, GLsizei count, GLvoid* pointer ); 
     608        void ( *draw_range_elements ) ( GLIContext ctx, GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, GLvoid* indices ); 
     609        void ( *color_table ) ( GLIContext ctx, GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, GLvoid* table ); 
     610        void ( *color_table_parameterfv ) ( GLIContext ctx, GLenum target, GLenum pname, GLfloat* params ); 
     611        void ( *color_table_parameteriv ) ( GLIContext ctx, GLenum target, GLenum pname, GLint* params ); 
     612        void ( *copy_color_table ) ( GLIContext ctx, GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width ); 
     613        void ( *get_color_table ) ( GLIContext ctx, GLenum target, GLenum format, GLenum type, GLvoid* table ); 
     614        void ( *get_color_table_parameterfv ) ( GLIContext ctx, GLenum target, GLenum pname, GLfloat* params ); 
     615        void ( *get_color_table_parameteriv ) ( GLIContext ctx, GLenum target, GLenum pname, GLint* params ); 
     616        void ( *color_sub_table ) ( GLIContext ctx, GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, GLvoid* data ); 
     617        void ( *copy_color_sub_table ) ( GLIContext ctx, GLenum target, GLsizei start, GLint x, GLint y, GLsizei width ); 
     618        void ( *convolution_filter1D ) ( GLIContext ctx, GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, GLvoid* image ); 
     619        void ( *convolution_filter2D ) ( GLIContext ctx, GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* image ); 
     620        void ( *convolution_parameterf ) ( GLIContext ctx, GLenum target, GLenum pname, GLfloat params ); 
     621        void ( *convolution_parameterfv ) ( GLIContext ctx, GLenum target, GLenum pname, GLfloat* params ); 
     622        void ( *convolution_parameteri ) ( GLIContext ctx, GLenum target, GLenum pname, GLint params ); 
     623        void ( *convolution_parameteriv ) ( GLIContext ctx, GLenum target, GLenum pname, GLint* params ); 
     624        void ( *copy_convolution_filter1D ) ( GLIContext ctx, GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width ); 
     625        void ( *copy_convolution_filter2D ) ( GLIContext ctx, GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height ); 
     626        void ( *get_convolution_filter ) ( GLIContext ctx, GLenum target, GLenum format, GLenum type, GLvoid* image ); 
     627        void ( *get_convolution_parameterfv ) ( GLIContext ctx, GLenum target, GLenum pname, GLfloat* params ); 
     628        void ( *get_convolution_parameteriv ) ( GLIContext ctx, GLenum target, GLenum pname, GLint* params ); 
     629        void ( *get_separable_filter ) ( GLIContext ctx, GLenum target, GLenum format, GLenum type, GLvoid* row, GLvoid* column, GLvoid* span ); 
     630        void ( *separable_filter2D ) ( GLIContext ctx, GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* row, GLvoid* column ); 
     631        void ( *get_histogram ) ( GLIContext ctx, GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid* values ); 
     632        void ( *get_histogram_parameterfv ) ( GLIContext ctx, GLenum target, GLenum pname, GLfloat* params ); 
     633        void ( *get_histogram_parameteriv ) ( GLIContext ctx, GLenum target, GLenum pname, GLint* params ); 
     634        void ( *get_minmax ) ( GLIContext ctx, GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid* values ); 
     635        void ( *get_minmax_parameterfv ) ( GLIContext ctx, GLenum target, GLenum pname, GLfloat* params ); 
     636        void ( *get_minmax_parameteriv ) ( GLIContext ctx, GLenum target, GLenum pname, GLint* params ); 
     637        void ( *histogram ) ( GLIContext ctx, GLenum target, GLsizei width, GLenum internalformat, GLboolean sink ); 
     638        void ( *minmax ) ( GLIContext ctx, GLenum target, GLenum internalformat, GLboolean sink ); 
     639        void ( *reset_histogram ) ( GLIContext ctx, GLenum target ); 
     640        void ( *reset_minmax ) ( GLIContext ctx, GLenum target ); 
     641        void ( *tex_image3D ) ( GLIContext ctx, GLenum target, GLint level, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, GLvoid* pixels ); 
     642        void ( *tex_sub_image3D ) ( GLIContext ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLvoid* pixels ); 
     643        void ( *copy_tex_sub_image3D ) ( GLIContext ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height ); 
     644        void ( *combiner_parameterfv_NV ) ( GLIContext ctx, GLenum pname, GLfloat* params ); 
     645        void ( *combiner_parameterf_NV ) ( GLIContext ctx, GLenum pname, GLfloat param ); 
     646        void ( *combiner_parameteriv_NV ) ( GLIContext ctx, GLenum pname, GLint* params ); 
     647        void ( *combiner_parameteri_NV ) ( GLIContext ctx, GLenum pname, GLint param ); 
     648        void ( *combiner_input_NV ) ( GLIContext ctx, GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage ); 
     649        void ( *combiner_output_NV ) ( GLIContext ctx, GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum ); 
     650        void ( *final_combiner_input_NV ) ( GLIContext ctx, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage ); 
     651        void ( *get_combiner_input_parameterfv_NV ) ( GLIContext ctx, GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat* params ); 
     652        void ( *get_combiner_input_parameteriv_NV ) ( GLIContext ctx, GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint* params ); 
     653        void ( *get_combiner_output_parameterfv_NV ) ( GLIContext ctx, GLenum stage, GLenum portion, GLenum pname, GLfloat* params ); 
     654        void ( *get_combiner_output_parameteriv_NV ) ( GLIContext ctx, GLenum stage, GLenum portion, GLenum pname, GLint* params ); 
     655        void ( *get_final_combiner_input_parameterfv_NV ) ( GLIContext ctx, GLenum variable, GLenum pname, GLfloat* params ); 
     656        void ( *get_final_combiner_input_parameteriv_NV ) ( GLIContext ctx, GLenum variable, GLenum pname, GLint* params ); 
     657        void ( *combiner_stage_parameterfv_NV ) ( GLIContext ctx, GLenum stage, GLenum pname, GLfloat* params ); 
     658        void ( *get_combiner_stage_parameterfv_NV ) ( GLIContext ctx, GLenum stage, GLenum pname, GLfloat* params ); 
     659        void ( *texture_range_APPLE ) ( GLIContext ctx, GLenum target, GLsizei length, GLvoid* pointer ); 
     660        void ( *get_tex_parameter_pointerv_APPLE ) ( GLIContext ctx, GLenum target, GLenum pname, GLvoid** params ); 
     661        void ( *blend_equation_separate_ATI ) ( GLIContext ctx, GLenum equationRGB, GLenum equationAlpha ); 
     662        void ( *sample_coverage ) ( GLIContext ctx, GLclampf value, GLboolean invert ); 
     663        void ( *sample_pass ) ( GLIContext ctx, GLenum mode ); 
     664        void ( *pn_trianglesi_ATI ) ( GLIContext ctx, GLenum pname, GLint param ); 
     665        void ( *pn_trianglesf_ATI ) ( GLIContext ctx, GLenum pname, GLfloat param ); 
     666        void ( *gen_fences_APPLE ) ( GLIContext ctx, GLsizei n, GLuint* fences ); 
     667        void ( *delete_fences_APPLE ) ( GLIContext ctx, GLsizei n, GLuint* fences ); 
     668        void ( *set_fence_APPLE ) ( GLIContext ctx, GLuint fence ); 
     669        GLboolean ( *is_fence_APPLE ) ( GLIContext ctx, GLuint fence ); 
     670        GLboolean ( *test_fence_APPLE ) ( GLIContext ctx, GLuint fence ); 
     671        void ( *finish_fence_APPLE ) ( GLIContext ctx, GLuint fence ); 
     672        GLboolean ( *test_object_APPLE ) ( GLIContext ctx, GLenum object, GLuint name ); 
     673        void ( *finish_object_APPLE ) ( GLIContext ctx, GLenum object, GLuint name ); 
     674        void ( *bind_program_ARB ) ( GLIContext ctx, GLenum target, GLuint program ); 
     675        void ( *delete_programs_ARB ) ( GLIContext ctx, GLsizei n, GLuint* programs ); 
     676        void ( *gen_programs_ARB ) ( GLIContext ctx, GLsizei n, GLuint* programs ); 
     677        GLboolean ( *is_program_ARB ) ( GLIContext ctx, GLuint program ); 
     678        void ( *vertex_attrib1s_ARB ) ( GLIContext ctx, GLuint index, GLshort x ); 
     679        void ( *vertex_attrib1f_ARB ) ( GLIContext ctx, GLuint index, GLfloat x ); 
     680        void ( *vertex_attrib1d_ARB ) ( GLIContext ctx, GLuint index, GLdouble x ); 
     681        void ( *vertex_attrib2s_ARB ) ( GLIContext ctx, GLuint index, GLshort x, GLshort y ); 
     682        void ( *vertex_attrib2f_ARB ) ( GLIContext ctx, GLuint index, GLfloat x, GLfloat y ); 
     683        void ( *vertex_attrib2d_ARB ) ( GLIContext ctx, GLuint index, GLdouble x, GLdouble y ); 
     684        void ( *vertex_attrib3s_ARB ) ( GLIContext ctx, GLuint index, GLshort x, GLshort y, GLshort z ); 
     685        void ( *vertex_attrib3f_ARB ) ( GLIContext ctx, GLuint index, GLfloat x, GLfloat y, GLfloat z ); 
     686        void ( *vertex_attrib3d_ARB ) ( GLIContext ctx, GLuint index, GLdouble x, GLdouble y, GLdouble z ); 
     687        void ( *vertex_attrib4s_ARB ) ( GLIContext ctx, GLuint index, GLshort x, GLshort y, GLshort z, GLshort w ); 
     688        void ( *vertex_attrib4f_ARB ) ( GLIContext ctx, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w ); 
     689        void ( *vertex_attrib4d_ARB ) ( GLIContext ctx, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w ); 
     690        void ( *vertex_attrib4Nub_ARB ) ( GLIContext ctx, GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w ); 
     691        void ( *vertex_attrib1sv_ARB ) ( GLIContext ctx, GLuint index, GLshort* v ); 
     692        void ( *vertex_attrib1fv_ARB ) ( GLIContext ctx, GLuint index, GLfloat* v ); 
     693        void ( *vertex_attrib1dv_ARB ) ( GLIContext ctx, GLuint index, GLdouble* v ); 
     694        void ( *vertex_attrib2sv_ARB ) ( GLIContext ctx, GLuint index, GLshort* v ); 
     695        void ( *vertex_attrib2fv_ARB ) ( GLIContext ctx, GLuint index, GLfloat* v ); 
     696        void ( *vertex_attrib2dv_ARB ) ( GLIContext ctx, GLuint index, GLdouble* v ); 
     697        void ( *vertex_attrib3sv_ARB ) ( GLIContext ctx, GLuint index, GLshort* v ); 
     698        void ( *vertex_attrib3fv_ARB ) ( GLIContext ctx, GLuint index, GLfloat* v ); 
     699        void ( *vertex_attrib3dv_ARB ) ( GLIContext ctx, GLuint index, GLdouble* v ); 
     700        void ( *vertex_attrib4bv_ARB ) ( GLIContext ctx, GLuint index, GLbyte* v ); 
     701        void ( *vertex_attrib4sv_ARB ) ( GLIContext ctx, GLuint index, GLshort* v ); 
     702        void ( *vertex_attrib4iv_ARB ) ( GLIContext ctx, GLuint index, GLint* v ); 
     703        void ( *vertex_attrib4ubv_ARB ) ( GLIContext ctx, GLuint index, GLubyte* v ); 
     704        void ( *vertex_attrib4usv_ARB ) ( GLIContext ctx, GLuint index, GLushort* v ); 
     705        void ( *vertex_attrib4uiv_ARB ) ( GLIContext ctx, GLuint index, GLuint* v ); 
     706        void ( *vertex_attrib4fv_ARB ) ( GLIContext ctx, GLuint index, GLfloat* v ); 
     707        void ( *vertex_attrib4dv_ARB ) ( GLIContext ctx, GLuint index, GLdouble* v ); 
     708        void ( *vertex_attrib4Nbv_ARB ) ( GLIContext ctx, GLuint index, GLbyte* v ); 
     709        void ( *vertex_attrib4Nsv_ARB ) ( GLIContext ctx, GLuint index, GLshort* v ); 
     710        void ( *vertex_attrib4Niv_ARB ) ( GLIContext ctx, GLuint index, GLint* v ); 
     711        void ( *vertex_attrib4Nubv_ARB ) ( GLIContext ctx, GLuint index, GLubyte* v ); 
     712        void ( *vertex_attrib4Nusv_ARB ) ( GLIContext ctx, GLuint index, GLushort* v ); 
     713        void ( *vertex_attrib4Nuiv_ARB ) ( GLIContext ctx, GLuint index, GLuint* v ); 
     714        void ( *vertex_attrib_pointer_ARB ) ( GLIContext ctx, GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLvoid* pointer ); 
     715        void ( *enable_vertex_attrib_array_ARB ) ( GLIContext ctx, GLuint index ); 
     716        void ( *disable_vertex_attrib_array_ARB ) ( GLIContext ctx, GLuint index ); 
     717        void ( *get_vertex_attribdv_ARB ) ( GLIContext ctx, GLuint index, GLenum pname, GLdouble* params ); 
     718        void ( *get_vertex_attribfv_ARB ) ( GLIContext ctx, GLuint index, GLenum pname, GLfloat* params ); 
     719        void ( *get_vertex_attribiv_ARB ) ( GLIContext ctx, GLuint index, GLenum pname, GLint* params ); 
     720        void ( *get_vertex_attrib_pointerv_ARB ) ( GLIContext ctx, GLuint index, GLenum pname, GLvoid** pointer ); 
     721        void ( *program_env_parameter4d_ARB ) ( GLIContext ctx, GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w ); 
     722        void ( *program_env_parameter4dv_ARB ) ( GLIContext ctx, GLenum target, GLuint index, GLdouble* params ); 
     723        void ( *program_env_parameter4f_ARB ) ( GLIContext ctx, GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w ); 
     724        void ( *program_env_parameter4fv_ARB ) ( GLIContext ctx, GLenum target, GLuint index, GLfloat* params ); 
     725        void ( *program_local_parameter4d_ARB ) ( GLIContext ctx, GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w ); 
     726        void ( *program_local_parameter4dv_ARB ) ( GLIContext ctx, GLenum target, GLuint index, GLdouble* params ); 
     727        void ( *program_local_parameter4f_ARB ) ( GLIContext ctx, GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w ); 
     728        void ( *program_local_parameter4fv_ARB ) ( GLIContext ctx, GLenum target, GLuint index, GLfloat* params ); 
     729        void ( *get_program_env_parameterdv_ARB ) ( GLIContext ctx, GLenum target, GLuint index, GLdouble* params ); 
     730        void ( *get_program_env_parameterfv_ARB ) ( GLIContext ctx, GLenum target, GLuint index, GLfloat* params ); 
     731        void ( *get_program_local_parameterdv_ARB ) ( GLIContext ctx, GLenum target, GLuint index, GLdouble* params ); 
     732        void ( *get_program_local_parameterfv_ARB ) ( GLIContext ctx, GLenum target, GLuint index, GLfloat* params ); 
     733        void ( *program_string_ARB ) ( GLIContext ctx, GLenum target, GLenum format, GLsizei len, GLvoid* string ); 
     734        void ( *get_program_string_ARB ) ( GLIContext ctx, GLenum target, GLenum pname, GLvoid* string ); 
     735        void ( *get_programiv_ARB ) ( GLIContext ctx, GLenum target, GLenum pname, GLint* params ); 
     736        void ( *enable_vertex_attrib_ARB ) ( GLIContext ctx, GLuint index, GLenum pname ); 
     737        void ( *disable_vertex_attrib_ARB ) ( GLIContext ctx, GLuint index, GLenum pname ); 
     738        GLboolean ( *is_vertex_attrib_enabled_ARB ) ( GLIContext ctx, GLuint index, GLenum pname ); 
     739        void ( *map_vertex_attrib1d_ARB ) ( GLIContext ctx, GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint stride, GLint order, GLdouble* points ); 
     740        void ( *map_vertex_attrib1f_ARB ) ( GLIContext ctx, GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint stride, GLint order, GLfloat* points ); 
     741        void ( *map_vertex_attrib2d_ARB ) ( GLIContext ctx, GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, GLdouble* points ); 
     742        void ( *map_vertex_attrib2f_ARB ) ( GLIContext ctx, GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, GLfloat* points ); 
     743        void ( *point_parameterf ) ( GLIContext ctx, GLenum pname, GLfloat param ); 
     744        void ( *point_parameterfv ) ( GLIContext ctx, GLenum pname, GLfloat* params ); 
     745        void ( *point_parameteri ) ( GLIContext ctx, GLenum pname, GLint param ); 
     746        void ( *point_parameteriv ) ( GLIContext ctx, GLenum pname, GLint* params ); 
     747        void ( *fog_coordf ) ( GLIContext ctx, GLfloat coord ); 
     748        void ( *fog_coordfv ) ( GLIContext ctx, GLfloat* coord ); 
     749        void ( *fog_coordd ) ( GLIContext ctx, GLdouble coord ); 
     750        void ( *fog_coorddv ) ( GLIContext ctx, GLdouble* coord ); 
     751        void ( *fog_coord_pointer ) ( GLIContext ctx, GLenum type, GLsizei stride, GLvoid* pointer ); 
     752        void ( *vertex_array_parameteri_EXT ) ( GLIContext ctx, GLenum pname, GLint param ); 
     753        void ( *bind_vertex_array_EXT ) ( GLIContext ctx, GLuint id ); 
     754        void ( *delete_vertex_arrays_EXT ) ( GLIContext ctx, GLsizei n, GLuint* ids ); 
     755        void ( *gen_vertex_arrays_EXT ) ( GLIContext ctx, GLsizei n, GLuint* ids ); 
     756        GLboolean ( *is_vertex_array_EXT ) ( GLIContext ctx, GLuint id ); 
     757        void ( *element_pointer_APPLE ) ( GLIContext ctx, GLenum type, GLvoid* pointer ); 
     758        void ( *draw_element_array_APPLE ) ( GLIContext ctx, GLenum mode, GLint first, GLsizei count ); 
     759        void ( *draw_range_element_array_APPLE ) ( GLIContext ctx, GLenum mode, GLuint start, GLuint end, GLint first, GLsizei count ); 
     760        void ( *weightbv_ARB ) ( GLIContext ctx, GLint size, GLbyte* weights ); 
     761        void ( *weightsv_ARB ) ( GLIContext ctx, GLint size, GLshort* weights ); 
     762        void ( *weightiv_ARB ) ( GLIContext ctx, GLint size, GLint* weights ); 
     763        void ( *weightfv_ARB ) ( GLIContext ctx, GLint size, GLfloat* weights ); 
     764        void ( *weightdv_ARB ) ( GLIContext ctx, GLint size, GLdouble* weights ); 
     765        void ( *weightubv_ARB ) ( GLIContext ctx, GLint size, GLubyte* weights ); 
     766        void ( *weightusv_ARB ) ( GLIContext ctx, GLint size, GLushort* weights ); 
     767        void ( *weightuiv_ARB ) ( GLIContext ctx, GLint size, GLuint* weights ); 
     768        void ( *weight_pointer_ARB ) ( GLIContext ctx, GLint size, GLenum type, GLsizei stride, GLvoid* pointer ); 
     769        void ( *vertex_blend_ARB ) ( GLIContext ctx, GLint count ); 
     770        void ( *multi_draw_arrays ) ( GLIContext ctx, GLenum mode, GLint* first, GLsizei* count, GLsizei primcount ); 
     771        void ( *multi_draw_elements ) ( GLIContext ctx, GLenum mode, GLsizei* count, GLenum type, GLvoid** indices, GLsizei primcount ); 
     772        void ( *window_pos2d ) ( GLIContext ctx, GLdouble x, GLdouble y ); 
     773        void ( *window_pos2dv ) ( GLIContext ctx, GLdouble* v ); 
     774        void ( *window_pos2f ) ( GLIContext ctx, GLfloat x, GLfloat y ); 
     775        void ( *window_pos2fv ) ( GLIContext ctx, GLfloat* v ); 
     776        void ( *window_pos2i ) ( GLIContext ctx, GLint x, GLint y ); 
     777        void ( *window_pos2iv ) ( GLIContext ctx, GLint* v ); 
     778        void ( *window_pos2s ) ( GLIContext ctx, GLshort x, GLshort y ); 
     779        void ( *window_pos2sv ) ( GLIContext ctx, GLshort* v ); 
     780        void ( *window_pos3d ) ( GLIContext ctx, GLdouble x, GLdouble y, GLdouble z ); 
     781        void ( *window_pos3dv ) ( GLIContext ctx, GLdouble* v ); 
     782        void ( *window_pos3f ) ( GLIContext ctx, GLfloat x, GLfloat y, GLfloat z ); 
     783        void ( *window_pos3fv ) ( GLIContext ctx, GLfloat* v ); 
     784        void ( *window_pos3i ) ( GLIContext ctx, GLint x, GLint y, GLint z ); 
     785        void ( *window_pos3iv ) ( GLIContext ctx, GLint* v ); 
     786        void ( *window_pos3s ) ( GLIContext ctx, GLshort x, GLshort y, GLshort z ); 
     787        void ( *window_pos3sv ) ( GLIContext ctx, GLshort* v ); 
     788        void ( *active_stencil_face_EXT ) ( GLIContext ctx, GLenum face ); 
    794789    } 
    795790} 
    796791 
    797 struct __AGLContextRec 
    798 
     792struct __AGLContextRec { 
    799793    GLIContext rend; 
    800794    GLIFunctionDispatch disp; 
    801795    AGLPrivate priv; 
    802796} 
    803      
     797 
    804798/* Functions */ 
    805 extern(System) 
    806 
    807     AGLPixelFormat aglChoosePixelFormat(AGLDevice* gdevs, GLint ndev, GLint* attribs); 
    808     void aglDestroyPixelFormat(AGLPixelFormat pix); 
    809     AGLPixelFormat aglNextPixelFormat( AGLPixelFormat pix); 
    810     GLboolean aglDescribePixelFormat(AGLPixelFormat pix, GLint attrib, GLint* value); 
    811     AGLDevice* aglDevicesOfPixelFormat(AGLPixelFormat pix, GLint* ndevs); 
    812     AGLRendererInfo aglQueryRendererInfo(AGLDevice* gdevs, GLint ndev); 
    813     void aglDestroyRendererInfo(AGLRendererInfo rend); 
    814     AGLRendererInfo aglNextRendererInfo(AGLRendererInfo rend); 
    815     GLboolean aglDescribeRenderer(AGLRendererInfo rend, GLint prop, GLint* value); 
    816     AGLContext aglCreateContext(AGLPixelFormat pix, AGLContext share); 
    817     GLboolean aglDestroyContext(AGLContext ctx); 
    818     GLboolean aglCopyContext(AGLContext src, AGLContext dst, GLuint mask); 
    819     GLboolean aglUpdateContext(AGLContext ctx); 
    820     GLboolean aglSetCurrentContext(AGLContext ctx); 
     799extern ( System ) { 
     800    AGLPixelFormat aglChoosePixelFormat( AGLDevice* gdevs, GLint ndev, 
     801        GLint* attribs ); 
     802 
     803    void aglDestroyPixelFormat( AGLPixelFormat pix ); 
     804 
     805    AGLPixelFormat aglNextPixelFormat( AGLPixelFormat pix ); 
     806 
     807    GLboolean aglDescribePixelFormat( AGLPixelFormat pix, GLint attrib, 
     808        GLint* value ); 
     809 
     810    AGLDevice* aglDevicesOfPixelFormat( AGLPixelFormat pix, GLint* ndevs ); 
     811 
     812    AGLRendererInfo aglQueryRendererInfo( AGLDevice* gdevs, GLint ndev ); 
     813 
     814    void aglDestroyRendererInfo( AGLRendererInfo rend ); 
     815 
     816    AGLRendererInfo aglNextRendererInfo( AGLRendererInfo rend ); 
     817 
     818    GLboolean aglDescribeRenderer( AGLRendererInfo rend, GLint prop, 
     819        GLint* value ); 
     820 
     821    AGLContext aglCreateContext( AGLPixelFormat pix, AGLContext share ); 
     822 
     823    GLboolean aglDestroyContext( AGLContext ctx ); 
     824 
     825    GLboolean aglCopyContext( AGLContext src, AGLContext dst, GLuint mask ); 
     826 
     827    GLboolean aglUpdateContext( AGLContext ctx ); 
     828 
     829    GLboolean aglSetCurrentContext( AGLContext ctx ); 
     830 
    821831    AGLContext aglGetCurrentContext(); 
    822     GLboolean aglSetDrawable(AGLContext ctx, AGLDrawable draw); 
    823     GLboolean aglSetOffScreen(AGLContext ctx, GLsizei width, GLsizei height, GLsizei rowbytes, GLvoid* baseaddr); 
    824     GLboolean aglSetFullScreen(AGLContext ctx, GLsizei width, GLsizei height, GLsizei freq, GLint device); 
    825     AGLDrawable aglGetDrawable(AGLContext ctx); 
    826     GLboolean aglSetVirtualScreen(AGLContext ctx, GLint screen); 
    827     GLint aglGetVirtualScreen(AGLContext ctx); 
    828     void aglGetVersion(GLint* major, GLint* minor); 
    829     GLboolean aglConfigure(GLenum pname, GLuint param); 
    830     void aglSwapBuffers(AGLContext ctx); 
    831     GLboolean aglEnable(AGLContext ctx, GLenum pname); 
    832     GLboolean aglDisable(AGLContext ctx, GLenum pname); 
    833     GLboolean aglIsEnabled(AGLContext ctx, GLenum pname); 
    834     GLboolean aglSetInteger(AGLContext ctx, GLenum pname, GLint* params); 
    835     GLboolean aglGetInteger(AGLContext ctx, GLenum pname, GLint* params); 
    836     GLboolean aglUseFont(AGLContext ctx, GLint fontID, Style face, GLint size, GLint first, GLint count, GLint base); 
     832 
     833    GLboolean aglSetDrawable( AGLContext ctx, AGLDrawable draw ); 
     834 
     835    GLboolean aglSetOffScreen( AGLContext ctx, GLsizei width, GLsizei height, 
     836        GLsizei rowbytes, GLvoid* baseaddr ); 
     837 
     838    GLboolean aglSetFullScreen( AGLContext ctx, GLsizei width, GLsizei height, 
     839        GLsizei freq, GLint device ); 
     840 
     841    AGLDrawable aglGetDrawable( AGLContext ctx ); 
     842 
     843    GLboolean aglSetVirtualScreen( AGLContext ctx, GLint screen ); 
     844 
     845    GLint aglGetVirtualScreen( AGLContext ctx ); 
     846 
     847    void aglGetVersion( GLint* major, GLint* minor ); 
     848 
     849    GLboolean aglConfigure( GLenum pname, GLuint param ); 
     850 
     851    void aglSwapBuffers( AGLContext ctx ); 
     852 
     853    GLboolean aglEnable( AGLContext ctx, GLenum pname ); 
     854 
     855    GLboolean aglDisable( AGLContext ctx, GLenum pname ); 
     856 
     857    GLboolean aglIsEnabled( AGLContext ctx, GLenum pname ); 
     858 
     859    GLboolean aglSetInteger( AGLContext ctx, GLenum pname, GLint* params ); 
     860 
     861    GLboolean aglGetInteger( AGLContext ctx, GLenum pname, GLint* params ); 
     862 
     863    GLboolean aglUseFont( AGLContext ctx, GLint fontID, Style face, GLint size, 
     864        GLint first, GLint count, GLint base ); 
     865 
    837866    GLenum aglGetError(); 
    838     GLubyte* aglErrorString(GLenum code); 
     867 
     868    GLubyte* aglErrorString( GLenum code ); 
     869 
    839870    void aglResetLibrary(); 
    840     void aglSurfaceTexture(AGLContext context, GLenum target, GLenum internalformat, AGLContext surfacecontext); 
    841     GLboolean aglCreatePBuffer(GLint width, GLint height, GLenum target, GLenum internalFormat, long max_level, AGLPbuffer* pbuffer); 
    842     GLboolean aglDestroyPBuffer(AGLPbuffer pbuffer); 
    843     GLboolean aglDescribePBuffer(AGLPbuffer pbuffer, GLint* width, GLint* height, GLenum* target, GLenum* internalFormat, GLint* max_level); 
    844     GLboolean aglTexImagePBuffer(AGLContext ctx, AGLPbuffer pbuffer, GLint source); 
    845     GLboolean aglSetPBuffer(AGLContext ctx, AGLPbuffer pbuffer, GLint face, GLint level, GLint screen); 
    846     GLboolean aglGetPBuffer(AGLContext ctx, AGLPbuffer* pbuffer, GLint* face, GLint* level, GLint* screen); 
     871 
     872    void aglSurfaceTexture( AGLContext context, GLenum target, 
     873        GLenum internalformat, AGLContext surfacecontext ); 
     874 
     875    GLboolean aglCreatePBuffer( GLint width, GLint height, GLenum target, 
     876        GLenum internalFormat, long max_level, AGLPbuffer* pbuffer ); 
     877 
     878    GLboolean aglDestroyPBuffer( AGLPbuffer pbuffer ); 
     879 
     880    GLboolean aglDescribePBuffer( AGLPbuffer pbuffer, GLint* width, 
     881        GLint* height, GLenum* target, GLenum* internalFormat, GLint* max_level ); 
     882 
     883    GLboolean aglTexImagePBuffer( AGLContext ctx, AGLPbuffer pbuffer, 
     884        GLint source ); 
     885 
     886    GLboolean aglSetPBuffer( AGLContext ctx, AGLPbuffer pbuffer, GLint face, 
     887        GLint level, GLint screen ); 
     888 
     889    GLboolean aglGetPBuffer( AGLContext ctx, AGLPbuffer* pbuffer, GLint* face, 
     890        GLint* level, GLint* screen ); 
    847891} 
  • trunk/src/uni/lib/renderers/gl/APPLE.d

    r18 r43  
    11/+ 
    22 
    3    Copyright(c) 2008, Trevor Parscal 
    4      
    5    Module: OpenGL Extensions from Apple 
    6  
    7 +/ 
     3 Copyright(c) 2008, Trevor Parscal 
     4  
     5 Module: OpenGL Extensions from Apple 
     6 
     7 +/ 
    88 
    99module uni.lib.renderers.gl.APPLE; 
     
    1313 
    1414/* Bindings */ 
    15 version(GL_APPLE_specular_vector) 
    16 
    17     enum:GLuint 
    18     { 
     15version ( GL_APPLE_specular_vector ) { 
     16    enum : GLuint { 
    1917        GL_LIGHT_MODEL_SPECULAR_VECTOR_APPLE = 0x85B0 
    2018    } 
    2119} 
    2220 
    23 version(GL_APPLE_transform_hint) 
    24 
    25     enum:GLuint 
    26     { 
     21version ( GL_APPLE_transform_hint ) { 
     22    enum : GLuint { 
    2723        GL_TRANSFORM_HINT_APPLE = 0x85B1 
    2824    } 
    2925} 
    3026 
    31 version(GL_APPLE_client_storage) 
    32 
    33     enum:GLuint 
    34     { 
     27version ( GL_APPLE_client_storage ) { 
     28    enum : GLuint { 
    3529        GL_UNPACK_CLIENT_STORAGE_APPLE = 0x85B2 
    3630    } 
    3731} 
    3832 
    39 version(GL_APPLE_element_array) 
    40 
    41     enum:GLuint 
    42     { 
     33version ( GL_APPLE_element_array ) { 
     34    enum : GLuint { 
    4335        GL_ELEMENT_ARRAY_APPLE = 0x8768, 
    4436        GL_ELEMENT_ARRAY_TYPE_APPLE = 0x8769, 
    4537        GL_ELEMENT_ARRAY_POINTER_APPLE = 0x876A 
    4638    } 
    47      
    48     typedef GLvoid function(GLenum, GLvoid*) pfglElementPointerAPPLE; 
    49     typedef GLvoid function(GLenum, GLint, GLsizei) pfglDrawElementArrayAPPLE; 
    50     typedef GLvoid function(GLenum, GLuint, GLuint, GLint, GLsizei) pfglDrawRangeElementArrayAPPLE; 
    51     typedef GLvoid function(GLenum, GLint*, GLsizei*, GLsizei) pfglMultiDrawElementArrayAPPLE; 
    52     typedef GLvoid function(GLenum, GLuint, GLuint, GLint*, GLsizei*, GLsizei) pfglMultiDrawRangeElementArrayAPPLE; 
    53      
    54     extern(System) 
    55     { 
     39 
     40    typedef GLvoid function ( GLenum, GLvoid* ) pfglElementPointerAPPLE; 
     41    typedef GLvoid function ( GLenum, GLint, GLsizei ) 
     42        pfglDrawElementArrayAPPLE; 
     43    typedef GLvoid function ( GLenum, GLuint, GLuint, GLint, GLsizei ) 
     44        pfglDrawRangeElementArrayAPPLE; 
     45    typedef GLvoid function ( GLenum, GLint*, GLsizei*, GLsizei ) 
     46        pfglMultiDrawElementArrayAPPLE; 
     47    typedef GLvoid function ( GLenum, GLuint, GLuint, GLint*, GLsizei*, GLsizei ) 
     48        pfglMultiDrawRangeElementArrayAPPLE; 
     49 
     50    extern ( System ) { 
    5651        pfglElementPointerAPPLE glElementPointerAPPLE; 
    5752        pfglDrawElementArrayAPPLE glDrawElementArrayAPPLE; 
     
    6055        pfglMultiDrawRangeElementArrayAPPLE glMultiDrawRangeElementArrayAPPLE; 
    6156    } 
    62      
    63     static this() 
    64     { 
    65         glExtensions["GL_APPLE_element_array"] = 
    66         { 
    67             glElementPointerAPPLE = cast(pfglElementPointerAPPLE)glBindExtension("glElementPointerAPPLE"); 
    68             glDrawElementArrayAPPLE = cast(pfglDrawElementArrayAPPLE)glBindExtension("glDrawElementArrayAPPLE"); 
    69             glDrawRangeElementArrayAPPLE = cast(pfglDrawRangeElementArrayAPPLE)glBindExtension("glDrawRangeElementArrayAPPLE"); 
    70             glMultiDrawElementArrayAPPLE = cast(pfglMultiDrawElementArrayAPPLE)glBindExtension("glMultiDrawElementArrayAPPLE"); 
    71             glMultiDrawRangeElementArrayAPPLE = cast(pfglMultiDrawRangeElementArrayAPPLE)glBindExtension("glMultiDrawRangeElementArrayAPPLE"); 
    72         }; 
    73     } 
    74 
    75  
    76 version(GL_APPLE_fence) 
    77 
    78     enum:GLuint 
    79     { 
     57 
     58    static this() { 
     59        glExtensions[ "GL_APPLE_element_array" ] = { 
     60            glElementPointerAPPLE = cast(pfglElementPointerAPPLE) glBindExtension( 
     61                "glElementPointerAPPLE" ); 
     62            glDrawElementArrayAPPLE = cast(pfglDrawElementArrayAPPLE) glBindExtension( 
     63                "glDrawElementArrayAPPLE" ); 
     64            glDrawRangeElementArrayAPPLE = cast(pfglDrawRangeElementArrayAPPLE) glBindExtension( 
     65                "glDrawRangeElementArrayAPPLE" ); 
     66            glMultiDrawElementArrayAPPLE = cast(pfglMultiDrawElementArrayAPPLE) glBindExtension( 
     67                "glMultiDrawElementArrayAPPLE" ); 
     68            glMultiDrawRangeElementArrayAPPLE = cast(pfglMultiDrawRangeElementArrayAPPLE) glBindExtension( 
     69                "glMultiDrawRangeElementArrayAPPLE" ); 
     70        }; 
     71    } 
     72
     73 
     74version ( GL_APPLE_fence ) { 
     75    enum : GLuint { 
    8076        GL_DRAW_PIXELS_APPLE = 0x8A0A, 
    8177        GL_FENCE_APPLE = 0x8A0B 
    8278    } 
    83      
    84     typedef GLvoid function(GLsizei, GLuint*) pfglGenFencesAPPLE; 
    85     typedef GLvoid function(GLsizei, GLuint*) pfglDeleteFencesAPPLE; 
    86     typedef GLvoid function(GLuint) pfglSetFenceAPPLE; 
    87     typedef GLboolean function(GLuint) pfglIsFenceAPPLE; 
    88     typedef GLboolean function(GLuint) pfglTestFenceAPPLE; 
    89     typedef GLvoid function(GLuint) pfglFinishFenceAPPLE; 
    90     typedef GLboolean function(GLenum, GLuint) pfglTestObjectAPPLE; 
    91     typedef GLvoid function(GLenum, GLint) pfglFinishObjectAPPLE; 
    92      
    93     extern(System) 
    94     { 
     79 
     80    typedef GLvoid function ( GLsizei, GLuint* ) pfglGenFencesAPPLE; 
     81    typedef GLvoid function ( GLsizei, GLuint* ) pfglDeleteFencesAPPLE; 
     82    typedef GLvoid function ( GLuint ) pfglSetFenceAPPLE; 
     83    typedef GLboolean function ( GLuint ) pfglIsFenceAPPLE; 
     84    typedef GLboolean function ( GLuint ) pfglTestFenceAPPLE; 
     85    typedef GLvoid function ( GLuint ) pfglFinishFenceAPPLE; 
     86    typedef GLboolean function ( GLenum, GLuint ) pfglTestObjectAPPLE; 
     87    typedef GLvoid function ( GLenum, GLint ) pfglFinishObjectAPPLE; 
     88 
     89    extern ( System ) { 
    9590        pfglGenFencesAPPLE glGenFencesAPPLE; 
    9691        pfglDeleteFencesAPPLE glDeleteFencesAPPLE; 
     
    10297        pfglFinishObjectAPPLE glFinishObjectAPPLE; 
    10398    } 
    104      
    105     static this() 
    106     { 
    107         glExtensions["GL_APPLE_fence"] = 
    108         { 
    109             glGenFencesAPPLE = cast(pfglGenFencesAPPLE)glBindExtension("glGenFencesAPPLE"); 
    110             glDeleteFencesAPPLE = cast(pfglDeleteFencesAPPLE)glBindExtension("glDeleteFencesAPPLE"); 
    111             glSetFenceAPPLE = cast(pfglSetFenceAPPLE)glBindExtension("glSetFenceAPPLE"); 
    112             glIsFenceAPPLE = cast(pfglIsFenceAPPLE)glBindExtension("glIsFenceAPPLE"); 
    113             glTestFenceAPPLE = cast(pfglTestFenceAPPLE)glBindExtension("glTestFenceAPPLE"); 
    114             glFinishFenceAPPLE = cast(pfglFinishFenceAPPLE)glBindExtension("glFinishFenceAPPLE"); 
    115             glTestObjectAPPLE = cast(pfglTestObjectAPPLE)glBindExtension("glTestObjectAPPLE"); 
    116             glFinishObjectAPPLE = cast(pfglFinishObjectAPPLE)glBindExtension("glFinishObjectAPPLE"); 
    117         }; 
    118     } 
    119 
    120  
    121 version(GL_APPLE_vertex_array_object) 
    122 
    123     enum:GLuint 
    124     { 
     99 
     100    static this() { 
     101        glExtensions[ "GL_APPLE_fence" ] = { 
     102            glGenFencesAPPLE = cast(pfglGenFencesAPPLE) glBindExtension( 
     103                "glGenFencesAPPLE" ); 
     104            glDeleteFencesAPPLE = cast(pfglDeleteFencesAPPLE) glBindExtension( 
     105                "glDeleteFencesAPPLE" ); 
     106            glSetFenceAPPLE = cast(pfglSetFenceAPPLE) glBindExtension( 
     107                "glSetFenceAPPLE" ); 
     108            glIsFenceAPPLE = cast(pfglIsFenceAPPLE) glBindExtension( 
     109                "glIsFenceAPPLE" ); 
     110            glTestFenceAPPLE = cast(pfglTestFenceAPPLE) glBindExtension( 
     111                "glTestFenceAPPLE" ); 
     112            glFinishFenceAPPLE = cast(pfglFinishFenceAPPLE) glBindExtension( 
     113                "glFinishFenceAPPLE" ); 
     114            glTestObjectAPPLE = cast(pfglTestObjectAPPLE) glBindExtension( 
     115                "glTestObjectAPPLE" ); 
     116            glFinishObjectAPPLE = cast(pfglFinishObjectAPPLE) glBindExtension( 
     117                "glFinishObjectAPPLE" ); 
     118        }; 
     119    } 
     120
     121 
     122version ( GL_APPLE_vertex_array_object ) { 
     123    enum : GLuint { 
    125124        GL_VERTEX_ARRAY_BINDING_APPLE = 0x85B5 
    126125    } 
    127      
    128     typedef GLvoid function(GLuint) pfglBindVertexArrayAPPLE; 
    129     typedef GLvoid function(GLsizei, GLuint*) pfglDeleteVertexArraysAPPLE; 
    130     typedef GLvoid function(GLsizei, GLuint*) pfglGenVertexArraysAPPLE; 
    131     typedef GLboolean function(GLuint) pfglIsVertexArrayAPPLE; 
    132      
    133     extern(System) 
    134     { 
     126 
     127    typedef GLvoid function ( GLuint ) pfglBindVertexArrayAPPLE; 
     128    typedef GLvoid function ( GLsizei, GLuint* ) pfglDeleteVertexArraysAPPLE; 
     129    typedef GLvoid function ( GLsizei, GLuint* ) pfglGenVertexArraysAPPLE; 
     130    typedef GLboolean function ( GLuint ) pfglIsVertexArrayAPPLE; 
     131 
     132    extern ( System ) { 
    135133        pfglBindVertexArrayAPPLE glBindVertexArrayAPPLE; 
    136134        pfglDeleteVertexArraysAPPLE glDeleteVertexArraysAPPLE; 
     
    138136        pfglIsVertexArrayAPPLE glIsVertexArrayAPPLE; 
    139137    } 
    140      
    141     static this() 
    142    
    143         glExtensions["GL_APPLE_vertex_array_object"] = 
    144         { 
    145             glBindVertexArrayAPPLE = cast(pfglBindVertexArrayAPPLE)glBindExtension("glBindVertexArrayAPPLE"); 
    146             glDeleteVertexArraysAPPLE = cast(pfglDeleteVertexArraysAPPLE)glBindExtension("glDeleteVertexArraysAPPLE"); 
    147             glGenVertexArraysAPPLE = cast(pfglGenVertexArraysAPPLE)glBindExtension("glGenVertexArraysAPPLE"); 
    148             glIsVertexArrayAPPLE = cast(pfglIsVertexArrayAPPLE)glBindExtension("glIsVertexArrayAPPLE"); 
    149         }; 
    150     } 
    151 
    152  
    153 version(GL_APPLE_vertex_array_range) 
    154 
    155     enum:GLuint 
    156    
     138 
     139    static this() { 
     140       glExtensions[ "GL_APPLE_vertex_array_object" ] =
     141           glBindVertexArrayAPPLE = cast(pfglBindVertexArrayAPPLE) glBindExtension( 
     142               "glBindVertexArrayAPPLE" ); 
     143            glDeleteVertexArraysAPPLE = cast(pfglDeleteVertexArraysAPPLE) glBindExtension( 
     144               "glDeleteVertexArraysAPPLE" ); 
     145            glGenVertexArraysAPPLE = cast(pfglGenVertexArraysAPPLE) glBindExtension( 
     146               "glGenVertexArraysAPPLE" ); 
     147           glIsVertexArrayAPPLE = cast(pfglIsVertexArrayAPPLE) glBindExtension( 
     148               "glIsVertexArrayAPPLE" ); 
     149        }; 
     150    } 
     151
     152 
     153version ( GL_APPLE_vertex_array_range ) { 
     154    enum : GLuint
    157155        GL_VERTEX_ARRAY_RANGE_APPLE = 0x851D, 
    158156        GL_VERTEX_ARRAY_RANGE_LENGTH_APPLE = 0x851E, 
     
    162160        GL_STORAGE_SHARED_APPLE = 0x85BF 
    163161    } 
    164      
    165     typedef GLvoid function(GLsizei, GLvoid*) pfglVertexArrayRangeAPPLE; 
    166     typedef GLvoid function(GLsizei, GLvoid*) pfglFlushVertexArrayRangeAPPLE; 
    167     typedef GLvoid function(GLenum, GLint) pfglVertexArrayParameteriAPPLE; 
    168      
    169     extern(System) 
    170     { 
     162 
     163    typedef GLvoid function ( GLsizei, GLvoid* ) pfglVertexArrayRangeAPPLE; 
     164    typedef GLvoid function ( GLsizei, GLvoid* ) pfglFlushVertexArrayRangeAPPLE; 
     165    typedef GLvoid function ( GLenum, GLint ) pfglVertexArrayParameteriAPPLE; 
     166 
     167    extern ( System ) { 
    171168        pfglVertexArrayRangeAPPLE glVertexArrayRangeAPPLE; 
    172169        pfglFlushVertexArrayRangeAPPLE glFlushVertexArrayRangeAPPLE; 
    173170        pfglVertexArrayParameteriAPPLE glVertexArrayParameteriAPPLE; 
    174171    } 
    175      
    176     static this() 
    177     { 
    178         glExtensions["GL_APPLE_vertex_array_range"] = 
    179         { 
    180             glVertexArrayRangeAPPLE = cast(pfglVertexArrayRangeAPPLE)glBindExtension("glVertexArrayRangeAPPLE"); 
    181             glFlushVertexArrayRangeAPPLE = cast(pfglFlushVertexArrayRangeAPPLE)glBindExtension("glFlushVertexArrayRangeAPPLE"); 
    182             glVertexArrayParameteriAPPLE = cast(pfglVertexArrayParameteriAPPLE)glBindExtension("glVertexArrayParameteriAPPLE"); 
    183         }; 
    184     } 
    185 
    186  
    187 version(GL_APPLE_ycbcr_422) 
    188 
    189     enum:GLuint 
    190     { 
     172 
     173    static this() { 
     174        glExtensions[ "GL_APPLE_vertex_array_range" ] = { 
     175            glVertexArrayRangeAPPLE = cast(pfglVertexArrayRangeAPPLE) glBindExtension( 
     176                "glVertexArrayRangeAPPLE" ); 
     177            glFlushVertexArrayRangeAPPLE = cast(pfglFlushVertexArrayRangeAPPLE) glBindExtension( 
     178                "glFlushVertexArrayRangeAPPLE" ); 
     179            glVertexArrayParameteriAPPLE = cast(pfglVertexArrayParameteriAPPLE) glBindExtension( 
     180                "glVertexArrayParameteriAPPLE" ); 
     181        }; 
     182    } 
     183
     184 
     185version ( GL_APPLE_ycbcr_422 ) { 
     186    enum : GLuint { 
    191187        GL_YCBCR_422_APPLE = 0x85B9, 
    192188        GL_UNSIGNED_SHORT_8_8_APPLE = 0x85BA, 
     
    195191} 
    196192 
    197 version(GL_APPLE_flush_buffer_range) 
    198 
    199     enum:GLuint 
    200     { 
     193version ( GL_APPLE_flush_buffer_range ) { 
     194    enum : GLuint { 
    201195        GL_BUFFER_SERIALIZED_MODIFY_APPLE = 0x8A12, 
    202196        GL_BUFFER_FLUSHING_UNMAP_APPLE = 0x8A13 
    203197    } 
    204      
    205     typedef GLvoid function(GLenum target, GLenum pname, GLint param) pfglBufferParameteriAPPLE; 
    206     typedef GLvoid function(GLenum target, GLintptr offset, GLsizeiptr size) pfglFlushMappedBufferRangeAPPLE; 
    207      
    208     extern(System) 
    209     { 
     198 
     199    typedef GLvoid function ( GLenum target, GLenum pname, GLint param ) 
     200        pfglBufferParameteriAPPLE; 
     201    typedef GLvoid function ( GLenum target, GLintptr offset, GLsizeiptr size ) 
     202        pfglFlushMappedBufferRangeAPPLE; 
     203 
     204    extern ( System ) { 
    210205        pfglBufferParameteriAPPLE glBufferParameteriAPPLE; 
    211206        pfglFlushMappedBufferRangeAPPLE glFlushMappedBufferRangeAPPLE; 
    212207    } 
    213      
    214     static this() 
    215    
    216         glExtensions["GL_APPLE_flush_buffer_range"] = 
    217         { 
    218             glBufferParameteriAPPLE = cast(pfglBufferParameteriAPPLE)glBindExtension("glBufferParameteriAPPLE"); 
    219             glFlushMappedBufferRangeAPPLE = cast(pfglFlushMappedBufferRangeAPPLE)glBindExtension("glFlushMappedBufferRangeAPPLE"); 
    220         }; 
    221     } 
    222 } 
     208 
     209    static this() { 
     210       glExtensions[ "GL_APPLE_flush_buffer_range" ] =
     211           glBufferParameteriAPPLE = cast(pfglBufferParameteriAPPLE) glBindExtension( 
     212               "glBufferParameteriAPPLE" ); 
     213            glFlushMappedBufferRangeAPPLE = cast(pfglFlushMappedBufferRangeAPPLE) glBindExtension( 
     214               "glFlushMappedBufferRangeAPPLE" ); 
     215        }; 
     216    } 
     217} 
  • trunk/src/uni/lib/renderers/gl/ARB.d

    r18 r43  
    11/+ 
    22 
    3    Copyright(c) 2008, Trevor Parscal 
    4      
    5    Module: OpenGL Extensions from the Architecture Review Board 
    6  
    7 +/ 
     3 Copyright(c) 2008, Trevor Parscal 
     4  
     5 Module: OpenGL Extensions from the Architecture Review Board 
     6 
     7 +/ 
    88 
    99module uni.lib.renderers.gl.ARB; 
     
    2020 
    2121/* Bindings */ 
    22 version(GL_ARB_multitexture) 
    23 
    24     enum:GLuint 
    25     { 
     22version ( GL_ARB_multitexture ) { 
     23    enum : GLuint { 
    2624        GL_TEXTURE0_ARB = 0x84C0, 
    2725        GL_TEXTURE1_ARB = 0x84C1, 
     
    6159    } 
    6260 
    63     typedef GLvoid function(GLenum) pfglActiveTextureARB; 
    64     typedef GLvoid function(GLenum) pfglClientActiveTextureARB; 
    65     typedef GLvoid function(GLenum, GLdouble) pfglMultiTexCoord1dARB; 
    66     typedef GLvoid function(GLenum, GLdouble*) pfglMultiTexCoord1dvARB; 
    67     typedef GLvoid function(GLenum, GLfloat) pfglMultiTexCoord1fARB; 
    68     typedef GLvoid function(GLenum, GLfloat*) pfglMultiTexCoord1fvARB; 
    69     typedef GLvoid function(GLenum, GLint) pfglMultiTexCoord1iARB; 
    70     typedef GLvoid function(GLenum, GLint*) pfglMultiTexCoord1ivARB; 
    71     typedef GLvoid function(GLenum, GLshort) pfglMultiTexCoord1sARB; 
    72     typedef GLvoid function(GLenum, GLshort*) pfglMultiTexCoord1svARB; 
    73     typedef GLvoid function(GLenum, GLdouble, GLdouble) pfglMultiTexCoord2dARB; 
    74     typedef GLvoid function(GLenum, GLdouble*) pfglMultiTexCoord2dvARB; 
    75     typedef GLvoid function(GLenum, GLfloat, GLfloat) pfglMultiTexCoord2fARB; 
    76     typedef GLvoid function(GLenum, GLfloat*) pfglMultiTexCoord2fvARB; 
    77     typedef GLvoid function(GLenum, GLint, GLint) pfglMultiTexCoord2iARB; 
    78     typedef GLvoid function(GLenum, GLint*) pfglMultiTexCoord2ivARB; 
    79     typedef GLvoid function(GLenum, GLshort, GLshort) pfglMultiTexCoord2sARB; 
    80     typedef GLvoid function(GLenum, GLshort*) pfglMultiTexCoord2svARB; 
    81     typedef GLvoid function(GLenum, GLdouble, GLdouble, GLdouble) pfglMultiTexCoord3dARB; 
    82     typedef GLvoid function(GLenum, GLdouble*) pfglMultiTexCoord3dvARB; 
    83     typedef GLvoid function(GLenum, GLfloat, GLfloat, GLfloat) pfglMultiTexCoord3fARB; 
    84     typedef GLvoid function(GLenum, GLfloat*) pfglMultiTexCoord3fvARB; 
    85     typedef GLvoid function(GLenum, GLint, GLint, GLint) pfglMultiTexCoord3iARB; 
    86     typedef GLvoid function(GLenum, GLint*) pfglMultiTexCoord3ivARB; 
    87     typedef GLvoid function(GLenum, GLshort, GLshort, GLshort) pfglMultiTexCoord3sARB; 
    88     typedef GLvoid function(GLenum, GLshort*) pfglMultiTexCoord3svARB; 
    89     typedef GLvoid function(GLenum, GLdouble, GLdouble, GLdouble, GLdouble) pfglMultiTexCoord4dARB; 
    90     typedef GLvoid function(GLenum, GLdouble*) pfglMultiTexCoord4dvARB; 
    91     typedef GLvoid function(GLenum, GLfloat, GLfloat, GLfloat, GLfloat) pfglMultiTexCoord4fARB; 
    92     typedef GLvoid function(GLenum, GLfloat*) pfglMultiTexCoord4fvARB; 
    93     typedef GLvoid function(GLenum, GLint, GLint, GLint, GLint) pfglMultiTexCoord4iARB; 
    94     typedef GLvoid function(GLenum, GLint*) pfglMultiTexCoord4ivARB; 
    95     typedef GLvoid function(GLenum, GLshort, GLshort, GLshort, GLshort) pfglMultiTexCoord4sARB; 
    96     typedef GLvoid function(GLenum, GLshort*) pfglMultiTexCoord4svARB; 
    97      
    98     extern(System) 
    99     { 
     61    typedef GLvoid function ( GLenum ) pfglActiveTextureARB; 
     62    typedef GLvoid function ( GLenum ) pfglClientActiveTextureARB; 
     63    typedef GLvoid function ( GLenum, GLdouble ) pfglMultiTexCoord1dARB; 
     64    typedef GLvoid function ( GLenum, GLdouble* ) pfglMultiTexCoord1dvARB; 
     65    typedef GLvoid function ( GLenum, GLfloat ) pfglMultiTexCoord1fARB; 
     66    typedef GLvoid function ( GLenum, GLfloat* ) pfglMultiTexCoord1fvARB; 
     67    typedef GLvoid function ( GLenum, GLint ) pfglMultiTexCoord1iARB; 
     68    typedef GLvoid function ( GLenum, GLint* ) pfglMultiTexCoord1ivARB; 
     69    typedef GLvoid function ( GLenum, GLshort ) pfglMultiTexCoord1sARB; 
     70    typedef GLvoid function ( GLenum, GLshort* ) pfglMultiTexCoord1svARB; 
     71    typedef GLvoid function ( GLenum, GLdouble, GLdouble ) 
     72        pfglMultiTexCoord2dARB; 
     73    typedef GLvoid function ( GLenum, GLdouble* ) pfglMultiTexCoord2dvARB; 
     74    typedef GLvoid function ( GLenum, GLfloat, GLfloat ) pfglMultiTexCoord2fARB; 
     75    typedef GLvoid function ( GLenum, GLfloat* ) pfglMultiTexCoord2fvARB; 
     76    typedef GLvoid function ( GLenum, GLint, GLint ) pfglMultiTexCoord2iARB; 
     77    typedef GLvoid function ( GLenum, GLint* ) pfglMultiTexCoord2ivARB; 
     78    typedef GLvoid function ( GLenum, GLshort, GLshort ) pfglMultiTexCoord2sARB; 
     79    typedef GLvoid function ( GLenum, GLshort* ) pfglMultiTexCoord2svARB; 
     80    typedef GLvoid function ( GLenum, GLdouble, GLdouble, GLdouble ) 
     81        pfglMultiTexCoord3dARB; 
     82    typedef GLvoid function ( GLenum, GLdouble* ) pfglMultiTexCoord3dvARB; 
     83    typedef GLvoid function ( GLenum, GLfloat, GLfloat, GLfloat ) 
     84        pfglMultiTexCoord3fARB; 
     85    typedef GLvoid function ( GLenum, GLfloat* ) pfglMultiTexCoord3fvARB; 
     86    typedef GLvoid function ( GLenum, GLint, GLint, GLint ) 
     87        pfglMultiTexCoord3iARB; 
     88    typedef GLvoid function ( GLenum, GLint* ) pfglMultiTexCoord3ivARB; 
     89    typedef GLvoid function ( GLenum, GLshort, GLshort, GLshort ) 
     90        pfglMultiTexCoord3sARB; 
     91    typedef GLvoid function ( GLenum, GLshort* ) pfglMultiTexCoord3svARB; 
     92    typedef GLvoid function ( GLenum, GLdouble, GLdouble, GLdouble, GLdouble ) 
     93        pfglMultiTexCoord4dARB; 
     94    typedef GLvoid function ( GLenum, GLdouble* ) pfglMultiTexCoord4dvARB; 
     95    typedef GLvoid function ( GLenum, GLfloat, GLfloat, GLfloat, GLfloat ) 
     96        pfglMultiTexCoord4fARB; 
     97    typedef GLvoid function ( GLenum, GLfloat* ) pfglMultiTexCoord4fvARB; 
     98    typedef GLvoid function ( GLenum, GLint, GLint, GLint, GLint ) 
     99        pfglMultiTexCoord4iARB; 
     100    typedef GLvoid function ( GLenum, GLint* ) pfglMultiTexCoord4ivARB; 
     101    typedef GLvoid function ( GLenum, GLshort, GLshort, GLshort, GLshort ) 
     102        pfglMultiTexCoord4sARB; 
     103    typedef GLvoid function ( GLenum, GLshort* ) pfglMultiTexCoord4svARB; 
     104 
     105    extern ( System ) { 
    100106        pfglActiveTextureARB glActiveTextureARB; 
    101107        pfglClientActiveTextureARB glClientActiveTextureARB; 
     
    133139        pfglMultiTexCoord4svARB glMultiTexCoord4svARB; 
    134140    } 
    135      
    136     static this() 
    137     { 
    138         glExtensions["GL_ARB_multitexture"] = 
    139         { 
    140             glActiveTextureARB = cast(pfglActiveTextureARB)glBindExtension("glActiveTextureARB"); 
    141             glClientActiveTextureARB = cast(pfglClientActiveTextureARB)glBindExtension("glClientActiveTextureARB"); 
    142             glMultiTexCoord1dARB = cast(pfglMultiTexCoord1dARB)glBindExtension("glMultiTexCoord1dARB"); 
    143             glMultiTexCoord1dvARB = cast(pfglMultiTexCoord1dvARB)glBindExtension("glMultiTexCoord1dvARB"); 
    144             glMultiTexCoord1fARB = cast(pfglMultiTexCoord1fARB)glBindExtension("glMultiTexCoord1fARB"); 
    145             glMultiTexCoord1fvARB = cast(pfglMultiTexCoord1fvARB)glBindExtension("glMultiTexCoord1fvARB"); 
    146             glMultiTexCoord1iARB = cast(pfglMultiTexCoord1iARB)glBindExtension("glMultiTexCoord1iARB"); 
    147             glMultiTexCoord1ivARB = cast(pfglMultiTexCoord1ivARB)glBindExtension("glMultiTexCoord1ivARB"); 
    148             glMultiTexCoord1sARB = cast(pfglMultiTexCoord1sARB)glBindExtension("glMultiTexCoord1sARB"); 
    149             glMultiTexCoord1svARB = cast(pfglMultiTexCoord1svARB)glBindExtension("glMultiTexCoord1svARB"); 
    150             glMultiTexCoord2dARB = cast(pfglMultiTexCoord2dARB)glBindExtension("glMultiTexCoord2dARB"); 
    151             glMultiTexCoord2dvARB = cast(pfglMultiTexCoord2dvARB)glBindExtension("glMultiTexCoord2dvARB"); 
    152             glMultiTexCoord2fARB = cast(pfglMultiTexCoord2fARB)glBindExtension("glMultiTexCoord2fARB"); 
    153             glMultiTexCoord2fvARB = cast(pfglMultiTexCoord2fvARB)glBindExtension("glMultiTexCoord2fvARB"); 
    154             glMultiTexCoord2iARB = cast(pfglMultiTexCoord2iARB)glBindExtension("glMultiTexCoord2iARB"); 
    155             glMultiTexCoord2ivARB = cast(pfglMultiTexCoord2ivARB)glBindExtension("glMultiTexCoord2ivARB"); 
    156             glMultiTexCoord2sARB = cast(pfglMultiTexCoord2sARB)glBindExtension("glMultiTexCoord2sARB"); 
    157             glMultiTexCoord2svARB = cast(pfglMultiTexCoord2svARB)glBindExtension("glMultiTexCoord2svARB"); 
    158             glMultiTexCoord3dARB = cast(pfglMultiTexCoord3dARB)glBindExtension("glMultiTexCoord3dARB"); 
    159             glMultiTexCoord3dvARB = cast(pfglMultiTexCoord3dvARB)glBindExtension("glMultiTexCoord3dvARB"); 
    160             glMultiTexCoord3fARB = cast(pfglMultiTexCoord3fARB)glBindExtension("glMultiTexCoord3fARB"); 
    161             glMultiTexCoord3fvARB = cast(pfglMultiTexCoord3fvARB)glBindExtension("glMultiTexCoord3fvARB"); 
    162             glMultiTexCoord3iARB = cast(pfglMultiTexCoord3iARB)glBindExtension("glMultiTexCoord3iARB"); 
    163             glMultiTexCoord3ivARB = cast(pfglMultiTexCoord3ivARB)glBindExtension("glMultiTexCoord3ivARB"); 
    164             glMultiTexCoord3sARB = cast(pfglMultiTexCoord3sARB)glBindExtension("glMultiTexCoord3sARB"); 
    165             glMultiTexCoord3svARB = cast(pfglMultiTexCoord3svARB)glBindExtension("glMultiTexCoord3svARB"); 
    166             glMultiTexCoord4dARB = cast(pfglMultiTexCoord4dARB)glBindExtension("glMultiTexCoord4dARB"); 
    167             glMultiTexCoord4dvARB = cast(pfglMultiTexCoord4dvARB)glBindExtension("glMultiTexCoord4dvARB"); 
    168             glMultiTexCoord4fARB = cast(pfglMultiTexCoord4fARB)glBindExtension("glMultiTexCoord4fARB"); 
    169             glMultiTexCoord4fvARB = cast(pfglMultiTexCoord4fvARB)glBindExtension("glMultiTexCoord4fvARB"); 
    170             glMultiTexCoord4iARB = cast(pfglMultiTexCoord4iARB)glBindExtension("glMultiTexCoord4iARB"); 
    171             glMultiTexCoord4ivARB = cast(pfglMultiTexCoord4ivARB)glBindExtension("glMultiTexCoord4ivARB"); 
    172             glMultiTexCoord4sARB = cast(pfglMultiTexCoord4sARB)glBindExtension("glMultiTexCoord4sARB"); 
    173             glMultiTexCoord4svARB = cast(pfglMultiTexCoord4svARB)glBindExtension("glMultiTexCoord4svARB"); 
     141 
     142    static this() { 
     143        glExtensions[ "GL_ARB_multitexture" ] = { 
     144            glActiveTextureARB = cast(pfglActiveTextureARB) glBindExtension( 
     145                "glActiveTextureARB" ); 
     146            glClientActiveTextureARB = cast(pfglClientActiveTextureARB) glBindExtension( 
     147                "glClientActiveTextureARB" ); 
     148            glMultiTexCoord1dARB = cast(pfglMultiTexCoord1dARB) glBindExtension( 
     149                "glMultiTexCoord1dARB" ); 
     150            glMultiTexCoord1dvARB = cast(pfglMultiTexCoord1dvARB) glBindExtension( 
     151                "glMultiTexCoord1dvARB" ); 
     152            glMultiTexCoord1fARB = cast(pfglMultiTexCoord1fARB) glBindExtension( 
     153                "glMultiTexCoord1fARB" ); 
     154            glMultiTexCoord1fvARB = cast(pfglMultiTexCoord1fvARB) glBindExtension( 
     155                "glMultiTexCoord1fvARB" ); 
     156            glMultiTexCoord1iARB = cast(pfglMultiTexCoord1iARB) glBindExtension( 
     157                "glMultiTexCoord1iARB" ); 
     158            glMultiTexCoord1ivARB = cast(pfglMultiTexCoord1ivARB) glBindExtension( 
     159                "glMultiTexCoord1ivARB" ); 
     160            glMultiTexCoord1sARB = cast(pfglMultiTexCoord1sARB) glBindExtension( 
     161                "glMultiTexCoord1sARB" ); 
     162            glMultiTexCoord1svARB = cast(pfglMultiTexCoord1svARB) glBindExtension( 
     163                "glMultiTexCoord1svARB" ); 
     164            glMultiTexCoord2dARB = cast(pfglMultiTexCoord2dARB) glBindExtension( 
     165                "glMultiTexCoord2dARB" ); 
     166            glMultiTexCoord2dvARB = cast(pfglMultiTexCoord2dvARB) glBindExtension( 
     167                "glMultiTexCoord2dvARB" ); 
     168            glMultiTexCoord2fARB = cast(pfglMultiTexCoord2fARB) glBindExtension( 
     169                "glMultiTexCoord2fARB" ); 
     170            glMultiTexCoord2fvARB = cast(pfglMultiTexCoord2fvARB) glBindExtension( 
     171                "glMultiTexCoord2fvARB" ); 
     172            glMultiTexCoord2iARB = cast(pfglMultiTexCoord2iARB) glBindExtension( 
     173                "glMultiTexCoord2iARB" ); 
     174            glMultiTexCoord2ivARB = cast(pfglMultiTexCoord2ivARB) glBindExtension( 
     175                "glMultiTexCoord2ivARB" ); 
     176            glMultiTexCoord2sARB = cast(pfglMultiTexCoord2sARB) glBindExtension( 
     177                "glMultiTexCoord2sARB" ); 
     178            glMultiTexCoord2svARB = cast(pfglMultiTexCoord2svARB) glBindExtension( 
     179                "glMultiTexCoord2svARB" ); 
     180            glMultiTexCoord3dARB = cast(pfglMultiTexCoord3dARB) glBindExtension( 
     181                "glMultiTexCoord3dARB" ); 
     182            glMultiTexCoord3dvARB = cast(pfglMultiTexCoord3dvARB) glBindExtension( 
     183                "glMultiTexCoord3dvARB" ); 
     184            glMultiTexCoord3fARB = cast(pfglMultiTexCoord3fARB) glBindExtension( 
     185                "glMultiTexCoord3fARB" ); 
     186            glMultiTexCoord3fvARB = cast(pfglMultiTexCoord3fvARB) glBindExtension( 
     187                "glMultiTexCoord3fvARB" ); 
     188            glMultiTexCoord3iARB = cast(pfglMultiTexCoord3iARB) glBindExtension( 
     189                "glMultiTexCoord3iARB" ); 
     190            glMultiTexCoord3ivARB = cast(pfglMultiTexCoord3ivARB) glBindExtension( 
     191                "glMultiTexCoord3ivARB" ); 
     192            glMultiTexCoord3sARB = cast(pfglMultiTexCoord3sARB) glBindExtension( 
     193                "glMultiTexCoord3sARB" ); 
     194            glMultiTexCoord3svARB = cast(pfglMultiTexCoord3svARB) glBindExtension( 
     195                "glMultiTexCoord3svARB" ); 
     196            glMultiTexCoord4dARB = cast(pfglMultiTexCoord4dARB) glBindExtension( 
     197                "glMultiTexCoord4dARB" ); 
     198            glMultiTexCoord4dvARB = cast(pfglMultiTexCoord4dvARB) glBindExtension( 
     199                "glMultiTexCoord4dvARB" ); 
     200            glMultiTexCoord4fARB = cast(pfglMultiTexCoord4fARB) glBindExtension( 
     201                "glMultiTexCoord4fARB" ); 
     202            glMultiTexCoord4fvARB = cast(pfglMultiTexCoord4fvARB) glBindExtension( 
     203                "glMultiTexCoord4fvARB" ); 
     204            glMultiTexCoord4iARB = cast(pfglMultiTexCoord4iARB) glBindExtension( 
     205                "glMultiTexCoord4iARB" ); 
     206            glMultiTexCoord4ivARB = cast(pfglMultiTexCoord4ivARB) glBindExtension( 
     207                "glMultiTexCoord4ivARB" ); 
     208            glMultiTexCoord4sARB = cast(pfglMultiTexCoord4sARB) glBindExtension( 
     209                "glMultiTexCoord4sARB" ); 
     210            glMultiTexCoord4svARB = cast(pfglMultiTexCoord4svARB) glBindExtension( 
     211                "glMultiTexCoord4svARB" ); 
    174212        }; 
    175213    } 
    176214} 
    177215 
    178 version(GL_ARB_transpose_matrix) 
    179 
    180     enum:GLuint 
    181     { 
     216version ( GL_ARB_transpose_matrix ) { 
     217    enum : GLuint { 
    182218        GL_TRANSPOSE_MODELVIEW_MATRIX_ARB = 0x84E3, 
    183219        GL_TRANSPOSE_PROJECTION_MATRIX_ARB = 0x84E4, 
     
    185221        GL_TRANSPOSE_COLOR_MATRIX_ARB = 0x84E6 
    186222    } 
    187      
    188     typedef GLvoid function(GLfloat*) pfglLoadTransposeMatrixfARB; 
    189     typedef GLvoid function(GLdouble*) pfglLoadTransposeMatrixdARB; 
    190     typedef GLvoid function(GLfloat*) pfglMultTransposeMatrixfARB; 
    191     typedef GLvoid function(GLdouble*) pfglMultTransposeMatrixdARB; 
    192      
    193     extern(System) 
    194     { 
     223 
     224    typedef GLvoid function ( GLfloat* ) pfglLoadTransposeMatrixfARB; 
     225    typedef GLvoid function ( GLdouble* ) pfglLoadTransposeMatrixdARB; 
     226    typedef GLvoid function ( GLfloat* ) pfglMultTransposeMatrixfARB; 
     227    typedef GLvoid function ( GLdouble* ) pfglMultTransposeMatrixdARB; 
     228 
     229    extern ( System ) { 
    195230        pfglLoadTransposeMatrixfARB glLoadTransposeMatrixfARB; 
    196231        pfglLoadTransposeMatrixdARB glLoadTransposeMatrixdARB; 
     
    198233        pfglMultTransposeMatrixdARB glMultTransposeMatrixdARB; 
    199234    } 
    200      
    201     static this() 
    202     { 
    203         glExtensions["GL_ARB_transpose_matrix"] = 
    204         { 
    205             glLoadTransposeMatrixfARB = cast(pfglLoadTransposeMatrixfARB)glBindExtension("glLoadTransposeMatrixfARB"); 
    206             glLoadTransposeMatrixdARB = cast(pfglLoadTransposeMatrixdARB)glBindExtension("glLoadTransposeMatrixdARB"); 
    207             glMultTransposeMatrixfARB = cast(pfglMultTransposeMatrixfARB)glBindExtension("glMultTransposeMatrixfARB"); 
    208             glMultTransposeMatrixdARB = cast(pfglMultTransposeMatrixdARB)glBindExtension("glMultTransposeMatrixdARB"); 
     235 
     236    static this() { 
     237        glExtensions[ "GL_ARB_transpose_matrix" ] = { 
     238            glLoadTransposeMatrixfARB = cast(pfglLoadTransposeMatrixfARB) glBindExtension( 
     239                "glLoadTransposeMatrixfARB" ); 
     240            glLoadTransposeMatrixdARB = cast(pfglLoadTransposeMatrixdARB) glBindExtension( 
     241                "glLoadTransposeMatrixdARB" ); 
     242            glMultTransposeMatrixfARB = cast(pfglMultTransposeMatrixfARB) glBindExtension( 
     243                "glMultTransposeMatrixfARB" ); 
     244            glMultTransposeMatrixdARB = cast(pfglMultTransposeMatrixdARB) glBindExtension( 
     245                "glMultTransposeMatrixdARB" ); 
    209246        }; 
    210247    } 
    211248} 
    212249 
    213 version(GL_ARB_multisample) 
    214 
    215     enum:GLuint 
    216     { 
     250version ( GL_ARB_multisample ) { 
     251    enum : GLuint { 
    217252        GL_MULTISAMPLE_ARB = 0x809D, 
    218253        GL_SAMPLE_ALPHA_TO_COVERAGE_ARB = 0x809E, 
     
    225260        GL_MULTISAMPLE_BIT_ARB = 0x20000000 
    226261    } 
    227      
    228     typedef GLvoid function(GLclampf, GLboolean) pfglSampleCoverageARB; 
    229          
    230     extern(System) 
    231     { 
     262 
     263    typedef GLvoid function ( GLclampf, GLboolean ) pfglSampleCoverageARB; 
     264 
     265    extern ( System ) { 
    232266        pfglSampleCoverageARB glSampleCoverageARB; 
    233267    } 
    234      
    235     static this() 
    236     { 
    237         glExtensions["GL_ARB_multisample"] = 
    238         { 
    239             glSampleCoverageARB = cast(pfglSampleCoverageARB)glBindExtension("glSampleCoverageARB"); 
     268 
     269    static this() { 
     270        glExtensions[ "GL_ARB_multisample" ] = { 
     271            glSampleCoverageARB = cast(pfglSampleCoverageARB) glBindExtension( 
     272                "glSampleCoverageARB" ); 
    240273        }; 
    241274    } 
    242275} 
    243276 
    244 version(GL_ARB_texture_cube_map) 
    245 
    246     enum:GLuint 
    247     { 
     277version ( GL_ARB_texture_cube_map ) { 
     278    enum : GLuint { 
    248279        GL_NORMAL_MAP_ARB = 0x8511, 
    249280        GL_REFLECTION_MAP_ARB = 0x8512, 
     
    261292} 
    262293 
    263 version(GL_ARB_texture_compression) 
    264 
    265     enum:GLuint 
    266     { 
     294version ( GL_ARB_texture_compression ) { 
     295    enum : GLuint { 
    267296        GL_COMPRESSED_ALPHA_ARB = 0x84E9, 
    268297        GL_COMPRESSED_LUMINANCE_ARB = 0x84EA, 
     
    277306        GL_COMPRESSED_TEXTURE_FORMATS_ARB = 0x86A3 
    278307    } 
    279      
    280     typedef GLvoid function(GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, GLvoid*) pfglCompressedTexImage3DARB; 
    281     typedef GLvoid function(GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, GLvoid*) pfglCompressedTexImage2DARB; 
    282     typedef GLvoid function(GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, GLvoid*) pfglCompressedTexImage1DARB; 
    283     typedef GLvoid function(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, GLvoid*) pfglCompressedTexSubImage3DARB; 
    284     typedef GLvoid function(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, GLvoid*) pfglCompressedTexSubImage2DARB; 
    285     typedef GLvoid function(GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, GLvoid*) pfglCompressedTexSubImage1DARB; 
    286     typedef GLvoid function(GLenum, GLint, GLvoid*) pfglGetCompressedTexImageARB; 
    287      
    288     extern(System) 
    289     { 
     308 
     309    typedef GLvoid function ( GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, GLvoid* ) 
     310        pfglCompressedTexImage3DARB; 
     311    typedef GLvoid function ( GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, GLvoid* ) 
     312        pfglCompressedTexImage2DARB; 
     313    typedef GLvoid function ( GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, GLvoid* ) 
     314        pfglCompressedTexImage1DARB; 
     315    typedef GLvoid function ( GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, GLvoid* ) 
     316        pfglCompressedTexSubImage3DARB; 
     317    typedef GLvoid function ( GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, GLvoid* ) 
     318        pfglCompressedTexSubImage2DARB; 
     319    typedef GLvoid function ( GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, GLvoid* ) 
     320        pfglCompressedTexSubImage1DARB; 
     321    typedef GLvoid function ( GLenum, GLint, GLvoid* ) 
     322        pfglGetCompressedTexImageARB; 
     323 
     324    extern ( System ) { 
    290325        pfglCompressedTexImage3DARB glCompressedTexImage3DARB; 
    291326        pfglCompressedTexImage2DARB glCompressedTexImage2DARB; 
     
    296331        pfglGetCompressedTexImageARB glGetCompressedTexImageARB; 
    297332    } 
    298      
    299     static this() 
    300     { 
    301         glExtensions["GL_ARB_texture_compression"] = 
    302         { 
    303             glCompressedTexImage3DARB = cast(pfglCompressedTexImage3DARB)glBindExtension("glCompressedTexImage3DARB"); 
    304             glCompressedTexImage2DARB = cast(pfglCompressedTexImage2DARB)glBindExtension("glCompressedTexImage2DARB"); 
    305             glCompressedTexImage1DARB = cast(pfglCompressedTexImage1DARB)glBindExtension("glCompressedTexImage1DARB"); 
    306             glCompressedTexSubImage3DARB = cast(pfglCompressedTexSubImage3DARB)glBindExtension("glCompressedTexSubImage3DARB"); 
    307             glCompressedTexSubImage2DARB = cast(pfglCompressedTexSubImage2DARB)glBindExtension("glCompressedTexSubImage2DARB"); 
    308             glCompressedTexSubImage1DARB = cast(pfglCompressedTexSubImage1DARB)glBindExtension("glCompressedTexSubImage1DARB"); 
    309             glGetCompressedTexImageARB = cast(pfglGetCompressedTexImageARB)glBindExtension("glGetCompressedTexImageARB"); 
     333 
     334    static this() { 
     335        glExtensions[ "GL_ARB_texture_compression" ] = { 
     336            glCompressedTexImage3DARB = cast(pfglCompressedTexImage3DARB) glBindExtension( 
     337                "glCompressedTexImage3DARB" ); 
     338            glCompressedTexImage2DARB = cast(pfglCompressedTexImage2DARB) glBindExtension( 
     339                "glCompressedTexImage2DARB" ); 
     340            glCompressedTexImage1DARB = cast(pfglCompressedTexImage1DARB) glBindExtension( 
     341                "glCompressedTexImage1DARB" ); 
     342            glCompressedTexSubImage3DARB = cast(pfglCompressedTexSubImage3DARB) glBindExtension( 
     343                "glCompressedTexSubImage3DARB" ); 
     344            glCompressedTexSubImage2DARB = cast(pfglCompressedTexSubImage2DARB) glBindExtension( 
     345                "glCompressedTexSubImage2DARB" ); 
     346            glCompressedTexSubImage1DARB = cast(pfglCompressedTexSubImage1DARB) glBindExtension( 
     347                "glCompressedTexSubImage1DARB" ); 
     348            glGetCompressedTexImageARB = cast(pfglGetCompressedTexImageARB) glBindExtension( 
     349                "glGetCompressedTexImageARB" ); 
    310350        }; 
    311351    } 
    312352} 
    313353 
    314 version(GL_ARB_texture_border_clamp) 
    315 
    316     enum:GLuint 
    317     { 
     354version ( GL_ARB_texture_border_clamp ) { 
     355    enum : GLuint { 
    318356        GL_CLAMP_TO_BORDER_ARB = 0x812D 
    319357    } 
    320358} 
    321359 
    322 version(GL_ARB_point_parameters) 
    323 
    324     enum:GLuint 
    325     { 
     360version ( GL_ARB_point_parameters ) { 
     361    enum : GLuint { 
    326362        GL_POINT_SIZE_MIN_ARB = 0x8126, 
    327363        GL_POINT_SIZE_MAX_ARB = 0x8127, 
     
    329365        GL_POINT_DISTANCE_ATTENUATION_ARB = 0x8129 
    330366    } 
    331      
    332     typedef GLvoid function(GLenum, GLfloat) pfglPointParameterfARB; 
    333     typedef GLvoid function(GLenum, GLfloat*) pfglPointParameterfvARB; 
    334      
    335     extern(System) 
    336     { 
     367 
     368    typedef GLvoid function ( GLenum, GLfloat ) pfglPointParameterfARB; 
     369    typedef GLvoid function ( GLenum, GLfloat* ) pfglPointParameterfvARB; 
     370 
     371    extern ( System ) { 
    337372        pfglPointParameterfARB glPointParameterfARB; 
    338373        pfglPointParameterfvARB glPointParameterfvARB; 
    339374    } 
    340      
    341     static this() 
    342    
    343         glExtensions["GL_ARB_point_parameters"] = 
    344         { 
    345             glPointParameterfARB = cast(pfglPointParameterfARB)glBindExtension("glPointParameterfARB"); 
    346             glPointParameterfvARB = cast(pfglPointParameterfvARB)glBindExtension("glPointParameterfvARB"); 
     375 
     376    static this() { 
     377       glExtensions[ "GL_ARB_point_parameters" ] =
     378           glPointParameterfARB = cast(pfglPointParameterfARB) glBindExtension( 
     379               "glPointParameterfARB" ); 
     380            glPointParameterfvARB = cast(pfglPointParameterfvARB) glBindExtension( 
     381               "glPointParameterfvARB" ); 
    347382        }; 
    348383    } 
    349384} 
    350385 
    351 version(GL_ARB_vertex_blend) 
    352 
    353     enum:GLuint 
    354     { 
     386version ( GL_ARB_vertex_blend ) { 
     387    enum : GLuint { 
    355388        GL_MAX_VERTEX_UNITS_ARB = 0x86A4, 
    356389        GL_ACTIVE_VERTEX_UNITS_ARB = 0x86A5, 
     
    396429        GL_MODELVIEW31_ARB = 0x873F 
    397430    } 
    398      
    399     typedef GLvoid function(GLint, GLbyte*) pfglWeightbvARB; 
    400     typedef GLvoid function(GLint, GLshort*) pfglWeightsvARB; 
    401     typedef GLvoid function(GLint, GLint*) pfglWeightivARB; 
    402     typedef GLvoid function(GLint, GLfloat*) pfglWeightfvARB; 
    403     typedef GLvoid function(GLint, GLdouble*) pfglWeightdvARB; 
    404     typedef GLvoid function(GLint, GLubyte*) pfglWeightubvARB; 
    405     typedef GLvoid function(GLint, GLushort*) pfglWeightusvARB; 
    406     typedef GLvoid function(GLint, GLuint*) pfglWeightuivARB; 
    407     typedef GLvoid function(GLint, GLenum, GLsizei, GLvoid*) pfglWeightPointerARB; 
    408     typedef GLvoid function(GLint) pfglVertexBlendARB; 
    409      
    410     extern(System) 
    411    
     431 
     432    typedef GLvoid function ( GLint, GLbyte* ) pfglWeightbvARB; 
     433    typedef GLvoid function ( GLint, GLshort* ) pfglWeightsvARB; 
     434    typedef GLvoid function ( GLint, GLint* ) pfglWeightivARB; 
     435    typedef GLvoid function ( GLint, GLfloat* ) pfglWeightfvARB; 
     436    typedef GLvoid function ( GLint, GLdouble* ) pfglWeightdvARB; 
     437    typedef GLvoid function ( GLint, GLubyte* ) pfglWeightubvARB; 
     438    typedef GLvoid function ( GLint, GLushort* ) pfglWeightusvARB; 
     439    typedef GLvoid function ( GLint, GLuint* ) pfglWeightuivARB; 
     440    typedef GLvoid function ( GLint, GLenum, GLsizei, GLvoid* ) 
     441       pfglWeightPointerARB; 
     442    typedef GLvoid function ( GLint ) pfglVertexBlendARB; 
     443 
     444    extern ( System )
    412445        pfglWeightbvARB glWeightbvARB; 
    413446        pfglWeightsvARB glWeightsvARB; 
     
    421454        pfglVertexBlendARB glVertexBlendARB; 
    422455    } 
    423      
    424     static this() 
    425     { 
    426         glExtensions["GL_ARB_vertex_blend"] = 
    427         { 
    428             glWeightbvARB = cast(pfglWeightbvARB)glBindExtension("glWeightbvARB"); 
    429             glWeightsvARB = cast(pfglWeightsvARB)glBindExtension("glWeightsvARB"); 
    430             glWeightivARB = cast(pfglWeightivARB)glBindExtension("glWeightivARB"); 
    431             glWeightfvARB = cast(pfglWeightfvARB)glBindExtension("glWeightfvARB"); 
    432             glWeightdvARB = cast(pfglWeightdvARB)glBindExtension("glWeightdvARB"); 
    433             glWeightubvARB = cast(pfglWeightubvARB)glBindExtension("glWeightubvARB"); 
    434             glWeightusvARB = cast(pfglWeightusvARB)glBindExtension("glWeightusvARB"); 
    435             glWeightuivARB = cast(pfglWeightuivARB)glBindExtension("glWeightuivARB"); 
    436             glWeightPointerARB = cast(pfglWeightPointerARB)glBindExtension("glWeightPointerARB"); 
    437             glVertexBlendARB = cast(pfglVertexBlendARB)glBindExtension("glVertexBlendARB"); 
     456 
     457    static this() { 
     458        glExtensions[ "GL_ARB_vertex_blend" ] = { 
     459            glWeightbvARB = cast(pfglWeightbvARB) glBindExtension( 
     460                "glWeightbvARB" ); 
     461            glWeightsvARB = cast(pfglWeightsvARB) glBindExtension( 
     462                "glWeightsvARB" ); 
     463            glWeightivARB = cast(pfglWeightivARB) glBindExtension( 
     464                "glWeightivARB" ); 
     465            glWeightfvARB = cast(pfglWeightfvARB) glBindExtension( 
     466                "glWeightfvARB" ); 
     467            glWeightdvARB = cast(pfglWeightdvARB) glBindExtension( 
     468                "glWeightdvARB" ); 
     469            glWeightubvARB = cast(pfglWeightubvARB) glBindExtension( 
     470                "glWeightubvARB" ); 
     471            glWeightusvARB = cast(pfglWeightusvARB) glBindExtension( 
     472                "glWeightusvARB" ); 
     473            glWeightuivARB = cast(pfglWeightuivARB) glBindExtension( 
     474                "glWeightuivARB" ); 
     475            glWeightPointerARB = cast(pfglWeightPointerARB) glBindExtension( 
     476                "glWeightPointerARB" ); 
     477            glVertexBlendARB = cast(pfglVertexBlendARB) glBindExtension( 
     478                "glVertexBlendARB" ); 
    438479        }; 
    439480    } 
    440481} 
    441482 
    442 version(GL_ARB_matrix_palette) 
    443 
    444     enum:GLuint 
    445     { 
     483version ( GL_ARB_matrix_palette ) { 
     484    enum : GLuint { 
    446485        GL_MATRIX_PALETTE_ARB = 0x8840, 
    447486        GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB = 0x8841, 
     
    455494        GL_MATRIX_INDEX_ARRAY_POINTER_ARB = 0x8849 
    456495    } 
    457      
    458     typedef GLvoid function(GLint) pfglCurrentPaletteMatrixARB; 
    459     typedef GLvoid function(GLint, GLubyte*) pfglMatrixIndexubvARB; 
    460     typedef GLvoid function(GLint, GLushort*) pfglMatrixIndexusvARB; 
    461     typedef GLvoid function(GLint, GLuint*) pfglMatrixIndexuivARB; 
    462     typedef GLvoid function(GLint, GLenum, GLsizei, GLvoid*) pfglMatrixIndexPointerARB; 
    463      
    464     extern(System) 
    465    
     496 
     497    typedef GLvoid function ( GLint ) pfglCurrentPaletteMatrixARB; 
     498    typedef GLvoid function ( GLint, GLubyte* ) pfglMatrixIndexubvARB; 
     499    typedef GLvoid function ( GLint, GLushort* ) pfglMatrixIndexusvARB; 
     500    typedef GLvoid function ( GLint, GLuint* ) pfglMatrixIndexuivARB; 
     501    typedef GLvoid function ( GLint, GLenum, GLsizei, GLvoid* ) 
     502       pfglMatrixIndexPointerARB; 
     503 
     504    extern ( System )
    466505        pfglCurrentPaletteMatrixARB glCurrentPaletteMatrixARB; 
    467506        pfglMatrixIndexubvARB glMatrixIndexubvARB; 
     
    470509        pfglMatrixIndexPointerARB glMatrixIndexPointerARB; 
    471510    } 
    472      
    473     static this() 
    474     { 
    475         glExtensions["GL_ARB_matrix_palette"] = 
    476         { 
    477             glCurrentPaletteMatrixARB = cast(pfglCurrentPaletteMatrixARB)glBindExtension("glCurrentPaletteMatrixARB"); 
    478             glMatrixIndexubvARB = cast(pfglMatrixIndexubvARB)glBindExtension("glMatrixIndexubvARB"); 
    479             glMatrixIndexusvARB = cast(pfglMatrixIndexusvARB)glBindExtension("glMatrixIndexusvARB"); 
    480             glMatrixIndexuivARB = cast(pfglMatrixIndexuivARB)glBindExtension("glMatrixIndexuivARB"); 
    481             glMatrixIndexPointerARB = cast(pfglMatrixIndexPointerARB)glBindExtension("glMatrixIndexPointerARB"); 
     511 
     512    static this() { 
     513        glExtensions[ "GL_ARB_matrix_palette" ] = { 
     514            glCurrentPaletteMatrixARB = cast(pfglCurrentPaletteMatrixARB) glBindExtension( 
     515                "glCurrentPaletteMatrixARB" ); 
     516            glMatrixIndexubvARB = cast(pfglMatrixIndexubvARB) glBindExtension( 
     517                "glMatrixIndexubvARB" ); 
     518            glMatrixIndexusvARB = cast(pfglMatrixIndexusvARB) glBindExtension( 
     519                "glMatrixIndexusvARB" ); 
     520            glMatrixIndexuivARB = cast(pfglMatrixIndexuivARB) glBindExtension( 
     521                "glMatrixIndexuivARB" ); 
     522            glMatrixIndexPointerARB = cast(pfglMatrixIndexPointerARB) glBindExtension( 
     523                "glMatrixIndexPointerARB" ); 
    482524        }; 
    483525    } 
    484526} 
    485527 
    486 version(GL_ARB_texture_env_combine) 
    487 
    488     enum:GLuint 
    489     { 
     528version ( GL_ARB_texture_env_combine ) { 
     529    enum : GLuint { 
    490530        GL_COMBINE_ARB = 0x8570, 
    491531        GL_COMBINE_RGB_ARB = 0x8571, 
     
    512552    } 
    513553} 
    514 version(GL_ARB_window_pos) 
    515 
    516     typedef GLvoid function(GLdouble, GLdouble) pfglWindowPos2dARB; 
    517     typedef GLvoid function(GLdouble*) pfglWindowPos2dvARB; 
    518     typedef GLvoid function(GLfloat, GLfloat) pfglWindowPos2fARB; 
    519     typedef GLvoid function(GLfloat*) pfglWindowPos2fvARB; 
    520     typedef GLvoid function(GLint, GLint) pfglWindowPos2iARB; 
    521     typedef GLvoid function(GLint*) pfglWindowPos2ivARB; 
    522     typedef GLvoid function(GLshort, GLshort) pfglWindowPos2sARB; 
    523     typedef GLvoid function(GLshort*) pfglWindowPos2svARB; 
    524     typedef GLvoid function(GLdouble, GLdouble, GLdouble) pfglWindowPos3dARB; 
    525     typedef GLvoid function(GLdouble*) pfglWindowPos3dvARB; 
    526     typedef GLvoid function(GLfloat, GLfloat, GLfloat) pfglWindowPos3fARB; 
    527     typedef GLvoid function(GLfloat*) pfglWindowPos3fvARB; 
    528     typedef GLvoid function(GLint, GLint, GLint) pfglWindowPos3iARB; 
    529     typedef GLvoid function(GLint*) pfglWindowPos3ivARB; 
    530     typedef GLvoid function(GLshort, GLshort, GLshort) pfglWindowPos3sARB; 
    531     typedef GLvoid function(GLshort*) pfglWindowPos3svARB; 
    532      
    533     extern(System) 
    534     { 
     554 
     555version ( GL_ARB_window_pos ) { 
     556    typedef GLvoid function ( GLdouble, GLdouble ) pfglWindowPos2dARB; 
     557    typedef GLvoid function ( GLdouble* ) pfglWindowPos2dvARB; 
     558    typedef GLvoid function ( GLfloat, GLfloat ) pfglWindowPos2fARB; 
     559    typedef GLvoid function ( GLfloat* ) pfglWindowPos2fvARB; 
     560    typedef GLvoid function ( GLint, GLint ) pfglWindowPos2iARB; 
     561    typedef GLvoid function ( GLint* ) pfglWindowPos2ivARB; 
     562    typedef GLvoid function ( GLshort, GLshort ) pfglWindowPos2sARB; 
     563    typedef GLvoid function ( GLshort* ) pfglWindowPos2svARB; 
     564    typedef GLvoid function ( GLdouble, GLdouble, GLdouble ) pfglWindowPos3dARB; 
     565    typedef GLvoid function ( GLdouble* ) pfglWindowPos3dvARB; 
     566    typedef GLvoid function ( GLfloat, GLfloat, GLfloat ) pfglWindowPos3fARB; 
     567    typedef GLvoid function ( GLfloat* ) pfglWindowPos3fvARB; 
     568    typedef GLvoid function ( GLint, GLint, GLint ) pfglWindowPos3iARB; 
     569    typedef GLvoid function ( GLint* ) pfglWindowPos3ivARB; 
     570    typedef GLvoid function ( GLshort, GLshort, GLshort ) pfglWindowPos3sARB; 
     571    typedef GLvoid function ( GLshort* ) pfglWindowPos3svARB; 
     572 
     573    extern ( System ) { 
    535574        pfglWindowPos2dARB glWindowPos2dARB; 
    536575        pfglWindowPos2dvARB glWindowPos2dvARB; 
     
    550589        pfglWindowPos3svARB glWindowPos3svARB; 
    551590    } 
    552      
    553     static this() 
    554     { 
    555         glExtensions["GL_ARB_window_pos"] = 
    556         { 
    557             glWindowPos2dARB = cast(pfglWindowPos2dARB)glBindExtension("glWindowPos2dARB"); 
    558             glWindowPos2dvARB = cast(pfglWindowPos2dvARB)glBindExtension("glWindowPos2dvARB"); 
    559             glWindowPos2fARB = cast(pfglWindowPos2fARB)glBindExtension("glWindowPos2fARB"); 
    560             glWindowPos2fvARB = cast(pfglWindowPos2fvARB)glBindExtension("glWindowPos2fvARB"); 
    561             glWindowPos2iARB = cast(pfglWindowPos2iARB)glBindExtension("glWindowPos2iARB"); 
    562             glWindowPos2ivARB = cast(pfglWindowPos2ivARB)glBindExtension("glWindowPos2ivARB"); 
    563             glWindowPos2sARB = cast(pfglWindowPos2sARB)glBindExtension("glWindowPos2sARB"); 
    564             glWindowPos2svARB = cast(pfglWindowPos2svARB)glBindExtension("glWindowPos2svARB"); 
    565             glWindowPos3dARB = cast(pfglWindowPos3dARB)glBindExtension("glWindowPos3dARB"); 
    566             glWindowPos3dvARB = cast(pfglWindowPos3dvARB)glBindExtension("glWindowPos3dvARB"); 
    567             glWindowPos3fARB = cast(pfglWindowPos3fARB)glBindExtension("glWindowPos3fARB"); 
    568             glWindowPos3fvARB = cast(pfglWindowPos3fvARB)glBindExtension("glWindowPos3fvARB"); 
    569             glWindowPos3iARB = cast(pfglWindowPos3iARB)glBindExtension("glWindowPos3iARB"); 
    570             glWindowPos3ivARB = cast(pfglWindowPos3ivARB)glBindExtension("glWindowPos3ivARB"); 
    571             glWindowPos3sARB = cast(pfglWindowPos3sARB)glBindExtension("glWindowPos3sARB"); 
    572             glWindowPos3svARB = cast(pfglWindowPos3svARB)glBindExtension("glWindowPos3svARB"); 
     591 
     592    static this() { 
     593        glExtensions[ "GL_ARB_window_pos" ] = { 
     594            glWindowPos2dARB = cast(pfglWindowPos2dARB) glBindExtension( 
     595                "glWindowPos2dARB" ); 
     596            glWindowPos2dvARB = cast(pfglWindowPos2dvARB) glBindExtension( 
     597                "glWindowPos2dvARB" ); 
     598            glWindowPos2fARB = cast(pfglWindowPos2fARB) glBindExtension( 
     599                "glWindowPos2fARB" ); 
     600            glWindowPos2fvARB = cast(pfglWindowPos2fvARB) glBindExtension( 
     601                "glWindowPos2fvARB" ); 
     602            glWindowPos2iARB = cast(pfglWindowPos2iARB) glBindExtension( 
     603                "glWindowPos2iARB" ); 
     604            glWindowPos2ivARB = cast(pfglWindowPos2ivARB) glBindExtension( 
     605                "glWindowPos2ivARB" ); 
     606            glWindowPos2sARB = cast(pfglWindowPos2sARB) glBindExtension( 
     607                "glWindowPos2sARB" ); 
     608            glWindowPos2svARB = cast(pfglWindowPos2svARB) glBindExtension( 
     609                "glWindowPos2svARB" ); 
     610            glWindowPos3dARB = cast(pfglWindowPos3dARB) glBindExtension( 
     611                "glWindowPos3dARB" ); 
     612            glWindowPos3dvARB = cast(pfglWindowPos3dvARB) glBindExtension( 
     613                "glWindowPos3dvARB" ); 
     614            glWindowPos3fARB = cast(pfglWindowPos3fARB) glBindExtension( 
     615                "glWindowPos3fARB" ); 
     616            glWindowPos3fvARB = cast(pfglWindowPos3fvARB) glBindExtension( 
     617                "glWindowPos3fvARB" ); 
     618            glWindowPos3iARB = cast(pfglWindowPos3iARB) glBindExtension( 
     619                "glWindowPos3iARB" ); 
     620            glWindowPos3ivARB = cast(pfglWindowPos3ivARB) glBindExtension( 
     621                "glWindowPos3ivARB" ); 
     622            glWindowPos3sARB = cast(pfglWindowPos3sARB) glBindExtension( 
     623                "glWindowPos3sARB" ); 
     624            glWindowPos3svARB = cast(pfglWindowPos3svARB) glBindExtension( 
     625                "glWindowPos3svARB" ); 
    573626        }; 
    574627    } 
    575628} 
    576629 
    577 version(GL_ARB_texture_env_dot3) 
    578 
    579     enum:GLuint 
    580     { 
     630version ( GL_ARB_texture_env_dot3 ) { 
     631    enum : GLuint { 
    581632        GL_DOT3_RGB_ARB = 0x86AE, 
    582633        GL_DOT3_RGBA_ARB = 0x86AF 
     
    584635} 
    585636 
    586 version(GL_ARB_texture_mirrored_repeat) 
    587 
    588     enum:GLuint 
    589     { 
     637version ( GL_ARB_texture_mirrored_repeat ) { 
     638    enum : GLuint { 
    590639        GL_MIRRORED_REPEAT_ARB = 0x8370 
    591640    } 
    592641} 
    593642 
    594 version(GL_ARB_depth_texture) 
    595 
    596     enum:GLuint 
    597     { 
     643version ( GL_ARB_depth_texture ) { 
     644    enum : GLuint { 
    598645        GL_DEPTH_COMPONENT16_ARB = 0x81A5, 
    599646        GL_DEPTH_COMPONENT24_ARB = 0x81A6, 
     
    604651} 
    605652 
    606 version(GL_ARB_shadow) 
    607 
    608     enum:GLuint 
    609     { 
     653version ( GL_ARB_shadow ) { 
     654    enum : GLuint { 
    610655        GL_TEXTURE_COMPARE_MODE_ARB = 0x884C, 
    611656        GL_TEXTURE_COMPARE_FUNC_ARB = 0x884D, 
     
    614659} 
    615660 
    616 version(GL_ARB_shadow_ambient) 
    617 
    618     enum:GLuint 
    619     { 
     661version ( GL_ARB_shadow_ambient ) { 
     662    enum : GLuint { 
    620663        GL_TEXTURE_COMPARE_FAIL_VALUE_ARB = 0x80BF 
    621664    } 
    622665} 
    623666 
    624 version(GL_ARB_vertex_program) 
    625 
    626     enum:GLuint 
    627     { 
     667version ( GL_ARB_vertex_program ) { 
     668    enum : GLuint { 
    628669        GL_COLOR_SUM_ARB = 0x8458, 
    629670        GL_VERTEX_PROGRAM_ARB = 0x8620, 
     
    668709        GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB = 0x88B1, 
    669710        GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = 0x88B2, 
    670         GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB= 0x88B3, 
     711        GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = 0x88B3, 
    671712        GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB = 0x88B4, 
    672713        GL_MAX_PROGRAM_ENV_PARAMETERS_ARB = 0x88B5, 
     
    707748    } 
    708749 
    709     typedef GLvoid function(GLuint, GLdouble) pfglVertexAttrib1dARB; 
    710     typedef GLvoid function(GLuint, GLdouble*) pfglVertexAttrib1dvARB; 
    711     typedef GLvoid function(GLuint, GLfloat) pfglVertexAttrib1fARB; 
    712     typedef GLvoid function(GLuint, GLfloat*) pfglVertexAttrib1fvARB; 
    713     typedef GLvoid function(GLuint, GLshort) pfglVertexAttrib1sARB; 
    714     typedef GLvoid function(GLuint, GLshort*) pfglVertexAttrib1svARB; 
    715     typedef GLvoid function(GLuint, GLdouble, GLdouble) pfglVertexAttrib2dARB; 
    716     typedef GLvoid function(GLuint, GLdouble*) pfglVertexAttrib2dvARB; 
    717     typedef GLvoid function(GLuint, GLfloat, GLfloat) pfglVertexAttrib2fARB; 
    718     typedef GLvoid function(GLuint, GLfloat*) pfglVertexAttrib2fvARB; 
    719     typedef GLvoid function(GLuint, GLshort, GLshort) pfglVertexAttrib2sARB; 
    720     typedef GLvoid function(GLuint, GLshort*) pfglVertexAttrib2svARB; 
    721     typedef GLvoid function(GLuint, GLdouble, GLdouble, GLdouble) pfglVertexAttrib3dARB; 
    722     typedef GLvoid function(GLuint, GLdouble*) pfglVertexAttrib3dvARB; 
    723     typedef GLvoid function(GLuint, GLfloat, GLfloat, GLfloat) pfglVertexAttrib3fARB; 
    724     typedef GLvoid function(GLuint, GLfloat*) pfglVertexAttrib3fvARB; 
    725     typedef GLvoid function(GLuint, GLshort, GLshort, GLshort) pfglVertexAttrib3sARB; 
    726     typedef GLvoid function(GLuint, GLshort*) pfglVertexAttrib3svARB; 
    727     typedef GLvoid function(GLuint, GLbyte*) pfglVertexAttrib4NbvARB; 
    728     typedef GLvoid function(GLuint, GLint*) pfglVertexAttrib4NivARB; 
    729     typedef GLvoid function(GLuint, GLshort*) pfglVertexAttrib4NsvARB; 
    730     typedef GLvoid function(GLuint, GLubyte, GLubyte, GLubyte, GLubyte) pfglVertexAttrib4NubARB; 
    731     typedef GLvoid function(GLuint, GLubyte*) pfglVertexAttrib4NubvARB; 
    732     typedef GLvoid function(GLuint, GLuint*) pfglVertexAttrib4NuivARB; 
    733     typedef GLvoid function(GLuint, GLushort*) pfglVertexAttrib4NusvARB; 
    734     typedef GLvoid function(GLuint, GLbyte*) pfglVertexAttrib4bvARB; 
    735     typedef GLvoid function(GLuint, GLdouble, GLdouble, GLdouble, GLdouble) pfglVertexAttrib4dARB; 
    736     typedef GLvoid function(GLuint, GLdouble*) pfglVertexAttrib4dvARB; 
    737     typedef GLvoid function(GLuint, GLfloat, GLfloat, GLfloat, GLfloat) pfglVertexAttrib4fARB; 
    738     typedef GLvoid function(GLuint, GLfloat*) pfglVertexAttrib4fvARB; 
    739     typedef GLvoid function(GLuint, GLint*) pfglVertexAttrib4ivARB; 
    740     typedef GLvoid function(GLuint, GLshort, GLshort, GLshort, GLshort) pfglVertexAttrib4sARB; 
    741     typedef GLvoid function(GLuint, GLshort*) pfglVertexAttrib4svARB; 
    742     typedef GLvoid function(GLuint, GLubyte*) pfglVertexAttrib4ubvARB; 
    743     typedef GLvoid function(GLuint, GLuint*) pfglVertexAttrib4uivARB; 
    744     typedef GLvoid function(GLuint, GLushort*) pfglVertexAttrib4usvARB; 
    745     typedef GLvoid function(GLuint, GLint, GLenum, GLboolean, GLsizei, GLvoid*) pfglVertexAttribPointerARB; 
    746     typedef GLvoid function(GLuint) pfglEnableVertexAttribArrayARB; 
    747     typedef GLvoid function(GLuint) pfglDisableVertexAttribArrayARB; 
    748     typedef GLvoid function(GLenum, GLenum, GLsizei, GLvoid*) pfglProgramStringARB; 
    749     typedef GLvoid function(GLenum, GLuint) pfglBindProgramARB; 
    750     typedef GLvoid function(GLsizei, GLuint*) pfglDeleteProgramsARB; 
    751     typedef GLvoid function(GLsizei, GLuint*) pfglGenProgramsARB; 
    752     typedef GLvoid function(GLenum, GLuint, GLdouble, GLdouble, GLdouble, GLdouble) pfglProgramEnvParameter4dARB; 
    753     typedef GLvoid function(GLenum, GLuint, GLdouble*) pfglProgramEnvParameter4dvARB; 
    754     typedef GLvoid function(GLenum, GLuint, GLfloat, GLfloat, GLfloat, GLfloat) pfglProgramEnvParameter4fARB; 
    755     typedef GLvoid function(GLenum, GLuint, GLfloat*) pfglProgramEnvParameter4fvARB; 
    756     typedef GLvoid function(GLenum, GLuint, GLdouble, GLdouble, GLdouble, GLdouble) pfglProgramLocalParameter4dARB; 
    757     typedef GLvoid function(GLenum, GLuint, GLdouble*) pfglProgramLocalParameter4dvARB; 
    758     typedef GLvoid function(GLenum, GLuint, GLfloat, GLfloat, GLfloat, GLfloat) pfglProgramLocalParameter4fARB; 
    759     typedef GLvoid function(GLenum, GLuint, GLfloat*) pfglProgramLocalParameter4fvARB; 
    760     typedef GLvoid function(GLenum, GLuint, GLdouble*) pfglGetProgramEnvParameterdvARB; 
    761     typedef GLvoid function(GLenum, GLuint, GLfloat*) pfglGetProgramEnvParameterfvARB; 
    762     typedef GLvoid function(GLenum, GLuint, GLdouble*) pfglGetProgramLocalParameterdvARB; 
    763     typedef GLvoid function(GLenum, GLuint, GLfloat*) pfglGetProgramLocalParameterfvARB; 
    764     typedef GLvoid function(GLenum, GLenum, GLint*) pfglGetProgramivARB; 
    765     typedef GLvoid function(GLenum, GLenum, GLvoid*) pfglGetProgramStringARB; 
    766     typedef GLvoid function(GLuint, GLenum, GLdouble*) pfglGetVertexAttribdvARB; 
    767     typedef GLvoid function(GLuint, GLenum, GLfloat*) pfglGetVertexAttribfvARB; 
    768     typedef GLvoid function(GLuint, GLenum, GLint*) pfglGetVertexAttribivARB; 
    769     typedef GLvoid function(GLuint, GLenum, GLvoid**) pfglGetVertexAttribPointervARB; 
    770     typedef GLboolean function(GLuint) pfglIsProgramARB; 
    771      
    772     extern(System) 
    773     { 
     750    typedef GLvoid function ( GLuint, GLdouble ) pfglVertexAttrib1dARB; 
     751    typedef GLvoid function ( GLuint, GLdouble* ) pfglVertexAttrib1dvARB; 
     752    typedef GLvoid function ( GLuint, GLfloat ) pfglVertexAttrib1fARB; 
     753    typedef GLvoid function ( GLuint, GLfloat* ) pfglVertexAttrib1fvARB; 
     754    typedef GLvoid function ( GLuint, GLshort ) pfglVertexAttrib1sARB; 
     755    typedef GLvoid function ( GLuint, GLshort* ) pfglVertexAttrib1svARB; 
     756    typedef GLvoid function ( GLuint, GLdouble, GLdouble ) 
     757        pfglVertexAttrib2dARB; 
     758    typedef GLvoid function ( GLuint, GLdouble* ) pfglVertexAttrib2dvARB; 
     759    typedef GLvoid function ( GLuint, GLfloat, GLfloat ) pfglVertexAttrib2fARB; 
     760    typedef GLvoid function ( GLuint, GLfloat* ) pfglVertexAttrib2fvARB; 
     761    typedef GLvoid function ( GLuint, GLshort, GLshort ) pfglVertexAttrib2sARB; 
     762    typedef GLvoid function ( GLuint, GLshort* ) pfglVertexAttrib2svARB; 
     763    typedef GLvoid function ( GLuint, GLdouble, GLdouble, GLdouble ) 
     764        pfglVertexAttrib3dARB; 
     765    typedef GLvoid function ( GLuint, GLdouble* ) pfglVertexAttrib3dvARB; 
     766    typedef GLvoid function ( GLuint, GLfloat, GLfloat, GLfloat ) 
     767        pfglVertexAttrib3fARB; 
     768    typedef GLvoid function ( GLuint, GLfloat* ) pfglVertexAttrib3fvARB; 
     769    typedef GLvoid function ( GLuint, GLshort, GLshort, GLshort ) 
     770        pfglVertexAttrib3sARB; 
     771    typedef GLvoid function ( GLuint, GLshort* ) pfglVertexAttrib3svARB; 
     772    typedef GLvoid function ( GLuint, GLbyte* ) pfglVertexAttrib4NbvARB; 
     773    typedef GLvoid function ( GLuint, GLint* ) pfglVertexAttrib4NivARB; 
     774    typedef GLvoid function ( GLuint, GLshort* ) pfglVertexAttrib4NsvARB; 
     775    typedef GLvoid function ( GLuint, GLubyte, GLubyte, GLubyte, GLubyte ) 
     776        pfglVertexAttrib4NubARB; 
     777    typedef GLvoid function ( GLuint, GLubyte* ) pfglVertexAttrib4NubvARB; 
     778    typedef GLvoid function ( GLuint, GLuint* ) pfglVertexAttrib4NuivARB; 
     779    typedef GLvoid function ( GLuint, GLushort* ) pfglVertexAttrib4NusvARB; 
     780    typedef GLvoid function ( GLuint, GLbyte* ) pfglVertexAttrib4bvARB; 
     781    typedef GLvoid function ( GLuint, GLdouble, GLdouble, GLdouble, GLdouble ) 
     782        pfglVertexAttrib4dARB; 
     783    typedef GLvoid function ( GLuint, GLdouble* ) pfglVertexAttrib4dvARB; 
     784    typedef GLvoid function ( GLuint, GLfloat, GLfloat, GLfloat, GLfloat ) 
     785        pfglVertexAttrib4fARB; 
     786    typedef GLvoid function ( GLuint, GLfloat* ) pfglVertexAttrib4fvARB; 
     787    typedef GLvoid function ( GLuint, GLint* ) pfglVertexAttrib4ivARB; 
     788    typedef GLvoid function ( GLuint, GLshort, GLshort, GLshort, GLshort ) 
     789        pfglVertexAttrib4sARB; 
     790    typedef GLvoid function ( GLuint, GLshort* ) pfglVertexAttrib4svARB; 
     791    typedef GLvoid function ( GLuint, GLubyte* ) pfglVertexAttrib4ubvARB; 
     792    typedef GLvoid function ( GLuint, GLuint* ) pfglVertexAttrib4uivARB; 
     793    typedef GLvoid function ( GLuint, GLushort* ) pfglVertexAttrib4usvARB; 
     794    typedef GLvoid function ( GLuint, GLint, GLenum, GLboolean, GLsizei, GLvoid* ) 
     795        pfglVertexAttribPointerARB; 
     796    typedef GLvoid function ( GLuint ) pfglEnableVertexAttribArrayARB; 
     797    typedef GLvoid function ( GLuint ) pfglDisableVertexAttribArrayARB; 
     798    typedef GLvoid function ( GLenum, GLenum, GLsizei, GLvoid* ) 
     799        pfglProgramStringARB; 
     800    typedef GLvoid function ( GLenum, GLuint ) pfglBindProgramARB; 
     801    typedef GLvoid function ( GLsizei, GLuint* ) pfglDeleteProgramsARB; 
     802    typedef GLvoid function ( GLsizei, GLuint* ) pfglGenProgramsARB; 
     803    typedef GLvoid function ( GLenum, GLuint, GLdouble, GLdouble, GLdouble, GLdouble ) 
     804        pfglProgramEnvParameter4dARB; 
     805    typedef GLvoid function ( GLenum, GLuint, GLdouble* ) 
     806        pfglProgramEnvParameter4dvARB; 
     807    typedef GLvoid function ( GLenum, GLuint, GLfloat, GLfloat, GLfloat, GLfloat ) 
     808        pfglProgramEnvParameter4fARB; 
     809    typedef GLvoid function ( GLenum, GLuint, GLfloat* ) 
     810        pfglProgramEnvParameter4fvARB; 
     811    typedef GLvoid function ( GLenum, GLuint, GLdouble, GLdouble, GLdouble, GLdouble ) 
     812        pfglProgramLocalParameter4dARB; 
     813    typedef GLvoid function ( GLenum, GLuint, GLdouble* ) 
     814        pfglProgramLocalParameter4dvARB; 
     815    typedef GLvoid function ( GLenum, GLuint, GLfloat, GLfloat, GLfloat, GLfloat ) 
     816        pfglProgramLocalParameter4fARB; 
     817    typedef GLvoid function ( GLenum, GLuint, GLfloat* ) 
     818        pfglProgramLocalParameter4fvARB; 
     819    typedef GLvoid function ( GLenum, GLuint, GLdouble* ) 
     820        pfglGetProgramEnvParameterdvARB; 
     821    typedef GLvoid function ( GLenum, GLuint, GLfloat* ) 
     822        pfglGetProgramEnvParameterfvARB; 
     823    typedef GLvoid function ( GLenum, GLuint, GLdouble* ) 
     824        pfglGetProgramLocalParameterdvARB; 
     825    typedef GLvoid function ( GLenum, GLuint, GLfloat* ) 
     826        pfglGetProgramLocalParameterfvARB; 
     827    typedef GLvoid function ( GLenum, GLenum, GLint* ) pfglGetProgramivARB; 
     828    typedef GLvoid function ( GLenum, GLenum, GLvoid* ) pfglGetProgramStringARB; 
     829    typedef GLvoid function ( GLuint, GLenum, GLdouble* ) 
     830        pfglGetVertexAttribdvARB; 
     831    typedef GLvoid function ( GLuint, GLenum, GLfloat* ) 
     832        pfglGetVertexAttribfvARB; 
     833    typedef GLvoid function ( GLuint, GLenum, GLint* ) pfglGetVertexAttribivARB; 
     834    typedef GLvoid function ( GLuint, GLenum, GLvoid** ) 
     835        pfglGetVertexAttribPointervARB; 
     836    typedef GLboolean function ( GLuint ) pfglIsProgramARB; 
     837 
     838    extern ( System ) { 
    774839        pfglVertexAttrib1dARB glVertexAttrib1dARB; 
    775840        pfglVertexAttrib1dvARB glVertexAttrib1dvARB; 
     
    835900        pfglIsProgramARB glIsProgramARB; 
    836901    } 
    837      
    838     static this() 
    839     { 
    840         glExtensions["GL_ARB_vertex_program"] = 
    841         { 
    842             glVertexAttrib1dARB = cast(pfglVertexAttrib1dARB)glBindExtension("glVertexAttrib1dARB"); 
    843             glVertexAttrib1dvARB = cast(pfglVertexAttrib1dvARB)glBindExtension("glVertexAttrib1dvARB"); 
    844             glVertexAttrib1fARB = cast(pfglVertexAttrib1fARB)glBindExtension("glVertexAttrib1fARB"); 
    845             glVertexAttrib1fvARB = cast(pfglVertexAttrib1fvARB)glBindExtension("glVertexAttrib1fvARB"); 
    846             glVertexAttrib1sARB = cast(pfglVertexAttrib1sARB)glBindExtension("glVertexAttrib1sARB"); 
    847             glVertexAttrib1svARB = cast(pfglVertexAttrib1svARB)glBindExtension("glVertexAttrib1svARB"); 
    848             glVertexAttrib2dARB = cast(pfglVertexAttrib2dARB)glBindExtension("glVertexAttrib2dARB"); 
    849             glVertexAttrib2dvARB = cast(pfglVertexAttrib2dvARB)glBindExtension("glVertexAttrib2dvARB"); 
    850             glVertexAttrib2fARB = cast(pfglVertexAttrib2fARB)glBindExtension("glVertexAttrib2fARB"); 
    851             glVertexAttrib2fvARB = cast(pfglVertexAttrib2fvARB)glBindExtension("glVertexAttrib2fvARB"); 
    852             glVertexAttrib2sARB = cast(pfglVertexAttrib2sARB)glBindExtension("glVertexAttrib2sARB"); 
    853             glVertexAttrib2svARB = cast(pfglVertexAttrib2svARB)glBindExtension("glVertexAttrib2svARB"); 
    854             glVertexAttrib3dARB = cast(pfglVertexAttrib3dARB)glBindExtension("glVertexAttrib3dARB"); 
    855             glVertexAttrib3dvARB = cast(pfglVertexAttrib3dvARB)glBindExtension("glVertexAttrib3dvARB"); 
    856             glVertexAttrib3fARB = cast(pfglVertexAttrib3fARB)glBindExtension("glVertexAttrib3fARB"); 
    857             glVertexAttrib3fvARB = cast(pfglVertexAttrib3fvARB)glBindExtension("glVertexAttrib3fvARB"); 
    858             glVertexAttrib3sARB = cast(pfglVertexAttrib3sARB)glBindExtension("glVertexAttrib3sARB"); 
    859             glVertexAttrib3svARB = cast(pfglVertexAttrib3svARB)glBindExtension("glVertexAttrib3svARB"); 
    860             glVertexAttrib4NbvARB = cast(pfglVertexAttrib4NbvARB)glBindExtension("glVertexAttrib4NbvARB"); 
    861             glVertexAttrib4NivARB = cast(pfglVertexAttrib4NivARB)glBindExtension("glVertexAttrib4NivARB"); 
    862             glVertexAttrib4NsvARB = cast(pfglVertexAttrib4NsvARB)glBindExtension("glVertexAttrib4NsvARB"); 
    863             glVertexAttrib4NubARB = cast(pfglVertexAttrib4NubARB)glBindExtension("glVertexAttrib4NubARB"); 
    864             glVertexAttrib4NubvARB = cast(pfglVertexAttrib4NubvARB)glBindExtension("glVertexAttrib4NubvARB"); 
    865             glVertexAttrib4NuivARB = cast(pfglVertexAttrib4NuivARB)glBindExtension("glVertexAttrib4NuivARB"); 
    866             glVertexAttrib4NusvARB = cast(pfglVertexAttrib4NusvARB)glBindExtension("glVertexAttrib4NusvARB"); 
    867             glVertexAttrib4bvARB = cast(pfglVertexAttrib4bvARB)glBindExtension("glVertexAttrib4bvARB"); 
    868             glVertexAttrib4dARB = cast(pfglVertexAttrib4dARB)glBindExtension("glVertexAttrib4dARB"); 
    869             glVertexAttrib4dvARB = cast(pfglVertexAttrib4dvARB)glBindExtension("glVertexAttrib4dvARB"); 
    870             glVertexAttrib4fARB = cast(pfglVertexAttrib4fARB)glBindExtension("glVertexAttrib4fARB"); 
    871             glVertexAttrib4fvARB = cast(pfglVertexAttrib4fvARB)glBindExtension("glVertexAttrib4fvARB"); 
    872             glVertexAttrib4ivARB = cast(pfglVertexAttrib4ivARB)glBindExtension("glVertexAttrib4ivARB"); 
    873             glVertexAttrib4sARB = cast(pfglVertexAttrib4sARB)glBindExtension("glVertexAttrib4sARB"); 
    874             glVertexAttrib4svARB = cast(pfglVertexAttrib4svARB)glBindExtension("glVertexAttrib4svARB"); 
    875             glVertexAttrib4ubvARB = cast(pfglVertexAttrib4ubvARB)glBindExtension("glVertexAttrib4ubvARB"); 
    876             glVertexAttrib4uivARB = cast(pfglVertexAttrib4uivARB)glBindExtension("glVertexAttrib4uivARB"); 
    877             glVertexAttrib4usvARB = cast(pfglVertexAttrib4usvARB)glBindExtension("glVertexAttrib4usvARB"); 
    878             glVertexAttribPointerARB = cast(pfglVertexAttribPointerARB)glBindExtension("glVertexAttribPointerARB"); 
    879             glEnableVertexAttribArrayARB = cast(pfglEnableVertexAttribArrayARB)glBindExtension("glEnableVertexAttribArrayARB"); 
    880             glDisableVertexAttribArrayARB = cast(pfglDisableVertexAttribArrayARB)glBindExtension("glDisableVertexAttribArrayARB"); 
    881             glProgramStringARB = cast(pfglProgramStringARB)glBindExtension("glProgramStringARB"); 
    882             glBindProgramARB = cast(pfglBindProgramARB)glBindExtension("glBindProgramARB"); 
    883             glDeleteProgramsARB = cast(pfglDeleteProgramsARB)glBindExtension("glDeleteProgramsARB"); 
    884             glGenProgramsARB = cast(pfglGenProgramsARB)glBindExtension("glGenProgramsARB"); 
    885             glProgramEnvParameter4dARB = cast(pfglProgramEnvParameter4dARB)glBindExtension("glProgramEnvParameter4dARB"); 
    886             glProgramEnvParameter4dvARB = cast(pfglProgramEnvParameter4dvARB)glBindExtension("glProgramEnvParameter4dvARB"); 
    887             glProgramEnvParameter4fARB = cast(pfglProgramEnvParameter4fARB)glBindExtension("glProgramEnvParameter4fARB"); 
    888             glProgramEnvParameter4fvARB = cast(pfglProgramEnvParameter4fvARB)glBindExtension("glProgramEnvParameter4fvARB"); 
    889             glProgramLocalParameter4dARB = cast(pfglProgramLocalParameter4dARB)glBindExtension("glProgramLocalParameter4dARB"); 
    890             glProgramLocalParameter4dvARB = cast(pfglProgramLocalParameter4dvARB)glBindExtension("glProgramLocalParameter4dvARB"); 
    891             glProgramLocalParameter4fARB = cast(pfglProgramLocalParameter4fARB)glBindExtension("glProgramLocalParameter4fARB"); 
    892             glProgramLocalParameter4fvARB = cast(pfglProgramLocalParameter4fvARB)glBindExtension("glProgramLocalParameter4fvARB"); 
    893             glGetProgramEnvParameterdvARB = cast(pfglGetProgramEnvParameterdvARB)glBindExtension("glGetProgramEnvParameterdvARB"); 
    894             glGetProgramEnvParameterfvARB = cast(pfglGetProgramEnvParameterfvARB)glBindExtension("glGetProgramEnvParameterfvARB"); 
    895             glGetProgramLocalParameterdvARB = cast(pfglGetProgramLocalParameterdvARB)glBindExtension("glGetProgramLocalParameterdvARB"); 
    896             glGetProgramLocalParameterfvARB = cast(pfglGetProgramLocalParameterfvARB)glBindExtension("glGetProgramLocalParameterfvARB"); 
    897             glGetProgramivARB = cast(pfglGetProgramivARB)glBindExtension("glGetProgramivARB"); 
    898             glGetProgramStringARB = cast(pfglGetProgramStringARB)glBindExtension("glGetProgramStringARB"); 
    899             glGetVertexAttribdvARB = cast(pfglGetVertexAttribdvARB)glBindExtension("glGetVertexAttribdvARB"); 
    900             glGetVertexAttribfvARB = cast(pfglGetVertexAttribfvARB)glBindExtension("glGetVertexAttribfvARB"); 
    901             glGetVertexAttribivARB = cast(pfglGetVertexAttribivARB)glBindExtension("glGetVertexAttribivARB"); 
    902             glGetVertexAttribPointervARB = cast(pfglGetVertexAttribPointervARB)glBindExtension("glGetVertexAttribPointervARB"); 
    903             glIsProgramARB = cast(pfglIsProgramARB)glBindExtension("glIsProgramARB"); 
     902 
     903    static this() { 
     904        glExtensions[ "GL_ARB_vertex_program" ] = { 
     905            glVertexAttrib1dARB = cast(pfglVertexAttrib1dARB) glBindExtension( 
     906                "glVertexAttrib1dARB" ); 
     907            glVertexAttrib1dvARB = cast(pfglVertexAttrib1dvARB) glBindExtension( 
     908                "glVertexAttrib1dvARB" ); 
     909            glVertexAttrib1fARB = cast(pfglVertexAttrib1fARB) glBindExtension( 
     910                "glVertexAttrib1fARB" ); 
     911            glVertexAttrib1fvARB = cast(pfglVertexAttrib1fvARB) glBindExtension( 
     912                "glVertexAttrib1fvARB" ); 
     913            glVertexAttrib1sARB = cast(pfglVertexAttrib1sARB) glBindExtension( 
     914                "glVertexAttrib1sARB" ); 
     915            glVertexAttrib1svARB = cast(pfglVertexAttrib1svARB) glBindExtension( 
     916                "glVertexAttrib1svARB" ); 
     917            glVertexAttrib2dARB = cast(pfglVertexAttrib2dARB) glBindExtension( 
     918                "glVertexAttrib2dARB" ); 
     919            glVertexAttrib2dvARB = cast(pfglVertexAttrib2dvARB) glBindExtension( 
     920                "glVertexAttrib2dvARB" ); 
     921            glVertexAttrib2fARB = cast(pfglVertexAttrib2fARB) glBindExtension( 
     922                "glVertexAttrib2fARB" ); 
     923            glVertexAttrib2fvARB = cast(pfglVertexAttrib2fvARB) glBindExtension( 
     924                "glVertexAttrib2fvARB" ); 
     925            glVertexAttrib2sARB = cast(pfglVertexAttrib2sARB) glBindExtension( 
     926                "glVertexAttrib2sARB" ); 
     927            glVertexAttrib2svARB = cast(pfglVertexAttrib2svARB) glBindExtension( 
     928                "glVertexAttrib2svARB" ); 
     929            glVertexAttrib3dARB = cast(pfglVertexAttrib3dARB) glBindExtension( 
     930                "glVertexAttrib3dARB" ); 
     931            glVertexAttrib3dvARB = cast(pfglVertexAttrib3dvARB) glBindExtension( 
     932                "glVertexAttrib3dvARB" ); 
     933            glVertexAttrib3fARB = cast(pfglVertexAttrib3fARB) glBindExtension( 
     934                "glVertexAttrib3fARB" ); 
     935            glVertexAttrib3fvARB = cast(pfglVertexAttrib3fvARB) glBindExtension( 
     936                "glVertexAttrib3fvARB" ); 
     937            glVertexAttrib3sARB = cast(pfglVertexAttrib3sARB) glBindExtension( 
     938                "glVertexAttrib3sARB" ); 
     939            glVertexAttrib3svARB = cast(pfglVertexAttrib3svARB) glBindExtension( 
     940                "glVertexAttrib3svARB" ); 
     941            glVertexAttrib4NbvARB = cast(pfglVertexAttrib4NbvARB) glBindExtension( 
     942                "glVertexAttrib4NbvARB" ); 
     943            glVertexAttrib4NivARB = cast(pfglVertexAttrib4NivARB) glBindExtension( 
     944                "glVertexAttrib4NivARB" ); 
     945            glVertexAttrib4NsvARB = cast(pfglVertexAttrib4NsvARB) glBindExtension( 
     946                "glVertexAttrib4NsvARB" ); 
     947            glVertexAttrib4NubARB = cast(pfglVertexAttrib4NubARB) glBindExtension( 
     948                "glVertexAttrib4NubARB" ); 
     949            glVertexAttrib4NubvARB = cast(pfglVertexAttrib4NubvARB) glBindExtension( 
     950                "glVertexAttrib4NubvARB" ); 
     951            glVertexAttrib4NuivARB = cast(pfglVertexAttrib4NuivARB) glBindExtension( 
     952                "glVertexAttrib4NuivARB" ); 
     953            glVertexAttrib4NusvARB = cast(pfglVertexAttrib4NusvARB) glBindExtension( 
     954                "glVertexAttrib4NusvARB" ); 
     955            glVertexAttrib4bvARB = cast(pfglVertexAttrib4bvARB) glBindExtension( 
     956                "glVertexAttrib4bvARB" ); 
     957            glVertexAttrib4dARB = cast(pfglVertexAttrib4dARB) glBindExtension( 
     958                "glVertexAttrib4dARB" ); 
     959            glVertexAttrib4dvARB = cast(pfglVertexAttrib4dvARB) glBindExtension( 
     960                "glVertexAttrib4dvARB" ); 
     961            glVertexAttrib4fARB = cast(pfglVertexAttrib4fARB) glBindExtension( 
     962                "glVertexAttrib4fARB" ); 
     963            glVertexAttrib4fvARB = cast(pfglVertexAttrib4fvARB) glBindExtension( 
     964                "glVertexAttrib4fvARB" ); 
     965            glVertexAttrib4ivARB = cast(pfglVertexAttrib4ivARB) glBindExtension( 
     966                "glVertexAttrib4ivARB" ); 
     967            glVertexAttrib4sARB = cast(pfglVertexAttrib4sARB) glBindExtension( 
     968                "glVertexAttrib4sARB" ); 
     969            glVertexAttrib4svARB = cast(pfglVertexAttrib4svARB) glBindExtension( 
     970                "glVertexAttrib4svARB" ); 
     971            glVertexAttrib4ubvARB = cast(pfglVertexAttrib4ubvARB) glBindExtension( 
     972                "glVertexAttrib4ubvARB" ); 
     973            glVertexAttrib4uivARB = cast(pfglVertexAttrib4uivARB) glBindExtension( 
     974                "glVertexAttrib4uivARB" ); 
     975            glVertexAttrib4usvARB = cast(pfglVertexAttrib4usvARB) glBindExtension( 
     976                "glVertexAttrib4usvARB" ); 
     977            glVertexAttribPointerARB = cast(pfglVertexAttribPointerARB) glBindExtension( 
     978                "glVertexAttribPointerARB" ); 
     979            glEnableVertexAttribArrayARB = cast(pfglEnableVertexAttribArrayARB) glBindExtension( 
     980                "glEnableVertexAttribArrayARB" ); 
     981            glDisableVertexAttribArrayARB = cast(pfglDisableVertexAttribArrayARB) glBindExtension( 
     982                "glDisableVertexAttribArrayARB" ); 
     983            glProgramStringARB = cast(pfglProgramStringARB) glBindExtension( 
     984                "glProgramStringARB" ); 
     985            glBindProgramARB = cast(pfglBindProgramARB) glBindExtension( 
     986                "glBindProgramARB" ); 
     987            glDeleteProgramsARB = cast(pfglDeleteProgramsARB) glBindExtension( 
     988                "glDeleteProgramsARB" ); 
     989            glGenProgramsARB = cast(pfglGenProgramsARB) glBindExtension( 
     990                "glGenProgramsARB" ); 
     991            glProgramEnvParameter4dARB = cast(pfglProgramEnvParameter4dARB) glBindExtension( 
     992                "glProgramEnvParameter4dARB" ); 
     993            glProgramEnvParameter4dvARB = cast(pfglProgramEnvParameter4dvARB) glBindExtension( 
     994                "glProgramEnvParameter4dvARB" ); 
     995            glProgramEnvParameter4fARB = cast(pfglProgramEnvParameter4fARB) glBindExtension( 
     996                "glProgramEnvParameter4fARB" ); 
     997            glProgramEnvParameter4fvARB = cast(pfglProgramEnvParameter4fvARB) glBindExtension( 
     998                "glProgramEnvParameter4fvARB" ); 
     999            glProgramLocalParameter4dARB = cast(pfglProgramLocalParameter4dARB) glBindExtension( 
     1000                "glProgramLocalParameter4dARB" ); 
     1001            glProgramLocalParameter4dvARB = cast(pfglProgramLocalParameter4dvARB) glBindExtension( 
     1002                "glProgramLocalParameter4dvARB" ); 
     1003            glProgramLocalParameter4fARB = cast(pfglProgramLocalParameter4fARB) glBindExtension( 
     1004                "glProgramLocalParameter4fARB" ); 
     1005            glProgramLocalParameter4fvARB = cast(pfglProgramLocalParameter4fvARB) glBindExtension( 
     1006                "glProgramLocalParameter4fvARB" ); 
     1007            glGetProgramEnvParameterdvARB = cast(pfglGetProgramEnvParameterdvARB) glBindExtension( 
     1008                "glGetProgramEnvParameterdvARB" ); 
     1009            glGetProgramEnvParameterfvARB = cast(pfglGetProgramEnvParameterfvARB) glBindExtension( 
     1010                "glGetProgramEnvParameterfvARB" ); 
     1011            glGetProgramLocalParameterdvARB = cast(pfglGetProgramLocalParameterdvARB) glBindExtension( 
     1012                "glGetProgramLocalParameterdvARB" ); 
     1013            glGetProgramLocalParameterfvARB = cast(pfglGetProgramLocalParameterfvARB) glBindExtension( 
     1014                "glGetProgramLocalParameterfvARB" ); 
     1015            glGetProgramivARB = cast(pfglGetProgramivARB) glBindExtension( 
     1016                "glGetProgramivARB" ); 
     1017            glGetProgramStringARB = cast(pfglGetProgramStringARB) glBindExtension( 
     1018                "glGetProgramStringARB" ); 
     1019            glGetVertexAttribdvARB = cast(pfglGetVertexAttribdvARB) glBindExtension( 
     1020                "glGetVertexAttribdvARB" ); 
     1021            glGetVertexAttribfvARB = cast(pfglGetVertexAttribfvARB) glBindExtension( 
     1022                "glGetVertexAttribfvARB" ); 
     1023            glGetVertexAttribivARB = cast(pfglGetVertexAttribivARB) glBindExtension( 
     1024                "glGetVertexAttribivARB" ); 
     1025            glGetVertexAttribPointervARB = cast(pfglGetVertexAttribPointervARB) glBindExtension( 
     1026                "glGetVertexAttribPointervARB" ); 
     1027            glIsProgramARB = cast(pfglIsProgramARB) glBindExtension( 
     1028                "glIsProgramARB" ); 
    9041029        }; 
    9051030    } 
    9061031} 
    9071032 
    908 version(GL_ARB_fragment_program) 
    909 
    910     enum:GLuint 
    911     { 
     1033version ( GL_ARB_fragment_program ) { 
     1034    enum : GLuint { 
    9121035        GL_FRAGMENT_PROGRAM_ARB = 0x8804, 
    9131036        GL_PROGRAM_ALU_INSTRUCTIONS_ARB = 0x8805, 
     
    9281051} 
    9291052 
    930 version(GL_ARB_vertex_buffer_object) 
    931 
    932     enum:GLuint 
    933     { 
     1053version ( GL_ARB_vertex_buffer_object ) { 
     1054    enum : GLuint { 
    9341055        GL_BUFFER_SIZE_ARB = 0x8764, 
    9351056        GL_BUFFER_USAGE_ARB = 0x8765, 
     
    9441065        GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB = 0x889A, 
    9451066        GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB = 0x889B, 
    946         GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB= 0x889C, 
     1067        GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB = 0x889C, 
    9471068        GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB = 0x889D, 
    9481069        GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB = 0x889E, 
     
    9641085        GL_DYNAMIC_COPY_ARB = 0x88EA 
    9651086    } 
    966      
    967     typedef GLvoid function(GLenum, GLuint) pfglBindBufferARB; 
    968     typedef GLvoid function(GLsizei, GLuint*) pfglDeleteBuffersARB; 
    969     typedef GLvoid function(GLsizei, GLuint*) pfglGenBuffersARB; 
    970     typedef GLboolean function(GLuint) pfglIsBufferARB; 
    971     typedef GLvoid function(GLenum, GLsizeiptrARB, GLvoid*, GLenum) pfglBufferDataARB; 
    972     typedef GLvoid function(GLenum, GLintptrARB, GLsizeiptrARB, GLvoid*) pfglBufferSubDataARB; 
    973     typedef GLvoid function(GLenum, GLintptrARB, GLsizeiptrARB, GLvoid*) pfglGetBufferSubDataARB; 
    974     typedef GLvoid* function(GLenum, GLenum) pfglMapBufferARB; 
    975     typedef GLboolean function(GLenum) pfglUnmapBufferARB; 
    976     typedef GLvoid function(GLenum, GLenum, GLint*) pfglGetBufferParameterivARB; 
    977     typedef GLvoid function(GLenum, GLenum, GLvoid**) pfglGetBufferPointervARB; 
    978      
    979     extern(System) 
    980     { 
     1087 
     1088    typedef GLvoid function ( GLenum, GLuint ) pfglBindBufferARB; 
     1089    typedef GLvoid function ( GLsizei, GLuint* ) pfglDeleteBuffersARB; 
     1090    typedef GLvoid function ( GLsizei, GLuint* ) pfglGenBuffersARB; 
     1091    typedef GLboolean function ( GLuint ) pfglIsBufferARB; 
     1092    typedef GLvoid function ( GLenum, GLsizeiptrARB, GLvoid*, GLenum ) 
     1093        pfglBufferDataARB; 
     1094    typedef GLvoid function ( GLenum, GLintptrARB, GLsizeiptrARB, GLvoid* ) 
     1095        pfglBufferSubDataARB; 
     1096    typedef GLvoid function ( GLenum, GLintptrARB, GLsizeiptrARB, GLvoid* ) 
     1097        pfglGetBufferSubDataARB; 
     1098    typedef GLvoid* function ( GLenum, GLenum ) pfglMapBufferARB; 
     1099    typedef GLboolean function ( GLenum ) pfglUnmapBufferARB; 
     1100    typedef GLvoid function ( GLenum, GLenum, GLint* ) 
     1101        pfglGetBufferParameterivARB; 
     1102    typedef GLvoid function ( GLenum, GLenum, GLvoid** ) 
     1103        pfglGetBufferPointervARB; 
     1104 
     1105    extern ( System ) { 
    9811106        pfglBindBufferARB glBindBufferARB; 
    9821107        pfglDeleteBuffersARB glDeleteBuffersARB; 
     
    9911116        pfglGetBufferPointervARB glGetBufferPointervARB; 
    9921117    } 
    993      
    994     static this() 
    995     { 
    996         glExtensions["GL_ARB_vertex_buffer_object"] = 
    997         { 
    998             glBindBufferARB = cast(pfglBindBufferARB)glBindExtension("glBindBufferARB"); 
    999             glDeleteBuffersARB = cast(pfglDeleteBuffersARB)glBindExtension("glDeleteBuffersARB"); 
    1000             glGenBuffersARB = cast(pfglGenBuffersARB)glBindExtension("glGenBuffersARB"); 
    1001             glIsBufferARB = cast(pfglIsBufferARB)glBindExtension("glIsBufferARB"); 
    1002             glBufferDataARB = cast(pfglBufferDataARB)glBindExtension("glBufferDataARB"); 
    1003             glBufferSubDataARB = cast(pfglBufferSubDataARB)glBindExtension("glBufferSubDataARB"); 
    1004             glGetBufferSubDataARB = cast(pfglGetBufferSubDataARB)glBindExtension("glGetBufferSubDataARB"); 
    1005             glMapBufferARB = cast(pfglMapBufferARB)glBindExtension("glMapBufferARB"); 
    1006             glUnmapBufferARB = cast(pfglUnmapBufferARB)glBindExtension("glUnmapBufferARB"); 
    1007             glGetBufferParameterivARB = cast(pfglGetBufferParameterivARB)glBindExtension("glGetBufferParameterivARB"); 
    1008             glGetBufferPointervARB = cast(pfglGetBufferPointervARB)glBindExtension("glGetBufferPointervARB"); 
     1118 
     1119    static this() { 
     1120        glExtensions[ "GL_ARB_vertex_buffer_object" ] = { 
     1121            glBindBufferARB = cast(pfglBindBufferARB) glBindExtension( 
     1122                "glBindBufferARB" ); 
     1123            glDeleteBuffersARB = cast(pfglDeleteBuffersARB) glBindExtension( 
     1124                "glDeleteBuffersARB" ); 
     1125            glGenBuffersARB = cast(pfglGenBuffersARB) glBindExtension( 
     1126                "glGenBuffersARB" ); 
     1127            glIsBufferARB = cast(pfglIsBufferARB) glBindExtension( 
     1128                "glIsBufferARB" ); 
     1129            glBufferDataARB = cast(pfglBufferDataARB) glBindExtension( 
     1130                "glBufferDataARB" ); 
     1131            glBufferSubDataARB = cast(pfglBufferSubDataARB) glBindExtension( 
     1132                "glBufferSubDataARB" ); 
     1133            glGetBufferSubDataARB = cast(pfglGetBufferSubDataARB) glBindExtension( 
     1134                "glGetBufferSubDataARB" ); 
     1135            glMapBufferARB = cast(pfglMapBufferARB) glBindExtension( 
     1136                "glMapBufferARB" ); 
     1137            glUnmapBufferARB = cast(pfglUnmapBufferARB) glBindExtension( 
     1138                "glUnmapBufferARB" ); 
     1139            glGetBufferParameterivARB = cast(pfglGetBufferParameterivARB) glBindExtension( 
     1140                "glGetBufferParameterivARB" ); 
     1141            glGetBufferPointervARB = cast(pfglGetBufferPointervARB) glBindExtension( 
     1142                "glGetBufferPointervARB" ); 
    10091143        }; 
    10101144    } 
    10111145} 
    10121146 
    1013 version(GL_ARB_occlusion_query) 
    1014 
    1015     enum:GLuint 
    1016     { 
     1147version ( GL_ARB_occlusion_query ) { 
     1148    enum : GLuint { 
    10171149        GL_QUERY_COUNTER_BITS_ARB = 0x8864, 
    10181150        GL_CURRENT_QUERY_ARB = 0x8865, 
     
    10211153        GL_SAMPLES_PASSED_ARB = 0x8914 
    10221154    } 
    1023      
    1024     typedef GLvoid function(GLsizei, GLuint*) pfglGenQueriesARB; 
    1025     typedef GLvoid function(GLsizei, GLuint*) pfglDeleteQueriesARB; 
    1026     typedef GLboolean function(GLuint) pfglIsQueryARB; 
    1027     typedef GLvoid function(GLenum, GLuint) pfglBeginQueryARB; 
    1028     typedef GLvoid function(GLenum) pfglEndQueryARB; 
    1029     typedef GLvoid function(GLenum, GLenum, GLint*) pfglGetQueryivARB; 
    1030     typedef GLvoid function(GLuint, GLenum, GLint*) pfglGetQueryObjectivARB; 
    1031     typedef GLvoid function(GLuint, GLenum, GLuint*) pfglGetQueryObjectuivARB; 
    1032      
    1033     extern(System) 
    1034    
     1155 
     1156    typedef GLvoid function ( GLsizei, GLuint* ) pfglGenQueriesARB; 
     1157    typedef GLvoid function ( GLsizei, GLuint* ) pfglDeleteQueriesARB; 
     1158    typedef GLboolean function ( GLuint ) pfglIsQueryARB; 
     1159    typedef GLvoid function ( GLenum, GLuint ) pfglBeginQueryARB; 
     1160    typedef GLvoid function ( GLenum ) pfglEndQueryARB; 
     1161    typedef GLvoid function ( GLenum, GLenum, GLint* ) pfglGetQueryivARB; 
     1162    typedef GLvoid function ( GLuint, GLenum, GLint* ) pfglGetQueryObjectivARB; 
     1163    typedef GLvoid function ( GLuint, GLenum, GLuint* ) 
     1164       pfglGetQueryObjectuivARB; 
     1165 
     1166    extern ( System )
    10351167        pfglGenQueriesARB glGenQueriesARB; 
    10361168        pfglDeleteQueriesARB glDeleteQueriesARB; 
     
    10421174        pfglGetQueryObjectuivARB glGetQueryObjectuivARB; 
    10431175    } 
    1044      
    1045     static this() 
    1046     { 
    1047         glExtensions["GL_ARB_occlusion_query"] = 
    1048         { 
    1049             glGenQueriesARB = cast(pfglGenQueriesARB)glBindExtension("glGenQueriesARB"); 
    1050             glDeleteQueriesARB = cast(pfglDeleteQueriesARB)glBindExtension("glDeleteQueriesARB"); 
    1051             glIsQueryARB = cast(pfglIsQueryARB)glBindExtension("glIsQueryARB"); 
    1052             glBeginQueryARB = cast(pfglBeginQueryARB)glBindExtension("glBeginQueryARB"); 
    1053             glEndQueryARB = cast(pfglEndQueryARB)glBindExtension("glEndQueryARB"); 
    1054             glGetQueryivARB = cast(pfglGetQueryivARB)glBindExtension("glGetQueryivARB"); 
    1055             glGetQueryObjectivARB = cast(pfglGetQueryObjectivARB)glBindExtension("glGetQueryObjectivARB"); 
    1056             glGetQueryObjectuivARB = cast(pfglGetQueryObjectuivARB)glBindExtension("glGetQueryObjectuivARB"); 
     1176 
     1177    static this() { 
     1178        glExtensions[ "GL_ARB_occlusion_query" ] = { 
     1179            glGenQueriesARB = cast(pfglGenQueriesARB) glBindExtension( 
     1180                "glGenQueriesARB" ); 
     1181            glDeleteQueriesARB = cast(pfglDeleteQueriesARB) glBindExtension( 
     1182                "glDeleteQueriesARB" ); 
     1183            glIsQueryARB = cast(pfglIsQueryARB) glBindExtension( "glIsQueryARB" ); 
     1184            glBeginQueryARB = cast(pfglBeginQueryARB) glBindExtension( 
     1185                "glBeginQueryARB" ); 
     1186            glEndQueryARB = cast(pfglEndQueryARB) glBindExtension( 
     1187                "glEndQueryARB" ); 
     1188            glGetQueryivARB = cast(pfglGetQueryivARB) glBindExtension( 
     1189                "glGetQueryivARB" ); 
     1190            glGetQueryObjectivARB = cast(pfglGetQueryObjectivARB) glBindExtension( 
     1191                "glGetQueryObjectivARB" ); 
     1192            glGetQueryObjectuivARB = cast(pfglGetQueryObjectuivARB) glBindExtension( 
     1193                "glGetQueryObjectuivARB" ); 
    10571194        }; 
    10581195    } 
    10591196} 
    10601197 
    1061 version(GL_ARB_shader_objects) 
    1062 
    1063     enum:GLuint 
    1064     { 
     1198version ( GL_ARB_shader_objects ) { 
     1199    enum : GLuint { 
    10651200        GL_PROGRAM_OBJECT_ARB = 0x8B40, 
    10661201        GL_SHADER_OBJECT_ARB = 0x8B48, 
     
    10981233        GL_OBJECT_SHADER_SOURCE_LENGTH_ARB = 0x8B88 
    10991234    } 
    1100      
    1101     typedef GLvoid function(GLhandleARB) pfglDeleteObjectARB; 
    1102     typedef GLhandleARB function(GLenum) pfglGetHandleARB; 
    1103     typedef GLvoid function(GLhandleARB, GLhandleARB) pfglDetachObjectARB; 
    1104     typedef GLhandleARB function(GLenum) pfglCreateShaderObjectARB; 
    1105     typedef GLvoid function(GLhandleARB, GLsizei, GLcharARB**, GLint*) pfglShaderSourceARB; 
    1106     typedef GLvoid function(GLhandleARB) pfglCompileShaderARB; 
    1107     typedef GLhandleARB function() pfglCreateProgramObjectARB; 
    1108     typedef GLvoid function(GLhandleARB, GLhandleARB) pfglAttachObjectARB; 
    1109     typedef GLvoid function(GLhandleARB) pfglLinkProgramARB; 
    1110     typedef GLvoid function(GLhandleARB) pfglUseProgramObjectARB; 
    1111     typedef GLvoid function(GLhandleARB) pfglValidateProgramARB; 
    1112     typedef GLvoid function(GLint, GLfloat) pfglUniform1fARB; 
    1113     typedef GLvoid function(GLint, GLfloat, GLfloat) pfglUniform2fARB; 
    1114     typedef GLvoid function(GLint, GLfloat, GLfloat, GLfloat) pfglUniform3fARB; 
    1115     typedef GLvoid function(GLint, GLfloat, GLfloat, GLfloat, GLfloat) pfglUniform4fARB; 
    1116     typedef GLvoid function(GLint, GLint) pfglUniform1iARB; 
    1117     typedef GLvoid function(GLint, GLint, GLint) pfglUniform2iARB; 
    1118     typedef GLvoid function(GLint, GLint, GLint, GLint) pfglUniform3iARB; 
    1119     typedef GLvoid function(GLint, GLint, GLint, GLint, GLint) pfglUniform4iARB; 
    1120     typedef GLvoid function(GLint, GLsizei, GLfloat*) pfglUniform1fvARB; 
    1121     typedef GLvoid function(GLint, GLsizei, GLfloat*) pfglUniform2fvARB; 
    1122     typedef GLvoid function(GLint, GLsizei, GLfloat*) pfglUniform3fvARB; 
    1123     typedef GLvoid function(GLint, GLsizei, GLfloat*) pfglUniform4fvARB; 
    1124     typedef GLvoid function(GLint, GLsizei, GLint*) pfglUniform1ivARB; 
    1125     typedef GLvoid function(GLint, GLsizei, GLint*) pfglUniform2ivARB; 
    1126     typedef GLvoid function(GLint, GLsizei, GLint*) pfglUniform3ivARB; 
    1127     typedef GLvoid function(GLint, GLsizei, GLint*) pfglUniform4ivARB; 
    1128     typedef GLvoid function(GLint, GLsizei, GLboolean, GLfloat*) pfglUniformMatrix2fvARB; 
    1129     typedef GLvoid function(GLint, GLsizei, GLboolean, GLfloat*) pfglUniformMatrix3fvARB; 
    1130     typedef GLvoid function(GLint, GLsizei, GLboolean, GLfloat*) pfglUniformMatrix4fvARB; 
    1131     typedef GLvoid function(GLhandleARB, GLenum, GLfloat*) pfglGetObjectParameterfvARB; 
    1132     typedef GLvoid function(GLhandleARB, GLenum, GLint*) pfglGetObjectParameterivARB; 
    1133     typedef GLvoid function(GLhandleARB, GLsizei, GLsizei*, GLcharARB*) pfglGetInfoLogARB; 
    1134     typedef GLvoid function(GLhandleARB, GLsizei, GLsizei*, GLhandleARB*) pfglGetAttachedObjectsARB; 
    1135     typedef GLint function(GLhandleARB, GLcharARB*) pfglGetUniformLocationARB; 
    1136     typedef GLvoid function(GLhandleARB, GLuint, GLsizei, GLsizei*, GLint*, GLenum*, GLcharARB*) pfglGetActiveUniformARB; 
    1137     typedef GLvoid function(GLhandleARB, GLint, GLfloat*) pfglGetUniformfvARB; 
    1138     typedef GLvoid function(GLhandleARB, GLint, GLint*) pfglGetUniformivARB; 
    1139     typedef GLvoid function(GLhandleARB, GLsizei, GLsizei*, GLcharARB*) pfglGetShaderSourceARB; 
    1140      
    1141     extern(System) 
    1142     { 
     1235 
     1236    typedef GLvoid function ( GLhandleARB ) pfglDeleteObjectARB; 
     1237    typedef GLhandleARB function ( GLenum ) pfglGetHandleARB; 
     1238    typedef GLvoid function ( GLhandleARB, GLhandleARB ) pfglDetachObjectARB; 
     1239    typedef GLhandleARB function ( GLenum ) pfglCreateShaderObjectARB; 
     1240    typedef GLvoid function ( GLhandleARB, GLsizei, GLcharARB**, GLint* ) 
     1241        pfglShaderSourceARB; 
     1242    typedef GLvoid function ( GLhandleARB ) pfglCompileShaderARB; 
     1243    typedef GLhandleARB function () pfglCreateProgramObjectARB; 
     1244    typedef GLvoid function ( GLhandleARB, GLhandleARB ) pfglAttachObjectARB; 
     1245    typedef GLvoid function ( GLhandleARB ) pfglLinkProgramARB; 
     1246    typedef GLvoid function ( GLhandleARB ) pfglUseProgramObjectARB; 
     1247    typedef GLvoid function ( GLhandleARB ) pfglValidateProgramARB; 
     1248    typedef GLvoid function ( GLint, GLfloat ) pfglUniform1fARB; 
     1249    typedef GLvoid function ( GLint, GLfloat, GLfloat ) pfglUniform2fARB; 
     1250    typedef GLvoid function ( GLint, GLfloat, GLfloat, GLfloat ) 
     1251        pfglUniform3fARB; 
     1252    typedef GLvoid function ( GLint, GLfloat, GLfloat, GLfloat, GLfloat ) 
     1253        pfglUniform4fARB; 
     1254    typedef GLvoid function ( GLint, GLint ) pfglUniform1iARB; 
     1255    typedef GLvoid function ( GLint, GLint, GLint ) pfglUniform2iARB; 
     1256    typedef GLvoid function ( GLint, GLint, GLint, GLint ) pfglUniform3iARB; 
     1257    typedef GLvoid function ( GLint, GLint, GLint, GLint, GLint ) 
     1258        pfglUniform4iARB; 
     1259    typedef GLvoid function ( GLint, GLsizei, GLfloat* ) pfglUniform1fvARB; 
     1260    typedef GLvoid function ( GLint, GLsizei, GLfloat* ) pfglUniform2fvARB; 
     1261    typedef GLvoid function ( GLint, GLsizei, GLfloat* ) pfglUniform3fvARB; 
     1262    typedef GLvoid function ( GLint, GLsizei, GLfloat* ) pfglUniform4fvARB; 
     1263    typedef GLvoid function ( GLint, GLsizei, GLint* ) pfglUniform1ivARB; 
     1264    typedef GLvoid function ( GLint, GLsizei, GLint* ) pfglUniform2ivARB; 
     1265    typedef GLvoid function ( GLint, GLsizei, GLint* ) pfglUniform3ivARB; 
     1266    typedef GLvoid function ( GLint, GLsizei, GLint* ) pfglUniform4ivARB; 
     1267    typedef GLvoid function ( GLint, GLsizei, GLboolean, GLfloat* ) 
     1268        pfglUniformMatrix2fvARB; 
     1269    typedef GLvoid function ( GLint, GLsizei, GLboolean, GLfloat* ) 
     1270        pfglUniformMatrix3fvARB; 
     1271    typedef GLvoid function ( GLint, GLsizei, GLboolean, GLfloat* ) 
     1272        pfglUniformMatrix4fvARB; 
     1273    typedef GLvoid function ( GLhandleARB, GLenum, GLfloat* ) 
     1274        pfglGetObjectParameterfvARB; 
     1275    typedef GLvoid function ( GLhandleARB, GLenum, GLint* ) 
     1276        pfglGetObjectParameterivARB; 
     1277    typedef GLvoid function ( GLhandleARB, GLsizei, GLsizei*, GLcharARB* ) 
     1278        pfglGetInfoLogARB; 
     1279    typedef GLvoid function ( GLhandleARB, GLsizei, GLsizei*, GLhandleARB* ) 
     1280        pfglGetAttachedObjectsARB; 
     1281    typedef GLint function ( GLhandleARB, GLcharARB* ) 
     1282        pfglGetUniformLocationARB; 
     1283    typedef GLvoid function ( GLhandleARB, GLuint, GLsizei, GLsizei*, GLint*, GLenum*, GLcharARB* ) 
     1284        pfglGetActiveUniformARB; 
     1285    typedef GLvoid function ( GLhandleARB, GLint, GLfloat* ) 
     1286        pfglGetUniformfvARB; 
     1287    typedef GLvoid function ( GLhandleARB, GLint, GLint* ) pfglGetUniformivARB; 
     1288    typedef GLvoid function ( GLhandleARB, GLsizei, GLsizei*, GLcharARB* ) 
     1289        pfglGetShaderSourceARB; 
     1290 
     1291    extern ( System ) { 
    11431292        pfglDeleteObjectARB glDeleteObjectARB; 
    11441293        pfglGetHandleARB glGetHandleARB; 
     
    11811330        pfglGetShaderSourceARB glGetShaderSourceARB; 
    11821331    } 
    1183      
    1184     static this() 
    1185     { 
    1186         glExtensions["GL_ARB_shader_objects"] = 
    1187         { 
    1188             glDeleteObjectARB = cast(pfglDeleteObjectARB)glBindExtension("glDeleteObjectARB"); 
    1189             glGetHandleARB = cast(pfglGetHandleARB)glBindExtension("glGetHandleARB"); 
    1190             glDetachObjectARB = cast(pfglDetachObjectARB)glBindExtension("glDetachObjectARB"); 
    1191             glCreateShaderObjectARB = cast(pfglCreateShaderObjectARB)glBindExtension("glCreateShaderObjectARB"); 
    1192             glShaderSourceARB = cast(pfglShaderSourceARB)glBindExtension("glShaderSourceARB"); 
    1193             glCompileShaderARB = cast(pfglCompileShaderARB)glBindExtension("glCompileShaderARB"); 
    1194             glCreateProgramObjectARB = cast(pfglCreateProgramObjectARB)glBindExtension("glCreateProgramObjectARB"); 
    1195             glAttachObjectARB = cast(pfglAttachObjectARB)glBindExtension("glAttachObjectARB"); 
    1196             glLinkProgramARB = cast(pfglLinkProgramARB)glBindExtension("glLinkProgramARB"); 
    1197             glUseProgramObjectARB = cast(pfglUseProgramObjectARB)glBindExtension("glUseProgramObjectARB"); 
    1198             glValidateProgramARB = cast(pfglValidateProgramARB)glBindExtension("glValidateProgramARB"); 
    1199             glUniform1fARB = cast(pfglUniform1fARB)glBindExtension("glUniform1fARB"); 
    1200             glUniform2fARB = cast(pfglUniform2fARB)glBindExtension("glUniform2fARB"); 
    1201             glUniform3fARB = cast(pfglUniform3fARB)glBindExtension("glUniform3fARB"); 
    1202             glUniform4fARB = cast(pfglUniform4fARB)glBindExtension("glUniform4fARB"); 
    1203             glUniform1iARB = cast(pfglUniform1iARB)glBindExtension("glUniform1iARB"); 
    1204             glUniform2iARB = cast(pfglUniform2iARB)glBindExtension("glUniform2iARB"); 
    1205             glUniform3iARB = cast(pfglUniform3iARB)glBindExtension("glUniform3iARB"); 
    1206             glUniform4iARB = cast(pfglUniform4iARB)glBindExtension("glUniform4iARB"); 
    1207             glUniform1fvARB = cast(pfglUniform1fvARB)glBindExtension("glUniform1fvARB"); 
    1208             glUniform2fvARB = cast(pfglUniform2fvARB)glBindExtension("glUniform2fvARB"); 
    1209             glUniform3fvARB = cast(pfglUniform3fvARB)glBindExtension("glUniform3fvARB"); 
    1210             glUniform4fvARB = cast(pfglUniform4fvARB)glBindExtension("glUniform4fvARB"); 
    1211             glUniform1ivARB = cast(pfglUniform1ivARB)glBindExtension("glUniform1ivARB"); 
    1212             glUniform2ivARB = cast(pfglUniform2ivARB)glBindExtension("glUniform2ivARB"); 
    1213             glUniform3ivARB = cast(pfglUniform3ivARB)glBindExtension("glUniform3ivARB"); 
    1214             glUniform4ivARB = cast(pfglUniform4ivARB)glBindExtension("glUniform4ivARB"); 
    1215             glUniformMatrix2fvARB = cast(pfglUniformMatrix2fvARB)glBindExtension("glUniformMatrix2fvARB"); 
    1216             glUniformMatrix3fvARB = cast(pfglUniformMatrix3fvARB)glBindExtension("glUniformMatrix3fvARB"); 
    1217             glUniformMatrix4fvARB = cast(pfglUniformMatrix4fvARB)glBindExtension("glUniformMatrix4fvARB"); 
    1218             glGetObjectParameterfvARB = cast(pfglGetObjectParameterfvARB)glBindExtension("glGetObjectParameterfvARB"); 
    1219             glGetObjectParameterivARB = cast(pfglGetObjectParameterivARB)glBindExtension("glGetObjectParameterivARB"); 
    1220             glGetInfoLogARB = cast(pfglGetInfoLogARB)glBindExtension("glGetInfoLogARB"); 
    1221             glGetAttachedObjectsARB = cast(pfglGetAttachedObjectsARB)glBindExtension("glGetAttachedObjectsARB"); 
    1222             glGetUniformLocationARB = cast(pfglGetUniformLocationARB)glBindExtension("glGetUniformLocationARB"); 
    1223             glGetActiveUniformARB = cast(pfglGetActiveUniformARB)glBindExtension("glGetActiveUniformARB"); 
    1224             glGetUniformfvARB = cast(pfglGetUniformfvARB)glBindExtension("glGetUniformfvARB"); 
    1225             glGetUniformivARB = cast(pfglGetUniformivARB)glBindExtension("glGetUniformivARB"); 
    1226             glGetShaderSourceARB = cast(pfglGetShaderSourceARB)glBindExtension("glGetShaderSourceARB"); 
     1332 
     1333    static this() { 
     1334        glExtensions[ "GL_ARB_shader_objects" ] = { 
     1335            glDeleteObjectARB = cast(pfglDeleteObjectARB) glBindExtension( 
     1336                "glDeleteObjectARB" ); 
     1337            glGetHandleARB = cast(pfglGetHandleARB) glBindExtension( 
     1338                "glGetHandleARB" ); 
     1339            glDetachObjectARB = cast(pfglDetachObjectARB) glBindExtension( 
     1340                "glDetachObjectARB" ); 
     1341            glCreateShaderObjectARB = cast(pfglCreateShaderObjectARB) glBindExtension( 
     1342                "glCreateShaderObjectARB" ); 
     1343            glShaderSourceARB = cast(pfglShaderSourceARB) glBindExtension( 
     1344                "glShaderSourceARB" ); 
     1345            glCompileShaderARB = cast(pfglCompileShaderARB) glBindExtension( 
     1346                "glCompileShaderARB" ); 
     1347            glCreateProgramObjectARB = cast(pfglCreateProgramObjectARB) glBindExtension( 
     1348                "glCreateProgramObjectARB" ); 
     1349            glAttachObjectARB = cast(pfglAttachObjectARB) glBindExtension( 
     1350                "glAttachObjectARB" ); 
     1351            glLinkProgramARB = cast(pfglLinkProgramARB) glBindExtension( 
     1352                "glLinkProgramARB" ); 
     1353            glUseProgramObjectARB = cast(pfglUseProgramObjectARB) glBindExtension( 
     1354                "glUseProgramObjectARB" ); 
     1355            glValidateProgramARB = cast(pfglValidateProgramARB) glBindExtension( 
     1356                "glValidateProgramARB" ); 
     1357            glUniform1fARB = cast(pfglUniform1fARB) glBindExtension( 
     1358                "glUniform1fARB" ); 
     1359            glUniform2fARB = cast(pfglUniform2fARB) glBindExtension( 
     1360                "glUniform2fARB" ); 
     1361            glUniform3fARB = cast(pfglUniform3fARB) glBindExtension( 
     1362                "glUniform3fARB" ); 
     1363            glUniform4fARB = cast(pfglUniform4fARB) glBindExtension( 
     1364                "glUniform4fARB" ); 
     1365            glUniform1iARB = cast(pfglUniform1iARB) glBindExtension( 
     1366                "glUniform1iARB" ); 
     1367            glUniform2iARB = cast(pfglUniform2iARB) glBindExtension( 
     1368                "glUniform2iARB" ); 
     1369            glUniform3iARB = cast(pfglUniform3iARB) glBindExtension( 
     1370                "glUniform3iARB" ); 
     1371            glUniform4iARB = cast(pfglUniform4iARB) glBindExtension( 
     1372                "glUniform4iARB" ); 
     1373            glUniform1fvARB = cast(pfglUniform1fvARB) glBindExtension( 
     1374                "glUniform1fvARB" ); 
     1375            glUniform2fvARB = cast(pfglUniform2fvARB) glBindExtension( 
     1376                "glUniform2fvARB" ); 
     1377            glUniform3fvARB = cast(pfglUniform3fvARB) glBindExtension( 
     1378                "glUniform3fvARB" ); 
     1379            glUniform4fvARB = cast(pfglUniform4fvARB) glBindExtension( 
     1380                "glUniform4fvARB" ); 
     1381            glUniform1ivARB = cast(pfglUniform1ivARB) glBindExtension( 
     1382                "glUniform1ivARB" ); 
     1383            glUniform2ivARB = cast(pfglUniform2ivARB) glBindExtension( 
     1384                "glUniform2ivARB" ); 
     1385            glUniform3ivARB = cast(pfglUniform3ivARB) glBindExtension( 
     1386                "glUniform3ivARB" ); 
     1387            glUniform4ivARB = cast(pfglUniform4ivARB) glBindExtension( 
     1388                "glUniform4ivARB" ); 
     1389            glUniformMatrix2fvARB = cast(pfglUniformMatrix2fvARB) glBindExtension( 
     1390                "glUniformMatrix2fvARB" ); 
     1391            glUniformMatrix3fvARB = cast(pfglUniformMatrix3fvARB) glBindExtension( 
     1392                "glUniformMatrix3fvARB" ); 
     1393            glUniformMatrix4fvARB = cast(pfglUniformMatrix4fvARB) glBindExtension( 
     1394                "glUniformMatrix4fvARB" ); 
     1395            glGetObjectParameterfvARB = cast(pfglGetObjectParameterfvARB) glBindExtension( 
     1396                "glGetObjectParameterfvARB" ); 
     1397            glGetObjectParameterivARB = cast(pfglGetObjectParameterivARB) glBindExtension( 
     1398                "glGetObjectParameterivARB" ); 
     1399            glGetInfoLogARB = cast(pfglGetInfoLogARB) glBindExtension( 
     1400                "glGetInfoLogARB" ); 
     1401            glGetAttachedObjectsARB = cast(pfglGetAttachedObjectsARB) glBindExtension( 
     1402                "glGetAttachedObjectsARB" ); 
     1403            glGetUniformLocationARB = cast(pfglGetUniformLocationARB) glBindExtension( 
     1404                "glGetUniformLocationARB" ); 
     1405            glGetActiveUniformARB = cast(pfglGetActiveUniformARB) glBindExtension( 
     1406                "glGetActiveUniformARB" ); 
     1407            glGetUniformfvARB = cast(pfglGetUniformfvARB) glBindExtension( 
     1408                "glGetUniformfvARB" ); 
     1409            glGetUniformivARB = cast(pfglGetUniformivARB) glBindExtension( 
     1410                "glGetUniformivARB" ); 
     1411            glGetShaderSourceARB = cast(pfglGetShaderSourceARB) glBindExtension( 
     1412                "glGetShaderSourceARB" ); 
    12271413        }; 
    12281414    } 
    12291415} 
    12301416 
    1231 version(GL_ARB_vertex_shader) 
    1232 
    1233     enum:GLuint 
    1234     { 
     1417version ( GL_ARB_vertex_shader ) { 
     1418    enum : GLuint { 
    12351419        GL_VERTEX_SHADER_ARB = 0x8B31, 
    12361420        GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB = 0x8B4A, 
     
    12411425        GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB = 0x8B8A 
    12421426    } 
    1243      
    1244     typedef GLvoid function(GLhandleARB, GLuint, GLcharARB*) pfglBindAttribLocationARB; 
    1245     typedef GLvoid function(GLhandleARB, GLuint, GLsizei, GLsizei*, GLint*, GLenum*, GLcharARB*) pfglGetActiveAttribARB; 
    1246     typedef GLint function(GLhandleARB, GLcharARB*) pfglGetAttribLocationARB; 
    1247      
    1248     extern(System) 
    1249     { 
     1427 
     1428    typedef GLvoid function ( GLhandleARB, GLuint, GLcharARB* ) 
     1429        pfglBindAttribLocationARB; 
     1430    typedef GLvoid function ( GLhandleARB, GLuint, GLsizei, GLsizei*, GLint*, GLenum*, GLcharARB* ) 
     1431        pfglGetActiveAttribARB; 
     1432    typedef GLint function ( GLhandleARB, GLcharARB* ) pfglGetAttribLocationARB; 
     1433 
     1434    extern ( System ) { 
    12501435        pfglBindAttribLocationARB glBindAttribLocationARB; 
    12511436        pfglGetActiveAttribARB glGetActiveAttribARB; 
    12521437        pfglGetAttribLocationARB glGetAttribLocationARB; 
    12531438    } 
    1254      
    1255     static this() 
    1256     { 
    1257         glExtensions["GL_ARB_vertex_shader"] = 
    1258         { 
    1259             glBindAttribLocationARB = cast(pfglBindAttribLocationARB)glBindExtension("glBindAttribLocationARB"); 
    1260             glGetActiveAttribARB = cast(pfglGetActiveAttribARB)glBindExtension("glGetActiveAttribARB"); 
    1261             glGetAttribLocationARB = cast(pfglGetAttribLocationARB)glBindExtension("glGetAttribLocationARB"); 
     1439 
     1440    static this() { 
     1441        glExtensions[ "GL_ARB_vertex_shader" ] = { 
     1442            glBindAttribLocationARB = cast(pfglBindAttribLocationARB) glBindExtension( 
     1443                "glBindAttribLocationARB" ); 
     1444            glGetActiveAttribARB = cast(pfglGetActiveAttribARB) glBindExtension( 
     1445                "glGetActiveAttribARB" ); 
     1446            glGetAttribLocationARB = cast(pfglGetAttribLocationARB) glBindExtension( 
     1447                "glGetAttribLocationARB" ); 
    12621448        }; 
    12631449    } 
    12641450} 
    1265 version(GL_ARB_fragment_shader) 
    1266 
    1267     enum:GLuint 
    1268     { 
     1451 
     1452version ( GL_ARB_fragment_shader ) { 
     1453    enum : GLuint { 
    12691454        GL_FRAGMENT_SHADER_ARB = 0x8B30, 
    12701455        GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB = 0x8B49, 
     
    12721457    } 
    12731458} 
    1274 version(GL_ARB_shading_language_100) 
    1275 
    1276     enum:GLuint 
    1277     { 
     1459 
     1460version ( GL_ARB_shading_language_100 ) { 
     1461    enum : GLuint { 
    12781462        GL_SHADING_LANGUAGE_VERSION_ARB = 0x8B8C 
    12791463    } 
    12801464} 
    12811465 
    1282 version(GL_ARB_point_sprite) 
    1283 
    1284     enum:GLuint 
    1285     { 
     1466version ( GL_ARB_point_sprite ) { 
     1467    enum : GLuint { 
    12861468        GL_POINT_SPRITE_ARB = 0x8861, 
    12871469        GL_COORD_REPLACE_ARB = 0x8862 
     
    12891471} 
    12901472 
    1291 version(GL_ARB_draw_buffers) 
    1292 
    1293     enum:GLuint 
    1294     { 
     1473version ( GL_ARB_draw_buffers ) { 
     1474    enum : GLuint { 
    12951475        GL_MAX_DRAW_BUFFERS_ARB = 0x8824, 
    12961476        GL_DRAW_BUFFER0_ARB = 0x8825, 
     
    13111491        GL_DRAW_BUFFER15_ARB = 0x8834 
    13121492    } 
    1313      
    1314     typedef GLvoid function(GLsizei, GLenum*) pfglDrawBuffersARB; 
    1315      
    1316     extern(System) 
    1317     { 
     1493 
     1494    typedef GLvoid function ( GLsizei, GLenum* ) pfglDrawBuffersARB; 
     1495 
     1496    extern ( System ) { 
    13181497        pfglDrawBuffersARB glDrawBuffersARB; 
    13191498    } 
    1320      
    1321     static this() 
    1322     { 
    1323         glExtensions["GL_ARB_draw_buffers"] = 
    1324         { 
    1325             glDrawBuffersARB = cast(pfglDrawBuffersARB)glBindExtension("glDrawBuffersARB"); 
     1499 
     1500    static this() { 
     1501        glExtensions[ "GL_ARB_draw_buffers" ] = { 
     1502            glDrawBuffersARB = cast(pfglDrawBuffersARB) glBindExtension( 
     1503                "glDrawBuffersARB" ); 
    13261504        }; 
    13271505    } 
    13281506} 
    13291507 
    1330 version(GL_ARB_texture_rectangle) 
    1331 
    1332     enum:GLuint 
    1333     { 
     1508version ( GL_ARB_texture_rectangle ) { 
     1509    enum : GLuint { 
    13341510        GL_TEXTURE_RECTANGLE_ARB = 0x84F5, 
    13351511        GL_TEXTURE_BINDING_RECTANGLE_ARB = 0x84F6, 
     
    13391515} 
    13401516 
    1341 version(GL_ARB_color_buffer_float) 
    1342 
    1343     enum:GLuint 
    1344     { 
     1517version ( GL_ARB_color_buffer_float ) { 
     1518    enum : GLuint { 
    13451519        GL_RGBA_FLOAT_MODE_ARB = 0x8820, 
    13461520        GL_CLAMP_VERTEX_COLOR_ARB = 0x891A, 
     
    13491523        GL_FIXED_ONLY_ARB = 0x891D 
    13501524    } 
    1351      
    1352     typedef GLvoid function(GLenum, GLenum) pfglClampColorARB; 
    1353      
    1354     extern(System) 
    1355     { 
     1525 
     1526    typedef GLvoid function ( GLenum, GLenum ) pfglClampColorARB; 
     1527 
     1528    extern ( System ) { 
    13561529        pfglClampColorARB glClampColorARB; 
    13571530    } 
    1358      
    1359     static this() 
    1360     { 
    1361         glExtensions["GL_ARB_color_buffer_float"] = 
    1362         { 
    1363             glClampColorARB = cast(pfglClampColorARB)glBindExtension("glClampColorARB"); 
     1531 
     1532    static this() { 
     1533        glExtensions[ "GL_ARB_color_buffer_float" ] = { 
     1534            glClampColorARB = cast(pfglClampColorARB) glBindExtension( 
     1535                "glClampColorARB" ); 
    13641536        }; 
    13651537    } 
    13661538} 
    13671539 
    1368 version(GL_ARB_half_float_pixel) 
    1369 
    1370     enum:GLuint 
    1371     { 
     1540version ( GL_ARB_half_float_pixel ) { 
     1541    enum : GLuint { 
    13721542        GL_HALF_FLOAT_ARB = 0x140B 
    13731543    } 
    13741544} 
    13751545 
    1376 version(GL_ARB_texture_float) 
    1377 
    1378     enum:GLuint 
    1379     { 
     1546version ( GL_ARB_texture_float ) { 
     1547    enum : GLuint { 
    13801548        GL_TEXTURE_RED_TYPE_ARB = 0x8C10, 
    13811549        GL_TEXTURE_GREEN_TYPE_ARB = 0x8C11, 
     
    14011569} 
    14021570 
    1403 version(GL_ARB_pixel_buffer_object) 
    1404 
    1405     enum:GLuint 
    1406     { 
     1571version ( GL_ARB_pixel_buffer_object ) { 
     1572    enum : GLuint { 
    14071573        GL_PIXEL_PACK_BUFFER_ARB = 0x88EB, 
    14081574        GL_PIXEL_UNPACK_BUFFER_ARB = 0x88EC, 
  • trunk/src/uni/lib/renderers/gl/ATI.d

    r18 r43  
    11/+ 
    22 
    3    Copyright(c) 2008, Trevor Parscal 
    4      
    5    Module: OpenGL Extensions from ATI 
    6  
    7 +/ 
     3 Copyright(c) 2008, Trevor Parscal 
     4  
     5 Module: OpenGL Extensions from ATI 
     6 
     7 +/ 
    88 
    99module uni.lib.renderers.gl.ATI; 
     
    1313 
    1414/* Bindings */ 
    15 version(GL_ATI_texture_mirror_once) 
    16 
    17     enum:GLuint 
    18     { 
     15version ( GL_ATI_texture_mirror_once ) { 
     16    enum : GLuint { 
    1917        GL_MIRROR_CLAMP_ATI = 0x8742, 
    2018        GL_MIRROR_CLAMP_TO_EDGE_ATI = 0x8743 
     
    2220} 
    2321 
    24 version(GL_ATI_envmap_bumpmap) 
    25 
    26     enum:GLuint 
    27     { 
     22version ( GL_ATI_envmap_bumpmap ) { 
     23    enum : GLuint { 
    2824        GL_BUMP_ROT_MATRIX_ATI = 0x8775, 
    2925        GL_BUMP_ROT_MATRIX_SIZE_ATI = 0x8776, 
     
    3632    } 
    3733 
    38     typedef GLvoid function(GLenum, GLint*) pfglTexBumpParameterivATI; 
    39     typedef GLvoid function(GLenum, GLfloat*) pfglTexBumpParameterfvATI; 
    40     typedef GLvoid function(GLenum, GLint*) pfglGetTexBumpParameterivATI; 
    41     typedef GLvoid function(GLenum, GLfloat*) pfglGetTexBumpParameterfvATI; 
    42      
    43     extern(System) 
    44     { 
     34    typedef GLvoid function ( GLenum, GLint* ) pfglTexBumpParameterivATI; 
     35    typedef GLvoid function ( GLenum, GLfloat* ) pfglTexBumpParameterfvATI; 
     36    typedef GLvoid function ( GLenum, GLint* ) pfglGetTexBumpParameterivATI; 
     37    typedef GLvoid function ( GLenum, GLfloat* ) pfglGetTexBumpParameterfvATI; 
     38 
     39    extern ( System ) { 
    4540        pfglTexBumpParameterivATI glTexBumpParameterivATI; 
    4641        pfglTexBumpParameterfvATI glTexBumpParameterfvATI; 
     
    4843        pfglGetTexBumpParameterfvATI glGetTexBumpParameterfvATI; 
    4944    } 
    50      
    51     static this() 
    52    
    53         glExtensions["GL_ATI_envmap_bumpmap"] = 
    54         { 
    55             glTexBumpParameterivATI = cast(pfglTexBumpParameterivATI)glBindExtension("glTexBumpParameterivATI"); 
    56             glTexBumpParameterfvATI = cast(pfglTexBumpParameterfvATI)glBindExtension("glTexBumpParameterfvATI"); 
    57             glGetTexBumpParameterivATI = cast(pfglGetTexBumpParameterivATI)glBindExtension("glGetTexBumpParameterivATI"); 
    58             glGetTexBumpParameterfvATI = cast(pfglGetTexBumpParameterfvATI)glBindExtension("glGetTexBumpParameterfvATI"); 
    59         }; 
    60     } 
    61 
    62  
    63 version(GL_ATI_fragment_shader) 
    64 
    65     enum:GLuint 
    66    
     45 
     46    static this() { 
     47       glExtensions[ "GL_ATI_envmap_bumpmap" ] =
     48           glTexBumpParameterivATI = cast(pfglTexBumpParameterivATI) glBindExtension( 
     49               "glTexBumpParameterivATI" ); 
     50            glTexBumpParameterfvATI = cast(pfglTexBumpParameterfvATI) glBindExtension( 
     51               "glTexBumpParameterfvATI" ); 
     52            glGetTexBumpParameterivATI = cast(pfglGetTexBumpParameterivATI) glBindExtension( 
     53               "glGetTexBumpParameterivATI" ); 
     54           glGetTexBumpParameterfvATI = cast(pfglGetTexBumpParameterfvATI) glBindExtension( 
     55               "glGetTexBumpParameterfvATI" ); 
     56        }; 
     57    } 
     58
     59 
     60version ( GL_ATI_fragment_shader ) { 
     61    enum : GLuint
    6762        GL_FRAGMENT_SHADER_ATI = 0x8920, 
    6863        GL_REG_0_ATI = 0x8921, 
     
    171166    } 
    172167 
    173     typedef GLuint function(GLuint) pfglGenFragmentShadersATI; 
    174     typedef GLvoid function(GLuint) pfglBindFragmentShaderATI; 
    175     typedef GLvoid function(GLuint) pfglDeleteFragmentShaderATI; 
    176     typedef GLvoid function() pfglBeginFragmentShaderATI; 
    177     typedef GLvoid function() pfglEndFragmentShaderATI; 
    178     typedef GLvoid function(GLuint, GLuint, GLenum) pfglPassTexCoordATI; 
    179     typedef GLvoid function(GLuint, GLuint, GLenum) pfglSampleMapATI; 
    180     typedef GLvoid function(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint) pfglColorFragmentOp1ATI; 
    181     typedef GLvoid function(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint) pfglColorFragmentOp2ATI; 
    182     typedef GLvoid function(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint) pfglColorFragmentOp3ATI; 
    183     typedef GLvoid function(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint) pfglAlphaFragmentOp1ATI; 
    184     typedef GLvoid function(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint) pfglAlphaFragmentOp2ATI; 
    185     typedef GLvoid function(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint) pfglAlphaFragmentOp3ATI; 
    186     typedef GLvoid function(GLuint, GLfloat*) pfglSetFragmentShaderConstantATI; 
    187      
    188     extern(System) 
    189     { 
     168    typedef GLuint function ( GLuint ) pfglGenFragmentShadersATI; 
     169    typedef GLvoid function ( GLuint ) pfglBindFragmentShaderATI; 
     170    typedef GLvoid function ( GLuint ) pfglDeleteFragmentShaderATI; 
     171    typedef GLvoid function () pfglBeginFragmentShaderATI; 
     172    typedef GLvoid function () pfglEndFragmentShaderATI; 
     173    typedef GLvoid function ( GLuint, GLuint, GLenum ) pfglPassTexCoordATI; 
     174    typedef GLvoid function ( GLuint, GLuint, GLenum ) pfglSampleMapATI; 
     175    typedef GLvoid function ( GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint ) 
     176        pfglColorFragmentOp1ATI; 
     177    typedef GLvoid function ( GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint ) 
     178        pfglColorFragmentOp2ATI; 
     179    typedef GLvoid function ( GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint ) 
     180        pfglColorFragmentOp3ATI; 
     181    typedef GLvoid function ( GLenum, GLuint, GLuint, GLuint, GLuint, GLuint ) 
     182        pfglAlphaFragmentOp1ATI; 
     183    typedef GLvoid function ( GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint ) 
     184        pfglAlphaFragmentOp2ATI; 
     185    typedef GLvoid function ( GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint ) 
     186        pfglAlphaFragmentOp3ATI; 
     187    typedef GLvoid function ( GLuint, GLfloat* ) 
     188        pfglSetFragmentShaderConstantATI; 
     189 
     190    extern ( System ) { 
    190191        pfglGenFragmentShadersATI glGenFragmentShadersATI; 
    191192        pfglBindFragmentShaderATI glBindFragmentShaderATI; 
     
    203204        pfglSetFragmentShaderConstantATI glSetFragmentShaderConstantATI; 
    204205    } 
    205      
    206     static this() 
    207     { 
    208         glExtensions["GL_ATI_fragment_shader"] = 
    209         { 
    210             glGenFragmentShadersATI = cast(pfglGenFragmentShadersATI)glBindExtension("glGenFragmentShadersATI"); 
    211             glBindFragmentShaderATI = cast(pfglBindFragmentShaderATI)glBindExtension("glBindFragmentShaderATI"); 
    212             glDeleteFragmentShaderATI = cast(pfglDeleteFragmentShaderATI)glBindExtension("glDeleteFragmentShaderATI"); 
    213             glBeginFragmentShaderATI = cast(pfglBeginFragmentShaderATI)glBindExtension("glBeginFragmentShaderATI"); 
    214             glEndFragmentShaderATI = cast(pfglEndFragmentShaderATI)glBindExtension("glEndFragmentShaderATI"); 
    215             glPassTexCoordATI = cast(pfglPassTexCoordATI)glBindExtension("glPassTexCoordATI"); 
    216             glSampleMapATI = cast(pfglSampleMapATI)glBindExtension("glSampleMapATI"); 
    217             glColorFragmentOp1ATI = cast(pfglColorFragmentOp1ATI)glBindExtension("glColorFragmentOp1ATI"); 
    218             glColorFragmentOp2ATI = cast(pfglColorFragmentOp2ATI)glBindExtension("glColorFragmentOp2ATI"); 
    219             glColorFragmentOp3ATI = cast(pfglColorFragmentOp3ATI)glBindExtension("glColorFragmentOp3ATI"); 
    220             glAlphaFragmentOp1ATI = cast(pfglAlphaFragmentOp1ATI)glBindExtension("glAlphaFragmentOp1ATI"); 
    221             glAlphaFragmentOp2ATI = cast(pfglAlphaFragmentOp2ATI)glBindExtension("glAlphaFragmentOp2ATI"); 
    222             glAlphaFragmentOp3ATI = cast(pfglAlphaFragmentOp3ATI)glBindExtension("glAlphaFragmentOp3ATI"); 
    223             glSetFragmentShaderConstantATI = cast(pfglSetFragmentShaderConstantATI)glBindExtension("glSetFragmentShaderConstantATI"); 
    224         }; 
    225     } 
    226 
    227  
    228 version(GL_ATI_pn_triangles) 
    229 
    230     enum:GLuint 
    231     { 
     206 
     207    static this() { 
     208        glExtensions[ "GL_ATI_fragment_shader" ] = { 
     209            glGenFragmentShadersATI = cast(pfglGenFragmentShadersATI) glBindExtension( 
     210                "glGenFragmentShadersATI" ); 
     211            glBindFragmentShaderATI = cast(pfglBindFragmentShaderATI) glBindExtension( 
     212                "glBindFragmentShaderATI" ); 
     213            glDeleteFragmentShaderATI = cast(pfglDeleteFragmentShaderATI) glBindExtension( 
     214                "glDeleteFragmentShaderATI" ); 
     215            glBeginFragmentShaderATI = cast(pfglBeginFragmentShaderATI) glBindExtension( 
     216                "glBeginFragmentShaderATI" ); 
     217            glEndFragmentShaderATI = cast(pfglEndFragmentShaderATI) glBindExtension( 
     218                "glEndFragmentShaderATI" ); 
     219            glPassTexCoordATI = cast(pfglPassTexCoordATI) glBindExtension( 
     220                "glPassTexCoordATI" ); 
     221            glSampleMapATI = cast(pfglSampleMapATI) glBindExtension( 
     222                "glSampleMapATI" ); 
     223            glColorFragmentOp1ATI = cast(pfglColorFragmentOp1ATI) glBindExtension( 
     224                "glColorFragmentOp1ATI" ); 
     225            glColorFragmentOp2ATI = cast(pfglColorFragmentOp2ATI) glBindExtension( 
     226                "glColorFragmentOp2ATI" ); 
     227            glColorFragmentOp3ATI = cast(pfglColorFragmentOp3ATI) glBindExtension( 
     228                "glColorFragmentOp3ATI" ); 
     229            glAlphaFragmentOp1ATI = cast(pfglAlphaFragmentOp1ATI) glBindExtension( 
     230                "glAlphaFragmentOp1ATI" ); 
     231            glAlphaFragmentOp2ATI = cast(pfglAlphaFragmentOp2ATI) glBindExtension( 
     232                "glAlphaFragmentOp2ATI" ); 
     233            glAlphaFragmentOp3ATI = cast(pfglAlphaFragmentOp3ATI) glBindExtension( 
     234                "glAlphaFragmentOp3ATI" ); 
     235            glSetFragmentShaderConstantATI = cast(pfglSetFragmentShaderConstantATI) glBindExtension( 
     236                "glSetFragmentShaderConstantATI" ); 
     237        }; 
     238    } 
     239
     240 
     241version ( GL_ATI_pn_triangles ) { 
     242    enum : GLuint { 
    232243        GL_PN_TRIANGLES_ATI = 0x87F0, 
    233244        GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI = 0x87F1, 
     
    240251        GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI = 0x87F8 
    241252    } 
    242      
    243     typedef GLvoid function(GLenum, GLint) pfglPNTrianglesiATI; 
    244     typedef GLvoid function(GLenum, GLfloat) pfglPNTrianglesfATI; 
    245      
    246     extern(System) 
    247     { 
     253 
     254    typedef GLvoid function ( GLenum, GLint ) pfglPNTrianglesiATI; 
     255    typedef GLvoid function ( GLenum, GLfloat ) pfglPNTrianglesfATI; 
     256 
     257    extern ( System ) { 
    248258        pfglPNTrianglesiATI glPNTrianglesiATI; 
    249259        pfglPNTrianglesfATI glPNTrianglesfATI; 
    250260    } 
    251      
    252     static this() 
    253     { 
    254         glExtensions["GL_ATI_pn_triangles"] = 
    255         { 
    256             glPNTrianglesiATI = cast(pfglPNTrianglesiATI)glBindExtension("glPNTrianglesiATI"); 
    257             glPNTrianglesfATI = cast(pfglPNTrianglesfATI)glBindExtension("glPNTrianglesfATI"); 
    258         }; 
    259     } 
    260 
    261  
    262 version(GL_ATI_vertex_array_object) 
    263 
    264     enum:GLuint 
    265     { 
     261 
     262    static this() { 
     263        glExtensions[ "GL_ATI_pn_triangles" ] = { 
     264            glPNTrianglesiATI = cast(pfglPNTrianglesiATI) glBindExtension( 
     265                "glPNTrianglesiATI" ); 
     266            glPNTrianglesfATI = cast(pfglPNTrianglesfATI) glBindExtension( 
     267                "glPNTrianglesfATI" ); 
     268        }; 
     269    } 
     270
     271 
     272version ( GL_ATI_vertex_array_object ) { 
     273    enum : GLuint { 
    266274        GL_STATIC_ATI = 0x8760, 
    267275        GL_DYNAMIC_ATI = 0x8761, 
     
    273281        GL_ARRAY_OBJECT_OFFSET_ATI = 0x8767 
    274282    } 
    275      
    276     typedef GLuint function(GLsizei, GLvoid*, GLenum) pfglNewObjectBufferATI; 
    277     typedef GLboolean function(GLuint) pfglIsObjectBufferATI; 
    278     typedef GLvoid function(GLuint, GLuint, GLsizei, GLvoid*, GLenum) pfglUpdateObjectBufferATI; 
    279     typedef GLvoid function(GLuint, GLenum, GLfloat*) pfglGetObjectBufferfvATI; 
    280     typedef GLvoid function(GLuint, GLenum, GLint*) pfglGetObjectBufferivATI; 
    281     typedef GLvoid function(GLuint) pfglFreeObjectBufferATI; 
    282     typedef GLvoid function(GLenum, GLint, GLenum, GLsizei, GLuint, GLuint) pfglArrayObjectATI; 
    283     typedef GLvoid function(GLenum, GLenum, GLfloat*) pfglGetArrayObjectfvATI; 
    284     typedef GLvoid function(GLenum, GLenum, GLint*) pfglGetArrayObjectivATI; 
    285     typedef GLvoid function(GLuint, GLenum, GLsizei, GLuint, GLuint) pfglVariantArrayObjectATI; 
    286     typedef GLvoid function(GLuint, GLenum, GLfloat*) pfglGetVariantArrayObjectfvATI; 
    287     typedef GLvoid function(GLuint, GLenum, GLint*) pfglGetVariantArrayObjectivATI; 
    288      
    289     extern(System) 
    290     { 
     283 
     284    typedef GLuint function ( GLsizei, GLvoid*, GLenum ) pfglNewObjectBufferATI; 
     285    typedef GLboolean function ( GLuint ) pfglIsObjectBufferATI; 
     286    typedef GLvoid function ( GLuint, GLuint, GLsizei, GLvoid*, GLenum ) 
     287        pfglUpdateObjectBufferATI; 
     288    typedef GLvoid function ( GLuint, GLenum, GLfloat* ) 
     289        pfglGetObjectBufferfvATI; 
     290    typedef GLvoid function ( GLuint, GLenum, GLint* ) pfglGetObjectBufferivATI; 
     291    typedef GLvoid function ( GLuint ) pfglFreeObjectBufferATI; 
     292    typedef GLvoid function ( GLenum, GLint, GLenum, GLsizei, GLuint, GLuint ) 
     293        pfglArrayObjectATI; 
     294    typedef GLvoid function ( GLenum, GLenum, GLfloat* ) 
     295        pfglGetArrayObjectfvATI; 
     296    typedef GLvoid function ( GLenum, GLenum, GLint* ) pfglGetArrayObjectivATI; 
     297    typedef GLvoid function ( GLuint, GLenum, GLsizei, GLuint, GLuint ) 
     298        pfglVariantArrayObjectATI; 
     299    typedef GLvoid function ( GLuint, GLenum, GLfloat* ) 
     300        pfglGetVariantArrayObjectfvATI; 
     301    typedef GLvoid function ( GLuint, GLenum, GLint* ) 
     302        pfglGetVariantArrayObjectivATI; 
     303 
     304    extern ( System ) { 
    291305        pfglNewObjectBufferATI glNewObjectBufferATI; 
    292306        pfglIsObjectBufferATI glIsObjectBufferATI; 
     
    302316        pfglGetVariantArrayObjectivATI glGetVariantArrayObjectivATI; 
    303317    } 
    304      
    305     static this() 
    306     { 
    307         glExtensions["GL_ATI_vertex_array_object"] = 
    308         { 
    309             glNewObjectBufferATI = cast(pfglNewObjectBufferATI)glBindExtension("glNewObjectBufferATI"); 
    310             glIsObjectBufferATI = cast(pfglIsObjectBufferATI)glBindExtension("glIsObjectBufferATI"); 
    311             glUpdateObjectBufferATI = cast(pfglUpdateObjectBufferATI)glBindExtension("glUpdateObjectBufferATI"); 
    312             glGetObjectBufferfvATI = cast(pfglGetObjectBufferfvATI)glBindExtension("glGetObjectBufferfvATI"); 
    313             glGetObjectBufferivATI = cast(pfglGetObjectBufferivATI)glBindExtension("glGetObjectBufferivATI"); 
    314             glFreeObjectBufferATI = cast(pfglFreeObjectBufferATI)glBindExtension("glFreeObjectBufferATI"); 
    315             glArrayObjectATI = cast(pfglArrayObjectATI)glBindExtension("glArrayObjectATI"); 
    316             glGetArrayObjectfvATI = cast(pfglGetArrayObjectfvATI)glBindExtension("glGetArrayObjectfvATI"); 
    317             glGetArrayObjectivATI = cast(pfglGetArrayObjectivATI)glBindExtension("glGetArrayObjectivATI"); 
    318             glVariantArrayObjectATI = cast(pfglVariantArrayObjectATI)glBindExtension("glVariantArrayObjectATI"); 
    319             glGetVariantArrayObjectfvATI = cast(pfglGetVariantArrayObjectfvATI)glBindExtension("glGetVariantArrayObjectfvATI"); 
    320             glGetVariantArrayObjectivATI = cast(pfglGetVariantArrayObjectivATI)glBindExtension("glGetVariantArrayObjectivATI"); 
    321         }; 
    322     } 
    323 
    324  
    325 version(GL_ATI_vertex_streams) 
    326 
    327     enum:GLuint 
    328     { 
     318 
     319    static this() { 
     320        glExtensions[ "GL_ATI_vertex_array_object" ] = { 
     321            glNewObjectBufferATI = cast(pfglNewObjectBufferATI) glBindExtension( 
     322                "glNewObjectBufferATI" ); 
     323            glIsObjectBufferATI = cast(pfglIsObjectBufferATI) glBindExtension( 
     324                "glIsObjectBufferATI" ); 
     325            glUpdateObjectBufferATI = cast(pfglUpdateObjectBufferATI) glBindExtension( 
     326                "glUpdateObjectBufferATI" ); 
     327            glGetObjectBufferfvATI = cast(pfglGetObjectBufferfvATI) glBindExtension( 
     328                "glGetObjectBufferfvATI" ); 
     329            glGetObjectBufferivATI = cast(pfglGetObjectBufferivATI) glBindExtension( 
     330                "glGetObjectBufferivATI" ); 
     331            glFreeObjectBufferATI = cast(pfglFreeObjectBufferATI) glBindExtension( 
     332                "glFreeObjectBufferATI" ); 
     333            glArrayObjectATI = cast(pfglArrayObjectATI) glBindExtension( 
     334                "glArrayObjectATI" ); 
     335            glGetArrayObjectfvATI = cast(pfglGetArrayObjectfvATI) glBindExtension( 
     336                "glGetArrayObjectfvATI" ); 
     337            glGetArrayObjectivATI = cast(pfglGetArrayObjectivATI) glBindExtension( 
     338                "glGetArrayObjectivATI" ); 
     339            glVariantArrayObjectATI = cast(pfglVariantArrayObjectATI) glBindExtension( 
     340                "glVariantArrayObjectATI" ); 
     341            glGetVariantArrayObjectfvATI = cast(pfglGetVariantArrayObjectfvATI) glBindExtension( 
     342                "glGetVariantArrayObjectfvATI" ); 
     343            glGetVariantArrayObjectivATI = cast(pfglGetVariantArrayObjectivATI) glBindExtension( 
     344                "glGetVariantArrayObjectivATI" ); 
     345        }; 
     346    } 
     347
     348 
     349version ( GL_ATI_vertex_streams ) { 
     350    enum : GLuint { 
    329351        GL_MAX_VERTEX_STREAMS_ATI = 0x876B, 
    330352        GL_VERTEX_STREAM0_ATI = 0x876C, 
     
    338360        GL_VERTEX_SOURCE_ATI = 0x8774 
    339361    } 
    340      
    341     typedef GLvoid function(GLenum, GLshort) pfglVertexStream1sATI; 
    342     typedef GLvoid function(GLenum, GLshort*) pfglVertexStream1svATI; 
    343     typedef GLvoid function(GLenum, GLint) pfglVertexStream1iATI; 
    344     typedef GLvoid function(GLenum, GLint*) pfglVertexStream1ivATI; 
    345     typedef GLvoid function(GLenum, GLfloat) pfglVertexStream1fATI; 
    346     typedef GLvoid function(GLenum, GLfloat*) pfglVertexStream1fvATI; 
    347     typedef GLvoid function(GLenum, GLdouble) pfglVertexStream1dATI; 
    348     typedef GLvoid function(GLenum, GLdouble*) pfglVertexStream1dvATI; 
    349     typedef GLvoid function(GLenum, GLshort, GLshort) pfglVertexStream2sATI; 
    350     typedef GLvoid function(GLenum, GLshort*) pfglVertexStream2svATI; 
    351     typedef GLvoid function(GLenum, GLint, GLint) pfglVertexStream2iATI; 
    352     typedef GLvoid function(GLenum, GLint*) pfglVertexStream2ivATI; 
    353     typedef GLvoid function(GLenum, GLfloat, GLfloat) pfglVertexStream2fATI; 
    354     typedef GLvoid function(GLenum, GLfloat*) pfglVertexStream2fvATI; 
    355     typedef GLvoid function(GLenum, GLdouble, GLdouble) pfglVertexStream2dATI; 
    356     typedef GLvoid function(GLenum, GLdouble*) pfglVertexStream2dvATI; 
    357     typedef GLvoid function(GLenum, GLshort, GLshort, GLshort) pfglVertexStream3sATI; 
    358     typedef GLvoid function(GLenum, GLshort*) pfglVertexStream3svATI; 
    359     typedef GLvoid function(GLenum, GLint, GLint, GLint) pfglVertexStream3iATI; 
    360     typedef GLvoid function(GLenum, GLint*) pfglVertexStream3ivATI; 
    361     typedef GLvoid function(GLenum, GLfloat, GLfloat, GLfloat) pfglVertexStream3fATI; 
    362     typedef GLvoid function(GLenum, GLfloat*) pfglVertexStream3fvATI; 
    363     typedef GLvoid function(GLenum, GLdouble, GLdouble, GLdouble) pfglVertexStream3dATI; 
    364     typedef GLvoid function(GLenum, GLdouble*) pfglVertexStream3dvATI; 
    365     typedef GLvoid function(GLenum, GLshort, GLshort, GLshort, GLshort) pfglVertexStream4sATI; 
    366     typedef GLvoid function(GLenum, GLshort*) pfglVertexStream4svATI; 
    367     typedef GLvoid function(GLenum, GLint, GLint, GLint, GLint) pfglVertexStream4iATI; 
    368     typedef GLvoid function(GLenum, GLint*) pfglVertexStream4ivATI; 
    369     typedef GLvoid function(GLenum, GLfloat, GLfloat, GLfloat, GLfloat) pfglVertexStream4fATI; 
    370     typedef GLvoid function(GLenum, GLfloat*) pfglVertexStream4fvATI; 
    371     typedef GLvoid function(GLenum, GLdouble, GLdouble, GLdouble, GLdouble) pfglVertexStream4dATI; 
    372     typedef GLvoid function(GLenum, GLdouble*) pfglVertexStream4dvATI; 
    373     typedef GLvoid function(GLenum, GLbyte, GLbyte, GLbyte) pfglNormalStream3bATI; 
    374     typedef GLvoid function(GLenum, GLbyte*) pfglNormalStream3bvATI; 
    375     typedef GLvoid function(GLenum, GLshort, GLshort, GLshort) pfglNormalStream3sATI; 
    376     typedef GLvoid function(GLenum, GLshort*) pfglNormalStream3svATI; 
    377     typedef GLvoid function(GLenum, GLint, GLint, GLint) pfglNormalStream3iATI; 
    378     typedef GLvoid function(GLenum, GLint*) pfglNormalStream3ivATI; 
    379     typedef GLvoid function(GLenum, GLfloat, GLfloat, GLfloat) pfglNormalStream3fATI; 
    380     typedef GLvoid function(GLenum, GLfloat*) pfglNormalStream3fvATI; 
    381     typedef GLvoid function(GLenum, GLdouble, GLdouble, GLdouble) pfglNormalStream3dATI; 
    382     typedef GLvoid function(GLenum, GLdouble*) pfglNormalStream3dvATI; 
    383     typedef GLvoid function(GLenum) pfglClientActiveVertexStreamATI; 
    384     typedef GLvoid function(GLenum, GLint) pfglVertexBlendEnviATI; 
    385     typedef GLvoid function(GLenum, GLfloat) pfglVertexBlendEnvfATI; 
    386      
    387     extern(System) 
    388     { 
     362 
     363    typedef GLvoid function ( GLenum, GLshort ) pfglVertexStream1sATI; 
     364    typedef GLvoid function ( GLenum, GLshort* ) pfglVertexStream1svATI; 
     365    typedef GLvoid function ( GLenum, GLint ) pfglVertexStream1iATI; 
     366    typedef GLvoid function ( GLenum, GLint* ) pfglVertexStream1ivATI; 
     367    typedef GLvoid function ( GLenum, GLfloat ) pfglVertexStream1fATI; 
     368    typedef GLvoid function ( GLenum, GLfloat* ) pfglVertexStream1fvATI; 
     369    typedef GLvoid function ( GLenum, GLdouble ) pfglVertexStream1dATI; 
     370    typedef GLvoid function ( GLenum, GLdouble* ) pfglVertexStream1dvATI; 
     371    typedef GLvoid function ( GLenum, GLshort, GLshort ) pfglVertexStream2sATI; 
     372    typedef GLvoid function ( GLenum, GLshort* ) pfglVertexStream2svATI; 
     373    typedef GLvoid function ( GLenum, GLint, GLint ) pfglVertexStream2iATI; 
     374    typedef GLvoid function ( GLenum, GLint* ) pfglVertexStream2ivATI; 
     375    typedef GLvoid function ( GLenum, GLfloat, GLfloat ) pfglVertexStream2fATI; 
     376    typedef GLvoid function ( GLenum, GLfloat* ) pfglVertexStream2fvATI; 
     377    typedef GLvoid function ( GLenum, GLdouble, GLdouble ) 
     378        pfglVertexStream2dATI; 
     379    typedef GLvoid function ( GLenum, GLdouble* ) pfglVertexStream2dvATI; 
     380    typedef GLvoid function ( GLenum, GLshort, GLshort, GLshort ) 
     381        pfglVertexStream3sATI; 
     382    typedef GLvoid function ( GLenum, GLshort* ) pfglVertexStream3svATI; 
     383    typedef GLvoid function ( GLenum, GLint, GLint, GLint ) 
     384        pfglVertexStream3iATI; 
     385    typedef GLvoid function ( GLenum, GLint* ) pfglVertexStream3ivATI; 
     386    typedef GLvoid function ( GLenum, GLfloat, GLfloat, GLfloat ) 
     387        pfglVertexStream3fATI; 
     388    typedef GLvoid function ( GLenum, GLfloat* ) pfglVertexStream3fvATI; 
     389    typedef GLvoid function ( GLenum, GLdouble, GLdouble, GLdouble ) 
     390        pfglVertexStream3dATI; 
     391    typedef GLvoid function ( GLenum, GLdouble* ) pfglVertexStream3dvATI; 
     392    typedef GLvoid function ( GLenum, GLshort, GLshort, GLshort, GLshort ) 
     393        pfglVertexStream4sATI; 
     394    typedef GLvoid function ( GLenum, GLshort* ) pfglVertexStream4svATI; 
     395    typedef GLvoid function ( GLenum, GLint, GLint, GLint, GLint ) 
     396        pfglVertexStream4iATI; 
     397    typedef GLvoid function ( GLenum, GLint* ) pfglVertexStream4ivATI; 
     398    typedef GLvoid function ( GLenum, GLfloat, GLfloat, GLfloat, GLfloat ) 
     399        pfglVertexStream4fATI; 
     400    typedef GLvoid function ( GLenum, GLfloat* ) pfglVertexStream4fvATI; 
     401    typedef GLvoid function ( GLenum, GLdouble, GLdouble, GLdouble, GLdouble ) 
     402        pfglVertexStream4dATI; 
     403    typedef GLvoid function ( GLenum, GLdouble* ) pfglVertexStream4dvATI; 
     404    typedef GLvoid function ( GLenum, GLbyte, GLbyte, GLbyte ) 
     405        pfglNormalStream3bATI; 
     406    typedef GLvoid function ( GLenum, GLbyte* ) pfglNormalStream3bvATI; 
     407    typedef GLvoid function ( GLenum, GLshort, GLshort, GLshort ) 
     408        pfglNormalStream3sATI; 
     409    typedef GLvoid function ( GLenum, GLshort* ) pfglNormalStream3svATI; 
     410    typedef GLvoid function ( GLenum, GLint, GLint, GLint ) 
     411        pfglNormalStream3iATI; 
     412    typedef GLvoid function ( GLenum, GLint* ) pfglNormalStream3ivATI; 
     413    typedef GLvoid function ( GLenum, GLfloat, GLfloat, GLfloat ) 
     414        pfglNormalStream3fATI; 
     415    typedef GLvoid function ( GLenum, GLfloat* ) pfglNormalStream3fvATI; 
     416    typedef GLvoid function ( GLenum, GLdouble, GLdouble, GLdouble ) 
     417        pfglNormalStream3dATI; 
     418    typedef GLvoid function ( GLenum, GLdouble* ) pfglNormalStream3dvATI; 
     419    typedef GLvoid function ( GLenum ) pfglClientActiveVertexStreamATI; 
     420    typedef GLvoid function ( GLenum, GLint ) pfglVertexBlendEnviATI; 
     421    typedef GLvoid function ( GLenum, GLfloat ) pfglVertexBlendEnvfATI; 
     422 
     423    extern ( System ) { 
    389424        pfglVertexStream1sATI glVertexStream1sATI; 
    390425        pfglVertexStream1svATI glVertexStream1svATI; 
     
    433468        pfglVertexBlendEnvfATI glVertexBlendEnvfATI; 
    434469    } 
    435      
    436     static this() 
    437     { 
    438         glExtensions["GL_ATI_vertex_streams"] = 
    439         { 
    440             glVertexStream1sATI = cast(pfglVertexStream1sATI)glBindExtension("glVertexStream1sATI"); 
    441             glVertexStream1svATI = cast(pfglVertexStream1svATI)glBindExtension("glVertexStream1svATI"); 
    442             glVertexStream1iATI = cast(pfglVertexStream1iATI)glBindExtension("glVertexStream1iATI"); 
    443             glVertexStream1ivATI = cast(pfglVertexStream1ivATI)glBindExtension("glVertexStream1ivATI"); 
    444             glVertexStream1fATI = cast(pfglVertexStream1fATI)glBindExtension("glVertexStream1fATI"); 
    445             glVertexStream1fvATI = cast(pfglVertexStream1fvATI)glBindExtension("glVertexStream1fvATI"); 
    446             glVertexStream1dATI = cast(pfglVertexStream1dATI)glBindExtension("glVertexStream1dATI"); 
    447             glVertexStream1dvATI = cast(pfglVertexStream1dvATI)glBindExtension("glVertexStream1dvATI"); 
    448             glVertexStream2sATI = cast(pfglVertexStream2sATI)glBindExtension("glVertexStream2sATI"); 
    449             glVertexStream2svATI = cast(pfglVertexStream2svATI)glBindExtension("glVertexStream2svATI"); 
    450             glVertexStream2iATI = cast(pfglVertexStream2iATI)glBindExtension("glVertexStream2iATI"); 
    451             glVertexStream2ivATI = cast(pfglVertexStream2ivATI)glBindExtension("glVertexStream2ivATI"); 
    452             glVertexStream2fATI = cast(pfglVertexStream2fATI)glBindExtension("glVertexStream2fATI"); 
    453             glVertexStream2fvATI = cast(pfglVertexStream2fvATI)glBindExtension("glVertexStream2fvATI"); 
    454             glVertexStream2dATI = cast(pfglVertexStream2dATI)glBindExtension("glVertexStream2dATI"); 
    455             glVertexStream2dvATI = cast(pfglVertexStream2dvATI)glBindExtension("glVertexStream2dvATI"); 
    456             glVertexStream3sATI = cast(pfglVertexStream3sATI)glBindExtension("glVertexStream3sATI"); 
    457             glVertexStream3svATI = cast(pfglVertexStream3svATI)glBindExtension("glVertexStream3svATI"); 
    458             glVertexStream3iATI = cast(pfglVertexStream3iATI)glBindExtension("glVertexStream3iATI"); 
    459             glVertexStream3ivATI = cast(pfglVertexStream3ivATI)glBindExtension("glVertexStream3ivATI"); 
    460             glVertexStream3fATI = cast(pfglVertexStream3fATI)glBindExtension("glVertexStream3fATI"); 
    461             glVertexStream3fvATI = cast(pfglVertexStream3fvATI)glBindExtension("glVertexStream3fvATI"); 
    462             glVertexStream3dATI = cast(pfglVertexStream3dATI)glBindExtension("glVertexStream3dATI"); 
    463             glVertexStream3dvATI = cast(pfglVertexStream3dvATI)glBindExtension("glVertexStream3dvATI"); 
    464             glVertexStream4sATI = cast(pfglVertexStream4sATI)glBindExtension("glVertexStream4sATI"); 
    465             glVertexStream4svATI = cast(pfglVertexStream4svATI)glBindExtension("glVertexStream4svATI"); 
    466             glVertexStream4iATI = cast(pfglVertexStream4iATI)glBindExtension("glVertexStream4iATI"); 
    467             glVertexStream4ivATI = cast(pfglVertexStream4ivATI)glBindExtension("glVertexStream4ivATI"); 
    468             glVertexStream4fATI = cast(pfglVertexStream4fATI)glBindExtension("glVertexStream4fATI"); 
    469             glVertexStream4fvATI = cast(pfglVertexStream4fvATI)glBindExtension("glVertexStream4fvATI"); 
    470             glVertexStream4dATI = cast(pfglVertexStream4dATI)glBindExtension("glVertexStream4dATI"); 
    471             glVertexStream4dvATI = cast(pfglVertexStream4dvATI)glBindExtension("glVertexStream4dvATI"); 
    472             glNormalStream3bATI = cast(pfglNormalStream3bATI)glBindExtension("glNormalStream3bATI"); 
    473             glNormalStream3bvATI = cast(pfglNormalStream3bvATI)glBindExtension("glNormalStream3bvATI"); 
    474             glNormalStream3sATI = cast(pfglNormalStream3sATI)glBindExtension("glNormalStream3sATI"); 
    475             glNormalStream3svATI = cast(pfglNormalStream3svATI)glBindExtension("glNormalStream3svATI"); 
    476             glNormalStream3iATI = cast(pfglNormalStream3iATI)glBindExtension("glNormalStream3iATI"); 
    477             glNormalStream3ivATI = cast(pfglNormalStream3ivATI)glBindExtension("glNormalStream3ivATI"); 
    478             glNormalStream3fATI = cast(pfglNormalStream3fATI)glBindExtension("glNormalStream3fATI"); 
    479             glNormalStream3fvATI = cast(pfglNormalStream3fvATI)glBindExtension("glNormalStream3fvATI"); 
    480             glNormalStream3dATI = cast(pfglNormalStream3dATI)glBindExtension("glNormalStream3dATI"); 
    481             glNormalStream3dvATI = cast(pfglNormalStream3dvATI)glBindExtension("glNormalStream3dvATI"); 
    482             glClientActiveVertexStreamATI = cast(pfglClientActiveVertexStreamATI)glBindExtension("glClientActiveVertexStreamATI"); 
    483             glVertexBlendEnviATI = cast(pfglVertexBlendEnviATI)glBindExtension("glVertexBlendEnviATI"); 
    484             glVertexBlendEnvfATI = cast(pfglVertexBlendEnvfATI)glBindExtension("glVertexBlendEnvfATI"); 
    485         }; 
    486     } 
    487 
    488  
    489 version(GL_ATI_element_array) 
    490 
    491     enum:GLuint 
    492     { 
     470 
     471    static this() { 
     472        glExtensions[ "GL_ATI_vertex_streams" ] = { 
     473            glVertexStream1sATI = cast(pfglVertexStream1sATI) glBindExtension( 
     474                "glVertexStream1sATI" ); 
     475            glVertexStream1svATI = cast(pfglVertexStream1svATI) glBindExtension( 
     476                "glVertexStream1svATI" ); 
     477            glVertexStream1iATI = cast(pfglVertexStream1iATI) glBindExtension( 
     478                "glVertexStream1iATI" ); 
     479            glVertexStream1ivATI = cast(pfglVertexStream1ivATI) glBindExtension( 
     480                "glVertexStream1ivATI" ); 
     481            glVertexStream1fATI = cast(pfglVertexStream1fATI) glBindExtension( 
     482                "glVertexStream1fATI" ); 
     483            glVertexStream1fvATI = cast(pfglVertexStream1fvATI) glBindExtension( 
     484                "glVertexStream1fvATI" ); 
     485            glVertexStream1dATI = cast(pfglVertexStream1dATI) glBindExtension( 
     486                "glVertexStream1dATI" ); 
     487            glVertexStream1dvATI = cast(pfglVertexStream1dvATI) glBindExtension( 
     488                "glVertexStream1dvATI" ); 
     489            glVertexStream2sATI = cast(pfglVertexStream2sATI) glBindExtension( 
     490                "glVertexStream2sATI" ); 
     491            glVertexStream2svATI = cast(pfglVertexStream2svATI) glBindExtension( 
     492                "glVertexStream2svATI" ); 
     493            glVertexStream2iATI = cast(pfglVertexStream2iATI) glBindExtension( 
     494                "glVertexStream2iATI" ); 
     495            glVertexStream2ivATI = cast(pfglVertexStream2ivATI) glBindExtension( 
     496                "glVertexStream2ivATI" ); 
     497            glVertexStream2fATI = cast(pfglVertexStream2fATI) glBindExtension( 
     498                "glVertexStream2fATI" ); 
     499            glVertexStream2fvATI = cast(pfglVertexStream2fvATI) glBindExtension( 
     500                "glVertexStream2fvATI" ); 
     501            glVertexStream2dATI = cast(pfglVertexStream2dATI) glBindExtension( 
     502                "glVertexStream2dATI" ); 
     503            glVertexStream2dvATI = cast(pfglVertexStream2dvATI) glBindExtension( 
     504                "glVertexStream2dvATI" ); 
     505            glVertexStream3sATI = cast(pfglVertexStream3sATI) glBindExtension( 
     506                "glVertexStream3sATI" ); 
     507            glVertexStream3svATI = cast(pfglVertexStream3svATI) glBindExtension( 
     508                "glVertexStream3svATI" ); 
     509            glVertexStream3iATI = cast(pfglVertexStream3iATI) glBindExtension( 
     510                "glVertexStream3iATI" ); 
     511            glVertexStream3ivATI = cast(pfglVertexStream3ivATI) glBindExtension( 
     512                "glVertexStream3ivATI" ); 
     513            glVertexStream3fATI = cast(pfglVertexStream3fATI) glBindExtension( 
     514                "glVertexStream3fATI" ); 
     515            glVertexStream3fvATI = cast(pfglVertexStream3fvATI) glBindExtension( 
     516                "glVertexStream3fvATI" ); 
     517            glVertexStream3dATI = cast(pfglVertexStream3dATI) glBindExtension( 
     518                "glVertexStream3dATI" ); 
     519            glVertexStream3dvATI = cast(pfglVertexStream3dvATI) glBindExtension( 
     520                "glVertexStream3dvATI" ); 
     521            glVertexStream4sATI = cast(pfglVertexStream4sATI) glBindExtension( 
     522                "glVertexStream4sATI" ); 
     523            glVertexStream4svATI = cast(pfglVertexStream4svATI) glBindExtension( 
     524                "glVertexStream4svATI" ); 
     525            glVertexStream4iATI = cast(pfglVertexStream4iATI) glBindExtension( 
     526                "glVertexStream4iATI" ); 
     527            glVertexStream4ivATI = cast(pfglVertexStream4ivATI) glBindExtension( 
     528                "glVertexStream4ivATI" ); 
     529            glVertexStream4fATI = cast(pfglVertexStream4fATI) glBindExtension( 
     530                "glVertexStream4fATI" ); 
     531            glVertexStream4fvATI = cast(pfglVertexStream4fvATI) glBindExtension( 
     532                "glVertexStream4fvATI" ); 
     533            glVertexStream4dATI = cast(pfglVertexStream4dATI) glBindExtension( 
     534                "glVertexStream4dATI" ); 
     535            glVertexStream4dvATI = cast(pfglVertexStream4dvATI) glBindExtension( 
     536                "glVertexStream4dvATI" ); 
     537            glNormalStream3bATI = cast(pfglNormalStream3bATI) glBindExtension( 
     538                "glNormalStream3bATI" ); 
     539            glNormalStream3bvATI = cast(pfglNormalStream3bvATI) glBindExtension( 
     540                "glNormalStream3bvATI" ); 
     541            glNormalStream3sATI = cast(pfglNormalStream3sATI) glBindExtension( 
     542                "glNormalStream3sATI" ); 
     543            glNormalStream3svATI = cast(pfglNormalStream3svATI) glBindExtension( 
     544                "glNormalStream3svATI" ); 
     545            glNormalStream3iATI = cast(pfglNormalStream3iATI) glBindExtension( 
     546                "glNormalStream3iATI" ); 
     547            glNormalStream3ivATI = cast(pfglNormalStream3ivATI) glBindExtension( 
     548                "glNormalStream3ivATI" ); 
     549            glNormalStream3fATI = cast(pfglNormalStream3fATI) glBindExtension( 
     550                "glNormalStream3fATI" ); 
     551            glNormalStream3fvATI = cast(pfglNormalStream3fvATI) glBindExtension( 
     552                "glNormalStream3fvATI" ); 
     553            glNormalStream3dATI = cast(pfglNormalStream3dATI) glBindExtension( 
     554                "glNormalStream3dATI" ); 
     555            glNormalStream3dvATI = cast(pfglNormalStream3dvATI) glBindExtension( 
     556                "glNormalStream3dvATI" ); 
     557            glClientActiveVertexStreamATI = cast(pfglClientActiveVertexStreamATI) glBindExtension( 
     558                "glClientActiveVertexStreamATI" ); 
     559            glVertexBlendEnviATI = cast(pfglVertexBlendEnviATI) glBindExtension( 
     560                "glVertexBlendEnviATI" ); 
     561            glVertexBlendEnvfATI = cast(pfglVertexBlendEnvfATI) glBindExtension( 
     562                "glVertexBlendEnvfATI" ); 
     563        }; 
     564    } 
     565
     566 
     567version ( GL_ATI_element_array ) { 
     568    enum : GLuint { 
    493569        GL_ELEMENT_ARRAY_ATI = 0x8768, 
    494570        GL_ELEMENT_ARRAY_TYPE_ATI = 0x8769, 
    495571        GL_ELEMENT_ARRAY_POINTER_ATI = 0x876A 
    496572    } 
    497      
    498     typedef GLvoid function(GLenum, GLvoid*) pfglElementPointerATI; 
    499     typedef GLvoid function(GLenum, GLsizei) pfglDrawElementArrayATI; 
    500     typedef GLvoid function(GLenum, GLuint, GLuint, GLsizei) pfglDrawRangeElementArrayATI; 
    501      
    502     extern(System) 
    503    
     573 
     574    typedef GLvoid function ( GLenum, GLvoid* ) pfglElementPointerATI; 
     575    typedef GLvoid function ( GLenum, GLsizei ) pfglDrawElementArrayATI; 
     576    typedef GLvoid function ( GLenum, GLuint, GLuint, GLsizei ) 
     577       pfglDrawRangeElementArrayATI; 
     578 
     579    extern ( System )
    504580        pfglElementPointerATI glElementPointerATI; 
    505581        pfglDrawElementArrayATI glDrawElementArrayATI; 
    506582        pfglDrawRangeElementArrayATI glDrawRangeElementArrayATI; 
    507583    } 
    508      
    509     static this() 
    510     { 
    511         glExtensions["GL_ATI_element_array"] = 
    512         { 
    513             glElementPointerATI = cast(pfglElementPointerATI)glBindExtension("glElementPointerATI"); 
    514             glDrawElementArrayATI = cast(pfglDrawElementArrayATI)glBindExtension("glDrawElementArrayATI"); 
    515             glDrawRangeElementArrayATI = cast(pfglDrawRangeElementArrayATI)glBindExtension("glDrawRangeElementArrayATI"); 
    516         }; 
    517     } 
    518 
    519  
    520 version(GL_ATI_text_fragment_shader) 
    521 
    522     enum:GLuint 
    523     { 
     584 
     585    static this() { 
     586        glExtensions[ "GL_ATI_element_array" ] = { 
     587            glElementPointerATI = cast(pfglElementPointerATI) glBindExtension( 
     588                "glElementPointerATI" ); 
     589            glDrawElementArrayATI = cast(pfglDrawElementArrayATI) glBindExtension( 
     590                "glDrawElementArrayATI" ); 
     591            glDrawRangeElementArrayATI = cast(pfglDrawRangeElementArrayATI) glBindExtension( 
     592                "glDrawRangeElementArrayATI" ); 
     593        }; 
     594    } 
     595
     596 
     597version ( GL_ATI_text_fragment_shader ) { 
     598    enum : GLuint { 
    524599        GL_TEXT_FRAGMENT_SHADER_ATI = 0x8200 
    525600    } 
    526601} 
    527602 
    528 version(GL_ATI_draw_buffers) 
    529 
    530     enum:GLuint 
    531     { 
     603version ( GL_ATI_draw_buffers ) { 
     604    enum : GLuint { 
    532605        GL_MAX_DRAW_BUFFERS_ATI = 0x8824, 
    533606        GL_DRAW_BUFFER0_ATI = 0x8825, 
     
    549622    } 
    550623 
    551     typedef GLvoid function(GLsizei, GLenum*) pfglDrawBuffersATI; 
    552      
    553     extern(System) 
    554     { 
     624    typedef GLvoid function ( GLsizei, GLenum* ) pfglDrawBuffersATI; 
     625 
     626    extern ( System ) { 
    555627        pfglDrawBuffersATI glDrawBuffersATI; 
    556628    } 
    557      
    558     static this() 
    559     { 
    560         glExtensions["GL_ATI_draw_buffers"] = 
    561         { 
    562             glDrawBuffersATI = cast(pfglDrawBuffersATI)glBindExtension("glDrawBuffersATI"); 
    563         }; 
    564     } 
    565 
    566  
    567 version(GL_ATI_pixel_format_float) 
    568 
    569     enum:GLuint 
    570     { 
     629 
     630    static this() { 
     631        glExtensions[ "GL_ATI_draw_buffers" ] = { 
     632            glDrawBuffersATI = cast(pfglDrawBuffersATI) glBindExtension( 
     633                "glDrawBuffersATI" ); 
     634        }; 
     635    } 
     636
     637 
     638version ( GL_ATI_pixel_format_float ) { 
     639    enum : GLuint { 
    571640        GL_TYPE_RGBA_FLOAT_ATI = 0x8820, 
    572641        GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI = 0x8835 
     
    574643} 
    575644 
    576 version(GL_ATI_texture_env_combine3) 
    577 
    578     enum:GLuint 
    579     { 
     645version ( GL_ATI_texture_env_combine3 ) { 
     646    enum : GLuint { 
    580647        GL_MODULATE_ADD_ATI = 0x8744, 
    581648        GL_MODULATE_SIGNED_ADD_ATI = 0x8745, 
     
    584651} 
    585652 
    586 version(GL_ATI_texture_float) 
    587 
    588     enum:GLuint 
    589     { 
     653version ( GL_ATI_texture_float ) { 
     654    enum : GLuint { 
    590655        GL_RGBA_FLOAT32_ATI = 0x8814, 
    591656        GL_RGB_FLOAT32_ATI = 0x8815, 
     
    603668} 
    604669 
    605 version(GL_ATI_map_object_buffer) 
    606 
    607     typedef GLvoid* function(GLuint) pfglMapObjectBufferATI; 
    608     typedef GLvoid function(GLuint) pfglUnmapObjectBufferATI; 
    609      
    610     extern(System) 
    611     { 
     670version ( GL_ATI_map_object_buffer ) { 
     671    typedef GLvoid* function ( GLuint ) pfglMapObjectBufferATI; 
     672    typedef GLvoid function ( GLuint ) pfglUnmapObjectBufferATI; 
     673 
     674    extern ( System ) { 
    612675        pfglMapObjectBufferATI glMapObjectBufferATI; 
    613676        pfglUnmapObjectBufferATI glUnmapObjectBufferATI; 
    614677    } 
    615      
    616     static this() 
    617     { 
    618         glExtensions["GL_ATI_map_object_buffer"] = 
    619         { 
    620             glMapObjectBufferATI = cast(pfglMapObjectBufferATI)glBindExtension("glMapObjectBufferATI"); 
    621             glUnmapObjectBufferATI = cast(pfglUnmapObjectBufferATI)glBindExtension("glUnmapObjectBufferATI"); 
    622         }; 
    623     } 
    624 
    625  
    626 version(GL_ATI_separate_stencil) 
    627 
    628     enum:GLuint 
    629     { 
     678 
     679    static this() { 
     680        glExtensions[ "GL_ATI_map_object_buffer" ] = { 
     681            glMapObjectBufferATI = cast(pfglMapObjectBufferATI) glBindExtension( 
     682                "glMapObjectBufferATI" ); 
     683            glUnmapObjectBufferATI = cast(pfglUnmapObjectBufferATI) glBindExtension( 
     684                "glUnmapObjectBufferATI" ); 
     685        }; 
     686    } 
     687
     688 
     689version ( GL_ATI_separate_stencil ) { 
     690    enum : GLuint { 
    630691        GL_STENCIL_BACK_FUNC_ATI = 0x8800, 
    631692        GL_STENCIL_BACK_FAIL_ATI = 0x8801, 
     
    633694        GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI = 0x8803 
    634695    } 
    635      
    636     typedef GLvoid function(GLenum, GLenum, GLenum, GLenum) pfglStencilOpSeparateATI; 
    637     typedef GLvoid function(GLenum, GLenum, GLint, GLuint) pfglStencilFuncSeparateATI; 
    638      
    639     extern(System) 
    640     { 
     696 
     697    typedef GLvoid function ( GLenum, GLenum, GLenum, GLenum ) 
     698        pfglStencilOpSeparateATI; 
     699    typedef GLvoid function ( GLenum, GLenum, GLint, GLuint ) 
     700        pfglStencilFuncSeparateATI; 
     701 
     702    extern ( System ) { 
    641703        pfglStencilOpSeparateATI glStencilOpSeparateATI; 
    642704        pfglStencilFuncSeparateATI glStencilFuncSeparateATI; 
    643705    } 
    644      
    645     static this() 
    646     { 
    647         glExtensions["GL_ATI_separate_stencil"] = 
    648         { 
    649             glStencilOpSeparateATI = cast(pfglStencilOpSeparateATI)glBindExtension("glStencilOpSeparateATI"); 
    650             glStencilFuncSeparateATI = cast(pfglStencilFuncSeparateATI)glBindExtension("glStencilFuncSeparateATI"); 
    651         }; 
    652     } 
    653 
    654  
    655 version(GL_ATI_vertex_attrib_array_object) 
    656 
    657     typedef GLvoid function(GLuint, GLint, GLenum, GLboolean, GLsizei, GLuint, GLuint) pfglVertexAttribArrayObjectATI; 
    658     typedef GLvoid function(GLuint, GLenum, GLfloat*) pfglGetVertexAttribArrayObjectfvATI; 
    659     typedef GLvoid function(GLuint, GLenum, GLint*) pfglGetVertexAttribArrayObjectivATI; 
    660      
    661     extern(System) 
    662     { 
     706 
     707    static this() { 
     708        glExtensions[ "GL_ATI_separate_stencil" ] = { 
     709            glStencilOpSeparateATI = cast(pfglStencilOpSeparateATI) glBindExtension( 
     710                "glStencilOpSeparateATI" ); 
     711            glStencilFuncSeparateATI = cast(pfglStencilFuncSeparateATI) glBindExtension( 
     712                "glStencilFuncSeparateATI" ); 
     713        }; 
     714    } 
     715
     716 
     717version ( GL_ATI_vertex_attrib_array_object ) { 
     718    typedef GLvoid function ( GLuint, GLint, GLenum, GLboolean, GLsizei, GLuint, GLuint ) 
     719        pfglVertexAttribArrayObjectATI; 
     720    typedef GLvoid function ( GLuint, GLenum, GLfloat* ) 
     721        pfglGetVertexAttribArrayObjectfvATI; 
     722    typedef GLvoid function ( GLuint, GLenum, GLint* ) 
     723        pfglGetVertexAttribArrayObjectivATI; 
     724 
     725    extern ( System ) { 
    663726        pfglVertexAttribArrayObjectATI glVertexAttribArrayObjectATI; 
    664727        pfglGetVertexAttribArrayObjectfvATI glGetVertexAttribArrayObjectfvATI; 
    665728        pfglGetVertexAttribArrayObjectivATI glGetVertexAttribArrayObjectivATI; 
    666729    } 
    667      
    668     static this() 
    669     { 
    670         glExtensions["GL_ATI_vertex_attrib_array_object"] = 
    671         { 
    672             glVertexAttribArrayObjectATI = cast(pfglVertexAttribArrayObjectATI)glBindExtension("glVertexAttribArrayObjectATI"); 
    673             glGetVertexAttribArrayObjectfvATI = cast(pfglGetVertexAttribArrayObjectfvATI)glBindExtension("glGetVertexAttribArrayObjectfvATI"); 
    674             glGetVertexAttribArrayObjectivATI = cast(pfglGetVertexAttribArrayObjectivATI)glBindExtension("glGetVertexAttribArrayObjectivATI"); 
    675         }; 
    676     } 
    677 
     730 
     731    static this() { 
     732        glExtensions[ "GL_ATI_vertex_attrib_array_object" ] = { 
     733            glVertexAttribArrayObjectATI = cast(pfglVertexAttribArrayObjectATI) glBindExtension( 
     734                "glVertexAttribArrayObjectATI" ); 
     735            glGetVertexAttribArrayObjectfvATI = cast(pfglGetVertexAttribArrayObjectfvATI) glBindExtension( 
     736                "glGetVertexAttribArrayObjectfvATI" ); 
     737            glGetVertexAttribArrayObjectivATI = cast(pfglGetVertexAttribArrayObjectivATI) glBindExtension( 
     738                "glGetVertexAttribArrayObjectivATI" ); 
     739        }; 
     740    } 
     741
  • trunk/src/uni/lib/renderers/gl/CgGL.d

    r18 r43  
    11/+ 
    22 
    3    Copyright (c) 2008, Trevor Parscal 
    4      
    5    Module:    Cg OpenGL API 
    6  
    7 +/ 
     3 Copyright (c) 2008, Trevor Parscal 
     4  
     5 Module:  Cg OpenGL API 
     6 
     7 +/ 
    88 
    99module uni.lib.renderers.gl.CgGL; 
     
    1111/* Imports and Pragmas */ 
    1212import uni.lib.renderers.Cg; 
    13 version(Windows) 
    14 
    15     pragma(lib, "cgGL.lib"); 
     13 
     14version ( Windows )
     15    pragma ( lib, "cgGL.lib" ); 
    1616} 
    17 version(linux) 
    18 
    19     version(build) pragma(link, "CgGL"); 
     17 
     18version ( linux ) { 
     19    version ( build ) 
     20        pragma ( link, "CgGL" ); 
    2021} 
    2122 
     
    2425 
    2526/* Enumerations */ 
    26 enum:uint 
    27 
     27enum : uint { 
    2828    CG_GL_MATRIX_IDENTITY = 0, 
    2929    CG_GL_MATRIX_TRANSPOSE = 1, 
     
    3939 
    4040/* Aliases */ 
    41 alias void function(void*, int, void*) CGGLFuncType2561; 
     41alias void function ( void*, int, void* ) CGGLFuncType2561; 
    4242alias CGGLFuncType2561 CGerrorHandlerFunc; 
    43 alias void function() CGGLFuncType2286; 
     43alias void function () CGGLFuncType2286; 
    4444alias CGGLFuncType2286 CGerrorCallbackFunc; 
    4545alias int CGbool; 
    46 alias int function(void*) CGGLFuncType2562; 
     46alias int function ( void* ) CGGLFuncType2562; 
    4747alias CGGLFuncType2562 CGstatecallback; 
    4848alias void* CGhandle; 
     
    5656alias void* CGprogram; 
    5757alias void* CGcontext; 
    58 alias void function(uint) CGGLFuncType2263; 
    59 alias void function(uint, uint, uint, int*, int*, int) CGGLFuncType2264; 
    60 alias void function(uint, int*, int*, int) CGGLFuncType2265; 
    61 alias void function(uint, uint, uint, int, int) CGGLFuncType2266; 
    62 alias void function(uint, int, int) CGGLFuncType2267; 
    63 alias void function(uint, void*) CGGLFuncType2268; 
    64 alias void function(int, void*) CGGLFuncType2269; 
    65 alias void function(uint, uint, uint, int*) CGGLFuncType2270; 
    66 alias void function(uint, uint, uint, uint) CGGLFuncType2271; 
    67 alias void function(uint, uint, uint, uint, int, int) CGGLFuncType2272; 
    68 alias void function(uint, uint, uint, uint, int) CGGLFuncType2273; 
    69 alias uint function(uint) CGGLFuncType2274; 
    70 alias void function(int, uint*) CGGLFuncType2275; 
    71 alias void function(int, uint*) CGGLFuncType2276; 
    72 alias void function(uint, uint) CGGLFuncType2277; 
    73 alias char function(uint) CGGLFuncType2278; 
    74 alias void function(uint, uint, int*) CGGLFuncType2279; 
    75 alias void function(uint, uint, int, int) CGGLFuncType2280; 
    76 alias void function(double, double) CGGLFuncType2281; 
    77 alias void function(uint, uint, float*) CGGLFuncType2282; 
    78 alias void function(uint, int, uint, char, int, uint, uint) CGGLFuncType2283; 
    79 alias void function(uint, uint, int, uint) CGGLFuncType2284; 
    80 alias void* function(uint) CGGLFuncType2285; 
    81 alias void function(uint, int, void*) CGGLFuncType2287; 
    82 alias void function(uint, int, ushort*) CGGLFuncType2288; 
    83 alias void function(uint, ushort*) CGGLFuncType2289; 
    84 alias void function(uint, ushort, ushort, ushort, ushort) CGGLFuncType2290; 
    85 alias void function(uint, ushort, ushort, ushort) CGGLFuncType2291; 
    86 alias void function(uint, ushort, ushort) CGGLFuncType2292; 
    87 alias void function(uint, ushort) CGGLFuncType2293; 
    88 alias void function(ushort*) CGGLFuncType2294; 
    89 alias void function(ushort) CGGLFuncType2295; 
    90 alias void function(ushort, ushort, ushort) CGGLFuncType2296; 
    91 alias void function(ushort, ushort, ushort, ushort) CGGLFuncType2297; 
    92 alias void function(ushort, ushort) CGGLFuncType2298; 
    93 alias void function(uint, int, char*, double*) CGGLFuncType2299; 
    94 alias void function(uint, int, char*, float*) CGGLFuncType2300; 
    95 alias void function(uint, int, char*, double*) CGGLFuncType2301; 
    96 alias void function(uint, int, char*, float*) CGGLFuncType2302; 
    97 alias void function(uint, int, char*, double, double, double, double) CGGLFuncType2303; 
    98 alias void function(uint, int, char*, float, float, float, float) CGGLFuncType2304; 
    99 alias void function(int, uint*) CGGLFuncType2305; 
    100 alias void function(uint, int) CGGLFuncType2306; 
    101 alias void function(int, void*) CGGLFuncType2307; 
    102 alias char function(uint, uint) CGGLFuncType2308; 
    103 alias void function(uint, int*) CGGLFuncType2309; 
    104 alias void function(uint, uint, uint*) CGGLFuncType2310; 
    105 alias void function(uint, int, int, int) CGGLFuncType2311; 
    106 alias void function(uint, uint, uint, int) CGGLFuncType2312; 
    107 alias void function(uint, float) CGGLFuncType2313; 
    108 alias void function(uint, double*) CGGLFuncType2314; 
    109 alias void function(uint, double, double, double) CGGLFuncType2315; 
    110 alias void function(uint, float*) CGGLFuncType2316; 
    111 alias void function(uint, float, float, float) CGGLFuncType2317; 
    112 alias void function(uint, short*) CGGLFuncType2318; 
    113 alias void function(uint, short, short, short) CGGLFuncType2319; 
    114 alias void function(uint, char*) CGGLFuncType2320; 
    115 alias void function(uint, char, char, char) CGGLFuncType2321; 
    116 alias void function(uint, double, double, double, double) CGGLFuncType2322; 
    117 alias void function(uint, float, float, float, float) CGGLFuncType2323; 
    118 alias void function(uint, int, int, int, int) CGGLFuncType2324; 
    119 alias void function(uint, short, short, short, short) CGGLFuncType2325; 
    120 alias void function(uint, double, double) CGGLFuncType2326; 
    121 alias void function(uint, float, float) CGGLFuncType2327; 
    122 alias void function(uint, short, short) CGGLFuncType2328; 
    123 alias void function(uint, double) CGGLFuncType2329; 
    124 alias void function(uint, short) CGGLFuncType2330; 
    125 alias void function(uint, uint, char*) CGGLFuncType2331; 
    126 alias void function(uint, uint, void** ) CGGLFuncType2332; 
    127 alias uint function(uint) CGGLFuncType2333; 
    128 alias uint function(uint, uint) CGGLFuncType2334; 
    129 alias uint function(uint, uint, uint) CGGLFuncType2335; 
    130 alias void function(uint, uint, uint, void*) CGGLFuncType2336; 
    131 alias void function(uint, uint*) CGGLFuncType2337; 
    132 alias void function(uint, ushort*) CGGLFuncType2338; 
    133 alias void function(uint, char*) CGGLFuncType2339; 
    134 alias void function(uint, uint, void*) CGGLFuncType2340; 
    135 alias uint function(uint, uint, uint, uint) CGGLFuncType2341; 
    136 alias void function(uint, uint, uint) CGGLFuncType2342; 
    137 alias void function(uint, uint, uint, uint, uint, uint) CGGLFuncType2343; 
    138 alias void function(uint, uint, uint, uint, uint) CGGLFuncType2344; 
    139 alias void function(uint, uint, int, uint, uint) CGGLFuncType2345; 
    140 alias void function(uint, int, uint, int, uint, uint) CGGLFuncType2346; 
    141 alias void function(uint, uint, int, void*, uint) CGGLFuncType2347; 
    142 alias uint function(int, void*, uint) CGGLFuncType2348; 
    143 alias void function(uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint) CGGLFuncType2349; 
    144 alias void function(uint, uint, uint, uint, uint, uint, uint, uint, uint) CGGLFuncType2350; 
    145 alias void function(uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint) CGGLFuncType2351; 
    146 alias void function(uint, uint, uint, uint, uint, uint, uint, uint, uint, uint) CGGLFuncType2352; 
    147 alias void function(uint, uint, uint, uint, uint, uint, uint) CGGLFuncType2353; 
    148 alias void function(uint, float*) CGGLFuncType2354; 
    149 alias void function(uint, int*) CGGLFuncType2355; 
    150 alias void function(uint, int, char*) CGGLFuncType2356; 
    151 alias void function(uint, int, short*) CGGLFuncType2357; 
    152 alias void function(uint, int, float*) CGGLFuncType2358; 
    153 alias void function(uint, int, double*) CGGLFuncType2359; 
    154 alias void function(uint, char, char, char, char) CGGLFuncType2360; 
    155 alias void function(uint, int, uint, int, void*) CGGLFuncType2361; 
    156 alias void function(uint, uint, uint, float*) CGGLFuncType2362; 
    157 alias void function(uint, uint, uint, double*) CGGLFuncType2363; 
    158 alias void function(uint, uint, float*) CGGLFuncType2364; 
    159 alias void function(uint, uint, float, float, float, float) CGGLFuncType2365; 
    160 alias void function(uint, uint, double*) CGGLFuncType2366; 
    161 alias void function(uint, uint, double, double, double, double) CGGLFuncType2367; 
    162 alias void function(uint, uint, int, char*) CGGLFuncType2368; 
    163 alias void function(uint, uint, double*) CGGLFuncType2369; 
    164 alias void function(uint, uint, char*) CGGLFuncType2370; 
    165 alias void function(uint, uint, uint, float*) CGGLFuncType2371; 
    166 alias void function(uint, uint, uint, double*) CGGLFuncType2372; 
    167 alias char function(int, uint*, char*) CGGLFuncType2373; 
    168 alias void function(uint, uint, uint, int, int, char, void*) CGGLFuncType2374; 
    169 alias void function(uint, uint, int*) CGGLFuncType2375; 
    170 alias void function(uint, uint, uint, int, int, int, int, char, void*) CGGLFuncType2376; 
    171 alias void function(char, char, char, char) CGGLFuncType2377; 
    172 alias void function(float, char) CGGLFuncType2378; 
    173 alias void function(int, uint, int, void**, int) CGGLFuncType2379; 
    174 alias void function(uint, int, void**, int) CGGLFuncType2380; 
    175 alias void function(int, char**, int) CGGLFuncType2381; 
    176 alias void function(uint*, int*, uint, void**, int, int) CGGLFuncType2382; 
    177 alias void function(uint*, int*, int*, int, int) CGGLFuncType2383; 
    178 alias void function(short*) CGGLFuncType2384; 
    179 alias void function(short, short, short, short) CGGLFuncType2385; 
    180 alias void function(int*) CGGLFuncType2386; 
    181 alias void function(int, int, int, int) CGGLFuncType2387; 
    182 alias void function(float*) CGGLFuncType2388; 
    183 alias void function(float, float, float, float) CGGLFuncType2389; 
    184 alias void function(double*) CGGLFuncType2390; 
    185 alias void function(double, double, double, double) CGGLFuncType2391; 
    186 alias void function(short, short, short) CGGLFuncType2392; 
    187 alias void function(int, int, int) CGGLFuncType2393; 
    188 alias void function(float, float, float) CGGLFuncType2394; 
    189 alias void function(double, double, double) CGGLFuncType2395; 
    190 alias void function(short, short) CGGLFuncType2396; 
    191 alias void function(int, int) CGGLFuncType2397; 
    192 alias void function(float, float) CGGLFuncType2398; 
    193 alias void function(uint, uint, uint, uint, int*) CGGLFuncType2399; 
    194 alias void function(uint, uint, uint, uint, float*) CGGLFuncType2400; 
    195 alias void function(uint, uint, uint, uint, uint, uint, uint, char, char, char) CGGLFuncType2401; 
    196 alias void function(int, uint, int, void*) CGGLFuncType2402; 
    197 alias void function(float) CGGLFuncType2403; 
    198 alias void function(uint*, float*, float*, float*, float*) CGGLFuncType2404; 
    199 alias void function(uint, float, float, float, float, float, float, float, float, float, float, float, float) CGGLFuncType2405; 
    200 alias void function(uint*, float*, float*, float*) CGGLFuncType2406; 
    201 alias void function(uint, float, float, float, float, float, float, float, float) CGGLFuncType2407; 
    202 alias void function(uint*, float*, float*) CGGLFuncType2408; 
    203 alias void function(uint, float, float, float, float, float) CGGLFuncType2409; 
    204 alias void function(uint, float, float, float, float, float, float, float, float, float, float) CGGLFuncType2410; 
    205 alias void function(uint, float, float, float, float, float, float) CGGLFuncType2411; 
    206 alias void function(uint*, char*, float*) CGGLFuncType2412; 
    207 alias void function(uint, char, char, char, char, float, float, float) CGGLFuncType2413; 
    208 alias void function(uint*, float*) CGGLFuncType2414; 
    209 alias void function(float*, float*, float*, float*) CGGLFuncType2415; 
    210 alias void function(float, float, float, float, float, float, float, float, float, float, float, float, float, float, float) CGGLFuncType2416; 
    211 alias void function(float, float, float, float, float, float, float, float, float, float, float, float) CGGLFuncType2417; 
    212 alias void function(float*, float*, float*) CGGLFuncType2418; 
    213 alias void function(float, float, float, float, float, float, float, float) CGGLFuncType2419; 
    214 alias void function(float*, char*, float*) CGGLFuncType2420; 
    215 alias void function(float, float, char, char, char, char, float, float, float) CGGLFuncType2421; 
    216 alias void function(float*, float*) CGGLFuncType2422; 
    217 alias void function(float, float, float, float, float) CGGLFuncType2423; 
    218 alias void function(float, float, float, float, float, float, float, float, float, float) CGGLFuncType2424; 
    219 alias void function(float, float, float, float, float, float) CGGLFuncType2425; 
    220 alias void function(char*, float*) CGGLFuncType2426; 
    221 alias void function(char, char, char, char, float, float, float) CGGLFuncType2427; 
    222 alias void function(char, char, char, char, float, float) CGGLFuncType2428; 
    223 alias void function(uint, int, void** ) CGGLFuncType2429; 
    224 alias void function(char*) CGGLFuncType2430; 
    225 alias void function(ushort*) CGGLFuncType2431; 
    226 alias void function(uint*) CGGLFuncType2432; 
    227 alias void function(char) CGGLFuncType2433; 
    228 alias void function(double) CGGLFuncType2434; 
    229 alias void function(int) CGGLFuncType2435; 
    230 alias void function(short) CGGLFuncType2436; 
    231 alias void function(char) CGGLFuncType2437; 
    232 alias void function(uint, int, void*) CGGLFuncType2438; 
    233 alias void function(char*) CGGLFuncType2439; 
    234 alias void function(char, char, char) CGGLFuncType2440; 
    235 alias void function(uint, int*, uint, void**, int) CGGLFuncType2441; 
    236 alias void function(uint, int*, int*, int) CGGLFuncType2442; 
    237 alias void function(char, char, char) CGGLFuncType2443; 
    238 alias void function(uint, uint, float) CGGLFuncType2444; 
    239 alias void function(uint, uint, int) CGGLFuncType2445; 
    240 alias void function(int, uint, void** ) CGGLFuncType2446; 
    241 alias void function(uint, void** ) CGGLFuncType2447; 
    242 alias uint function(int) CGGLFuncType2448; 
    243 alias int function(uint*) CGGLFuncType2449; 
    244 alias void function(uint, uint, uint, int, uint, void*) CGGLFuncType2450; 
    245 alias void function(uint, double*) CGGLFuncType2451; 
    246 alias void function(uint, uint, uint, void*) CGGLFuncType2452; 
    247 alias void function(uint, uint, int, uint, uint, void*) CGGLFuncType2453; 
    248 alias void function(uint, int, int, uint, uint, void*) CGGLFuncType2454; 
    249 alias void function(float*) CGGLFuncType2455; 
    250 alias void function(int, float*) CGGLFuncType2456; 
    251 alias void function(uint, float, float, int, int, float, float, int, int, float, float, int, int, float*) CGGLFuncType2457; 
    252 alias void function(uint, double, double, int, int, double, double, int, int, double, double, int, int, double*) CGGLFuncType2458; 
    253 alias int function(int*) CGGLFuncType2459; 
    254 alias void function(int, int*) CGGLFuncType2460; 
    255 alias int function() CGGLFuncType2461; 
    256 alias void function(int, uint, int, int, void*) CGGLFuncType2462; 
    257 alias void function(uint, int, int, void*) CGGLFuncType2463; 
    258 alias void function(uint, void** ) CGGLFuncType2464; 
    259 alias void function(int, int, char*) CGGLFuncType2465; 
    260 alias void function(int, uint*, float*) CGGLFuncType2466; 
    261 alias void function(uint, int, int, int, int, int, int, int, int, int, uint, uint, void*) CGGLFuncType2467; 
    262 alias void function(uint, int, uint, int, int, int, int, int, uint, uint, void*) CGGLFuncType2468; 
    263 alias void function(uint, uint, int, int, int) CGGLFuncType2469; 
    264 alias void function(uint, uint, int, int, uint, uint, void*, void*) CGGLFuncType2470; 
    265 alias void function(uint, uint, uint, void*, void*, void*) CGGLFuncType2471; 
    266 alias void function(uint, uint, int, int, int, int) CGGLFuncType2472; 
    267 alias void function(uint, uint, int, int, uint, uint, void*) CGGLFuncType2473; 
    268 alias void function(uint, uint, char) CGGLFuncType2474; 
    269 alias void function(uint, int, uint, char) CGGLFuncType2475; 
    270 alias void function(uint, char, uint, uint, void*) CGGLFuncType2476; 
    271 alias void function(uint, int, int, int, int, int, int, int, int) CGGLFuncType2477; 
    272 alias void function(uint, int, int, int, int, int, int, int) CGGLFuncType2478; 
    273 alias void function(uint, int, int, int, int, int) CGGLFuncType2479; 
    274 alias void function(uint, int, uint, int, int, int, int, int) CGGLFuncType2480; 
    275 alias void function(uint, int, uint, int, int, int, int) CGGLFuncType2481; 
    276 alias void function(uint, int, int, int, int, int, uint, uint, void*) CGGLFuncType2482; 
    277 alias void function(uint, int, int, int, uint, uint, void*) CGGLFuncType2483; 
    278 alias void function(uint, uint, int, float*) CGGLFuncType2484; 
    279 alias void function(uint, int, int, int, int, int, int, int, uint, uint, void*) CGGLFuncType2485; 
    280 alias void function(uint, int, uint, int, int, int, int, uint, uint, void*) CGGLFuncType2486; 
    281 alias int function(uint, char*) CGGLFuncType2487; 
    282 alias void function(uint, uint, int, int*, int*, uint*, char*) CGGLFuncType2488; 
    283 alias void function(uint, uint, char*) CGGLFuncType2489; 
    284 alias void function(uint, int, int*, char*) CGGLFuncType2490; 
    285 alias void function(uint, int, int*) CGGLFuncType2491; 
    286 alias void function(uint, int, float*) CGGLFuncType2492; 
    287 alias void function(uint, int, int*, uint*) CGGLFuncType2493; 
    288 alias void function(int, int, char, float*) CGGLFuncType2494; 
    289 alias void function(int, int, int*) CGGLFuncType2495; 
    290 alias void function(int, int, float*) CGGLFuncType2496; 
    291 alias void function(int, int, int, int, int) CGGLFuncType2497; 
    292 alias void function(int, float, float, float, float) CGGLFuncType2498; 
    293 alias void function(int, float, float, float) CGGLFuncType2499; 
    294 alias void function(int, float, float) CGGLFuncType2500; 
    295 alias void function(int, float) CGGLFuncType2501; 
    296 alias uint function() CGGLFuncType2502; 
    297 alias void function(uint, int, char**, int*) CGGLFuncType2503; 
    298 alias uint function(uint) CGGLFuncType2504; 
    299 alias void* function(uint, uint) CGGLFuncType2505; 
    300 alias void function(uint, int, int, void*) CGGLFuncType2506; 
    301 alias void function(uint, int, void*, uint) CGGLFuncType2507; 
    302 alias void function(uint, uint, void*) CGGLFuncType2508; 
    303 alias void function(uint, uint, int, void*) CGGLFuncType2509; 
    304 alias void function(uint, int, uint, char, int, void*) CGGLFuncType2510; 
    305 alias void function(int, ushort*) CGGLFuncType2511; 
    306 alias void function(int, char*) CGGLFuncType2512; 
    307 alias void function(int, double*) CGGLFuncType2513; 
    308 alias void function(int, int*) CGGLFuncType2514; 
    309 alias void function(int, short*) CGGLFuncType2515; 
    310 alias void function(int, char*) CGGLFuncType2516; 
    311 alias void function(uint, int, int, int, uint, int, void*) CGGLFuncType2517; 
    312 alias void function(uint, int, int, int, int, int, uint, int, void*) CGGLFuncType2518; 
    313 alias void function(uint, int, int, int, int, int, int, int, uint, int, void*) CGGLFuncType2519; 
    314 alias void function(uint, int, uint, int, int, int, void*) CGGLFuncType2520; 
    315 alias void function(uint, int, uint, int, int, int, int, void*) CGGLFuncType2521; 
    316 alias void function(uint, int, uint, int, int, int, int, int, void*) CGGLFuncType2522; 
    317 alias void function(uint, int, char**, int*) CGGLFuncType2523; 
    318 alias int function(uint, char*) CGGLFuncType2524; 
    319 alias void function(uint, int, int*, char*) CGGLFuncType2525; 
    320 alias void function(uint, int, int*, uint*) CGGLFuncType2526; 
    321 alias void function(uint, uint, int, int*, int*, uint*, char*) CGGLFuncType2527; 
    322 alias uint function() CGGLFuncType2528; 
    323 alias void function(uint, uint, char*) CGGLFuncType2529; 
    324 alias void function(uint, int, int, int, int, int, int, uint, uint, void*) CGGLFuncType2530; 
     58alias void function ( uint ) CGGLFuncType2263; 
     59alias void function ( uint, uint, uint, int*, int*, int ) CGGLFuncType2264; 
     60alias void function ( uint, int*, int*, int ) CGGLFuncType2265; 
     61alias void function ( uint, uint, uint, int, int ) CGGLFuncType2266; 
     62alias void function ( uint, int, int ) CGGLFuncType2267; 
     63alias void function ( uint, void* ) CGGLFuncType2268; 
     64alias void function ( int, void* ) CGGLFuncType2269; 
     65alias void function ( uint, uint, uint, int* ) CGGLFuncType2270; 
     66alias void function ( uint, uint, uint, uint ) CGGLFuncType2271; 
     67alias void function ( uint, uint, uint, uint, int, int ) CGGLFuncType2272; 
     68alias void function ( uint, uint, uint, uint, int ) CGGLFuncType2273; 
     69alias uint function ( uint ) CGGLFuncType2274; 
     70alias void function ( int, uint* ) CGGLFuncType2275; 
     71alias void function ( int, uint* ) CGGLFuncType2276; 
     72alias void function ( uint, uint ) CGGLFuncType2277; 
     73alias char function ( uint ) CGGLFuncType2278; 
     74alias void function ( uint, uint, int* ) CGGLFuncType2279; 
     75alias void function ( uint, uint, int, int ) CGGLFuncType2280; 
     76alias void function ( double, double ) CGGLFuncType2281; 
     77alias void function ( uint, uint, float* ) CGGLFuncType2282; 
     78alias void function ( uint, int, uint, char, int, uint, uint ) CGGLFuncType2283; 
     79alias void function ( uint, uint, int, uint ) CGGLFuncType2284; 
     80alias void* function ( uint ) CGGLFuncType2285; 
     81alias void function ( uint, int, void* ) CGGLFuncType2287; 
     82alias void function ( uint, int, ushort* ) CGGLFuncType2288; 
     83alias void function ( uint, ushort* ) CGGLFuncType2289; 
     84alias void function ( uint, ushort, ushort, ushort, ushort ) CGGLFuncType2290; 
     85alias void function ( uint, ushort, ushort, ushort ) CGGLFuncType2291; 
     86alias void function ( uint, ushort, ushort ) CGGLFuncType2292; 
     87alias void function ( uint, ushort ) CGGLFuncType2293; 
     88alias void function ( ushort* ) CGGLFuncType2294; 
     89alias void function ( ushort ) CGGLFuncType2295; 
     90alias void function ( ushort, ushort, ushort ) CGGLFuncType2296; 
     91alias void function ( ushort, ushort, ushort, ushort ) CGGLFuncType2297; 
     92alias void function ( ushort, ushort ) CGGLFuncType2298; 
     93alias void function ( uint, int, char*, double* ) CGGLFuncType2299; 
     94alias void function ( uint, int, char*, float* ) CGGLFuncType2300; 
     95alias void function ( uint, int, char*, double* ) CGGLFuncType2301; 
     96alias void function ( uint, int, char*, float* ) CGGLFuncType2302; 
     97alias void function ( uint, int, char*, double, double, double, double ) 
     98    CGGLFuncType2303; 
     99alias void function ( uint, int, char*, float, float, float, float ) 
     100    CGGLFuncType2304; 
     101alias void function ( int, uint* ) CGGLFuncType2305; 
     102alias void function ( uint, int ) CGGLFuncType2306; 
     103alias void function ( int, void* ) CGGLFuncType2307; 
     104alias char function ( uint, uint ) CGGLFuncType2308; 
     105alias void function ( uint, int* ) CGGLFuncType2309; 
     106alias void function ( uint, uint, uint* ) CGGLFuncType2310; 
     107alias void function ( uint, int, int, int ) CGGLFuncType2311; 
     108alias void function ( uint, uint, uint, int ) CGGLFuncType2312; 
     109alias void function ( uint, float ) CGGLFuncType2313; 
     110alias void function ( uint, double* ) CGGLFuncType2314; 
     111alias void function ( uint, double, double, double ) CGGLFuncType2315; 
     112alias void function ( uint, float* ) CGGLFuncType2316; 
     113alias void function ( uint, float, float, float ) CGGLFuncType2317; 
     114alias void function ( uint, short* ) CGGLFuncType2318; 
     115alias void function ( uint, short, short, short ) CGGLFuncType2319; 
     116alias void function ( uint, char* ) CGGLFuncType2320; 
     117alias void function ( uint, char, char, char ) CGGLFuncType2321; 
     118alias void function ( uint, double, double, double, double ) CGGLFuncType2322; 
     119alias void function ( uint, float, float, float, float ) CGGLFuncType2323; 
     120alias void function ( uint, int, int, int, int ) CGGLFuncType2324; 
     121alias void function ( uint, short, short, short, short ) CGGLFuncType2325; 
     122alias void function ( uint, double, double ) CGGLFuncType2326; 
     123alias void function ( uint, float, float ) CGGLFuncType2327; 
     124alias void function ( uint, short, short ) CGGLFuncType2328; 
     125alias void function ( uint, double ) CGGLFuncType2329; 
     126alias void function ( uint, short ) CGGLFuncType2330; 
     127alias void function ( uint, uint, char* ) CGGLFuncType2331; 
     128alias void function ( uint, uint, void** ) CGGLFuncType2332; 
     129alias uint function ( uint ) CGGLFuncType2333; 
     130alias uint function ( uint, uint ) CGGLFuncType2334; 
     131alias uint function ( uint, uint, uint ) CGGLFuncType2335; 
     132alias void function ( uint, uint, uint, void* ) CGGLFuncType2336; 
     133alias void function ( uint, uint* ) CGGLFuncType2337; 
     134alias void function ( uint, ushort* ) CGGLFuncType2338; 
     135alias void function ( uint, char* ) CGGLFuncType2339; 
     136alias void function ( uint, uint, void* ) CGGLFuncType2340; 
     137alias uint function ( uint, uint, uint, uint ) CGGLFuncType2341; 
     138alias void function ( uint, uint, uint ) CGGLFuncType2342; 
     139alias void function ( uint, uint, uint, uint, uint, uint ) CGGLFuncType2343; 
     140alias void function ( uint, uint, uint, uint, uint ) CGGLFuncType2344; 
     141alias void function ( uint, uint, int, uint, uint ) CGGLFuncType2345; 
     142alias void function ( uint, int, uint, int, uint, uint ) CGGLFuncType2346; 
     143alias void function ( uint, uint, int, void*, uint ) CGGLFuncType2347; 
     144alias uint function ( int, void*, uint ) CGGLFuncType2348; 
     145alias void function ( uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint ) 
     146    CGGLFuncType2349; 
     147alias void function ( uint, uint, uint, uint, uint, uint, uint, uint, uint ) 
     148    CGGLFuncType2350; 
     149alias void function ( uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint ) 
     150    CGGLFuncType2351; 
     151alias void function ( uint, uint, uint, uint, uint, uint, uint, uint, uint, uint ) 
     152    CGGLFuncType2352; 
     153alias void function ( uint, uint, uint, uint, uint, uint, uint ) 
     154    CGGLFuncType2353; 
     155alias void function ( uint, float* ) CGGLFuncType2354; 
     156alias void function ( uint, int* ) CGGLFuncType2355; 
     157alias void function ( uint, int, char* ) CGGLFuncType2356; 
     158alias void function ( uint, int, short* ) CGGLFuncType2357; 
     159alias void function ( uint, int, float* ) CGGLFuncType2358; 
     160alias void function ( uint, int, double* ) CGGLFuncType2359; 
     161alias void function ( uint, char, char, char, char ) CGGLFuncType2360; 
     162alias void function ( uint, int, uint, int, void* ) CGGLFuncType2361; 
     163alias void function ( uint, uint, uint, float* ) CGGLFuncType2362; 
     164alias void function ( uint, uint, uint, double* ) CGGLFuncType2363; 
     165alias void function ( uint, uint, float* ) CGGLFuncType2364; 
     166alias void function ( uint, uint, float, float, float, float ) CGGLFuncType2365; 
     167alias void function ( uint, uint, double* ) CGGLFuncType2366; 
     168alias void function ( uint, uint, double, double, double, double ) 
     169    CGGLFuncType2367; 
     170alias void function ( uint, uint, int, char* ) CGGLFuncType2368; 
     171alias void function ( uint, uint, double* ) CGGLFuncType2369; 
     172alias void function ( uint, uint, char* ) CGGLFuncType2370; 
     173alias void function ( uint, uint, uint, float* ) CGGLFuncType2371; 
     174alias void function ( uint, uint, uint, double* ) CGGLFuncType2372; 
     175alias char function ( int, uint*, char* ) CGGLFuncType2373; 
     176alias void function ( uint, uint, uint, int, int, char, void* ) 
     177    CGGLFuncType2374; 
     178alias void function ( uint, uint, int* ) CGGLFuncType2375; 
     179alias void function ( uint, uint, uint, int, int, int, int, char, void* ) 
     180    CGGLFuncType2376; 
     181alias void function ( char, char, char, char ) CGGLFuncType2377; 
     182alias void function ( float, char ) CGGLFuncType2378; 
     183alias void function ( int, uint, int, void**, int ) CGGLFuncType2379; 
     184alias void function ( uint, int, void**, int ) CGGLFuncType2380; 
     185alias void function ( int, char**, int ) CGGLFuncType2381; 
     186alias void function ( uint*, int*, uint, void**, int, int ) CGGLFuncType2382; 
     187alias void function ( uint*, int*, int*, int, int ) CGGLFuncType2383; 
     188alias void function ( short* ) CGGLFuncType2384; 
     189alias void function ( short, short, short, short ) CGGLFuncType2385; 
     190alias void function ( int* ) CGGLFuncType2386; 
     191alias void function ( int, int, int, int ) CGGLFuncType2387; 
     192alias void function ( float* ) CGGLFuncType2388; 
     193alias void function ( float, float, float, float ) CGGLFuncType2389; 
     194alias void function ( double* ) CGGLFuncType2390; 
     195alias void function ( double, double, double, double ) CGGLFuncType2391; 
     196alias void function ( short, short, short ) CGGLFuncType2392; 
     197alias void function ( int, int, int ) CGGLFuncType2393; 
     198alias void function ( float, float, float ) CGGLFuncType2394; 
     199alias void function ( double, double, double ) CGGLFuncType2395; 
     200alias void function ( short, short ) CGGLFuncType2396; 
     201alias void function ( int, int ) CGGLFuncType2397; 
     202alias void function ( float, float ) CGGLFuncType2398; 
     203alias void function ( uint, uint, uint, uint, int* ) CGGLFuncType2399; 
     204alias void function ( uint, uint, uint, uint, float* ) CGGLFuncType2400; 
     205alias void function ( uint, uint, uint, uint, uint, uint, uint, char, char, char ) 
     206    CGGLFuncType2401; 
     207alias void function ( int, uint, int, void* ) CGGLFuncType2402; 
     208alias void function ( float ) CGGLFuncType2403; 
     209alias void function ( uint*, float*, float*, float*, float* ) CGGLFuncType2404; 
     210alias void function ( uint, float, float, float, float, float, float, float, float, float, float, float, float ) 
     211    CGGLFuncType2405; 
     212alias void function ( uint*, float*, float*, float* ) CGGLFuncType2406; 
     213alias void function ( uint, float, float, float, float, float, float, float, float ) 
     214    CGGLFuncType2407; 
     215alias void function ( uint*, float*, float* ) CGGLFuncType2408; 
     216alias void function ( uint, float, float, float, float, float ) 
     217    CGGLFuncType2409; 
     218alias void function ( uint, float, float, float, float, float, float, float, float, float, float ) 
     219    CGGLFuncType2410; 
     220alias void function ( uint, float, float, float, float, float, float ) 
     221    CGGLFuncType2411; 
     222alias void function ( uint*, char*, float* ) CGGLFuncType2412; 
     223alias void function ( uint, char, char, char, char, float, float, float ) 
     224    CGGLFuncType2413; 
     225alias void function ( uint*, float* ) CGGLFuncType2414; 
     226alias void function ( float*, float*, float*, float* ) CGGLFuncType2415; 
     227alias void function ( float, float, float, float, float, float, float, float, float, float, float, float, float, float, float ) 
     228    CGGLFuncType2416; 
     229alias void function ( float, float, float, float, float, float, float, float, float, float, float, float ) 
     230    CGGLFuncType2417; 
     231alias void function ( float*, float*, float* ) CGGLFuncType2418; 
     232alias void function ( float, float, float, float, float, float, float, float ) 
     233    CGGLFuncType2419; 
     234alias void function ( float*, char*, float* ) CGGLFuncType2420; 
     235alias void function ( float, float, char, char, char, char, float, float, float ) 
     236    CGGLFuncType2421; 
     237alias void function ( float*, float* ) CGGLFuncType2422; 
     238alias void function ( float, float, float, float, float ) CGGLFuncType2423; 
     239alias void function ( float, float, float, float, float, float, float, float, float, float ) 
     240    CGGLFuncType2424; 
     241alias void function ( float, float, float, float, float, float ) 
     242    CGGLFuncType2425; 
     243alias void function ( char*, float* ) CGGLFuncType2426; 
     244alias void function ( char, char, char, char, float, float, float ) 
     245    CGGLFuncType2427; 
     246alias void function ( char, char, char, char, float, float ) CGGLFuncType2428; 
     247alias void function ( uint, int, void** ) CGGLFuncType2429; 
     248alias void function ( char* ) CGGLFuncType2430; 
     249alias void function ( ushort* ) CGGLFuncType2431; 
     250alias void function ( uint* ) CGGLFuncType2432; 
     251alias void function ( char ) CGGLFuncType2433; 
     252alias void function ( double ) CGGLFuncType2434; 
     253alias void function ( int ) CGGLFuncType2435; 
     254alias void function ( short ) CGGLFuncType2436; 
     255alias void function ( char ) CGGLFuncType2437; 
     256alias void function ( uint, int, void* ) CGGLFuncType2438; 
     257alias void function ( char* ) CGGLFuncType2439; 
     258alias void function ( char, char, char ) CGGLFuncType2440; 
     259alias void function ( uint, int*, uint, void**, int ) CGGLFuncType2441; 
     260alias void function ( uint, int*, int*, int ) CGGLFuncType2442; 
     261alias void function ( char, char, char ) CGGLFuncType2443; 
     262alias void function ( uint, uint, float ) CGGLFuncType2444; 
     263alias void function ( uint, uint, int ) CGGLFuncType2445; 
     264alias void function ( int, uint, void** ) CGGLFuncType2446; 
     265alias void function ( uint, void** ) CGGLFuncType2447; 
     266alias uint function ( int ) CGGLFuncType2448; 
     267alias int function ( uint* ) CGGLFuncType2449; 
     268alias void function ( uint, uint, uint, int, uint, void* ) CGGLFuncType2450; 
     269alias void function ( uint, double* ) CGGLFuncType2451; 
     270alias void function ( uint, uint, uint, void* ) CGGLFuncType2452; 
     271alias void function ( uint, uint, int, uint, uint, void* ) CGGLFuncType2453; 
     272alias void function ( uint, int, int, uint, uint, void* ) CGGLFuncType2454; 
     273alias void function ( float* ) CGGLFuncType2455; 
     274alias void function ( int, float* ) CGGLFuncType2456; 
     275alias void function ( uint, float, float, int, int, float, float, int, int, float, float, int, int, float* ) 
     276    CGGLFuncType2457; 
     277alias void function ( uint, double, double, int, int, double, double, int, int, double, double, int, int, double* ) 
     278    CGGLFuncType2458; 
     279alias int function ( int* ) CGGLFuncType2459; 
     280alias void function ( int, int* ) CGGLFuncType2460; 
     281alias int function () CGGLFuncType2461; 
     282alias void function ( int, uint, int, int, void* ) CGGLFuncType2462; 
     283alias void function ( uint, int, int, void* ) CGGLFuncType2463; 
     284alias void function ( uint, void** ) CGGLFuncType2464; 
     285alias void function ( int, int, char* ) CGGLFuncType2465; 
     286alias void function ( int, uint*, float* ) CGGLFuncType2466; 
     287alias void function ( uint, int, int, int, int, int, int, int, int, int, uint, uint, void* ) 
     288    CGGLFuncType2467; 
     289alias void function ( uint, int, uint, int, int, int, int, int, uint, uint, void* ) 
     290    CGGLFuncType2468; 
     291alias void function ( uint, uint, int, int, int ) CGGLFuncType2469; 
     292alias void function ( uint, uint, int, int, uint, uint, void*, void* ) 
     293    CGGLFuncType2470; 
     294alias void function ( uint, uint, uint, void*, void*, void* ) CGGLFuncType2471; 
     295alias void function ( uint, uint, int, int, int, int ) CGGLFuncType2472; 
     296alias void function ( uint, uint, int, int, uint, uint, void* ) 
     297    CGGLFuncType2473; 
     298alias void function ( uint, uint, char ) CGGLFuncType2474; 
     299alias void function ( uint, int, uint, char ) CGGLFuncType2475; 
     300alias void function ( uint, char, uint, uint, void* ) CGGLFuncType2476; 
     301alias void function ( uint, int, int, int, int, int, int, int, int ) 
     302    CGGLFuncType2477; 
     303alias void function ( uint, int, int, int, int, int, int, int ) 
     304    CGGLFuncType2478; 
     305alias void function ( uint, int, int, int, int, int ) CGGLFuncType2479; 
     306alias void function ( uint, int, uint, int, int, int, int, int ) 
     307    CGGLFuncType2480; 
     308alias void function ( uint, int, uint, int, int, int, int ) CGGLFuncType2481; 
     309alias void function ( uint, int, int, int, int, int, uint, uint, void* ) 
     310    CGGLFuncType2482; 
     311alias void function ( uint, int, int, int, uint, uint, void* ) CGGLFuncType2483; 
     312alias void function ( uint, uint, int, float* ) CGGLFuncType2484; 
     313alias void function ( uint, int, int, int, int, int, int, int, uint, uint, void* ) 
     314    CGGLFuncType2485; 
     315alias void function ( uint, int, uint, int, int, int, int, uint, uint, void* ) 
     316    CGGLFuncType2486; 
     317alias int function ( uint, char* ) CGGLFuncType2487; 
     318alias void function ( uint, uint, int, int*, int*, uint*, char* ) 
     319    CGGLFuncType2488; 
     320alias void function ( uint, uint, char* ) CGGLFuncType2489; 
     321alias void function ( uint, int, int*, char* ) CGGLFuncType2490; 
     322alias void function ( uint, int, int* ) CGGLFuncType2491; 
     323alias void function ( uint, int, float* ) CGGLFuncType2492; 
     324alias void function ( uint, int, int*, uint* ) CGGLFuncType2493; 
     325alias void function ( int, int, char, float* ) CGGLFuncType2494; 
     326alias void function ( int, int, int* ) CGGLFuncType2495; 
     327alias void function ( int, int, float* ) CGGLFuncType2496; 
     328alias void function ( int, int, int, int, int ) CGGLFuncType2497; 
     329alias void function ( int, float, float, float, float ) CGGLFuncType2498; 
     330alias void function ( int, float, float, float ) CGGLFuncType2499; 
     331alias void function ( int, float, float ) CGGLFuncType2500; 
     332alias void function ( int, float ) CGGLFuncType2501; 
     333alias uint function () CGGLFuncType2502; 
     334alias void function ( uint, int, char**, int* ) CGGLFuncType2503; 
     335alias uint function ( uint ) CGGLFuncType2504; 
     336alias void* function ( uint, uint ) CGGLFuncType2505; 
     337alias void function ( uint, int, int, void* ) CGGLFuncType2506; 
     338alias void function ( uint, int, void*, uint ) CGGLFuncType2507; 
     339alias void function ( uint, uint, void* ) CGGLFuncType2508; 
     340alias void function ( uint, uint, int, void* ) CGGLFuncType2509; 
     341alias void function ( uint, int, uint, char, int, void* ) CGGLFuncType2510; 
     342alias void function ( int, ushort* ) CGGLFuncType2511; 
     343alias void function ( int, char* ) CGGLFuncType2512; 
     344alias void function ( int, double* ) CGGLFuncType2513; 
     345alias void function ( int, int* ) CGGLFuncType2514; 
     346alias void function ( int, short* ) CGGLFuncType2515; 
     347alias void function ( int, char* ) CGGLFuncType2516; 
     348alias void function ( uint, int, int, int, uint, int, void* ) CGGLFuncType2517; 
     349alias void function ( uint, int, int, int, int, int, uint, int, void* ) 
     350    CGGLFuncType2518; 
     351alias void function ( uint, int, int, int, int, int, int, int, uint, int, void* ) 
     352    CGGLFuncType2519; 
     353alias void function ( uint, int, uint, int, int, int, void* ) CGGLFuncType2520; 
     354alias void function ( uint, int, uint, int, int, int, int, void* ) 
     355    CGGLFuncType2521; 
     356alias void function ( uint, int, uint, int, int, int, int, int, void* ) 
     357    CGGLFuncType2522; 
     358alias void function ( uint, int, char**, int* ) CGGLFuncType2523; 
     359alias int function ( uint, char* ) CGGLFuncType2524; 
     360alias void function ( uint, int, int*, char* ) CGGLFuncType2525; 
     361alias void function ( uint, int, int*, uint* ) CGGLFuncType2526; 
     362alias void function ( uint, uint, int, int*, int*, uint*, char* ) 
     363    CGGLFuncType2527; 
     364alias uint function () CGGLFuncType2528; 
     365alias void function ( uint, uint, char* ) CGGLFuncType2529; 
     366alias void function ( uint, int, int, int, int, int, int, uint, uint, void* ) 
     367    CGGLFuncType2530; 
    325368 
    326369/* Functions */ 
    327 extern(C) 
    328 
    329     void cgGLSetDebugMode(int); 
    330     void cgGLDisableProgramProfiles(void*); 
    331     void cgGLEnableProgramProfiles(void*); 
    332     void cgGLRegisterStates(void*); 
    333     void cgGLSetupSampler(void*, uint); 
    334     int cgGLGetManageTextureParameters(void*); 
    335     void cgGLSetManageTextureParameters(void*, int); 
    336     uint cgGLGetTextureEnum(void*); 
    337     void cgGLDisableTextureParameter(void*); 
    338     void cgGLEnableTextureParameter(void*); 
    339     uint cgGLGetTextureParameter(void*); 
    340     void cgGLSetTextureParameter(void*, uint); 
    341     void cgGLGetMatrixParameterArraydr(void*, int, int, double*); 
    342     void cgGLGetMatrixParameterArraydc(void*, int, int, double*); 
    343     void cgGLGetMatrixParameterArrayfr(void*, int, int, float*); 
    344     void cgGLGetMatrixParameterArrayfc(void*, int, int, float*); 
    345     void cgGLSetMatrixParameterArraydr(void*, int, int, double*); 
    346     void cgGLSetMatrixParameterArraydc(void*, int, int, double*); 
    347     void cgGLSetMatrixParameterArrayfr(void*, int, int, float*); 
    348     void cgGLSetMatrixParameterArrayfc(void*, int, int, float*); 
    349     void cgGLSetStateMatrixParameter(void*, int, int); 
    350     void cgGLGetMatrixParameterfc(void*, float*); 
    351     void cgGLGetMatrixParameterdc(void*, double*); 
    352     void cgGLGetMatrixParameterfr(void*, float*); 
    353     void cgGLGetMatrixParameterdr(void*, double*); 
    354     void cgGLSetMatrixParameterfc(void*, float*); 
    355     void cgGLSetMatrixParameterdc(void*, double*); 
    356     void cgGLSetMatrixParameterfr(void*, float*); 
    357     void cgGLSetMatrixParameterdr(void*, double*); 
    358     void cgGLDisableClientState(void*); 
    359     void cgGLEnableClientState(void*); 
    360     void cgGLSetParameterPointer(void*, int, uint, int, void*); 
    361     void cgGLGetParameterArray4d(void*, int, int, double*); 
    362     void cgGLGetParameterArray3d(void*, int, int, double*); 
    363     void cgGLGetParameterArray2d(void*, int, int, double*); 
    364     void cgGLGetParameterArray1d(void*, int, int, double*); 
    365     void cgGLGetParameterArray4f(void*, int, int, float*); 
    366     void cgGLGetParameterArray3f(void*, int, int, float*); 
    367     void cgGLGetParameterArray2f(void*, int, int, float*); 
    368     void cgGLGetParameterArray1f(void*, int, int, float*); 
    369     void cgGLSetParameterArray4d(void*, int, int, double*); 
    370     void cgGLSetParameterArray3d(void*, int, int, double*); 
    371     void cgGLSetParameterArray2d(void*, int, int, double*); 
    372     void cgGLSetParameterArray1d(void*, int, int, double*); 
    373     void cgGLSetParameterArray4f(void*, int, int, float*); 
    374     void cgGLSetParameterArray3f(void*, int, int, float*); 
    375     void cgGLSetParameterArray2f(void*, int, int, float*); 
    376     void cgGLSetParameterArray1f(void*, int, int, float*); 
    377     void cgGLGetParameter4d(void*, double*); 
    378     void cgGLGetParameter3d(void*, double*); 
    379     void cgGLGetParameter2d(void*, double*); 
    380     void cgGLGetParameter1d(void*, double*); 
    381     void cgGLGetParameter4f(void*, float*); 
    382     void cgGLGetParameter3f(void*, float*); 
    383     void cgGLGetParameter2f(void*, float*); 
    384     void cgGLGetParameter1f(void*, float*); 
    385     void cgGLSetParameter4dv(void*, double*); 
    386     void cgGLSetParameter3dv(void*, double*); 
    387     void cgGLSetParameter2dv(void*, double*); 
    388     void cgGLSetParameter1dv(void*, double*); 
    389     void cgGLSetParameter4d(void*, double, double, double, double); 
    390     void cgGLSetParameter3d(void*, double, double, double); 
    391     void cgGLSetParameter2d(void*, double, double); 
    392     void cgGLSetParameter1d(void*, double); 
    393     void cgGLSetParameter4fv(void*, float*); 
    394     void cgGLSetParameter3fv(void*, float*); 
    395     void cgGLSetParameter2fv(void*, float*); 
    396     void cgGLSetParameter1fv(void*, float*); 
    397     void cgGLSetParameter4f(void*, float, float, float, float); 
    398     void cgGLSetParameter3f(void*, float, float, float); 
    399     void cgGLSetParameter2f(void*, float, float); 
    400     void cgGLSetParameter1f(void*, float); 
    401     uint cgGLGetProgramID(void*); 
    402     void cgGLUnbindProgram(int); 
    403     void cgGLBindProgram(void*); 
    404     int cgGLIsProgramLoaded(void*); 
    405     void cgGLLoadProgram(void*); 
    406     void cgGLSetOptimalOptions(int); 
    407     int cgGLGetLatestProfile(int); 
    408     void cgGLDisableProfile(int); 
    409     void cgGLEnableProfile(int); 
    410     int cgGLIsProfileSupported(int); 
    411     int cgGetProgramDomainProfile(void*, int); 
    412     void* cgCombinePrograms3(void*, void*, void*); 
    413     void* cgCombinePrograms2(void*, void*); 
    414     void* cgCombinePrograms(int, void** ); 
    415     int cgGetProfileDomain(int); 
    416     int cgGetNumProgramDomains(void*); 
    417     void cgGetMatrixSize(int, int*, int*); 
    418     int cgGetTypeSizes(int, int*, int*); 
    419     int cgGetTypeBase(int); 
    420     int cgGetTypeClass(int); 
    421     void* cgGetParameterEffect(void*); 
    422     int cgGetStateEnumerantValue(void*, char*); 
    423     char* cgGetStateEnumerantName(void*, int); 
    424     int cgSetStringAnnotation(void*, char*); 
    425     int cgSetBoolAnnotation(void*, int); 
    426     int cgSetFloatAnnotation(void*, float); 
    427     int cgSetIntAnnotation(void*, int); 
    428     void* cgCreateEffectAnnotation(void*, char*, int); 
    429     void* cgCreateProgramAnnotation(void*, char*, int); 
    430     void* cgCreateParameterAnnotation(void*, char*, int); 
    431     void* cgCreatePassAnnotation(void*, char*, int); 
    432     void* cgCreateTechniqueAnnotation(void*, char*, int); 
    433     int cgSetBoolArrayStateAssignment(void*, int*); 
    434     int cgSetIntArrayStateAssignment(void*, int*); 
    435     int cgSetFloatArrayStateAssignment(void*, float*); 
    436     int cgSetTextureStateAssignment(void*, void*); 
    437     int cgSetSamplerStateAssignment(void*, void*); 
    438     int cgSetProgramStateAssignment(void*, void*); 
    439     int cgSetStringStateAssignment(void*, char*); 
    440     int cgSetBoolStateAssignment(void*, int); 
    441     int cgSetIntStateAssignment(void*, int); 
    442     int cgSetFloatStateAssignment(void*, float); 
    443     void* cgCreateSamplerStateAssignment(void*, void*); 
    444     void* cgCreateStateAssignmentIndex(void*, void*, int); 
    445     void* cgCreateStateAssignment(void*, void*); 
    446     void* cgCreatePass(void*, char*); 
    447     void* cgCreateEffectParameterMultiDimArray(void*, char*, int, int, int*); 
    448     void* cgCreateEffectParameterArray(void*, char*, int, int); 
    449     void* cgCreateTechnique(void*, char*); 
    450     void* cgCreateEffectParameter(void*, char*, int); 
    451     void* cgGetNamedEffect(void*, char*); 
    452     char* cgGetEffectName(void*); 
    453     int cgSetEffectName(void*, char*); 
    454     void cgEvaluateProgram(void*, float*, int, int, int, int); 
    455     void* cgGetDependentAnnotationParameter(void*, int); 
    456     int cgGetNumDependentAnnotationParameters(void*); 
    457     int* cgGetBooleanAnnotationValues(void*, int*); 
    458     int* cgGetBoolAnnotationValues(void*, int*); 
    459     char* cgGetStringAnnotationValue(void*); 
    460     int* cgGetIntAnnotationValues(void*, int*); 
    461     float* cgGetFloatAnnotationValues(void*, int*); 
    462     int cgGetAnnotationType(void*); 
    463     char* cgGetAnnotationName(void*); 
    464     int cgIsAnnotation(void*); 
    465     void* cgGetNamedEffectAnnotation(void*, char*); 
    466     void* cgGetNamedProgramAnnotation(void*, char*); 
    467     void* cgGetNamedParameterAnnotation(void*, char*); 
    468     void* cgGetNamedPassAnnotation(void*, char*); 
    469     void* cgGetNamedTechniqueAnnotation(void*, char*); 
    470     void* cgGetNextAnnotation(void*); 
    471     void* cgGetFirstEffectAnnotation(void*); 
    472     void* cgGetFirstProgramAnnotation(void*); 
    473     void* cgGetFirstParameterAnnotation(void*); 
    474     void* cgGetFirstPassAnnotation(void*); 
    475     void* cgGetFirstTechniqueAnnotation(void*); 
    476     void* cgGetEffectParameterBySemantic(void*, char*); 
    477     void* cgGetFirstEffectParameter(void*); 
    478     void* cgGetFirstLeafEffectParameter(void*); 
    479     void* cgGetNamedEffectParameter(void*, char*); 
    480     void cgSetSamplerState(void*); 
    481     void* cgGetNamedSamplerStateAssignment(void*, char*); 
    482     void* cgGetFirstSamplerStateAssignment(void*); 
    483     void* cgGetFirstSamplerState(void*); 
    484     void* cgGetNamedSamplerState(void*, char*); 
    485     void* cgCreateArraySamplerState(void*, char*, int, int); 
    486     void* cgCreateSamplerState(void*, char*, int); 
    487     void cgAddStateEnumerant(void*, char*, int); 
    488     int cgIsState(void*); 
    489     void* cgGetNextState(void*); 
    490     void* cgGetFirstState(void*); 
    491     void* cgGetNamedState(void*, char*); 
    492     char* cgGetStateName(void*); 
    493     int cgGetStateType(void*); 
    494     void* cgGetStateContext(void*); 
    495     CGGLFuncType2562 cgGetStateValidateCallback(void*); 
    496     CGGLFuncType2562 cgGetStateResetCallback(void*); 
    497     CGGLFuncType2562 cgGetStateSetCallback(void*); 
    498     void cgSetStateCallbacks(void*, CGGLFuncType2562, CGGLFuncType2562, CGGLFuncType2562); 
    499     void* cgCreateArrayState(void*, char*, int, int); 
    500     void* cgCreateState(void*, char*, int); 
    501     void* cgGetSamplerStateAssignmentState(void*); 
    502     void* cgGetStateAssignmentState(void*); 
    503     void* cgGetDependentStateAssignmentParameter(void*, int); 
    504     int cgGetNumDependentStateAssignmentParameters(void*); 
    505     int cgGetStateAssignmentIndex(void*); 
    506     void* cgGetSamplerStateAssignmentValue(void*); 
    507     void* cgGetTextureStateAssignmentValue(void*); 
    508     void* cgGetProgramStateAssignmentValue(void*); 
    509     char* cgGetStringStateAssignmentValue(void*); 
    510     int* cgGetBoolStateAssignmentValues(void*, int*); 
    511     int* cgGetIntStateAssignmentValues(void*, int*); 
    512     float* cgGetFloatStateAssignmentValues(void*, int*); 
    513     void* cgGetSamplerStateAssignmentParameter(void*); 
    514     void* cgGetStateAssignmentPass(void*); 
    515     int cgCallStateResetCallback(void*); 
    516     int cgCallStateValidateCallback(void*); 
    517     int cgCallStateSetCallback(void*); 
    518     int cgIsStateAssignment(void*); 
    519     void* cgGetNextStateAssignment(void*); 
    520     void* cgGetNamedStateAssignment(void*, char*); 
    521     void* cgGetFirstStateAssignment(void*); 
    522     void cgResetPassState(void*); 
    523     void cgSetPassState(void*); 
    524     void* cgGetPassTechnique(void*); 
    525     char* cgGetPassName(void*); 
    526     int cgIsPass(void*); 
    527     void* cgGetNextPass(void*); 
    528     void* cgGetNamedPass(void*, char*); 
    529     void* cgGetFirstPass(void*); 
    530     void* cgGetTechniqueEffect(void*); 
    531     int cgIsTechniqueValidated(void*); 
    532     int cgValidateTechnique(void*); 
    533     int cgIsTechnique(void*); 
    534     char* cgGetTechniqueName(void*); 
    535     void* cgGetNamedTechnique(void*, char*); 
    536     void* cgGetNextTechnique(void*); 
    537     void* cgGetFirstTechnique(void*); 
    538     void* cgCreateProgramFromEffect(void*, int, char*, char** ); 
    539     void* cgGetNextEffect(void*); 
    540     void* cgGetFirstEffect(void*); 
    541     int cgIsEffect(void*); 
    542     void* cgGetEffectContext(void*); 
    543     void cgDestroyEffect(void*); 
    544     void* cgCreateEffectFromFile(void*, char*, char** ); 
    545     void* cgCreateEffect(void*, char*, char** ); 
    546     char* cgGetString(int); 
    547     CGGLFuncType2561 cgGetErrorHandler(void** ); 
    548     void cgSetErrorHandler(CGGLFuncType2561, void*); 
     370extern ( C ) { 
     371    void cgGLSetDebugMode( int ); 
     372 
     373    void cgGLDisableProgramProfiles( void* ); 
     374 
     375    void cgGLEnableProgramProfiles( void* ); 
     376 
     377    void cgGLRegisterStates( void* ); 
     378 
     379    void cgGLSetupSampler( void*, uint ); 
     380 
     381    int cgGLGetManageTextureParameters( void* ); 
     382 
     383    void cgGLSetManageTextureParameters( void*, int ); 
     384 
     385    uint cgGLGetTextureEnum( void* ); 
     386 
     387    void cgGLDisableTextureParameter( void* ); 
     388 
     389    void cgGLEnableTextureParameter( void* ); 
     390 
     391    uint cgGLGetTextureParameter( void* ); 
     392 
     393    void cgGLSetTextureParameter( void*, uint ); 
     394 
     395    void cgGLGetMatrixParameterArraydr( void*, int, int, double* ); 
     396 
     397    void cgGLGetMatrixParameterArraydc( void*, int, int, double* ); 
     398 
     399    void cgGLGetMatrixParameterArrayfr( void*, int, int, float* ); 
     400 
     401    void cgGLGetMatrixParameterArrayfc( void*, int, int, float* ); 
     402 
     403    void cgGLSetMatrixParameterArraydr( void*, int, int, double* ); 
     404 
     405    void cgGLSetMatrixParameterArraydc( void*, int, int, double* ); 
     406 
     407    void cgGLSetMatrixParameterArrayfr( void*, int, int, float* ); 
     408 
     409    void cgGLSetMatrixParameterArrayfc( void*, int, int, float* ); 
     410 
     411    void cgGLSetStateMatrixParameter( void*, int, int ); 
     412 
     413    void cgGLGetMatrixParameterfc( void*, float* ); 
     414 
     415    void cgGLGetMatrixParameterdc( void*, double* ); 
     416 
     417    void cgGLGetMatrixParameterfr( void*, float* ); 
     418 
     419    void cgGLGetMatrixParameterdr( void*, double* ); 
     420 
     421    void cgGLSetMatrixParameterfc( void*, float* ); 
     422 
     423    void cgGLSetMatrixParameterdc( void*, double* ); 
     424 
     425    void cgGLSetMatrixParameterfr( void*, float* ); 
     426 
     427    void cgGLSetMatrixParameterdr( void*, double* ); 
     428 
     429    void cgGLDisableClientState( void* ); 
     430 
     431    void cgGLEnableClientState( void* ); 
     432 
     433    void cgGLSetParameterPointer( void*, int, uint, int, void* ); 
     434 
     435    void cgGLGetParameterArray4d( void*, int, int, double* ); 
     436 
     437    void cgGLGetParameterArray3d( void*, int, int, double* ); 
     438 
     439    void cgGLGetParameterArray2d( void*, int, int, double* ); 
     440 
     441    void cgGLGetParameterArray1d( void*, int, int, double* ); 
     442 
     443    void cgGLGetParameterArray4f( void*, int, int, float* ); 
     444 
     445    void cgGLGetParameterArray3f( void*, int, int, float* ); 
     446 
     447    void cgGLGetParameterArray2f( void*, int, int, float* ); 
     448 
     449    void cgGLGetParameterArray1f( void*, int, int, float* ); 
     450 
     451    void cgGLSetParameterArray4d( void*, int, int, double* ); 
     452 
     453    void cgGLSetParameterArray3d( void*, int, int, double* ); 
     454 
     455    void cgGLSetParameterArray2d( void*, int, int, double* ); 
     456 
     457    void cgGLSetParameterArray1d( void*, int, int, double* ); 
     458 
     459    void cgGLSetParameterArray4f( void*, int, int, float* ); 
     460 
     461    void cgGLSetParameterArray3f( void*, int, int, float* ); 
     462 
     463    void cgGLSetParameterArray2f( void*, int, int, float* ); 
     464 
     465    void cgGLSetParameterArray1f( void*, int, int, float* ); 
     466 
     467    void cgGLGetParameter4d( void*, double* ); 
     468 
     469    void cgGLGetParameter3d( void*, double* ); 
     470 
     471    void cgGLGetParameter2d( void*, double* ); 
     472 
     473    void cgGLGetParameter1d( void*, double* ); 
     474 
     475    void cgGLGetParameter4f( void*, float* ); 
     476 
     477    void cgGLGetParameter3f( void*, float* ); 
     478 
     479    void cgGLGetParameter2f( void*, float* ); 
     480 
     481    void cgGLGetParameter1f( void*, float* ); 
     482 
     483    void cgGLSetParameter4dv( void*, double* ); 
     484 
     485    void cgGLSetParameter3dv( void*, double* ); 
     486 
     487    void cgGLSetParameter2dv( void*, double* ); 
     488 
     489    void cgGLSetParameter1dv( void*, double* ); 
     490 
     491    void cgGLSetParameter4d( void*, double, double, double, double ); 
     492 
     493    void cgGLSetParameter3d( void*, double, double, double ); 
     494 
     495    void cgGLSetParameter2d( void*, double, double ); 
     496 
     497    void cgGLSetParameter1d( void*, double ); 
     498 
     499    void cgGLSetParameter4fv( void*, float* ); 
     500 
     501    void cgGLSetParameter3fv( void*, float* ); 
     502 
     503    void cgGLSetParameter2fv( void*, float* ); 
     504 
     505    void cgGLSetParameter1fv( void*, float* ); 
     506 
     507    void cgGLSetParameter4f( void*, float, float, float, float ); 
     508 
     509    void cgGLSetParameter3f( void*, float, float, float ); 
     510 
     511    void cgGLSetParameter2f( void*, float, float ); 
     512 
     513    void cgGLSetParameter1f( void*, float ); 
     514 
     515    uint cgGLGetProgramID( void* ); 
     516 
     517    void cgGLUnbindProgram( int ); 
     518 
     519    void cgGLBindProgram( void* ); 
     520 
     521    int cgGLIsProgramLoaded( void* ); 
     522 
     523    void cgGLLoadProgram( void* ); 
     524 
     525    void cgGLSetOptimalOptions( int ); 
     526 
     527    int cgGLGetLatestProfile( int ); 
     528 
     529    void cgGLDisableProfile( int ); 
     530 
     531    void cgGLEnableProfile( int ); 
     532 
     533    int cgGLIsProfileSupported( int ); 
     534 
     535    int cgGetProgramDomainProfile( void*, int ); 
     536 
     537    void* cgCombinePrograms3( void*, void*, void* ); 
     538 
     539    void* cgCombinePrograms2( void*, void* ); 
     540 
     541    void* cgCombinePrograms( int, void** ); 
     542 
     543    int cgGetProfileDomain( int ); 
     544 
     545    int cgGetNumProgramDomains( void* ); 
     546 
     547    void cgGetMatrixSize( int, int*, int* ); 
     548 
     549    int cgGetTypeSizes( int, int*, int* ); 
     550 
     551    int cgGetTypeBase( int ); 
     552 
     553    int cgGetTypeClass( int ); 
     554 
     555    void* cgGetParameterEffect( void* ); 
     556 
     557    int cgGetStateEnumerantValue( void*, char* ); 
     558 
     559    char* cgGetStateEnumerantName( void*, int ); 
     560 
     561    int cgSetStringAnnotation( void*, char* ); 
     562 
     563    int cgSetBoolAnnotation( void*, int ); 
     564 
     565    int cgSetFloatAnnotation( void*, float ); 
     566 
     567    int cgSetIntAnnotation( void*, int ); 
     568 
     569    void* cgCreateEffectAnnotation( void*, char*, int ); 
     570 
     571    void* cgCreateProgramAnnotation( void*, char*, int ); 
     572 
     573    void* cgCreateParameterAnnotation( void*, char*, int ); 
     574 
     575    void* cgCreatePassAnnotation( void*, char*, int ); 
     576 
     577    void* cgCreateTechniqueAnnotation( void*, char*, int ); 
     578 
     579    int cgSetBoolArrayStateAssignment( void*, int* ); 
     580 
     581    int cgSetIntArrayStateAssignment( void*, int* ); 
     582 
     583    int cgSetFloatArrayStateAssignment( void*, float* ); 
     584 
     585    int cgSetTextureStateAssignment( void*, void* ); 
     586 
     587    int cgSetSamplerStateAssignment( void*, void* ); 
     588 
     589    int cgSetProgramStateAssignment( void*, void* ); 
     590 
     591    int cgSetStringStateAssignment( void*, char* ); 
     592 
     593    int cgSetBoolStateAssignment( void*, int ); 
     594 
     595    int cgSetIntStateAssignment( void*, int ); 
     596 
     597    int cgSetFloatStateAssignment( void*, float ); 
     598 
     599    void* cgCreateSamplerStateAssignment( void*, void* ); 
     600 
     601    void* cgCreateStateAssignmentIndex( void*, void*, int ); 
     602 
     603    void* cgCreateStateAssignment( void*, void* ); 
     604 
     605    void* cgCreatePass( void*, char* ); 
     606 
     607    void* cgCreateEffectParameterMultiDimArray( void*, char*, int, int, int* ); 
     608 
     609    void* cgCreateEffectParameterArray( void*, char*, int, int ); 
     610 
     611    void* cgCreateTechnique( void*, char* ); 
     612 
     613    void* cgCreateEffectParameter( void*, char*, int ); 
     614 
     615    void* cgGetNamedEffect( void*, char* ); 
     616 
     617    char* cgGetEffectName( void* ); 
     618 
     619    int cgSetEffectName( void*, char* ); 
     620 
     621    void cgEvaluateProgram( void*, float*, int, int, int, int ); 
     622 
     623    void* cgGetDependentAnnotationParameter( void*, int ); 
     624 
     625    int cgGetNumDependentAnnotationParameters( void* ); 
     626 
     627    int* cgGetBooleanAnnotationValues( void*, int* ); 
     628 
     629    int* cgGetBoolAnnotationValues( void*, int* ); 
     630 
     631    char* cgGetStringAnnotationValue( void* ); 
     632 
     633    int* cgGetIntAnnotationValues( void*, int* ); 
     634 
     635    float* cgGetFloatAnnotationValues( void*, int* ); 
     636 
     637    int cgGetAnnotationType( void* ); 
     638 
     639    char* cgGetAnnotationName( void* ); 
     640 
     641    int cgIsAnnotation( void* ); 
     642 
     643    void* cgGetNamedEffectAnnotation( void*, char* ); 
     644 
     645    void* cgGetNamedProgramAnnotation( void*, char* ); 
     646 
     647    void* cgGetNamedParameterAnnotation( void*, char* ); 
     648 
     649    void* cgGetNamedPassAnnotation( void*, char* ); 
     650 
     651    void* cgGetNamedTechniqueAnnotation( void*, char* ); 
     652 
     653    void* cgGetNextAnnotation( void* ); 
     654 
     655    void* cgGetFirstEffectAnnotation( void* ); 
     656 
     657    void* cgGetFirstProgramAnnotation( void* ); 
     658 
     659    void* cgGetFirstParameterAnnotation( void* ); 
     660 
     661    void* cgGetFirstPassAnnotation( void* ); 
     662 
     663    void* cgGetFirstTechniqueAnnotation( void* ); 
     664 
     665    void* cgGetEffectParameterBySemantic( void*, char* ); 
     666 
     667    void* cgGetFirstEffectParameter( void* ); 
     668 
     669    void* cgGetFirstLeafEffectParameter( void* ); 
     670 
     671    void* cgGetNamedEffectParameter( void*, char* ); 
     672 
     673    void cgSetSamplerState( void* ); 
     674 
     675    void* cgGetNamedSamplerStateAssignment( void*, char* ); 
     676 
     677    void* cgGetFirstSamplerStateAssignment( void* ); 
     678 
     679    void* cgGetFirstSamplerState( void* ); 
     680 
     681    void* cgGetNamedSamplerState( void*, char* ); 
     682 
     683    void* cgCreateArraySamplerState( void*, char*, int, int ); 
     684 
     685    void* cgCreateSamplerState( void*, char*, int ); 
     686 
     687    void cgAddStateEnumerant( void*, char*, int ); 
     688 
     689    int cgIsState( void* ); 
     690 
     691    void* cgGetNextState( void* ); 
     692 
     693    void* cgGetFirstState( void* ); 
     694 
     695    void* cgGetNamedState( void*, char* ); 
     696 
     697    char* cgGetStateName( void* ); 
     698 
     699    int cgGetStateType( void* ); 
     700 
     701    void* cgGetStateContext( void* ); 
     702 
     703    CGGLFuncType2562 cgGetStateValidateCallback( void* ); 
     704 
     705    CGGLFuncType2562 cgGetStateResetCallback( void* ); 
     706 
     707    CGGLFuncType2562 cgGetStateSetCallback( void* ); 
     708 
     709    void cgSetStateCallbacks( void*, CGGLFuncType2562, CGGLFuncType2562, 
     710        CGGLFuncType2562 ); 
     711 
     712    void* cgCreateArrayState( void*, char*, int, int ); 
     713 
     714    void* cgCreateState( void*, char*, int ); 
     715 
     716    void* cgGetSamplerStateAssignmentState( void* ); 
     717 
     718    void* cgGetStateAssignmentState( void* ); 
     719 
     720    void* cgGetDependentStateAssignmentParameter( void*, int ); 
     721 
     722    int cgGetNumDependentStateAssignmentParameters( void* ); 
     723 
     724    int cgGetStateAssignmentIndex( void* ); 
     725 
     726    void* cgGetSamplerStateAssignmentValue( void* ); 
     727 
     728    void* cgGetTextureStateAssignmentValue( void* ); 
     729 
     730    void* cgGetProgramStateAssignmentValue( void* ); 
     731 
     732    char* cgGetStringStateAssignmentValue( void* ); 
     733 
     734    int* cgGetBoolStateAssignmentValues( void*, int* ); 
     735 
     736    int* cgGetIntStateAssignmentValues( void*, int* ); 
     737 
     738    float* cgGetFloatStateAssignmentValues( void*, int* ); 
     739 
     740    void* cgGetSamplerStateAssignmentParameter( void* ); 
     741 
     742    void* cgGetStateAssignmentPass( void* ); 
     743 
     744    int cgCallStateResetCallback( void* ); 
     745 
     746    int cgCallStateValidateCallback( void* ); 
     747 
     748    int cgCallStateSetCallback( void* ); 
     749 
     750    int cgIsStateAssignment( void* ); 
     751 
     752    void* cgGetNextStateAssignment( void* ); 
     753 
     754    void* cgGetNamedStateAssignment( void*, char* ); 
     755 
     756    void* cgGetFirstStateAssignment( void* ); 
     757 
     758    void cgResetPassState( void* ); 
     759 
     760    void cgSetPassState( void* ); 
     761 
     762    void* cgGetPassTechnique( void* ); 
     763 
     764    char* cgGetPassName( void* ); 
     765 
     766    int cgIsPass( void* ); 
     767 
     768    void* cgGetNextPass( void* ); 
     769 
     770    void* cgGetNamedPass( void*, char* ); 
     771 
     772    void* cgGetFirstPass( void* ); 
     773 
     774    void* cgGetTechniqueEffect( void* ); 
     775 
     776    int cgIsTechniqueValidated( void* ); 
     777 
     778    int cgValidateTechnique( void* ); 
     779 
     780    int cgIsTechnique( void* ); 
     781 
     782    char* cgGetTechniqueName( void* ); 
     783 
     784    void* cgGetNamedTechnique( void*, char* ); 
     785 
     786    void* cgGetNextTechnique( void* ); 
     787 
     788    void* cgGetFirstTechnique( void* ); 
     789 
     790    void* cgCreateProgramFromEffect( void*, int, char*, char** ); 
     791 
     792    void* cgGetNextEffect( void* ); 
     793 
     794    void* cgGetFirstEffect( void* ); 
     795 
     796    int cgIsEffect( void* ); 
     797 
     798    void* cgGetEffectContext( void* ); 
     799 
     800    void cgDestroyEffect( void* ); 
     801 
     802    void* cgCreateEffectFromFile( void*, char*, char** ); 
     803 
     804    void* cgCreateEffect( void*, char*, char** ); 
     805 
     806    char* cgGetString( int ); 
     807 
     808    CGGLFuncType2561 cgGetErrorHandler( void** ); 
     809 
     810    void cgSetErrorHandler( CGGLFuncType2561, void* ); 
     811 
    549812    CGGLFuncType2286 cgGetErrorCallback(); 
    550     void cgSetErrorCallback(CGGLFuncType2286); 
    551     char* cgGetLastErrorString(int*); 
    552     char* cgGetErrorString(int); 
     813 
     814    void cgSetErrorCallback( CGGLFuncType2286 ); 
     815 
     816    char* cgGetLastErrorString( int* ); 
     817 
     818    char* cgGetErrorString( int ); 
     819 
    553820    int cgGetFirstError(); 
     821 
    554822    int cgGetError(); 
    555     int cgGetProfile(char*); 
    556     char* cgGetProfileString(int); 
    557     int cgGetEnum(char*); 
    558     char* cgGetEnumString(int); 
    559     int cgGetResource(char*); 
    560     char* cgGetResourceString(int); 
    561     int cgIsInterfaceType(int); 
    562     int cgIsParentType(int, int); 
    563     int cgGetParentType(int, int); 
    564     int cgGetNumParentTypes(int); 
    565     int cgGetUserType(void*, int); 
    566     int cgGetNumUserTypes(void*); 
    567     int cgGetNamedUserType(void*, char*); 
    568     int cgGetType(char*); 
    569     char* cgGetTypeString(int); 
    570     void* cgGetNamedSubParameter(void*, char*); 
    571     void cgGetMatrixParameterfc(void*, float*); 
    572     void cgGetMatrixParameterdc(void*, double*); 
    573     void cgGetMatrixParameteric(void*, int*); 
    574     void cgGetMatrixParameterfr(void*, float*); 
    575     void cgGetMatrixParameterdr(void*, double*); 
    576     void cgGetMatrixParameterir(void*, int*); 
    577     void cgSetMatrixParameterfc(void*, float*); 
    578     void cgSetMatrixParameterdc(void*, double*); 
    579     void cgSetMatrixParameteric(void*, int*); 
    580     void cgSetMatrixParameterfr(void*, float*); 
    581     void cgSetMatrixParameterdr(void*, double*); 
    582     void cgSetMatrixParameterir(void*, int*); 
    583     void cgSetParameter4dv(void*, double*); 
    584     void cgSetParameter3dv(void*, double*); 
    585     void cgSetParameter2dv(void*, double*); 
    586     void cgSetParameter1dv(void*, double*); 
    587     void cgSetParameter4fv(void*, float*); 
    588     void cgSetParameter3fv(void*, float*); 
    589     void cgSetParameter2fv(void*, float*); 
    590     void cgSetParameter1fv(void*, float*); 
    591     void cgSetParameter4iv(void*, int*); 
    592     void cgSetParameter3iv(void*, int*); 
    593     void cgSetParameter2iv(void*, int*); 
    594     void cgSetParameter1iv(void*, int*); 
    595     void cgSetParameter4i(void*, int, int, int, int); 
    596     void cgSetParameter3i(void*, int, int, int); 
    597     void cgSetParameter2i(void*, int, int); 
    598     void cgSetParameter1i(void*, int); 
    599     void cgSetParameter4d(void*, double, double, double, double); 
    600     void cgSetParameter3d(void*, double, double, double); 
    601     void cgSetParameter2d(void*, double, double); 
    602     void cgSetParameter1d(void*, double); 
    603     void cgSetParameter4f(void*, float, float, float, float); 
    604     void cgSetParameter3f(void*, float, float, float); 
    605     void cgSetParameter2f(void*, float, float); 
    606     void cgSetParameter1f(void*, float); 
    607     void cgSetParameterSemantic(void*, char*); 
    608     void cgSetParameterVariability(void*, int); 
    609     int cgGetParameterIndex(void*); 
    610     int cgIsParameterGlobal(void*); 
    611     int cgGetParameterOrdinalNumber(void*); 
    612     void cgSetStringParameterValue(void*, char*); 
    613     char* cgGetStringParameterValue(void*); 
    614     int cgGetParameterValueic(void*, int, int*); 
    615     int cgGetParameterValueir(void*, int, int*); 
    616     int cgGetParameterValuefc(void*, int, float*); 
    617     int cgGetParameterValuefr(void*, int, float*); 
    618     int cgGetParameterValuedc(void*, int, double*); 
    619     int cgGetParameterValuedr(void*, int, double*); 
    620     void cgSetParameterValueic(void*, int, int*); 
    621     void cgSetParameterValueir(void*, int, int*); 
    622     void cgSetParameterValuefc(void*, int, float*); 
    623     void cgSetParameterValuefr(void*, int, float*); 
    624     void cgSetParameterValuedc(void*, int, double*); 
    625     void cgSetParameterValuedr(void*, int, double*); 
    626     double* cgGetParameterValues(void*, int, int*); 
    627     int cgIsParameterUsed(void*, void*); 
    628     int cgIsParameterReferenced(void*); 
    629     int cgGetParameterDirection(void*); 
    630     int cgGetParameterVariability(void*); 
    631     uint cgGetParameterResourceIndex(void*); 
    632     int cgGetParameterBaseResource(void*); 
    633     int cgGetParameterResource(void*); 
    634     char* cgGetParameterSemantic(void*); 
    635     int cgGetParameterNamedType(void*); 
    636     int cgGetParameterColumns(void*); 
    637     int cgGetParameterRows(void*); 
    638     int cgGetParameterClass(void*); 
    639     int cgGetParameterBaseType(void*); 
    640     int cgGetParameterType(void*); 
    641     char* cgGetParameterName(void*); 
    642     int cgIsParameter(void*); 
    643     void* cgGetParameterContext(void*); 
    644     void* cgGetParameterProgram(void*); 
    645     void cgSetMultiDimArraySize(void*, int*); 
    646     void cgSetArraySize(void*, int); 
    647     int cgGetArrayTotalSize(void*); 
    648     int cgGetArraySize(void*, int); 
    649     int cgGetArrayType(void*); 
    650     int cgGetArrayDimension(void*); 
    651     void* cgGetArrayParameter(void*, int); 
    652     void* cgGetFirstDependentParameter(void*); 
    653     void* cgGetNamedStructParameter(void*, char*); 
    654     void* cgGetFirstStructParameter(void*); 
    655     void* cgGetNextLeafParameter(void*); 
    656     void* cgGetFirstLeafParameter(void*, int); 
    657     void* cgGetNextParameter(void*); 
    658     void* cgGetFirstParameter(void*, int); 
    659     void* cgGetNamedProgramParameter(void*, int, char*); 
    660     void* cgGetNamedParameter(void*, char*); 
    661     void* cgGetConnectedToParameter(void*, int); 
    662     int cgGetNumConnectedToParameters(void*); 
    663     void* cgGetConnectedParameter(void*); 
    664     void cgDisconnectParameter(void*); 
    665     void cgConnectParameter(void*, void*); 
    666     void cgDestroyParameter(void*); 
    667     void* cgCreateParameterMultiDimArray(void*, int, int, int*); 
    668     void* cgCreateParameterArray(void*, int, int); 
    669     void* cgCreateParameter(void*, int); 
    670     void cgSetPassProgramParameters(void*); 
    671     void cgSetProgramProfile(void*, int); 
    672     char** cgGetProgramOptions(void*); 
    673     int cgGetProgramProfile(void*); 
    674     char* cgGetProgramString(void*, int); 
    675     int cgIsProgramCompiled(void*); 
    676     void cgCompileProgram(void*); 
    677     int cgIsProgram(void*); 
    678     void* cgGetProgramContext(void*); 
    679     void* cgGetNextProgram(void*); 
    680     void* cgGetFirstProgram(void*); 
    681     void cgDestroyProgram(void*); 
    682     void* cgCopyProgram(void*); 
    683     void* cgCreateProgramFromFile(void*, int, char*, int, char*, char** ); 
    684     void* cgCreateProgram(void*, int, char*, int, char*, char** ); 
    685     int cgGetAutoCompile(void*); 
    686     void cgSetAutoCompile(void*, int); 
    687     void cgSetLastListing(void*, char*); 
    688     char* cgGetLastListing(void*); 
    689     int cgIsContext(void*); 
    690     void cgDestroyContext(void*); 
     823 
     824    int cgGetProfile( char* ); 
     825 
     826    char* cgGetProfileString( int ); 
     827 
     828    int cgGetEnum( char* ); 
     829 
     830    char* cgGetEnumString( int ); 
     831 
     832    int cgGetResource( char* ); 
     833 
     834    char* cgGetResourceString( int ); 
     835 
     836    int cgIsInterfaceType( int ); 
     837 
     838    int cgIsParentType( int, int ); 
     839 
     840    int cgGetParentType( int, int ); 
     841 
     842    int cgGetNumParentTypes( int ); 
     843 
     844    int cgGetUserType( void*, int ); 
     845 
     846    int cgGetNumUserTypes( void* ); 
     847 
     848    int cgGetNamedUserType( void*, char* ); 
     849 
     850    int cgGetType( char* ); 
     851 
     852    char* cgGetTypeString( int ); 
     853 
     854    void* cgGetNamedSubParameter( void*, char* ); 
     855 
     856    void cgGetMatrixParameterfc( void*, float* ); 
     857 
     858    void cgGetMatrixParameterdc( void*, double* ); 
     859 
     860    void cgGetMatrixParameteric( void*, int* ); 
     861 
     862    void cgGetMatrixParameterfr( void*, float* ); 
     863 
     864    void cgGetMatrixParameterdr( void*, double* ); 
     865 
     866    void cgGetMatrixParameterir( void*, int* ); 
     867 
     868    void cgSetMatrixParameterfc( void*, float* ); 
     869 
     870    void cgSetMatrixParameterdc( void*, double* ); 
     871 
     872    void cgSetMatrixParameteric( void*, int* ); 
     873 
     874    void cgSetMatrixParameterfr( void*, float* ); 
     875 
     876    void cgSetMatrixParameterdr( void*, double* ); 
     877 
     878    void cgSetMatrixParameterir( void*, int* ); 
     879 
     880    void cgSetParameter4dv( void*, double* ); 
     881 
     882    void cgSetParameter3dv( void*, double* ); 
     883 
     884    void cgSetParameter2dv( void*, double* ); 
     885 
     886    void cgSetParameter1dv( void*, double* ); 
     887 
     888    void cgSetParameter4fv( void*, float* ); 
     889 
     890    void cgSetParameter3fv( void*, float* ); 
     891 
     892    void cgSetParameter2fv( void*, float* ); 
     893 
     894    void cgSetParameter1fv( void*, float* ); 
     895 
     896    void cgSetParameter4iv( void*, int* ); 
     897 
     898    void cgSetParameter3iv( void*, int* ); 
     899 
     900    void cgSetParameter2iv( void*, int* ); 
     901 
     902    void cgSetParameter1iv( void*, int* ); 
     903 
     904    void cgSetParameter4i( void*, int, int, int, int ); 
     905 
     906    void cgSetParameter3i( void*, int, int, int ); 
     907 
     908    void cgSetParameter2i( void*, int, int ); 
     909 
     910    void cgSetParameter1i( void*, int ); 
     911 
     912    void cgSetParameter4d( void*, double, double, double, double ); 
     913 
     914    void cgSetParameter3d( void*, double, double, double ); 
     915 
     916    void cgSetParameter2d( void*, double, double ); 
     917 
     918    void cgSetParameter1d( void*, double ); 
     919 
     920    void cgSetParameter4f( void*, float, float, float, float ); 
     921 
     922    void cgSetParameter3f( void*, float, float, float ); 
     923 
     924    void cgSetParameter2f( void*, float, float ); 
     925 
     926    void cgSetParameter1f( void*, float ); 
     927 
     928    void cgSetParameterSemantic( void*, char* ); 
     929 
     930    void cgSetParameterVariability( void*, int ); 
     931 
     932    int cgGetParameterIndex( void* ); 
     933 
     934    int cgIsParameterGlobal( void* ); 
     935 
     936    int cgGetParameterOrdinalNumber( void* ); 
     937 
     938    void cgSetStringParameterValue( void*, char* ); 
     939 
     940    char* cgGetStringParameterValue( void* ); 
     941 
     942    int cgGetParameterValueic( void*, int, int* ); 
     943 
     944    int cgGetParameterValueir( void*, int, int* ); 
     945 
     946    int cgGetParameterValuefc( void*, int, float* ); 
     947 
     948    int cgGetParameterValuefr( void*, int, float* ); 
     949 
     950    int cgGetParameterValuedc( void*, int, double* ); 
     951 
     952    int cgGetParameterValuedr( void*, int, double* ); 
     953 
     954    void cgSetParameterValueic( void*, int, int* ); 
     955 
     956    void cgSetParameterValueir( void*, int, int* ); 
     957 
     958    void cgSetParameterValuefc( void*, int, float* ); 
     959 
     960    void cgSetParameterValuefr( void*, int, float* ); 
     961 
     962    void cgSetParameterValuedc( void*, int, double* ); 
     963 
     964    void cgSetParameterValuedr( void*, int, double* ); 
     965 
     966    double* cgGetParameterValues( void*, int, int* ); 
     967 
     968    int cgIsParameterUsed( void*, void* ); 
     969 
     970    int cgIsParameterReferenced( void* ); 
     971 
     972    int cgGetParameterDirection( void* ); 
     973 
     974    int cgGetParameterVariability( void* ); 
     975 
     976    uint cgGetParameterResourceIndex( void* ); 
     977 
     978    int cgGetParameterBaseResource( void* ); 
     979 
     980    int cgGetParameterResource( void* ); 
     981 
     982    char* cgGetParameterSemantic( void* ); 
     983 
     984    int cgGetParameterNamedType( void* ); 
     985 
     986    int cgGetParameterColumns( void* ); 
     987 
     988    int cgGetParameterRows( void* ); 
     989 
     990    int cgGetParameterClass( void* ); 
     991 
     992    int cgGetParameterBaseType( void* ); 
     993 
     994    int cgGetParameterType( void* ); 
     995 
     996    char* cgGetParameterName( void* ); 
     997 
     998    int cgIsParameter( void* ); 
     999 
     1000    void* cgGetParameterContext( void* ); 
     1001 
     1002    void* cgGetParameterProgram( void* ); 
     1003 
     1004    void cgSetMultiDimArraySize( void*, int* ); 
     1005 
     1006    void cgSetArraySize( void*, int ); 
     1007 
     1008    int cgGetArrayTotalSize( void* ); 
     1009 
     1010    int cgGetArraySize( void*, int ); 
     1011 
     1012    int cgGetArrayType( void* ); 
     1013 
     1014    int cgGetArrayDimension( void* ); 
     1015 
     1016    void* cgGetArrayParameter( void*, int ); 
     1017 
     1018    void* cgGetFirstDependentParameter( void* ); 
     1019 
     1020    void* cgGetNamedStructParameter( void*, char* ); 
     1021 
     1022    void* cgGetFirstStructParameter( void* ); 
     1023 
     1024    void* cgGetNextLeafParameter( void* ); 
     1025 
     1026    void* cgGetFirstLeafParameter( void*, int ); 
     1027 
     1028    void* cgGetNextParameter( void* ); 
     1029 
     1030    void* cgGetFirstParameter( void*, int ); 
     1031 
     1032    void* cgGetNamedProgramParameter( void*, int, char* ); 
     1033 
     1034    void* cgGetNamedParameter( void*, char* ); 
     1035 
     1036    void* cgGetConnectedToParameter( void*, int ); 
     1037 
     1038    int cgGetNumConnectedToParameters( void* ); 
     1039 
     1040    void* cgGetConnectedParameter( void* ); 
     1041 
     1042    void cgDisconnectParameter( void* ); 
     1043 
     1044    void cgConnectParameter( void*, void* ); 
     1045 
     1046    void cgDestroyParameter( void* ); 
     1047 
     1048    void* cgCreateParameterMultiDimArray( void*, int, int, int* ); 
     1049 
     1050    void* cgCreateParameterArray( void*, int, int ); 
     1051 
     1052    void* cgCreateParameter( void*, int ); 
     1053 
     1054    void cgSetPassProgramParameters( void* ); 
     1055 
     1056    void cgSetProgramProfile( void*, int ); 
     1057 
     1058    char** cgGetProgramOptions( void* ); 
     1059 
     1060    int cgGetProgramProfile( void* ); 
     1061 
     1062    char* cgGetProgramString( void*, int ); 
     1063 
     1064    int cgIsProgramCompiled( void* ); 
     1065 
     1066    void cgCompileProgram( void* ); 
     1067 
     1068    int cgIsProgram( void* ); 
     1069 
     1070    void* cgGetProgramContext( void* ); 
     1071 
     1072    void* cgGetNextProgram( void* ); 
     1073 
     1074    void* cgGetFirstProgram( void* ); 
     1075 
     1076    void cgDestroyProgram( void* ); 
     1077 
     1078    void* cgCopyProgram( void* ); 
     1079 
     1080    void* cgCreateProgramFromFile( void*, int, char*, int, char*, char** ); 
     1081 
     1082    void* cgCreateProgram( void*, int, char*, int, char*, char** ); 
     1083 
     1084    int cgGetAutoCompile( void* ); 
     1085 
     1086    void cgSetAutoCompile( void*, int ); 
     1087 
     1088    void cgSetLastListing( void*, char* ); 
     1089 
     1090    char* cgGetLastListing( void* ); 
     1091 
     1092    int cgIsContext( void* ); 
     1093 
     1094    void cgDestroyContext( void* ); 
     1095 
    6911096    void* cgCreateContext(); 
    6921097} 
  • trunk/src/uni/lib/renderers/gl/EXT.d

    r18 r43  
    11/+ 
    22 
    3    Copyright(c) 2008, Trevor Parscal 
    4      
    5    Module: OpenGL Extensions 
    6  
    7 +/ 
     3 Copyright(c) 2008, Trevor Parscal 
     4  
     5 Module: OpenGL Extensions 
     6 
     7 +/ 
    88 
    99module uni.lib.renderers.gl.EXT; 
     
    1313 
    1414/* Bindings */ 
    15 version(GL_EXT_abgr) 
    16 
    17     enum:GLuint 
    18     { 
     15version ( GL_EXT_abgr ) { 
     16    enum : GLuint { 
    1917        GL_ABGR_EXT = 0x8000 
    2018    } 
    2119} 
    2220 
    23 version(GL_EXT_blend_color) 
    24 
    25     enum:GLuint 
    26     { 
     21version ( GL_EXT_blend_color ) { 
     22    enum : GLuint { 
    2723        GL_CONSTANT_COLOR_EXT = 0x8001, 
    2824        GL_ONE_MINUS_CONSTANT_COLOR_EXT = 0x8002, 
     
    3127        GL_BLEND_COLOR_EXT = 0x8005 
    3228    } 
    33      
    34     typedef GLvoid function(GLclampf, GLclampf, GLclampf, GLclampf) pfglBlendColorEXT; 
    35      
    36     extern(System) 
    37    
     29 
     30    typedef GLvoid function ( GLclampf, GLclampf, GLclampf, GLclampf ) 
     31       pfglBlendColorEXT; 
     32 
     33    extern ( System )
    3834        pfglBlendColorEXT glBlendColorEXT; 
    3935    } 
    40      
    41     static this() 
    42     { 
    43         glExtensions["GL_EXT_blend_color"] = 
    44         { 
    45             glBlendColorEXT = cast(pfglBlendColorEXT)glBindExtension("glBlendColorEXT"); 
    46         }; 
    47     } 
    48 
    49  
    50 version(GL_EXT_polygon_offset) 
    51 
    52     enum:GLuint 
    53     { 
     36 
     37    static this() { 
     38        glExtensions[ "GL_EXT_blend_color" ] = { 
     39            glBlendColorEXT = cast(pfglBlendColorEXT) glBindExtension( 
     40                "glBlendColorEXT" ); 
     41        }; 
     42    } 
     43
     44 
     45version ( GL_EXT_polygon_offset ) { 
     46    enum : GLuint { 
    5447        GL_POLYGON_OFFSET_EXT = 0x8037, 
    5548        GL_POLYGON_OFFSET_FACTOR_EXT = 0x8038, 
    5649        GL_POLYGON_OFFSET_BIAS_EXT = 0x8039 
    5750    } 
    58     typedef GLvoid function(GLfloat, GLfloat) pfglPolygonOffsetEXT; 
    59      
    60     extern(System) 
    61    
     51 
     52    typedef GLvoid function ( GLfloat, GLfloat ) pfglPolygonOffsetEXT; 
     53 
     54    extern ( System )
    6255        pfglPolygonOffsetEXT glPolygonOffsetEXT; 
    6356    } 
    64      
    65     static this() 
    66     { 
    67         glExtensions["GL_EXT_polygon_offset"] = 
    68         { 
    69             glPolygonOffsetEXT = cast(pfglPolygonOffsetEXT)glBindExtension("glPolygonOffsetEXT"); 
    70         }; 
    71     } 
    72 
    73  
    74 version(GL_EXT_texture) 
    75 
    76     enum:GLuint 
    77     { 
     57 
     58    static this() { 
     59        glExtensions[ "GL_EXT_polygon_offset" ] = { 
     60            glPolygonOffsetEXT = cast(pfglPolygonOffsetEXT) glBindExtension( 
     61                "glPolygonOffsetEXT" ); 
     62        }; 
     63    } 
     64
     65 
     66version ( GL_EXT_texture ) { 
     67    enum : GLuint { 
    7868        GL_ALPHA4_EXT = 0x803B, 
    7969        GL_ALPHA8_EXT = 0x803C, 
     
    122112} 
    123113 
    124 version(GL_EXT_texture3D) 
    125 
    126     enum:GLuint 
    127     { 
     114version ( GL_EXT_texture3D ) { 
     115    enum : GLuint { 
    128116        GL_PACK_SKIP_IMAGES_EXT = 0x806B, 
    129117        GL_PACK_IMAGE_HEIGHT_EXT = 0x806C, 
     
    136124        GL_MAX_3D_TEXTURE_SIZE_EXT = 0x8073 
    137125    } 
    138      
    139     typedef GLvoid function(GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, GLvoid*) pfglTexImage3DEXT; 
    140     typedef GLvoid function(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, GLvoid*) pfglTexSubImage3DEXT; 
    141  
    142     extern(System) 
    143     { 
     126 
     127    typedef GLvoid function ( GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, GLvoid* ) 
     128        pfglTexImage3DEXT; 
     129    typedef GLvoid function ( GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, GLvoid* ) 
     130        pfglTexSubImage3DEXT; 
     131 
     132    extern ( System ) { 
    144133        pfglTexImage3DEXT glTexImage3DEXT; 
    145134        pfglTexSubImage3DEXT glTexSubImage3DEXT; 
    146135    } 
    147      
    148     static this() 
    149    
    150         glExtensions["GL_EXT_texture3D"] = 
    151         { 
    152             glTexImage3DEXT = cast(pfglTexImage3DEXT)glBindExtension("glTexImage3DEXT"); 
    153             glTexSubImage3DEXT = cast(pfglTexSubImage3DEXT)glBindExtension("glTexSubImage3DEXT"); 
    154         }; 
    155     } 
    156 } 
    157  
    158 version(GL_EXT_subtexture) 
    159 
    160     typedef GLvoid function(GLenum, GLint, GLint, GLsizei, GLenum, GLenum, GLvoid*) pfglTexSubImage1DEXT; 
    161     typedef GLvoid function(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLvoid*) pfglTexSubImage2DEXT; 
    162      
    163     extern(System) 
    164    
     136 
     137    static this() { 
     138       glExtensions[ "GL_EXT_texture3D" ] =
     139           glTexImage3DEXT = cast(pfglTexImage3DEXT) glBindExtension( 
     140               "glTexImage3DEXT" ); 
     141            glTexSubImage3DEXT = cast(pfglTexSubImage3DEXT) glBindExtension( 
     142               "glTexSubImage3DEXT" ); 
     143        }; 
     144    } 
     145} 
     146 
     147version ( GL_EXT_subtexture ) { 
     148    typedef GLvoid function ( GLenum, GLint, GLint, GLsizei, GLenum, GLenum, GLvoid* ) 
     149       pfglTexSubImage1DEXT; 
     150    typedef GLvoid function ( GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLvoid* ) 
     151       pfglTexSubImage2DEXT; 
     152 
     153    extern ( System )
    165154        pfglTexSubImage1DEXT glTexSubImage1DEXT; 
    166155        pfglTexSubImage2DEXT glTexSubImage2DEXT; 
    167156    } 
    168      
    169     static this() 
    170     { 
    171         glExtensions["GL_EXT_subtexture"] = 
    172         { 
    173             glTexSubImage1DEXT = cast(pfglTexSubImage1DEXT)glBindExtension("glTexSubImage1DEXT"); 
    174             glTexSubImage2DEXT = cast(pfglTexSubImage2DEXT)glBindExtension("glTexSubImage2DEXT"); 
    175         }; 
    176     } 
    177 
    178  
    179 version(GL_EXT_copy_texture) 
    180 
    181     typedef GLvoid function(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint) pfglCopyTexImage1DEXT; 
    182     typedef GLvoid function(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint) pfglCopyTexImage2DEXT; 
    183     typedef GLvoid function(GLenum, GLint, GLint, GLint, GLint, GLsizei) pfglCopyTexSubImage1DEXT; 
    184     typedef GLvoid function(GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei) pfglCopyTexSubImage2DEXT; 
    185     typedef GLvoid function(GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei) pfglCopyTexSubImage3DEXT; 
    186      
    187     extern(System) 
    188     { 
     157 
     158    static this() { 
     159        glExtensions[ "GL_EXT_subtexture" ] = { 
     160            glTexSubImage1DEXT = cast(pfglTexSubImage1DEXT) glBindExtension( 
     161                "glTexSubImage1DEXT" ); 
     162            glTexSubImage2DEXT = cast(pfglTexSubImage2DEXT) glBindExtension( 
     163                "glTexSubImage2DEXT" ); 
     164        }; 
     165    } 
     166
     167 
     168version ( GL_EXT_copy_texture ) { 
     169    typedef GLvoid function ( GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint ) 
     170        pfglCopyTexImage1DEXT; 
     171    typedef GLvoid function ( GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint ) 
     172        pfglCopyTexImage2DEXT; 
     173    typedef GLvoid function ( GLenum, GLint, GLint, GLint, GLint, GLsizei ) 
     174        pfglCopyTexSubImage1DEXT; 
     175    typedef GLvoid function ( GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei ) 
     176        pfglCopyTexSubImage2DEXT; 
     177    typedef GLvoid function ( GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei ) 
     178        pfglCopyTexSubImage3DEXT; 
     179 
     180    extern ( System ) { 
    189181        pfglCopyTexImage1DEXT glCopyTexImage1DEXT; 
    190182        pfglCopyTexImage2DEXT glCopyTexImage2DEXT; 
     
    193185        pfglCopyTexSubImage3DEXT glCopyTexSubImage3DEXT; 
    194186    } 
    195      
    196     static this() 
    197     { 
    198         glExtensions["GL_EXT_copy_texture"] = 
    199         { 
    200             glCopyTexImage1DEXT = cast(pfglCopyTexImage1DEXT)glBindExtension("glCopyTexImage1DEXT"); 
    201             glCopyTexImage2DEXT = cast(pfglCopyTexImage2DEXT)glBindExtension("glCopyTexImage2DEXT"); 
    202             glCopyTexSubImage1DEXT = cast(pfglCopyTexSubImage1DEXT)glBindExtension("glCopyTexSubImage1DEXT"); 
    203             glCopyTexSubImage2DEXT = cast(pfglCopyTexSubImage2DEXT)glBindExtension("glCopyTexSubImage2DEXT"); 
    204             glCopyTexSubImage3DEXT = cast(pfglCopyTexSubImage3DEXT)glBindExtension("glCopyTexSubImage3DEXT"); 
    205         }; 
    206     } 
    207 
    208  
    209 version(GL_EXT_histogram) 
    210 
    211     enum:GLuint 
    212     { 
     187 
     188    static this() { 
     189        glExtensions[ "GL_EXT_copy_texture" ] = { 
     190            glCopyTexImage1DEXT = cast(pfglCopyTexImage1DEXT) glBindExtension( 
     191                "glCopyTexImage1DEXT" ); 
     192            glCopyTexImage2DEXT = cast(pfglCopyTexImage2DEXT) glBindExtension( 
     193                "glCopyTexImage2DEXT" ); 
     194            glCopyTexSubImage1DEXT = cast(pfglCopyTexSubImage1DEXT) glBindExtension( 
     195                "glCopyTexSubImage1DEXT" ); 
     196            glCopyTexSubImage2DEXT = cast(pfglCopyTexSubImage2DEXT) glBindExtension( 
     197                "glCopyTexSubImage2DEXT" ); 
     198            glCopyTexSubImage3DEXT = cast(pfglCopyTexSubImage3DEXT) glBindExtension( 
     199                "glCopyTexSubImage3DEXT" ); 
     200        }; 
     201    } 
     202
     203 
     204version ( GL_EXT_histogram ) { 
     205    enum : GLuint { 
    213206        GL_HISTOGRAM_EXT = 0x8024, 
    214207        GL_PROXY_HISTOGRAM_EXT = 0x8025, 
     
    226219        GL_TABLE_TOO_LARGE_EXT = 0x8031 
    227220    } 
    228      
    229     typedef GLvoid function(GLenum, GLboolean, GLenum, GLenum, GLvoid*) pfglGetHistogramEXT; 
    230     typedef GLvoid function(GLenum, GLenum, GLfloat*) pfglGetHistogramParameterfvEXT; 
    231     typedef GLvoid function(GLenum, GLenum, GLint*) pfglGetHistogramParameterivEXT; 
    232     typedef GLvoid function(GLenum, GLboolean, GLenum, GLenum, GLvoid*) pfglGetMinmaxEXT; 
    233     typedef GLvoid function(GLenum, GLenum, GLfloat*) pfglGetMinmaxParameterfvEXT; 
    234     typedef GLvoid function(GLenum, GLenum, GLint*) pfglGetMinmaxParameterivEXT; 
    235     typedef GLvoid function(GLenum, GLsizei, GLenum, GLboolean) pfglHistogramEXT; 
    236     typedef GLvoid function(GLenum, GLenum, GLboolean) pfglMinmaxEXT; 
    237     typedef GLvoid function(GLenum) pfglResetHistogramEXT; 
    238     typedef GLvoid function(GLenum) pfglResetMinmaxEXT; 
    239      
    240     extern(System) 
    241     { 
     221 
     222    typedef GLvoid function ( GLenum, GLboolean, GLenum, GLenum, GLvoid* ) 
     223        pfglGetHistogramEXT; 
     224    typedef GLvoid function ( GLenum, GLenum, GLfloat* ) 
     225        pfglGetHistogramParameterfvEXT; 
     226    typedef GLvoid function ( GLenum, GLenum, GLint* ) 
     227        pfglGetHistogramParameterivEXT; 
     228    typedef GLvoid function ( GLenum, GLboolean, GLenum, GLenum, GLvoid* ) 
     229        pfglGetMinmaxEXT; 
     230    typedef GLvoid function ( GLenum, GLenum, GLfloat* ) 
     231        pfglGetMinmaxParameterfvEXT; 
     232    typedef GLvoid function ( GLenum, GLenum, GLint* ) 
     233        pfglGetMinmaxParameterivEXT; 
     234    typedef GLvoid function ( GLenum, GLsizei, GLenum, GLboolean ) 
     235        pfglHistogramEXT; 
     236    typedef GLvoid function ( GLenum, GLenum, GLboolean ) pfglMinmaxEXT; 
     237    typedef GLvoid function ( GLenum ) pfglResetHistogramEXT; 
     238    typedef GLvoid function ( GLenum ) pfglResetMinmaxEXT; 
     239 
     240    extern ( System ) { 
    242241        pfglGetHistogramEXT glGetHistogramEXT; 
    243242        pfglGetHistogramParameterfvEXT glGetHistogramParameterfvEXT; 
     
    251250        pfglResetMinmaxEXT glResetMinmaxEXT; 
    252251    } 
    253      
    254     static this() 
    255     { 
    256         glExtensions["GL_EXT_histogram"] = 
    257         { 
    258             glGetHistogramEXT = cast(pfglGetHistogramEXT)glBindExtension("glGetHistogramEXT"); 
    259             glGetHistogramParameterfvEXT = cast(pfglGetHistogramParameterfvEXT)glBindExtension("glGetHistogramParameterfvEXT"); 
    260             glGetHistogramParameterivEXT = cast(pfglGetHistogramParameterivEXT)glBindExtension("glGetHistogramParameterivEXT"); 
    261             glGetMinmaxEXT = cast(pfglGetMinmaxEXT)glBindExtension("glGetMinmaxEXT"); 
    262             glGetMinmaxParameterfvEXT = cast(pfglGetMinmaxParameterfvEXT)glBindExtension("glGetMinmaxParameterfvEXT"); 
    263             glGetMinmaxParameterivEXT = cast(pfglGetMinmaxParameterivEXT)glBindExtension("glGetMinmaxParameterivEXT"); 
    264             glHistogramEXT = cast(pfglHistogramEXT)glBindExtension("glHistogramEXT"); 
    265             glMinmaxEXT = cast(pfglMinmaxEXT)glBindExtension("glMinmaxEXT"); 
    266             glResetHistogramEXT = cast(pfglResetHistogramEXT)glBindExtension("glResetHistogramEXT"); 
    267             glResetMinmaxEXT = cast(pfglResetMinmaxEXT)glBindExtension("glResetMinmaxEXT"); 
    268         }; 
    269     } 
    270 
    271  
    272 version(GL_EXT_convolution) 
    273 
    274     enum:GLuint 
    275     { 
     252 
     253    static this() { 
     254        glExtensions[ "GL_EXT_histogram" ] = { 
     255            glGetHistogramEXT = cast(pfglGetHistogramEXT) glBindExtension( 
     256                "glGetHistogramEXT" ); 
     257            glGetHistogramParameterfvEXT = cast(pfglGetHistogramParameterfvEXT) glBindExtension( 
     258                "glGetHistogramParameterfvEXT" ); 
     259            glGetHistogramParameterivEXT = cast(pfglGetHistogramParameterivEXT) glBindExtension( 
     260                "glGetHistogramParameterivEXT" ); 
     261            glGetMinmaxEXT = cast(pfglGetMinmaxEXT) glBindExtension( 
     262                "glGetMinmaxEXT" ); 
     263            glGetMinmaxParameterfvEXT = cast(pfglGetMinmaxParameterfvEXT) glBindExtension( 
     264                "glGetMinmaxParameterfvEXT" ); 
     265            glGetMinmaxParameterivEXT = cast(pfglGetMinmaxParameterivEXT) glBindExtension( 
     266                "glGetMinmaxParameterivEXT" ); 
     267            glHistogramEXT = cast(pfglHistogramEXT) glBindExtension( 
     268                "glHistogramEXT" ); 
     269            glMinmaxEXT = cast(pfglMinmaxEXT) glBindExtension( "glMinmaxEXT" ); 
     270            glResetHistogramEXT = cast(pfglResetHistogramEXT) glBindExtension( 
     271                "glResetHistogramEXT" ); 
     272            glResetMinmaxEXT = cast(pfglResetMinmaxEXT) glBindExtension( 
     273                "glResetMinmaxEXT" ); 
     274        }; 
     275    } 
     276
     277 
     278version ( GL_EXT_convolution ) { 
     279    enum : GLuint { 
    276280        GL_CONVOLUTION_1D_EXT = 0x8010, 
    277281        GL_CONVOLUTION_2D_EXT = 0x8011, 
     
    295299        GL_POST_CONVOLUTION_ALPHA_BIAS_EXT = 0x8023 
    296300    } 
    297      
    298     typedef GLvoid function(GLenum, GLenum, GLsizei, GLenum, GLenum, GLvoid*) pfglConvolutionFilter1DEXT; 
    299     typedef GLvoid function(GLenum, GLenum, GLsizei, GLsizei, GLenum, GLenum, GLvoid*) pfglConvolutionFilter2DEXT; 
    300     typedef GLvoid function(GLenum, GLenum, GLfloat) pfglConvolutionParameterfEXT; 
    301     typedef GLvoid function(GLenum, GLenum, GLfloat*) pfglConvolutionParameterfvEXT; 
    302     typedef GLvoid function(GLenum, GLenum, GLint) pfglConvolutionParameteriEXT; 
    303     typedef GLvoid function(GLenum, GLenum, GLint*) pfglConvolutionParameterivEXT; 
    304     typedef GLvoid function(GLenum, GLenum, GLint, GLint, GLsizei) pfglCopyConvolutionFilter1DEXT; 
    305     typedef GLvoid function(GLenum, GLenum, GLint, GLint, GLsizei, GLsizei) pfglCopyConvolutionFilter2DEXT; 
    306     typedef GLvoid function(GLenum, GLenum, GLenum, GLvoid*) pfglGetConvolutionFilterEXT; 
    307     typedef GLvoid function(GLenum, GLenum, GLfloat*) pfglGetConvolutionParameterfvEXT; 
    308     typedef GLvoid function(GLenum, GLenum, GLint*) pfglGetConvolutionParameterivEXT; 
    309     typedef GLvoid function(GLenum, GLenum, GLenum, GLvoid*, GLvoid*, GLvoid*) pfglGetSeparableFilterEXT; 
    310     typedef GLvoid function(GLenum, GLenum, GLsizei, GLsizei, GLenum, GLenum, GLvoid*, GLvoid*) pfglSeparableFilter2DEXT; 
    311      
    312     extern(System) 
    313     { 
     301 
     302    typedef GLvoid function ( GLenum, GLenum, GLsizei, GLenum, GLenum, GLvoid* ) 
     303        pfglConvolutionFilter1DEXT; 
     304    typedef GLvoid function ( GLenum, GLenum, GLsizei, GLsizei, GLenum, GLenum, GLvoid* ) 
     305        pfglConvolutionFilter2DEXT; 
     306    typedef GLvoid function ( GLenum, GLenum, GLfloat ) 
     307        pfglConvolutionParameterfEXT; 
     308    typedef GLvoid function ( GLenum, GLenum, GLfloat* ) 
     309        pfglConvolutionParameterfvEXT; 
     310    typedef GLvoid function ( GLenum, GLenum, GLint ) 
     311        pfglConvolutionParameteriEXT; 
     312    typedef GLvoid function ( GLenum, GLenum, GLint* ) 
     313        pfglConvolutionParameterivEXT; 
     314    typedef GLvoid function ( GLenum, GLenum, GLint, GLint, GLsizei ) 
     315        pfglCopyConvolutionFilter1DEXT; 
     316    typedef GLvoid function ( GLenum, GLenum, GLint, GLint, GLsizei, GLsizei ) 
     317        pfglCopyConvolutionFilter2DEXT; 
     318    typedef GLvoid function ( GLenum, GLenum, GLenum, GLvoid* ) 
     319        pfglGetConvolutionFilterEXT; 
     320    typedef GLvoid function ( GLenum, GLenum, GLfloat* ) 
     321        pfglGetConvolutionParameterfvEXT; 
     322    typedef GLvoid function ( GLenum, GLenum, GLint* ) 
     323        pfglGetConvolutionParameterivEXT; 
     324    typedef GLvoid function ( GLenum, GLenum, GLenum, GLvoid*, GLvoid*, GLvoid* ) 
     325        pfglGetSeparableFilterEXT; 
     326    typedef GLvoid function ( GLenum, GLenum, GLsizei, GLsizei, GLenum, GLenum, GLvoid*, GLvoid* ) 
     327        pfglSeparableFilter2DEXT; 
     328 
     329    extern ( System ) { 
    314330        pfglConvolutionFilter1DEXT glConvolutionFilter1DEXT; 
    315331        pfglConvolutionFilter2DEXT glConvolutionFilter2DEXT; 
     
    326342        pfglSeparableFilter2DEXT glSeparableFilter2DEXT; 
    327343    } 
    328      
    329     static this() 
    330     { 
    331         glExtensions["GL_EXT_convolution"] = 
    332         { 
    333             glConvolutionFilter1DEXT = cast(pfglConvolutionFilter1DEXT)glBindExtension("glConvolutionFilter1DEXT"); 
    334             glConvolutionFilter2DEXT = cast(pfglConvolutionFilter2DEXT)glBindExtension("glConvolutionFilter2DEXT"); 
    335             glConvolutionParameterfEXT = cast(pfglConvolutionParameterfEXT)glBindExtension("glConvolutionParameterfEXT"); 
    336             glConvolutionParameterfvEXT = cast(pfglConvolutionParameterfvEXT)glBindExtension("glConvolutionParameterfvEXT"); 
    337             glConvolutionParameteriEXT = cast(pfglConvolutionParameteriEXT)glBindExtension("glConvolutionParameteriEXT"); 
    338             glConvolutionParameterivEXT = cast(pfglConvolutionParameterivEXT)glBindExtension("glConvolutionParameterivEXT"); 
    339             glCopyConvolutionFilter1DEXT = cast(pfglCopyConvolutionFilter1DEXT)glBindExtension("glCopyConvolutionFilter1DEXT"); 
    340             glCopyConvolutionFilter2DEXT = cast(pfglCopyConvolutionFilter2DEXT)glBindExtension("glCopyConvolutionFilter2DEXT"); 
    341             glGetConvolutionFilterEXT = cast(pfglGetConvolutionFilterEXT)glBindExtension("glGetConvolutionFilterEXT"); 
    342             glGetConvolutionParameterfvEXT = cast(pfglGetConvolutionParameterfvEXT)glBindExtension("glGetConvolutionParameterfvEXT"); 
    343             glGetConvolutionParameterivEXT = cast(pfglGetConvolutionParameterivEXT)glBindExtension("glGetConvolutionParameterivEXT"); 
    344             glGetSeparableFilterEXT = cast(pfglGetSeparableFilterEXT)glBindExtension("glGetSeparableFilterEXT"); 
    345             glSeparableFilter2DEXT = cast(pfglSeparableFilter2DEXT)glBindExtension("glSeparableFilter2DEXT"); 
    346         }; 
    347     } 
    348 
    349  
    350 version(GL_EXT_cmyka) 
    351 
    352     enum:GLuint 
    353     { 
     344 
     345    static this() { 
     346        glExtensions[ "GL_EXT_convolution" ] = { 
     347            glConvolutionFilter1DEXT = cast(pfglConvolutionFilter1DEXT) glBindExtension( 
     348                "glConvolutionFilter1DEXT" ); 
     349            glConvolutionFilter2DEXT = cast(pfglConvolutionFilter2DEXT) glBindExtension( 
     350                "glConvolutionFilter2DEXT" ); 
     351            glConvolutionParameterfEXT = cast(pfglConvolutionParameterfEXT) glBindExtension( 
     352                "glConvolutionParameterfEXT" ); 
     353            glConvolutionParameterfvEXT = cast(pfglConvolutionParameterfvEXT) glBindExtension( 
     354                "glConvolutionParameterfvEXT" ); 
     355            glConvolutionParameteriEXT = cast(pfglConvolutionParameteriEXT) glBindExtension( 
     356                "glConvolutionParameteriEXT" ); 
     357            glConvolutionParameterivEXT = cast(pfglConvolutionParameterivEXT) glBindExtension( 
     358                "glConvolutionParameterivEXT" ); 
     359            glCopyConvolutionFilter1DEXT = cast(pfglCopyConvolutionFilter1DEXT) glBindExtension( 
     360                "glCopyConvolutionFilter1DEXT" ); 
     361            glCopyConvolutionFilter2DEXT = cast(pfglCopyConvolutionFilter2DEXT) glBindExtension( 
     362                "glCopyConvolutionFilter2DEXT" ); 
     363            glGetConvolutionFilterEXT = cast(pfglGetConvolutionFilterEXT) glBindExtension( 
     364                "glGetConvolutionFilterEXT" ); 
     365            glGetConvolutionParameterfvEXT = cast(pfglGetConvolutionParameterfvEXT) glBindExtension( 
     366                "glGetConvolutionParameterfvEXT" ); 
     367            glGetConvolutionParameterivEXT = cast(pfglGetConvolutionParameterivEXT) glBindExtension( 
     368                "glGetConvolutionParameterivEXT" ); 
     369            glGetSeparableFilterEXT = cast(pfglGetSeparableFilterEXT) glBindExtension( 
     370                "glGetSeparableFilterEXT" ); 
     371            glSeparableFilter2DEXT = cast(pfglSeparableFilter2DEXT) glBindExtension( 
     372                "glSeparableFilter2DEXT" ); 
     373        }; 
     374    } 
     375
     376 
     377version ( GL_EXT_cmyka ) { 
     378    enum : GLuint { 
    354379        GL_CMYK_EXT = 0x800C, 
    355380        GL_CMYKA_EXT = 0x800D, 
     
    359384} 
    360385 
    361 version(GL_EXT_texture_object) 
    362 
    363     enum:GLuint 
    364     { 
     386version ( GL_EXT_texture_object ) { 
     387    enum : GLuint { 
    365388        GL_TEXTURE_PRIORITY_EXT = 0x8066, 
    366389        GL_TEXTURE_RESIDENT_EXT = 0x8067, 
     
    369392        GL_TEXTURE_3D_BINDING_EXT = 0x806A 
    370393    } 
    371      
    372     typedef GLboolean function(GLsizei, GLuint*, GLboolean*) pfglAreTexturesResidentEXT; 
    373     typedef GLvoid function(GLenum, GLuint) pfglBindTextureEXT; 
    374     typedef GLvoid function(GLsizei, GLuint*) pfglDeleteTexturesEXT; 
    375     typedef GLvoid function(GLsizei, GLuint*) pfglGenTexturesEXT; 
    376     typedef GLboolean function(GLuint) pfglIsTextureEXT; 
    377     typedef GLvoid function(GLsizei, GLuint*, GLclampf*) pfglPrioritizeTexturesEXT; 
    378      
    379     extern(System) 
    380     { 
     394 
     395    typedef GLboolean function ( GLsizei, GLuint*, GLboolean* ) 
     396        pfglAreTexturesResidentEXT; 
     397    typedef GLvoid function ( GLenum, GLuint ) pfglBindTextureEXT; 
     398    typedef GLvoid function ( GLsizei, GLuint* ) pfglDeleteTexturesEXT; 
     399    typedef GLvoid function ( GLsizei, GLuint* ) pfglGenTexturesEXT; 
     400    typedef GLboolean function ( GLuint ) pfglIsTextureEXT; 
     401    typedef GLvoid function ( GLsizei, GLuint*, GLclampf* ) 
     402        pfglPrioritizeTexturesEXT; 
     403 
     404    extern ( System ) { 
    381405        pfglAreTexturesResidentEXT glAreTexturesResidentEXT; 
    382406        pfglBindTextureEXT glBindTextureEXT; 
     
    386410        pfglPrioritizeTexturesEXT glPrioritizeTexturesEXT; 
    387411    } 
    388      
    389     static this() 
    390     { 
    391         glExtensions["GL_EXT_texture_object"] = 
    392         { 
    393             glAreTexturesResidentEXT = cast(pfglAreTexturesResidentEXT)glBindExtension("glAreTexturesResidentEXT"); 
    394             glBindTextureEXT = cast(pfglBindTextureEXT)glBindExtension("glBindTextureEXT"); 
    395             glDeleteTexturesEXT = cast(pfglDeleteTexturesEXT)glBindExtension("glDeleteTexturesEXT"); 
    396             glGenTexturesEXT = cast(pfglGenTexturesEXT)glBindExtension("glGenTexturesEXT"); 
    397             glIsTextureEXT = cast(pfglIsTextureEXT)glBindExtension("glIsTextureEXT"); 
    398             glPrioritizeTexturesEXT = cast(pfglPrioritizeTexturesEXT)glBindExtension("glPrioritizeTexturesEXT"); 
    399         }; 
    400     } 
    401 
    402  
    403 version(GL_EXT_packed_pixels) 
    404 
    405     enum:GLuint 
    406     { 
     412 
     413    static this() { 
     414        glExtensions[ "GL_EXT_texture_object" ] = { 
     415            glAreTexturesResidentEXT = cast(pfglAreTexturesResidentEXT) glBindExtension( 
     416                "glAreTexturesResidentEXT" ); 
     417            glBindTextureEXT = cast(pfglBindTextureEXT) glBindExtension( 
     418                "glBindTextureEXT" ); 
     419            glDeleteTexturesEXT = cast(pfglDeleteTexturesEXT) glBindExtension( 
     420                "glDeleteTexturesEXT" ); 
     421            glGenTexturesEXT = cast(pfglGenTexturesEXT) glBindExtension( 
     422                "glGenTexturesEXT" ); 
     423            glIsTextureEXT = cast(pfglIsTextureEXT) glBindExtension( 
     424                "glIsTextureEXT" ); 
     425            glPrioritizeTexturesEXT = cast(pfglPrioritizeTexturesEXT) glBindExtension( 
     426                "glPrioritizeTexturesEXT" ); 
     427        }; 
     428    } 
     429
     430 
     431version ( GL_EXT_packed_pixels ) { 
     432    enum : GLuint { 
    407433        GL_UNSIGNED_BYTE_3_3_2_EXT = 0x8032, 
    408434        GL_UNSIGNED_SHORT_4_4_4_4_EXT = 0x8033, 
     
    413439} 
    414440 
    415 version(GL_EXT_rescale_normal) 
    416 
    417     enum:GLuint 
    418     { 
     441version ( GL_EXT_rescale_normal ) { 
     442    enum : GLuint { 
    419443        GL_RESCALE_NORMAL_EXT = 0x803A 
    420444    } 
    421445} 
    422446 
    423 version(GL_EXT_vertex_array) 
    424 
    425     enum:GLuint 
    426     { 
     447version ( GL_EXT_vertex_array ) { 
     448    enum : GLuint { 
    427449        GL_VERTEX_ARRAY_EXT = 0x8074, 
    428450        GL_NORMAL_ARRAY_EXT = 0x8075, 
     
    458480        GL_EDGE_FLAG_ARRAY_POINTER_EXT = 0x8093 
    459481    } 
    460      
    461     typedef GLvoid function(GLint) pfglArrayElementEXT; 
    462     typedef GLvoid function(GLint, GLenum, GLsizei, GLsizei, GLvoid*) pfglColorPointerEXT; 
    463     typedef GLvoid function(GLenum, GLint, GLsizei) pfglDrawArraysEXT; 
    464     typedef GLvoid function(GLsizei, GLsizei, GLboolean*) pfglEdgeFlagPointerEXT; 
    465     typedef GLvoid function(GLenum, GLvoid**) pfglGetPointervEXT; 
    466     typedef GLvoid function(GLenum, GLsizei, GLsizei, GLvoid*) pfglIndexPointerEXT; 
    467     typedef GLvoid function(GLenum, GLsizei, GLsizei, GLvoid*) pfglNormalPointerEXT; 
    468     typedef GLvoid function(GLint, GLenum, GLsizei, GLsizei, GLvoid*) pfglTexCoordPointerEXT; 
    469     typedef GLvoid function(GLint, GLenum, GLsizei, GLsizei, GLvoid*) pfglVertexPointerEXT; 
    470      
    471     extern(System) 
    472     { 
     482 
     483    typedef GLvoid function ( GLint ) pfglArrayElementEXT; 
     484    typedef GLvoid function ( GLint, GLenum, GLsizei, GLsizei, GLvoid* ) 
     485        pfglColorPointerEXT; 
     486    typedef GLvoid function ( GLenum, GLint, GLsizei ) pfglDrawArraysEXT; 
     487    typedef GLvoid function ( GLsizei, GLsizei, GLboolean* ) 
     488        pfglEdgeFlagPointerEXT; 
     489    typedef GLvoid function ( GLenum, GLvoid** ) pfglGetPointervEXT; 
     490    typedef GLvoid function ( GLenum, GLsizei, GLsizei, GLvoid* ) 
     491        pfglIndexPointerEXT; 
     492    typedef GLvoid function ( GLenum, GLsizei, GLsizei, GLvoid* ) 
     493        pfglNormalPointerEXT; 
     494    typedef GLvoid function ( GLint, GLenum, GLsizei, GLsizei, GLvoid* ) 
     495        pfglTexCoordPointerEXT; 
     496    typedef GLvoid function ( GLint, GLenum, GLsizei, GLsizei, GLvoid* ) 
     497        pfglVertexPointerEXT; 
     498 
     499    extern ( System ) { 
    473500        pfglArrayElementEXT glArrayElementEXT; 
    474501        pfglColorPointerEXT glColorPointerEXT; 
     
    481508        pfglVertexPointerEXT glVertexPointerEXT; 
    482509    } 
    483      
    484     static this() 
    485     { 
    486         glExtensions["GL_EXT_vertex_array"] = 
    487         { 
    488             glArrayElementEXT = cast(pfglArrayElementEXT)glBindExtension("glArrayElementEXT"); 
    489             glColorPointerEXT = cast(pfglColorPointerEXT)glBindExtension("glColorPointerEXT"); 
    490             glDrawArraysEXT = cast(pfglDrawArraysEXT)glBindExtension("glDrawArraysEXT"); 
    491             glEdgeFlagPointerEXT = cast(pfglEdgeFlagPointerEXT)glBindExtension("glEdgeFlagPointerEXT"); 
    492             glGetPointervEXT = cast(pfglGetPointervEXT)glBindExtension("glGetPointervEXT"); 
    493             glIndexPointerEXT = cast(pfglIndexPointerEXT)glBindExtension("glIndexPointerEXT"); 
    494             glNormalPointerEXT = cast(pfglNormalPointerEXT)glBindExtension("glNormalPointerEXT"); 
    495             glTexCoordPointerEXT = c