1 /* ---------------------------------------------------------------------------- 
   2  * This file was automatically generated by SWIG (http://www.swig.org). 
   5  * This file is not intended to be easily readable and contains a number of  
   6  * coding conventions designed to improve portability and efficiency. Do not make 
   7  * changes to this file unless you know what you are doing--modify the SWIG  
   8  * interface file instead.  
   9  * ----------------------------------------------------------------------------- */ 
  12 #define SWIG_PYTHON_DIRECTOR_NO_VTABLE 
  15 template<class T
> class SwigValueWrapper 
{ 
  18     SwigValueWrapper() : tt(0) { } 
  19     SwigValueWrapper(const SwigValueWrapper
<T
>& rhs
) : tt(new T(*rhs
.tt
)) { } 
  20     SwigValueWrapper(const T
& t
) : tt(new T(t
)) { } 
  21     ~SwigValueWrapper() { delete tt
; }  
  22     SwigValueWrapper
& operator=(const T
& t
) { delete tt
; tt 
= new T(t
); return *this; } 
  23     operator T
&() const { return *tt
; } 
  24     T 
*operator&() { return tt
; } 
  26     SwigValueWrapper
& operator=(const SwigValueWrapper
<T
>& rhs
); 
  30 /* ----------------------------------------------------------------------------- 
  31  *  This section contains generic SWIG labels for method/variable 
  32  *  declarations/attributes, and other compiler dependent labels. 
  33  * ----------------------------------------------------------------------------- */ 
  35 /* template workaround for compilers that cannot correctly implement the C++ standard */ 
  36 #ifndef SWIGTEMPLATEDISAMBIGUATOR 
  37 # if defined(__SUNPRO_CC) 
  38 #   if (__SUNPRO_CC <= 0x560) 
  39 #     define SWIGTEMPLATEDISAMBIGUATOR template 
  41 #     define SWIGTEMPLATEDISAMBIGUATOR  
  44 #   define SWIGTEMPLATEDISAMBIGUATOR  
  48 /* inline attribute */ 
  50 # if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__)) 
  51 #   define SWIGINLINE inline 
  57 /* attribute recognised by some compilers to avoid 'unused' warnings */ 
  59 # if defined(__GNUC__) 
  60 #   if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) 
  61 #     define SWIGUNUSED __attribute__ ((__unused__))  
  66 #   define SWIGUNUSED __attribute__ ((__unused__))  
  72 #ifndef SWIGUNUSEDPARM 
  74 #   define SWIGUNUSEDPARM(p) 
  76 #   define SWIGUNUSEDPARM(p) p SWIGUNUSED  
  80 /* internal SWIG method */ 
  82 # define SWIGINTERN static SWIGUNUSED 
  85 /* internal inline SWIG method */ 
  86 #ifndef SWIGINTERNINLINE 
  87 # define SWIGINTERNINLINE SWIGINTERN SWIGINLINE 
  90 /* exporting methods */ 
  91 #if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) 
  92 #  ifndef GCC_HASCLASSVISIBILITY 
  93 #    define GCC_HASCLASSVISIBILITY 
  98 # if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) 
  99 #   if defined(STATIC_LINKED) 
 102 #     define SWIGEXPORT __declspec(dllexport) 
 105 #   if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY) 
 106 #     define SWIGEXPORT __attribute__ ((visibility("default"))) 
 113 /* calling conventions for Windows */ 
 115 # if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) 
 116 #   define SWIGSTDCALL __stdcall 
 122 /* Deal with Microsoft's attempt at deprecating C standard runtime functions */ 
 123 #if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) 
 124 # define _CRT_SECURE_NO_DEPRECATE 
 128 /* Python.h has to appear first */ 
 131 /* ----------------------------------------------------------------------------- 
 134  * This file contains generic CAPI SWIG runtime support for pointer 
 136  * ----------------------------------------------------------------------------- */ 
 138 /* This should only be incremented when either the layout of swig_type_info changes, 
 139    or for whatever reason, the runtime changes incompatibly */ 
 140 #define SWIG_RUNTIME_VERSION "2" 
 142 /* define SWIG_TYPE_TABLE_NAME as "SWIG_TYPE_TABLE" */ 
 143 #ifdef SWIG_TYPE_TABLE 
 144 # define SWIG_QUOTE_STRING(x) #x 
 145 # define SWIG_EXPAND_AND_QUOTE_STRING(x) SWIG_QUOTE_STRING(x) 
 146 # define SWIG_TYPE_TABLE_NAME SWIG_EXPAND_AND_QUOTE_STRING(SWIG_TYPE_TABLE) 
 148 # define SWIG_TYPE_TABLE_NAME 
 152   You can use the SWIGRUNTIME and SWIGRUNTIMEINLINE macros for 
 153   creating a static or dynamic library from the swig runtime code. 
 154   In 99.9% of the cases, swig just needs to declare them as 'static'. 
 156   But only do this if is strictly necessary, ie, if you have problems 
 157   with your compiler or so. 
 161 # define SWIGRUNTIME SWIGINTERN 
 164 #ifndef SWIGRUNTIMEINLINE 
 165 # define SWIGRUNTIMEINLINE SWIGRUNTIME SWIGINLINE 
 168 /*  Generic buffer size */ 
 169 #ifndef SWIG_BUFFER_SIZE 
 170 # define SWIG_BUFFER_SIZE 1024 
 173 /* Flags for pointer conversions */ 
 174 #define SWIG_POINTER_DISOWN        0x1 
 176 /* Flags for new pointer objects */ 
 177 #define SWIG_POINTER_OWN           0x1 
 181    Flags/methods for returning states. 
 183    The swig conversion methods, as ConvertPtr, return and integer  
 184    that tells if the conversion was successful or not. And if not, 
 185    an error code can be returned (see swigerrors.swg for the codes). 
 187    Use the following macros/flags to set or process the returning 
 190    In old swig versions, you usually write code as: 
 192      if (SWIG_ConvertPtr(obj,vptr,ty.flags) != -1) { 
 198    Now you can be more explicit as: 
 200     int res = SWIG_ConvertPtr(obj,vptr,ty.flags); 
 201     if (SWIG_IsOK(res)) { 
 207    that seems to be the same, but now you can also do 
 210     int res = SWIG_ConvertPtr(obj,(void **)(&ptr),ty.flags); 
 211     if (SWIG_IsOK(res)) { 
 213       if (SWIG_IsNewObj(res) { 
 223    I.e., now SWIG_ConvertPtr can return new objects and you can 
 224    identify the case and take care of the deallocation. Of course that 
 225    requires also to SWIG_ConvertPtr to return new result values, as 
 227       int SWIG_ConvertPtr(obj, ptr,...) {          
 229           if (<need new object>) {                      
 230             *ptr = <ptr to new allocated object>;  
 233             *ptr = <ptr to old object>;         
 241    Of course, returning the plain '0(success)/-1(fail)' still works, but you can be 
 242    more explicit by returning SWIG_BADOBJ, SWIG_ERROR or any of the 
 245    Finally, if the SWIG_CASTRANK_MODE is enabled, the result code 
 246    allows to return the 'cast rank', for example, if you have this 
 253       food(1)   // cast rank '1'  (1 -> 1.0) 
 254       fooi(1)   // cast rank '0' 
 256    just use the SWIG_AddCast()/SWIG_CheckState() 
 261 #define SWIG_ERROR                 (-1) 
 262 #define SWIG_IsOK(r)               (r >= 0) 
 263 #define SWIG_ArgError(r)           ((r != SWIG_ERROR) ? r : SWIG_TypeError)   
 265 /* The CastRankLimit says how many bits are used for the cast rank */ 
 266 #define SWIG_CASTRANKLIMIT         (1 << 8) 
 267 /* The NewMask denotes the object was created (using new/malloc) */ 
 268 #define SWIG_NEWOBJMASK            (SWIG_CASTRANKLIMIT  << 1) 
 269 /* The TmpMask is for in/out typemaps that use temporal objects */ 
 270 #define SWIG_TMPOBJMASK            (SWIG_NEWOBJMASK << 1) 
 271 /* Simple returning values */ 
 272 #define SWIG_BADOBJ                (SWIG_ERROR) 
 273 #define SWIG_OLDOBJ                (SWIG_OK) 
 274 #define SWIG_NEWOBJ                (SWIG_OK | SWIG_NEWOBJMASK) 
 275 #define SWIG_TMPOBJ                (SWIG_OK | SWIG_TMPOBJMASK) 
 276 /* Check, add and del mask methods */ 
 277 #define SWIG_AddNewMask(r)         (SWIG_IsOK(r) ? (r | SWIG_NEWOBJMASK) : r) 
 278 #define SWIG_DelNewMask(r)         (SWIG_IsOK(r) ? (r & ~SWIG_NEWOBJMASK) : r) 
 279 #define SWIG_IsNewObj(r)           (SWIG_IsOK(r) && (r & SWIG_NEWOBJMASK)) 
 280 #define SWIG_AddTmpMask(r)         (SWIG_IsOK(r) ? (r | SWIG_TMPOBJMASK) : r) 
 281 #define SWIG_DelTmpMask(r)         (SWIG_IsOK(r) ? (r & ~SWIG_TMPOBJMASK) : r) 
 282 #define SWIG_IsTmpObj(r)           (SWIG_IsOK(r) && (r & SWIG_TMPOBJMASK)) 
 286 #if defined(SWIG_CASTRANK_MODE) 
 287 #  ifndef SWIG_TypeRank 
 288 #    define SWIG_TypeRank             unsigned long 
 290 #  ifndef SWIG_MAXCASTRANK            /* Default cast allowed */ 
 291 #    define SWIG_MAXCASTRANK          (2) 
 293 #  define SWIG_CASTRANKMASK          ((SWIG_CASTRANKLIMIT) -1) 
 294 #  define SWIG_CastRank(r)           (r & SWIG_CASTRANKMASK) 
 295 SWIGINTERNINLINE 
int SWIG_AddCast(int r
) {  
 296   return SWIG_IsOK(r
) ? ((SWIG_CastRank(r
) < SWIG_MAXCASTRANK
) ? (r 
+ 1) : SWIG_ERROR
) : r
; 
 298 SWIGINTERNINLINE 
int SWIG_CheckState(int r
) {  
 299   return SWIG_IsOK(r
) ? SWIG_CastRank(r
) + 1 : 0;  
 301 #else /* no cast-rank mode */ 
 302 #  define SWIG_AddCast 
 303 #  define SWIG_CheckState(r) (SWIG_IsOK(r) ? 1 : 0) 
 315 typedef void *(*swig_converter_func
)(void *); 
 316 typedef struct swig_type_info 
*(*swig_dycast_func
)(void **); 
 318 /* Structure to store inforomation on one type */ 
 319 typedef struct swig_type_info 
{ 
 320   const char             *name
;                 /* mangled name of this type */ 
 321   const char             *str
;                  /* human readable name of this type */ 
 322   swig_dycast_func        dcast
;                /* dynamic cast function down a hierarchy */ 
 323   struct swig_cast_info  
*cast
;                 /* linked list of types that can cast into this type */ 
 324   void                   *clientdata
;           /* language specific type data */ 
 325   int                    owndata
;               /* flag if the structure owns the clientdata */ 
 328 /* Structure to store a type and conversion function used for casting */ 
 329 typedef struct swig_cast_info 
{ 
 330   swig_type_info         
*type
;                 /* pointer to type that is equivalent to this type */ 
 331   swig_converter_func     converter
;            /* function to cast the void pointers */ 
 332   struct swig_cast_info  
*next
;                 /* pointer to next cast in linked list */ 
 333   struct swig_cast_info  
*prev
;                 /* pointer to the previous cast */ 
 336 /* Structure used to store module information 
 337  * Each module generates one structure like this, and the runtime collects 
 338  * all of these structures and stores them in a circularly linked list.*/ 
 339 typedef struct swig_module_info 
{ 
 340   swig_type_info         
**types
;               /* Array of pointers to swig_type_info structures that are in this module */ 
 341   size_t                 size
;                  /* Number of types in this module */ 
 342   struct swig_module_info 
*next
;                /* Pointer to next element in circularly linked list */ 
 343   swig_type_info         
**type_initial
;        /* Array of initially generated type structures */ 
 344   swig_cast_info         
**cast_initial
;        /* Array of initially generated casting structures */ 
 345   void                    *clientdata
;          /* Language specific module data */ 
 349   Compare two type names skipping the space characters, therefore 
 350   "char*" == "char *" and "Class<int>" == "Class<int >", etc. 
 352   Return 0 when the two name types are equivalent, as in 
 353   strncmp, but skipping ' '. 
 356 SWIG_TypeNameComp(const char *f1
, const char *l1
, 
 357                   const char *f2
, const char *l2
) { 
 358   for (;(f1 
!= l1
) && (f2 
!= l2
); ++f1
, ++f2
) { 
 359     while ((*f1 
== ' ') && (f1 
!= l1
)) ++f1
; 
 360     while ((*f2 
== ' ') && (f2 
!= l2
)) ++f2
; 
 361     if (*f1 
!= *f2
) return (*f1 
> *f2
) ? 1 : -1; 
 363   return (l1 
- f1
) - (l2 
- f2
); 
 367   Check type equivalence in a name list like <name1>|<name2>|... 
 368   Return 0 if not equal, 1 if equal 
 371 SWIG_TypeEquiv(const char *nb
, const char *tb
) { 
 373   const char* te 
= tb 
+ strlen(tb
); 
 375   while (!equiv 
&& *ne
) { 
 376     for (nb 
= ne
; *ne
; ++ne
) { 
 377       if (*ne 
== '|') break; 
 379     equiv 
= (SWIG_TypeNameComp(nb
, ne
, tb
, te
) == 0) ? 1 : 0; 
 386   Check type equivalence in a name list like <name1>|<name2>|... 
 387   Return 0 if equal, -1 if nb < tb, 1 if nb > tb 
 390 SWIG_TypeCompare(const char *nb
, const char *tb
) { 
 392   const char* te 
= tb 
+ strlen(tb
); 
 394   while (!equiv 
&& *ne
) { 
 395     for (nb 
= ne
; *ne
; ++ne
) { 
 396       if (*ne 
== '|') break; 
 398     equiv 
= (SWIG_TypeNameComp(nb
, ne
, tb
, te
) == 0) ? 1 : 0; 
 405 /* think of this as a c++ template<> or a scheme macro */ 
 406 #define SWIG_TypeCheck_Template(comparison, ty)         \ 
 408     swig_cast_info *iter = ty->cast;                    \ 
 411         if (iter == ty->cast) return iter;              \ 
 412         /* Move iter to the top of the linked list */   \ 
 413         iter->prev->next = iter->next;                  \ 
 415           iter->next->prev = iter->prev;                \ 
 416         iter->next = ty->cast;                          \ 
 418         if (ty->cast) ty->cast->prev = iter;            \ 
 430 SWIGRUNTIME swig_cast_info 
* 
 431 SWIG_TypeCheck(const char *c
, swig_type_info 
*ty
) { 
 432   SWIG_TypeCheck_Template(strcmp(iter
->type
->name
, c
) == 0, ty
); 
 435 /* Same as previous function, except strcmp is replaced with a pointer comparison */ 
 436 SWIGRUNTIME swig_cast_info 
* 
 437 SWIG_TypeCheckStruct(swig_type_info 
*from
, swig_type_info 
*into
) { 
 438   SWIG_TypeCheck_Template(iter
->type 
== from
, into
); 
 442   Cast a pointer up an inheritance hierarchy 
 444 SWIGRUNTIMEINLINE 
void * 
 445 SWIG_TypeCast(swig_cast_info 
*ty
, void *ptr
) { 
 446   return ((!ty
) || (!ty
->converter
)) ? ptr 
: (*ty
->converter
)(ptr
); 
 450    Dynamic pointer casting. Down an inheritance hierarchy 
 452 SWIGRUNTIME swig_type_info 
* 
 453 SWIG_TypeDynamicCast(swig_type_info 
*ty
, void **ptr
) { 
 454   swig_type_info 
*lastty 
= ty
; 
 455   if (!ty 
|| !ty
->dcast
) return ty
; 
 456   while (ty 
&& (ty
->dcast
)) { 
 457     ty 
= (*ty
->dcast
)(ptr
); 
 464   Return the name associated with this type 
 466 SWIGRUNTIMEINLINE 
const char * 
 467 SWIG_TypeName(const swig_type_info 
*ty
) { 
 472   Return the pretty name associated with this type, 
 473   that is an unmangled type name in a form presentable to the user. 
 475 SWIGRUNTIME 
const char * 
 476 SWIG_TypePrettyName(const swig_type_info 
*type
) { 
 477   /* The "str" field contains the equivalent pretty names of the 
 478      type, separated by vertical-bar characters.  We choose 
 479      to print the last name, as it is often (?) the most 
 481   if (!type
) return NULL
; 
 482   if (type
->str 
!= NULL
) { 
 483     const char *last_name 
= type
->str
; 
 485     for (s 
= type
->str
; *s
; s
++) 
 486       if (*s 
== '|') last_name 
= s
+1; 
 494    Set the clientdata field for a type 
 497 SWIG_TypeClientData(swig_type_info 
*ti
, void *clientdata
) { 
 498   swig_cast_info 
*cast 
= ti
->cast
; 
 499   /* if (ti->clientdata == clientdata) return; */ 
 500   ti
->clientdata 
= clientdata
; 
 503     if (!cast
->converter
) { 
 504       swig_type_info 
*tc 
= cast
->type
; 
 505       if (!tc
->clientdata
) { 
 506         SWIG_TypeClientData(tc
, clientdata
); 
 513 SWIG_TypeNewClientData(swig_type_info 
*ti
, void *clientdata
) { 
 514   SWIG_TypeClientData(ti
, clientdata
); 
 519   Search for a swig_type_info structure only by mangled name 
 520   Search is a O(log #types) 
 522   We start searching at module start, and finish searching when start == end.   
 523   Note: if start == end at the beginning of the function, we go all the way around 
 526 SWIGRUNTIME swig_type_info 
* 
 527 SWIG_MangledTypeQueryModule(swig_module_info 
*start
,  
 528                             swig_module_info 
*end
,  
 530   swig_module_info 
*iter 
= start
; 
 533       register size_t l 
= 0; 
 534       register size_t r 
= iter
->size 
- 1; 
 536         /* since l+r >= 0, we can (>> 1) instead (/ 2) */ 
 537         register size_t i 
= (l 
+ r
) >> 1;  
 538         const char *iname 
= iter
->types
[i
]->name
; 
 540           register int compare 
= strcmp(name
, iname
); 
 542             return iter
->types
[i
]; 
 543           } else if (compare 
< 0) { 
 549           } else if (compare 
> 0) { 
 553           break; /* should never happen */ 
 558   } while (iter 
!= end
); 
 563   Search for a swig_type_info structure for either a mangled name or a human readable name. 
 564   It first searches the mangled names of the types, which is a O(log #types) 
 565   If a type is not found it then searches the human readable names, which is O(#types). 
 567   We start searching at module start, and finish searching when start == end.   
 568   Note: if start == end at the beginning of the function, we go all the way around 
 571 SWIGRUNTIME swig_type_info 
* 
 572 SWIG_TypeQueryModule(swig_module_info 
*start
,  
 573                      swig_module_info 
*end
,  
 575   /* STEP 1: Search the name field using binary search */ 
 576   swig_type_info 
*ret 
= SWIG_MangledTypeQueryModule(start
, end
, name
); 
 580     /* STEP 2: If the type hasn't been found, do a complete search 
 581        of the str field (the human readable name) */ 
 582     swig_module_info 
*iter 
= start
; 
 584       register size_t i 
= 0; 
 585       for (; i 
< iter
->size
; ++i
) { 
 586         if (iter
->types
[i
]->str 
&& (SWIG_TypeEquiv(iter
->types
[i
]->str
, name
))) 
 587           return iter
->types
[i
]; 
 590     } while (iter 
!= end
); 
 593   /* neither found a match */ 
 598    Pack binary data into a string 
 601 SWIG_PackData(char *c
, void *ptr
, size_t sz
) { 
 602   static const char hex
[17] = "0123456789abcdef"; 
 603   register const unsigned char *u 
= (unsigned char *) ptr
; 
 604   register const unsigned char *eu 
=  u 
+ sz
; 
 605   for (; u 
!= eu
; ++u
) { 
 606     register unsigned char uu 
= *u
; 
 607     *(c
++) = hex
[(uu 
& 0xf0) >> 4]; 
 608     *(c
++) = hex
[uu 
& 0xf]; 
 614    Unpack binary data from a string 
 616 SWIGRUNTIME 
const char * 
 617 SWIG_UnpackData(const char *c
, void *ptr
, size_t sz
) { 
 618   register unsigned char *u 
= (unsigned char *) ptr
; 
 619   register const unsigned char *eu 
= u 
+ sz
; 
 620   for (; u 
!= eu
; ++u
) { 
 621     register char d 
= *(c
++); 
 622     register unsigned char uu
; 
 623     if ((d 
>= '0') && (d 
<= '9')) 
 624       uu 
= ((d 
- '0') << 4); 
 625     else if ((d 
>= 'a') && (d 
<= 'f')) 
 626       uu 
= ((d 
- ('a'-10)) << 4); 
 630     if ((d 
>= '0') && (d 
<= '9')) 
 632     else if ((d 
>= 'a') && (d 
<= 'f')) 
 633       uu 
|= (d 
- ('a'-10)); 
 642    Pack 'void *' into a string buffer. 
 645 SWIG_PackVoidPtr(char *buff
, void *ptr
, const char *name
, size_t bsz
) { 
 647   if ((2*sizeof(void *) + 2) > bsz
) return 0; 
 649   r 
= SWIG_PackData(r
,&ptr
,sizeof(void *)); 
 650   if (strlen(name
) + 1 > (bsz 
- (r 
- buff
))) return 0; 
 655 SWIGRUNTIME 
const char * 
 656 SWIG_UnpackVoidPtr(const char *c
, void **ptr
, const char *name
) { 
 658     if (strcmp(c
,"NULL") == 0) { 
 665   return SWIG_UnpackData(++c
,ptr
,sizeof(void *)); 
 669 SWIG_PackDataName(char *buff
, void *ptr
, size_t sz
, const char *name
, size_t bsz
) { 
 671   size_t lname 
= (name 
? strlen(name
) : 0); 
 672   if ((2*sz 
+ 2 + lname
) > bsz
) return 0; 
 674   r 
= SWIG_PackData(r
,ptr
,sz
); 
 676     strncpy(r
,name
,lname
+1); 
 683 SWIGRUNTIME 
const char * 
 684 SWIG_UnpackDataName(const char *c
, void *ptr
, size_t sz
, const char *name
) { 
 686     if (strcmp(c
,"NULL") == 0) { 
 693   return SWIG_UnpackData(++c
,ptr
,sz
); 
 701 #define  SWIG_UnknownError         -1  
 702 #define  SWIG_IOError              -2  
 703 #define  SWIG_RuntimeError         -3  
 704 #define  SWIG_IndexError           -4  
 705 #define  SWIG_TypeError            -5  
 706 #define  SWIG_DivisionByZero       -6  
 707 #define  SWIG_OverflowError        -7  
 708 #define  SWIG_SyntaxError          -8  
 709 #define  SWIG_ValueError           -9  
 710 #define  SWIG_SystemError          -10 
 711 #define  SWIG_AttributeError       -11 
 712 #define  SWIG_MemoryError          -12  
 713 #define  SWIG_NullReferenceError   -13 
 717 /* Python.h has to appear first */ 
 720 /* Add PyOS_snprintf for old Pythons */ 
 721 #if PY_VERSION_HEX < 0x02020000 
 722 # if defined(_MSC_VER) || defined(__BORLANDC__) || defined(_WATCOM) 
 723 #  define PyOS_snprintf _snprintf 
 725 #  define PyOS_snprintf snprintf 
 729 /* A crude PyString_FromFormat implementation for old Pythons */ 
 730 #if PY_VERSION_HEX < 0x02020000 
 732 #ifndef SWIG_PYBUFFER_SIZE 
 733 # define SWIG_PYBUFFER_SIZE 1024 
 737 PyString_FromFormat(const char *fmt
, ...) { 
 739   char buf
[SWIG_PYBUFFER_SIZE 
* 2]; 
 742   res 
= vsnprintf(buf
, sizeof(buf
), fmt
, ap
); 
 744   return (res 
< 0 || res 
>= (int)sizeof(buf
)) ? 0 : PyString_FromString(buf
); 
 748 /* Add PyObject_Del for old Pythons */ 
 749 #if PY_VERSION_HEX < 0x01060000 
 750 # define PyObject_Del(op) PyMem_DEL((op)) 
 753 # define PyObject_DEL PyObject_Del 
 756 /* A crude PyExc_StopIteration exception for old Pythons */ 
 757 #if PY_VERSION_HEX < 0x02020000 
 758 # ifndef PyExc_StopIteration 
 759 #  define PyExc_StopIteration PyExc_RuntimeError 
 761 # ifndef PyObject_GenericGetAttr 
 762 #  define PyObject_GenericGetAttr 0 
 765 /* Py_NotImplemented is defined in 2.1 and up. */ 
 766 #if PY_VERSION_HEX < 0x02010000 
 767 # ifndef Py_NotImplemented 
 768 #  define Py_NotImplemented PyExc_RuntimeError 
 773 /* A crude PyString_AsStringAndSize implementation for old Pythons */ 
 774 #if PY_VERSION_HEX < 0x02010000 
 775 # ifndef PyString_AsStringAndSize 
 776 #  define PyString_AsStringAndSize(obj, s, len) {*s = PyString_AsString(obj); *len = *s ? strlen(*s) : 0;} 
 780 /* PySequence_Size for old Pythons */ 
 781 #if PY_VERSION_HEX < 0x02000000 
 782 # ifndef PySequence_Size 
 783 #  define PySequence_Size PySequence_Length 
 788 /* PyBool_FromLong for old Pythons */ 
 789 #if PY_VERSION_HEX < 0x02030000 
 791 PyObject 
*PyBool_FromLong(long ok
) 
 793   PyObject 
*result 
= ok 
? Py_True 
: Py_False
; 
 800 /* ----------------------------------------------------------------------------- 
 802  * ----------------------------------------------------------------------------- */ 
 804 SWIGRUNTIME PyObject
* 
 805 SWIG_Python_ErrorType(int code
) { 
 808   case SWIG_MemoryError
: 
 809     type 
= PyExc_MemoryError
; 
 812     type 
= PyExc_IOError
; 
 814   case SWIG_RuntimeError
: 
 815     type 
= PyExc_RuntimeError
; 
 817   case SWIG_IndexError
: 
 818     type 
= PyExc_IndexError
; 
 821     type 
= PyExc_TypeError
; 
 823   case SWIG_DivisionByZero
: 
 824     type 
= PyExc_ZeroDivisionError
; 
 826   case SWIG_OverflowError
: 
 827     type 
= PyExc_OverflowError
; 
 829   case SWIG_SyntaxError
: 
 830     type 
= PyExc_SyntaxError
; 
 832   case SWIG_ValueError
: 
 833     type 
= PyExc_ValueError
; 
 835   case SWIG_SystemError
: 
 836     type 
= PyExc_SystemError
; 
 838   case SWIG_AttributeError
: 
 839     type 
= PyExc_AttributeError
; 
 842     type 
= PyExc_RuntimeError
; 
 849 SWIG_Python_AddErrorMsg(const char* mesg
) 
 853   PyObject 
*traceback 
= 0; 
 855   if (PyErr_Occurred()) PyErr_Fetch(&type
, &value
, &traceback
); 
 857     PyObject 
*old_str 
= PyObject_Str(value
); 
 860     PyErr_Format(type
, "%s %s", PyString_AsString(old_str
), mesg
); 
 864     PyErr_Format(PyExc_RuntimeError
, mesg
); 
 870 #if defined(SWIG_PYTHON_NO_THREADS) 
 871 #  if defined(SWIG_PYTHON_THREADS) 
 872 #    undef SWIG_PYTHON_THREADS 
 875 #if defined(SWIG_PYTHON_THREADS) /* Threading support is enabled */ 
 876 #  if !defined(SWIG_PYTHON_USE_GIL) && !defined(SWIG_PYTHON_NO_USE_GIL) 
 877 #    if (PY_VERSION_HEX >= 0x02030000) /* For 2.3 or later, use the PyGILState calls */ 
 878 #      define SWIG_PYTHON_USE_GIL 
 881 #  if defined(SWIG_PYTHON_USE_GIL) /* Use PyGILState threads calls */ 
 882 #    ifndef SWIG_PYTHON_INITIALIZE_THREADS 
 883 #     define SWIG_PYTHON_INITIALIZE_THREADS  PyEval_InitThreads()  
 885 #    ifdef __cplusplus /* C++ code */ 
 886        class SWIG_Python_Thread_Block 
{ 
 888          PyGILState_STATE state
; 
 890          void end() { if (status
) { PyGILState_Release(state
); status 
= false;} } 
 891          SWIG_Python_Thread_Block() : status(true), state(PyGILState_Ensure()) {} 
 892          ~SWIG_Python_Thread_Block() { end(); } 
 894        class SWIG_Python_Thread_Allow 
{ 
 898          void end() { if (status
) { PyEval_RestoreThread(save
); status 
= false; }} 
 899          SWIG_Python_Thread_Allow() : status(true), save(PyEval_SaveThread()) {} 
 900          ~SWIG_Python_Thread_Allow() { end(); } 
 902 #      define SWIG_PYTHON_THREAD_BEGIN_BLOCK   SWIG_Python_Thread_Block _swig_thread_block 
 903 #      define SWIG_PYTHON_THREAD_END_BLOCK     _swig_thread_block.end() 
 904 #      define SWIG_PYTHON_THREAD_BEGIN_ALLOW   SWIG_Python_Thread_Allow _swig_thread_allow 
 905 #      define SWIG_PYTHON_THREAD_END_ALLOW     _swig_thread_allow.end() 
 907 #      define SWIG_PYTHON_THREAD_BEGIN_BLOCK   PyGILState_STATE _swig_thread_block = PyGILState_Ensure() 
 908 #      define SWIG_PYTHON_THREAD_END_BLOCK     PyGILState_Release(_swig_thread_block) 
 909 #      define SWIG_PYTHON_THREAD_BEGIN_ALLOW   PyThreadState *_swig_thread_allow = PyEval_SaveThread() 
 910 #      define SWIG_PYTHON_THREAD_END_ALLOW     PyEval_RestoreThread(_swig_thread_allow) 
 912 #  else /* Old thread way, not implemented, user must provide it */ 
 913 #    if !defined(SWIG_PYTHON_INITIALIZE_THREADS) 
 914 #      define SWIG_PYTHON_INITIALIZE_THREADS 
 916 #    if !defined(SWIG_PYTHON_THREAD_BEGIN_BLOCK) 
 917 #      define SWIG_PYTHON_THREAD_BEGIN_BLOCK 
 919 #    if !defined(SWIG_PYTHON_THREAD_END_BLOCK) 
 920 #      define SWIG_PYTHON_THREAD_END_BLOCK 
 922 #    if !defined(SWIG_PYTHON_THREAD_BEGIN_ALLOW) 
 923 #      define SWIG_PYTHON_THREAD_BEGIN_ALLOW 
 925 #    if !defined(SWIG_PYTHON_THREAD_END_ALLOW) 
 926 #      define SWIG_PYTHON_THREAD_END_ALLOW 
 929 #else /* No thread support */ 
 930 #  define SWIG_PYTHON_INITIALIZE_THREADS 
 931 #  define SWIG_PYTHON_THREAD_BEGIN_BLOCK 
 932 #  define SWIG_PYTHON_THREAD_END_BLOCK 
 933 #  define SWIG_PYTHON_THREAD_BEGIN_ALLOW 
 934 #  define SWIG_PYTHON_THREAD_END_ALLOW 
 937 /* ----------------------------------------------------------------------------- 
 938  * Python API portion that goes into the runtime 
 939  * ----------------------------------------------------------------------------- */ 
 948 /* ----------------------------------------------------------------------------- 
 949  * Constant declarations 
 950  * ----------------------------------------------------------------------------- */ 
 953 #define SWIG_PY_POINTER 4 
 954 #define SWIG_PY_BINARY  5 
 956 /* Constant information structure */ 
 957 typedef struct swig_const_info 
{ 
 963   swig_type_info 
**ptype
; 
 974 /* ----------------------------------------------------------------------------- 
 975  * See the LICENSE file for information on copyright, usage and redistribution 
 976  * of SWIG, and the README file for authors - http://www.swig.org/release.html. 
 980  * This file contains the runtime support for Python modules 
 981  * and includes code for managing global variables and pointer 
 984  * ----------------------------------------------------------------------------- */ 
 986 /* Common SWIG API */ 
 988 #if PY_VERSION_HEX < 0x02050000 
 989 typedef int Py_ssize_t
; 
 992 /* for raw pointers */ 
 993 #define SWIG_Python_ConvertPtr(obj, pptr, type, flags)  SWIG_Python_ConvertPtrAndOwn(obj, pptr, type, flags, 0) 
 994 #define SWIG_ConvertPtr(obj, pptr, type, flags)         SWIG_Python_ConvertPtr(obj, pptr, type, flags) 
 995 #define SWIG_ConvertPtrAndOwn(obj,pptr,type,flags,own)  SWIG_Python_ConvertPtrAndOwn(obj, pptr, type, flags, own) 
 996 #define SWIG_NewPointerObj(ptr, type, flags)            SWIG_Python_NewPointerObj(ptr, type, flags) 
 997 #define SWIG_CheckImplicit(ty)                          SWIG_Python_CheckImplicit(ty)  
 998 #define SWIG_AcquirePtr(ptr, src)                       SWIG_Python_AcquirePtr(ptr, src) 
 999 #define swig_owntype                                    int 
1001 /* for raw packed data */ 
1002 #define SWIG_ConvertPacked(obj, ptr, sz, ty)            SWIG_Python_ConvertPacked(obj, ptr, sz, ty) 
1003 #define SWIG_NewPackedObj(ptr, sz, type)                SWIG_Python_NewPackedObj(ptr, sz, type) 
1005 /* for class or struct pointers */ 
1006 #define SWIG_ConvertInstance(obj, pptr, type, flags)    SWIG_ConvertPtr(obj, pptr, type, flags) 
1007 #define SWIG_NewInstanceObj(ptr, type, flags)           SWIG_NewPointerObj(ptr, type, flags) 
1009 /* for C or C++ function pointers */ 
1010 #define SWIG_ConvertFunctionPtr(obj, pptr, type)        SWIG_Python_ConvertFunctionPtr(obj, pptr, type) 
1011 #define SWIG_NewFunctionPtrObj(ptr, type)               SWIG_Python_NewPointerObj(ptr, type, 0) 
1013 /* for C++ member pointers, ie, member methods */ 
1014 #define SWIG_ConvertMember(obj, ptr, sz, ty)            SWIG_Python_ConvertPacked(obj, ptr, sz, ty) 
1015 #define SWIG_NewMemberObj(ptr, sz, type)                SWIG_Python_NewPackedObj(ptr, sz, type) 
1020 #define SWIG_GetModule(clientdata)                      SWIG_Python_GetModule() 
1021 #define SWIG_SetModule(clientdata, pointer)             SWIG_Python_SetModule(pointer) 
1022 #define SWIG_NewClientData(obj)                         PySwigClientData_New(obj) 
1024 #define SWIG_SetErrorObj                                SWIG_Python_SetErrorObj                             
1025 #define SWIG_SetErrorMsg                                SWIG_Python_SetErrorMsg                             
1026 #define SWIG_ErrorType(code)                            SWIG_Python_ErrorType(code)                         
1027 #define SWIG_Error(code, msg)                           SWIG_Python_SetErrorMsg(SWIG_ErrorType(code), msg)  
1028 #define SWIG_fail                                       goto fail                                           
1031 /* Runtime API implementation */ 
1033 /* Error manipulation */ 
1036 SWIG_Python_SetErrorObj(PyObject 
*errtype
, PyObject 
*obj
) { 
1037   SWIG_PYTHON_THREAD_BEGIN_BLOCK
;  
1038   PyErr_SetObject(errtype
, obj
); 
1040   SWIG_PYTHON_THREAD_END_BLOCK
; 
1044 SWIG_Python_SetErrorMsg(PyObject 
*errtype
, const char *msg
) { 
1045   SWIG_PYTHON_THREAD_BEGIN_BLOCK
; 
1046   PyErr_SetString(errtype
, (char *) msg
); 
1047   SWIG_PYTHON_THREAD_END_BLOCK
; 
1050 #define SWIG_Python_Raise(obj, type, desc)  SWIG_Python_SetErrorObj(SWIG_Python_ExceptionType(desc), obj) 
1052 /* Set a constant value */ 
1055 SWIG_Python_SetConstant(PyObject 
*d
, const char *name
, PyObject 
*obj
) {    
1056   PyDict_SetItemString(d
, (char*) name
, obj
); 
1060 /* Append a value to the result obj */ 
1062 SWIGINTERN PyObject
* 
1063 SWIG_Python_AppendOutput(PyObject
* result
, PyObject
* obj
) { 
1064 #if !defined(SWIG_PYTHON_OUTPUT_TUPLE) 
1067   } else if (result 
== Py_None
) { 
1071     if (!PyList_Check(result
)) { 
1072       PyObject 
*o2 
= result
; 
1073       result 
= PyList_New(1); 
1074       PyList_SetItem(result
, 0, o2
); 
1076     PyList_Append(result
,obj
); 
1085   } else if (result 
== Py_None
) { 
1089     if (!PyTuple_Check(result
)) { 
1091       result 
= PyTuple_New(1); 
1092       PyTuple_SET_ITEM(result
, 0, o2
); 
1094     o3 
= PyTuple_New(1); 
1095     PyTuple_SET_ITEM(o3
, 0, obj
); 
1097     result 
= PySequence_Concat(o2
, o3
); 
1105 /* Unpack the argument tuple */ 
1108 SWIG_Python_UnpackTuple(PyObject 
*args
, const char *name
, int min
, int max
, PyObject 
**objs
) 
1114       PyErr_Format(PyExc_TypeError
, "%s expected %s%d arguments, got none",  
1115                    name
, (min 
== max 
? "" : "at least "), min
); 
1119   if (!PyTuple_Check(args
)) { 
1120     PyErr_SetString(PyExc_SystemError
, "UnpackTuple() argument list is not a tuple"); 
1123     register int l 
= PyTuple_GET_SIZE(args
); 
1125       PyErr_Format(PyExc_TypeError
, "%s expected %s%d arguments, got %d",  
1126                    name
, (min 
== max 
? "" : "at least "), min
, l
); 
1128     } else if (l 
> max
) { 
1129       PyErr_Format(PyExc_TypeError
, "%s expected %s%d arguments, got %d",  
1130                    name
, (min 
== max 
? "" : "at most "), max
, l
); 
1134       for (i 
= 0; i 
< l
; ++i
) { 
1135         objs
[i
] = PyTuple_GET_ITEM(args
, i
); 
1137       for (; l 
< max
; ++l
) { 
1145 /* A functor is a function object with one single object argument */ 
1146 #if PY_VERSION_HEX >= 0x02020000 
1147 #define SWIG_Python_CallFunctor(functor, obj)           PyObject_CallFunctionObjArgs(functor, obj, NULL); 
1149 #define SWIG_Python_CallFunctor(functor, obj)           PyObject_CallFunction(functor, "O", obj); 
1153   Helper for static pointer initialization for both C and C++ code, for example 
1154   static PyObject *SWIG_STATIC_POINTER(MyVar) = NewSomething(...); 
1157 #define SWIG_STATIC_POINTER(var)  var 
1159 #define SWIG_STATIC_POINTER(var)  var = 0; if (!var) var 
1162 /* ----------------------------------------------------------------------------- 
1163  * Pointer declarations 
1164  * ----------------------------------------------------------------------------- */ 
1166 /* Flags for new pointer objects */ 
1167 #define SWIG_POINTER_NOSHADOW       (SWIG_POINTER_OWN      << 1) 
1168 #define SWIG_POINTER_NEW            (SWIG_POINTER_NOSHADOW | SWIG_POINTER_OWN) 
1170 #define SWIG_POINTER_IMPLICIT_CONV  (SWIG_POINTER_DISOWN   << 1) 
1179 /*  How to access Py_None */ 
1180 #if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) 
1181 #  ifndef SWIG_PYTHON_NO_BUILD_NONE 
1182 #    ifndef SWIG_PYTHON_BUILD_NONE 
1183 #      define SWIG_PYTHON_BUILD_NONE 
1188 #ifdef SWIG_PYTHON_BUILD_NONE 
1191 #   define Py_None SWIG_Py_None() 
1193 SWIGRUNTIMEINLINE PyObject 
*  
1196   PyObject 
*none 
= Py_BuildValue(""); 
1200 SWIGRUNTIME PyObject 
*  
1203   static PyObject 
*SWIG_STATIC_POINTER(none
) = _SWIG_Py_None(); 
1208 /* The python void return value */ 
1210 SWIGRUNTIMEINLINE PyObject 
*  
1213   PyObject 
*none 
= Py_None
; 
1218 /* PySwigClientData */ 
1229 SWIGRUNTIMEINLINE 
int  
1230 SWIG_Python_CheckImplicit(swig_type_info 
*ty
) 
1232   PySwigClientData 
*data 
= (PySwigClientData 
*)ty
->clientdata
; 
1233   return data 
? data
->implicitconv 
: 0; 
1236 SWIGRUNTIMEINLINE PyObject 
* 
1237 SWIG_Python_ExceptionType(swig_type_info 
*desc
) { 
1238   PySwigClientData 
*data 
= desc 
? (PySwigClientData 
*) desc
->clientdata 
: 0; 
1239   PyObject 
*klass 
= data 
? data
->klass 
: 0; 
1240   return (klass 
? klass 
: PyExc_RuntimeError
); 
1244 SWIGRUNTIME PySwigClientData 
*  
1245 PySwigClientData_New(PyObject
* obj
) 
1250     PySwigClientData 
*data 
= (PySwigClientData 
*)malloc(sizeof(PySwigClientData
)); 
1251     /* the klass element */ 
1253     Py_INCREF(data
->klass
); 
1254     /* the newraw method and newargs arguments used to create a new raw instance */ 
1255     if (PyClass_Check(obj
)) { 
1257       data
->newargs 
= obj
; 
1260 #if (PY_VERSION_HEX < 0x02020000) 
1263       data
->newraw 
= PyObject_GetAttrString(data
->klass
, (char *)"__new__"); 
1266         Py_INCREF(data
->newraw
); 
1267         data
->newargs 
= PyTuple_New(1); 
1268         PyTuple_SetItem(data
->newargs
, 0, obj
); 
1270         data
->newargs 
= obj
; 
1272       Py_INCREF(data
->newargs
); 
1274     /* the destroy method, aka as the C++ delete method */ 
1275     data
->destroy 
= PyObject_GetAttrString(data
->klass
, (char *)"__swig_destroy__"); 
1276     if (PyErr_Occurred()) { 
1280     if (data
->destroy
) { 
1282       Py_INCREF(data
->destroy
); 
1283       flags 
= PyCFunction_GET_FLAGS(data
->destroy
); 
1285       data
->delargs 
= !(flags 
& (METH_O
)); 
1292     data
->implicitconv 
= 0; 
1298 PySwigClientData_Del(PySwigClientData
* data
) 
1300   Py_XDECREF(data
->newraw
); 
1301   Py_XDECREF(data
->newargs
); 
1302   Py_XDECREF(data
->destroy
); 
1305 /* =============== PySwigObject =====================*/ 
1315 SWIGRUNTIME PyObject 
* 
1316 PySwigObject_long(PySwigObject 
*v
) 
1318   return PyLong_FromVoidPtr(v
->ptr
); 
1321 SWIGRUNTIME PyObject 
* 
1322 PySwigObject_format(const char* fmt
, PySwigObject 
*v
) 
1324   PyObject 
*res 
= NULL
; 
1325   PyObject 
*args 
= PyTuple_New(1); 
1327     if (PyTuple_SetItem(args
, 0, PySwigObject_long(v
)) == 0) { 
1328       PyObject 
*ofmt 
= PyString_FromString(fmt
); 
1330         res 
= PyString_Format(ofmt
,args
); 
1339 SWIGRUNTIME PyObject 
* 
1340 PySwigObject_oct(PySwigObject 
*v
) 
1342   return PySwigObject_format("%o",v
); 
1345 SWIGRUNTIME PyObject 
* 
1346 PySwigObject_hex(PySwigObject 
*v
) 
1348   return PySwigObject_format("%x",v
); 
1351 SWIGRUNTIME PyObject 
* 
1353 PySwigObject_repr(PySwigObject 
*v
) 
1355 PySwigObject_repr(PySwigObject 
*v
, PyObject 
*args
) 
1358   const char *name 
= SWIG_TypePrettyName(v
->ty
); 
1359   PyObject 
*hex 
= PySwigObject_hex(v
);     
1360   PyObject 
*repr 
= PyString_FromFormat("<Swig Object of type '%s' at 0x%s>", name
, PyString_AsString(hex
)); 
1364     PyObject 
*nrep 
= PySwigObject_repr((PySwigObject 
*)v
->next
); 
1366     PyObject 
*nrep 
= PySwigObject_repr((PySwigObject 
*)v
->next
, args
); 
1368     PyString_ConcatAndDel(&repr
,nrep
); 
1374 PySwigObject_print(PySwigObject 
*v
, FILE *fp
, int SWIGUNUSEDPARM(flags
)) 
1377   PyObject 
*repr 
= PySwigObject_repr(v
); 
1379   PyObject 
*repr 
= PySwigObject_repr(v
, NULL
); 
1382     fputs(PyString_AsString(repr
), fp
); 
1390 SWIGRUNTIME PyObject 
* 
1391 PySwigObject_str(PySwigObject 
*v
) 
1393   char result
[SWIG_BUFFER_SIZE
]; 
1394   return SWIG_PackVoidPtr(result
, v
->ptr
, v
->ty
->name
, sizeof(result
)) ? 
1395     PyString_FromString(result
) : 0; 
1399 PySwigObject_compare(PySwigObject 
*v
, PySwigObject 
*w
) 
1403   return (i 
< j
) ? -1 : ((i 
> j
) ? 1 : 0); 
1406 SWIGRUNTIME PyTypeObject
* _PySwigObject_type(void); 
1408 SWIGRUNTIME PyTypeObject
* 
1409 PySwigObject_type(void) { 
1410   static PyTypeObject 
*SWIG_STATIC_POINTER(type
) = _PySwigObject_type(); 
1414 SWIGRUNTIMEINLINE 
int 
1415 PySwigObject_Check(PyObject 
*op
) { 
1416   return ((op
)->ob_type 
== PySwigObject_type()) 
1417     || (strcmp((op
)->ob_type
->tp_name
,"PySwigObject") == 0); 
1420 SWIGRUNTIME PyObject 
* 
1421 PySwigObject_New(void *ptr
, swig_type_info 
*ty
, int own
); 
1424 PySwigObject_dealloc(PyObject 
*v
) 
1426   PySwigObject 
*sobj 
= (PySwigObject 
*) v
; 
1427   PyObject 
*next 
= sobj
->next
; 
1429     swig_type_info 
*ty 
= sobj
->ty
; 
1430     PySwigClientData 
*data 
= ty 
? (PySwigClientData 
*) ty
->clientdata 
: 0; 
1431     PyObject 
*destroy 
= data 
? data
->destroy 
: 0; 
1433       /* destroy is always a VARARGS method */ 
1435       if (data
->delargs
) { 
1436         /* we need to create a temporal object to carry the destroy operation */ 
1437         PyObject 
*tmp 
= PySwigObject_New(sobj
->ptr
, ty
, 0); 
1438         res 
= SWIG_Python_CallFunctor(destroy
, tmp
); 
1441         PyCFunction meth 
= PyCFunction_GET_FUNCTION(destroy
); 
1442         PyObject 
*mself 
= PyCFunction_GET_SELF(destroy
); 
1443         res 
= ((*meth
)(mself
, v
)); 
1447       const char *name 
= SWIG_TypePrettyName(ty
); 
1448 #if !defined(SWIG_PYTHON_SILENT_MEMLEAK) 
1449       printf("swig/python detected a memory leak of type '%s', no destructor found.\n", name
); 
1457 SWIGRUNTIME PyObject
*  
1458 PySwigObject_append(PyObject
* v
, PyObject
* next
) 
1460   PySwigObject 
*sobj 
= (PySwigObject 
*) v
; 
1463   if (!PyArg_ParseTuple(next
,(char *)"O:append", &tmp
)) return NULL
; 
1466   if (!PySwigObject_Check(next
)) { 
1471   return SWIG_Py_Void(); 
1474 SWIGRUNTIME PyObject
*  
1476 PySwigObject_next(PyObject
* v
) 
1478 PySwigObject_next(PyObject
* v
, PyObject 
*SWIGUNUSEDPARM(args
)) 
1481   PySwigObject 
*sobj 
= (PySwigObject 
*) v
; 
1483     Py_INCREF(sobj
->next
); 
1486     return SWIG_Py_Void(); 
1490 SWIGINTERN PyObject
* 
1492 PySwigObject_disown(PyObject 
*v
) 
1494 PySwigObject_disown(PyObject
* v
, PyObject 
*SWIGUNUSEDPARM(args
)) 
1497   PySwigObject 
*sobj 
= (PySwigObject 
*)v
; 
1499   return SWIG_Py_Void(); 
1502 SWIGINTERN PyObject
* 
1504 PySwigObject_acquire(PyObject 
*v
) 
1506 PySwigObject_acquire(PyObject
* v
, PyObject 
*SWIGUNUSEDPARM(args
)) 
1509   PySwigObject 
*sobj 
= (PySwigObject 
*)v
; 
1510   sobj
->own 
= SWIG_POINTER_OWN
; 
1511   return SWIG_Py_Void(); 
1514 SWIGINTERN PyObject
* 
1515 PySwigObject_own(PyObject 
*v
, PyObject 
*args
) 
1518 #if (PY_VERSION_HEX < 0x02020000) 
1519   if (!PyArg_ParseTuple(args
,(char *)"|O:own",&val
)) 
1521   if (!PyArg_UnpackTuple(args
, (char *)"own", 0, 1, &val
))  
1528       PySwigObject 
*sobj 
= (PySwigObject 
*)v
; 
1529       PyObject 
*obj 
= PyBool_FromLong(sobj
->own
); 
1532         if (PyObject_IsTrue(val
)) { 
1533           PySwigObject_acquire(v
); 
1535           PySwigObject_disown(v
); 
1538         if (PyObject_IsTrue(val
)) { 
1539           PySwigObject_acquire(v
,args
); 
1541           PySwigObject_disown(v
,args
); 
1551 swigobject_methods
[] = { 
1552   {(char *)"disown",  (PyCFunction
)PySwigObject_disown
,  METH_NOARGS
,  (char *)"releases ownership of the pointer"}, 
1553   {(char *)"acquire", (PyCFunction
)PySwigObject_acquire
, METH_NOARGS
,  (char *)"aquires ownership of the pointer"}, 
1554   {(char *)"own",     (PyCFunction
)PySwigObject_own
,     METH_VARARGS
, (char *)"returns/sets ownership of the pointer"}, 
1555   {(char *)"append",  (PyCFunction
)PySwigObject_append
,  METH_O
,       (char *)"appends another 'this' object"}, 
1556   {(char *)"next",    (PyCFunction
)PySwigObject_next
,    METH_NOARGS
,  (char *)"returns the next 'this' object"}, 
1557   {(char *)"__repr__",(PyCFunction
)PySwigObject_repr
,    METH_NOARGS
,  (char *)"returns object representation"}, 
1562 swigobject_methods
[] = { 
1563   {(char *)"disown",  (PyCFunction
)PySwigObject_disown
,  METH_VARARGS
,  (char *)"releases ownership of the pointer"}, 
1564   {(char *)"acquire", (PyCFunction
)PySwigObject_acquire
, METH_VARARGS
,  (char *)"aquires ownership of the pointer"}, 
1565   {(char *)"own",     (PyCFunction
)PySwigObject_own
,     METH_VARARGS
,  (char *)"returns/sets ownership of the pointer"}, 
1566   {(char *)"append",  (PyCFunction
)PySwigObject_append
,  METH_VARARGS
,  (char *)"appends another 'this' object"}, 
1567   {(char *)"next",    (PyCFunction
)PySwigObject_next
,    METH_VARARGS
,  (char *)"returns the next 'this' object"}, 
1568   {(char *)"__repr__",(PyCFunction
)PySwigObject_repr
,   METH_VARARGS
,  (char *)"returns object representation"}, 
1573 #if PY_VERSION_HEX < 0x02020000 
1574 SWIGINTERN PyObject 
* 
1575 PySwigObject_getattr(PySwigObject 
*sobj
,char *name
) 
1577   return Py_FindMethod(swigobject_methods
, (PyObject 
*)sobj
, name
); 
1581 SWIGRUNTIME PyTypeObject
* 
1582 _PySwigObject_type(void) { 
1583   static char swigobject_doc
[] = "Swig object carries a C/C++ instance pointer"; 
1585   static PyNumberMethods PySwigObject_as_number 
= { 
1586     (binaryfunc
)0, /*nb_add*/ 
1587     (binaryfunc
)0, /*nb_subtract*/ 
1588     (binaryfunc
)0, /*nb_multiply*/ 
1589     (binaryfunc
)0, /*nb_divide*/ 
1590     (binaryfunc
)0, /*nb_remainder*/ 
1591     (binaryfunc
)0, /*nb_divmod*/ 
1592     (ternaryfunc
)0,/*nb_power*/ 
1593     (unaryfunc
)0,  /*nb_negative*/ 
1594     (unaryfunc
)0,  /*nb_positive*/ 
1595     (unaryfunc
)0,  /*nb_absolute*/ 
1596     (inquiry
)0,    /*nb_nonzero*/ 
1603     (coercion
)0,   /*nb_coerce*/ 
1604     (unaryfunc
)PySwigObject_long
, /*nb_int*/ 
1605     (unaryfunc
)PySwigObject_long
, /*nb_long*/ 
1606     (unaryfunc
)0,                 /*nb_float*/ 
1607     (unaryfunc
)PySwigObject_oct
,  /*nb_oct*/ 
1608     (unaryfunc
)PySwigObject_hex
,  /*nb_hex*/ 
1609 #if PY_VERSION_HEX >= 0x02020000 
1610     0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_inplace_true_divide */  
1611 #elif PY_VERSION_HEX >= 0x02000000 
1612     0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_inplace_or */ 
1616   static PyTypeObject pyswigobject_type
;   
1617   static int type_init 
= 0; 
1619     const PyTypeObject tmp
 
1621         PyObject_HEAD_INIT(NULL
) 
1623         (char *)"PySwigObject",             /* tp_name */ 
1624         sizeof(PySwigObject
),               /* tp_basicsize */ 
1625         0,                                  /* tp_itemsize */ 
1626         (destructor
)PySwigObject_dealloc
,   /* tp_dealloc */ 
1627         (printfunc
)PySwigObject_print
,      /* tp_print */ 
1628 #if PY_VERSION_HEX < 0x02020000 
1629         (getattrfunc
)PySwigObject_getattr
,  /* tp_getattr */  
1631         (getattrfunc
)0,                     /* tp_getattr */  
1633         (setattrfunc
)0,                     /* tp_setattr */  
1634         (cmpfunc
)PySwigObject_compare
,      /* tp_compare */  
1635         (reprfunc
)PySwigObject_repr
,        /* tp_repr */     
1636         &PySwigObject_as_number
,            /* tp_as_number */ 
1637         0,                                  /* tp_as_sequence */ 
1638         0,                                  /* tp_as_mapping */ 
1639         (hashfunc
)0,                        /* tp_hash */ 
1640         (ternaryfunc
)0,                     /* tp_call */ 
1641         (reprfunc
)PySwigObject_str
,         /* tp_str */ 
1642         PyObject_GenericGetAttr
,            /* tp_getattro */ 
1643         0,                                  /* tp_setattro */ 
1644         0,                                  /* tp_as_buffer */ 
1645         Py_TPFLAGS_DEFAULT
,                 /* tp_flags */ 
1646         swigobject_doc
,                     /* tp_doc */         
1647         0,                                  /* tp_traverse */ 
1649         0,                                  /* tp_richcompare */ 
1650         0,                                  /* tp_weaklistoffset */ 
1651 #if PY_VERSION_HEX >= 0x02020000 
1653         0,                                  /* tp_iternext */ 
1654         swigobject_methods
,                 /* tp_methods */  
1659         0,                                  /* tp_descr_get */           
1660         0,                                  /* tp_descr_set */           
1661         0,                                  /* tp_dictoffset */          
1670         0,                                  /* tp_subclasses */ 
1671         0,                                  /* tp_weaklist */ 
1673 #if PY_VERSION_HEX >= 0x02030000 
1677         0,0,0,0                             /* tp_alloc -> tp_next */ 
1680     pyswigobject_type 
= tmp
; 
1681     pyswigobject_type
.ob_type 
= &PyType_Type
; 
1684   return &pyswigobject_type
; 
1687 SWIGRUNTIME PyObject 
* 
1688 PySwigObject_New(void *ptr
, swig_type_info 
*ty
, int own
) 
1690   PySwigObject 
*sobj 
= PyObject_NEW(PySwigObject
, PySwigObject_type()); 
1697   return (PyObject 
*)sobj
; 
1700 /* ----------------------------------------------------------------------------- 
1701  * Implements a simple Swig Packed type, and use it instead of string 
1702  * ----------------------------------------------------------------------------- */ 
1712 PySwigPacked_print(PySwigPacked 
*v
, FILE *fp
, int SWIGUNUSEDPARM(flags
)) 
1714   char result
[SWIG_BUFFER_SIZE
]; 
1715   fputs("<Swig Packed ", fp
);  
1716   if (SWIG_PackDataName(result
, v
->pack
, v
->size
, 0, sizeof(result
))) { 
1720   fputs(v
->ty
->name
,fp
);  
1725 SWIGRUNTIME PyObject 
* 
1726 PySwigPacked_repr(PySwigPacked 
*v
) 
1728   char result
[SWIG_BUFFER_SIZE
]; 
1729   if (SWIG_PackDataName(result
, v
->pack
, v
->size
, 0, sizeof(result
))) { 
1730     return PyString_FromFormat("<Swig Packed at %s%s>", result
, v
->ty
->name
); 
1732     return PyString_FromFormat("<Swig Packed %s>", v
->ty
->name
); 
1736 SWIGRUNTIME PyObject 
* 
1737 PySwigPacked_str(PySwigPacked 
*v
) 
1739   char result
[SWIG_BUFFER_SIZE
]; 
1740   if (SWIG_PackDataName(result
, v
->pack
, v
->size
, 0, sizeof(result
))){ 
1741     return PyString_FromFormat("%s%s", result
, v
->ty
->name
); 
1743     return PyString_FromString(v
->ty
->name
); 
1748 PySwigPacked_compare(PySwigPacked 
*v
, PySwigPacked 
*w
) 
1752   int s 
= (i 
< j
) ? -1 : ((i 
> j
) ? 1 : 0); 
1753   return s 
? s 
: strncmp((char *)v
->pack
, (char *)w
->pack
, 2*v
->size
); 
1756 SWIGRUNTIME PyTypeObject
* _PySwigPacked_type(void); 
1758 SWIGRUNTIME PyTypeObject
* 
1759 PySwigPacked_type(void) { 
1760   static PyTypeObject 
*SWIG_STATIC_POINTER(type
) = _PySwigPacked_type(); 
1764 SWIGRUNTIMEINLINE 
int 
1765 PySwigPacked_Check(PyObject 
*op
) { 
1766   return ((op
)->ob_type 
== _PySwigPacked_type())  
1767     || (strcmp((op
)->ob_type
->tp_name
,"PySwigPacked") == 0); 
1771 PySwigPacked_dealloc(PyObject 
*v
) 
1773   if (PySwigPacked_Check(v
)) { 
1774     PySwigPacked 
*sobj 
= (PySwigPacked 
*) v
; 
1780 SWIGRUNTIME PyTypeObject
* 
1781 _PySwigPacked_type(void) { 
1782   static char swigpacked_doc
[] = "Swig object carries a C/C++ instance pointer"; 
1783   static PyTypeObject pyswigpacked_type
; 
1784   static int type_init 
= 0;   
1786     const PyTypeObject tmp
 
1788         PyObject_HEAD_INIT(NULL
) 
1790         (char *)"PySwigPacked",             /* tp_name */        
1791         sizeof(PySwigPacked
),               /* tp_basicsize */   
1792         0,                                  /* tp_itemsize */    
1793         (destructor
)PySwigPacked_dealloc
,   /* tp_dealloc */     
1794         (printfunc
)PySwigPacked_print
,      /* tp_print */       
1795         (getattrfunc
)0,                     /* tp_getattr */     
1796         (setattrfunc
)0,                     /* tp_setattr */     
1797         (cmpfunc
)PySwigPacked_compare
,      /* tp_compare */     
1798         (reprfunc
)PySwigPacked_repr
,        /* tp_repr */        
1799         0,                                  /* tp_as_number */   
1800         0,                                  /* tp_as_sequence */ 
1801         0,                                  /* tp_as_mapping */  
1802         (hashfunc
)0,                        /* tp_hash */        
1803         (ternaryfunc
)0,                     /* tp_call */        
1804         (reprfunc
)PySwigPacked_str
,         /* tp_str */         
1805         PyObject_GenericGetAttr
,            /* tp_getattro */ 
1806         0,                                  /* tp_setattro */ 
1807         0,                                  /* tp_as_buffer */ 
1808         Py_TPFLAGS_DEFAULT
,                 /* tp_flags */ 
1809         swigpacked_doc
,                     /* tp_doc */ 
1810         0,                                  /* tp_traverse */ 
1812         0,                                  /* tp_richcompare */ 
1813         0,                                  /* tp_weaklistoffset */ 
1814 #if PY_VERSION_HEX >= 0x02020000 
1816         0,                                  /* tp_iternext */ 
1822         0,                                  /* tp_descr_get */           
1823         0,                                  /* tp_descr_set */           
1824         0,                                  /* tp_dictoffset */          
1833         0,                                  /* tp_subclasses */ 
1834         0,                                  /* tp_weaklist */ 
1836 #if PY_VERSION_HEX >= 0x02030000 
1840         0,0,0,0                             /* tp_alloc -> tp_next */ 
1843     pyswigpacked_type 
= tmp
; 
1844     pyswigpacked_type
.ob_type 
= &PyType_Type
; 
1847   return &pyswigpacked_type
; 
1850 SWIGRUNTIME PyObject 
* 
1851 PySwigPacked_New(void *ptr
, size_t size
, swig_type_info 
*ty
) 
1853   PySwigPacked 
*sobj 
= PyObject_NEW(PySwigPacked
, PySwigPacked_type()); 
1855     void *pack 
= malloc(size
); 
1857       memcpy(pack
, ptr
, size
); 
1862       PyObject_DEL((PyObject 
*) sobj
); 
1866   return (PyObject 
*) sobj
; 
1869 SWIGRUNTIME swig_type_info 
* 
1870 PySwigPacked_UnpackData(PyObject 
*obj
, void *ptr
, size_t size
) 
1872   if (PySwigPacked_Check(obj
)) { 
1873     PySwigPacked 
*sobj 
= (PySwigPacked 
*)obj
; 
1874     if (sobj
->size 
!= size
) return 0; 
1875     memcpy(ptr
, sobj
->pack
, size
); 
1882 /* ----------------------------------------------------------------------------- 
1883  * pointers/data manipulation 
1884  * ----------------------------------------------------------------------------- */ 
1886 SWIGRUNTIMEINLINE PyObject 
* 
1889   return PyString_FromString("this"); 
1892 SWIGRUNTIME PyObject 
* 
1895   static PyObject 
*SWIG_STATIC_POINTER(swig_this
) = _SWIG_This(); 
1899 /* #define SWIG_PYTHON_SLOW_GETSET_THIS */ 
1901 SWIGRUNTIME PySwigObject 
* 
1902 SWIG_Python_GetSwigThis(PyObject 
*pyobj
)  
1904   if (PySwigObject_Check(pyobj
)) { 
1905     return (PySwigObject 
*) pyobj
; 
1908 #if (!defined(SWIG_PYTHON_SLOW_GETSET_THIS) && (PY_VERSION_HEX >= 0x02030000)) 
1909     if (PyInstance_Check(pyobj
)) { 
1910       obj 
= _PyInstance_Lookup(pyobj
, SWIG_This());       
1912       PyObject 
**dictptr 
= _PyObject_GetDictPtr(pyobj
); 
1913       if (dictptr 
!= NULL
) { 
1914         PyObject 
*dict 
= *dictptr
; 
1915         obj 
= dict 
? PyDict_GetItem(dict
, SWIG_This()) : 0; 
1917 #ifdef PyWeakref_CheckProxy 
1918         if (PyWeakref_CheckProxy(pyobj
)) { 
1919           PyObject 
*wobj 
= PyWeakref_GET_OBJECT(pyobj
); 
1920           return wobj 
? SWIG_Python_GetSwigThis(wobj
) : 0; 
1923         obj 
= PyObject_GetAttr(pyobj
,SWIG_This()); 
1927           if (PyErr_Occurred()) PyErr_Clear(); 
1933     obj 
= PyObject_GetAttr(pyobj
,SWIG_This()); 
1937       if (PyErr_Occurred()) PyErr_Clear(); 
1941     if (obj 
&& !PySwigObject_Check(obj
)) { 
1942       /* a PyObject is called 'this', try to get the 'real this' 
1943          PySwigObject from it */  
1944       return SWIG_Python_GetSwigThis(obj
); 
1946     return (PySwigObject 
*)obj
; 
1950 /* Acquire a pointer value */ 
1953 SWIG_Python_AcquirePtr(PyObject 
*obj
, int own
) { 
1955     PySwigObject 
*sobj 
= SWIG_Python_GetSwigThis(obj
); 
1957       int oldown 
= sobj
->own
; 
1965 /* Convert a pointer value */ 
1968 SWIG_Python_ConvertPtrAndOwn(PyObject 
*obj
, void **ptr
, swig_type_info 
*ty
, int flags
, int *own
) { 
1969   if (!obj
) return SWIG_ERROR
; 
1970   if (obj 
== Py_None
) { 
1974     PySwigObject 
*sobj 
= SWIG_Python_GetSwigThis(obj
); 
1976       void *vptr 
= sobj
->ptr
; 
1978         swig_type_info 
*to 
= sobj
->ty
; 
1980           /* no type cast needed */ 
1981           if (ptr
) *ptr 
= vptr
; 
1984           swig_cast_info 
*tc 
= SWIG_TypeCheck(to
->name
,ty
); 
1986             sobj 
= (PySwigObject 
*)sobj
->next
; 
1988             if (ptr
) *ptr 
= SWIG_TypeCast(tc
,vptr
); 
1993         if (ptr
) *ptr 
= vptr
; 
1998       if (own
) *own 
= sobj
->own
; 
1999       if (flags 
& SWIG_POINTER_DISOWN
) { 
2004       int res 
= SWIG_ERROR
; 
2005       if (flags 
& SWIG_POINTER_IMPLICIT_CONV
) { 
2006         PySwigClientData 
*data 
= ty 
? (PySwigClientData 
*) ty
->clientdata 
: 0; 
2007         if (data 
&& !data
->implicitconv
) { 
2008           PyObject 
*klass 
= data
->klass
; 
2011             data
->implicitconv 
= 1; /* avoid recursion and call 'explicit' constructors*/ 
2012             impconv 
= SWIG_Python_CallFunctor(klass
, obj
); 
2013             data
->implicitconv 
= 0; 
2014             if (PyErr_Occurred()) { 
2019               PySwigObject 
*iobj 
= SWIG_Python_GetSwigThis(impconv
); 
2022                 res 
= SWIG_Python_ConvertPtrAndOwn((PyObject
*)iobj
, &vptr
, ty
, 0, 0); 
2023                 if (SWIG_IsOK(res
)) { 
2026                     /* transfer the ownership to 'ptr' */ 
2028                     res 
= SWIG_AddCast(res
); 
2029                     res 
= SWIG_AddNewMask(res
); 
2031                     res 
= SWIG_AddCast(res
);                 
2045 /* Convert a function ptr value */ 
2048 SWIG_Python_ConvertFunctionPtr(PyObject 
*obj
, void **ptr
, swig_type_info 
*ty
) { 
2049   if (!PyCFunction_Check(obj
)) { 
2050     return SWIG_ConvertPtr(obj
, ptr
, ty
, 0); 
2054     /* here we get the method pointer for callbacks */ 
2055     const char *doc 
= (((PyCFunctionObject 
*)obj
) -> m_ml 
-> ml_doc
); 
2056     const char *desc 
= doc 
? strstr(doc
, "swig_ptr: ") : 0; 
2058       desc 
= ty 
? SWIG_UnpackVoidPtr(desc 
+ 10, &vptr
, ty
->name
) : 0; 
2059       if (!desc
) return SWIG_ERROR
; 
2062       swig_cast_info 
*tc 
= SWIG_TypeCheck(desc
,ty
); 
2063       if (!tc
) return SWIG_ERROR
; 
2064       *ptr 
= SWIG_TypeCast(tc
,vptr
); 
2072 /* Convert a packed value value */ 
2075 SWIG_Python_ConvertPacked(PyObject 
*obj
, void *ptr
, size_t sz
, swig_type_info 
*ty
) { 
2076   swig_type_info 
*to 
= PySwigPacked_UnpackData(obj
, ptr
, sz
); 
2077   if (!to
) return SWIG_ERROR
; 
2080       /* check type cast? */ 
2081       swig_cast_info 
*tc 
= SWIG_TypeCheck(to
->name
,ty
); 
2082       if (!tc
) return SWIG_ERROR
; 
2088 /* ----------------------------------------------------------------------------- 
2089  * Create a new pointer object 
2090  * ----------------------------------------------------------------------------- */ 
2093   Create a new instance object, whitout calling __init__, and set the 
2097 SWIGRUNTIME PyObject
*  
2098 SWIG_Python_NewShadowInstance(PySwigClientData 
*data
, PyObject 
*swig_this
) 
2100 #if (PY_VERSION_HEX >= 0x02020000) 
2102   PyObject 
*newraw 
= data
->newraw
; 
2104     inst 
= PyObject_Call(newraw
, data
->newargs
, NULL
); 
2106 #if !defined(SWIG_PYTHON_SLOW_GETSET_THIS) 
2107       PyObject 
**dictptr 
= _PyObject_GetDictPtr(inst
); 
2108       if (dictptr 
!= NULL
) { 
2109         PyObject 
*dict 
= *dictptr
; 
2111           dict 
= PyDict_New(); 
2113           PyDict_SetItem(dict
, SWIG_This(), swig_this
); 
2117       PyObject 
*key 
= SWIG_This(); 
2118       PyObject_SetAttr(inst
, key
, swig_this
); 
2122     PyObject 
*dict 
= PyDict_New(); 
2123     PyDict_SetItem(dict
, SWIG_This(), swig_this
); 
2124     inst 
= PyInstance_NewRaw(data
->newargs
, dict
); 
2129 #if (PY_VERSION_HEX >= 0x02010000) 
2131   PyObject 
*dict 
= PyDict_New(); 
2132   PyDict_SetItem(dict
, SWIG_This(), swig_this
); 
2133   inst 
= PyInstance_NewRaw(data
->newargs
, dict
); 
2135   return (PyObject 
*) inst
; 
2137   PyInstanceObject 
*inst 
= PyObject_NEW(PyInstanceObject
, &PyInstance_Type
); 
2141   inst
->in_class 
= (PyClassObject 
*)data
->newargs
; 
2142   Py_INCREF(inst
->in_class
); 
2143   inst
->in_dict 
= PyDict_New(); 
2144   if (inst
->in_dict 
== NULL
) { 
2148 #ifdef Py_TPFLAGS_HAVE_WEAKREFS 
2149   inst
->in_weakreflist 
= NULL
; 
2151 #ifdef Py_TPFLAGS_GC 
2152   PyObject_GC_Init(inst
); 
2154   PyDict_SetItem(inst
->in_dict
, SWIG_This(), swig_this
); 
2155   return (PyObject 
*) inst
; 
2161 SWIG_Python_SetSwigThis(PyObject 
*inst
, PyObject 
*swig_this
) 
2164 #if (PY_VERSION_HEX >= 0x02020000) && !defined(SWIG_PYTHON_SLOW_GETSET_THIS) 
2165  PyObject 
**dictptr 
= _PyObject_GetDictPtr(inst
); 
2166  if (dictptr 
!= NULL
) { 
2169      dict 
= PyDict_New(); 
2172    PyDict_SetItem(dict
, SWIG_This(), swig_this
); 
2176  dict 
= PyObject_GetAttrString(inst
, "__dict__"); 
2177  PyDict_SetItem(dict
, SWIG_This(), swig_this
); 
2182 SWIGINTERN PyObject 
* 
2183 SWIG_Python_InitShadowInstance(PyObject 
*args
) { 
2185   if (!SWIG_Python_UnpackTuple(args
,(char*)"swiginit", 2, 2, obj
)) { 
2188     PySwigObject 
*sthis 
= SWIG_Python_GetSwigThis(obj
[0]); 
2190       PySwigObject_append((PyObject
*) sthis
, obj
[1]); 
2192       SWIG_Python_SetSwigThis(obj
[0], obj
[1]); 
2194     return SWIG_Py_Void(); 
2198 /* Create a new pointer object */ 
2200 SWIGRUNTIME PyObject 
* 
2201 SWIG_Python_NewPointerObj(void *ptr
, swig_type_info 
*type
, int flags
) { 
2203     return SWIG_Py_Void(); 
2205     int own 
= (flags 
& SWIG_POINTER_OWN
) ? SWIG_POINTER_OWN 
: 0; 
2206     PyObject 
*robj 
= PySwigObject_New(ptr
, type
, own
); 
2207     PySwigClientData 
*clientdata 
= type 
? (PySwigClientData 
*)(type
->clientdata
) : 0; 
2208     if (clientdata 
&& !(flags 
& SWIG_POINTER_NOSHADOW
)) { 
2209       PyObject 
*inst 
= SWIG_Python_NewShadowInstance(clientdata
, robj
); 
2219 /* Create a new packed object */ 
2221 SWIGRUNTIMEINLINE PyObject 
* 
2222 SWIG_Python_NewPackedObj(void *ptr
, size_t sz
, swig_type_info 
*type
) { 
2223   return ptr 
? PySwigPacked_New((void *) ptr
, sz
, type
) : SWIG_Py_Void(); 
2226 /* -----------------------------------------------------------------------------* 
2228  * -----------------------------------------------------------------------------*/ 
2230 #ifdef SWIG_LINK_RUNTIME 
2231 void *SWIG_ReturnGlobalTypeList(void *); 
2234 SWIGRUNTIME swig_module_info 
* 
2235 SWIG_Python_GetModule(void) { 
2236   static void *type_pointer 
= (void *)0; 
2237   /* first check if module already created */ 
2238   if (!type_pointer
) { 
2239 #ifdef SWIG_LINK_RUNTIME 
2240     type_pointer 
= SWIG_ReturnGlobalTypeList((void *)0); 
2242     type_pointer 
= PyCObject_Import((char*)"swig_runtime_data" SWIG_RUNTIME_VERSION
, 
2243                                     (char*)"type_pointer" SWIG_TYPE_TABLE_NAME
); 
2244     if (PyErr_Occurred()) { 
2246       type_pointer 
= (void *)0; 
2250   return (swig_module_info 
*) type_pointer
; 
2253 #if PY_MAJOR_VERSION < 2 
2254 /* PyModule_AddObject function was introduced in Python 2.0.  The following function 
2255    is copied out of Python/modsupport.c in python version 2.3.4 */ 
2257 PyModule_AddObject(PyObject 
*m
, char *name
, PyObject 
*o
) 
2260   if (!PyModule_Check(m
)) { 
2261     PyErr_SetString(PyExc_TypeError
, 
2262                     "PyModule_AddObject() needs module as first arg"); 
2266     PyErr_SetString(PyExc_TypeError
, 
2267                     "PyModule_AddObject() needs non-NULL value"); 
2271   dict 
= PyModule_GetDict(m
); 
2273     /* Internal error -- modules must have a dict! */ 
2274     PyErr_Format(PyExc_SystemError
, "module '%s' has no __dict__", 
2275                  PyModule_GetName(m
)); 
2278   if (PyDict_SetItemString(dict
, name
, o
)) 
2286 SWIG_Python_DestroyModule(void *vptr
) 
2288   swig_module_info 
*swig_module 
= (swig_module_info 
*) vptr
; 
2289   swig_type_info 
**types 
= swig_module
->types
; 
2291   for (i 
=0; i 
< swig_module
->size
; ++i
) { 
2292     swig_type_info 
*ty 
= types
[i
]; 
2294       PySwigClientData 
*data 
= (PySwigClientData 
*) ty
->clientdata
; 
2295       if (data
) PySwigClientData_Del(data
); 
2298   Py_DECREF(SWIG_This()); 
2302 SWIG_Python_SetModule(swig_module_info 
*swig_module
) { 
2303   static PyMethodDef swig_empty_runtime_method_table
[] = { {NULL
, NULL
, 0, NULL
} };/* Sentinel */ 
2305   PyObject 
*module = Py_InitModule((char*)"swig_runtime_data" SWIG_RUNTIME_VERSION
, 
2306                                    swig_empty_runtime_method_table
); 
2307   PyObject 
*pointer 
= PyCObject_FromVoidPtr((void *) swig_module
, SWIG_Python_DestroyModule
); 
2308   if (pointer 
&& module) { 
2309     PyModule_AddObject(module, (char*)"type_pointer" SWIG_TYPE_TABLE_NAME
, pointer
); 
2311     Py_XDECREF(pointer
); 
2315 /* The python cached type query */ 
2316 SWIGRUNTIME PyObject 
* 
2317 SWIG_Python_TypeCache() { 
2318   static PyObject 
*SWIG_STATIC_POINTER(cache
) = PyDict_New(); 
2322 SWIGRUNTIME swig_type_info 
* 
2323 SWIG_Python_TypeQuery(const char *type
) 
2325   PyObject 
*cache 
= SWIG_Python_TypeCache(); 
2326   PyObject 
*key 
= PyString_FromString(type
);  
2327   PyObject 
*obj 
= PyDict_GetItem(cache
, key
); 
2328   swig_type_info 
*descriptor
; 
2330     descriptor 
= (swig_type_info 
*) PyCObject_AsVoidPtr(obj
); 
2332     swig_module_info 
*swig_module 
= SWIG_Python_GetModule(); 
2333     descriptor 
= SWIG_TypeQueryModule(swig_module
, swig_module
, type
); 
2335       obj 
= PyCObject_FromVoidPtr(descriptor
, NULL
); 
2336       PyDict_SetItem(cache
, key
, obj
); 
2345    For backward compatibility only 
2347 #define SWIG_POINTER_EXCEPTION  0 
2348 #define SWIG_arg_fail(arg)      SWIG_Python_ArgFail(arg) 
2349 #define SWIG_MustGetPtr(p, type, argnum, flags)  SWIG_Python_MustGetPtr(p, type, argnum, flags) 
2352 SWIG_Python_AddErrMesg(const char* mesg
, int infront
) 
2354   if (PyErr_Occurred()) { 
2356     PyObject 
*value 
= 0; 
2357     PyObject 
*traceback 
= 0; 
2358     PyErr_Fetch(&type
, &value
, &traceback
); 
2360       PyObject 
*old_str 
= PyObject_Str(value
); 
2364         PyErr_Format(type
, "%s %s", mesg
, PyString_AsString(old_str
)); 
2366         PyErr_Format(type
, "%s %s", PyString_AsString(old_str
), mesg
); 
2377 SWIG_Python_ArgFail(int argnum
) 
2379   if (PyErr_Occurred()) { 
2380     /* add information about failing argument */ 
2382     PyOS_snprintf(mesg
, sizeof(mesg
), "argument number %d:", argnum
); 
2383     return SWIG_Python_AddErrMesg(mesg
, 1); 
2389 SWIGRUNTIMEINLINE 
const char * 
2390 PySwigObject_GetDesc(PyObject 
*self
) 
2392   PySwigObject 
*v 
= (PySwigObject 
*)self
; 
2393   swig_type_info 
*ty 
= v 
? v
->ty 
: 0; 
2394   return ty 
? ty
->str 
: (char*)""; 
2398 SWIG_Python_TypeError(const char *type
, PyObject 
*obj
) 
2401 #if defined(SWIG_COBJECT_TYPES) 
2402     if (obj 
&& PySwigObject_Check(obj
)) { 
2403       const char *otype 
= (const char *) PySwigObject_GetDesc(obj
); 
2405         PyErr_Format(PyExc_TypeError
, "a '%s' is expected, 'PySwigObject(%s)' is received", 
2412       const char *otype 
= (obj 
? obj
->ob_type
->tp_name 
: 0);  
2414         PyObject 
*str 
= PyObject_Str(obj
); 
2415         const char *cstr 
= str 
? PyString_AsString(str
) : 0; 
2417           PyErr_Format(PyExc_TypeError
, "a '%s' is expected, '%s(%s)' is received", 
2420           PyErr_Format(PyExc_TypeError
, "a '%s' is expected, '%s' is received", 
2427     PyErr_Format(PyExc_TypeError
, "a '%s' is expected", type
); 
2429     PyErr_Format(PyExc_TypeError
, "unexpected type is received"); 
2434 /* Convert a pointer value, signal an exception on a type mismatch */ 
2436 SWIG_Python_MustGetPtr(PyObject 
*obj
, swig_type_info 
*ty
, int argnum
, int flags
) { 
2438   if (SWIG_Python_ConvertPtr(obj
, &result
, ty
, flags
) == -1) { 
2440     if (flags 
& SWIG_POINTER_EXCEPTION
) { 
2441       SWIG_Python_TypeError(SWIG_TypePrettyName(ty
), obj
); 
2442       SWIG_Python_ArgFail(argnum
); 
2458 #define SWIG_exception_fail(code, msg) do { SWIG_Error(code, msg); SWIG_fail; } while(0)  
2460 #define SWIG_contract_assert(expr, msg) if (!(expr)) { SWIG_Error(SWIG_RuntimeError, msg); SWIG_fail; } else  
2464 /* -------- TYPES TABLE (BEGIN) -------- */ 
2466 #define SWIGTYPE_p_char swig_types[0] 
2467 #define SWIGTYPE_p_form_ops_t swig_types[1] 
2468 #define SWIGTYPE_p_int swig_types[2] 
2469 #define SWIGTYPE_p_unsigned_char swig_types[3] 
2470 #define SWIGTYPE_p_unsigned_int swig_types[4] 
2471 #define SWIGTYPE_p_unsigned_long swig_types[5] 
2472 #define SWIGTYPE_p_wxANIHandler swig_types[6] 
2473 #define SWIGTYPE_p_wxAcceleratorTable swig_types[7] 
2474 #define SWIGTYPE_p_wxActivateEvent swig_types[8] 
2475 #define SWIGTYPE_p_wxBMPHandler swig_types[9] 
2476 #define SWIGTYPE_p_wxBoxSizer swig_types[10] 
2477 #define SWIGTYPE_p_wxCURHandler swig_types[11] 
2478 #define SWIGTYPE_p_wxChildFocusEvent swig_types[12] 
2479 #define SWIGTYPE_p_wxClipboardTextEvent swig_types[13] 
2480 #define SWIGTYPE_p_wxCloseEvent swig_types[14] 
2481 #define SWIGTYPE_p_wxCommandEvent swig_types[15] 
2482 #define SWIGTYPE_p_wxContextMenuEvent swig_types[16] 
2483 #define SWIGTYPE_p_wxControl swig_types[17] 
2484 #define SWIGTYPE_p_wxControlWithItems swig_types[18] 
2485 #define SWIGTYPE_p_wxDateEvent swig_types[19] 
2486 #define SWIGTYPE_p_wxDisplayChangedEvent swig_types[20] 
2487 #define SWIGTYPE_p_wxDropFilesEvent swig_types[21] 
2488 #define SWIGTYPE_p_wxDuplexMode swig_types[22] 
2489 #define SWIGTYPE_p_wxEraseEvent swig_types[23] 
2490 #define SWIGTYPE_p_wxEvent swig_types[24] 
2491 #define SWIGTYPE_p_wxEvtHandler swig_types[25] 
2492 #define SWIGTYPE_p_wxFSFile swig_types[26] 
2493 #define SWIGTYPE_p_wxFileSystem swig_types[27] 
2494 #define SWIGTYPE_p_wxFlexGridSizer swig_types[28] 
2495 #define SWIGTYPE_p_wxFocusEvent swig_types[29] 
2496 #define SWIGTYPE_p_wxGBSizerItem swig_types[30] 
2497 #define SWIGTYPE_p_wxGIFHandler swig_types[31] 
2498 #define SWIGTYPE_p_wxGLCanvas swig_types[32] 
2499 #define SWIGTYPE_p_wxGLContext swig_types[33] 
2500 #define SWIGTYPE_p_wxGridBagSizer swig_types[34] 
2501 #define SWIGTYPE_p_wxGridSizer swig_types[35] 
2502 #define SWIGTYPE_p_wxICOHandler swig_types[36] 
2503 #define SWIGTYPE_p_wxIconizeEvent swig_types[37] 
2504 #define SWIGTYPE_p_wxIdleEvent swig_types[38] 
2505 #define SWIGTYPE_p_wxImage swig_types[39] 
2506 #define SWIGTYPE_p_wxImageHandler swig_types[40] 
2507 #define SWIGTYPE_p_wxIndividualLayoutConstraint swig_types[41] 
2508 #define SWIGTYPE_p_wxInitDialogEvent swig_types[42] 
2509 #define SWIGTYPE_p_wxJPEGHandler swig_types[43] 
2510 #define SWIGTYPE_p_wxKeyEvent swig_types[44] 
2511 #define SWIGTYPE_p_wxLayoutConstraints swig_types[45] 
2512 #define SWIGTYPE_p_wxMaximizeEvent swig_types[46] 
2513 #define SWIGTYPE_p_wxMenu swig_types[47] 
2514 #define SWIGTYPE_p_wxMenuBar swig_types[48] 
2515 #define SWIGTYPE_p_wxMenuEvent swig_types[49] 
2516 #define SWIGTYPE_p_wxMenuItem swig_types[50] 
2517 #define SWIGTYPE_p_wxMouseCaptureChangedEvent swig_types[51] 
2518 #define SWIGTYPE_p_wxMouseCaptureLostEvent swig_types[52] 
2519 #define SWIGTYPE_p_wxMouseEvent swig_types[53] 
2520 #define SWIGTYPE_p_wxMoveEvent swig_types[54] 
2521 #define SWIGTYPE_p_wxNavigationKeyEvent swig_types[55] 
2522 #define SWIGTYPE_p_wxNcPaintEvent swig_types[56] 
2523 #define SWIGTYPE_p_wxNotifyEvent swig_types[57] 
2524 #define SWIGTYPE_p_wxObject swig_types[58] 
2525 #define SWIGTYPE_p_wxPCXHandler swig_types[59] 
2526 #define SWIGTYPE_p_wxPNGHandler swig_types[60] 
2527 #define SWIGTYPE_p_wxPNMHandler swig_types[61] 
2528 #define SWIGTYPE_p_wxPaintEvent swig_types[62] 
2529 #define SWIGTYPE_p_wxPalette swig_types[63] 
2530 #define SWIGTYPE_p_wxPaletteChangedEvent swig_types[64] 
2531 #define SWIGTYPE_p_wxPaperSize swig_types[65] 
2532 #define SWIGTYPE_p_wxPyApp swig_types[66] 
2533 #define SWIGTYPE_p_wxPyCommandEvent swig_types[67] 
2534 #define SWIGTYPE_p_wxPyEvent swig_types[68] 
2535 #define SWIGTYPE_p_wxPyImageHandler swig_types[69] 
2536 #define SWIGTYPE_p_wxPySizer swig_types[70] 
2537 #define SWIGTYPE_p_wxPyValidator swig_types[71] 
2538 #define SWIGTYPE_p_wxQueryNewPaletteEvent swig_types[72] 
2539 #define SWIGTYPE_p_wxScrollEvent swig_types[73] 
2540 #define SWIGTYPE_p_wxScrollWinEvent swig_types[74] 
2541 #define SWIGTYPE_p_wxSetCursorEvent swig_types[75] 
2542 #define SWIGTYPE_p_wxShowEvent swig_types[76] 
2543 #define SWIGTYPE_p_wxSizeEvent swig_types[77] 
2544 #define SWIGTYPE_p_wxSizer swig_types[78] 
2545 #define SWIGTYPE_p_wxSizerItem swig_types[79] 
2546 #define SWIGTYPE_p_wxStaticBoxSizer swig_types[80] 
2547 #define SWIGTYPE_p_wxStdDialogButtonSizer swig_types[81] 
2548 #define SWIGTYPE_p_wxSysColourChangedEvent swig_types[82] 
2549 #define SWIGTYPE_p_wxTIFFHandler swig_types[83] 
2550 #define SWIGTYPE_p_wxUpdateUIEvent swig_types[84] 
2551 #define SWIGTYPE_p_wxValidator swig_types[85] 
2552 #define SWIGTYPE_p_wxWindow swig_types[86] 
2553 #define SWIGTYPE_p_wxWindowCreateEvent swig_types[87] 
2554 #define SWIGTYPE_p_wxWindowDestroyEvent swig_types[88] 
2555 #define SWIGTYPE_p_wxXPMHandler swig_types[89] 
2556 static swig_type_info 
*swig_types
[91]; 
2557 static swig_module_info swig_module 
= {swig_types
, 90, 0, 0, 0, 0}; 
2558 #define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name) 
2559 #define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name) 
2561 /* -------- TYPES TABLE (END) -------- */ 
2563 #if (PY_VERSION_HEX <= 0x02000000) 
2564 # if !defined(SWIG_PYTHON_CLASSIC) 
2565 #  error "This python version requires to use swig with the '-classic' option" 
2568 #if (PY_VERSION_HEX <= 0x02020000) 
2569 # error "This python version requires to use swig with the '-nomodern' option" 
2571 #if (PY_VERSION_HEX <= 0x02020000) 
2572 # error "This python version requires to use swig with the '-nomodernargs' option" 
2575 # error "This python version requires to use swig with the '-nofastunpack' option" 
2578 /*----------------------------------------------- 
2579               @(target):= _glcanvas.so 
2580   ------------------------------------------------*/ 
2581 #define SWIG_init    init_glcanvas 
2583 #define SWIG_name    "_glcanvas" 
2585 #define SWIGVERSION 0x010329  
2588 #define SWIG_as_voidptr(a) const_cast< void * >(static_cast< const void * >(a))  
2589 #define SWIG_as_voidptrptr(a) ((void)SWIG_as_voidptr(*a),reinterpret_cast< void** >(a))  
2592 #include <stdexcept> 
2596   class PyObject_ptr 
{ 
2601     PyObject_ptr() :_obj(0) 
2605     PyObject_ptr(const PyObject_ptr
& item
) : _obj(item
._obj
) 
2610     PyObject_ptr(PyObject 
*obj
, bool initial_ref 
= true) :_obj(obj
) 
2612       if (initial_ref
) Py_XINCREF(_obj
); 
2615     PyObject_ptr 
& operator=(const PyObject_ptr
& item
)  
2617       Py_XINCREF(item
._obj
); 
2628     operator PyObject 
*() const 
2633     PyObject 
*operator->() const 
2642   struct PyObject_var 
: PyObject_ptr 
{ 
2643     PyObject_var(PyObject
* obj 
= 0) : PyObject_ptr(obj
, false) { } 
2645     PyObject_var 
& operator = (PyObject
* obj
) 
2655 #include "wx/wxPython/wxPython.h" 
2656 #include "wx/wxPython/pyclasses.h" 
2658 #include <wx/glcanvas.h> 
2661  static const wxString 
wxPyGLCanvasNameStr(wxT("GLCanvas"));  
2662  static const wxString 
wxPyEmptyString(wxEmptyString
);  
2665 SWIG_AsVal_long (PyObject
* obj
, long* val
) 
2667     if (PyNumber_Check(obj
)) { 
2668         if (val
) *val 
= PyInt_AsLong(obj
); 
2671     return SWIG_TypeError
; 
2676 SWIG_AsVal_bool (PyObject 
*obj
, bool *val
) 
2678   if (obj 
== Py_True
) { 
2679     if (val
) *val 
= true; 
2681   } else if (obj 
== Py_False
) { 
2682     if (val
) *val 
= false; 
2686     int res 
= SWIG_AddCast(SWIG_AsVal_long (obj
, val 
? &v 
: 0)); 
2687     if (SWIG_IsOK(res
) && val
) *val 
= v 
? true : false; 
2693   #define SWIG_From_long   PyInt_FromLong  
2696 SWIGINTERNINLINE PyObject 
* 
2697 SWIG_From_int  (int value
) 
2699   return SWIG_From_long  (value
); 
2705 # define LLONG_MIN      LONG_LONG_MIN 
2708 # define LLONG_MAX      LONG_LONG_MAX 
2711 # define ULLONG_MAX     ULONG_LONG_MAX 
2716 SWIG_AsVal_int (PyObject 
* obj
, int *val
) 
2719   int res 
= SWIG_AsVal_long (obj
, &v
); 
2720   if (SWIG_IsOK(res
)) { 
2721     if ((v 
< INT_MIN 
|| v 
> INT_MAX
)) { 
2722       return SWIG_OverflowError
; 
2724       if (val
) *val 
= static_cast< int >(v
); 
2733 SWIGINTERN 
int GLCanvasNameStr_set(PyObject 
*) { 
2734   SWIG_Error(SWIG_AttributeError
,"Variable GLCanvasNameStr is read-only."); 
2739 SWIGINTERN PyObject 
*GLCanvasNameStr_get(void) { 
2740   PyObject 
*pyobj 
= 0; 
2744     pyobj 
= PyUnicode_FromWideChar((&wxPyGLCanvasNameStr
)->c_str(), (&wxPyGLCanvasNameStr
)->Len()); 
2746     pyobj 
= PyString_FromStringAndSize((&wxPyGLCanvasNameStr
)->c_str(), (&wxPyGLCanvasNameStr
)->Len()); 
2753 SWIGINTERN PyObject 
*_wrap_new_GLContext(PyObject 
*SWIGUNUSEDPARM(self
), PyObject 
*args
, PyObject 
*kwargs
) { 
2754   PyObject 
*resultobj 
= 0; 
2756   wxGLCanvas 
*arg2 
= (wxGLCanvas 
*) 0 ; 
2757   wxPalette 
const &arg3_defvalue 
= wxNullPalette 
; 
2758   wxPalette 
*arg3 
= (wxPalette 
*) &arg3_defvalue 
; 
2759   wxGLContext 
*arg4 
= (wxGLContext 
*) NULL 
; 
2760   wxGLContext 
*result 
= 0 ; 
2769   PyObject 
* obj0 
= 0 ; 
2770   PyObject 
* obj1 
= 0 ; 
2771   PyObject 
* obj2 
= 0 ; 
2772   PyObject 
* obj3 
= 0 ; 
2773   char *  kwnames
[] = { 
2774     (char *) "isRGB",(char *) "win",(char *) "palette",(char *) "other", NULL 
 
2777   if (!PyArg_ParseTupleAndKeywords(args
,kwargs
,(char *)"OO|OO:new_GLContext",kwnames
,&obj0
,&obj1
,&obj2
,&obj3
)) SWIG_fail
; 
2778   ecode1 
= SWIG_AsVal_bool(obj0
, &val1
); 
2779   if (!SWIG_IsOK(ecode1
)) { 
2780     SWIG_exception_fail(SWIG_ArgError(ecode1
), "in method '" "new_GLContext" "', expected argument " "1"" of type '" "bool""'"); 
2782   arg1 
= static_cast< bool >(val1
); 
2783   res2 
= SWIG_ConvertPtr(obj1
, &argp2
,SWIGTYPE_p_wxGLCanvas
, 0 |  0 ); 
2784   if (!SWIG_IsOK(res2
)) { 
2785     SWIG_exception_fail(SWIG_ArgError(res2
), "in method '" "new_GLContext" "', expected argument " "2"" of type '" "wxGLCanvas *""'");  
2787   arg2 
= reinterpret_cast< wxGLCanvas 
* >(argp2
); 
2789     res3 
= SWIG_ConvertPtr(obj2
, &argp3
, SWIGTYPE_p_wxPalette
,  0  | 0); 
2790     if (!SWIG_IsOK(res3
)) { 
2791       SWIG_exception_fail(SWIG_ArgError(res3
), "in method '" "new_GLContext" "', expected argument " "3"" of type '" "wxPalette const &""'");  
2794       SWIG_exception_fail(SWIG_ValueError
, "invalid null reference " "in method '" "new_GLContext" "', expected argument " "3"" of type '" "wxPalette const &""'");  
2796     arg3 
= reinterpret_cast< wxPalette 
* >(argp3
); 
2799     res4 
= SWIG_ConvertPtr(obj3
, &argp4
,SWIGTYPE_p_wxGLContext
, 0 |  0 ); 
2800     if (!SWIG_IsOK(res4
)) { 
2801       SWIG_exception_fail(SWIG_ArgError(res4
), "in method '" "new_GLContext" "', expected argument " "4"" of type '" "wxGLContext const *""'");  
2803     arg4 
= reinterpret_cast< wxGLContext 
* >(argp4
); 
2806     if (!wxPyCheckForApp()) SWIG_fail
; 
2807     PyThreadState
* __tstate 
= wxPyBeginAllowThreads(); 
2808     result 
= (wxGLContext 
*)new wxGLContext(arg1
,arg2
,(wxPalette 
const &)*arg3
,(wxGLContext 
const *)arg4
); 
2809     wxPyEndAllowThreads(__tstate
); 
2810     if (PyErr_Occurred()) SWIG_fail
; 
2812   resultobj 
= SWIG_NewPointerObj(SWIG_as_voidptr(result
), SWIGTYPE_p_wxGLContext
, SWIG_POINTER_NEW 
|  0 ); 
2819 SWIGINTERN PyObject 
*_wrap_delete_GLContext(PyObject 
*SWIGUNUSEDPARM(self
), PyObject 
*args
) { 
2820   PyObject 
*resultobj 
= 0; 
2821   wxGLContext 
*arg1 
= (wxGLContext 
*) 0 ; 
2824   PyObject 
*swig_obj
[1] ; 
2826   if (!args
) SWIG_fail
; 
2828   res1 
= SWIG_ConvertPtr(swig_obj
[0], &argp1
,SWIGTYPE_p_wxGLContext
, SWIG_POINTER_DISOWN 
|  0 ); 
2829   if (!SWIG_IsOK(res1
)) { 
2830     SWIG_exception_fail(SWIG_ArgError(res1
), "in method '" "delete_GLContext" "', expected argument " "1"" of type '" "wxGLContext *""'");  
2832   arg1 
= reinterpret_cast< wxGLContext 
* >(argp1
); 
2834     PyThreadState
* __tstate 
= wxPyBeginAllowThreads(); 
2837     wxPyEndAllowThreads(__tstate
); 
2838     if (PyErr_Occurred()) SWIG_fail
; 
2840   resultobj 
= SWIG_Py_Void(); 
2847 SWIGINTERN PyObject 
*_wrap_GLContext_SetCurrent(PyObject 
*SWIGUNUSEDPARM(self
), PyObject 
*args
) { 
2848   PyObject 
*resultobj 
= 0; 
2849   wxGLContext 
*arg1 
= (wxGLContext 
*) 0 ; 
2852   PyObject 
*swig_obj
[1] ; 
2854   if (!args
) SWIG_fail
; 
2856   res1 
= SWIG_ConvertPtr(swig_obj
[0], &argp1
,SWIGTYPE_p_wxGLContext
, 0 |  0 ); 
2857   if (!SWIG_IsOK(res1
)) { 
2858     SWIG_exception_fail(SWIG_ArgError(res1
), "in method '" "GLContext_SetCurrent" "', expected argument " "1"" of type '" "wxGLContext *""'");  
2860   arg1 
= reinterpret_cast< wxGLContext 
* >(argp1
); 
2862     PyThreadState
* __tstate 
= wxPyBeginAllowThreads(); 
2863     (arg1
)->SetCurrent(); 
2864     wxPyEndAllowThreads(__tstate
); 
2865     if (PyErr_Occurred()) SWIG_fail
; 
2867   resultobj 
= SWIG_Py_Void(); 
2874 SWIGINTERN PyObject 
*_wrap_GLContext_SetColour(PyObject 
*SWIGUNUSEDPARM(self
), PyObject 
*args
, PyObject 
*kwargs
) { 
2875   PyObject 
*resultobj 
= 0; 
2876   wxGLContext 
*arg1 
= (wxGLContext 
*) 0 ; 
2877   wxString 
*arg2 
= 0 ; 
2880   bool temp2 
= false ; 
2881   PyObject 
* obj0 
= 0 ; 
2882   PyObject 
* obj1 
= 0 ; 
2883   char *  kwnames
[] = { 
2884     (char *) "self",(char *) "colour", NULL 
 
2887   if (!PyArg_ParseTupleAndKeywords(args
,kwargs
,(char *)"OO:GLContext_SetColour",kwnames
,&obj0
,&obj1
)) SWIG_fail
; 
2888   res1 
= SWIG_ConvertPtr(obj0
, &argp1
,SWIGTYPE_p_wxGLContext
, 0 |  0 ); 
2889   if (!SWIG_IsOK(res1
)) { 
2890     SWIG_exception_fail(SWIG_ArgError(res1
), "in method '" "GLContext_SetColour" "', expected argument " "1"" of type '" "wxGLContext *""'");  
2892   arg1 
= reinterpret_cast< wxGLContext 
* >(argp1
); 
2894     arg2 
= wxString_in_helper(obj1
); 
2895     if (arg2 
== NULL
) SWIG_fail
; 
2899     PyThreadState
* __tstate 
= wxPyBeginAllowThreads(); 
2900     (arg1
)->SetColour((wxString 
const &)*arg2
); 
2901     wxPyEndAllowThreads(__tstate
); 
2902     if (PyErr_Occurred()) SWIG_fail
; 
2904   resultobj 
= SWIG_Py_Void(); 
2919 SWIGINTERN PyObject 
*_wrap_GLContext_SwapBuffers(PyObject 
*SWIGUNUSEDPARM(self
), PyObject 
*args
) { 
2920   PyObject 
*resultobj 
= 0; 
2921   wxGLContext 
*arg1 
= (wxGLContext 
*) 0 ; 
2924   PyObject 
*swig_obj
[1] ; 
2926   if (!args
) SWIG_fail
; 
2928   res1 
= SWIG_ConvertPtr(swig_obj
[0], &argp1
,SWIGTYPE_p_wxGLContext
, 0 |  0 ); 
2929   if (!SWIG_IsOK(res1
)) { 
2930     SWIG_exception_fail(SWIG_ArgError(res1
), "in method '" "GLContext_SwapBuffers" "', expected argument " "1"" of type '" "wxGLContext *""'");  
2932   arg1 
= reinterpret_cast< wxGLContext 
* >(argp1
); 
2934     PyThreadState
* __tstate 
= wxPyBeginAllowThreads(); 
2935     (arg1
)->SwapBuffers(); 
2936     wxPyEndAllowThreads(__tstate
); 
2937     if (PyErr_Occurred()) SWIG_fail
; 
2939   resultobj 
= SWIG_Py_Void(); 
2946 SWIGINTERN PyObject 
*_wrap_GLContext_SetupPixelFormat(PyObject 
*SWIGUNUSEDPARM(self
), PyObject 
*args
) { 
2947   PyObject 
*resultobj 
= 0; 
2948   wxGLContext 
*arg1 
= (wxGLContext 
*) 0 ; 
2951   PyObject 
*swig_obj
[1] ; 
2953   if (!args
) SWIG_fail
; 
2955   res1 
= SWIG_ConvertPtr(swig_obj
[0], &argp1
,SWIGTYPE_p_wxGLContext
, 0 |  0 ); 
2956   if (!SWIG_IsOK(res1
)) { 
2957     SWIG_exception_fail(SWIG_ArgError(res1
), "in method '" "GLContext_SetupPixelFormat" "', expected argument " "1"" of type '" "wxGLContext *""'");  
2959   arg1 
= reinterpret_cast< wxGLContext 
* >(argp1
); 
2961     PyThreadState
* __tstate 
= wxPyBeginAllowThreads(); 
2962     (arg1
)->SetupPixelFormat(); 
2963     wxPyEndAllowThreads(__tstate
); 
2964     if (PyErr_Occurred()) SWIG_fail
; 
2966   resultobj 
= SWIG_Py_Void(); 
2973 SWIGINTERN PyObject 
*_wrap_GLContext_SetupPalette(PyObject 
*SWIGUNUSEDPARM(self
), PyObject 
*args
, PyObject 
*kwargs
) { 
2974   PyObject 
*resultobj 
= 0; 
2975   wxGLContext 
*arg1 
= (wxGLContext 
*) 0 ; 
2976   wxPalette 
*arg2 
= 0 ; 
2981   PyObject 
* obj0 
= 0 ; 
2982   PyObject 
* obj1 
= 0 ; 
2983   char *  kwnames
[] = { 
2984     (char *) "self",(char *) "palette", NULL 
 
2987   if (!PyArg_ParseTupleAndKeywords(args
,kwargs
,(char *)"OO:GLContext_SetupPalette",kwnames
,&obj0
,&obj1
)) SWIG_fail
; 
2988   res1 
= SWIG_ConvertPtr(obj0
, &argp1
,SWIGTYPE_p_wxGLContext
, 0 |  0 ); 
2989   if (!SWIG_IsOK(res1
)) { 
2990     SWIG_exception_fail(SWIG_ArgError(res1
), "in method '" "GLContext_SetupPalette" "', expected argument " "1"" of type '" "wxGLContext *""'");  
2992   arg1 
= reinterpret_cast< wxGLContext 
* >(argp1
); 
2993   res2 
= SWIG_ConvertPtr(obj1
, &argp2
, SWIGTYPE_p_wxPalette
,  0  | 0); 
2994   if (!SWIG_IsOK(res2
)) { 
2995     SWIG_exception_fail(SWIG_ArgError(res2
), "in method '" "GLContext_SetupPalette" "', expected argument " "2"" of type '" "wxPalette const &""'");  
2998     SWIG_exception_fail(SWIG_ValueError
, "invalid null reference " "in method '" "GLContext_SetupPalette" "', expected argument " "2"" of type '" "wxPalette const &""'");  
3000   arg2 
= reinterpret_cast< wxPalette 
* >(argp2
); 
3002     PyThreadState
* __tstate 
= wxPyBeginAllowThreads(); 
3003     (arg1
)->SetupPalette((wxPalette 
const &)*arg2
); 
3004     wxPyEndAllowThreads(__tstate
); 
3005     if (PyErr_Occurred()) SWIG_fail
; 
3007   resultobj 
= SWIG_Py_Void(); 
3014 SWIGINTERN PyObject 
*_wrap_GLContext_CreateDefaultPalette(PyObject 
*SWIGUNUSEDPARM(self
), PyObject 
*args
) { 
3015   PyObject 
*resultobj 
= 0; 
3016   wxGLContext 
*arg1 
= (wxGLContext 
*) 0 ; 
3020   PyObject 
*swig_obj
[1] ; 
3022   if (!args
) SWIG_fail
; 
3024   res1 
= SWIG_ConvertPtr(swig_obj
[0], &argp1
,SWIGTYPE_p_wxGLContext
, 0 |  0 ); 
3025   if (!SWIG_IsOK(res1
)) { 
3026     SWIG_exception_fail(SWIG_ArgError(res1
), "in method '" "GLContext_CreateDefaultPalette" "', expected argument " "1"" of type '" "wxGLContext *""'");  
3028   arg1 
= reinterpret_cast< wxGLContext 
* >(argp1
); 
3030     PyThreadState
* __tstate 
= wxPyBeginAllowThreads(); 
3031     result 
= (arg1
)->CreateDefaultPalette(); 
3032     wxPyEndAllowThreads(__tstate
); 
3033     if (PyErr_Occurred()) SWIG_fail
; 
3035   resultobj 
= SWIG_NewPointerObj((new wxPalette(static_cast< const wxPalette
& >(result
))), SWIGTYPE_p_wxPalette
, SWIG_POINTER_OWN 
|  0 ); 
3042 SWIGINTERN PyObject 
*_wrap_GLContext_GetPalette(PyObject 
*SWIGUNUSEDPARM(self
), PyObject 
*args
) { 
3043   PyObject 
*resultobj 
= 0; 
3044   wxGLContext 
*arg1 
= (wxGLContext 
*) 0 ; 
3045   wxPalette 
*result 
= 0 ; 
3048   PyObject 
*swig_obj
[1] ; 
3050   if (!args
) SWIG_fail
; 
3052   res1 
= SWIG_ConvertPtr(swig_obj
[0], &argp1
,SWIGTYPE_p_wxGLContext
, 0 |  0 ); 
3053   if (!SWIG_IsOK(res1
)) { 
3054     SWIG_exception_fail(SWIG_ArgError(res1
), "in method '" "GLContext_GetPalette" "', expected argument " "1"" of type '" "wxGLContext *""'");  
3056   arg1 
= reinterpret_cast< wxGLContext 
* >(argp1
); 
3058     PyThreadState
* __tstate 
= wxPyBeginAllowThreads(); 
3059     result 
= (wxPalette 
*)(arg1
)->GetPalette(); 
3060     wxPyEndAllowThreads(__tstate
); 
3061     if (PyErr_Occurred()) SWIG_fail
; 
3063   resultobj 
= SWIG_NewPointerObj(SWIG_as_voidptr(result
), SWIGTYPE_p_wxPalette
, 0 |  0 ); 
3070 SWIGINTERN PyObject 
*_wrap_GLContext_GetWindow(PyObject 
*SWIGUNUSEDPARM(self
), PyObject 
*args
) { 
3071   PyObject 
*resultobj 
= 0; 
3072   wxGLContext 
*arg1 
= (wxGLContext 
*) 0 ; 
3073   wxWindow 
*result 
= 0 ; 
3076   PyObject 
*swig_obj
[1] ; 
3078   if (!args
) SWIG_fail
; 
3080   res1 
= SWIG_ConvertPtr(swig_obj
[0], &argp1
,SWIGTYPE_p_wxGLContext
, 0 |  0 ); 
3081   if (!SWIG_IsOK(res1
)) { 
3082     SWIG_exception_fail(SWIG_ArgError(res1
), "in method '" "GLContext_GetWindow" "', expected argument " "1"" of type '" "wxGLContext *""'");  
3084   arg1 
= reinterpret_cast< wxGLContext 
* >(argp1
); 
3086     PyThreadState
* __tstate 
= wxPyBeginAllowThreads(); 
3087     result 
= (wxWindow 
*)(arg1
)->GetWindow(); 
3088     wxPyEndAllowThreads(__tstate
); 
3089     if (PyErr_Occurred()) SWIG_fail
; 
3092     resultobj 
= wxPyMake_wxObject(result
, 0);  
3100 SWIGINTERN PyObject 
*GLContext_swigregister(PyObject 
*SWIGUNUSEDPARM(self
), PyObject 
*args
) { 
3102   if (!SWIG_Python_UnpackTuple(args
,(char*)"swigregister", 1, 1,&obj
)) return NULL
; 
3103   SWIG_TypeNewClientData(SWIGTYPE_p_wxGLContext
, SWIG_NewClientData(obj
)); 
3104   return SWIG_Py_Void(); 
3107 SWIGINTERN PyObject 
*GLContext_swiginit(PyObject 
*SWIGUNUSEDPARM(self
), PyObject 
*args
) { 
3108   return SWIG_Python_InitShadowInstance(args
); 
3111 SWIGINTERN PyObject 
*_wrap_new_GLCanvas(PyObject 
*SWIGUNUSEDPARM(self
), PyObject 
*args
, PyObject 
*kwargs
) { 
3112   PyObject 
*resultobj 
= 0; 
3113   wxWindow 
*arg1 
= (wxWindow 
*) 0 ; 
3114   int arg2 
= (int) -1 ; 
3115   wxPoint 
const &arg3_defvalue 
= wxDefaultPosition 
; 
3116   wxPoint 
*arg3 
= (wxPoint 
*) &arg3_defvalue 
; 
3117   wxSize 
const &arg4_defvalue 
= wxDefaultSize 
; 
3118   wxSize 
*arg4 
= (wxSize 
*) &arg4_defvalue 
; 
3119   long arg5 
= (long) 0 ; 
3120   wxString 
const &arg6_defvalue 
= wxPyGLCanvasNameStr 
; 
3121   wxString 
*arg6 
= (wxString 
*) &arg6_defvalue 
; 
3122   int *arg7 
= (int *) NULL 
; 
3123   wxPalette 
const &arg8_defvalue 
= wxNullPalette 
; 
3124   wxPalette 
*arg8 
= (wxPalette 
*) &arg8_defvalue 
; 
3125   wxGLCanvas 
*result 
= 0 ; 
3134   bool temp6 
= false ; 
3138   PyObject 
* obj0 
= 0 ; 
3139   PyObject 
* obj1 
= 0 ; 
3140   PyObject 
* obj2 
= 0 ; 
3141   PyObject 
* obj3 
= 0 ; 
3142   PyObject 
* obj4 
= 0 ; 
3143   PyObject 
* obj5 
= 0 ; 
3144   PyObject 
* obj6 
= 0 ; 
3145   PyObject 
* obj7 
= 0 ; 
3146   char *  kwnames
[] = { 
3147     (char *) "parent",(char *) "id",(char *) "pos",(char *) "size",(char *) "style",(char *) "name",(char *) "attribList",(char *) "palette", NULL 
 
3150   if (!PyArg_ParseTupleAndKeywords(args
,kwargs
,(char *)"O|OOOOOOO:new_GLCanvas",kwnames
,&obj0
,&obj1
,&obj2
,&obj3
,&obj4
,&obj5
,&obj6
,&obj7
)) SWIG_fail
; 
3151   res1 
= SWIG_ConvertPtr(obj0
, &argp1
,SWIGTYPE_p_wxWindow
, 0 |  0 ); 
3152   if (!SWIG_IsOK(res1
)) { 
3153     SWIG_exception_fail(SWIG_ArgError(res1
), "in method '" "new_GLCanvas" "', expected argument " "1"" of type '" "wxWindow *""'");  
3155   arg1 
= reinterpret_cast< wxWindow 
* >(argp1
); 
3157     ecode2 
= SWIG_AsVal_int(obj1
, &val2
); 
3158     if (!SWIG_IsOK(ecode2
)) { 
3159       SWIG_exception_fail(SWIG_ArgError(ecode2
), "in method '" "new_GLCanvas" "', expected argument " "2"" of type '" "int""'"); 
3161     arg2 
= static_cast< int >(val2
); 
3166       if ( ! wxPoint_helper(obj2
, &arg3
)) SWIG_fail
; 
3172       if ( ! wxSize_helper(obj3
, &arg4
)) SWIG_fail
; 
3176     ecode5 
= SWIG_AsVal_long(obj4
, &val5
); 
3177     if (!SWIG_IsOK(ecode5
)) { 
3178       SWIG_exception_fail(SWIG_ArgError(ecode5
), "in method '" "new_GLCanvas" "', expected argument " "5"" of type '" "long""'"); 
3180     arg5 
= static_cast< long >(val5
); 
3184       arg6 
= wxString_in_helper(obj5
); 
3185       if (arg6 
== NULL
) SWIG_fail
; 
3192       if (PySequence_Check(obj6
)) { 
3193         int size 
= PyObject_Length(obj6
); 
3194         temp7 
= new int[size
+1]; // (int*)malloc((size + 1) * sizeof(int)); 
3195         for (i 
= 0; i 
< size
; i
++) { 
3196           temp7
[i
] = PyInt_AsLong(PySequence_GetItem(obj6
, i
)); 
3204     res8 
= SWIG_ConvertPtr(obj7
, &argp8
, SWIGTYPE_p_wxPalette
,  0  | 0); 
3205     if (!SWIG_IsOK(res8
)) { 
3206       SWIG_exception_fail(SWIG_ArgError(res8
), "in method '" "new_GLCanvas" "', expected argument " "8"" of type '" "wxPalette const &""'");  
3209       SWIG_exception_fail(SWIG_ValueError
, "invalid null reference " "in method '" "new_GLCanvas" "', expected argument " "8"" of type '" "wxPalette const &""'");  
3211     arg8 
= reinterpret_cast< wxPalette 
* >(argp8
); 
3214     if (!wxPyCheckForApp()) SWIG_fail
; 
3215     PyThreadState
* __tstate 
= wxPyBeginAllowThreads(); 
3216     result 
= (wxGLCanvas 
*)new wxGLCanvas(arg1
,arg2
,(wxPoint 
const &)*arg3
,(wxSize 
const &)*arg4
,arg5
,(wxString 
const &)*arg6
,arg7
,(wxPalette 
const &)*arg8
); 
3217     wxPyEndAllowThreads(__tstate
); 
3218     if (PyErr_Occurred()) SWIG_fail
; 
3220   resultobj 
= SWIG_NewPointerObj(SWIG_as_voidptr(result
), SWIGTYPE_p_wxGLCanvas
, SWIG_POINTER_NEW 
|  0 ); 
3241 SWIGINTERN PyObject 
*_wrap_new_GLCanvasWithContext(PyObject 
*SWIGUNUSEDPARM(self
), PyObject 
*args
, PyObject 
*kwargs
) { 
3242   PyObject 
*resultobj 
= 0; 
3243   wxWindow 
*arg1 
= (wxWindow 
*) 0 ; 
3244   wxGLContext 
*arg2 
= (wxGLContext 
*) NULL 
; 
3245   int arg3 
= (int) -1 ; 
3246   wxPoint 
const &arg4_defvalue 
= wxDefaultPosition 
; 
3247   wxPoint 
*arg4 
= (wxPoint 
*) &arg4_defvalue 
; 
3248   wxSize 
const &arg5_defvalue 
= wxDefaultSize 
; 
3249   wxSize 
*arg5 
= (wxSize 
*) &arg5_defvalue 
; 
3250   long arg6 
= (long) 0 ; 
3251   wxString 
const &arg7_defvalue 
= wxPyGLCanvasNameStr 
; 
3252   wxString 
*arg7 
= (wxString 
*) &arg7_defvalue 
; 
3253   int *arg8 
= (int *) NULL 
; 
3254   wxPalette 
const &arg9_defvalue 
= wxNullPalette 
; 
3255   wxPalette 
*arg9 
= (wxPalette 
*) &arg9_defvalue 
; 
3256   wxGLCanvas 
*result 
= 0 ; 
3267   bool temp7 
= false ; 
3271   PyObject 
* obj0 
= 0 ; 
3272   PyObject 
* obj1 
= 0 ; 
3273   PyObject 
* obj2 
= 0 ; 
3274   PyObject 
* obj3 
= 0 ; 
3275   PyObject 
* obj4 
= 0 ; 
3276   PyObject 
* obj5 
= 0 ; 
3277   PyObject 
* obj6 
= 0 ; 
3278   PyObject 
* obj7 
= 0 ; 
3279   PyObject 
* obj8 
= 0 ; 
3280   char *  kwnames
[] = { 
3281     (char *) "parent",(char *) "shared",(char *) "id",(char *) "pos",(char *) "size",(char *) "style",(char *) "name",(char *) "attribList",(char *) "palette", NULL 
 
3284   if (!PyArg_ParseTupleAndKeywords(args
,kwargs
,(char *)"O|OOOOOOOO:new_GLCanvasWithContext",kwnames
,&obj0
,&obj1
,&obj2
,&obj3
,&obj4
,&obj5
,&obj6
,&obj7
,&obj8
)) SWIG_fail
; 
3285   res1 
= SWIG_ConvertPtr(obj0
, &argp1
,SWIGTYPE_p_wxWindow
, 0 |  0 ); 
3286   if (!SWIG_IsOK(res1
)) { 
3287     SWIG_exception_fail(SWIG_ArgError(res1
), "in method '" "new_GLCanvasWithContext" "', expected argument " "1"" of type '" "wxWindow *""'");  
3289   arg1 
= reinterpret_cast< wxWindow 
* >(argp1
); 
3291     res2 
= SWIG_ConvertPtr(obj1
, &argp2
,SWIGTYPE_p_wxGLContext
, 0 |  0 ); 
3292     if (!SWIG_IsOK(res2
)) { 
3293       SWIG_exception_fail(SWIG_ArgError(res2
), "in method '" "new_GLCanvasWithContext" "', expected argument " "2"" of type '" "wxGLContext const *""'");  
3295     arg2 
= reinterpret_cast< wxGLContext 
* >(argp2
); 
3298     ecode3 
= SWIG_AsVal_int(obj2
, &val3
); 
3299     if (!SWIG_IsOK(ecode3
)) { 
3300       SWIG_exception_fail(SWIG_ArgError(ecode3
), "in method '" "new_GLCanvasWithContext" "', expected argument " "3"" of type '" "int""'"); 
3302     arg3 
= static_cast< int >(val3
); 
3307       if ( ! wxPoint_helper(obj3
, &arg4
)) SWIG_fail
; 
3313       if ( ! wxSize_helper(obj4
, &arg5
)) SWIG_fail
; 
3317     ecode6 
= SWIG_AsVal_long(obj5
, &val6
); 
3318     if (!SWIG_IsOK(ecode6
)) { 
3319       SWIG_exception_fail(SWIG_ArgError(ecode6
), "in method '" "new_GLCanvasWithContext" "', expected argument " "6"" of type '" "long""'"); 
3321     arg6 
= static_cast< long >(val6
); 
3325       arg7 
= wxString_in_helper(obj6
); 
3326       if (arg7 
== NULL
) SWIG_fail
; 
3333       if (PySequence_Check(obj7
)) { 
3334         int size 
= PyObject_Length(obj7
); 
3335         temp8 
= new int[size
+1]; // (int*)malloc((size + 1) * sizeof(int)); 
3336         for (i 
= 0; i 
< size
; i
++) { 
3337           temp8
[i
] = PyInt_AsLong(PySequence_GetItem(obj7
, i
)); 
3345     res9 
= SWIG_ConvertPtr(obj8
, &argp9
, SWIGTYPE_p_wxPalette
,  0  | 0); 
3346     if (!SWIG_IsOK(res9
)) { 
3347       SWIG_exception_fail(SWIG_ArgError(res9
), "in method '" "new_GLCanvasWithContext" "', expected argument " "9"" of type '" "wxPalette const &""'");  
3350       SWIG_exception_fail(SWIG_ValueError
, "invalid null reference " "in method '" "new_GLCanvasWithContext" "', expected argument " "9"" of type '" "wxPalette const &""'");  
3352     arg9 
= reinterpret_cast< wxPalette 
* >(argp9
); 
3355     if (!wxPyCheckForApp()) SWIG_fail
; 
3356     PyThreadState
* __tstate 
= wxPyBeginAllowThreads(); 
3357     result 
= (wxGLCanvas 
*)new wxGLCanvas(arg1
,(wxGLContext 
const *)arg2
,arg3
,(wxPoint 
const &)*arg4
,(wxSize 
const &)*arg5
,arg6
,(wxString 
const &)*arg7
,arg8
,(wxPalette 
const &)*arg9
); 
3358     wxPyEndAllowThreads(__tstate
); 
3359     if (PyErr_Occurred()) SWIG_fail
; 
3361   resultobj 
= SWIG_NewPointerObj(SWIG_as_voidptr(result
), SWIGTYPE_p_wxGLCanvas
, SWIG_POINTER_OWN 
|  0 ); 
3382 SWIGINTERN PyObject 
*_wrap_GLCanvas_SetCurrent(PyObject 
*SWIGUNUSEDPARM(self
), PyObject 
*args
) { 
3383   PyObject 
*resultobj 
= 0; 
3384   wxGLCanvas 
*arg1 
= (wxGLCanvas 
*) 0 ; 
3387   PyObject 
*swig_obj
[1] ; 
3389   if (!args
) SWIG_fail
; 
3391   res1 
= SWIG_ConvertPtr(swig_obj
[0], &argp1
,SWIGTYPE_p_wxGLCanvas
, 0 |  0 ); 
3392   if (!SWIG_IsOK(res1
)) { 
3393     SWIG_exception_fail(SWIG_ArgError(res1
), "in method '" "GLCanvas_SetCurrent" "', expected argument " "1"" of type '" "wxGLCanvas *""'");  
3395   arg1 
= reinterpret_cast< wxGLCanvas 
* >(argp1
); 
3397     PyThreadState
* __tstate 
= wxPyBeginAllowThreads(); 
3398     (arg1
)->SetCurrent(); 
3399     wxPyEndAllowThreads(__tstate
); 
3400     if (PyErr_Occurred()) SWIG_fail
; 
3402   resultobj 
= SWIG_Py_Void(); 
3409 SWIGINTERN PyObject 
*_wrap_GLCanvas_SetColour(PyObject 
*SWIGUNUSEDPARM(self
), PyObject 
*args
, PyObject 
*kwargs
) { 
3410   PyObject 
*resultobj 
= 0; 
3411   wxGLCanvas 
*arg1 
= (wxGLCanvas 
*) 0 ; 
3412   wxString 
*arg2 
= 0 ; 
3415   bool temp2 
= false ; 
3416   PyObject 
* obj0 
= 0 ; 
3417   PyObject 
* obj1 
= 0 ; 
3418   char *  kwnames
[] = { 
3419     (char *) "self",(char *) "colour", NULL 
 
3422   if (!PyArg_ParseTupleAndKeywords(args
,kwargs
,(char *)"OO:GLCanvas_SetColour",kwnames
,&obj0
,&obj1
)) SWIG_fail
; 
3423   res1 
= SWIG_ConvertPtr(obj0
, &argp1
,SWIGTYPE_p_wxGLCanvas
, 0 |  0 ); 
3424   if (!SWIG_IsOK(res1
)) { 
3425     SWIG_exception_fail(SWIG_ArgError(res1
), "in method '" "GLCanvas_SetColour" "', expected argument " "1"" of type '" "wxGLCanvas *""'");  
3427   arg1 
= reinterpret_cast< wxGLCanvas 
* >(argp1
); 
3429     arg2 
= wxString_in_helper(obj1
); 
3430     if (arg2 
== NULL
) SWIG_fail
; 
3434     PyThreadState
* __tstate 
= wxPyBeginAllowThreads(); 
3435     (arg1
)->SetColour((wxString 
const &)*arg2
); 
3436     wxPyEndAllowThreads(__tstate
); 
3437     if (PyErr_Occurred()) SWIG_fail
; 
3439   resultobj 
= SWIG_Py_Void(); 
3454 SWIGINTERN PyObject 
*_wrap_GLCanvas_SwapBuffers(PyObject 
*SWIGUNUSEDPARM(self
), PyObject 
*args
) { 
3455   PyObject 
*resultobj 
= 0; 
3456   wxGLCanvas 
*arg1 
= (wxGLCanvas 
*) 0 ; 
3459   PyObject 
*swig_obj
[1] ; 
3461   if (!args
) SWIG_fail
; 
3463   res1 
= SWIG_ConvertPtr(swig_obj
[0], &argp1
,SWIGTYPE_p_wxGLCanvas
, 0 |  0 ); 
3464   if (!SWIG_IsOK(res1
)) { 
3465     SWIG_exception_fail(SWIG_ArgError(res1
), "in method '" "GLCanvas_SwapBuffers" "', expected argument " "1"" of type '" "wxGLCanvas *""'");  
3467   arg1 
= reinterpret_cast< wxGLCanvas 
* >(argp1
); 
3469     PyThreadState
* __tstate 
= wxPyBeginAllowThreads(); 
3470     (arg1
)->SwapBuffers(); 
3471     wxPyEndAllowThreads(__tstate
); 
3472     if (PyErr_Occurred()) SWIG_fail
; 
3474   resultobj 
= SWIG_Py_Void(); 
3481 SWIGINTERN PyObject 
*_wrap_GLCanvas_GetContext(PyObject 
*SWIGUNUSEDPARM(self
), PyObject 
*args
) { 
3482   PyObject 
*resultobj 
= 0; 
3483   wxGLCanvas 
*arg1 
= (wxGLCanvas 
*) 0 ; 
3484   wxGLContext 
*result 
= 0 ; 
3487   PyObject 
*swig_obj
[1] ; 
3489   if (!args
) SWIG_fail
; 
3491   res1 
= SWIG_ConvertPtr(swig_obj
[0], &argp1
,SWIGTYPE_p_wxGLCanvas
, 0 |  0 ); 
3492   if (!SWIG_IsOK(res1
)) { 
3493     SWIG_exception_fail(SWIG_ArgError(res1
), "in method '" "GLCanvas_GetContext" "', expected argument " "1"" of type '" "wxGLCanvas *""'");  
3495   arg1 
= reinterpret_cast< wxGLCanvas 
* >(argp1
); 
3497     PyThreadState
* __tstate 
= wxPyBeginAllowThreads(); 
3498     result 
= (wxGLContext 
*)(arg1
)->GetContext(); 
3499     wxPyEndAllowThreads(__tstate
); 
3500     if (PyErr_Occurred()) SWIG_fail
; 
3502   resultobj 
= SWIG_NewPointerObj(SWIG_as_voidptr(result
), SWIGTYPE_p_wxGLContext
, 0 |  0 ); 
3509 SWIGINTERN PyObject 
*GLCanvas_swigregister(PyObject 
*SWIGUNUSEDPARM(self
), PyObject 
*args
) { 
3511   if (!SWIG_Python_UnpackTuple(args
,(char*)"swigregister", 1, 1,&obj
)) return NULL
; 
3512   SWIG_TypeNewClientData(SWIGTYPE_p_wxGLCanvas
, SWIG_NewClientData(obj
)); 
3513   return SWIG_Py_Void(); 
3516 SWIGINTERN PyObject 
*GLCanvas_swiginit(PyObject 
*SWIGUNUSEDPARM(self
), PyObject 
*args
) { 
3517   return SWIG_Python_InitShadowInstance(args
); 
3520 static PyMethodDef SwigMethods
[] = { 
3521          { (char *)"new_GLContext", (PyCFunction
) _wrap_new_GLContext
, METH_VARARGS 
| METH_KEYWORDS
, NULL
}, 
3522          { (char *)"delete_GLContext", (PyCFunction
)_wrap_delete_GLContext
, METH_O
, NULL
}, 
3523          { (char *)"GLContext_SetCurrent", (PyCFunction
)_wrap_GLContext_SetCurrent
, METH_O
, NULL
}, 
3524          { (char *)"GLContext_SetColour", (PyCFunction
) _wrap_GLContext_SetColour
, METH_VARARGS 
| METH_KEYWORDS
, NULL
}, 
3525          { (char *)"GLContext_SwapBuffers", (PyCFunction
)_wrap_GLContext_SwapBuffers
, METH_O
, NULL
}, 
3526          { (char *)"GLContext_SetupPixelFormat", (PyCFunction
)_wrap_GLContext_SetupPixelFormat
, METH_O
, NULL
}, 
3527          { (char *)"GLContext_SetupPalette", (PyCFunction
) _wrap_GLContext_SetupPalette
, METH_VARARGS 
| METH_KEYWORDS
, NULL
}, 
3528          { (char *)"GLContext_CreateDefaultPalette", (PyCFunction
)_wrap_GLContext_CreateDefaultPalette
, METH_O
, NULL
}, 
3529          { (char *)"GLContext_GetPalette", (PyCFunction
)_wrap_GLContext_GetPalette
, METH_O
, NULL
}, 
3530          { (char *)"GLContext_GetWindow", (PyCFunction
)_wrap_GLContext_GetWindow
, METH_O
, NULL
}, 
3531          { (char *)"GLContext_swigregister", GLContext_swigregister
, METH_VARARGS
, NULL
}, 
3532          { (char *)"GLContext_swiginit", GLContext_swiginit
, METH_VARARGS
, NULL
}, 
3533          { (char *)"new_GLCanvas", (PyCFunction
) _wrap_new_GLCanvas
, METH_VARARGS 
| METH_KEYWORDS
, NULL
}, 
3534          { (char *)"new_GLCanvasWithContext", (PyCFunction
) _wrap_new_GLCanvasWithContext
, METH_VARARGS 
| METH_KEYWORDS
, NULL
}, 
3535          { (char *)"GLCanvas_SetCurrent", (PyCFunction
)_wrap_GLCanvas_SetCurrent
, METH_O
, NULL
}, 
3536          { (char *)"GLCanvas_SetColour", (PyCFunction
) _wrap_GLCanvas_SetColour
, METH_VARARGS 
| METH_KEYWORDS
, NULL
}, 
3537          { (char *)"GLCanvas_SwapBuffers", (PyCFunction
)_wrap_GLCanvas_SwapBuffers
, METH_O
, NULL
}, 
3538          { (char *)"GLCanvas_GetContext", (PyCFunction
)_wrap_GLCanvas_GetContext
, METH_O
, NULL
}, 
3539          { (char *)"GLCanvas_swigregister", GLCanvas_swigregister
, METH_VARARGS
, NULL
}, 
3540          { (char *)"GLCanvas_swiginit", GLCanvas_swiginit
, METH_VARARGS
, NULL
}, 
3541          { NULL
, NULL
, 0, NULL 
} 
3545 /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */ 
3547 static void *_p_wxLayoutConstraintsTo_p_wxObject(void *x
) { 
3548     return (void *)((wxObject 
*)  ((wxLayoutConstraints 
*) x
)); 
3550 static void *_p_wxSizerItemTo_p_wxObject(void *x
) { 
3551     return (void *)((wxObject 
*)  ((wxSizerItem 
*) x
)); 
3553 static void *_p_wxGBSizerItemTo_p_wxObject(void *x
) { 
3554     return (void *)((wxObject 
*) (wxSizerItem 
*) ((wxGBSizerItem 
*) x
)); 
3556 static void *_p_wxScrollEventTo_p_wxObject(void *x
) { 
3557     return (void *)((wxObject 
*) (wxEvent 
*)(wxCommandEvent 
*) ((wxScrollEvent 
*) x
)); 
3559 static void *_p_wxIndividualLayoutConstraintTo_p_wxObject(void *x
) { 
3560     return (void *)((wxObject 
*)  ((wxIndividualLayoutConstraint 
*) x
)); 
3562 static void *_p_wxStaticBoxSizerTo_p_wxObject(void *x
) { 
3563     return (void *)((wxObject 
*) (wxSizer 
*)(wxBoxSizer 
*) ((wxStaticBoxSizer 
*) x
)); 
3565 static void *_p_wxBoxSizerTo_p_wxObject(void *x
) { 
3566     return (void *)((wxObject 
*) (wxSizer 
*) ((wxBoxSizer 
*) x
)); 
3568 static void *_p_wxSizerTo_p_wxObject(void *x
) { 
3569     return (void *)((wxObject 
*)  ((wxSizer 
*) x
)); 
3571 static void *_p_wxGridBagSizerTo_p_wxObject(void *x
) { 
3572     return (void *)((wxObject 
*) (wxSizer 
*)(wxGridSizer 
*)(wxFlexGridSizer 
*) ((wxGridBagSizer 
*) x
)); 
3574 static void *_p_wxUpdateUIEventTo_p_wxObject(void *x
) { 
3575     return (void *)((wxObject 
*) (wxEvent 
*)(wxCommandEvent 
*) ((wxUpdateUIEvent 
*) x
)); 
3577 static void *_p_wxEventTo_p_wxObject(void *x
) { 
3578     return (void *)((wxObject 
*)  ((wxEvent 
*) x
)); 
3580 static void *_p_wxFlexGridSizerTo_p_wxObject(void *x
) { 
3581     return (void *)((wxObject 
*) (wxSizer 
*)(wxGridSizer 
*) ((wxFlexGridSizer 
*) x
)); 
3583 static void *_p_wxGridSizerTo_p_wxObject(void *x
) { 
3584     return (void *)((wxObject 
*) (wxSizer 
*) ((wxGridSizer 
*) x
)); 
3586 static void *_p_wxInitDialogEventTo_p_wxObject(void *x
) { 
3587     return (void *)((wxObject 
*) (wxEvent 
*) ((wxInitDialogEvent 
*) x
)); 
3589 static void *_p_wxClipboardTextEventTo_p_wxObject(void *x
) { 
3590     return (void *)((wxObject 
*) (wxEvent 
*)(wxCommandEvent 
*) ((wxClipboardTextEvent 
*) x
)); 
3592 static void *_p_wxPaintEventTo_p_wxObject(void *x
) { 
3593     return (void *)((wxObject 
*) (wxEvent 
*) ((wxPaintEvent 
*) x
)); 
3595 static void *_p_wxNcPaintEventTo_p_wxObject(void *x
) { 
3596     return (void *)((wxObject 
*) (wxEvent 
*) ((wxNcPaintEvent 
*) x
)); 
3598 static void *_p_wxPaletteChangedEventTo_p_wxObject(void *x
) { 
3599     return (void *)((wxObject 
*) (wxEvent 
*) ((wxPaletteChangedEvent 
*) x
)); 
3601 static void *_p_wxDisplayChangedEventTo_p_wxObject(void *x
) { 
3602     return (void *)((wxObject 
*) (wxEvent 
*) ((wxDisplayChangedEvent 
*) x
)); 
3604 static void *_p_wxMouseCaptureChangedEventTo_p_wxObject(void *x
) { 
3605     return (void *)((wxObject 
*) (wxEvent 
*) ((wxMouseCaptureChangedEvent 
*) x
)); 
3607 static void *_p_wxSysColourChangedEventTo_p_wxObject(void *x
) { 
3608     return (void *)((wxObject 
*) (wxEvent 
*) ((wxSysColourChangedEvent 
*) x
)); 
3610 static void *_p_wxControlTo_p_wxObject(void *x
) { 
3611     return (void *)((wxObject 
*) (wxEvtHandler 
*)(wxWindow 
*) ((wxControl 
*) x
)); 
3613 static void *_p_wxSetCursorEventTo_p_wxObject(void *x
) { 
3614     return (void *)((wxObject 
*) (wxEvent 
*) ((wxSetCursorEvent 
*) x
)); 
3616 static void *_p_wxFSFileTo_p_wxObject(void *x
) { 
3617     return (void *)((wxObject 
*)  ((wxFSFile 
*) x
)); 
3619 static void *_p_wxPySizerTo_p_wxObject(void *x
) { 
3620     return (void *)((wxObject 
*) (wxSizer 
*) ((wxPySizer 
*) x
)); 
3622 static void *_p_wxPyEventTo_p_wxObject(void *x
) { 
3623     return (void *)((wxObject 
*) (wxEvent 
*) ((wxPyEvent 
*) x
)); 
3625 static void *_p_wxNotifyEventTo_p_wxObject(void *x
) { 
3626     return (void *)((wxObject 
*) (wxEvent 
*)(wxCommandEvent 
*) ((wxNotifyEvent 
*) x
)); 
3628 static void *_p_wxGLContextTo_p_wxObject(void *x
) { 
3629     return (void *)((wxObject 
*)  ((wxGLContext 
*) x
)); 
3631 static void *_p_wxShowEventTo_p_wxObject(void *x
) { 
3632     return (void *)((wxObject 
*) (wxEvent 
*) ((wxShowEvent 
*) x
)); 
3634 static void *_p_wxMenuItemTo_p_wxObject(void *x
) { 
3635     return (void *)((wxObject 
*)  ((wxMenuItem 
*) x
)); 
3637 static void *_p_wxDateEventTo_p_wxObject(void *x
) { 
3638     return (void *)((wxObject 
*) (wxEvent 
*)(wxCommandEvent 
*) ((wxDateEvent 
*) x
)); 
3640 static void *_p_wxIdleEventTo_p_wxObject(void *x
) { 
3641     return (void *)((wxObject 
*) (wxEvent 
*) ((wxIdleEvent 
*) x
)); 
3643 static void *_p_wxWindowCreateEventTo_p_wxObject(void *x
) { 
3644     return (void *)((wxObject 
*) (wxEvent 
*)(wxCommandEvent 
*) ((wxWindowCreateEvent 
*) x
)); 
3646 static void *_p_wxQueryNewPaletteEventTo_p_wxObject(void *x
) { 
3647     return (void *)((wxObject 
*) (wxEvent 
*) ((wxQueryNewPaletteEvent 
*) x
)); 
3649 static void *_p_wxMaximizeEventTo_p_wxObject(void *x
) { 
3650     return (void *)((wxObject 
*) (wxEvent 
*) ((wxMaximizeEvent 
*) x
)); 
3652 static void *_p_wxIconizeEventTo_p_wxObject(void *x
) { 
3653     return (void *)((wxObject 
*) (wxEvent 
*) ((wxIconizeEvent 
*) x
)); 
3655 static void *_p_wxSizeEventTo_p_wxObject(void *x
) { 
3656     return (void *)((wxObject 
*) (wxEvent 
*) ((wxSizeEvent 
*) x
)); 
3658 static void *_p_wxMoveEventTo_p_wxObject(void *x
) { 
3659     return (void *)((wxObject 
*) (wxEvent 
*) ((wxMoveEvent 
*) x
)); 
3661 static void *_p_wxActivateEventTo_p_wxObject(void *x
) { 
3662     return (void *)((wxObject 
*) (wxEvent 
*) ((wxActivateEvent 
*) x
)); 
3664 static void *_p_wxPNMHandlerTo_p_wxObject(void *x
) { 
3665     return (void *)((wxObject 
*) (wxImageHandler 
*) ((wxPNMHandler 
*) x
)); 
3667 static void *_p_wxJPEGHandlerTo_p_wxObject(void *x
) { 
3668     return (void *)((wxObject 
*) (wxImageHandler 
*) ((wxJPEGHandler 
*) x
)); 
3670 static void *_p_wxPCXHandlerTo_p_wxObject(void *x
) { 
3671     return (void *)((wxObject 
*) (wxImageHandler 
*) ((wxPCXHandler 
*) x
)); 
3673 static void *_p_wxGIFHandlerTo_p_wxObject(void *x
) { 
3674     return (void *)((wxObject 
*) (wxImageHandler 
*) ((wxGIFHandler 
*) x
)); 
3676 static void *_p_wxPNGHandlerTo_p_wxObject(void *x
) { 
3677     return (void *)((wxObject 
*) (wxImageHandler 
*) ((wxPNGHandler 
*) x
)); 
3679 static void *_p_wxANIHandlerTo_p_wxObject(void *x
) { 
3680     return (void *)((wxObject 
*) (wxImageHandler 
*)(wxBMPHandler 
*)(wxICOHandler 
*)(wxCURHandler 
*) ((wxANIHandler 
*) x
)); 
3682 static void *_p_wxCURHandlerTo_p_wxObject(void *x
) { 
3683     return (void *)((wxObject 
*) (wxImageHandler 
*)(wxBMPHandler 
*)(wxICOHandler 
*) ((wxCURHandler 
*) x
)); 
3685 static void *_p_wxICOHandlerTo_p_wxObject(void *x
) { 
3686     return (void *)((wxObject 
*) (wxImageHandler 
*)(wxBMPHandler 
*) ((wxICOHandler 
*) x
)); 
3688 static void *_p_wxBMPHandlerTo_p_wxObject(void *x
) { 
3689     return (void *)((wxObject 
*) (wxImageHandler 
*) ((wxBMPHandler 
*) x
)); 
3691 static void *_p_wxPyImageHandlerTo_p_wxObject(void *x
) { 
3692     return (void *)((wxObject 
*) (wxImageHandler 
*) ((wxPyImageHandler 
*) x
)); 
3694 static void *_p_wxImageHandlerTo_p_wxObject(void *x
) { 
3695     return (void *)((wxObject 
*)  ((wxImageHandler 
*) x
)); 
3697 static void *_p_wxXPMHandlerTo_p_wxObject(void *x
) { 
3698     return (void *)((wxObject 
*) (wxImageHandler 
*) ((wxXPMHandler 
*) x
)); 
3700 static void *_p_wxTIFFHandlerTo_p_wxObject(void *x
) { 
3701     return (void *)((wxObject 
*) (wxImageHandler 
*) ((wxTIFFHandler 
*) x
)); 
3703 static void *_p_wxEvtHandlerTo_p_wxObject(void *x
) { 
3704     return (void *)((wxObject 
*)  ((wxEvtHandler 
*) x
)); 
3706 static void *_p_wxMouseCaptureLostEventTo_p_wxObject(void *x
) { 
3707     return (void *)((wxObject 
*) (wxEvent 
*) ((wxMouseCaptureLostEvent 
*) x
)); 
3709 static void *_p_wxGLCanvasTo_p_wxObject(void *x
) { 
3710     return (void *)((wxObject 
*) (wxEvtHandler 
*)(wxWindow 
*) ((wxGLCanvas 
*) x
)); 
3712 static void *_p_wxStdDialogButtonSizerTo_p_wxObject(void *x
) { 
3713     return (void *)((wxObject 
*) (wxSizer 
*)(wxBoxSizer 
*) ((wxStdDialogButtonSizer 
*) x
)); 
3715 static void *_p_wxAcceleratorTableTo_p_wxObject(void *x
) { 
3716     return (void *)((wxObject 
*)  ((wxAcceleratorTable 
*) x
)); 
3718 static void *_p_wxImageTo_p_wxObject(void *x
) { 
3719     return (void *)((wxObject 
*)  ((wxImage 
*) x
)); 
3721 static void *_p_wxScrollWinEventTo_p_wxObject(void *x
) { 
3722     return (void *)((wxObject 
*) (wxEvent 
*) ((wxScrollWinEvent 
*) x
)); 
3724 static void *_p_wxWindowDestroyEventTo_p_wxObject(void *x
) { 
3725     return (void *)((wxObject 
*) (wxEvent 
*)(wxCommandEvent 
*) ((wxWindowDestroyEvent 
*) x
)); 
3727 static void *_p_wxNavigationKeyEventTo_p_wxObject(void *x
) { 
3728     return (void *)((wxObject 
*) (wxEvent 
*) ((wxNavigationKeyEvent 
*) x
)); 
3730 static void *_p_wxKeyEventTo_p_wxObject(void *x
) { 
3731     return (void *)((wxObject 
*) (wxEvent 
*) ((wxKeyEvent 
*) x
)); 
3733 static void *_p_wxWindowTo_p_wxObject(void *x
) { 
3734     return (void *)((wxObject 
*) (wxEvtHandler 
*) ((wxWindow 
*) x
)); 
3736 static void *_p_wxMenuTo_p_wxObject(void *x
) { 
3737     return (void *)((wxObject 
*) (wxEvtHandler 
*) ((wxMenu 
*) x
)); 
3739 static void *_p_wxMenuBarTo_p_wxObject(void *x
) { 
3740     return (void *)((wxObject 
*) (wxEvtHandler 
*)(wxWindow 
*) ((wxMenuBar 
*) x
)); 
3742 static void *_p_wxFileSystemTo_p_wxObject(void *x
) { 
3743     return (void *)((wxObject 
*)  ((wxFileSystem 
*) x
)); 
3745 static void *_p_wxContextMenuEventTo_p_wxObject(void *x
) { 
3746     return (void *)((wxObject 
*) (wxEvent 
*)(wxCommandEvent 
*) ((wxContextMenuEvent 
*) x
)); 
3748 static void *_p_wxMenuEventTo_p_wxObject(void *x
) { 
3749     return (void *)((wxObject 
*) (wxEvent 
*) ((wxMenuEvent 
*) x
)); 
3751 static void *_p_wxPyAppTo_p_wxObject(void *x
) { 
3752     return (void *)((wxObject 
*) (wxEvtHandler 
*) ((wxPyApp 
*) x
)); 
3754 static void *_p_wxCloseEventTo_p_wxObject(void *x
) { 
3755     return (void *)((wxObject 
*) (wxEvent 
*) ((wxCloseEvent 
*) x
)); 
3757 static void *_p_wxMouseEventTo_p_wxObject(void *x
) { 
3758     return (void *)((wxObject 
*) (wxEvent 
*) ((wxMouseEvent 
*) x
)); 
3760 static void *_p_wxEraseEventTo_p_wxObject(void *x
) { 
3761     return (void *)((wxObject 
*) (wxEvent 
*) ((wxEraseEvent 
*) x
)); 
3763 static void *_p_wxPyCommandEventTo_p_wxObject(void *x
) { 
3764     return (void *)((wxObject 
*) (wxEvent 
*)(wxCommandEvent 
*) ((wxPyCommandEvent 
*) x
)); 
3766 static void *_p_wxCommandEventTo_p_wxObject(void *x
) { 
3767     return (void *)((wxObject 
*) (wxEvent 
*) ((wxCommandEvent 
*) x
)); 
3769 static void *_p_wxDropFilesEventTo_p_wxObject(void *x
) { 
3770     return (void *)((wxObject 
*) (wxEvent 
*) ((wxDropFilesEvent 
*) x
)); 
3772 static void *_p_wxFocusEventTo_p_wxObject(void *x
) { 
3773     return (void *)((wxObject 
*) (wxEvent 
*) ((wxFocusEvent 
*) x
)); 
3775 static void *_p_wxChildFocusEventTo_p_wxObject(void *x
) { 
3776     return (void *)((wxObject 
*) (wxEvent 
*)(wxCommandEvent 
*) ((wxChildFocusEvent 
*) x
)); 
3778 static void *_p_wxControlWithItemsTo_p_wxObject(void *x
) { 
3779     return (void *)((wxObject 
*) (wxEvtHandler 
*)(wxWindow 
*)(wxControl 
*) ((wxControlWithItems 
*) x
)); 
3781 static void *_p_wxPyValidatorTo_p_wxObject(void *x
) { 
3782     return (void *)((wxObject 
*) (wxEvtHandler 
*)(wxValidator 
*) ((wxPyValidator 
*) x
)); 
3784 static void *_p_wxValidatorTo_p_wxObject(void *x
) { 
3785     return (void *)((wxObject 
*) (wxEvtHandler 
*) ((wxValidator 
*) x
)); 
3787 static void *_p_wxControlTo_p_wxWindow(void *x
) { 
3788     return (void *)((wxWindow 
*)  ((wxControl 
*) x
)); 
3790 static void *_p_wxControlWithItemsTo_p_wxWindow(void *x
) { 
3791     return (void *)((wxWindow 
*) (wxControl 
*) ((wxControlWithItems 
*) x
)); 
3793 static void *_p_wxMenuBarTo_p_wxWindow(void *x
) { 
3794     return (void *)((wxWindow 
*)  ((wxMenuBar 
*) x
)); 
3796 static void *_p_wxGLCanvasTo_p_wxWindow(void *x
) { 
3797     return (void *)((wxWindow 
*)  ((wxGLCanvas 
*) x
)); 
3799 static void *_p_wxControlTo_p_wxEvtHandler(void *x
) { 
3800     return (void *)((wxEvtHandler 
*) (wxWindow 
*) ((wxControl 
*) x
)); 
3802 static void *_p_wxWindowTo_p_wxEvtHandler(void *x
) { 
3803     return (void *)((wxEvtHandler 
*)  ((wxWindow 
*) x
)); 
3805 static void *_p_wxControlWithItemsTo_p_wxEvtHandler(void *x
) { 
3806     return (void *)((wxEvtHandler 
*) (wxWindow 
*)(wxControl 
*) ((wxControlWithItems 
*) x
)); 
3808 static void *_p_wxPyAppTo_p_wxEvtHandler(void *x
) { 
3809     return (void *)((wxEvtHandler 
*)  ((wxPyApp 
*) x
)); 
3811 static void *_p_wxValidatorTo_p_wxEvtHandler(void *x
) { 
3812     return (void *)((wxEvtHandler 
*)  ((wxValidator 
*) x
)); 
3814 static void *_p_wxPyValidatorTo_p_wxEvtHandler(void *x
) { 
3815     return (void *)((wxEvtHandler 
*) (wxValidator 
*) ((wxPyValidator 
*) x
)); 
3817 static void *_p_wxMenuBarTo_p_wxEvtHandler(void *x
) { 
3818     return (void *)((wxEvtHandler 
*) (wxWindow 
*) ((wxMenuBar 
*) x
)); 
3820 static void *_p_wxGLCanvasTo_p_wxEvtHandler(void *x
) { 
3821     return (void *)((wxEvtHandler 
*) (wxWindow 
*) ((wxGLCanvas 
*) x
)); 
3823 static void *_p_wxMenuTo_p_wxEvtHandler(void *x
) { 
3824     return (void *)((wxEvtHandler 
*)  ((wxMenu 
*) x
)); 
3826 static swig_type_info _swigt__p_char 
= {"_p_char", "char *", 0, 0, (void*)0, 0}; 
3827 static swig_type_info _swigt__p_form_ops_t 
= {"_p_form_ops_t", "enum form_ops_t *|form_ops_t *", 0, 0, (void*)0, 0}; 
3828 static swig_type_info _swigt__p_int 
= {"_p_int", "int *", 0, 0, (void*)0, 0}; 
3829 static swig_type_info _swigt__p_unsigned_char 
= {"_p_unsigned_char", "unsigned char *|byte *", 0, 0, (void*)0, 0}; 
3830 static swig_type_info _swigt__p_unsigned_int 
= {"_p_unsigned_int", "unsigned int *|time_t *", 0, 0, (void*)0, 0}; 
3831 static swig_type_info _swigt__p_unsigned_long 
= {"_p_unsigned_long", "unsigned long *|wxUIntPtr *", 0, 0, (void*)0, 0}; 
3832 static swig_type_info _swigt__p_wxDuplexMode 
= {"_p_wxDuplexMode", "enum wxDuplexMode *|wxDuplexMode *", 0, 0, (void*)0, 0}; 
3833 static swig_type_info _swigt__p_wxEvtHandler 
= {"_p_wxEvtHandler", "wxEvtHandler *", 0, 0, (void*)0, 0}; 
3834 static swig_type_info _swigt__p_wxControl 
= {"_p_wxControl", 0, 0, 0, 0, 0}; 
3835 static swig_type_info _swigt__p_wxControlWithItems 
= {"_p_wxControlWithItems", 0, 0, 0, 0, 0}; 
3836 static swig_type_info _swigt__p_wxPyApp 
= {"_p_wxPyApp", 0, 0, 0, 0, 0}; 
3837 static swig_type_info _swigt__p_wxMenuBar 
= {"_p_wxMenuBar", 0, 0, 0, 0, 0}; 
3838 static swig_type_info _swigt__p_wxValidator 
= {"_p_wxValidator", 0, 0, 0, 0, 0}; 
3839 static swig_type_info _swigt__p_wxPyValidator 
= {"_p_wxPyValidator", 0, 0, 0, 0, 0}; 
3840 static swig_type_info _swigt__p_wxMenu 
= {"_p_wxMenu", 0, 0, 0, 0, 0}; 
3841 static swig_type_info _swigt__p_wxGLCanvas 
= {"_p_wxGLCanvas", "wxGLCanvas *", 0, 0, (void*)0, 0}; 
3842 static swig_type_info _swigt__p_wxGLContext 
= {"_p_wxGLContext", "wxGLContext *", 0, 0, (void*)0, 0}; 
3843 static swig_type_info _swigt__p_wxObject 
= {"_p_wxObject", "wxObject *", 0, 0, (void*)0, 0}; 
3844 static swig_type_info _swigt__p_wxLayoutConstraints 
= {"_p_wxLayoutConstraints", 0, 0, 0, 0, 0}; 
3845 static swig_type_info _swigt__p_wxSizerItem 
= {"_p_wxSizerItem", 0, 0, 0, 0, 0}; 
3846 static swig_type_info _swigt__p_wxGBSizerItem 
= {"_p_wxGBSizerItem", 0, 0, 0, 0, 0}; 
3847 static swig_type_info _swigt__p_wxScrollEvent 
= {"_p_wxScrollEvent", 0, 0, 0, 0, 0}; 
3848 static swig_type_info _swigt__p_wxIndividualLayoutConstraint 
= {"_p_wxIndividualLayoutConstraint", 0, 0, 0, 0, 0}; 
3849 static swig_type_info _swigt__p_wxStaticBoxSizer 
= {"_p_wxStaticBoxSizer", 0, 0, 0, 0, 0}; 
3850 static swig_type_info _swigt__p_wxBoxSizer 
= {"_p_wxBoxSizer", 0, 0, 0, 0, 0}; 
3851 static swig_type_info _swigt__p_wxSizer 
= {"_p_wxSizer", 0, 0, 0, 0, 0}; 
3852 static swig_type_info _swigt__p_wxGridBagSizer 
= {"_p_wxGridBagSizer", 0, 0, 0, 0, 0}; 
3853 static swig_type_info _swigt__p_wxUpdateUIEvent 
= {"_p_wxUpdateUIEvent", 0, 0, 0, 0, 0}; 
3854 static swig_type_info _swigt__p_wxEvent 
= {"_p_wxEvent", 0, 0, 0, 0, 0}; 
3855 static swig_type_info _swigt__p_wxGridSizer 
= {"_p_wxGridSizer", 0, 0, 0, 0, 0}; 
3856 static swig_type_info _swigt__p_wxFlexGridSizer 
= {"_p_wxFlexGridSizer", 0, 0, 0, 0, 0}; 
3857 static swig_type_info _swigt__p_wxInitDialogEvent 
= {"_p_wxInitDialogEvent", 0, 0, 0, 0, 0}; 
3858 static swig_type_info _swigt__p_wxClipboardTextEvent 
= {"_p_wxClipboardTextEvent", 0, 0, 0, 0, 0}; 
3859 static swig_type_info _swigt__p_wxPaintEvent 
= {"_p_wxPaintEvent", 0, 0, 0, 0, 0}; 
3860 static swig_type_info _swigt__p_wxNcPaintEvent 
= {"_p_wxNcPaintEvent", 0, 0, 0, 0, 0}; 
3861 static swig_type_info _swigt__p_wxPaletteChangedEvent 
= {"_p_wxPaletteChangedEvent", 0, 0, 0, 0, 0}; 
3862 static swig_type_info _swigt__p_wxDisplayChangedEvent 
= {"_p_wxDisplayChangedEvent", 0, 0, 0, 0, 0}; 
3863 static swig_type_info _swigt__p_wxMouseCaptureChangedEvent 
= {"_p_wxMouseCaptureChangedEvent", 0, 0, 0, 0, 0}; 
3864 static swig_type_info _swigt__p_wxSysColourChangedEvent 
= {"_p_wxSysColourChangedEvent", 0, 0, 0, 0, 0}; 
3865 static swig_type_info _swigt__p_wxSetCursorEvent 
= {"_p_wxSetCursorEvent", 0, 0, 0, 0, 0}; 
3866 static swig_type_info _swigt__p_wxFSFile 
= {"_p_wxFSFile", 0, 0, 0, 0, 0}; 
3867 static swig_type_info _swigt__p_wxPySizer 
= {"_p_wxPySizer", 0, 0, 0, 0, 0}; 
3868 static swig_type_info _swigt__p_wxPyEvent 
= {"_p_wxPyEvent", 0, 0, 0, 0, 0}; 
3869 static swig_type_info _swigt__p_wxNotifyEvent 
= {"_p_wxNotifyEvent", 0, 0, 0, 0, 0}; 
3870 static swig_type_info _swigt__p_wxShowEvent 
= {"_p_wxShowEvent", 0, 0, 0, 0, 0}; 
3871 static swig_type_info _swigt__p_wxMenuItem 
= {"_p_wxMenuItem", 0, 0, 0, 0, 0}; 
3872 static swig_type_info _swigt__p_wxWindowCreateEvent 
= {"_p_wxWindowCreateEvent", 0, 0, 0, 0, 0}; 
3873 static swig_type_info _swigt__p_wxIdleEvent 
= {"_p_wxIdleEvent", 0, 0, 0, 0, 0}; 
3874 static swig_type_info _swigt__p_wxDateEvent 
= {"_p_wxDateEvent", 0, 0, 0, 0, 0}; 
3875 static swig_type_info _swigt__p_wxQueryNewPaletteEvent 
= {"_p_wxQueryNewPaletteEvent", 0, 0, 0, 0, 0}; 
3876 static swig_type_info _swigt__p_wxMaximizeEvent 
= {"_p_wxMaximizeEvent", 0, 0, 0, 0, 0}; 
3877 static swig_type_info _swigt__p_wxIconizeEvent 
= {"_p_wxIconizeEvent", 0, 0, 0, 0, 0}; 
3878 static swig_type_info _swigt__p_wxSizeEvent 
= {"_p_wxSizeEvent", 0, 0, 0, 0, 0}; 
3879 static swig_type_info _swigt__p_wxActivateEvent 
= {"_p_wxActivateEvent", 0, 0, 0, 0, 0}; 
3880 static swig_type_info _swigt__p_wxMoveEvent 
= {"_p_wxMoveEvent", 0, 0, 0, 0, 0}; 
3881 static swig_type_info _swigt__p_wxPNMHandler 
= {"_p_wxPNMHandler", 0, 0, 0, 0, 0}; 
3882 static swig_type_info _swigt__p_wxJPEGHandler 
= {"_p_wxJPEGHandler", 0, 0, 0, 0, 0}; 
3883 static swig_type_info _swigt__p_wxPCXHandler 
= {"_p_wxPCXHandler", 0, 0, 0, 0, 0}; 
3884 static swig_type_info _swigt__p_wxGIFHandler 
= {"_p_wxGIFHandler", 0, 0, 0, 0, 0}; 
3885 static swig_type_info _swigt__p_wxPNGHandler 
= {"_p_wxPNGHandler", 0, 0, 0, 0, 0}; 
3886 static swig_type_info _swigt__p_wxANIHandler 
= {"_p_wxANIHandler", 0, 0, 0, 0, 0}; 
3887 static swig_type_info _swigt__p_wxCURHandler 
= {"_p_wxCURHandler", 0, 0, 0, 0, 0}; 
3888 static swig_type_info _swigt__p_wxICOHandler 
= {"_p_wxICOHandler", 0, 0, 0, 0, 0}; 
3889 static swig_type_info _swigt__p_wxBMPHandler 
= {"_p_wxBMPHandler", 0, 0, 0, 0, 0}; 
3890 static swig_type_info _swigt__p_wxPyImageHandler 
= {"_p_wxPyImageHandler", 0, 0, 0, 0, 0}; 
3891 static swig_type_info _swigt__p_wxImageHandler 
= {"_p_wxImageHandler", 0, 0, 0, 0, 0}; 
3892 static swig_type_info _swigt__p_wxXPMHandler 
= {"_p_wxXPMHandler", 0, 0, 0, 0, 0}; 
3893 static swig_type_info _swigt__p_wxTIFFHandler 
= {"_p_wxTIFFHandler", 0, 0, 0, 0, 0}; 
3894 static swig_type_info _swigt__p_wxMouseCaptureLostEvent 
= {"_p_wxMouseCaptureLostEvent", 0, 0, 0, 0, 0}; 
3895 static swig_type_info _swigt__p_wxStdDialogButtonSizer 
= {"_p_wxStdDialogButtonSizer", 0, 0, 0, 0, 0}; 
3896 static swig_type_info _swigt__p_wxAcceleratorTable 
= {"_p_wxAcceleratorTable", 0, 0, 0, 0, 0}; 
3897 static swig_type_info _swigt__p_wxImage 
= {"_p_wxImage", 0, 0, 0, 0, 0}; 
3898 static swig_type_info _swigt__p_wxScrollWinEvent 
= {"_p_wxScrollWinEvent", 0, 0, 0, 0, 0}; 
3899 static swig_type_info _swigt__p_wxWindowDestroyEvent 
= {"_p_wxWindowDestroyEvent", 0, 0, 0, 0, 0}; 
3900 static swig_type_info _swigt__p_wxNavigationKeyEvent 
= {"_p_wxNavigationKeyEvent", 0, 0, 0, 0, 0}; 
3901 static swig_type_info _swigt__p_wxKeyEvent 
= {"_p_wxKeyEvent", 0, 0, 0, 0, 0}; 
3902 static swig_type_info _swigt__p_wxFileSystem 
= {"_p_wxFileSystem", 0, 0, 0, 0, 0}; 
3903 static swig_type_info _swigt__p_wxContextMenuEvent 
= {"_p_wxContextMenuEvent", 0, 0, 0, 0, 0}; 
3904 static swig_type_info _swigt__p_wxMenuEvent 
= {"_p_wxMenuEvent", 0, 0, 0, 0, 0}; 
3905 static swig_type_info _swigt__p_wxEraseEvent 
= {"_p_wxEraseEvent", 0, 0, 0, 0, 0}; 
3906 static swig_type_info _swigt__p_wxMouseEvent 
= {"_p_wxMouseEvent", 0, 0, 0, 0, 0}; 
3907 static swig_type_info _swigt__p_wxCloseEvent 
= {"_p_wxCloseEvent", 0, 0, 0, 0, 0}; 
3908 static swig_type_info _swigt__p_wxPyCommandEvent 
= {"_p_wxPyCommandEvent", 0, 0, 0, 0, 0}; 
3909 static swig_type_info _swigt__p_wxCommandEvent 
= {"_p_wxCommandEvent", 0, 0, 0, 0, 0}; 
3910 static swig_type_info _swigt__p_wxDropFilesEvent 
= {"_p_wxDropFilesEvent", 0, 0, 0, 0, 0}; 
3911 static swig_type_info _swigt__p_wxFocusEvent 
= {"_p_wxFocusEvent", 0, 0, 0, 0, 0}; 
3912 static swig_type_info _swigt__p_wxChildFocusEvent 
= {"_p_wxChildFocusEvent", 0, 0, 0, 0, 0}; 
3913 static swig_type_info _swigt__p_wxPalette 
= {"_p_wxPalette", "wxPalette *", 0, 0, (void*)0, 0}; 
3914 static swig_type_info _swigt__p_wxPaperSize 
= {"_p_wxPaperSize", "enum wxPaperSize *|wxPaperSize *", 0, 0, (void*)0, 0}; 
3915 static swig_type_info _swigt__p_wxWindow 
= {"_p_wxWindow", "wxWindow *", 0, 0, (void*)0, 0}; 
3917 static swig_type_info 
*swig_type_initial
[] = { 
3919   &_swigt__p_form_ops_t
, 
3921   &_swigt__p_unsigned_char
, 
3922   &_swigt__p_unsigned_int
, 
3923   &_swigt__p_unsigned_long
, 
3924   &_swigt__p_wxANIHandler
, 
3925   &_swigt__p_wxAcceleratorTable
, 
3926   &_swigt__p_wxActivateEvent
, 
3927   &_swigt__p_wxBMPHandler
, 
3928   &_swigt__p_wxBoxSizer
, 
3929   &_swigt__p_wxCURHandler
, 
3930   &_swigt__p_wxChildFocusEvent
, 
3931   &_swigt__p_wxClipboardTextEvent
, 
3932   &_swigt__p_wxCloseEvent
, 
3933   &_swigt__p_wxCommandEvent
, 
3934   &_swigt__p_wxContextMenuEvent
, 
3935   &_swigt__p_wxControl
, 
3936   &_swigt__p_wxControlWithItems
, 
3937   &_swigt__p_wxDateEvent
, 
3938   &_swigt__p_wxDisplayChangedEvent
, 
3939   &_swigt__p_wxDropFilesEvent
, 
3940   &_swigt__p_wxDuplexMode
, 
3941   &_swigt__p_wxEraseEvent
, 
3943   &_swigt__p_wxEvtHandler
, 
3944   &_swigt__p_wxFSFile
, 
3945   &_swigt__p_wxFileSystem
, 
3946   &_swigt__p_wxFlexGridSizer
, 
3947   &_swigt__p_wxFocusEvent
, 
3948   &_swigt__p_wxGBSizerItem
, 
3949   &_swigt__p_wxGIFHandler
, 
3950   &_swigt__p_wxGLCanvas
, 
3951   &_swigt__p_wxGLContext
, 
3952   &_swigt__p_wxGridBagSizer
, 
3953   &_swigt__p_wxGridSizer
, 
3954   &_swigt__p_wxICOHandler
, 
3955   &_swigt__p_wxIconizeEvent
, 
3956   &_swigt__p_wxIdleEvent
, 
3958   &_swigt__p_wxImageHandler
, 
3959   &_swigt__p_wxIndividualLayoutConstraint
, 
3960   &_swigt__p_wxInitDialogEvent
, 
3961   &_swigt__p_wxJPEGHandler
, 
3962   &_swigt__p_wxKeyEvent
, 
3963   &_swigt__p_wxLayoutConstraints
, 
3964   &_swigt__p_wxMaximizeEvent
, 
3966   &_swigt__p_wxMenuBar
, 
3967   &_swigt__p_wxMenuEvent
, 
3968   &_swigt__p_wxMenuItem
, 
3969   &_swigt__p_wxMouseCaptureChangedEvent
, 
3970   &_swigt__p_wxMouseCaptureLostEvent
, 
3971   &_swigt__p_wxMouseEvent
, 
3972   &_swigt__p_wxMoveEvent
, 
3973   &_swigt__p_wxNavigationKeyEvent
, 
3974   &_swigt__p_wxNcPaintEvent
, 
3975   &_swigt__p_wxNotifyEvent
, 
3976   &_swigt__p_wxObject
, 
3977   &_swigt__p_wxPCXHandler
, 
3978   &_swigt__p_wxPNGHandler
, 
3979   &_swigt__p_wxPNMHandler
, 
3980   &_swigt__p_wxPaintEvent
, 
3981   &_swigt__p_wxPalette
, 
3982   &_swigt__p_wxPaletteChangedEvent
, 
3983   &_swigt__p_wxPaperSize
, 
3985   &_swigt__p_wxPyCommandEvent
, 
3986   &_swigt__p_wxPyEvent
, 
3987   &_swigt__p_wxPyImageHandler
, 
3988   &_swigt__p_wxPySizer
, 
3989   &_swigt__p_wxPyValidator
, 
3990   &_swigt__p_wxQueryNewPaletteEvent
, 
3991   &_swigt__p_wxScrollEvent
, 
3992   &_swigt__p_wxScrollWinEvent
, 
3993   &_swigt__p_wxSetCursorEvent
, 
3994   &_swigt__p_wxShowEvent
, 
3995   &_swigt__p_wxSizeEvent
, 
3997   &_swigt__p_wxSizerItem
, 
3998   &_swigt__p_wxStaticBoxSizer
, 
3999   &_swigt__p_wxStdDialogButtonSizer
, 
4000   &_swigt__p_wxSysColourChangedEvent
, 
4001   &_swigt__p_wxTIFFHandler
, 
4002   &_swigt__p_wxUpdateUIEvent
, 
4003   &_swigt__p_wxValidator
, 
4004   &_swigt__p_wxWindow
, 
4005   &_swigt__p_wxWindowCreateEvent
, 
4006   &_swigt__p_wxWindowDestroyEvent
, 
4007   &_swigt__p_wxXPMHandler
, 
4010 static swig_cast_info _swigc__p_char
[] = {  {&_swigt__p_char
, 0, 0, 0},{0, 0, 0, 0}}; 
4011 static swig_cast_info _swigc__p_form_ops_t
[] = {  {&_swigt__p_form_ops_t
, 0, 0, 0},{0, 0, 0, 0}}; 
4012 static swig_cast_info _swigc__p_int
[] = {  {&_swigt__p_int
, 0, 0, 0},{0, 0, 0, 0}}; 
4013 static swig_cast_info _swigc__p_unsigned_char
[] = {  {&_swigt__p_unsigned_char
, 0, 0, 0},{0, 0, 0, 0}}; 
4014 static swig_cast_info _swigc__p_unsigned_int
[] = {  {&_swigt__p_unsigned_int
, 0, 0, 0},{0, 0, 0, 0}}; 
4015 static swig_cast_info _swigc__p_unsigned_long
[] = {  {&_swigt__p_unsigned_long
, 0, 0, 0},{0, 0, 0, 0}}; 
4016 static swig_cast_info _swigc__p_wxDuplexMode
[] = {  {&_swigt__p_wxDuplexMode
, 0, 0, 0},{0, 0, 0, 0}}; 
4017 static swig_cast_info _swigc__p_wxControl
[] = {{&_swigt__p_wxControl
, 0, 0, 0},{0, 0, 0, 0}}; 
4018 static swig_cast_info _swigc__p_wxControlWithItems
[] = {{&_swigt__p_wxControlWithItems
, 0, 0, 0},{0, 0, 0, 0}}; 
4019 static swig_cast_info _swigc__p_wxPyApp
[] = {{&_swigt__p_wxPyApp
, 0, 0, 0},{0, 0, 0, 0}}; 
4020 static swig_cast_info _swigc__p_wxMenuBar
[] = {{&_swigt__p_wxMenuBar
, 0, 0, 0},{0, 0, 0, 0}}; 
4021 static swig_cast_info _swigc__p_wxValidator
[] = {{&_swigt__p_wxValidator
, 0, 0, 0},{0, 0, 0, 0}}; 
4022 static swig_cast_info _swigc__p_wxPyValidator
[] = {{&_swigt__p_wxPyValidator
, 0, 0, 0},{0, 0, 0, 0}}; 
4023 static swig_cast_info _swigc__p_wxMenu
[] = {{&_swigt__p_wxMenu
, 0, 0, 0},{0, 0, 0, 0}}; 
4024 static swig_cast_info _swigc__p_wxEvtHandler
[] = {  {&_swigt__p_wxControl
, _p_wxControlTo_p_wxEvtHandler
, 0, 0},  {&_swigt__p_wxWindow
, _p_wxWindowTo_p_wxEvtHandler
, 0, 0},  {&_swigt__p_wxControlWithItems
, _p_wxControlWithItemsTo_p_wxEvtHandler
, 0, 0},  {&_swigt__p_wxEvtHandler
, 0, 0, 0},  {&_swigt__p_wxPyApp
, _p_wxPyAppTo_p_wxEvtHandler
, 0, 0},  {&_swigt__p_wxMenuBar
, _p_wxMenuBarTo_p_wxEvtHandler
, 0, 0},  {&_swigt__p_wxGLCanvas
, _p_wxGLCanvasTo_p_wxEvtHandler
, 0, 0},  {&_swigt__p_wxValidator
, _p_wxValidatorTo_p_wxEvtHandler
, 0, 0},  {&_swigt__p_wxPyValidator
, _p_wxPyValidatorTo_p_wxEvtHandler
, 0, 0},  {&_swigt__p_wxMenu
, _p_wxMenuTo_p_wxEvtHandler
, 0, 0},{0, 0, 0, 0}}; 
4025 static swig_cast_info _swigc__p_wxGLCanvas
[] = {  {&_swigt__p_wxGLCanvas
, 0, 0, 0},{0, 0, 0, 0}}; 
4026 static swig_cast_info _swigc__p_wxGLContext
[] = {  {&_swigt__p_wxGLContext
, 0, 0, 0},{0, 0, 0, 0}}; 
4027 static swig_cast_info _swigc__p_wxLayoutConstraints
[] = {{&_swigt__p_wxLayoutConstraints
, 0, 0, 0},{0, 0, 0, 0}}; 
4028 static swig_cast_info _swigc__p_wxSizerItem
[] = {{&_swigt__p_wxSizerItem
, 0, 0, 0},{0, 0, 0, 0}}; 
4029 static swig_cast_info _swigc__p_wxGBSizerItem
[] = {{&_swigt__p_wxGBSizerItem
, 0, 0, 0},{0, 0, 0, 0}}; 
4030 static swig_cast_info _swigc__p_wxScrollEvent
[] = {{&_swigt__p_wxScrollEvent
, 0, 0, 0},{0, 0, 0, 0}}; 
4031 static swig_cast_info _swigc__p_wxIndividualLayoutConstraint
[] = {{&_swigt__p_wxIndividualLayoutConstraint
, 0, 0, 0},{0, 0, 0, 0}}; 
4032 static swig_cast_info _swigc__p_wxStaticBoxSizer
[] = {{&_swigt__p_wxStaticBoxSizer
, 0, 0, 0},{0, 0, 0, 0}}; 
4033 static swig_cast_info _swigc__p_wxBoxSizer
[] = {{&_swigt__p_wxBoxSizer
, 0, 0, 0},{0, 0, 0, 0}}; 
4034 static swig_cast_info _swigc__p_wxSizer
[] = {{&_swigt__p_wxSizer
, 0, 0, 0},{0, 0, 0, 0}}; 
4035 static swig_cast_info _swigc__p_wxGridBagSizer
[] = {{&_swigt__p_wxGridBagSizer
, 0, 0, 0},{0, 0, 0, 0}}; 
4036 static swig_cast_info _swigc__p_wxUpdateUIEvent
[] = {{&_swigt__p_wxUpdateUIEvent
, 0, 0, 0},{0, 0, 0, 0}}; 
4037 static swig_cast_info _swigc__p_wxEvent
[] = {{&_swigt__p_wxEvent
, 0, 0, 0},{0, 0, 0, 0}}; 
4038 static swig_cast_info _swigc__p_wxGridSizer
[] = {{&_swigt__p_wxGridSizer
, 0, 0, 0},{0, 0, 0, 0}}; 
4039 static swig_cast_info _swigc__p_wxFlexGridSizer
[] = {{&_swigt__p_wxFlexGridSizer
, 0, 0, 0},{0, 0, 0, 0}}; 
4040 static swig_cast_info _swigc__p_wxInitDialogEvent
[] = {{&_swigt__p_wxInitDialogEvent
, 0, 0, 0},{0, 0, 0, 0}}; 
4041 static swig_cast_info _swigc__p_wxClipboardTextEvent
[] = {{&_swigt__p_wxClipboardTextEvent
, 0, 0, 0},{0, 0, 0, 0}}; 
4042 static swig_cast_info _swigc__p_wxPaintEvent
[] = {{&_swigt__p_wxPaintEvent
, 0, 0, 0},{0, 0, 0, 0}}; 
4043 static swig_cast_info _swigc__p_wxNcPaintEvent
[] = {{&_swigt__p_wxNcPaintEvent
, 0, 0, 0},{0, 0, 0, 0}}; 
4044 static swig_cast_info _swigc__p_wxPaletteChangedEvent
[] = {{&_swigt__p_wxPaletteChangedEvent
, 0, 0, 0},{0, 0, 0, 0}}; 
4045 static swig_cast_info _swigc__p_wxDisplayChangedEvent
[] = {{&_swigt__p_wxDisplayChangedEvent
, 0, 0, 0},{0, 0, 0, 0}}; 
4046 static swig_cast_info _swigc__p_wxMouseCaptureChangedEvent
[] = {{&_swigt__p_wxMouseCaptureChangedEvent
, 0, 0, 0},{0, 0, 0, 0}}; 
4047 static swig_cast_info _swigc__p_wxSysColourChangedEvent
[] = {{&_swigt__p_wxSysColourChangedEvent
, 0, 0, 0},{0, 0, 0, 0}}; 
4048 static swig_cast_info _swigc__p_wxSetCursorEvent
[] = {{&_swigt__p_wxSetCursorEvent
, 0, 0, 0},{0, 0, 0, 0}}; 
4049 static swig_cast_info _swigc__p_wxFSFile
[] = {{&_swigt__p_wxFSFile
, 0, 0, 0},{0, 0, 0, 0}}; 
4050 static swig_cast_info _swigc__p_wxPySizer
[] = {{&_swigt__p_wxPySizer
, 0, 0, 0},{0, 0, 0, 0}}; 
4051 static swig_cast_info _swigc__p_wxPyEvent
[] = {{&_swigt__p_wxPyEvent
, 0, 0, 0},{0, 0, 0, 0}}; 
4052 static swig_cast_info _swigc__p_wxNotifyEvent
[] = {{&_swigt__p_wxNotifyEvent
, 0, 0, 0},{0, 0, 0, 0}}; 
4053 static swig_cast_info _swigc__p_wxShowEvent
[] = {{&_swigt__p_wxShowEvent
, 0, 0, 0},{0, 0, 0, 0}}; 
4054 static swig_cast_info _swigc__p_wxMenuItem
[] = {{&_swigt__p_wxMenuItem
, 0, 0, 0},{0, 0, 0, 0}}; 
4055 static swig_cast_info _swigc__p_wxWindowCreateEvent
[] = {{&_swigt__p_wxWindowCreateEvent
, 0, 0, 0},{0, 0, 0, 0}}; 
4056 static swig_cast_info _swigc__p_wxIdleEvent
[] = {{&_swigt__p_wxIdleEvent
, 0, 0, 0},{0, 0, 0, 0}}; 
4057 static swig_cast_info _swigc__p_wxDateEvent
[] = {{&_swigt__p_wxDateEvent
, 0, 0, 0},{0, 0, 0, 0}}; 
4058 static swig_cast_info _swigc__p_wxQueryNewPaletteEvent
[] = {{&_swigt__p_wxQueryNewPaletteEvent
, 0, 0, 0},{0, 0, 0, 0}}; 
4059 static swig_cast_info _swigc__p_wxMaximizeEvent
[] = {{&_swigt__p_wxMaximizeEvent
, 0, 0, 0},{0, 0, 0, 0}}; 
4060 static swig_cast_info _swigc__p_wxIconizeEvent
[] = {{&_swigt__p_wxIconizeEvent
, 0, 0, 0},{0, 0, 0, 0}}; 
4061 static swig_cast_info _swigc__p_wxSizeEvent
[] = {{&_swigt__p_wxSizeEvent
, 0, 0, 0},{0, 0, 0, 0}}; 
4062 static swig_cast_info _swigc__p_wxActivateEvent
[] = {{&_swigt__p_wxActivateEvent
, 0, 0, 0},{0, 0, 0, 0}}; 
4063 static swig_cast_info _swigc__p_wxMoveEvent
[] = {{&_swigt__p_wxMoveEvent
, 0, 0, 0},{0, 0, 0, 0}}; 
4064 static swig_cast_info _swigc__p_wxPNMHandler
[] = {{&_swigt__p_wxPNMHandler
, 0, 0, 0},{0, 0, 0, 0}}; 
4065 static swig_cast_info _swigc__p_wxJPEGHandler
[] = {{&_swigt__p_wxJPEGHandler
, 0, 0, 0},{0, 0, 0, 0}}; 
4066 static swig_cast_info _swigc__p_wxPCXHandler
[] = {{&_swigt__p_wxPCXHandler
, 0, 0, 0},{0, 0, 0, 0}}; 
4067 static swig_cast_info _swigc__p_wxGIFHandler
[] = {{&_swigt__p_wxGIFHandler
, 0, 0, 0},{0, 0, 0, 0}}; 
4068 static swig_cast_info _swigc__p_wxPNGHandler
[] = {{&_swigt__p_wxPNGHandler
, 0, 0, 0},{0, 0, 0, 0}}; 
4069 static swig_cast_info _swigc__p_wxANIHandler
[] = {{&_swigt__p_wxANIHandler
, 0, 0, 0},{0, 0, 0, 0}}; 
4070 static swig_cast_info _swigc__p_wxCURHandler
[] = {{&_swigt__p_wxCURHandler
, 0, 0, 0},{0, 0, 0, 0}}; 
4071 static swig_cast_info _swigc__p_wxICOHandler
[] = {{&_swigt__p_wxICOHandler
, 0, 0, 0},{0, 0, 0, 0}}; 
4072 static swig_cast_info _swigc__p_wxBMPHandler
[] = {{&_swigt__p_wxBMPHandler
, 0, 0, 0},{0, 0, 0, 0}}; 
4073 static swig_cast_info _swigc__p_wxPyImageHandler
[] = {{&_swigt__p_wxPyImageHandler
, 0, 0, 0},{0, 0, 0, 0}}; 
4074 static swig_cast_info _swigc__p_wxImageHandler
[] = {{&_swigt__p_wxImageHandler
, 0, 0, 0},{0, 0, 0, 0}}; 
4075 static swig_cast_info _swigc__p_wxXPMHandler
[] = {{&_swigt__p_wxXPMHandler
, 0, 0, 0},{0, 0, 0, 0}}; 
4076 static swig_cast_info _swigc__p_wxTIFFHandler
[] = {{&_swigt__p_wxTIFFHandler
, 0, 0, 0},{0, 0, 0, 0}}; 
4077 static swig_cast_info _swigc__p_wxMouseCaptureLostEvent
[] = {{&_swigt__p_wxMouseCaptureLostEvent
, 0, 0, 0},{0, 0, 0, 0}}; 
4078 static swig_cast_info _swigc__p_wxStdDialogButtonSizer
[] = {{&_swigt__p_wxStdDialogButtonSizer
, 0, 0, 0},{0, 0, 0, 0}}; 
4079 static swig_cast_info _swigc__p_wxAcceleratorTable
[] = {{&_swigt__p_wxAcceleratorTable
, 0, 0, 0},{0, 0, 0, 0}}; 
4080 static swig_cast_info _swigc__p_wxImage
[] = {{&_swigt__p_wxImage
, 0, 0, 0},{0, 0, 0, 0}}; 
4081 static swig_cast_info _swigc__p_wxScrollWinEvent
[] = {{&_swigt__p_wxScrollWinEvent
, 0, 0, 0},{0, 0, 0, 0}}; 
4082 static swig_cast_info _swigc__p_wxWindowDestroyEvent
[] = {{&_swigt__p_wxWindowDestroyEvent
, 0, 0, 0},{0, 0, 0, 0}}; 
4083 static swig_cast_info _swigc__p_wxNavigationKeyEvent
[] = {{&_swigt__p_wxNavigationKeyEvent
, 0, 0, 0},{0, 0, 0, 0}}; 
4084 static swig_cast_info _swigc__p_wxKeyEvent
[] = {{&_swigt__p_wxKeyEvent
, 0, 0, 0},{0, 0, 0, 0}}; 
4085 static swig_cast_info _swigc__p_wxFileSystem
[] = {{&_swigt__p_wxFileSystem
, 0, 0, 0},{0, 0, 0, 0}}; 
4086 static swig_cast_info _swigc__p_wxContextMenuEvent
[] = {{&_swigt__p_wxContextMenuEvent
, 0, 0, 0},{0, 0, 0, 0}}; 
4087 static swig_cast_info _swigc__p_wxMenuEvent
[] = {{&_swigt__p_wxMenuEvent
, 0, 0, 0},{0, 0, 0, 0}}; 
4088 static swig_cast_info _swigc__p_wxEraseEvent
[] = {{&_swigt__p_wxEraseEvent
, 0, 0, 0},{0, 0, 0, 0}}; 
4089 static swig_cast_info _swigc__p_wxMouseEvent
[] = {{&_swigt__p_wxMouseEvent
, 0, 0, 0},{0, 0, 0, 0}}; 
4090 static swig_cast_info _swigc__p_wxCloseEvent
[] = {{&_swigt__p_wxCloseEvent
, 0, 0, 0},{0, 0, 0, 0}}; 
4091 static swig_cast_info _swigc__p_wxPyCommandEvent
[] = {{&_swigt__p_wxPyCommandEvent
, 0, 0, 0},{0, 0, 0, 0}}; 
4092 static swig_cast_info _swigc__p_wxCommandEvent
[] = {{&_swigt__p_wxCommandEvent
, 0, 0, 0},{0, 0, 0, 0}}; 
4093 static swig_cast_info _swigc__p_wxDropFilesEvent
[] = {{&_swigt__p_wxDropFilesEvent
, 0, 0, 0},{0, 0, 0, 0}}; 
4094 static swig_cast_info _swigc__p_wxFocusEvent
[] = {{&_swigt__p_wxFocusEvent
, 0, 0, 0},{0, 0, 0, 0}}; 
4095 static swig_cast_info _swigc__p_wxChildFocusEvent
[] = {{&_swigt__p_wxChildFocusEvent
, 0, 0, 0},{0, 0, 0, 0}}; 
4096 static swig_cast_info _swigc__p_wxObject
[] = {  {&_swigt__p_wxLayoutConstraints
, _p_wxLayoutConstraintsTo_p_wxObject
, 0, 0},  {&_swigt__p_wxSizerItem
, _p_wxSizerItemTo_p_wxObject
, 0, 0},  {&_swigt__p_wxGBSizerItem
, _p_wxGBSizerItemTo_p_wxObject
, 0, 0},  {&_swigt__p_wxScrollEvent
, _p_wxScrollEventTo_p_wxObject
, 0, 0},  {&_swigt__p_wxIndividualLayoutConstraint
, _p_wxIndividualLayoutConstraintTo_p_wxObject
, 0, 0},  {&_swigt__p_wxStaticBoxSizer
, _p_wxStaticBoxSizerTo_p_wxObject
, 0, 0},  {&_swigt__p_wxBoxSizer
, _p_wxBoxSizerTo_p_wxObject
, 0, 0},  {&_swigt__p_wxSizer
, _p_wxSizerTo_p_wxObject
, 0, 0},  {&_swigt__p_wxGridBagSizer
, _p_wxGridBagSizerTo_p_wxObject
, 0, 0},  {&_swigt__p_wxUpdateUIEvent
, _p_wxUpdateUIEventTo_p_wxObject
, 0, 0},  {&_swigt__p_wxMenu
, _p_wxMenuTo_p_wxObject
, 0, 0},  {&_swigt__p_wxEvent
, _p_wxEventTo_p_wxObject
, 0, 0},  {&_swigt__p_wxGridSizer
, _p_wxGridSizerTo_p_wxObject
, 0, 0},  {&_swigt__p_wxFlexGridSizer
, _p_wxFlexGridSizerTo_p_wxObject
, 0, 0},  {&_swigt__p_wxInitDialogEvent
, _p_wxInitDialogEventTo_p_wxObject
, 0, 0},  {&_swigt__p_wxClipboardTextEvent
, _p_wxClipboardTextEventTo_p_wxObject
, 0, 0},  {&_swigt__p_wxPaintEvent
, _p_wxPaintEventTo_p_wxObject
, 0, 0},  {&_swigt__p_wxNcPaintEvent
, _p_wxNcPaintEventTo_p_wxObject
, 0, 0},  {&_swigt__p_wxPaletteChangedEvent
, _p_wxPaletteChangedEventTo_p_wxObject
, 0, 0},  {&_swigt__p_wxDisplayChangedEvent
, _p_wxDisplayChangedEventTo_p_wxObject
, 0, 0},  {&_swigt__p_wxMouseCaptureChangedEvent
, _p_wxMouseCaptureChangedEventTo_p_wxObject
, 0, 0},  {&_swigt__p_wxSysColourChangedEvent
, _p_wxSysColourChangedEventTo_p_wxObject
, 0, 0},  {&_swigt__p_wxControl
, _p_wxControlTo_p_wxObject
, 0, 0},  {&_swigt__p_wxSetCursorEvent
, _p_wxSetCursorEventTo_p_wxObject
, 0, 0},  {&_swigt__p_wxFSFile
, _p_wxFSFileTo_p_wxObject
, 0, 0},  {&_swigt__p_wxPySizer
, _p_wxPySizerTo_p_wxObject
, 0, 0},  {&_swigt__p_wxPyEvent
, _p_wxPyEventTo_p_wxObject
, 0, 0},  {&_swigt__p_wxNotifyEvent
, _p_wxNotifyEventTo_p_wxObject
, 0, 0},  {&_swigt__p_wxGLContext
, _p_wxGLContextTo_p_wxObject
, 0, 0},  {&_swigt__p_wxShowEvent
, _p_wxShowEventTo_p_wxObject
, 0, 0},  {&_swigt__p_wxMenuItem
, _p_wxMenuItemTo_p_wxObject
, 0, 0},  {&_swigt__p_wxWindowCreateEvent
, _p_wxWindowCreateEventTo_p_wxObject
, 0, 0},  {&_swigt__p_wxIdleEvent
, _p_wxIdleEventTo_p_wxObject
, 0, 0},  {&_swigt__p_wxDateEvent
, _p_wxDateEventTo_p_wxObject
, 0, 0},  {&_swigt__p_wxQueryNewPaletteEvent
, _p_wxQueryNewPaletteEventTo_p_wxObject
, 0, 0},  {&_swigt__p_wxMaximizeEvent
, _p_wxMaximizeEventTo_p_wxObject
, 0, 0},  {&_swigt__p_wxIconizeEvent
, _p_wxIconizeEventTo_p_wxObject
, 0, 0},  {&_swigt__p_wxSizeEvent
, _p_wxSizeEventTo_p_wxObject
, 0, 0},  {&_swigt__p_wxActivateEvent
, _p_wxActivateEventTo_p_wxObject
, 0, 0},  {&_swigt__p_wxMoveEvent
, _p_wxMoveEventTo_p_wxObject
, 0, 0},  {&_swigt__p_wxPNMHandler
, _p_wxPNMHandlerTo_p_wxObject
, 0, 0},  {&_swigt__p_wxJPEGHandler
, _p_wxJPEGHandlerTo_p_wxObject
, 0, 0},  {&_swigt__p_wxPCXHandler
, _p_wxPCXHandlerTo_p_wxObject
, 0, 0},  {&_swigt__p_wxGIFHandler
, _p_wxGIFHandlerTo_p_wxObject
, 0, 0},  {&_swigt__p_wxPNGHandler
, _p_wxPNGHandlerTo_p_wxObject
, 0, 0},  {&_swigt__p_wxANIHandler
, _p_wxANIHandlerTo_p_wxObject
, 0, 0},  {&_swigt__p_wxCURHandler
, _p_wxCURHandlerTo_p_wxObject
, 0, 0},  {&_swigt__p_wxICOHandler
, _p_wxICOHandlerTo_p_wxObject
, 0, 0},  {&_swigt__p_wxBMPHandler
, _p_wxBMPHandlerTo_p_wxObject
, 0, 0},  {&_swigt__p_wxPyImageHandler
, _p_wxPyImageHandlerTo_p_wxObject
, 0, 0},  {&_swigt__p_wxImageHandler
, _p_wxImageHandlerTo_p_wxObject
, 0, 0},  {&_swigt__p_wxXPMHandler
, _p_wxXPMHandlerTo_p_wxObject
, 0, 0},  {&_swigt__p_wxTIFFHandler
, _p_wxTIFFHandlerTo_p_wxObject
, 0, 0},  {&_swigt__p_wxEvtHandler
, _p_wxEvtHandlerTo_p_wxObject
, 0, 0},  {&_swigt__p_wxMouseCaptureLostEvent
, _p_wxMouseCaptureLostEventTo_p_wxObject
, 0, 0},  {&_swigt__p_wxGLCanvas
, _p_wxGLCanvasTo_p_wxObject
, 0, 0},  {&_swigt__p_wxStdDialogButtonSizer
, _p_wxStdDialogButtonSizerTo_p_wxObject
, 0, 0},  {&_swigt__p_wxAcceleratorTable
, _p_wxAcceleratorTableTo_p_wxObject
, 0, 0},  {&_swigt__p_wxImage
, _p_wxImageTo_p_wxObject
, 0, 0},  {&_swigt__p_wxScrollWinEvent
, _p_wxScrollWinEventTo_p_wxObject
, 0, 0},  {&_swigt__p_wxObject
, 0, 0, 0},  {&_swigt__p_wxWindowDestroyEvent
, _p_wxWindowDestroyEventTo_p_wxObject
, 0, 0},  {&_swigt__p_wxNavigationKeyEvent
, _p_wxNavigationKeyEventTo_p_wxObject
, 0, 0},  {&_swigt__p_wxKeyEvent
, _p_wxKeyEventTo_p_wxObject
, 0, 0},  {&_swigt__p_wxWindow
, _p_wxWindowTo_p_wxObject
, 0, 0},  {&_swigt__p_wxMenuBar
, _p_wxMenuBarTo_p_wxObject
, 0, 0},  {&_swigt__p_wxFileSystem
, _p_wxFileSystemTo_p_wxObject
, 0, 0},  {&_swigt__p_wxContextMenuEvent
, _p_wxContextMenuEventTo_p_wxObject
, 0, 0},  {&_swigt__p_wxMenuEvent
, _p_wxMenuEventTo_p_wxObject
, 0, 0},  {&_swigt__p_wxPyApp
, _p_wxPyAppTo_p_wxObject
, 0, 0},  {&_swigt__p_wxEraseEvent
, _p_wxEraseEventTo_p_wxObject
, 0, 0},  {&_swigt__p_wxMouseEvent
, _p_wxMouseEventTo_p_wxObject
, 0, 0},  {&_swigt__p_wxCloseEvent
, _p_wxCloseEventTo_p_wxObject
, 0, 0},  {&_swigt__p_wxPyCommandEvent
, _p_wxPyCommandEventTo_p_wxObject
, 0, 0},  {&_swigt__p_wxCommandEvent
, _p_wxCommandEventTo_p_wxObject
, 0, 0},  {&_swigt__p_wxDropFilesEvent
, _p_wxDropFilesEventTo_p_wxObject
, 0, 0},  {&_swigt__p_wxFocusEvent
, _p_wxFocusEventTo_p_wxObject
, 0, 0},  {&_swigt__p_wxChildFocusEvent
, _p_wxChildFocusEventTo_p_wxObject
, 0, 0},  {&_swigt__p_wxControlWithItems
, _p_wxControlWithItemsTo_p_wxObject
, 0, 0},  {&_swigt__p_wxPyValidator
, _p_wxPyValidatorTo_p_wxObject
, 0, 0},  {&_swigt__p_wxValidator
, _p_wxValidatorTo_p_wxObject
, 0, 0},{0, 0, 0, 0}}; 
4097 static swig_cast_info _swigc__p_wxPalette
[] = {  {&_swigt__p_wxPalette
, 0, 0, 0},{0, 0, 0, 0}}; 
4098 static swig_cast_info _swigc__p_wxPaperSize
[] = {  {&_swigt__p_wxPaperSize
, 0, 0, 0},{0, 0, 0, 0}}; 
4099 static swig_cast_info _swigc__p_wxWindow
[] = {  {&_swigt__p_wxControl
, _p_wxControlTo_p_wxWindow
, 0, 0},  {&_swigt__p_wxWindow
, 0, 0, 0},  {&_swigt__p_wxControlWithItems
, _p_wxControlWithItemsTo_p_wxWindow
, 0, 0},  {&_swigt__p_wxMenuBar
, _p_wxMenuBarTo_p_wxWindow
, 0, 0},  {&_swigt__p_wxGLCanvas
, _p_wxGLCanvasTo_p_wxWindow
, 0, 0},{0, 0, 0, 0}}; 
4101 static swig_cast_info 
*swig_cast_initial
[] = { 
4103   _swigc__p_form_ops_t
, 
4105   _swigc__p_unsigned_char
, 
4106   _swigc__p_unsigned_int
, 
4107   _swigc__p_unsigned_long
, 
4108   _swigc__p_wxANIHandler
, 
4109   _swigc__p_wxAcceleratorTable
, 
4110   _swigc__p_wxActivateEvent
, 
4111   _swigc__p_wxBMPHandler
, 
4112   _swigc__p_wxBoxSizer
, 
4113   _swigc__p_wxCURHandler
, 
4114   _swigc__p_wxChildFocusEvent
, 
4115   _swigc__p_wxClipboardTextEvent
, 
4116   _swigc__p_wxCloseEvent
, 
4117   _swigc__p_wxCommandEvent
, 
4118   _swigc__p_wxContextMenuEvent
, 
4119   _swigc__p_wxControl
, 
4120   _swigc__p_wxControlWithItems
, 
4121   _swigc__p_wxDateEvent
, 
4122   _swigc__p_wxDisplayChangedEvent
, 
4123   _swigc__p_wxDropFilesEvent
, 
4124   _swigc__p_wxDuplexMode
, 
4125   _swigc__p_wxEraseEvent
, 
4127   _swigc__p_wxEvtHandler
, 
4129   _swigc__p_wxFileSystem
, 
4130   _swigc__p_wxFlexGridSizer
, 
4131   _swigc__p_wxFocusEvent
, 
4132   _swigc__p_wxGBSizerItem
, 
4133   _swigc__p_wxGIFHandler
, 
4134   _swigc__p_wxGLCanvas
, 
4135   _swigc__p_wxGLContext
, 
4136   _swigc__p_wxGridBagSizer
, 
4137   _swigc__p_wxGridSizer
, 
4138   _swigc__p_wxICOHandler
, 
4139   _swigc__p_wxIconizeEvent
, 
4140   _swigc__p_wxIdleEvent
, 
4142   _swigc__p_wxImageHandler
, 
4143   _swigc__p_wxIndividualLayoutConstraint
, 
4144   _swigc__p_wxInitDialogEvent
, 
4145   _swigc__p_wxJPEGHandler
, 
4146   _swigc__p_wxKeyEvent
, 
4147   _swigc__p_wxLayoutConstraints
, 
4148   _swigc__p_wxMaximizeEvent
, 
4150   _swigc__p_wxMenuBar
, 
4151   _swigc__p_wxMenuEvent
, 
4152   _swigc__p_wxMenuItem
, 
4153   _swigc__p_wxMouseCaptureChangedEvent
, 
4154   _swigc__p_wxMouseCaptureLostEvent
, 
4155   _swigc__p_wxMouseEvent
, 
4156   _swigc__p_wxMoveEvent
, 
4157   _swigc__p_wxNavigationKeyEvent
, 
4158   _swigc__p_wxNcPaintEvent
, 
4159   _swigc__p_wxNotifyEvent
, 
4161   _swigc__p_wxPCXHandler
, 
4162   _swigc__p_wxPNGHandler
, 
4163   _swigc__p_wxPNMHandler
, 
4164   _swigc__p_wxPaintEvent
, 
4165   _swigc__p_wxPalette
, 
4166   _swigc__p_wxPaletteChangedEvent
, 
4167   _swigc__p_wxPaperSize
, 
4169   _swigc__p_wxPyCommandEvent
, 
4170   _swigc__p_wxPyEvent
, 
4171   _swigc__p_wxPyImageHandler
, 
4172   _swigc__p_wxPySizer
, 
4173   _swigc__p_wxPyValidator
, 
4174   _swigc__p_wxQueryNewPaletteEvent
, 
4175   _swigc__p_wxScrollEvent
, 
4176   _swigc__p_wxScrollWinEvent
, 
4177   _swigc__p_wxSetCursorEvent
, 
4178   _swigc__p_wxShowEvent
, 
4179   _swigc__p_wxSizeEvent
, 
4181   _swigc__p_wxSizerItem
, 
4182   _swigc__p_wxStaticBoxSizer
, 
4183   _swigc__p_wxStdDialogButtonSizer
, 
4184   _swigc__p_wxSysColourChangedEvent
, 
4185   _swigc__p_wxTIFFHandler
, 
4186   _swigc__p_wxUpdateUIEvent
, 
4187   _swigc__p_wxValidator
, 
4189   _swigc__p_wxWindowCreateEvent
, 
4190   _swigc__p_wxWindowDestroyEvent
, 
4191   _swigc__p_wxXPMHandler
, 
4195 /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (END) -------- */ 
4197 static swig_const_info swig_const_table
[] = { 
4198 {0, 0, 0, 0.0, 0, 0}}; 
4203 /* ----------------------------------------------------------------------------- 
4204  * Type initialization: 
4205  * This problem is tough by the requirement that no dynamic  
4206  * memory is used. Also, since swig_type_info structures store pointers to  
4207  * swig_cast_info structures and swig_cast_info structures store pointers back 
4208  * to swig_type_info structures, we need some lookup code at initialization.  
4209  * The idea is that swig generates all the structures that are needed.  
4210  * The runtime then collects these partially filled structures.  
4211  * The SWIG_InitializeModule function takes these initial arrays out of  
4212  * swig_module, and does all the lookup, filling in the swig_module.types 
4213  * array with the correct data and linking the correct swig_cast_info 
4214  * structures together. 
4216  * The generated swig_type_info structures are assigned staticly to an initial  
4217  * array. We just loop though that array, and handle each type individually. 
4218  * First we lookup if this type has been already loaded, and if so, use the 
4219  * loaded structure instead of the generated one. Then we have to fill in the 
4220  * cast linked list. The cast data is initially stored in something like a 
4221  * two-dimensional array. Each row corresponds to a type (there are the same 
4222  * number of rows as there are in the swig_type_initial array). Each entry in 
4223  * a column is one of the swig_cast_info structures for that type. 
4224  * The cast_initial array is actually an array of arrays, because each row has 
4225  * a variable number of columns. So to actually build the cast linked list, 
4226  * we find the array of casts associated with the type, and loop through it  
4227  * adding the casts to the list. The one last trick we need to do is making 
4228  * sure the type pointer in the swig_cast_info struct is correct. 
4230  * First off, we lookup the cast->type name to see if it is already loaded.  
4231  * There are three cases to handle: 
4232  *  1) If the cast->type has already been loaded AND the type we are adding 
4233  *     casting info to has not been loaded (it is in this module), THEN we 
4234  *     replace the cast->type pointer with the type pointer that has already 
4236  *  2) If BOTH types (the one we are adding casting info to, and the  
4237  *     cast->type) are loaded, THEN the cast info has already been loaded by 
4238  *     the previous module so we just ignore it. 
4239  *  3) Finally, if cast->type has not already been loaded, then we add that 
4240  *     swig_cast_info to the linked list (because the cast->type) pointer will 
4242  * ----------------------------------------------------------------------------- */ 
4252 #define SWIGRUNTIME_DEBUG 
4256 SWIG_InitializeModule(void *clientdata
) { 
4258   swig_module_info 
*module_head
; 
4259   static int init_run 
= 0; 
4261   clientdata 
= clientdata
; 
4263   if (init_run
) return; 
4266   /* Initialize the swig_module */ 
4267   swig_module
.type_initial 
= swig_type_initial
; 
4268   swig_module
.cast_initial 
= swig_cast_initial
; 
4270   /* Try and load any already created modules */ 
4271   module_head 
= SWIG_GetModule(clientdata
); 
4273     swig_module
.next 
= module_head
->next
; 
4274     module_head
->next 
= &swig_module
; 
4276     /* This is the first module loaded */ 
4277     swig_module
.next 
= &swig_module
; 
4278     SWIG_SetModule(clientdata
, &swig_module
); 
4281   /* Now work on filling in swig_module.types */ 
4282 #ifdef SWIGRUNTIME_DEBUG 
4283   printf("SWIG_InitializeModule: size %d\n", swig_module
.size
); 
4285   for (i 
= 0; i 
< swig_module
.size
; ++i
) { 
4286     swig_type_info 
*type 
= 0; 
4287     swig_type_info 
*ret
; 
4288     swig_cast_info 
*cast
; 
4290 #ifdef SWIGRUNTIME_DEBUG 
4291     printf("SWIG_InitializeModule: type %d %s\n", i
, swig_module
.type_initial
[i
]->name
); 
4294     /* if there is another module already loaded */ 
4295     if (swig_module
.next 
!= &swig_module
) { 
4296       type 
= SWIG_MangledTypeQueryModule(swig_module
.next
, &swig_module
, swig_module
.type_initial
[i
]->name
); 
4299       /* Overwrite clientdata field */ 
4300 #ifdef SWIGRUNTIME_DEBUG 
4301       printf("SWIG_InitializeModule: found type %s\n", type
->name
); 
4303       if (swig_module
.type_initial
[i
]->clientdata
) { 
4304         type
->clientdata 
= swig_module
.type_initial
[i
]->clientdata
; 
4305 #ifdef SWIGRUNTIME_DEBUG 
4306         printf("SWIG_InitializeModule: found and overwrite type %s \n", type
->name
); 
4310       type 
= swig_module
.type_initial
[i
]; 
4313     /* Insert casting types */ 
4314     cast 
= swig_module
.cast_initial
[i
]; 
4315     while (cast
->type
) { 
4316       /* Don't need to add information already in the list */ 
4318 #ifdef SWIGRUNTIME_DEBUG 
4319       printf("SWIG_InitializeModule: look cast %s\n", cast
->type
->name
); 
4321       if (swig_module
.next 
!= &swig_module
) { 
4322         ret 
= SWIG_MangledTypeQueryModule(swig_module
.next
, &swig_module
, cast
->type
->name
); 
4323 #ifdef SWIGRUNTIME_DEBUG 
4324         if (ret
) printf("SWIG_InitializeModule: found cast %s\n", ret
->name
); 
4328         if (type 
== swig_module
.type_initial
[i
]) { 
4329 #ifdef SWIGRUNTIME_DEBUG 
4330           printf("SWIG_InitializeModule: skip old type %s\n", ret
->name
); 
4335           /* Check for casting already in the list */ 
4336           swig_cast_info 
*ocast 
= SWIG_TypeCheck(ret
->name
, type
); 
4337 #ifdef SWIGRUNTIME_DEBUG 
4338           if (ocast
) printf("SWIG_InitializeModule: skip old cast %s\n", ret
->name
); 
4340           if (!ocast
) ret 
= 0; 
4345 #ifdef SWIGRUNTIME_DEBUG 
4346         printf("SWIG_InitializeModule: adding cast %s\n", cast
->type
->name
); 
4349           type
->cast
->prev 
= cast
; 
4350           cast
->next 
= type
->cast
; 
4356     /* Set entry in modules->types array equal to the type */ 
4357     swig_module
.types
[i
] = type
; 
4359   swig_module
.types
[i
] = 0; 
4361 #ifdef SWIGRUNTIME_DEBUG 
4362   printf("**** SWIG_InitializeModule: Cast List ******\n"); 
4363   for (i 
= 0; i 
< swig_module
.size
; ++i
) { 
4365     swig_cast_info 
*cast 
= swig_module
.cast_initial
[i
]; 
4366     printf("SWIG_InitializeModule: type %d %s\n", i
, swig_module
.type_initial
[i
]->name
); 
4367     while (cast
->type
) { 
4368       printf("SWIG_InitializeModule: cast type %s\n", cast
->type
->name
); 
4372     printf("---- Total casts: %d\n",j
); 
4374   printf("**** SWIG_InitializeModule: Cast List ******\n"); 
4378 /* This function will propagate the clientdata field of type to 
4379 * any new swig_type_info structures that have been added into the list 
4380 * of equivalent types.  It is like calling 
4381 * SWIG_TypeClientData(type, clientdata) a second time. 
4384 SWIG_PropagateClientData(void) { 
4386   swig_cast_info 
*equiv
; 
4387   static int init_run 
= 0; 
4389   if (init_run
) return; 
4392   for (i 
= 0; i 
< swig_module
.size
; i
++) { 
4393     if (swig_module
.types
[i
]->clientdata
) { 
4394       equiv 
= swig_module
.types
[i
]->cast
; 
4396         if (!equiv
->converter
) { 
4397           if (equiv
->type 
&& !equiv
->type
->clientdata
) 
4398           SWIG_TypeClientData(equiv
->type
, swig_module
.types
[i
]->clientdata
); 
4400         equiv 
= equiv
->next
; 
4420   /* Python-specific SWIG API */ 
4421 #define SWIG_newvarlink()                             SWIG_Python_newvarlink() 
4422 #define SWIG_addvarlink(p, name, get_attr, set_attr)  SWIG_Python_addvarlink(p, name, get_attr, set_attr) 
4423 #define SWIG_InstallConstants(d, constants)           SWIG_Python_InstallConstants(d, constants) 
4425   /* ----------------------------------------------------------------------------- 
4426    * global variable support code. 
4427    * ----------------------------------------------------------------------------- */ 
4429   typedef struct swig_globalvar 
{ 
4430     char       *name
;                  /* Name of global variable */ 
4431     PyObject 
*(*get_attr
)(void);       /* Return the current value */ 
4432     int       (*set_attr
)(PyObject 
*); /* Set the value */ 
4433     struct swig_globalvar 
*next
; 
4436   typedef struct swig_varlinkobject 
{ 
4438     swig_globalvar 
*vars
; 
4439   } swig_varlinkobject
; 
4441   SWIGINTERN PyObject 
* 
4442   swig_varlink_repr(swig_varlinkobject 
*SWIGUNUSEDPARM(v
)) { 
4443     return PyString_FromString("<Swig global variables>"); 
4446   SWIGINTERN PyObject 
* 
4447   swig_varlink_str(swig_varlinkobject 
*v
) { 
4448     PyObject 
*str 
= PyString_FromString("("); 
4449     swig_globalvar  
*var
; 
4450     for (var 
= v
->vars
; var
; var
=var
->next
) { 
4451       PyString_ConcatAndDel(&str
,PyString_FromString(var
->name
)); 
4452       if (var
->next
) PyString_ConcatAndDel(&str
,PyString_FromString(", ")); 
4454     PyString_ConcatAndDel(&str
,PyString_FromString(")")); 
4459   swig_varlink_print(swig_varlinkobject 
*v
, FILE *fp
, int SWIGUNUSEDPARM(flags
)) { 
4460     PyObject 
*str 
= swig_varlink_str(v
); 
4461     fprintf(fp
,"Swig global variables "); 
4462     fprintf(fp
,"%s\n", PyString_AsString(str
)); 
4468   swig_varlink_dealloc(swig_varlinkobject 
*v
) { 
4469     swig_globalvar 
*var 
= v
->vars
; 
4471       swig_globalvar 
*n 
= var
->next
; 
4478   SWIGINTERN PyObject 
* 
4479   swig_varlink_getattr(swig_varlinkobject 
*v
, char *n
) { 
4480     PyObject 
*res 
= NULL
; 
4481     swig_globalvar 
*var 
= v
->vars
; 
4483       if (strcmp(var
->name
,n
) == 0) { 
4484         res 
= (*var
->get_attr
)(); 
4489     if (res 
== NULL 
&& !PyErr_Occurred()) { 
4490       PyErr_SetString(PyExc_NameError
,"Unknown C global variable"); 
4496   swig_varlink_setattr(swig_varlinkobject 
*v
, char *n
, PyObject 
*p
) { 
4498     swig_globalvar 
*var 
= v
->vars
; 
4500       if (strcmp(var
->name
,n
) == 0) { 
4501         res 
= (*var
->set_attr
)(p
); 
4506     if (res 
== 1 && !PyErr_Occurred()) { 
4507       PyErr_SetString(PyExc_NameError
,"Unknown C global variable"); 
4512   SWIGINTERN PyTypeObject
* 
4513   swig_varlink_type(void) { 
4514     static char varlink__doc__
[] = "Swig var link object"; 
4515     static PyTypeObject varlink_type
; 
4516     static int type_init 
= 0;   
4518       const PyTypeObject tmp
 
4520         PyObject_HEAD_INIT(NULL
) 
4521         0,                                  /* Number of items in variable part (ob_size) */ 
4522         (char *)"swigvarlink",              /* Type name (tp_name) */ 
4523         sizeof(swig_varlinkobject
),         /* Basic size (tp_basicsize) */ 
4524         0,                                  /* Itemsize (tp_itemsize) */ 
4525         (destructor
) swig_varlink_dealloc
,   /* Deallocator (tp_dealloc) */  
4526         (printfunc
) swig_varlink_print
,     /* Print (tp_print) */ 
4527         (getattrfunc
) swig_varlink_getattr
, /* get attr (tp_getattr) */ 
4528         (setattrfunc
) swig_varlink_setattr
, /* Set attr (tp_setattr) */ 
4530         (reprfunc
) swig_varlink_repr
,       /* tp_repr */ 
4531         0,                                  /* tp_as_number */ 
4532         0,                                  /* tp_as_sequence */ 
4533         0,                                  /* tp_as_mapping */ 
4536         (reprfunc
)swig_varlink_str
,        /* tp_str */ 
4537         0,                                  /* tp_getattro */ 
4538         0,                                  /* tp_setattro */ 
4539         0,                                  /* tp_as_buffer */ 
4541         varlink__doc__
,                     /* tp_doc */ 
4542         0,                                  /* tp_traverse */ 
4544         0,                                  /* tp_richcompare */ 
4545         0,                                  /* tp_weaklistoffset */ 
4546 #if PY_VERSION_HEX >= 0x02020000 
4547         0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* tp_iter -> tp_weaklist */ 
4549 #if PY_VERSION_HEX >= 0x02030000 
4553         0,0,0,0                             /* tp_alloc -> tp_next */ 
4557       varlink_type
.ob_type 
= &PyType_Type
; 
4560     return &varlink_type
; 
4563   /* Create a variable linking object for use later */ 
4564   SWIGINTERN PyObject 
* 
4565   SWIG_Python_newvarlink(void) { 
4566     swig_varlinkobject 
*result 
= PyObject_NEW(swig_varlinkobject
, swig_varlink_type()); 
4570     return ((PyObject
*) result
); 
4574   SWIG_Python_addvarlink(PyObject 
*p
, char *name
, PyObject 
*(*get_attr
)(void), int (*set_attr
)(PyObject 
*p
)) { 
4575     swig_varlinkobject 
*v 
= (swig_varlinkobject 
*) p
; 
4576     swig_globalvar 
*gv 
= (swig_globalvar 
*) malloc(sizeof(swig_globalvar
)); 
4578       size_t size 
= strlen(name
)+1; 
4579       gv
->name 
= (char *)malloc(size
); 
4581         strncpy(gv
->name
,name
,size
); 
4582         gv
->get_attr 
= get_attr
; 
4583         gv
->set_attr 
= set_attr
; 
4590   SWIGINTERN PyObject 
* 
4592     static PyObject 
*_SWIG_globals 
= 0;  
4593     if (!_SWIG_globals
) _SWIG_globals 
= SWIG_newvarlink();   
4594     return _SWIG_globals
; 
4597   /* ----------------------------------------------------------------------------- 
4598    * constants/methods manipulation 
4599    * ----------------------------------------------------------------------------- */ 
4601   /* Install Constants */ 
4603   SWIG_Python_InstallConstants(PyObject 
*d
, swig_const_info constants
[]) { 
4606     for (i 
= 0; constants
[i
].type
; ++i
) { 
4607       switch(constants
[i
].type
) { 
4608       case SWIG_PY_POINTER
: 
4609         obj 
= SWIG_NewPointerObj(constants
[i
].pvalue
, *(constants
[i
]).ptype
,0); 
4611       case SWIG_PY_BINARY
: 
4612         obj 
= SWIG_NewPackedObj(constants
[i
].pvalue
, constants
[i
].lvalue
, *(constants
[i
].ptype
)); 
4619         PyDict_SetItemString(d
, constants
[i
].name
, obj
); 
4625   /* -----------------------------------------------------------------------------*/ 
4626   /* Fix SwigMethods to carry the callback ptrs when needed */ 
4627   /* -----------------------------------------------------------------------------*/ 
4630   SWIG_Python_FixMethods(PyMethodDef 
*methods
, 
4631     swig_const_info 
*const_table
, 
4632     swig_type_info 
**types
, 
4633     swig_type_info 
**types_initial
) { 
4635     for (i 
= 0; methods
[i
].ml_name
; ++i
) { 
4636       const char *c 
= methods
[i
].ml_doc
; 
4637       if (c 
&& (c 
= strstr(c
, "swig_ptr: "))) { 
4639         swig_const_info 
*ci 
= 0; 
4640         const char *name 
= c 
+ 10; 
4641         for (j 
= 0; const_table
[j
].type
; ++j
) { 
4642           if (strncmp(const_table
[j
].name
, name
,  
4643               strlen(const_table
[j
].name
)) == 0) { 
4644             ci 
= &(const_table
[j
]); 
4649           size_t shift 
= (ci
->ptype
) - types
; 
4650           swig_type_info 
*ty 
= types_initial
[shift
]; 
4651           size_t ldoc 
= (c 
- methods
[i
].ml_doc
); 
4652           size_t lptr 
= strlen(ty
->name
)+2*sizeof(void*)+2; 
4653           char *ndoc 
= (char*)malloc(ldoc 
+ lptr 
+ 10); 
4656             void *ptr 
= (ci
->type 
== SWIG_PY_POINTER
) ? ci
->pvalue 
: 0; 
4658               strncpy(buff
, methods
[i
].ml_doc
, ldoc
); 
4660               strncpy(buff
, "swig_ptr: ", 10); 
4662               SWIG_PackVoidPtr(buff
, ptr
, ty
->name
, lptr
); 
4663               methods
[i
].ml_doc 
= ndoc
; 
4675 /* -----------------------------------------------------------------------------* 
4676  *  Partial Init method 
4677  * -----------------------------------------------------------------------------*/ 
4682 SWIGEXPORT 
void SWIG_init(void) { 
4685   /* Fix SwigMethods to carry the callback ptrs when needed */ 
4686   SWIG_Python_FixMethods(SwigMethods
, swig_const_table
, swig_types
, swig_type_initial
); 
4688   m 
= Py_InitModule((char *) SWIG_name
, SwigMethods
); 
4689   d 
= PyModule_GetDict(m
); 
4691   SWIG_InitializeModule(0); 
4692   SWIG_InstallConstants(d
,swig_const_table
); 
4695   PyDict_SetItemString(d
,(char*)"cvar", SWIG_globals()); 
4696   SWIG_addvarlink(SWIG_globals(),(char*)"GLCanvasNameStr",GLCanvasNameStr_get
, GLCanvasNameStr_set
); 
4697   SWIG_Python_SetConstant(d
, "WX_GL_RGBA",SWIG_From_int(static_cast< int >(WX_GL_RGBA
))); 
4698   SWIG_Python_SetConstant(d
, "WX_GL_BUFFER_SIZE",SWIG_From_int(static_cast< int >(WX_GL_BUFFER_SIZE
))); 
4699   SWIG_Python_SetConstant(d
, "WX_GL_LEVEL",SWIG_From_int(static_cast< int >(WX_GL_LEVEL
))); 
4700   SWIG_Python_SetConstant(d
, "WX_GL_DOUBLEBUFFER",SWIG_From_int(static_cast< int >(WX_GL_DOUBLEBUFFER
))); 
4701   SWIG_Python_SetConstant(d
, "WX_GL_STEREO",SWIG_From_int(static_cast< int >(WX_GL_STEREO
))); 
4702   SWIG_Python_SetConstant(d
, "WX_GL_AUX_BUFFERS",SWIG_From_int(static_cast< int >(WX_GL_AUX_BUFFERS
))); 
4703   SWIG_Python_SetConstant(d
, "WX_GL_MIN_RED",SWIG_From_int(static_cast< int >(WX_GL_MIN_RED
))); 
4704   SWIG_Python_SetConstant(d
, "WX_GL_MIN_GREEN",SWIG_From_int(static_cast< int >(WX_GL_MIN_GREEN
))); 
4705   SWIG_Python_SetConstant(d
, "WX_GL_MIN_BLUE",SWIG_From_int(static_cast< int >(WX_GL_MIN_BLUE
))); 
4706   SWIG_Python_SetConstant(d
, "WX_GL_MIN_ALPHA",SWIG_From_int(static_cast< int >(WX_GL_MIN_ALPHA
))); 
4707   SWIG_Python_SetConstant(d
, "WX_GL_DEPTH_SIZE",SWIG_From_int(static_cast< int >(WX_GL_DEPTH_SIZE
))); 
4708   SWIG_Python_SetConstant(d
, "WX_GL_STENCIL_SIZE",SWIG_From_int(static_cast< int >(WX_GL_STENCIL_SIZE
))); 
4709   SWIG_Python_SetConstant(d
, "WX_GL_MIN_ACCUM_RED",SWIG_From_int(static_cast< int >(WX_GL_MIN_ACCUM_RED
))); 
4710   SWIG_Python_SetConstant(d
, "WX_GL_MIN_ACCUM_GREEN",SWIG_From_int(static_cast< int >(WX_GL_MIN_ACCUM_GREEN
))); 
4711   SWIG_Python_SetConstant(d
, "WX_GL_MIN_ACCUM_BLUE",SWIG_From_int(static_cast< int >(WX_GL_MIN_ACCUM_BLUE
))); 
4712   SWIG_Python_SetConstant(d
, "WX_GL_MIN_ACCUM_ALPHA",SWIG_From_int(static_cast< int >(WX_GL_MIN_ACCUM_ALPHA
)));