wxMac has wxGLContext.SetCurrent now
[wxWidgets.git] / wxPython / contrib / glcanvas / mac / glcanvas_wrap.cpp
CommitLineData
d14a1e28
RD
1/* ----------------------------------------------------------------------------
2 * This file was automatically generated by SWIG (http://www.swig.org).
1bd55598 3 * Version 1.3.29
d14a1e28
RD
4 *
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 * ----------------------------------------------------------------------------- */
10
11#define SWIGPYTHON
1bd55598 12#define SWIG_PYTHON_DIRECTOR_NO_VTABLE
d14a1e28
RD
13
14#ifdef __cplusplus
15template<class T> class SwigValueWrapper {
16 T *tt;
17public:
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; }
25private:
26 SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs);
36ed4f51 27};
d14a1e28
RD
28#endif
29
1bd55598 30/* -----------------------------------------------------------------------------
32fe5131
RD
31 * This section contains generic SWIG labels for method/variable
32 * declarations/attributes, and other compiler dependent labels.
1bd55598 33 * ----------------------------------------------------------------------------- */
d14a1e28 34
32fe5131
RD
35/* template workaround for compilers that cannot correctly implement the C++ standard */
36#ifndef SWIGTEMPLATEDISAMBIGUATOR
1bd55598
RD
37# if defined(__SUNPRO_CC)
38# if (__SUNPRO_CC <= 0x560)
39# define SWIGTEMPLATEDISAMBIGUATOR template
40# else
41# define SWIGTEMPLATEDISAMBIGUATOR
42# endif
43# else
44# define SWIGTEMPLATEDISAMBIGUATOR
45# endif
36ed4f51 46#endif
d14a1e28 47
32fe5131
RD
48/* inline attribute */
49#ifndef SWIGINLINE
50# if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__))
51# define SWIGINLINE inline
52# else
53# define SWIGINLINE
54# endif
55#endif
56
57/* attribute recognised by some compilers to avoid 'unused' warnings */
58#ifndef SWIGUNUSED
1bd55598
RD
59# if defined(__GNUC__)
60# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
61# define SWIGUNUSED __attribute__ ((__unused__))
62# else
63# define SWIGUNUSED
64# endif
65# elif defined(__ICC)
66# define SWIGUNUSED __attribute__ ((__unused__))
32fe5131
RD
67# else
68# define SWIGUNUSED
69# endif
70#endif
71
1bd55598
RD
72#ifndef SWIGUNUSEDPARM
73# ifdef __cplusplus
74# define SWIGUNUSEDPARM(p)
75# else
76# define SWIGUNUSEDPARM(p) p SWIGUNUSED
77# endif
78#endif
79
32fe5131
RD
80/* internal SWIG method */
81#ifndef SWIGINTERN
82# define SWIGINTERN static SWIGUNUSED
83#endif
84
85/* internal inline SWIG method */
86#ifndef SWIGINTERNINLINE
87# define SWIGINTERNINLINE SWIGINTERN SWIGINLINE
88#endif
89
1bd55598
RD
90/* exporting methods */
91#if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
92# ifndef GCC_HASCLASSVISIBILITY
93# define GCC_HASCLASSVISIBILITY
94# endif
95#endif
96
32fe5131
RD
97#ifndef SWIGEXPORT
98# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
99# if defined(STATIC_LINKED)
100# define SWIGEXPORT
101# else
102# define SWIGEXPORT __declspec(dllexport)
103# endif
104# else
1bd55598
RD
105# if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY)
106# define SWIGEXPORT __attribute__ ((visibility("default")))
107# else
108# define SWIGEXPORT
109# endif
32fe5131
RD
110# endif
111#endif
112
113/* calling conventions for Windows */
114#ifndef SWIGSTDCALL
115# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
116# define SWIGSTDCALL __stdcall
117# else
118# define SWIGSTDCALL
119# endif
120#endif
121
1bd55598
RD
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
125#endif
32fe5131 126
9fd4be55 127
1bd55598 128/* Python.h has to appear first */
36ed4f51 129#include <Python.h>
d14a1e28 130
1bd55598 131/* -----------------------------------------------------------------------------
36ed4f51 132 * swigrun.swg
d14a1e28 133 *
1bd55598
RD
134 * This file contains generic CAPI SWIG runtime support for pointer
135 * type checking.
136 * ----------------------------------------------------------------------------- */
d14a1e28 137
36ed4f51
RD
138/* This should only be incremented when either the layout of swig_type_info changes,
139 or for whatever reason, the runtime changes incompatibly */
32fe5131 140#define SWIG_RUNTIME_VERSION "2"
d14a1e28 141
36ed4f51
RD
142/* define SWIG_TYPE_TABLE_NAME as "SWIG_TYPE_TABLE" */
143#ifdef SWIG_TYPE_TABLE
32fe5131
RD
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)
d14a1e28 147#else
32fe5131 148# define SWIG_TYPE_TABLE_NAME
36ed4f51
RD
149#endif
150
151/*
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'.
155
156 But only do this if is strictly necessary, ie, if you have problems
157 with your compiler or so.
158*/
32fe5131 159
36ed4f51 160#ifndef SWIGRUNTIME
32fe5131 161# define SWIGRUNTIME SWIGINTERN
36ed4f51 162#endif
32fe5131 163
36ed4f51 164#ifndef SWIGRUNTIMEINLINE
32fe5131 165# define SWIGRUNTIMEINLINE SWIGRUNTIME SWIGINLINE
d14a1e28
RD
166#endif
167
1bd55598
RD
168/* Generic buffer size */
169#ifndef SWIG_BUFFER_SIZE
170# define SWIG_BUFFER_SIZE 1024
171#endif
172
173/* Flags for pointer conversions */
174#define SWIG_POINTER_DISOWN 0x1
175
176/* Flags for new pointer objects */
177#define SWIG_POINTER_OWN 0x1
178
179
180/*
181 Flags/methods for returning states.
182
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).
186
187 Use the following macros/flags to set or process the returning
188 states.
189
190 In old swig versions, you usually write code as:
191
192 if (SWIG_ConvertPtr(obj,vptr,ty.flags) != -1) {
193 // success code
194 } else {
195 //fail code
196 }
197
198 Now you can be more explicit as:
199
200 int res = SWIG_ConvertPtr(obj,vptr,ty.flags);
201 if (SWIG_IsOK(res)) {
202 // success code
203 } else {
204 // fail code
205 }
206
207 that seems to be the same, but now you can also do
208
209 Type *ptr;
210 int res = SWIG_ConvertPtr(obj,(void **)(&ptr),ty.flags);
211 if (SWIG_IsOK(res)) {
212 // success code
213 if (SWIG_IsNewObj(res) {
214 ...
215 delete *ptr;
216 } else {
217 ...
218 }
219 } else {
220 // fail code
221 }
222
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
226
227 int SWIG_ConvertPtr(obj, ptr,...) {
228 if (<obj is ok>) {
229 if (<need new object>) {
230 *ptr = <ptr to new allocated object>;
231 return SWIG_NEWOBJ;
232 } else {
233 *ptr = <ptr to old object>;
234 return SWIG_OLDOBJ;
235 }
236 } else {
237 return SWIG_BADOBJ;
238 }
239 }
240
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
243 swig errors code.
244
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
247
248 int food(double)
249 int fooi(int);
250
251 and you call
252
253 food(1) // cast rank '1' (1 -> 1.0)
254 fooi(1) // cast rank '0'
255
256 just use the SWIG_AddCast()/SWIG_CheckState()
257
258
259 */
260#define SWIG_OK (0)
261#define SWIG_ERROR (-1)
262#define SWIG_IsOK(r) (r >= 0)
263#define SWIG_ArgError(r) ((r != SWIG_ERROR) ? r : SWIG_TypeError)
264
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))
283
284
285/* Cast-Rank Mode */
286#if defined(SWIG_CASTRANK_MODE)
287# ifndef SWIG_TypeRank
288# define SWIG_TypeRank unsigned long
289# endif
290# ifndef SWIG_MAXCASTRANK /* Default cast allowed */
291# define SWIG_MAXCASTRANK (2)
292# endif
293# define SWIG_CASTRANKMASK ((SWIG_CASTRANKLIMIT) -1)
294# define SWIG_CastRank(r) (r & SWIG_CASTRANKMASK)
295SWIGINTERNINLINE int SWIG_AddCast(int r) {
296 return SWIG_IsOK(r) ? ((SWIG_CastRank(r) < SWIG_MAXCASTRANK) ? (r + 1) : SWIG_ERROR) : r;
297}
298SWIGINTERNINLINE int SWIG_CheckState(int r) {
299 return SWIG_IsOK(r) ? SWIG_CastRank(r) + 1 : 0;
300}
301#else /* no cast-rank mode */
302# define SWIG_AddCast
303# define SWIG_CheckState(r) (SWIG_IsOK(r) ? 1 : 0)
304#endif
305
306
307
308
32fe5131
RD
309#include <string.h>
310
d14a1e28
RD
311#ifdef __cplusplus
312extern "C" {
313#endif
314
315typedef void *(*swig_converter_func)(void *);
316typedef struct swig_type_info *(*swig_dycast_func)(void **);
317
32fe5131 318/* Structure to store inforomation on one type */
d14a1e28 319typedef struct swig_type_info {
32fe5131
RD
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 */
1bd55598 325 int owndata; /* flag if the structure owns the clientdata */
d14a1e28
RD
326} swig_type_info;
327
32fe5131
RD
328/* Structure to store a type and conversion function used for casting */
329typedef 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 */
334} swig_cast_info;
335
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.*/
339typedef 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 */
346} swig_module_info;
347
36ed4f51
RD
348/*
349 Compare two type names skipping the space characters, therefore
350 "char*" == "char *" and "Class<int>" == "Class<int >", etc.
351
352 Return 0 when the two name types are equivalent, as in
353 strncmp, but skipping ' '.
354*/
355SWIGRUNTIME int
356SWIG_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;
1bd55598 361 if (*f1 != *f2) return (*f1 > *f2) ? 1 : -1;
36ed4f51
RD
362 }
363 return (l1 - f1) - (l2 - f2);
364}
365
366/*
367 Check type equivalence in a name list like <name1>|<name2>|...
32fe5131 368 Return 0 if not equal, 1 if equal
36ed4f51
RD
369*/
370SWIGRUNTIME int
371SWIG_TypeEquiv(const char *nb, const char *tb) {
372 int equiv = 0;
373 const char* te = tb + strlen(tb);
374 const char* ne = nb;
375 while (!equiv && *ne) {
376 for (nb = ne; *ne; ++ne) {
377 if (*ne == '|') break;
378 }
32fe5131 379 equiv = (SWIG_TypeNameComp(nb, ne, tb, te) == 0) ? 1 : 0;
36ed4f51
RD
380 if (*ne) ++ne;
381 }
382 return equiv;
383}
384
385/*
32fe5131
RD
386 Check type equivalence in a name list like <name1>|<name2>|...
387 Return 0 if equal, -1 if nb < tb, 1 if nb > tb
36ed4f51 388*/
32fe5131
RD
389SWIGRUNTIME int
390SWIG_TypeCompare(const char *nb, const char *tb) {
391 int equiv = 0;
392 const char* te = tb + strlen(tb);
393 const char* ne = nb;
394 while (!equiv && *ne) {
395 for (nb = ne; *ne; ++ne) {
396 if (*ne == '|') break;
36ed4f51 397 }
32fe5131
RD
398 equiv = (SWIG_TypeNameComp(nb, ne, tb, te) == 0) ? 1 : 0;
399 if (*ne) ++ne;
36ed4f51 400 }
32fe5131 401 return equiv;
36ed4f51
RD
402}
403
32fe5131
RD
404
405/* think of this as a c++ template<> or a scheme macro */
406#define SWIG_TypeCheck_Template(comparison, ty) \
407 if (ty) { \
408 swig_cast_info *iter = ty->cast; \
409 while (iter) { \
410 if (comparison) { \
411 if (iter == ty->cast) return iter; \
412 /* Move iter to the top of the linked list */ \
413 iter->prev->next = iter->next; \
414 if (iter->next) \
415 iter->next->prev = iter->prev; \
416 iter->next = ty->cast; \
417 iter->prev = 0; \
418 if (ty->cast) ty->cast->prev = iter; \
419 ty->cast = iter; \
420 return iter; \
421 } \
422 iter = iter->next; \
423 } \
424 } \
425 return 0
426
36ed4f51
RD
427/*
428 Check the typename
429*/
32fe5131 430SWIGRUNTIME swig_cast_info *
36ed4f51 431SWIG_TypeCheck(const char *c, swig_type_info *ty) {
32fe5131
RD
432 SWIG_TypeCheck_Template(strcmp(iter->type->name, c) == 0, ty);
433}
434
435/* Same as previous function, except strcmp is replaced with a pointer comparison */
436SWIGRUNTIME swig_cast_info *
437SWIG_TypeCheckStruct(swig_type_info *from, swig_type_info *into) {
438 SWIG_TypeCheck_Template(iter->type == from, into);
36ed4f51
RD
439}
440
441/*
442 Cast a pointer up an inheritance hierarchy
443*/
444SWIGRUNTIMEINLINE void *
32fe5131 445SWIG_TypeCast(swig_cast_info *ty, void *ptr) {
36ed4f51
RD
446 return ((!ty) || (!ty->converter)) ? ptr : (*ty->converter)(ptr);
447}
448
449/*
450 Dynamic pointer casting. Down an inheritance hierarchy
451*/
452SWIGRUNTIME swig_type_info *
453SWIG_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);
458 if (ty) lastty = ty;
459 }
460 return lastty;
461}
462
463/*
464 Return the name associated with this type
465*/
466SWIGRUNTIMEINLINE const char *
467SWIG_TypeName(const swig_type_info *ty) {
468 return ty->name;
469}
470
471/*
472 Return the pretty name associated with this type,
473 that is an unmangled type name in a form presentable to the user.
474*/
475SWIGRUNTIME const char *
476SWIG_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
480 specific. */
1bd55598 481 if (!type) return NULL;
36ed4f51
RD
482 if (type->str != NULL) {
483 const char *last_name = type->str;
484 const char *s;
485 for (s = type->str; *s; s++)
486 if (*s == '|') last_name = s+1;
487 return last_name;
488 }
489 else
490 return type->name;
491}
492
36ed4f51
RD
493/*
494 Set the clientdata field for a type
495*/
496SWIGRUNTIME void
32fe5131
RD
497SWIG_TypeClientData(swig_type_info *ti, void *clientdata) {
498 swig_cast_info *cast = ti->cast;
36ed4f51
RD
499 /* if (ti->clientdata == clientdata) return; */
500 ti->clientdata = clientdata;
32fe5131
RD
501
502 while (cast) {
503 if (!cast->converter) {
504 swig_type_info *tc = cast->type;
505 if (!tc->clientdata) {
506 SWIG_TypeClientData(tc, clientdata);
36ed4f51 507 }
32fe5131
RD
508 }
509 cast = cast->next;
510 }
511}
1bd55598
RD
512SWIGRUNTIME void
513SWIG_TypeNewClientData(swig_type_info *ti, void *clientdata) {
514 SWIG_TypeClientData(ti, clientdata);
515 ti->owndata = 1;
516}
517
32fe5131
RD
518/*
519 Search for a swig_type_info structure only by mangled name
520 Search is a O(log #types)
521
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
524 the circular list.
525*/
526SWIGRUNTIME swig_type_info *
527SWIG_MangledTypeQueryModule(swig_module_info *start,
528 swig_module_info *end,
529 const char *name) {
530 swig_module_info *iter = start;
531 do {
532 if (iter->size) {
533 register size_t l = 0;
534 register size_t r = iter->size - 1;
535 do {
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;
539 if (iname) {
540 register int compare = strcmp(name, iname);
541 if (compare == 0) {
542 return iter->types[i];
543 } else if (compare < 0) {
544 if (i) {
545 r = i - 1;
546 } else {
547 break;
548 }
549 } else if (compare > 0) {
550 l = i + 1;
551 }
552 } else {
553 break; /* should never happen */
554 }
555 } while (l <= r);
36ed4f51 556 }
32fe5131
RD
557 iter = iter->next;
558 } while (iter != end);
559 return 0;
560}
561
562/*
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).
566
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
569 the circular list.
570*/
571SWIGRUNTIME swig_type_info *
572SWIG_TypeQueryModule(swig_module_info *start,
573 swig_module_info *end,
574 const char *name) {
575 /* STEP 1: Search the name field using binary search */
576 swig_type_info *ret = SWIG_MangledTypeQueryModule(start, end, name);
577 if (ret) {
578 return ret;
579 } else {
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;
583 do {
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];
588 }
589 iter = iter->next;
590 } while (iter != end);
36ed4f51 591 }
32fe5131
RD
592
593 /* neither found a match */
594 return 0;
36ed4f51
RD
595}
596
597/*
598 Pack binary data into a string
599*/
600SWIGRUNTIME char *
601SWIG_PackData(char *c, void *ptr, size_t sz) {
32fe5131
RD
602 static const char hex[17] = "0123456789abcdef";
603 register const unsigned char *u = (unsigned char *) ptr;
604 register const unsigned char *eu = u + sz;
36ed4f51 605 for (; u != eu; ++u) {
32fe5131 606 register unsigned char uu = *u;
36ed4f51
RD
607 *(c++) = hex[(uu & 0xf0) >> 4];
608 *(c++) = hex[uu & 0xf];
609 }
610 return c;
611}
612
613/*
614 Unpack binary data from a string
615*/
616SWIGRUNTIME const char *
617SWIG_UnpackData(const char *c, void *ptr, size_t sz) {
618 register unsigned char *u = (unsigned char *) ptr;
32fe5131 619 register const unsigned char *eu = u + sz;
36ed4f51 620 for (; u != eu; ++u) {
32fe5131 621 register char d = *(c++);
1bd55598 622 register unsigned char uu;
36ed4f51
RD
623 if ((d >= '0') && (d <= '9'))
624 uu = ((d - '0') << 4);
625 else if ((d >= 'a') && (d <= 'f'))
626 uu = ((d - ('a'-10)) << 4);
627 else
628 return (char *) 0;
629 d = *(c++);
630 if ((d >= '0') && (d <= '9'))
631 uu |= (d - '0');
632 else if ((d >= 'a') && (d <= 'f'))
633 uu |= (d - ('a'-10));
634 else
635 return (char *) 0;
636 *u = uu;
637 }
638 return c;
639}
640
36ed4f51
RD
641/*
642 Pack 'void *' into a string buffer.
643*/
644SWIGRUNTIME char *
645SWIG_PackVoidPtr(char *buff, void *ptr, const char *name, size_t bsz) {
646 char *r = buff;
647 if ((2*sizeof(void *) + 2) > bsz) return 0;
648 *(r++) = '_';
649 r = SWIG_PackData(r,&ptr,sizeof(void *));
650 if (strlen(name) + 1 > (bsz - (r - buff))) return 0;
651 strcpy(r,name);
652 return buff;
653}
654
655SWIGRUNTIME const char *
656SWIG_UnpackVoidPtr(const char *c, void **ptr, const char *name) {
657 if (*c != '_') {
658 if (strcmp(c,"NULL") == 0) {
659 *ptr = (void *) 0;
660 return name;
661 } else {
662 return 0;
663 }
664 }
665 return SWIG_UnpackData(++c,ptr,sizeof(void *));
666}
667
668SWIGRUNTIME char *
669SWIG_PackDataName(char *buff, void *ptr, size_t sz, const char *name, size_t bsz) {
670 char *r = buff;
671 size_t lname = (name ? strlen(name) : 0);
672 if ((2*sz + 2 + lname) > bsz) return 0;
673 *(r++) = '_';
674 r = SWIG_PackData(r,ptr,sz);
675 if (lname) {
676 strncpy(r,name,lname+1);
677 } else {
678 *r = 0;
679 }
680 return buff;
681}
d14a1e28 682
36ed4f51
RD
683SWIGRUNTIME const char *
684SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) {
685 if (*c != '_') {
686 if (strcmp(c,"NULL") == 0) {
687 memset(ptr,0,sz);
688 return name;
689 } else {
690 return 0;
691 }
692 }
693 return SWIG_UnpackData(++c,ptr,sz);
694}
d14a1e28
RD
695
696#ifdef __cplusplus
697}
698#endif
699
1bd55598
RD
700/* Errors in SWIG */
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
36ed4f51 714
1bd55598
RD
715
716
717/* Python.h has to appear first */
718#include <Python.h>
719
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
724# else
725# define PyOS_snprintf snprintf
726# endif
727#endif
728
729/* A crude PyString_FromFormat implementation for old Pythons */
730#if PY_VERSION_HEX < 0x02020000
731
732#ifndef SWIG_PYBUFFER_SIZE
733# define SWIG_PYBUFFER_SIZE 1024
734#endif
735
736static PyObject *
737PyString_FromFormat(const char *fmt, ...) {
738 va_list ap;
739 char buf[SWIG_PYBUFFER_SIZE * 2];
740 int res;
741 va_start(ap, fmt);
742 res = vsnprintf(buf, sizeof(buf), fmt, ap);
743 va_end(ap);
744 return (res < 0 || res >= (int)sizeof(buf)) ? 0 : PyString_FromString(buf);
745}
746#endif
747
748/* Add PyObject_Del for old Pythons */
749#if PY_VERSION_HEX < 0x01060000
750# define PyObject_Del(op) PyMem_DEL((op))
751#endif
752#ifndef PyObject_DEL
753# define PyObject_DEL PyObject_Del
754#endif
755
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
760# endif
761# ifndef PyObject_GenericGetAttr
762# define PyObject_GenericGetAttr 0
763# endif
764#endif
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
769# endif
770#endif
771
772
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;}
777# endif
778#endif
779
780/* PySequence_Size for old Pythons */
781#if PY_VERSION_HEX < 0x02000000
782# ifndef PySequence_Size
783# define PySequence_Size PySequence_Length
784# endif
785#endif
786
787
788/* PyBool_FromLong for old Pythons */
789#if PY_VERSION_HEX < 0x02030000
790static
791PyObject *PyBool_FromLong(long ok)
792{
793 PyObject *result = ok ? Py_True : Py_False;
794 Py_INCREF(result);
795 return result;
796}
d14a1e28
RD
797#endif
798
1bd55598 799
36ed4f51 800/* -----------------------------------------------------------------------------
1bd55598 801 * error manipulation
36ed4f51
RD
802 * ----------------------------------------------------------------------------- */
803
1bd55598
RD
804SWIGRUNTIME PyObject*
805SWIG_Python_ErrorType(int code) {
806 PyObject* type = 0;
807 switch(code) {
808 case SWIG_MemoryError:
809 type = PyExc_MemoryError;
810 break;
811 case SWIG_IOError:
812 type = PyExc_IOError;
813 break;
814 case SWIG_RuntimeError:
815 type = PyExc_RuntimeError;
816 break;
817 case SWIG_IndexError:
818 type = PyExc_IndexError;
819 break;
820 case SWIG_TypeError:
821 type = PyExc_TypeError;
822 break;
823 case SWIG_DivisionByZero:
824 type = PyExc_ZeroDivisionError;
825 break;
826 case SWIG_OverflowError:
827 type = PyExc_OverflowError;
828 break;
829 case SWIG_SyntaxError:
830 type = PyExc_SyntaxError;
831 break;
832 case SWIG_ValueError:
833 type = PyExc_ValueError;
834 break;
835 case SWIG_SystemError:
836 type = PyExc_SystemError;
837 break;
838 case SWIG_AttributeError:
839 type = PyExc_AttributeError;
840 break;
841 default:
842 type = PyExc_RuntimeError;
843 }
844 return type;
845}
36ed4f51 846
1bd55598
RD
847
848SWIGRUNTIME void
849SWIG_Python_AddErrorMsg(const char* mesg)
850{
851 PyObject *type = 0;
852 PyObject *value = 0;
853 PyObject *traceback = 0;
854
855 if (PyErr_Occurred()) PyErr_Fetch(&type, &value, &traceback);
856 if (value) {
857 PyObject *old_str = PyObject_Str(value);
858 PyErr_Clear();
859 Py_XINCREF(type);
860 PyErr_Format(type, "%s %s", PyString_AsString(old_str), mesg);
861 Py_DECREF(old_str);
862 Py_DECREF(value);
863 } else {
864 PyErr_Format(PyExc_RuntimeError, mesg);
865 }
866}
867
868
869
870#if defined(SWIG_PYTHON_NO_THREADS)
871# if defined(SWIG_PYTHON_THREADS)
872# undef SWIG_PYTHON_THREADS
873# endif
874#endif
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
879# endif
880# endif
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()
884# endif
885# ifdef __cplusplus /* C++ code */
886 class SWIG_Python_Thread_Block {
887 bool status;
888 PyGILState_STATE state;
889 public:
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(); }
893 };
894 class SWIG_Python_Thread_Allow {
895 bool status;
896 PyThreadState *save;
897 public:
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(); }
901 };
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()
906# else /* C code */
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)
911# endif
912# else /* Old thread way, not implemented, user must provide it */
913# if !defined(SWIG_PYTHON_INITIALIZE_THREADS)
914# define SWIG_PYTHON_INITIALIZE_THREADS
915# endif
916# if !defined(SWIG_PYTHON_THREAD_BEGIN_BLOCK)
917# define SWIG_PYTHON_THREAD_BEGIN_BLOCK
918# endif
919# if !defined(SWIG_PYTHON_THREAD_END_BLOCK)
920# define SWIG_PYTHON_THREAD_END_BLOCK
921# endif
922# if !defined(SWIG_PYTHON_THREAD_BEGIN_ALLOW)
923# define SWIG_PYTHON_THREAD_BEGIN_ALLOW
924# endif
925# if !defined(SWIG_PYTHON_THREAD_END_ALLOW)
926# define SWIG_PYTHON_THREAD_END_ALLOW
927# endif
928# endif
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
36ed4f51
RD
935#endif
936
1bd55598
RD
937/* -----------------------------------------------------------------------------
938 * Python API portion that goes into the runtime
939 * ----------------------------------------------------------------------------- */
36ed4f51 940
1bd55598
RD
941#ifdef __cplusplus
942extern "C" {
943#if 0
944} /* cc-mode */
945#endif
946#endif
36ed4f51
RD
947
948/* -----------------------------------------------------------------------------
949 * Constant declarations
950 * ----------------------------------------------------------------------------- */
951
952/* Constant Types */
d14a1e28
RD
953#define SWIG_PY_POINTER 4
954#define SWIG_PY_BINARY 5
955
36ed4f51
RD
956/* Constant information structure */
957typedef struct swig_const_info {
1bd55598
RD
958 int type;
959 char *name;
960 long lvalue;
961 double dvalue;
962 void *pvalue;
963 swig_type_info **ptype;
36ed4f51
RD
964} swig_const_info;
965
36ed4f51 966#ifdef __cplusplus
1bd55598
RD
967#if 0
968{ /* cc-mode */
969#endif
36ed4f51
RD
970}
971#endif
972
973
1bd55598
RD
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.
977 *
36ed4f51
RD
978 * pyrun.swg
979 *
1bd55598
RD
980 * This file contains the runtime support for Python modules
981 * and includes code for managing global variables and pointer
982 * type checking.
36ed4f51 983 *
1bd55598 984 * ----------------------------------------------------------------------------- */
36ed4f51
RD
985
986/* Common SWIG API */
36ed4f51 987
4f89b6b7
RD
988#if PY_VERSION_HEX < 0x02050000
989typedef int Py_ssize_t;
990#endif
991
1bd55598
RD
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
36ed4f51 1000
1bd55598
RD
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)
36ed4f51 1004
1bd55598
RD
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)
36ed4f51 1008
1bd55598
RD
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)
36ed4f51 1012
1bd55598
RD
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)
32fe5131 1016
36ed4f51 1017
1bd55598 1018/* Runtime API */
36ed4f51 1019
1bd55598
RD
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)
32fe5131 1023
1bd55598
RD
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
32fe5131 1029
36ed4f51 1030
1bd55598 1031/* Runtime API implementation */
36ed4f51 1032
1bd55598 1033/* Error manipulation */
36ed4f51 1034
1bd55598
RD
1035SWIGINTERN void
1036SWIG_Python_SetErrorObj(PyObject *errtype, PyObject *obj) {
1037 SWIG_PYTHON_THREAD_BEGIN_BLOCK;
1038 PyErr_SetObject(errtype, obj);
1039 Py_DECREF(obj);
1040 SWIG_PYTHON_THREAD_END_BLOCK;
36ed4f51
RD
1041}
1042
1bd55598
RD
1043SWIGINTERN void
1044SWIG_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;
36ed4f51
RD
1048}
1049
1bd55598 1050#define SWIG_Python_Raise(obj, type, desc) SWIG_Python_SetErrorObj(SWIG_Python_ExceptionType(desc), obj)
32fe5131 1051
1bd55598 1052/* Set a constant value */
36ed4f51 1053
1bd55598
RD
1054SWIGINTERN void
1055SWIG_Python_SetConstant(PyObject *d, const char *name, PyObject *obj) {
1056 PyDict_SetItemString(d, (char*) name, obj);
1057 Py_DECREF(obj);
36ed4f51
RD
1058}
1059
1bd55598 1060/* Append a value to the result obj */
36ed4f51 1061
1bd55598
RD
1062SWIGINTERN PyObject*
1063SWIG_Python_AppendOutput(PyObject* result, PyObject* obj) {
1064#if !defined(SWIG_PYTHON_OUTPUT_TUPLE)
1065 if (!result) {
1066 result = obj;
1067 } else if (result == Py_None) {
1068 Py_DECREF(result);
1069 result = obj;
1070 } else {
1071 if (!PyList_Check(result)) {
1072 PyObject *o2 = result;
1073 result = PyList_New(1);
1074 PyList_SetItem(result, 0, o2);
1075 }
1076 PyList_Append(result,obj);
1077 Py_DECREF(obj);
1078 }
1079 return result;
1080#else
1081 PyObject* o2;
1082 PyObject* o3;
1083 if (!result) {
1084 result = obj;
1085 } else if (result == Py_None) {
1086 Py_DECREF(result);
1087 result = obj;
36ed4f51 1088 } else {
1bd55598
RD
1089 if (!PyTuple_Check(result)) {
1090 o2 = result;
1091 result = PyTuple_New(1);
1092 PyTuple_SET_ITEM(result, 0, o2);
1093 }
1094 o3 = PyTuple_New(1);
1095 PyTuple_SET_ITEM(o3, 0, obj);
1096 o2 = result;
1097 result = PySequence_Concat(o2, o3);
1098 Py_DECREF(o2);
1099 Py_DECREF(o3);
36ed4f51 1100 }
1bd55598
RD
1101 return result;
1102#endif
36ed4f51
RD
1103}
1104
1bd55598 1105/* Unpack the argument tuple */
36ed4f51 1106
1bd55598
RD
1107SWIGINTERN int
1108SWIG_Python_UnpackTuple(PyObject *args, const char *name, int min, int max, PyObject **objs)
1109{
1110 if (!args) {
1111 if (!min && !max) {
1112 return 1;
1113 } else {
1114 PyErr_Format(PyExc_TypeError, "%s expected %s%d arguments, got none",
1115 name, (min == max ? "" : "at least "), min);
1116 return 0;
1117 }
1118 }
1119 if (!PyTuple_Check(args)) {
1120 PyErr_SetString(PyExc_SystemError, "UnpackTuple() argument list is not a tuple");
1121 return 0;
1122 } else {
1123 register int l = PyTuple_GET_SIZE(args);
1124 if (l < min) {
1125 PyErr_Format(PyExc_TypeError, "%s expected %s%d arguments, got %d",
1126 name, (min == max ? "" : "at least "), min, l);
1127 return 0;
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);
1131 return 0;
1132 } else {
1133 register int i;
1134 for (i = 0; i < l; ++i) {
1135 objs[i] = PyTuple_GET_ITEM(args, i);
1136 }
1137 for (; l < max; ++l) {
1138 objs[l] = 0;
1139 }
1140 return i + 1;
1141 }
1142 }
1143}
1144
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);
1148#else
1149#define SWIG_Python_CallFunctor(functor, obj) PyObject_CallFunction(functor, "O", obj);
1150#endif
1151
1152/*
1153 Helper for static pointer initialization for both C and C++ code, for example
1154 static PyObject *SWIG_STATIC_POINTER(MyVar) = NewSomething(...);
1155*/
1156#ifdef __cplusplus
1157#define SWIG_STATIC_POINTER(var) var
1158#else
1159#define SWIG_STATIC_POINTER(var) var = 0; if (!var) var
1160#endif
1161
1162/* -----------------------------------------------------------------------------
1163 * Pointer declarations
1164 * ----------------------------------------------------------------------------- */
1165
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)
1169
1170#define SWIG_POINTER_IMPLICIT_CONV (SWIG_POINTER_DISOWN << 1)
1171
1172#ifdef __cplusplus
1173extern "C" {
1174#if 0
1175} /* cc-mode */
1176#endif
1177#endif
1178
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
1184# endif
1185# endif
1186#endif
1187
1188#ifdef SWIG_PYTHON_BUILD_NONE
1189# ifdef Py_None
1190# undef Py_None
1191# define Py_None SWIG_Py_None()
1192# endif
1193SWIGRUNTIMEINLINE PyObject *
1194_SWIG_Py_None(void)
1195{
1196 PyObject *none = Py_BuildValue("");
1197 Py_DECREF(none);
1198 return none;
1199}
1200SWIGRUNTIME PyObject *
1201SWIG_Py_None(void)
1202{
1203 static PyObject *SWIG_STATIC_POINTER(none) = _SWIG_Py_None();
1204 return none;
1205}
1206#endif
1207
1208/* The python void return value */
1209
1210SWIGRUNTIMEINLINE PyObject *
1211SWIG_Py_Void(void)
1212{
1213 PyObject *none = Py_None;
1214 Py_INCREF(none);
1215 return none;
1216}
1217
1218/* PySwigClientData */
1219
1220typedef struct {
1221 PyObject *klass;
1222 PyObject *newraw;
1223 PyObject *newargs;
1224 PyObject *destroy;
1225 int delargs;
1226 int implicitconv;
1227} PySwigClientData;
1228
1229SWIGRUNTIMEINLINE int
1230SWIG_Python_CheckImplicit(swig_type_info *ty)
1231{
1232 PySwigClientData *data = (PySwigClientData *)ty->clientdata;
1233 return data ? data->implicitconv : 0;
1234}
1235
1236SWIGRUNTIMEINLINE PyObject *
1237SWIG_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);
1241}
1242
1243
1244SWIGRUNTIME PySwigClientData *
1245PySwigClientData_New(PyObject* obj)
1246{
1247 if (!obj) {
1248 return 0;
1249 } else {
1250 PySwigClientData *data = (PySwigClientData *)malloc(sizeof(PySwigClientData));
1251 /* the klass element */
1252 data->klass = obj;
1253 Py_INCREF(data->klass);
1254 /* the newraw method and newargs arguments used to create a new raw instance */
1255 if (PyClass_Check(obj)) {
1256 data->newraw = 0;
1257 data->newargs = obj;
1258 Py_INCREF(obj);
1259 } else {
1260#if (PY_VERSION_HEX < 0x02020000)
1261 data->newraw = 0;
1262#else
1263 data->newraw = PyObject_GetAttrString(data->klass, (char *)"__new__");
1264#endif
1265 if (data->newraw) {
1266 Py_INCREF(data->newraw);
1267 data->newargs = PyTuple_New(1);
1268 PyTuple_SetItem(data->newargs, 0, obj);
1269 } else {
1270 data->newargs = obj;
1271 }
1272 Py_INCREF(data->newargs);
1273 }
1274 /* the destroy method, aka as the C++ delete method */
1275 data->destroy = PyObject_GetAttrString(data->klass, (char *)"__swig_destroy__");
1276 if (PyErr_Occurred()) {
1277 PyErr_Clear();
1278 data->destroy = 0;
1279 }
1280 if (data->destroy) {
1281 int flags;
1282 Py_INCREF(data->destroy);
1283 flags = PyCFunction_GET_FLAGS(data->destroy);
1284#ifdef METH_O
1285 data->delargs = !(flags & (METH_O));
1286#else
1287 data->delargs = 0;
1288#endif
1289 } else {
1290 data->delargs = 0;
1291 }
1292 data->implicitconv = 0;
1293 return data;
1294 }
1295}
1296
1297SWIGRUNTIME void
1298PySwigClientData_Del(PySwigClientData* data)
1299{
1300 Py_XDECREF(data->newraw);
1301 Py_XDECREF(data->newargs);
1302 Py_XDECREF(data->destroy);
1303}
1304
1305/* =============== PySwigObject =====================*/
1306
1307typedef struct {
1308 PyObject_HEAD
1309 void *ptr;
1310 swig_type_info *ty;
1311 int own;
1312 PyObject *next;
1313} PySwigObject;
1314
1315SWIGRUNTIME PyObject *
1316PySwigObject_long(PySwigObject *v)
1317{
1318 return PyLong_FromVoidPtr(v->ptr);
1319}
1320
1321SWIGRUNTIME PyObject *
1322PySwigObject_format(const char* fmt, PySwigObject *v)
1323{
1324 PyObject *res = NULL;
1325 PyObject *args = PyTuple_New(1);
1326 if (args) {
1327 if (PyTuple_SetItem(args, 0, PySwigObject_long(v)) == 0) {
1328 PyObject *ofmt = PyString_FromString(fmt);
1329 if (ofmt) {
1330 res = PyString_Format(ofmt,args);
1331 Py_DECREF(ofmt);
1332 }
1333 Py_DECREF(args);
1334 }
1335 }
1336 return res;
1337}
1338
1339SWIGRUNTIME PyObject *
1340PySwigObject_oct(PySwigObject *v)
1341{
1342 return PySwigObject_format("%o",v);
1343}
1344
1345SWIGRUNTIME PyObject *
1346PySwigObject_hex(PySwigObject *v)
1347{
1348 return PySwigObject_format("%x",v);
1349}
1350
1351SWIGRUNTIME PyObject *
1352#ifdef METH_NOARGS
1353PySwigObject_repr(PySwigObject *v)
1354#else
1355PySwigObject_repr(PySwigObject *v, PyObject *args)
1356#endif
1357{
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));
1361 Py_DECREF(hex);
1362 if (v->next) {
1363#ifdef METH_NOARGS
1364 PyObject *nrep = PySwigObject_repr((PySwigObject *)v->next);
1365#else
1366 PyObject *nrep = PySwigObject_repr((PySwigObject *)v->next, args);
1367#endif
1368 PyString_ConcatAndDel(&repr,nrep);
1369 }
1370 return repr;
1371}
1372
1373SWIGRUNTIME int
1374PySwigObject_print(PySwigObject *v, FILE *fp, int SWIGUNUSEDPARM(flags))
1375{
1376#ifdef METH_NOARGS
1377 PyObject *repr = PySwigObject_repr(v);
1378#else
1379 PyObject *repr = PySwigObject_repr(v, NULL);
1380#endif
1381 if (repr) {
1382 fputs(PyString_AsString(repr), fp);
1383 Py_DECREF(repr);
1384 return 0;
1385 } else {
1386 return 1;
1387 }
1388}
1389
1390SWIGRUNTIME PyObject *
1391PySwigObject_str(PySwigObject *v)
1392{
1393 char result[SWIG_BUFFER_SIZE];
1394 return SWIG_PackVoidPtr(result, v->ptr, v->ty->name, sizeof(result)) ?
1395 PyString_FromString(result) : 0;
1396}
1397
1398SWIGRUNTIME int
1399PySwigObject_compare(PySwigObject *v, PySwigObject *w)
1400{
1401 void *i = v->ptr;
1402 void *j = w->ptr;
1403 return (i < j) ? -1 : ((i > j) ? 1 : 0);
1404}
1405
1406SWIGRUNTIME PyTypeObject* _PySwigObject_type(void);
1407
1408SWIGRUNTIME PyTypeObject*
1409PySwigObject_type(void) {
1410 static PyTypeObject *SWIG_STATIC_POINTER(type) = _PySwigObject_type();
1411 return type;
1412}
1413
1414SWIGRUNTIMEINLINE int
1415PySwigObject_Check(PyObject *op) {
1416 return ((op)->ob_type == PySwigObject_type())
1417 || (strcmp((op)->ob_type->tp_name,"PySwigObject") == 0);
1418}
1419
1420SWIGRUNTIME PyObject *
1421PySwigObject_New(void *ptr, swig_type_info *ty, int own);
1422
1423SWIGRUNTIME void
1424PySwigObject_dealloc(PyObject *v)
1425{
1426 PySwigObject *sobj = (PySwigObject *) v;
1427 PyObject *next = sobj->next;
1428 if (sobj->own) {
1429 swig_type_info *ty = sobj->ty;
1430 PySwigClientData *data = ty ? (PySwigClientData *) ty->clientdata : 0;
1431 PyObject *destroy = data ? data->destroy : 0;
1432 if (destroy) {
1433 /* destroy is always a VARARGS method */
1434 PyObject *res;
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);
1439 Py_DECREF(tmp);
1440 } else {
1441 PyCFunction meth = PyCFunction_GET_FUNCTION(destroy);
1442 PyObject *mself = PyCFunction_GET_SELF(destroy);
1443 res = ((*meth)(mself, v));
1444 }
1445 Py_XDECREF(res);
1446 } else {
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);
1450#endif
1451 }
1452 }
1453 Py_XDECREF(next);
1454 PyObject_DEL(v);
1455}
1456
1457SWIGRUNTIME PyObject*
1458PySwigObject_append(PyObject* v, PyObject* next)
1459{
1460 PySwigObject *sobj = (PySwigObject *) v;
1461#ifndef METH_O
1462 PyObject *tmp = 0;
1463 if (!PyArg_ParseTuple(next,(char *)"O:append", &tmp)) return NULL;
1464 next = tmp;
1465#endif
1466 if (!PySwigObject_Check(next)) {
1467 return NULL;
1468 }
1469 sobj->next = next;
1470 Py_INCREF(next);
1471 return SWIG_Py_Void();
1472}
1473
1474SWIGRUNTIME PyObject*
1475#ifdef METH_NOARGS
1476PySwigObject_next(PyObject* v)
1477#else
1478PySwigObject_next(PyObject* v, PyObject *SWIGUNUSEDPARM(args))
1479#endif
1480{
1481 PySwigObject *sobj = (PySwigObject *) v;
1482 if (sobj->next) {
1483 Py_INCREF(sobj->next);
1484 return sobj->next;
1485 } else {
1486 return SWIG_Py_Void();
1487 }
1488}
1489
1490SWIGINTERN PyObject*
1491#ifdef METH_NOARGS
1492PySwigObject_disown(PyObject *v)
1493#else
1494PySwigObject_disown(PyObject* v, PyObject *SWIGUNUSEDPARM(args))
1495#endif
1496{
1497 PySwigObject *sobj = (PySwigObject *)v;
1498 sobj->own = 0;
1499 return SWIG_Py_Void();
1500}
1501
1502SWIGINTERN PyObject*
1503#ifdef METH_NOARGS
1504PySwigObject_acquire(PyObject *v)
1505#else
1506PySwigObject_acquire(PyObject* v, PyObject *SWIGUNUSEDPARM(args))
1507#endif
1508{
1509 PySwigObject *sobj = (PySwigObject *)v;
1510 sobj->own = SWIG_POINTER_OWN;
1511 return SWIG_Py_Void();
1512}
1513
1514SWIGINTERN PyObject*
1515PySwigObject_own(PyObject *v, PyObject *args)
1516{
1517 PyObject *val = 0;
1518#if (PY_VERSION_HEX < 0x02020000)
1519 if (!PyArg_ParseTuple(args,(char *)"|O:own",&val))
1520#else
1521 if (!PyArg_UnpackTuple(args, (char *)"own", 0, 1, &val))
1522#endif
1523 {
1524 return NULL;
1525 }
1526 else
1527 {
1528 PySwigObject *sobj = (PySwigObject *)v;
1529 PyObject *obj = PyBool_FromLong(sobj->own);
1530 if (val) {
1531#ifdef METH_NOARGS
1532 if (PyObject_IsTrue(val)) {
1533 PySwigObject_acquire(v);
1534 } else {
1535 PySwigObject_disown(v);
1536 }
1537#else
1538 if (PyObject_IsTrue(val)) {
1539 PySwigObject_acquire(v,args);
1540 } else {
1541 PySwigObject_disown(v,args);
1542 }
1543#endif
1544 }
1545 return obj;
1546 }
1547}
1548
1549#ifdef METH_O
1550static PyMethodDef
1551swigobject_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"},
1558 {0, 0, 0, 0}
1559};
1560#else
1561static PyMethodDef
1562swigobject_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"},
1569 {0, 0, 0, 0}
1570};
1571#endif
1572
1573#if PY_VERSION_HEX < 0x02020000
1574SWIGINTERN PyObject *
1575PySwigObject_getattr(PySwigObject *sobj,char *name)
1576{
1577 return Py_FindMethod(swigobject_methods, (PyObject *)sobj, name);
1578}
1579#endif
1580
1581SWIGRUNTIME PyTypeObject*
1582_PySwigObject_type(void) {
1583 static char swigobject_doc[] = "Swig object carries a C/C++ instance pointer";
1584
1585 static PyNumberMethods PySwigObject_as_number = {
1586 (binaryfunc)0, /*nb_add*/
1587 (binaryfunc)0, /*nb_subtract*/
36ed4f51
RD
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*/
1597 0, /*nb_invert*/
1598 0, /*nb_lshift*/
1599 0, /*nb_rshift*/
1600 0, /*nb_and*/
1601 0, /*nb_xor*/
1602 0, /*nb_or*/
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*/
32fe5131 1609#if PY_VERSION_HEX >= 0x02020000
36ed4f51 1610 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_inplace_true_divide */
32fe5131
RD
1611#elif PY_VERSION_HEX >= 0x02000000
1612 0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_inplace_or */
36ed4f51
RD
1613#endif
1614 };
1615
1bd55598 1616 static PyTypeObject pyswigobject_type;
32fe5131 1617 static int type_init = 0;
36ed4f51 1618 if (!type_init) {
1bd55598
RD
1619 const PyTypeObject tmp
1620 = {
1621 PyObject_HEAD_INIT(NULL)
1622 0, /* ob_size */
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 */
1630#else
1631 (getattrfunc)0, /* tp_getattr */
36ed4f51 1632#endif
1bd55598
RD
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 */
1648 0, /* tp_clear */
1649 0, /* tp_richcompare */
1650 0, /* tp_weaklistoffset */
36ed4f51 1651#if PY_VERSION_HEX >= 0x02020000
1bd55598
RD
1652 0, /* tp_iter */
1653 0, /* tp_iternext */
1654 swigobject_methods, /* tp_methods */
1655 0, /* tp_members */
1656 0, /* tp_getset */
1657 0, /* tp_base */
1658 0, /* tp_dict */
1659 0, /* tp_descr_get */
1660 0, /* tp_descr_set */
1661 0, /* tp_dictoffset */
1662 0, /* tp_init */
1663 0, /* tp_alloc */
1664 0, /* tp_new */
1665 0, /* tp_free */
1666 0, /* tp_is_gc */
1667 0, /* tp_bases */
1668 0, /* tp_mro */
1669 0, /* tp_cache */
1670 0, /* tp_subclasses */
1671 0, /* tp_weaklist */
36ed4f51
RD
1672#endif
1673#if PY_VERSION_HEX >= 0x02030000
1bd55598 1674 0, /* tp_del */
36ed4f51
RD
1675#endif
1676#ifdef COUNT_ALLOCS
1bd55598 1677 0,0,0,0 /* tp_alloc -> tp_next */
36ed4f51 1678#endif
1bd55598 1679 };
32fe5131 1680 pyswigobject_type = tmp;
1bd55598 1681 pyswigobject_type.ob_type = &PyType_Type;
36ed4f51
RD
1682 type_init = 1;
1683 }
32fe5131 1684 return &pyswigobject_type;
36ed4f51
RD
1685}
1686
1687SWIGRUNTIME PyObject *
1bd55598 1688PySwigObject_New(void *ptr, swig_type_info *ty, int own)
36ed4f51 1689{
1bd55598
RD
1690 PySwigObject *sobj = PyObject_NEW(PySwigObject, PySwigObject_type());
1691 if (sobj) {
1692 sobj->ptr = ptr;
1693 sobj->ty = ty;
1694 sobj->own = own;
1695 sobj->next = 0;
32fe5131 1696 }
1bd55598 1697 return (PyObject *)sobj;
36ed4f51
RD
1698}
1699
1700/* -----------------------------------------------------------------------------
1701 * Implements a simple Swig Packed type, and use it instead of string
1702 * ----------------------------------------------------------------------------- */
1703
1704typedef struct {
1705 PyObject_HEAD
1706 void *pack;
1bd55598 1707 swig_type_info *ty;
36ed4f51
RD
1708 size_t size;
1709} PySwigPacked;
1710
1711SWIGRUNTIME int
1bd55598 1712PySwigPacked_print(PySwigPacked *v, FILE *fp, int SWIGUNUSEDPARM(flags))
36ed4f51
RD
1713{
1714 char result[SWIG_BUFFER_SIZE];
1715 fputs("<Swig Packed ", fp);
1716 if (SWIG_PackDataName(result, v->pack, v->size, 0, sizeof(result))) {
1717 fputs("at ", fp);
1718 fputs(result, fp);
1719 }
1bd55598 1720 fputs(v->ty->name,fp);
36ed4f51
RD
1721 fputs(">", fp);
1722 return 0;
1723}
1724
1725SWIGRUNTIME PyObject *
1726PySwigPacked_repr(PySwigPacked *v)
1727{
1728 char result[SWIG_BUFFER_SIZE];
1729 if (SWIG_PackDataName(result, v->pack, v->size, 0, sizeof(result))) {
1bd55598 1730 return PyString_FromFormat("<Swig Packed at %s%s>", result, v->ty->name);
36ed4f51 1731 } else {
1bd55598 1732 return PyString_FromFormat("<Swig Packed %s>", v->ty->name);
36ed4f51
RD
1733 }
1734}
1735
1736SWIGRUNTIME PyObject *
1737PySwigPacked_str(PySwigPacked *v)
1738{
1739 char result[SWIG_BUFFER_SIZE];
1740 if (SWIG_PackDataName(result, v->pack, v->size, 0, sizeof(result))){
1bd55598 1741 return PyString_FromFormat("%s%s", result, v->ty->name);
36ed4f51 1742 } else {
1bd55598 1743 return PyString_FromString(v->ty->name);
36ed4f51
RD
1744 }
1745}
1746
1747SWIGRUNTIME int
1748PySwigPacked_compare(PySwigPacked *v, PySwigPacked *w)
1749{
1bd55598
RD
1750 size_t i = v->size;
1751 size_t j = w->size;
1752 int s = (i < j) ? -1 : ((i > j) ? 1 : 0);
1753 return s ? s : strncmp((char *)v->pack, (char *)w->pack, 2*v->size);
36ed4f51
RD
1754}
1755
1bd55598 1756SWIGRUNTIME PyTypeObject* _PySwigPacked_type(void);
36ed4f51
RD
1757
1758SWIGRUNTIME PyTypeObject*
32fe5131 1759PySwigPacked_type(void) {
1bd55598
RD
1760 static PyTypeObject *SWIG_STATIC_POINTER(type) = _PySwigPacked_type();
1761 return type;
36ed4f51
RD
1762}
1763
1764SWIGRUNTIMEINLINE int
1765PySwigPacked_Check(PyObject *op) {
1bd55598 1766 return ((op)->ob_type == _PySwigPacked_type())
36ed4f51
RD
1767 || (strcmp((op)->ob_type->tp_name,"PySwigPacked") == 0);
1768}
1769
36ed4f51 1770SWIGRUNTIME void
1bd55598 1771PySwigPacked_dealloc(PyObject *v)
36ed4f51 1772{
1bd55598
RD
1773 if (PySwigPacked_Check(v)) {
1774 PySwigPacked *sobj = (PySwigPacked *) v;
1775 free(sobj->pack);
36ed4f51 1776 }
1bd55598 1777 PyObject_DEL(v);
36ed4f51
RD
1778}
1779
1bd55598
RD
1780SWIGRUNTIME 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;
1785 if (!type_init) {
1786 const PyTypeObject tmp
1787 = {
1788 PyObject_HEAD_INIT(NULL)
1789 0, /* ob_size */
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 */
1811 0, /* tp_clear */
1812 0, /* tp_richcompare */
1813 0, /* tp_weaklistoffset */
1814#if PY_VERSION_HEX >= 0x02020000
1815 0, /* tp_iter */
1816 0, /* tp_iternext */
1817 0, /* tp_methods */
1818 0, /* tp_members */
1819 0, /* tp_getset */
1820 0, /* tp_base */
1821 0, /* tp_dict */
1822 0, /* tp_descr_get */
1823 0, /* tp_descr_set */
1824 0, /* tp_dictoffset */
1825 0, /* tp_init */
1826 0, /* tp_alloc */
1827 0, /* tp_new */
1828 0, /* tp_free */
1829 0, /* tp_is_gc */
1830 0, /* tp_bases */
1831 0, /* tp_mro */
1832 0, /* tp_cache */
1833 0, /* tp_subclasses */
1834 0, /* tp_weaklist */
1835#endif
1836#if PY_VERSION_HEX >= 0x02030000
1837 0, /* tp_del */
1838#endif
1839#ifdef COUNT_ALLOCS
1840 0,0,0,0 /* tp_alloc -> tp_next */
1841#endif
1842 };
1843 pyswigpacked_type = tmp;
1844 pyswigpacked_type.ob_type = &PyType_Type;
1845 type_init = 1;
36ed4f51 1846 }
1bd55598
RD
1847 return &pyswigpacked_type;
1848}
1849
1850SWIGRUNTIME PyObject *
1851PySwigPacked_New(void *ptr, size_t size, swig_type_info *ty)
1852{
1853 PySwigPacked *sobj = PyObject_NEW(PySwigPacked, PySwigPacked_type());
1854 if (sobj) {
1855 void *pack = malloc(size);
1856 if (pack) {
1857 memcpy(pack, ptr, size);
1858 sobj->pack = pack;
1859 sobj->ty = ty;
1860 sobj->size = size;
1861 } else {
1862 PyObject_DEL((PyObject *) sobj);
1863 sobj = 0;
36ed4f51 1864 }
36ed4f51 1865 }
1bd55598 1866 return (PyObject *) sobj;
36ed4f51
RD
1867}
1868
1bd55598
RD
1869SWIGRUNTIME swig_type_info *
1870PySwigPacked_UnpackData(PyObject *obj, void *ptr, size_t size)
36ed4f51 1871{
1bd55598
RD
1872 if (PySwigPacked_Check(obj)) {
1873 PySwigPacked *sobj = (PySwigPacked *)obj;
1874 if (sobj->size != size) return 0;
1875 memcpy(ptr, sobj->pack, size);
1876 return sobj->ty;
36ed4f51
RD
1877 } else {
1878 return 0;
1879 }
1880}
1881
36ed4f51
RD
1882/* -----------------------------------------------------------------------------
1883 * pointers/data manipulation
1884 * ----------------------------------------------------------------------------- */
1885
1bd55598
RD
1886SWIGRUNTIMEINLINE PyObject *
1887_SWIG_This(void)
1888{
1889 return PyString_FromString("this");
1890}
36ed4f51 1891
1bd55598
RD
1892SWIGRUNTIME PyObject *
1893SWIG_This(void)
1894{
1895 static PyObject *SWIG_STATIC_POINTER(swig_this) = _SWIG_This();
1896 return swig_this;
1897}
1898
1899/* #define SWIG_PYTHON_SLOW_GETSET_THIS */
1900
1901SWIGRUNTIME PySwigObject *
1902SWIG_Python_GetSwigThis(PyObject *pyobj)
1903{
1904 if (PySwigObject_Check(pyobj)) {
1905 return (PySwigObject *) pyobj;
1906 } else {
1907 PyObject *obj = 0;
1908#if (!defined(SWIG_PYTHON_SLOW_GETSET_THIS) && (PY_VERSION_HEX >= 0x02030000))
1909 if (PyInstance_Check(pyobj)) {
1910 obj = _PyInstance_Lookup(pyobj, SWIG_This());
1911 } else {
1912 PyObject **dictptr = _PyObject_GetDictPtr(pyobj);
1913 if (dictptr != NULL) {
1914 PyObject *dict = *dictptr;
1915 obj = dict ? PyDict_GetItem(dict, SWIG_This()) : 0;
1916 } else {
1917#ifdef PyWeakref_CheckProxy
1918 if (PyWeakref_CheckProxy(pyobj)) {
1919 PyObject *wobj = PyWeakref_GET_OBJECT(pyobj);
1920 return wobj ? SWIG_Python_GetSwigThis(wobj) : 0;
1921 }
1922#endif
1923 obj = PyObject_GetAttr(pyobj,SWIG_This());
1924 if (obj) {
1925 Py_DECREF(obj);
1926 } else {
1927 if (PyErr_Occurred()) PyErr_Clear();
1928 return 0;
1929 }
1930 }
36ed4f51 1931 }
36ed4f51 1932#else
1bd55598
RD
1933 obj = PyObject_GetAttr(pyobj,SWIG_This());
1934 if (obj) {
36ed4f51 1935 Py_DECREF(obj);
1bd55598
RD
1936 } else {
1937 if (PyErr_Occurred()) PyErr_Clear();
1938 return 0;
36ed4f51 1939 }
36ed4f51 1940#endif
1bd55598
RD
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);
1945 }
1946 return (PySwigObject *)obj;
36ed4f51 1947 }
1bd55598
RD
1948}
1949
1950/* Acquire a pointer value */
1951
1952SWIGRUNTIME int
1953SWIG_Python_AcquirePtr(PyObject *obj, int own) {
1954 if (own) {
1955 PySwigObject *sobj = SWIG_Python_GetSwigThis(obj);
1956 if (sobj) {
1957 int oldown = sobj->own;
1958 sobj->own = own;
1959 return oldown;
1960 }
36ed4f51
RD
1961 }
1962 return 0;
1bd55598
RD
1963}
1964
1965/* Convert a pointer value */
36ed4f51 1966
1bd55598
RD
1967SWIGRUNTIME int
1968SWIG_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) {
1971 if (ptr) *ptr = 0;
1972 return SWIG_OK;
1973 } else {
1974 PySwigObject *sobj = SWIG_Python_GetSwigThis(obj);
1975 while (sobj) {
1976 void *vptr = sobj->ptr;
1977 if (ty) {
1978 swig_type_info *to = sobj->ty;
1979 if (to == ty) {
1980 /* no type cast needed */
1981 if (ptr) *ptr = vptr;
1982 break;
1983 } else {
1984 swig_cast_info *tc = SWIG_TypeCheck(to->name,ty);
1985 if (!tc) {
1986 sobj = (PySwigObject *)sobj->next;
1987 } else {
1988 if (ptr) *ptr = SWIG_TypeCast(tc,vptr);
1989 break;
1990 }
1991 }
1992 } else {
1993 if (ptr) *ptr = vptr;
1994 break;
36ed4f51
RD
1995 }
1996 }
1bd55598
RD
1997 if (sobj) {
1998 if (own) *own = sobj->own;
1999 if (flags & SWIG_POINTER_DISOWN) {
2000 sobj->own = 0;
2001 }
2002 return SWIG_OK;
36ed4f51 2003 } else {
1bd55598
RD
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;
2009 if (klass) {
2010 PyObject *impconv;
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()) {
2015 PyErr_Clear();
2016 impconv = 0;
2017 }
2018 if (impconv) {
2019 PySwigObject *iobj = SWIG_Python_GetSwigThis(impconv);
2020 if (iobj) {
2021 void *vptr;
2022 res = SWIG_Python_ConvertPtrAndOwn((PyObject*)iobj, &vptr, ty, 0, 0);
2023 if (SWIG_IsOK(res)) {
2024 if (ptr) {
2025 *ptr = vptr;
2026 /* transfer the ownership to 'ptr' */
2027 iobj->own = 0;
2028 res = SWIG_AddCast(res);
2029 res = SWIG_AddNewMask(res);
2030 } else {
2031 res = SWIG_AddCast(res);
2032 }
2033 }
2034 }
2035 Py_DECREF(impconv);
2036 }
2037 }
2038 }
2039 }
2040 return res;
36ed4f51
RD
2041 }
2042 }
36ed4f51 2043}
d14a1e28 2044
1bd55598
RD
2045/* Convert a function ptr value */
2046
2047SWIGRUNTIME int
2048SWIG_Python_ConvertFunctionPtr(PyObject *obj, void **ptr, swig_type_info *ty) {
2049 if (!PyCFunction_Check(obj)) {
2050 return SWIG_ConvertPtr(obj, ptr, ty, 0);
2051 } else {
2052 void *vptr = 0;
2053
2054 /* here we get the method pointer for callbacks */
4f89b6b7 2055 const char *doc = (((PyCFunctionObject *)obj) -> m_ml -> ml_doc);
1bd55598
RD
2056 const char *desc = doc ? strstr(doc, "swig_ptr: ") : 0;
2057 if (desc) {
2058 desc = ty ? SWIG_UnpackVoidPtr(desc + 10, &vptr, ty->name) : 0;
2059 if (!desc) return SWIG_ERROR;
2060 }
2061 if (ty) {
2062 swig_cast_info *tc = SWIG_TypeCheck(desc,ty);
2063 if (!tc) return SWIG_ERROR;
2064 *ptr = SWIG_TypeCast(tc,vptr);
2065 } else {
2066 *ptr = vptr;
36ed4f51 2067 }
1bd55598 2068 return SWIG_OK;
36ed4f51 2069 }
36ed4f51 2070}
d14a1e28 2071
36ed4f51 2072/* Convert a packed value value */
1bd55598 2073
36ed4f51 2074SWIGRUNTIME int
1bd55598
RD
2075SWIG_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;
2078 if (ty) {
2079 if (to != ty) {
2080 /* check type cast? */
2081 swig_cast_info *tc = SWIG_TypeCheck(to->name,ty);
2082 if (!tc) return SWIG_ERROR;
2083 }
2084 }
2085 return SWIG_OK;
2086}
2087
2088/* -----------------------------------------------------------------------------
2089 * Create a new pointer object
2090 * ----------------------------------------------------------------------------- */
2091
2092/*
2093 Create a new instance object, whitout calling __init__, and set the
2094 'this' attribute.
2095*/
d14a1e28 2096
1bd55598
RD
2097SWIGRUNTIME PyObject*
2098SWIG_Python_NewShadowInstance(PySwigClientData *data, PyObject *swig_this)
2099{
2100#if (PY_VERSION_HEX >= 0x02020000)
2101 PyObject *inst = 0;
2102 PyObject *newraw = data->newraw;
2103 if (newraw) {
2104 inst = PyObject_Call(newraw, data->newargs, NULL);
2105 if (inst) {
2106#if !defined(SWIG_PYTHON_SLOW_GETSET_THIS)
2107 PyObject **dictptr = _PyObject_GetDictPtr(inst);
2108 if (dictptr != NULL) {
2109 PyObject *dict = *dictptr;
2110 if (dict == NULL) {
2111 dict = PyDict_New();
2112 *dictptr = dict;
2113 PyDict_SetItem(dict, SWIG_This(), swig_this);
2114 }
2115 }
36ed4f51 2116#else
1bd55598
RD
2117 PyObject *key = SWIG_This();
2118 PyObject_SetAttr(inst, key, swig_this);
36ed4f51 2119#endif
1bd55598
RD
2120 }
2121 } else {
2122 PyObject *dict = PyDict_New();
2123 PyDict_SetItem(dict, SWIG_This(), swig_this);
2124 inst = PyInstance_NewRaw(data->newargs, dict);
2125 Py_DECREF(dict);
36ed4f51 2126 }
1bd55598
RD
2127 return inst;
2128#else
2129#if (PY_VERSION_HEX >= 0x02010000)
2130 PyObject *inst;
2131 PyObject *dict = PyDict_New();
2132 PyDict_SetItem(dict, SWIG_This(), swig_this);
2133 inst = PyInstance_NewRaw(data->newargs, dict);
2134 Py_DECREF(dict);
2135 return (PyObject *) inst;
2136#else
2137 PyInstanceObject *inst = PyObject_NEW(PyInstanceObject, &PyInstance_Type);
2138 if (inst == NULL) {
2139 return NULL;
2140 }
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) {
2145 Py_DECREF(inst);
2146 return NULL;
2147 }
2148#ifdef Py_TPFLAGS_HAVE_WEAKREFS
2149 inst->in_weakreflist = NULL;
2150#endif
2151#ifdef Py_TPFLAGS_GC
2152 PyObject_GC_Init(inst);
2153#endif
2154 PyDict_SetItem(inst->in_dict, SWIG_This(), swig_this);
2155 return (PyObject *) inst;
2156#endif
2157#endif
2158}
d14a1e28 2159
1bd55598
RD
2160SWIGRUNTIME void
2161SWIG_Python_SetSwigThis(PyObject *inst, PyObject *swig_this)
2162{
2163 PyObject *dict;
2164#if (PY_VERSION_HEX >= 0x02020000) && !defined(SWIG_PYTHON_SLOW_GETSET_THIS)
2165 PyObject **dictptr = _PyObject_GetDictPtr(inst);
2166 if (dictptr != NULL) {
2167 dict = *dictptr;
2168 if (dict == NULL) {
2169 dict = PyDict_New();
2170 *dictptr = dict;
2171 }
2172 PyDict_SetItem(dict, SWIG_This(), swig_this);
2173 return;
2174 }
2175#endif
2176 dict = PyObject_GetAttrString(inst, "__dict__");
2177 PyDict_SetItem(dict, SWIG_This(), swig_this);
2178 Py_DECREF(dict);
2179}
2180
2181
2182SWIGINTERN PyObject *
2183SWIG_Python_InitShadowInstance(PyObject *args) {
2184 PyObject *obj[2];
2185 if (!SWIG_Python_UnpackTuple(args,(char*)"swiginit", 2, 2, obj)) {
2186 return NULL;
2187 } else {
2188 PySwigObject *sthis = SWIG_Python_GetSwigThis(obj[0]);
2189 if (sthis) {
2190 PySwigObject_append((PyObject*) sthis, obj[1]);
36ed4f51 2191 } else {
1bd55598 2192 SWIG_Python_SetSwigThis(obj[0], obj[1]);
36ed4f51 2193 }
1bd55598 2194 return SWIG_Py_Void();
36ed4f51 2195 }
1bd55598
RD
2196}
2197
2198/* Create a new pointer object */
36ed4f51 2199
36ed4f51 2200SWIGRUNTIME PyObject *
1bd55598 2201SWIG_Python_NewPointerObj(void *ptr, swig_type_info *type, int flags) {
36ed4f51 2202 if (!ptr) {
1bd55598
RD
2203 return SWIG_Py_Void();
2204 } else {
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);
2210 if (inst) {
2211 Py_DECREF(robj);
2212 robj = inst;
36ed4f51 2213 }
36ed4f51 2214 }
1bd55598 2215 return robj;
36ed4f51 2216 }
36ed4f51 2217}
d14a1e28 2218
1bd55598
RD
2219/* Create a new packed object */
2220
2221SWIGRUNTIMEINLINE PyObject *
36ed4f51 2222SWIG_Python_NewPackedObj(void *ptr, size_t sz, swig_type_info *type) {
1bd55598 2223 return ptr ? PySwigPacked_New((void *) ptr, sz, type) : SWIG_Py_Void();
36ed4f51
RD
2224}
2225
2226/* -----------------------------------------------------------------------------*
2227 * Get type list
2228 * -----------------------------------------------------------------------------*/
d14a1e28 2229
36ed4f51
RD
2230#ifdef SWIG_LINK_RUNTIME
2231void *SWIG_ReturnGlobalTypeList(void *);
2232#endif
d14a1e28 2233
32fe5131
RD
2234SWIGRUNTIME swig_module_info *
2235SWIG_Python_GetModule(void) {
36ed4f51
RD
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);
2241#else
2242 type_pointer = PyCObject_Import((char*)"swig_runtime_data" SWIG_RUNTIME_VERSION,
2243 (char*)"type_pointer" SWIG_TYPE_TABLE_NAME);
2244 if (PyErr_Occurred()) {
2245 PyErr_Clear();
2246 type_pointer = (void *)0;
2247 }
36ed4f51 2248#endif
32fe5131
RD
2249 }
2250 return (swig_module_info *) type_pointer;
36ed4f51 2251}
d14a1e28 2252
32fe5131
RD
2253#if PY_MAJOR_VERSION < 2
2254/* PyModule_AddObject function was introduced in Python 2.0. The following function
1bd55598 2255 is copied out of Python/modsupport.c in python version 2.3.4 */
32fe5131
RD
2256SWIGINTERN int
2257PyModule_AddObject(PyObject *m, char *name, PyObject *o)
2258{
2259 PyObject *dict;
2260 if (!PyModule_Check(m)) {
2261 PyErr_SetString(PyExc_TypeError,
2262 "PyModule_AddObject() needs module as first arg");
1bd55598 2263 return SWIG_ERROR;
32fe5131
RD
2264 }
2265 if (!o) {
2266 PyErr_SetString(PyExc_TypeError,
2267 "PyModule_AddObject() needs non-NULL value");
1bd55598 2268 return SWIG_ERROR;
32fe5131
RD
2269 }
2270
2271 dict = PyModule_GetDict(m);
2272 if (dict == NULL) {
2273 /* Internal error -- modules must have a dict! */
2274 PyErr_Format(PyExc_SystemError, "module '%s' has no __dict__",
2275 PyModule_GetName(m));
1bd55598 2276 return SWIG_ERROR;
32fe5131
RD
2277 }
2278 if (PyDict_SetItemString(dict, name, o))
1bd55598 2279 return SWIG_ERROR;
32fe5131 2280 Py_DECREF(o);
1bd55598 2281 return SWIG_OK;
36ed4f51 2282}
32fe5131 2283#endif
d14a1e28 2284
1bd55598
RD
2285SWIGRUNTIME void
2286SWIG_Python_DestroyModule(void *vptr)
2287{
2288 swig_module_info *swig_module = (swig_module_info *) vptr;
2289 swig_type_info **types = swig_module->types;
2290 size_t i;
2291 for (i =0; i < swig_module->size; ++i) {
2292 swig_type_info *ty = types[i];
2293 if (ty->owndata) {
2294 PySwigClientData *data = (PySwigClientData *) ty->clientdata;
2295 if (data) PySwigClientData_Del(data);
2296 }
2297 }
2298 Py_DECREF(SWIG_This());
2299}
2300
32fe5131
RD
2301SWIGRUNTIME void
2302SWIG_Python_SetModule(swig_module_info *swig_module) {
2303 static PyMethodDef swig_empty_runtime_method_table[] = { {NULL, NULL, 0, NULL} };/* Sentinel */
2304
2305 PyObject *module = Py_InitModule((char*)"swig_runtime_data" SWIG_RUNTIME_VERSION,
2306 swig_empty_runtime_method_table);
1bd55598 2307 PyObject *pointer = PyCObject_FromVoidPtr((void *) swig_module, SWIG_Python_DestroyModule);
32fe5131
RD
2308 if (pointer && module) {
2309 PyModule_AddObject(module, (char*)"type_pointer" SWIG_TYPE_TABLE_NAME, pointer);
1bd55598
RD
2310 } else {
2311 Py_XDECREF(pointer);
2312 }
2313}
2314
2315/* The python cached type query */
2316SWIGRUNTIME PyObject *
2317SWIG_Python_TypeCache() {
2318 static PyObject *SWIG_STATIC_POINTER(cache) = PyDict_New();
2319 return cache;
2320}
2321
2322SWIGRUNTIME swig_type_info *
2323SWIG_Python_TypeQuery(const char *type)
2324{
2325 PyObject *cache = SWIG_Python_TypeCache();
2326 PyObject *key = PyString_FromString(type);
2327 PyObject *obj = PyDict_GetItem(cache, key);
2328 swig_type_info *descriptor;
2329 if (obj) {
2330 descriptor = (swig_type_info *) PyCObject_AsVoidPtr(obj);
2331 } else {
2332 swig_module_info *swig_module = SWIG_Python_GetModule();
2333 descriptor = SWIG_TypeQueryModule(swig_module, swig_module, type);
2334 if (descriptor) {
2335 obj = PyCObject_FromVoidPtr(descriptor, NULL);
2336 PyDict_SetItem(cache, key, obj);
2337 Py_DECREF(obj);
2338 }
2339 }
2340 Py_DECREF(key);
2341 return descriptor;
2342}
2343
2344/*
2345 For backward compatibility only
2346*/
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)
2350
2351SWIGRUNTIME int
2352SWIG_Python_AddErrMesg(const char* mesg, int infront)
2353{
2354 if (PyErr_Occurred()) {
2355 PyObject *type = 0;
2356 PyObject *value = 0;
2357 PyObject *traceback = 0;
2358 PyErr_Fetch(&type, &value, &traceback);
2359 if (value) {
2360 PyObject *old_str = PyObject_Str(value);
2361 Py_XINCREF(type);
2362 PyErr_Clear();
2363 if (infront) {
2364 PyErr_Format(type, "%s %s", mesg, PyString_AsString(old_str));
2365 } else {
2366 PyErr_Format(type, "%s %s", PyString_AsString(old_str), mesg);
2367 }
2368 Py_DECREF(old_str);
2369 }
2370 return 1;
2371 } else {
2372 return 0;
2373 }
2374}
2375
2376SWIGRUNTIME int
2377SWIG_Python_ArgFail(int argnum)
2378{
2379 if (PyErr_Occurred()) {
2380 /* add information about failing argument */
2381 char mesg[256];
2382 PyOS_snprintf(mesg, sizeof(mesg), "argument number %d:", argnum);
2383 return SWIG_Python_AddErrMesg(mesg, 1);
2384 } else {
2385 return 0;
2386 }
2387}
2388
2389SWIGRUNTIMEINLINE const char *
2390PySwigObject_GetDesc(PyObject *self)
2391{
2392 PySwigObject *v = (PySwigObject *)self;
2393 swig_type_info *ty = v ? v->ty : 0;
2394 return ty ? ty->str : (char*)"";
2395}
2396
2397SWIGRUNTIME void
2398SWIG_Python_TypeError(const char *type, PyObject *obj)
2399{
2400 if (type) {
2401#if defined(SWIG_COBJECT_TYPES)
2402 if (obj && PySwigObject_Check(obj)) {
2403 const char *otype = (const char *) PySwigObject_GetDesc(obj);
2404 if (otype) {
2405 PyErr_Format(PyExc_TypeError, "a '%s' is expected, 'PySwigObject(%s)' is received",
2406 type, otype);
2407 return;
2408 }
2409 } else
2410#endif
2411 {
2412 const char *otype = (obj ? obj->ob_type->tp_name : 0);
2413 if (otype) {
2414 PyObject *str = PyObject_Str(obj);
2415 const char *cstr = str ? PyString_AsString(str) : 0;
2416 if (cstr) {
2417 PyErr_Format(PyExc_TypeError, "a '%s' is expected, '%s(%s)' is received",
2418 type, otype, cstr);
2419 } else {
2420 PyErr_Format(PyExc_TypeError, "a '%s' is expected, '%s' is received",
2421 type, otype);
2422 }
2423 Py_XDECREF(str);
2424 return;
2425 }
2426 }
2427 PyErr_Format(PyExc_TypeError, "a '%s' is expected", type);
2428 } else {
2429 PyErr_Format(PyExc_TypeError, "unexpected type is received");
2430 }
2431}
2432
2433
2434/* Convert a pointer value, signal an exception on a type mismatch */
2435SWIGRUNTIME void *
2436SWIG_Python_MustGetPtr(PyObject *obj, swig_type_info *ty, int argnum, int flags) {
2437 void *result;
2438 if (SWIG_Python_ConvertPtr(obj, &result, ty, flags) == -1) {
2439 PyErr_Clear();
2440 if (flags & SWIG_POINTER_EXCEPTION) {
2441 SWIG_Python_TypeError(SWIG_TypePrettyName(ty), obj);
2442 SWIG_Python_ArgFail(argnum);
2443 }
32fe5131 2444 }
1bd55598 2445 return result;
32fe5131 2446}
d14a1e28 2447
1bd55598 2448
d14a1e28 2449#ifdef __cplusplus
1bd55598
RD
2450#if 0
2451{ /* cc-mode */
2452#endif
d14a1e28
RD
2453}
2454#endif
2455
2456
1bd55598
RD
2457
2458#define SWIG_exception_fail(code, msg) do { SWIG_Error(code, msg); SWIG_fail; } while(0)
2459
2460#define SWIG_contract_assert(expr, msg) if (!(expr)) { SWIG_Error(SWIG_RuntimeError, msg); SWIG_fail; } else
2461
2462
2463
d14a1e28
RD
2464/* -------- TYPES TABLE (BEGIN) -------- */
2465
32fe5131
RD
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]
2131d850
RD
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]
4976f996
RD
2491#define SWIGTYPE_p_wxEventBlocker swig_types[25]
2492#define SWIGTYPE_p_wxEvtHandler swig_types[26]
2493#define SWIGTYPE_p_wxFSFile swig_types[27]
2494#define SWIGTYPE_p_wxFileSystem swig_types[28]
2495#define SWIGTYPE_p_wxFlexGridSizer swig_types[29]
2496#define SWIGTYPE_p_wxFocusEvent swig_types[30]
2497#define SWIGTYPE_p_wxGBSizerItem swig_types[31]
2498#define SWIGTYPE_p_wxGIFHandler swig_types[32]
2499#define SWIGTYPE_p_wxGLCanvas swig_types[33]
2500#define SWIGTYPE_p_wxGLContext swig_types[34]
2501#define SWIGTYPE_p_wxGridBagSizer swig_types[35]
2502#define SWIGTYPE_p_wxGridSizer swig_types[36]
2503#define SWIGTYPE_p_wxICOHandler swig_types[37]
2504#define SWIGTYPE_p_wxIconizeEvent swig_types[38]
2505#define SWIGTYPE_p_wxIdleEvent swig_types[39]
2506#define SWIGTYPE_p_wxImage swig_types[40]
2507#define SWIGTYPE_p_wxImageHandler swig_types[41]
2508#define SWIGTYPE_p_wxIndividualLayoutConstraint swig_types[42]
2509#define SWIGTYPE_p_wxInitDialogEvent swig_types[43]
2510#define SWIGTYPE_p_wxJPEGHandler swig_types[44]
2511#define SWIGTYPE_p_wxKeyEvent swig_types[45]
2512#define SWIGTYPE_p_wxLayoutConstraints swig_types[46]
2513#define SWIGTYPE_p_wxMaximizeEvent swig_types[47]
2514#define SWIGTYPE_p_wxMenu swig_types[48]
2515#define SWIGTYPE_p_wxMenuBar swig_types[49]
2516#define SWIGTYPE_p_wxMenuEvent swig_types[50]
2517#define SWIGTYPE_p_wxMenuItem swig_types[51]
2518#define SWIGTYPE_p_wxMouseCaptureChangedEvent swig_types[52]
2519#define SWIGTYPE_p_wxMouseCaptureLostEvent swig_types[53]
2520#define SWIGTYPE_p_wxMouseEvent swig_types[54]
2521#define SWIGTYPE_p_wxMoveEvent swig_types[55]
2522#define SWIGTYPE_p_wxNavigationKeyEvent swig_types[56]
2523#define SWIGTYPE_p_wxNcPaintEvent swig_types[57]
2524#define SWIGTYPE_p_wxNotifyEvent swig_types[58]
2525#define SWIGTYPE_p_wxObject swig_types[59]
2526#define SWIGTYPE_p_wxPCXHandler swig_types[60]
2527#define SWIGTYPE_p_wxPNGHandler swig_types[61]
2528#define SWIGTYPE_p_wxPNMHandler swig_types[62]
2529#define SWIGTYPE_p_wxPaintEvent swig_types[63]
2530#define SWIGTYPE_p_wxPalette swig_types[64]
2531#define SWIGTYPE_p_wxPaletteChangedEvent swig_types[65]
2532#define SWIGTYPE_p_wxPaperSize swig_types[66]
2533#define SWIGTYPE_p_wxPyApp swig_types[67]
2534#define SWIGTYPE_p_wxPyCommandEvent swig_types[68]
2535#define SWIGTYPE_p_wxPyEvent swig_types[69]
2536#define SWIGTYPE_p_wxPyImageHandler swig_types[70]
2537#define SWIGTYPE_p_wxPySizer swig_types[71]
2538#define SWIGTYPE_p_wxPyValidator swig_types[72]
2539#define SWIGTYPE_p_wxQueryNewPaletteEvent swig_types[73]
2540#define SWIGTYPE_p_wxScrollEvent swig_types[74]
2541#define SWIGTYPE_p_wxScrollWinEvent swig_types[75]
2542#define SWIGTYPE_p_wxSetCursorEvent swig_types[76]
2543#define SWIGTYPE_p_wxShowEvent swig_types[77]
2544#define SWIGTYPE_p_wxSizeEvent swig_types[78]
2545#define SWIGTYPE_p_wxSizer swig_types[79]
2546#define SWIGTYPE_p_wxSizerItem swig_types[80]
2547#define SWIGTYPE_p_wxStaticBoxSizer swig_types[81]
2548#define SWIGTYPE_p_wxStdDialogButtonSizer swig_types[82]
2549#define SWIGTYPE_p_wxSysColourChangedEvent swig_types[83]
2550#define SWIGTYPE_p_wxTGAHandler swig_types[84]
2551#define SWIGTYPE_p_wxTIFFHandler swig_types[85]
2552#define SWIGTYPE_p_wxUpdateUIEvent swig_types[86]
2553#define SWIGTYPE_p_wxValidator swig_types[87]
2554#define SWIGTYPE_p_wxWindow swig_types[88]
2555#define SWIGTYPE_p_wxWindowCreateEvent swig_types[89]
2556#define SWIGTYPE_p_wxWindowDestroyEvent swig_types[90]
2557#define SWIGTYPE_p_wxXPMHandler swig_types[91]
2558static swig_type_info *swig_types[93];
2559static swig_module_info swig_module = {swig_types, 92, 0, 0, 0, 0};
32fe5131
RD
2560#define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name)
2561#define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name)
d14a1e28
RD
2562
2563/* -------- TYPES TABLE (END) -------- */
2564
1bd55598
RD
2565#if (PY_VERSION_HEX <= 0x02000000)
2566# if !defined(SWIG_PYTHON_CLASSIC)
2567# error "This python version requires to use swig with the '-classic' option"
2568# endif
2569#endif
2570#if (PY_VERSION_HEX <= 0x02020000)
2571# error "This python version requires to use swig with the '-nomodern' option"
2572#endif
2573#if (PY_VERSION_HEX <= 0x02020000)
2574# error "This python version requires to use swig with the '-nomodernargs' option"
2575#endif
2576#ifndef METH_O
2577# error "This python version requires to use swig with the '-nofastunpack' option"
2578#endif
d14a1e28
RD
2579
2580/*-----------------------------------------------
2581 @(target):= _glcanvas.so
2582 ------------------------------------------------*/
2583#define SWIG_init init_glcanvas
2584
2585#define SWIG_name "_glcanvas"
2586
1bd55598 2587#define SWIGVERSION 0x010329
d14a1e28 2588
d14a1e28 2589
1bd55598
RD
2590#define SWIG_as_voidptr(a) const_cast< void * >(static_cast< const void * >(a))
2591#define SWIG_as_voidptrptr(a) ((void)SWIG_as_voidptr(*a),reinterpret_cast< void** >(a))
d14a1e28 2592
8edf1c75 2593
1bd55598 2594#include <stdexcept>
8edf1c75 2595
2f4c0a16 2596
1bd55598
RD
2597namespace swig {
2598 class PyObject_ptr {
2599 protected:
2600 PyObject *_obj;
2f4c0a16 2601
1bd55598
RD
2602 public:
2603 PyObject_ptr() :_obj(0)
2604 {
2605 }
8edf1c75 2606
1bd55598
RD
2607 PyObject_ptr(const PyObject_ptr& item) : _obj(item._obj)
2608 {
2609 Py_XINCREF(_obj);
2610 }
2611
2612 PyObject_ptr(PyObject *obj, bool initial_ref = true) :_obj(obj)
2613 {
2614 if (initial_ref) Py_XINCREF(_obj);
2f4c0a16 2615 }
1bd55598
RD
2616
2617 PyObject_ptr & operator=(const PyObject_ptr& item)
2618 {
2619 Py_XINCREF(item._obj);
2620 Py_XDECREF(_obj);
2621 _obj = item._obj;
2622 return *this;
69223c70 2623 }
1bd55598
RD
2624
2625 ~PyObject_ptr()
2626 {
2627 Py_XDECREF(_obj);
2628 }
2629
2630 operator PyObject *() const
2631 {
2632 return _obj;
2633 }
2634
2635 PyObject *operator->() const
2636 {
2637 return _obj;
2638 }
2639 };
8edf1c75
RD
2640}
2641
2f4c0a16 2642
1bd55598
RD
2643namespace swig {
2644 struct PyObject_var : PyObject_ptr {
2645 PyObject_var(PyObject* obj = 0) : PyObject_ptr(obj, false) { }
2646
2647 PyObject_var & operator = (PyObject* obj)
2648 {
2649 Py_XDECREF(_obj);
2650 _obj = obj;
2651 return *this;
c370783e 2652 }
1bd55598 2653 };
2f4c0a16 2654}
1bd55598
RD
2655
2656
2657#include "wx/wxPython/wxPython.h"
2658#include "wx/wxPython/pyclasses.h"
2659
2660#include <wx/glcanvas.h>
2661
2662
2663 static const wxString wxPyGLCanvasNameStr(wxT("GLCanvas"));
2664 static const wxString wxPyEmptyString(wxEmptyString);
2665
1bd55598 2666 #define SWIG_From_long PyInt_FromLong
36ed4f51
RD
2667
2668
1bd55598
RD
2669SWIGINTERNINLINE PyObject *
2670SWIG_From_int (int value)
2671{
2672 return SWIG_From_long (value);
c370783e
RD
2673}
2674
2675
1bd55598
RD
2676#include <limits.h>
2677#ifndef LLONG_MIN
2678# define LLONG_MIN LONG_LONG_MIN
2679#endif
2680#ifndef LLONG_MAX
2681# define LLONG_MAX LONG_LONG_MAX
2682#endif
2683#ifndef ULLONG_MAX
2684# define ULLONG_MAX ULONG_LONG_MAX
2685#endif
c370783e 2686
c370783e 2687
b4aa9fec
RD
2688SWIGINTERN int
2689SWIG_AsVal_long (PyObject* obj, long* val)
2690{
2691 if (PyNumber_Check(obj)) {
2692 if (val) *val = PyInt_AsLong(obj);
2693 return SWIG_OK;
2694 }
2695 return SWIG_TypeError;
2696}
2697
2698
1bd55598
RD
2699SWIGINTERN int
2700SWIG_AsVal_int (PyObject * obj, int *val)
c370783e 2701{
1bd55598
RD
2702 long v;
2703 int res = SWIG_AsVal_long (obj, &v);
2704 if (SWIG_IsOK(res)) {
2705 if ((v < INT_MIN || v > INT_MAX)) {
2706 return SWIG_OverflowError;
2707 } else {
2708 if (val) *val = static_cast< int >(v);
2709 }
2710 }
2711 return res;
2f4c0a16
RD
2712}
2713
d14a1e28
RD
2714#ifdef __cplusplus
2715extern "C" {
2716#endif
1bd55598
RD
2717SWIGINTERN int GLCanvasNameStr_set(PyObject *) {
2718 SWIG_Error(SWIG_AttributeError,"Variable GLCanvasNameStr is read-only.");
2719 return 1;
cbd72d4f
RD
2720}
2721
2722
1bd55598
RD
2723SWIGINTERN PyObject *GLCanvasNameStr_get(void) {
2724 PyObject *pyobj = 0;
2725
2726 {
cbd72d4f 2727#if wxUSE_UNICODE
1bd55598 2728 pyobj = PyUnicode_FromWideChar((&wxPyGLCanvasNameStr)->c_str(), (&wxPyGLCanvasNameStr)->Len());
cbd72d4f 2729#else
1bd55598 2730 pyobj = PyString_FromStringAndSize((&wxPyGLCanvasNameStr)->c_str(), (&wxPyGLCanvasNameStr)->Len());
cbd72d4f 2731#endif
1bd55598
RD
2732 }
2733 return pyobj;
2734}
2735
2736
2737SWIGINTERN PyObject *_wrap_new_GLContext(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
2738 PyObject *resultobj = 0;
b4aa9fec
RD
2739 wxGLCanvas *arg1 = (wxGLCanvas *) 0 ;
2740 wxGLContext *arg2 = (wxGLContext *) NULL ;
1bd55598 2741 wxGLContext *result = 0 ;
b4aa9fec
RD
2742 void *argp1 = 0 ;
2743 int res1 = 0 ;
1bd55598
RD
2744 void *argp2 = 0 ;
2745 int res2 = 0 ;
1bd55598
RD
2746 PyObject * obj0 = 0 ;
2747 PyObject * obj1 = 0 ;
1bd55598 2748 char * kwnames[] = {
b4aa9fec 2749 (char *) "win",(char *) "other", NULL
1bd55598
RD
2750 };
2751
b4aa9fec
RD
2752 if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|O:new_GLContext",kwnames,&obj0,&obj1)) SWIG_fail;
2753 res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_wxGLCanvas, 0 | 0 );
2754 if (!SWIG_IsOK(res1)) {
2755 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_GLContext" "', expected argument " "1"" of type '" "wxGLCanvas *""'");
1bd55598 2756 }
b4aa9fec
RD
2757 arg1 = reinterpret_cast< wxGLCanvas * >(argp1);
2758 if (obj1) {
2759 res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_wxGLContext, 0 | 0 );
2760 if (!SWIG_IsOK(res2)) {
2761 SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_GLContext" "', expected argument " "2"" of type '" "wxGLContext const *""'");
d14a1e28 2762 }
b4aa9fec 2763 arg2 = reinterpret_cast< wxGLContext * >(argp2);
1bd55598
RD
2764 }
2765 {
2766 if (!wxPyCheckForApp()) SWIG_fail;
2767 PyThreadState* __tstate = wxPyBeginAllowThreads();
b4aa9fec 2768 result = (wxGLContext *)new wxGLContext(arg1,(wxGLContext const *)arg2);
1bd55598
RD
2769 wxPyEndAllowThreads(__tstate);
2770 if (PyErr_Occurred()) SWIG_fail;
2771 }
2772 resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_wxGLContext, SWIG_POINTER_NEW | 0 );
2773 return resultobj;
2774fail:
2775 return NULL;
d14a1e28
RD
2776}
2777
2778
1bd55598
RD
2779SWIGINTERN PyObject *_wrap_delete_GLContext(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
2780 PyObject *resultobj = 0;
2781 wxGLContext *arg1 = (wxGLContext *) 0 ;
2782 void *argp1 = 0 ;
2783 int res1 = 0 ;
2784 PyObject *swig_obj[1] ;
2785
2786 if (!args) SWIG_fail;
2787 swig_obj[0] = args;
2788 res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_wxGLContext, SWIG_POINTER_DISOWN | 0 );
2789 if (!SWIG_IsOK(res1)) {
2790 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_GLContext" "', expected argument " "1"" of type '" "wxGLContext *""'");
2791 }
2792 arg1 = reinterpret_cast< wxGLContext * >(argp1);
2793 {
2794 PyThreadState* __tstate = wxPyBeginAllowThreads();
2795 delete arg1;
d14a1e28 2796
1bd55598
RD
2797 wxPyEndAllowThreads(__tstate);
2798 if (PyErr_Occurred()) SWIG_fail;
2799 }
2800 resultobj = SWIG_Py_Void();
2801 return resultobj;
2802fail:
2803 return NULL;
d14a1e28
RD
2804}
2805
2806
1bd55598
RD
2807SWIGINTERN PyObject *GLContext_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
2808 PyObject *obj;
2809 if (!SWIG_Python_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL;
2810 SWIG_TypeNewClientData(SWIGTYPE_p_wxGLContext, SWIG_NewClientData(obj));
2811 return SWIG_Py_Void();
2812}
2813
2814SWIGINTERN PyObject *GLContext_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
2815 return SWIG_Python_InitShadowInstance(args);
2816}
2817
2818SWIGINTERN PyObject *_wrap_new_GLCanvas(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
2819 PyObject *resultobj = 0;
2820 wxWindow *arg1 = (wxWindow *) 0 ;
2821 int arg2 = (int) -1 ;
b4aa9fec
RD
2822 int *arg3 = (int *) NULL ;
2823 wxPoint const &arg4_defvalue = wxDefaultPosition ;
2824 wxPoint *arg4 = (wxPoint *) &arg4_defvalue ;
2825 wxSize const &arg5_defvalue = wxDefaultSize ;
2826 wxSize *arg5 = (wxSize *) &arg5_defvalue ;
2827 long arg6 = (long) 0 ;
2828 wxString const &arg7_defvalue = wxPyGLCanvasNameStr ;
2829 wxString *arg7 = (wxString *) &arg7_defvalue ;
1bd55598
RD
2830 wxPalette const &arg8_defvalue = wxNullPalette ;
2831 wxPalette *arg8 = (wxPalette *) &arg8_defvalue ;
2832 wxGLCanvas *result = 0 ;
2833 void *argp1 = 0 ;
2834 int res1 = 0 ;
2835 int val2 ;
2836 int ecode2 = 0 ;
b4aa9fec
RD
2837 int *temp3 ;
2838 wxPoint temp4 ;
2839 wxSize temp5 ;
2840 long val6 ;
2841 int ecode6 = 0 ;
2842 bool temp7 = false ;
1bd55598
RD
2843 void *argp8 = 0 ;
2844 int res8 = 0 ;
2845 PyObject * obj0 = 0 ;
2846 PyObject * obj1 = 0 ;
2847 PyObject * obj2 = 0 ;
2848 PyObject * obj3 = 0 ;
2849 PyObject * obj4 = 0 ;
2850 PyObject * obj5 = 0 ;
2851 PyObject * obj6 = 0 ;
2852 PyObject * obj7 = 0 ;
2853 char * kwnames[] = {
b4aa9fec 2854 (char *) "parent",(char *) "id",(char *) "attribList",(char *) "pos",(char *) "size",(char *) "style",(char *) "name",(char *) "palette", NULL
1bd55598
RD
2855 };
2856
2857 if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|OOOOOOO:new_GLCanvas",kwnames,&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7)) SWIG_fail;
2858 res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_wxWindow, 0 | 0 );
2859 if (!SWIG_IsOK(res1)) {
2860 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_GLCanvas" "', expected argument " "1"" of type '" "wxWindow *""'");
2861 }
2862 arg1 = reinterpret_cast< wxWindow * >(argp1);
2863 if (obj1) {
2864 ecode2 = SWIG_AsVal_int(obj1, &val2);
2865 if (!SWIG_IsOK(ecode2)) {
2866 SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_GLCanvas" "', expected argument " "2"" of type '" "int""'");
2867 }
2868 arg2 = static_cast< int >(val2);
2869 }
2870 if (obj2) {
d14a1e28 2871 {
b4aa9fec
RD
2872 int i;
2873 if (PySequence_Check(obj2)) {
2874 int size = PyObject_Length(obj2);
2875 temp3 = new int[size+1]; // (int*)malloc((size + 1) * sizeof(int));
2876 for (i = 0; i < size; i++) {
2877 temp3[i] = PyInt_AsLong(PySequence_GetItem(obj2, i));
2878 }
2879 temp3[size] = 0;
2880 arg3 = temp3;
2881 }
d14a1e28 2882 }
1bd55598
RD
2883 }
2884 if (obj3) {
d14a1e28 2885 {
1bd55598 2886 arg4 = &temp4;
b4aa9fec 2887 if ( ! wxPoint_helper(obj3, &arg4)) SWIG_fail;
d14a1e28 2888 }
1bd55598
RD
2889 }
2890 if (obj4) {
d14a1e28 2891 {
b4aa9fec
RD
2892 arg5 = &temp5;
2893 if ( ! wxSize_helper(obj4, &arg5)) SWIG_fail;
d14a1e28 2894 }
1bd55598 2895 }
b4aa9fec
RD
2896 if (obj5) {
2897 ecode6 = SWIG_AsVal_long(obj5, &val6);
2898 if (!SWIG_IsOK(ecode6)) {
2899 SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "new_GLCanvas" "', expected argument " "6"" of type '" "long""'");
2900 }
2901 arg6 = static_cast< long >(val6);
2902 }
1bd55598 2903 if (obj6) {
d14a1e28 2904 {
b4aa9fec
RD
2905 arg7 = wxString_in_helper(obj6);
2906 if (arg7 == NULL) SWIG_fail;
2907 temp7 = true;
8edf1c75 2908 }
1bd55598
RD
2909 }
2910 if (obj7) {
2911 res8 = SWIG_ConvertPtr(obj7, &argp8, SWIGTYPE_p_wxPalette, 0 | 0);
2912 if (!SWIG_IsOK(res8)) {
2913 SWIG_exception_fail(SWIG_ArgError(res8), "in method '" "new_GLCanvas" "', expected argument " "8"" of type '" "wxPalette const &""'");
d14a1e28 2914 }
1bd55598
RD
2915 if (!argp8) {
2916 SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_GLCanvas" "', expected argument " "8"" of type '" "wxPalette const &""'");
d14a1e28 2917 }
1bd55598
RD
2918 arg8 = reinterpret_cast< wxPalette * >(argp8);
2919 }
2920 {
2921 if (!wxPyCheckForApp()) SWIG_fail;
2922 PyThreadState* __tstate = wxPyBeginAllowThreads();
b4aa9fec 2923 result = (wxGLCanvas *)new wxGLCanvas(arg1,arg2,(int const *)arg3,(wxPoint const &)*arg4,(wxSize const &)*arg5,arg6,(wxString const &)*arg7,(wxPalette const &)*arg8);
1bd55598
RD
2924 wxPyEndAllowThreads(__tstate);
2925 if (PyErr_Occurred()) SWIG_fail;
2926 }
2927 resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_wxGLCanvas, SWIG_POINTER_NEW | 0 );
2928 {
b4aa9fec 2929 delete [] arg3;
1bd55598
RD
2930 }
2931 {
b4aa9fec
RD
2932 if (temp7)
2933 delete arg7;
1bd55598
RD
2934 }
2935 return resultobj;
2936fail:
2937 {
b4aa9fec 2938 delete [] arg3;
1bd55598
RD
2939 }
2940 {
b4aa9fec
RD
2941 if (temp7)
2942 delete arg7;
2943 }
2944 return NULL;
2945}
2946
2947
2948SWIGINTERN PyObject *_wrap_GLCanvas_Create(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
2949 PyObject *resultobj = 0;
2950 wxGLCanvas *arg1 = (wxGLCanvas *) 0 ;
2951 wxWindow *arg2 = (wxWindow *) 0 ;
2952 int arg3 = (int) wxID_ANY ;
2953 wxPoint const &arg4_defvalue = wxDefaultPosition ;
2954 wxPoint *arg4 = (wxPoint *) &arg4_defvalue ;
2955 wxSize const &arg5_defvalue = wxDefaultSize ;
2956 wxSize *arg5 = (wxSize *) &arg5_defvalue ;
2957 long arg6 = (long) 0 ;
2958 wxString const &arg7_defvalue = wxGLCanvasName ;
2959 wxString *arg7 = (wxString *) &arg7_defvalue ;
2960 int *arg8 = (int *) NULL ;
2961 wxPalette const &arg9_defvalue = wxNullPalette ;
2962 wxPalette *arg9 = (wxPalette *) &arg9_defvalue ;
2963 bool result;
2964 void *argp1 = 0 ;
2965 int res1 = 0 ;
2966 void *argp2 = 0 ;
2967 int res2 = 0 ;
2968 int val3 ;
2969 int ecode3 = 0 ;
2970 wxPoint temp4 ;
2971 wxSize temp5 ;
2972 long val6 ;
2973 int ecode6 = 0 ;
2974 bool temp7 = false ;
2975 int *temp8 ;
2976 void *argp9 = 0 ;
2977 int res9 = 0 ;
2978 PyObject * obj0 = 0 ;
2979 PyObject * obj1 = 0 ;
2980 PyObject * obj2 = 0 ;
2981 PyObject * obj3 = 0 ;
2982 PyObject * obj4 = 0 ;
2983 PyObject * obj5 = 0 ;
2984 PyObject * obj6 = 0 ;
2985 PyObject * obj7 = 0 ;
2986 PyObject * obj8 = 0 ;
2987 char * kwnames[] = {
2988 (char *) "self",(char *) "parent",(char *) "id",(char *) "pos",(char *) "size",(char *) "style",(char *) "name",(char *) "attribList",(char *) "palette", NULL
2989 };
2990
2991 if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|OOOOOOO:GLCanvas_Create",kwnames,&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8)) SWIG_fail;
2992 res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_wxGLCanvas, 0 | 0 );
2993 if (!SWIG_IsOK(res1)) {
2994 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "GLCanvas_Create" "', expected argument " "1"" of type '" "wxGLCanvas *""'");
2995 }
2996 arg1 = reinterpret_cast< wxGLCanvas * >(argp1);
2997 res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_wxWindow, 0 | 0 );
2998 if (!SWIG_IsOK(res2)) {
2999 SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "GLCanvas_Create" "', expected argument " "2"" of type '" "wxWindow *""'");
3000 }
3001 arg2 = reinterpret_cast< wxWindow * >(argp2);
3002 if (obj2) {
3003 ecode3 = SWIG_AsVal_int(obj2, &val3);
3004 if (!SWIG_IsOK(ecode3)) {
3005 SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "GLCanvas_Create" "', expected argument " "3"" of type '" "int""'");
3006 }
3007 arg3 = static_cast< int >(val3);
3008 }
3009 if (obj3) {
3010 {
3011 arg4 = &temp4;
3012 if ( ! wxPoint_helper(obj3, &arg4)) SWIG_fail;
3013 }
3014 }
3015 if (obj4) {
3016 {
3017 arg5 = &temp5;
3018 if ( ! wxSize_helper(obj4, &arg5)) SWIG_fail;
3019 }
3020 }
3021 if (obj5) {
3022 ecode6 = SWIG_AsVal_long(obj5, &val6);
3023 if (!SWIG_IsOK(ecode6)) {
3024 SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "GLCanvas_Create" "', expected argument " "6"" of type '" "long""'");
3025 }
3026 arg6 = static_cast< long >(val6);
3027 }
3028 if (obj6) {
3029 {
3030 arg7 = wxString_in_helper(obj6);
3031 if (arg7 == NULL) SWIG_fail;
3032 temp7 = true;
3033 }
3034 }
3035 if (obj7) {
3036 {
3037 int i;
3038 if (PySequence_Check(obj7)) {
3039 int size = PyObject_Length(obj7);
3040 temp8 = new int[size+1]; // (int*)malloc((size + 1) * sizeof(int));
3041 for (i = 0; i < size; i++) {
3042 temp8[i] = PyInt_AsLong(PySequence_GetItem(obj7, i));
3043 }
3044 temp8[size] = 0;
3045 arg8 = temp8;
3046 }
3047 }
3048 }
3049 if (obj8) {
3050 res9 = SWIG_ConvertPtr(obj8, &argp9, SWIGTYPE_p_wxPalette, 0 | 0);
3051 if (!SWIG_IsOK(res9)) {
3052 SWIG_exception_fail(SWIG_ArgError(res9), "in method '" "GLCanvas_Create" "', expected argument " "9"" of type '" "wxPalette const &""'");
3053 }
3054 if (!argp9) {
3055 SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "GLCanvas_Create" "', expected argument " "9"" of type '" "wxPalette const &""'");
3056 }
3057 arg9 = reinterpret_cast< wxPalette * >(argp9);
3058 }
3059 {
3060 PyThreadState* __tstate = wxPyBeginAllowThreads();
3061 result = (bool)(arg1)->Create(arg2,arg3,(wxPoint const &)*arg4,(wxSize const &)*arg5,arg6,(wxString const &)*arg7,(int const *)arg8,(wxPalette const &)*arg9);
3062 wxPyEndAllowThreads(__tstate);
3063 if (PyErr_Occurred()) SWIG_fail;
3064 }
3065 {
3066 resultobj = result ? Py_True : Py_False; Py_INCREF(resultobj);
3067 }
3068 {
3069 if (temp7)
3070 delete arg7;
3071 }
3072 {
3073 delete [] arg8;
3074 }
3075 return resultobj;
3076fail:
3077 {
3078 if (temp7)
3079 delete arg7;
3080 }
3081 {
3082 delete [] arg8;
1bd55598
RD
3083 }
3084 return NULL;
3085}
3086
3087
3088SWIGINTERN PyObject *_wrap_new_GLCanvasWithContext(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
3089 PyObject *resultobj = 0;
3090 wxWindow *arg1 = (wxWindow *) 0 ;
3091 wxGLContext *arg2 = (wxGLContext *) NULL ;
3092 int arg3 = (int) -1 ;
3093 wxPoint const &arg4_defvalue = wxDefaultPosition ;
3094 wxPoint *arg4 = (wxPoint *) &arg4_defvalue ;
3095 wxSize const &arg5_defvalue = wxDefaultSize ;
3096 wxSize *arg5 = (wxSize *) &arg5_defvalue ;
3097 long arg6 = (long) 0 ;
3098 wxString const &arg7_defvalue = wxPyGLCanvasNameStr ;
3099 wxString *arg7 = (wxString *) &arg7_defvalue ;
3100 int *arg8 = (int *) NULL ;
3101 wxPalette const &arg9_defvalue = wxNullPalette ;
3102 wxPalette *arg9 = (wxPalette *) &arg9_defvalue ;
3103 wxGLCanvas *result = 0 ;
3104 void *argp1 = 0 ;
3105 int res1 = 0 ;
3106 void *argp2 = 0 ;
3107 int res2 = 0 ;
3108 int val3 ;
3109 int ecode3 = 0 ;
3110 wxPoint temp4 ;
3111 wxSize temp5 ;
3112 long val6 ;
3113 int ecode6 = 0 ;
3114 bool temp7 = false ;
3115 int *temp8 ;
3116 void *argp9 = 0 ;
3117 int res9 = 0 ;
3118 PyObject * obj0 = 0 ;
3119 PyObject * obj1 = 0 ;
3120 PyObject * obj2 = 0 ;
3121 PyObject * obj3 = 0 ;
3122 PyObject * obj4 = 0 ;
3123 PyObject * obj5 = 0 ;
3124 PyObject * obj6 = 0 ;
3125 PyObject * obj7 = 0 ;
3126 PyObject * obj8 = 0 ;
3127 char * kwnames[] = {
3128 (char *) "parent",(char *) "shared",(char *) "id",(char *) "pos",(char *) "size",(char *) "style",(char *) "name",(char *) "attribList",(char *) "palette", NULL
3129 };
3130
3131 if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|OOOOOOOO:new_GLCanvasWithContext",kwnames,&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8)) SWIG_fail;
3132 res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_wxWindow, 0 | 0 );
3133 if (!SWIG_IsOK(res1)) {
3134 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_GLCanvasWithContext" "', expected argument " "1"" of type '" "wxWindow *""'");
3135 }
3136 arg1 = reinterpret_cast< wxWindow * >(argp1);
3137 if (obj1) {
3138 res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_wxGLContext, 0 | 0 );
3139 if (!SWIG_IsOK(res2)) {
3140 SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_GLCanvasWithContext" "', expected argument " "2"" of type '" "wxGLContext const *""'");
d14a1e28 3141 }
1bd55598
RD
3142 arg2 = reinterpret_cast< wxGLContext * >(argp2);
3143 }
3144 if (obj2) {
3145 ecode3 = SWIG_AsVal_int(obj2, &val3);
3146 if (!SWIG_IsOK(ecode3)) {
3147 SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "new_GLCanvasWithContext" "', expected argument " "3"" of type '" "int""'");
3148 }
3149 arg3 = static_cast< int >(val3);
3150 }
3151 if (obj3) {
d14a1e28 3152 {
1bd55598
RD
3153 arg4 = &temp4;
3154 if ( ! wxPoint_helper(obj3, &arg4)) SWIG_fail;
d14a1e28 3155 }
1bd55598
RD
3156 }
3157 if (obj4) {
d14a1e28 3158 {
1bd55598
RD
3159 arg5 = &temp5;
3160 if ( ! wxSize_helper(obj4, &arg5)) SWIG_fail;
d14a1e28 3161 }
1bd55598
RD
3162 }
3163 if (obj5) {
3164 ecode6 = SWIG_AsVal_long(obj5, &val6);
3165 if (!SWIG_IsOK(ecode6)) {
3166 SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "new_GLCanvasWithContext" "', expected argument " "6"" of type '" "long""'");
3167 }
3168 arg6 = static_cast< long >(val6);
3169 }
3170 if (obj6) {
d14a1e28 3171 {
1bd55598
RD
3172 arg7 = wxString_in_helper(obj6);
3173 if (arg7 == NULL) SWIG_fail;
3174 temp7 = true;
d14a1e28 3175 }
1bd55598
RD
3176 }
3177 if (obj7) {
d14a1e28 3178 {
1bd55598
RD
3179 int i;
3180 if (PySequence_Check(obj7)) {
3181 int size = PyObject_Length(obj7);
3182 temp8 = new int[size+1]; // (int*)malloc((size + 1) * sizeof(int));
3183 for (i = 0; i < size; i++) {
3184 temp8[i] = PyInt_AsLong(PySequence_GetItem(obj7, i));
3185 }
3186 temp8[size] = 0;
3187 arg8 = temp8;
3188 }
d14a1e28 3189 }
1bd55598
RD
3190 }
3191 if (obj8) {
3192 res9 = SWIG_ConvertPtr(obj8, &argp9, SWIGTYPE_p_wxPalette, 0 | 0);
3193 if (!SWIG_IsOK(res9)) {
3194 SWIG_exception_fail(SWIG_ArgError(res9), "in method '" "new_GLCanvasWithContext" "', expected argument " "9"" of type '" "wxPalette const &""'");
3195 }
3196 if (!argp9) {
3197 SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_GLCanvasWithContext" "', expected argument " "9"" of type '" "wxPalette const &""'");
3198 }
3199 arg9 = reinterpret_cast< wxPalette * >(argp9);
3200 }
3201 {
3202 if (!wxPyCheckForApp()) SWIG_fail;
3203 PyThreadState* __tstate = wxPyBeginAllowThreads();
b4aa9fec 3204 result = (wxGLCanvas *)new wxGLCanvas(arg1,(wxGLContext const *)arg2,arg3,(wxPoint const &)*arg4,(wxSize const &)*arg5,arg6,(wxString const &)*arg7,(int const *)arg8,(wxPalette const &)*arg9);
1bd55598
RD
3205 wxPyEndAllowThreads(__tstate);
3206 if (PyErr_Occurred()) SWIG_fail;
3207 }
3208 resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_wxGLCanvas, SWIG_POINTER_OWN | 0 );
3209 {
3210 if (temp7)
3211 delete arg7;
3212 }
3213 {
3214 delete [] arg8;
3215 }
3216 return resultobj;
3217fail:
3218 {
3219 if (temp7)
3220 delete arg7;
3221 }
3222 {
3223 delete [] arg8;
3224 }
3225 return NULL;
d14a1e28
RD
3226}
3227
3228
b4aa9fec 3229SWIGINTERN PyObject *_wrap_GLCanvas_SetCurrent__SWIG_0(PyObject *SWIGUNUSEDPARM(self), int nobjs, PyObject **swig_obj) {
1bd55598
RD
3230 PyObject *resultobj = 0;
3231 wxGLCanvas *arg1 = (wxGLCanvas *) 0 ;
b4aa9fec 3232 wxGLContext *arg2 = 0 ;
1bd55598
RD
3233 void *argp1 = 0 ;
3234 int res1 = 0 ;
b4aa9fec
RD
3235 void *argp2 = 0 ;
3236 int res2 = 0 ;
1bd55598 3237
b4aa9fec 3238 if ((nobjs < 2) || (nobjs > 2)) SWIG_fail;
1bd55598
RD
3239 res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_wxGLCanvas, 0 | 0 );
3240 if (!SWIG_IsOK(res1)) {
3241 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "GLCanvas_SetCurrent" "', expected argument " "1"" of type '" "wxGLCanvas *""'");
3242 }
3243 arg1 = reinterpret_cast< wxGLCanvas * >(argp1);
b4aa9fec
RD
3244 res2 = SWIG_ConvertPtr(swig_obj[1], &argp2, SWIGTYPE_p_wxGLContext, 0 | 0);
3245 if (!SWIG_IsOK(res2)) {
3246 SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "GLCanvas_SetCurrent" "', expected argument " "2"" of type '" "wxGLContext const &""'");
3247 }
3248 if (!argp2) {
3249 SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "GLCanvas_SetCurrent" "', expected argument " "2"" of type '" "wxGLContext const &""'");
3250 }
3251 arg2 = reinterpret_cast< wxGLContext * >(argp2);
1bd55598
RD
3252 {
3253 PyThreadState* __tstate = wxPyBeginAllowThreads();
b4aa9fec 3254 (arg1)->SetCurrent((wxGLContext const &)*arg2);
1bd55598
RD
3255 wxPyEndAllowThreads(__tstate);
3256 if (PyErr_Occurred()) SWIG_fail;
3257 }
3258 resultobj = SWIG_Py_Void();
3259 return resultobj;
3260fail:
3261 return NULL;
3262}
3263
3264
3265SWIGINTERN PyObject *_wrap_GLCanvas_SetColour(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
3266 PyObject *resultobj = 0;
3267 wxGLCanvas *arg1 = (wxGLCanvas *) 0 ;
3268 wxString *arg2 = 0 ;
3269 void *argp1 = 0 ;
3270 int res1 = 0 ;
3271 bool temp2 = false ;
3272 PyObject * obj0 = 0 ;
3273 PyObject * obj1 = 0 ;
3274 char * kwnames[] = {
3275 (char *) "self",(char *) "colour", NULL
3276 };
3277
3278 if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:GLCanvas_SetColour",kwnames,&obj0,&obj1)) SWIG_fail;
3279 res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_wxGLCanvas, 0 | 0 );
3280 if (!SWIG_IsOK(res1)) {
3281 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "GLCanvas_SetColour" "', expected argument " "1"" of type '" "wxGLCanvas *""'");
3282 }
3283 arg1 = reinterpret_cast< wxGLCanvas * >(argp1);
3284 {
3285 arg2 = wxString_in_helper(obj1);
3286 if (arg2 == NULL) SWIG_fail;
3287 temp2 = true;
3288 }
3289 {
3290 PyThreadState* __tstate = wxPyBeginAllowThreads();
3291 (arg1)->SetColour((wxString const &)*arg2);
3292 wxPyEndAllowThreads(__tstate);
3293 if (PyErr_Occurred()) SWIG_fail;
3294 }
3295 resultobj = SWIG_Py_Void();
3296 {
3297 if (temp2)
3298 delete arg2;
3299 }
3300 return resultobj;
3301fail:
3302 {
3303 if (temp2)
3304 delete arg2;
3305 }
3306 return NULL;
d14a1e28
RD
3307}
3308
3309
1bd55598
RD
3310SWIGINTERN PyObject *_wrap_GLCanvas_SwapBuffers(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
3311 PyObject *resultobj = 0;
3312 wxGLCanvas *arg1 = (wxGLCanvas *) 0 ;
3313 void *argp1 = 0 ;
3314 int res1 = 0 ;
3315 PyObject *swig_obj[1] ;
3316
3317 if (!args) SWIG_fail;
3318 swig_obj[0] = args;
3319 res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_wxGLCanvas, 0 | 0 );
3320 if (!SWIG_IsOK(res1)) {
3321 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "GLCanvas_SwapBuffers" "', expected argument " "1"" of type '" "wxGLCanvas *""'");
3322 }
3323 arg1 = reinterpret_cast< wxGLCanvas * >(argp1);
3324 {
3325 PyThreadState* __tstate = wxPyBeginAllowThreads();
3326 (arg1)->SwapBuffers();
3327 wxPyEndAllowThreads(__tstate);
3328 if (PyErr_Occurred()) SWIG_fail;
3329 }
3330 resultobj = SWIG_Py_Void();
3331 return resultobj;
3332fail:
3333 return NULL;
d14a1e28
RD
3334}
3335
3336
1bd55598
RD
3337SWIGINTERN PyObject *_wrap_GLCanvas_GetContext(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
3338 PyObject *resultobj = 0;
3339 wxGLCanvas *arg1 = (wxGLCanvas *) 0 ;
3340 wxGLContext *result = 0 ;
3341 void *argp1 = 0 ;
3342 int res1 = 0 ;
3343 PyObject *swig_obj[1] ;
3344
3345 if (!args) SWIG_fail;
3346 swig_obj[0] = args;
3347 res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_wxGLCanvas, 0 | 0 );
3348 if (!SWIG_IsOK(res1)) {
3349 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "GLCanvas_GetContext" "', expected argument " "1"" of type '" "wxGLCanvas *""'");
3350 }
3351 arg1 = reinterpret_cast< wxGLCanvas * >(argp1);
3352 {
3353 PyThreadState* __tstate = wxPyBeginAllowThreads();
3354 result = (wxGLContext *)(arg1)->GetContext();
3355 wxPyEndAllowThreads(__tstate);
3356 if (PyErr_Occurred()) SWIG_fail;
3357 }
3358 resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_wxGLContext, 0 | 0 );
3359 return resultobj;
3360fail:
3361 return NULL;
d14a1e28
RD
3362}
3363
3364
b4aa9fec
RD
3365SWIGINTERN PyObject *_wrap_GLCanvas_SetCurrent__SWIG_1(PyObject *SWIGUNUSEDPARM(self), int nobjs, PyObject **swig_obj) {
3366 PyObject *resultobj = 0;
3367 wxGLCanvas *arg1 = (wxGLCanvas *) 0 ;
3368 void *argp1 = 0 ;
3369 int res1 = 0 ;
3370
3371 if ((nobjs < 1) || (nobjs > 1)) SWIG_fail;
3372 res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_wxGLCanvas, 0 | 0 );
3373 if (!SWIG_IsOK(res1)) {
3374 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "GLCanvas_SetCurrent" "', expected argument " "1"" of type '" "wxGLCanvas *""'");
3375 }
3376 arg1 = reinterpret_cast< wxGLCanvas * >(argp1);
3377 {
3378 PyThreadState* __tstate = wxPyBeginAllowThreads();
3379 (arg1)->SetCurrent();
3380 wxPyEndAllowThreads(__tstate);
3381 if (PyErr_Occurred()) SWIG_fail;
3382 }
3383 resultobj = SWIG_Py_Void();
3384 return resultobj;
3385fail:
3386 return NULL;
3387}
3388
3389
3390SWIGINTERN PyObject *_wrap_GLCanvas_SetCurrent(PyObject *self, PyObject *args) {
3391 int argc;
3392 PyObject *argv[3];
3393
3394 if (!(argc = SWIG_Python_UnpackTuple(args,"GLCanvas_SetCurrent",0,2,argv))) SWIG_fail;
3395 --argc;
3396 if (argc == 1) {
3397 return _wrap_GLCanvas_SetCurrent__SWIG_1(self, argc, argv);
3398 }
3399 if (argc == 2) {
3400 return _wrap_GLCanvas_SetCurrent__SWIG_0(self, argc, argv);
3401 }
3402
3403fail:
3404 SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'GLCanvas_SetCurrent'");
3405 return NULL;
3406}
3407
3408
1bd55598
RD
3409SWIGINTERN PyObject *GLCanvas_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
3410 PyObject *obj;
3411 if (!SWIG_Python_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL;
3412 SWIG_TypeNewClientData(SWIGTYPE_p_wxGLCanvas, SWIG_NewClientData(obj));
3413 return SWIG_Py_Void();
d14a1e28
RD
3414}
3415
1bd55598
RD
3416SWIGINTERN PyObject *GLCanvas_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
3417 return SWIG_Python_InitShadowInstance(args);
d14a1e28 3418}
1bd55598 3419
d14a1e28 3420static PyMethodDef SwigMethods[] = {
36ed4f51 3421 { (char *)"new_GLContext", (PyCFunction) _wrap_new_GLContext, METH_VARARGS | METH_KEYWORDS, NULL},
1bd55598 3422 { (char *)"delete_GLContext", (PyCFunction)_wrap_delete_GLContext, METH_O, NULL},
36ed4f51 3423 { (char *)"GLContext_swigregister", GLContext_swigregister, METH_VARARGS, NULL},
1bd55598 3424 { (char *)"GLContext_swiginit", GLContext_swiginit, METH_VARARGS, NULL},
36ed4f51 3425 { (char *)"new_GLCanvas", (PyCFunction) _wrap_new_GLCanvas, METH_VARARGS | METH_KEYWORDS, NULL},
b4aa9fec 3426 { (char *)"GLCanvas_Create", (PyCFunction) _wrap_GLCanvas_Create, METH_VARARGS | METH_KEYWORDS, NULL},
36ed4f51 3427 { (char *)"new_GLCanvasWithContext", (PyCFunction) _wrap_new_GLCanvasWithContext, METH_VARARGS | METH_KEYWORDS, NULL},
36ed4f51 3428 { (char *)"GLCanvas_SetColour", (PyCFunction) _wrap_GLCanvas_SetColour, METH_VARARGS | METH_KEYWORDS, NULL},
1bd55598
RD
3429 { (char *)"GLCanvas_SwapBuffers", (PyCFunction)_wrap_GLCanvas_SwapBuffers, METH_O, NULL},
3430 { (char *)"GLCanvas_GetContext", (PyCFunction)_wrap_GLCanvas_GetContext, METH_O, NULL},
b4aa9fec 3431 { (char *)"GLCanvas_SetCurrent", _wrap_GLCanvas_SetCurrent, METH_VARARGS, NULL},
36ed4f51 3432 { (char *)"GLCanvas_swigregister", GLCanvas_swigregister, METH_VARARGS, NULL},
1bd55598 3433 { (char *)"GLCanvas_swiginit", GLCanvas_swiginit, METH_VARARGS, NULL},
c370783e 3434 { NULL, NULL, 0, NULL }
d14a1e28
RD
3435};
3436
3437
3438/* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */
3439
d14a1e28
RD
3440static void *_p_wxLayoutConstraintsTo_p_wxObject(void *x) {
3441 return (void *)((wxObject *) ((wxLayoutConstraints *) x));
3442}
4976f996
RD
3443static void *_p_wxEventBlockerTo_p_wxObject(void *x) {
3444 return (void *)((wxObject *) (wxEvtHandler *) ((wxEventBlocker *) x));
3445}
d14a1e28
RD
3446static void *_p_wxSizerItemTo_p_wxObject(void *x) {
3447 return (void *)((wxObject *) ((wxSizerItem *) x));
3448}
34e0a3bb
RD
3449static void *_p_wxGBSizerItemTo_p_wxObject(void *x) {
3450 return (void *)((wxObject *) (wxSizerItem *) ((wxGBSizerItem *) x));
3451}
d14a1e28
RD
3452static void *_p_wxScrollEventTo_p_wxObject(void *x) {
3453 return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxScrollEvent *) x));
3454}
3455static void *_p_wxIndividualLayoutConstraintTo_p_wxObject(void *x) {
3456 return (void *)((wxObject *) ((wxIndividualLayoutConstraint *) x));
3457}
3458static void *_p_wxStaticBoxSizerTo_p_wxObject(void *x) {
3459 return (void *)((wxObject *) (wxSizer *)(wxBoxSizer *) ((wxStaticBoxSizer *) x));
3460}
3461static void *_p_wxBoxSizerTo_p_wxObject(void *x) {
3462 return (void *)((wxObject *) (wxSizer *) ((wxBoxSizer *) x));
3463}
3464static void *_p_wxSizerTo_p_wxObject(void *x) {
3465 return (void *)((wxObject *) ((wxSizer *) x));
3466}
3467static void *_p_wxGridBagSizerTo_p_wxObject(void *x) {
3468 return (void *)((wxObject *) (wxSizer *)(wxGridSizer *)(wxFlexGridSizer *) ((wxGridBagSizer *) x));
3469}
3470static void *_p_wxUpdateUIEventTo_p_wxObject(void *x) {
3471 return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxUpdateUIEvent *) x));
3472}
3473static void *_p_wxEventTo_p_wxObject(void *x) {
3474 return (void *)((wxObject *) ((wxEvent *) x));
3475}
d14a1e28
RD
3476static void *_p_wxGridSizerTo_p_wxObject(void *x) {
3477 return (void *)((wxObject *) (wxSizer *) ((wxGridSizer *) x));
3478}
4976f996
RD
3479static void *_p_wxFlexGridSizerTo_p_wxObject(void *x) {
3480 return (void *)((wxObject *) (wxSizer *)(wxGridSizer *) ((wxFlexGridSizer *) x));
3481}
d14a1e28
RD
3482static void *_p_wxInitDialogEventTo_p_wxObject(void *x) {
3483 return (void *)((wxObject *) (wxEvent *) ((wxInitDialogEvent *) x));
3484}
2131d850
RD
3485static void *_p_wxClipboardTextEventTo_p_wxObject(void *x) {
3486 return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxClipboardTextEvent *) x));
3487}
d14a1e28
RD
3488static void *_p_wxPaintEventTo_p_wxObject(void *x) {
3489 return (void *)((wxObject *) (wxEvent *) ((wxPaintEvent *) x));
3490}
3491static void *_p_wxNcPaintEventTo_p_wxObject(void *x) {
3492 return (void *)((wxObject *) (wxEvent *) ((wxNcPaintEvent *) x));
3493}
3494static void *_p_wxPaletteChangedEventTo_p_wxObject(void *x) {
3495 return (void *)((wxObject *) (wxEvent *) ((wxPaletteChangedEvent *) x));
3496}
3497static void *_p_wxDisplayChangedEventTo_p_wxObject(void *x) {
3498 return (void *)((wxObject *) (wxEvent *) ((wxDisplayChangedEvent *) x));
3499}
3500static void *_p_wxMouseCaptureChangedEventTo_p_wxObject(void *x) {
3501 return (void *)((wxObject *) (wxEvent *) ((wxMouseCaptureChangedEvent *) x));
3502}
3503static void *_p_wxSysColourChangedEventTo_p_wxObject(void *x) {
3504 return (void *)((wxObject *) (wxEvent *) ((wxSysColourChangedEvent *) x));
3505}
3506static void *_p_wxControlTo_p_wxObject(void *x) {
3507 return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxControl *) x));
3508}
3509static void *_p_wxSetCursorEventTo_p_wxObject(void *x) {
3510 return (void *)((wxObject *) (wxEvent *) ((wxSetCursorEvent *) x));
3511}
3512static void *_p_wxFSFileTo_p_wxObject(void *x) {
3513 return (void *)((wxObject *) ((wxFSFile *) x));
3514}
3515static void *_p_wxPySizerTo_p_wxObject(void *x) {
3516 return (void *)((wxObject *) (wxSizer *) ((wxPySizer *) x));
3517}
3518static void *_p_wxPyEventTo_p_wxObject(void *x) {
3519 return (void *)((wxObject *) (wxEvent *) ((wxPyEvent *) x));
3520}
3521static void *_p_wxNotifyEventTo_p_wxObject(void *x) {
3522 return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxNotifyEvent *) x));
3523}
3524static void *_p_wxGLContextTo_p_wxObject(void *x) {
3525 return (void *)((wxObject *) ((wxGLContext *) x));
3526}
3527static void *_p_wxShowEventTo_p_wxObject(void *x) {
3528 return (void *)((wxObject *) (wxEvent *) ((wxShowEvent *) x));
3529}
3530static void *_p_wxMenuItemTo_p_wxObject(void *x) {
3531 return (void *)((wxObject *) ((wxMenuItem *) x));
3532}
53aa7709
RD
3533static void *_p_wxDateEventTo_p_wxObject(void *x) {
3534 return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxDateEvent *) x));
3535}
d14a1e28
RD
3536static void *_p_wxIdleEventTo_p_wxObject(void *x) {
3537 return (void *)((wxObject *) (wxEvent *) ((wxIdleEvent *) x));
3538}
3539static void *_p_wxWindowCreateEventTo_p_wxObject(void *x) {
3540 return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxWindowCreateEvent *) x));
3541}
3542static void *_p_wxQueryNewPaletteEventTo_p_wxObject(void *x) {
3543 return (void *)((wxObject *) (wxEvent *) ((wxQueryNewPaletteEvent *) x));
3544}
3545static void *_p_wxMaximizeEventTo_p_wxObject(void *x) {
3546 return (void *)((wxObject *) (wxEvent *) ((wxMaximizeEvent *) x));
3547}
3548static void *_p_wxIconizeEventTo_p_wxObject(void *x) {
3549 return (void *)((wxObject *) (wxEvent *) ((wxIconizeEvent *) x));
3550}
3551static void *_p_wxSizeEventTo_p_wxObject(void *x) {
3552 return (void *)((wxObject *) (wxEvent *) ((wxSizeEvent *) x));
3553}
3554static void *_p_wxMoveEventTo_p_wxObject(void *x) {
3555 return (void *)((wxObject *) (wxEvent *) ((wxMoveEvent *) x));
3556}
3557static void *_p_wxActivateEventTo_p_wxObject(void *x) {
3558 return (void *)((wxObject *) (wxEvent *) ((wxActivateEvent *) x));
3559}
d14a1e28
RD
3560static void *_p_wxPNMHandlerTo_p_wxObject(void *x) {
3561 return (void *)((wxObject *) (wxImageHandler *) ((wxPNMHandler *) x));
3562}
3563static void *_p_wxJPEGHandlerTo_p_wxObject(void *x) {
3564 return (void *)((wxObject *) (wxImageHandler *) ((wxJPEGHandler *) x));
3565}
3566static void *_p_wxPCXHandlerTo_p_wxObject(void *x) {
3567 return (void *)((wxObject *) (wxImageHandler *) ((wxPCXHandler *) x));
3568}
3569static void *_p_wxGIFHandlerTo_p_wxObject(void *x) {
3570 return (void *)((wxObject *) (wxImageHandler *) ((wxGIFHandler *) x));
3571}
3572static void *_p_wxPNGHandlerTo_p_wxObject(void *x) {
3573 return (void *)((wxObject *) (wxImageHandler *) ((wxPNGHandler *) x));
3574}
3575static void *_p_wxANIHandlerTo_p_wxObject(void *x) {
3576 return (void *)((wxObject *) (wxImageHandler *)(wxBMPHandler *)(wxICOHandler *)(wxCURHandler *) ((wxANIHandler *) x));
3577}
3578static void *_p_wxCURHandlerTo_p_wxObject(void *x) {
3579 return (void *)((wxObject *) (wxImageHandler *)(wxBMPHandler *)(wxICOHandler *) ((wxCURHandler *) x));
3580}
3581static void *_p_wxICOHandlerTo_p_wxObject(void *x) {
3582 return (void *)((wxObject *) (wxImageHandler *)(wxBMPHandler *) ((wxICOHandler *) x));
3583}
3584static void *_p_wxBMPHandlerTo_p_wxObject(void *x) {
3585 return (void *)((wxObject *) (wxImageHandler *) ((wxBMPHandler *) x));
3586}
943e8dfd
RD
3587static void *_p_wxPyImageHandlerTo_p_wxObject(void *x) {
3588 return (void *)((wxObject *) (wxImageHandler *) ((wxPyImageHandler *) x));
3589}
d14a1e28
RD
3590static void *_p_wxImageHandlerTo_p_wxObject(void *x) {
3591 return (void *)((wxObject *) ((wxImageHandler *) x));
3592}
943e8dfd
RD
3593static void *_p_wxXPMHandlerTo_p_wxObject(void *x) {
3594 return (void *)((wxObject *) (wxImageHandler *) ((wxXPMHandler *) x));
3595}
d14a1e28
RD
3596static void *_p_wxTIFFHandlerTo_p_wxObject(void *x) {
3597 return (void *)((wxObject *) (wxImageHandler *) ((wxTIFFHandler *) x));
3598}
580080c5
RD
3599static void *_p_wxTGAHandlerTo_p_wxObject(void *x) {
3600 return (void *)((wxObject *) (wxImageHandler *) ((wxTGAHandler *) x));
3601}
d14a1e28
RD
3602static void *_p_wxEvtHandlerTo_p_wxObject(void *x) {
3603 return (void *)((wxObject *) ((wxEvtHandler *) x));
3604}
34e0a3bb
RD
3605static void *_p_wxMouseCaptureLostEventTo_p_wxObject(void *x) {
3606 return (void *)((wxObject *) (wxEvent *) ((wxMouseCaptureLostEvent *) x));
3607}
d14a1e28
RD
3608static void *_p_wxGLCanvasTo_p_wxObject(void *x) {
3609 return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxGLCanvas *) x));
3610}
41f1cec7
RD
3611static void *_p_wxAcceleratorTableTo_p_wxObject(void *x) {
3612 return (void *)((wxObject *) ((wxAcceleratorTable *) x));
3613}
580080c5
RD
3614static void *_p_wxStdDialogButtonSizerTo_p_wxObject(void *x) {
3615 return (void *)((wxObject *) (wxSizer *)(wxBoxSizer *) ((wxStdDialogButtonSizer *) x));
3616}
d14a1e28
RD
3617static void *_p_wxImageTo_p_wxObject(void *x) {
3618 return (void *)((wxObject *) ((wxImage *) x));
3619}
3620static void *_p_wxScrollWinEventTo_p_wxObject(void *x) {
3621 return (void *)((wxObject *) (wxEvent *) ((wxScrollWinEvent *) x));
3622}
3623static void *_p_wxWindowDestroyEventTo_p_wxObject(void *x) {
3624 return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxWindowDestroyEvent *) x));
3625}
3626static void *_p_wxNavigationKeyEventTo_p_wxObject(void *x) {
3627 return (void *)((wxObject *) (wxEvent *) ((wxNavigationKeyEvent *) x));
3628}
3629static void *_p_wxKeyEventTo_p_wxObject(void *x) {
3630 return (void *)((wxObject *) (wxEvent *) ((wxKeyEvent *) x));
3631}
3632static void *_p_wxWindowTo_p_wxObject(void *x) {
3633 return (void *)((wxObject *) (wxEvtHandler *) ((wxWindow *) x));
3634}
3635static void *_p_wxMenuTo_p_wxObject(void *x) {
3636 return (void *)((wxObject *) (wxEvtHandler *) ((wxMenu *) x));
3637}
3638static void *_p_wxMenuBarTo_p_wxObject(void *x) {
3639 return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxMenuBar *) x));
3640}
3641static void *_p_wxFileSystemTo_p_wxObject(void *x) {
3642 return (void *)((wxObject *) ((wxFileSystem *) x));
3643}
3644static void *_p_wxContextMenuEventTo_p_wxObject(void *x) {
3645 return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxContextMenuEvent *) x));
3646}
3647static void *_p_wxMenuEventTo_p_wxObject(void *x) {
3648 return (void *)((wxObject *) (wxEvent *) ((wxMenuEvent *) x));
3649}
3650static void *_p_wxPyAppTo_p_wxObject(void *x) {
3651 return (void *)((wxObject *) (wxEvtHandler *) ((wxPyApp *) x));
3652}
3653static void *_p_wxCloseEventTo_p_wxObject(void *x) {
3654 return (void *)((wxObject *) (wxEvent *) ((wxCloseEvent *) x));
3655}
3656static void *_p_wxMouseEventTo_p_wxObject(void *x) {
3657 return (void *)((wxObject *) (wxEvent *) ((wxMouseEvent *) x));
3658}
3659static void *_p_wxEraseEventTo_p_wxObject(void *x) {
3660 return (void *)((wxObject *) (wxEvent *) ((wxEraseEvent *) x));
3661}
3662static void *_p_wxPyCommandEventTo_p_wxObject(void *x) {
3663 return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxPyCommandEvent *) x));
3664}
3665static void *_p_wxCommandEventTo_p_wxObject(void *x) {
3666 return (void *)((wxObject *) (wxEvent *) ((wxCommandEvent *) x));
3667}
3668static void *_p_wxDropFilesEventTo_p_wxObject(void *x) {
3669 return (void *)((wxObject *) (wxEvent *) ((wxDropFilesEvent *) x));
3670}
3671static void *_p_wxFocusEventTo_p_wxObject(void *x) {
3672 return (void *)((wxObject *) (wxEvent *) ((wxFocusEvent *) x));
3673}
3674static void *_p_wxChildFocusEventTo_p_wxObject(void *x) {
3675 return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxChildFocusEvent *) x));
3676}
3677static void *_p_wxControlWithItemsTo_p_wxObject(void *x) {
3678 return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxControlWithItems *) x));
3679}
3680static void *_p_wxPyValidatorTo_p_wxObject(void *x) {
3681 return (void *)((wxObject *) (wxEvtHandler *)(wxValidator *) ((wxPyValidator *) x));
3682}
3683static void *_p_wxValidatorTo_p_wxObject(void *x) {
3684 return (void *)((wxObject *) (wxEvtHandler *) ((wxValidator *) x));
3685}
36ed4f51
RD
3686static void *_p_wxControlTo_p_wxWindow(void *x) {
3687 return (void *)((wxWindow *) ((wxControl *) x));
3688}
3689static void *_p_wxControlWithItemsTo_p_wxWindow(void *x) {
3690 return (void *)((wxWindow *) (wxControl *) ((wxControlWithItems *) x));
3691}
3692static void *_p_wxMenuBarTo_p_wxWindow(void *x) {
3693 return (void *)((wxWindow *) ((wxMenuBar *) x));
3694}
3695static void *_p_wxGLCanvasTo_p_wxWindow(void *x) {
3696 return (void *)((wxWindow *) ((wxGLCanvas *) x));
3697}
d14a1e28
RD
3698static void *_p_wxControlTo_p_wxEvtHandler(void *x) {
3699 return (void *)((wxEvtHandler *) (wxWindow *) ((wxControl *) x));
3700}
3701static void *_p_wxWindowTo_p_wxEvtHandler(void *x) {
3702 return (void *)((wxEvtHandler *) ((wxWindow *) x));
3703}
3704static void *_p_wxControlWithItemsTo_p_wxEvtHandler(void *x) {
3705 return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxControlWithItems *) x));
3706}
3707static void *_p_wxPyAppTo_p_wxEvtHandler(void *x) {
3708 return (void *)((wxEvtHandler *) ((wxPyApp *) x));
3709}
3710static void *_p_wxValidatorTo_p_wxEvtHandler(void *x) {
3711 return (void *)((wxEvtHandler *) ((wxValidator *) x));
3712}
3713static void *_p_wxPyValidatorTo_p_wxEvtHandler(void *x) {
3714 return (void *)((wxEvtHandler *) (wxValidator *) ((wxPyValidator *) x));
3715}
3716static void *_p_wxMenuBarTo_p_wxEvtHandler(void *x) {
3717 return (void *)((wxEvtHandler *) (wxWindow *) ((wxMenuBar *) x));
3718}
3719static void *_p_wxGLCanvasTo_p_wxEvtHandler(void *x) {
3720 return (void *)((wxEvtHandler *) (wxWindow *) ((wxGLCanvas *) x));
3721}
4976f996
RD
3722static void *_p_wxEventBlockerTo_p_wxEvtHandler(void *x) {
3723 return (void *)((wxEvtHandler *) ((wxEventBlocker *) x));
3724}
d14a1e28
RD
3725static void *_p_wxMenuTo_p_wxEvtHandler(void *x) {
3726 return (void *)((wxEvtHandler *) ((wxMenu *) x));
3727}
1bd55598
RD
3728static swig_type_info _swigt__p_char = {"_p_char", "char *", 0, 0, (void*)0, 0};
3729static swig_type_info _swigt__p_form_ops_t = {"_p_form_ops_t", "enum form_ops_t *|form_ops_t *", 0, 0, (void*)0, 0};
3730static swig_type_info _swigt__p_int = {"_p_int", "int *", 0, 0, (void*)0, 0};
3731static swig_type_info _swigt__p_unsigned_char = {"_p_unsigned_char", "unsigned char *|byte *", 0, 0, (void*)0, 0};
3732static swig_type_info _swigt__p_unsigned_int = {"_p_unsigned_int", "unsigned int *|time_t *", 0, 0, (void*)0, 0};
3733static swig_type_info _swigt__p_unsigned_long = {"_p_unsigned_long", "unsigned long *|wxUIntPtr *", 0, 0, (void*)0, 0};
3734static swig_type_info _swigt__p_wxDuplexMode = {"_p_wxDuplexMode", "enum wxDuplexMode *|wxDuplexMode *", 0, 0, (void*)0, 0};
3735static swig_type_info _swigt__p_wxEvtHandler = {"_p_wxEvtHandler", "wxEvtHandler *", 0, 0, (void*)0, 0};
3736static swig_type_info _swigt__p_wxControl = {"_p_wxControl", 0, 0, 0, 0, 0};
3737static swig_type_info _swigt__p_wxControlWithItems = {"_p_wxControlWithItems", 0, 0, 0, 0, 0};
3738static swig_type_info _swigt__p_wxPyApp = {"_p_wxPyApp", 0, 0, 0, 0, 0};
3739static swig_type_info _swigt__p_wxMenuBar = {"_p_wxMenuBar", 0, 0, 0, 0, 0};
3740static swig_type_info _swigt__p_wxValidator = {"_p_wxValidator", 0, 0, 0, 0, 0};
3741static swig_type_info _swigt__p_wxPyValidator = {"_p_wxPyValidator", 0, 0, 0, 0, 0};
3742static swig_type_info _swigt__p_wxMenu = {"_p_wxMenu", 0, 0, 0, 0, 0};
4976f996 3743static swig_type_info _swigt__p_wxEventBlocker = {"_p_wxEventBlocker", 0, 0, 0, 0, 0};
1bd55598
RD
3744static swig_type_info _swigt__p_wxGLCanvas = {"_p_wxGLCanvas", "wxGLCanvas *", 0, 0, (void*)0, 0};
3745static swig_type_info _swigt__p_wxGLContext = {"_p_wxGLContext", "wxGLContext *", 0, 0, (void*)0, 0};
3746static swig_type_info _swigt__p_wxObject = {"_p_wxObject", "wxObject *", 0, 0, (void*)0, 0};
3747static swig_type_info _swigt__p_wxLayoutConstraints = {"_p_wxLayoutConstraints", 0, 0, 0, 0, 0};
1bd55598 3748static swig_type_info _swigt__p_wxSizerItem = {"_p_wxSizerItem", 0, 0, 0, 0, 0};
34e0a3bb 3749static swig_type_info _swigt__p_wxGBSizerItem = {"_p_wxGBSizerItem", 0, 0, 0, 0, 0};
1bd55598
RD
3750static swig_type_info _swigt__p_wxScrollEvent = {"_p_wxScrollEvent", 0, 0, 0, 0, 0};
3751static swig_type_info _swigt__p_wxIndividualLayoutConstraint = {"_p_wxIndividualLayoutConstraint", 0, 0, 0, 0, 0};
3752static swig_type_info _swigt__p_wxStaticBoxSizer = {"_p_wxStaticBoxSizer", 0, 0, 0, 0, 0};
3753static swig_type_info _swigt__p_wxBoxSizer = {"_p_wxBoxSizer", 0, 0, 0, 0, 0};
3754static swig_type_info _swigt__p_wxSizer = {"_p_wxSizer", 0, 0, 0, 0, 0};
3755static swig_type_info _swigt__p_wxGridBagSizer = {"_p_wxGridBagSizer", 0, 0, 0, 0, 0};
3756static swig_type_info _swigt__p_wxUpdateUIEvent = {"_p_wxUpdateUIEvent", 0, 0, 0, 0, 0};
3757static swig_type_info _swigt__p_wxEvent = {"_p_wxEvent", 0, 0, 0, 0, 0};
3758static swig_type_info _swigt__p_wxGridSizer = {"_p_wxGridSizer", 0, 0, 0, 0, 0};
3759static swig_type_info _swigt__p_wxFlexGridSizer = {"_p_wxFlexGridSizer", 0, 0, 0, 0, 0};
3760static swig_type_info _swigt__p_wxInitDialogEvent = {"_p_wxInitDialogEvent", 0, 0, 0, 0, 0};
2131d850 3761static swig_type_info _swigt__p_wxClipboardTextEvent = {"_p_wxClipboardTextEvent", 0, 0, 0, 0, 0};
1bd55598
RD
3762static swig_type_info _swigt__p_wxPaintEvent = {"_p_wxPaintEvent", 0, 0, 0, 0, 0};
3763static swig_type_info _swigt__p_wxNcPaintEvent = {"_p_wxNcPaintEvent", 0, 0, 0, 0, 0};
3764static swig_type_info _swigt__p_wxPaletteChangedEvent = {"_p_wxPaletteChangedEvent", 0, 0, 0, 0, 0};
3765static swig_type_info _swigt__p_wxDisplayChangedEvent = {"_p_wxDisplayChangedEvent", 0, 0, 0, 0, 0};
3766static swig_type_info _swigt__p_wxMouseCaptureChangedEvent = {"_p_wxMouseCaptureChangedEvent", 0, 0, 0, 0, 0};
3767static swig_type_info _swigt__p_wxSysColourChangedEvent = {"_p_wxSysColourChangedEvent", 0, 0, 0, 0, 0};
3768static swig_type_info _swigt__p_wxSetCursorEvent = {"_p_wxSetCursorEvent", 0, 0, 0, 0, 0};
3769static swig_type_info _swigt__p_wxFSFile = {"_p_wxFSFile", 0, 0, 0, 0, 0};
3770static swig_type_info _swigt__p_wxPySizer = {"_p_wxPySizer", 0, 0, 0, 0, 0};
3771static swig_type_info _swigt__p_wxPyEvent = {"_p_wxPyEvent", 0, 0, 0, 0, 0};
3772static swig_type_info _swigt__p_wxNotifyEvent = {"_p_wxNotifyEvent", 0, 0, 0, 0, 0};
3773static swig_type_info _swigt__p_wxShowEvent = {"_p_wxShowEvent", 0, 0, 0, 0, 0};
3774static swig_type_info _swigt__p_wxMenuItem = {"_p_wxMenuItem", 0, 0, 0, 0, 0};
1bd55598
RD
3775static swig_type_info _swigt__p_wxIdleEvent = {"_p_wxIdleEvent", 0, 0, 0, 0, 0};
3776static swig_type_info _swigt__p_wxDateEvent = {"_p_wxDateEvent", 0, 0, 0, 0, 0};
4976f996 3777static swig_type_info _swigt__p_wxWindowCreateEvent = {"_p_wxWindowCreateEvent", 0, 0, 0, 0, 0};
2131d850 3778static swig_type_info _swigt__p_wxQueryNewPaletteEvent = {"_p_wxQueryNewPaletteEvent", 0, 0, 0, 0, 0};
1bd55598
RD
3779static swig_type_info _swigt__p_wxMaximizeEvent = {"_p_wxMaximizeEvent", 0, 0, 0, 0, 0};
3780static swig_type_info _swigt__p_wxIconizeEvent = {"_p_wxIconizeEvent", 0, 0, 0, 0, 0};
2131d850 3781static swig_type_info _swigt__p_wxSizeEvent = {"_p_wxSizeEvent", 0, 0, 0, 0, 0};
1bd55598 3782static swig_type_info _swigt__p_wxMoveEvent = {"_p_wxMoveEvent", 0, 0, 0, 0, 0};
4976f996 3783static swig_type_info _swigt__p_wxActivateEvent = {"_p_wxActivateEvent", 0, 0, 0, 0, 0};
1bd55598
RD
3784static swig_type_info _swigt__p_wxPNMHandler = {"_p_wxPNMHandler", 0, 0, 0, 0, 0};
3785static swig_type_info _swigt__p_wxJPEGHandler = {"_p_wxJPEGHandler", 0, 0, 0, 0, 0};
3786static swig_type_info _swigt__p_wxPCXHandler = {"_p_wxPCXHandler", 0, 0, 0, 0, 0};
3787static swig_type_info _swigt__p_wxGIFHandler = {"_p_wxGIFHandler", 0, 0, 0, 0, 0};
3788static swig_type_info _swigt__p_wxPNGHandler = {"_p_wxPNGHandler", 0, 0, 0, 0, 0};
3789static swig_type_info _swigt__p_wxANIHandler = {"_p_wxANIHandler", 0, 0, 0, 0, 0};
3790static swig_type_info _swigt__p_wxCURHandler = {"_p_wxCURHandler", 0, 0, 0, 0, 0};
3791static swig_type_info _swigt__p_wxICOHandler = {"_p_wxICOHandler", 0, 0, 0, 0, 0};
3792static swig_type_info _swigt__p_wxBMPHandler = {"_p_wxBMPHandler", 0, 0, 0, 0, 0};
3793static swig_type_info _swigt__p_wxPyImageHandler = {"_p_wxPyImageHandler", 0, 0, 0, 0, 0};
3794static swig_type_info _swigt__p_wxImageHandler = {"_p_wxImageHandler", 0, 0, 0, 0, 0};
3795static swig_type_info _swigt__p_wxXPMHandler = {"_p_wxXPMHandler", 0, 0, 0, 0, 0};
3796static swig_type_info _swigt__p_wxTIFFHandler = {"_p_wxTIFFHandler", 0, 0, 0, 0, 0};
580080c5 3797static swig_type_info _swigt__p_wxTGAHandler = {"_p_wxTGAHandler", 0, 0, 0, 0, 0};
34e0a3bb 3798static swig_type_info _swigt__p_wxMouseCaptureLostEvent = {"_p_wxMouseCaptureLostEvent", 0, 0, 0, 0, 0};
1bd55598
RD
3799static swig_type_info _swigt__p_wxStdDialogButtonSizer = {"_p_wxStdDialogButtonSizer", 0, 0, 0, 0, 0};
3800static swig_type_info _swigt__p_wxAcceleratorTable = {"_p_wxAcceleratorTable", 0, 0, 0, 0, 0};
3801static swig_type_info _swigt__p_wxImage = {"_p_wxImage", 0, 0, 0, 0, 0};
3802static swig_type_info _swigt__p_wxScrollWinEvent = {"_p_wxScrollWinEvent", 0, 0, 0, 0, 0};
3803static swig_type_info _swigt__p_wxWindowDestroyEvent = {"_p_wxWindowDestroyEvent", 0, 0, 0, 0, 0};
3804static swig_type_info _swigt__p_wxNavigationKeyEvent = {"_p_wxNavigationKeyEvent", 0, 0, 0, 0, 0};
3805static swig_type_info _swigt__p_wxKeyEvent = {"_p_wxKeyEvent", 0, 0, 0, 0, 0};
3806static swig_type_info _swigt__p_wxFileSystem = {"_p_wxFileSystem", 0, 0, 0, 0, 0};
1bd55598 3807static swig_type_info _swigt__p_wxMenuEvent = {"_p_wxMenuEvent", 0, 0, 0, 0, 0};
4976f996 3808static swig_type_info _swigt__p_wxContextMenuEvent = {"_p_wxContextMenuEvent", 0, 0, 0, 0, 0};
34e0a3bb 3809static swig_type_info _swigt__p_wxMouseEvent = {"_p_wxMouseEvent", 0, 0, 0, 0, 0};
2131d850 3810static swig_type_info _swigt__p_wxCloseEvent = {"_p_wxCloseEvent", 0, 0, 0, 0, 0};
4976f996 3811static swig_type_info _swigt__p_wxEraseEvent = {"_p_wxEraseEvent", 0, 0, 0, 0, 0};
1bd55598 3812static swig_type_info _swigt__p_wxPyCommandEvent = {"_p_wxPyCommandEvent", 0, 0, 0, 0, 0};
34e0a3bb 3813static swig_type_info _swigt__p_wxCommandEvent = {"_p_wxCommandEvent", 0, 0, 0, 0, 0};
1bd55598
RD
3814static swig_type_info _swigt__p_wxDropFilesEvent = {"_p_wxDropFilesEvent", 0, 0, 0, 0, 0};
3815static swig_type_info _swigt__p_wxFocusEvent = {"_p_wxFocusEvent", 0, 0, 0, 0, 0};
3816static swig_type_info _swigt__p_wxChildFocusEvent = {"_p_wxChildFocusEvent", 0, 0, 0, 0, 0};
3817static swig_type_info _swigt__p_wxPalette = {"_p_wxPalette", "wxPalette *", 0, 0, (void*)0, 0};
3818static swig_type_info _swigt__p_wxPaperSize = {"_p_wxPaperSize", "enum wxPaperSize *|wxPaperSize *", 0, 0, (void*)0, 0};
3819static swig_type_info _swigt__p_wxWindow = {"_p_wxWindow", "wxWindow *", 0, 0, (void*)0, 0};
32fe5131
RD
3820
3821static swig_type_info *swig_type_initial[] = {
3822 &_swigt__p_char,
3823 &_swigt__p_form_ops_t,
3824 &_swigt__p_int,
3825 &_swigt__p_unsigned_char,
3826 &_swigt__p_unsigned_int,
3827 &_swigt__p_unsigned_long,
3828 &_swigt__p_wxANIHandler,
3829 &_swigt__p_wxAcceleratorTable,
3830 &_swigt__p_wxActivateEvent,
3831 &_swigt__p_wxBMPHandler,
3832 &_swigt__p_wxBoxSizer,
3833 &_swigt__p_wxCURHandler,
3834 &_swigt__p_wxChildFocusEvent,
2131d850 3835 &_swigt__p_wxClipboardTextEvent,
32fe5131
RD
3836 &_swigt__p_wxCloseEvent,
3837 &_swigt__p_wxCommandEvent,
3838 &_swigt__p_wxContextMenuEvent,
3839 &_swigt__p_wxControl,
3840 &_swigt__p_wxControlWithItems,
3841 &_swigt__p_wxDateEvent,
3842 &_swigt__p_wxDisplayChangedEvent,
3843 &_swigt__p_wxDropFilesEvent,
3844 &_swigt__p_wxDuplexMode,
3845 &_swigt__p_wxEraseEvent,
3846 &_swigt__p_wxEvent,
4976f996 3847 &_swigt__p_wxEventBlocker,
32fe5131
RD
3848 &_swigt__p_wxEvtHandler,
3849 &_swigt__p_wxFSFile,
3850 &_swigt__p_wxFileSystem,
3851 &_swigt__p_wxFlexGridSizer,
3852 &_swigt__p_wxFocusEvent,
3853 &_swigt__p_wxGBSizerItem,
3854 &_swigt__p_wxGIFHandler,
3855 &_swigt__p_wxGLCanvas,
3856 &_swigt__p_wxGLContext,
3857 &_swigt__p_wxGridBagSizer,
3858 &_swigt__p_wxGridSizer,
3859 &_swigt__p_wxICOHandler,
3860 &_swigt__p_wxIconizeEvent,
3861 &_swigt__p_wxIdleEvent,
3862 &_swigt__p_wxImage,
3863 &_swigt__p_wxImageHandler,
3864 &_swigt__p_wxIndividualLayoutConstraint,
3865 &_swigt__p_wxInitDialogEvent,
3866 &_swigt__p_wxJPEGHandler,
3867 &_swigt__p_wxKeyEvent,
3868 &_swigt__p_wxLayoutConstraints,
3869 &_swigt__p_wxMaximizeEvent,
3870 &_swigt__p_wxMenu,
3871 &_swigt__p_wxMenuBar,
3872 &_swigt__p_wxMenuEvent,
3873 &_swigt__p_wxMenuItem,
3874 &_swigt__p_wxMouseCaptureChangedEvent,
34e0a3bb 3875 &_swigt__p_wxMouseCaptureLostEvent,
32fe5131
RD
3876 &_swigt__p_wxMouseEvent,
3877 &_swigt__p_wxMoveEvent,
3878 &_swigt__p_wxNavigationKeyEvent,
3879 &_swigt__p_wxNcPaintEvent,
3880 &_swigt__p_wxNotifyEvent,
3881 &_swigt__p_wxObject,
3882 &_swigt__p_wxPCXHandler,
3883 &_swigt__p_wxPNGHandler,
3884 &_swigt__p_wxPNMHandler,
3885 &_swigt__p_wxPaintEvent,
3886 &_swigt__p_wxPalette,
3887 &_swigt__p_wxPaletteChangedEvent,
3888 &_swigt__p_wxPaperSize,
3889 &_swigt__p_wxPyApp,
3890 &_swigt__p_wxPyCommandEvent,
3891 &_swigt__p_wxPyEvent,
3892 &_swigt__p_wxPyImageHandler,
3893 &_swigt__p_wxPySizer,
3894 &_swigt__p_wxPyValidator,
3895 &_swigt__p_wxQueryNewPaletteEvent,
3896 &_swigt__p_wxScrollEvent,
3897 &_swigt__p_wxScrollWinEvent,
3898 &_swigt__p_wxSetCursorEvent,
3899 &_swigt__p_wxShowEvent,
3900 &_swigt__p_wxSizeEvent,
3901 &_swigt__p_wxSizer,
3902 &_swigt__p_wxSizerItem,
3903 &_swigt__p_wxStaticBoxSizer,
3904 &_swigt__p_wxStdDialogButtonSizer,
3905 &_swigt__p_wxSysColourChangedEvent,
580080c5 3906 &_swigt__p_wxTGAHandler,
32fe5131
RD
3907 &_swigt__p_wxTIFFHandler,
3908 &_swigt__p_wxUpdateUIEvent,
3909 &_swigt__p_wxValidator,
3910 &_swigt__p_wxWindow,
3911 &_swigt__p_wxWindowCreateEvent,
3912 &_swigt__p_wxWindowDestroyEvent,
3913 &_swigt__p_wxXPMHandler,
32fe5131
RD
3914};
3915
3916static swig_cast_info _swigc__p_char[] = { {&_swigt__p_char, 0, 0, 0},{0, 0, 0, 0}};
3917static swig_cast_info _swigc__p_form_ops_t[] = { {&_swigt__p_form_ops_t, 0, 0, 0},{0, 0, 0, 0}};
3918static swig_cast_info _swigc__p_int[] = { {&_swigt__p_int, 0, 0, 0},{0, 0, 0, 0}};
3919static swig_cast_info _swigc__p_unsigned_char[] = { {&_swigt__p_unsigned_char, 0, 0, 0},{0, 0, 0, 0}};
3920static swig_cast_info _swigc__p_unsigned_int[] = { {&_swigt__p_unsigned_int, 0, 0, 0},{0, 0, 0, 0}};
3921static swig_cast_info _swigc__p_unsigned_long[] = { {&_swigt__p_unsigned_long, 0, 0, 0},{0, 0, 0, 0}};
3922static swig_cast_info _swigc__p_wxDuplexMode[] = { {&_swigt__p_wxDuplexMode, 0, 0, 0},{0, 0, 0, 0}};
3923static swig_cast_info _swigc__p_wxControl[] = {{&_swigt__p_wxControl, 0, 0, 0},{0, 0, 0, 0}};
3924static swig_cast_info _swigc__p_wxControlWithItems[] = {{&_swigt__p_wxControlWithItems, 0, 0, 0},{0, 0, 0, 0}};
3925static swig_cast_info _swigc__p_wxPyApp[] = {{&_swigt__p_wxPyApp, 0, 0, 0},{0, 0, 0, 0}};
3926static swig_cast_info _swigc__p_wxMenuBar[] = {{&_swigt__p_wxMenuBar, 0, 0, 0},{0, 0, 0, 0}};
3927static swig_cast_info _swigc__p_wxValidator[] = {{&_swigt__p_wxValidator, 0, 0, 0},{0, 0, 0, 0}};
3928static swig_cast_info _swigc__p_wxPyValidator[] = {{&_swigt__p_wxPyValidator, 0, 0, 0},{0, 0, 0, 0}};
3929static swig_cast_info _swigc__p_wxMenu[] = {{&_swigt__p_wxMenu, 0, 0, 0},{0, 0, 0, 0}};
4976f996
RD
3930static swig_cast_info _swigc__p_wxEventBlocker[] = {{&_swigt__p_wxEventBlocker, 0, 0, 0},{0, 0, 0, 0}};
3931static 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}, {&_swigt__p_wxEventBlocker, _p_wxEventBlockerTo_p_wxEvtHandler, 0, 0},{0, 0, 0, 0}};
32fe5131
RD
3932static swig_cast_info _swigc__p_wxGLCanvas[] = { {&_swigt__p_wxGLCanvas, 0, 0, 0},{0, 0, 0, 0}};
3933static swig_cast_info _swigc__p_wxGLContext[] = { {&_swigt__p_wxGLContext, 0, 0, 0},{0, 0, 0, 0}};
3934static swig_cast_info _swigc__p_wxLayoutConstraints[] = {{&_swigt__p_wxLayoutConstraints, 0, 0, 0},{0, 0, 0, 0}};
32fe5131 3935static swig_cast_info _swigc__p_wxSizerItem[] = {{&_swigt__p_wxSizerItem, 0, 0, 0},{0, 0, 0, 0}};
34e0a3bb 3936static swig_cast_info _swigc__p_wxGBSizerItem[] = {{&_swigt__p_wxGBSizerItem, 0, 0, 0},{0, 0, 0, 0}};
32fe5131
RD
3937static swig_cast_info _swigc__p_wxScrollEvent[] = {{&_swigt__p_wxScrollEvent, 0, 0, 0},{0, 0, 0, 0}};
3938static swig_cast_info _swigc__p_wxIndividualLayoutConstraint[] = {{&_swigt__p_wxIndividualLayoutConstraint, 0, 0, 0},{0, 0, 0, 0}};
3939static swig_cast_info _swigc__p_wxStaticBoxSizer[] = {{&_swigt__p_wxStaticBoxSizer, 0, 0, 0},{0, 0, 0, 0}};
3940static swig_cast_info _swigc__p_wxBoxSizer[] = {{&_swigt__p_wxBoxSizer, 0, 0, 0},{0, 0, 0, 0}};
3941static swig_cast_info _swigc__p_wxSizer[] = {{&_swigt__p_wxSizer, 0, 0, 0},{0, 0, 0, 0}};
3942static swig_cast_info _swigc__p_wxGridBagSizer[] = {{&_swigt__p_wxGridBagSizer, 0, 0, 0},{0, 0, 0, 0}};
3943static swig_cast_info _swigc__p_wxUpdateUIEvent[] = {{&_swigt__p_wxUpdateUIEvent, 0, 0, 0},{0, 0, 0, 0}};
3944static swig_cast_info _swigc__p_wxEvent[] = {{&_swigt__p_wxEvent, 0, 0, 0},{0, 0, 0, 0}};
3945static swig_cast_info _swigc__p_wxGridSizer[] = {{&_swigt__p_wxGridSizer, 0, 0, 0},{0, 0, 0, 0}};
3946static swig_cast_info _swigc__p_wxFlexGridSizer[] = {{&_swigt__p_wxFlexGridSizer, 0, 0, 0},{0, 0, 0, 0}};
3947static swig_cast_info _swigc__p_wxInitDialogEvent[] = {{&_swigt__p_wxInitDialogEvent, 0, 0, 0},{0, 0, 0, 0}};
2131d850 3948static swig_cast_info _swigc__p_wxClipboardTextEvent[] = {{&_swigt__p_wxClipboardTextEvent, 0, 0, 0},{0, 0, 0, 0}};
32fe5131
RD
3949static swig_cast_info _swigc__p_wxPaintEvent[] = {{&_swigt__p_wxPaintEvent, 0, 0, 0},{0, 0, 0, 0}};
3950static swig_cast_info _swigc__p_wxNcPaintEvent[] = {{&_swigt__p_wxNcPaintEvent, 0, 0, 0},{0, 0, 0, 0}};
3951static swig_cast_info _swigc__p_wxPaletteChangedEvent[] = {{&_swigt__p_wxPaletteChangedEvent, 0, 0, 0},{0, 0, 0, 0}};
3952static swig_cast_info _swigc__p_wxDisplayChangedEvent[] = {{&_swigt__p_wxDisplayChangedEvent, 0, 0, 0},{0, 0, 0, 0}};
3953static swig_cast_info _swigc__p_wxMouseCaptureChangedEvent[] = {{&_swigt__p_wxMouseCaptureChangedEvent, 0, 0, 0},{0, 0, 0, 0}};
3954static swig_cast_info _swigc__p_wxSysColourChangedEvent[] = {{&_swigt__p_wxSysColourChangedEvent, 0, 0, 0},{0, 0, 0, 0}};
3955static swig_cast_info _swigc__p_wxSetCursorEvent[] = {{&_swigt__p_wxSetCursorEvent, 0, 0, 0},{0, 0, 0, 0}};
3956static swig_cast_info _swigc__p_wxFSFile[] = {{&_swigt__p_wxFSFile, 0, 0, 0},{0, 0, 0, 0}};
3957static swig_cast_info _swigc__p_wxPySizer[] = {{&_swigt__p_wxPySizer, 0, 0, 0},{0, 0, 0, 0}};
3958static swig_cast_info _swigc__p_wxPyEvent[] = {{&_swigt__p_wxPyEvent, 0, 0, 0},{0, 0, 0, 0}};
3959static swig_cast_info _swigc__p_wxNotifyEvent[] = {{&_swigt__p_wxNotifyEvent, 0, 0, 0},{0, 0, 0, 0}};
3960static swig_cast_info _swigc__p_wxShowEvent[] = {{&_swigt__p_wxShowEvent, 0, 0, 0},{0, 0, 0, 0}};
3961static swig_cast_info _swigc__p_wxMenuItem[] = {{&_swigt__p_wxMenuItem, 0, 0, 0},{0, 0, 0, 0}};
32fe5131
RD
3962static swig_cast_info _swigc__p_wxIdleEvent[] = {{&_swigt__p_wxIdleEvent, 0, 0, 0},{0, 0, 0, 0}};
3963static swig_cast_info _swigc__p_wxDateEvent[] = {{&_swigt__p_wxDateEvent, 0, 0, 0},{0, 0, 0, 0}};
4976f996 3964static swig_cast_info _swigc__p_wxWindowCreateEvent[] = {{&_swigt__p_wxWindowCreateEvent, 0, 0, 0},{0, 0, 0, 0}};
2131d850 3965static swig_cast_info _swigc__p_wxQueryNewPaletteEvent[] = {{&_swigt__p_wxQueryNewPaletteEvent, 0, 0, 0},{0, 0, 0, 0}};
32fe5131
RD
3966static swig_cast_info _swigc__p_wxMaximizeEvent[] = {{&_swigt__p_wxMaximizeEvent, 0, 0, 0},{0, 0, 0, 0}};
3967static swig_cast_info _swigc__p_wxIconizeEvent[] = {{&_swigt__p_wxIconizeEvent, 0, 0, 0},{0, 0, 0, 0}};
2131d850 3968static swig_cast_info _swigc__p_wxSizeEvent[] = {{&_swigt__p_wxSizeEvent, 0, 0, 0},{0, 0, 0, 0}};
32fe5131 3969static swig_cast_info _swigc__p_wxMoveEvent[] = {{&_swigt__p_wxMoveEvent, 0, 0, 0},{0, 0, 0, 0}};
4976f996 3970static swig_cast_info _swigc__p_wxActivateEvent[] = {{&_swigt__p_wxActivateEvent, 0, 0, 0},{0, 0, 0, 0}};
32fe5131
RD
3971static swig_cast_info _swigc__p_wxPNMHandler[] = {{&_swigt__p_wxPNMHandler, 0, 0, 0},{0, 0, 0, 0}};
3972static swig_cast_info _swigc__p_wxJPEGHandler[] = {{&_swigt__p_wxJPEGHandler, 0, 0, 0},{0, 0, 0, 0}};
3973static swig_cast_info _swigc__p_wxPCXHandler[] = {{&_swigt__p_wxPCXHandler, 0, 0, 0},{0, 0, 0, 0}};
3974static swig_cast_info _swigc__p_wxGIFHandler[] = {{&_swigt__p_wxGIFHandler, 0, 0, 0},{0, 0, 0, 0}};
3975static swig_cast_info _swigc__p_wxPNGHandler[] = {{&_swigt__p_wxPNGHandler, 0, 0, 0},{0, 0, 0, 0}};
3976static swig_cast_info _swigc__p_wxANIHandler[] = {{&_swigt__p_wxANIHandler, 0, 0, 0},{0, 0, 0, 0}};
3977static swig_cast_info _swigc__p_wxCURHandler[] = {{&_swigt__p_wxCURHandler, 0, 0, 0},{0, 0, 0, 0}};
3978static swig_cast_info _swigc__p_wxICOHandler[] = {{&_swigt__p_wxICOHandler, 0, 0, 0},{0, 0, 0, 0}};
3979static swig_cast_info _swigc__p_wxBMPHandler[] = {{&_swigt__p_wxBMPHandler, 0, 0, 0},{0, 0, 0, 0}};
3980static swig_cast_info _swigc__p_wxPyImageHandler[] = {{&_swigt__p_wxPyImageHandler, 0, 0, 0},{0, 0, 0, 0}};
3981static swig_cast_info _swigc__p_wxImageHandler[] = {{&_swigt__p_wxImageHandler, 0, 0, 0},{0, 0, 0, 0}};
3982static swig_cast_info _swigc__p_wxXPMHandler[] = {{&_swigt__p_wxXPMHandler, 0, 0, 0},{0, 0, 0, 0}};
3983static swig_cast_info _swigc__p_wxTIFFHandler[] = {{&_swigt__p_wxTIFFHandler, 0, 0, 0},{0, 0, 0, 0}};
580080c5 3984static swig_cast_info _swigc__p_wxTGAHandler[] = {{&_swigt__p_wxTGAHandler, 0, 0, 0},{0, 0, 0, 0}};
34e0a3bb 3985static swig_cast_info _swigc__p_wxMouseCaptureLostEvent[] = {{&_swigt__p_wxMouseCaptureLostEvent, 0, 0, 0},{0, 0, 0, 0}};
32fe5131
RD
3986static swig_cast_info _swigc__p_wxStdDialogButtonSizer[] = {{&_swigt__p_wxStdDialogButtonSizer, 0, 0, 0},{0, 0, 0, 0}};
3987static swig_cast_info _swigc__p_wxAcceleratorTable[] = {{&_swigt__p_wxAcceleratorTable, 0, 0, 0},{0, 0, 0, 0}};
3988static swig_cast_info _swigc__p_wxImage[] = {{&_swigt__p_wxImage, 0, 0, 0},{0, 0, 0, 0}};
3989static swig_cast_info _swigc__p_wxScrollWinEvent[] = {{&_swigt__p_wxScrollWinEvent, 0, 0, 0},{0, 0, 0, 0}};
3990static swig_cast_info _swigc__p_wxWindowDestroyEvent[] = {{&_swigt__p_wxWindowDestroyEvent, 0, 0, 0},{0, 0, 0, 0}};
3991static swig_cast_info _swigc__p_wxNavigationKeyEvent[] = {{&_swigt__p_wxNavigationKeyEvent, 0, 0, 0},{0, 0, 0, 0}};
3992static swig_cast_info _swigc__p_wxKeyEvent[] = {{&_swigt__p_wxKeyEvent, 0, 0, 0},{0, 0, 0, 0}};
3993static swig_cast_info _swigc__p_wxFileSystem[] = {{&_swigt__p_wxFileSystem, 0, 0, 0},{0, 0, 0, 0}};
32fe5131 3994static swig_cast_info _swigc__p_wxMenuEvent[] = {{&_swigt__p_wxMenuEvent, 0, 0, 0},{0, 0, 0, 0}};
4976f996 3995static swig_cast_info _swigc__p_wxContextMenuEvent[] = {{&_swigt__p_wxContextMenuEvent, 0, 0, 0},{0, 0, 0, 0}};
34e0a3bb 3996static swig_cast_info _swigc__p_wxMouseEvent[] = {{&_swigt__p_wxMouseEvent, 0, 0, 0},{0, 0, 0, 0}};
2131d850 3997static swig_cast_info _swigc__p_wxCloseEvent[] = {{&_swigt__p_wxCloseEvent, 0, 0, 0},{0, 0, 0, 0}};
4976f996 3998static swig_cast_info _swigc__p_wxEraseEvent[] = {{&_swigt__p_wxEraseEvent, 0, 0, 0},{0, 0, 0, 0}};
32fe5131 3999static swig_cast_info _swigc__p_wxPyCommandEvent[] = {{&_swigt__p_wxPyCommandEvent, 0, 0, 0},{0, 0, 0, 0}};
34e0a3bb 4000static swig_cast_info _swigc__p_wxCommandEvent[] = {{&_swigt__p_wxCommandEvent, 0, 0, 0},{0, 0, 0, 0}};
32fe5131
RD
4001static swig_cast_info _swigc__p_wxDropFilesEvent[] = {{&_swigt__p_wxDropFilesEvent, 0, 0, 0},{0, 0, 0, 0}};
4002static swig_cast_info _swigc__p_wxFocusEvent[] = {{&_swigt__p_wxFocusEvent, 0, 0, 0},{0, 0, 0, 0}};
4003static swig_cast_info _swigc__p_wxChildFocusEvent[] = {{&_swigt__p_wxChildFocusEvent, 0, 0, 0},{0, 0, 0, 0}};
4976f996 4004static swig_cast_info _swigc__p_wxObject[] = { {&_swigt__p_wxLayoutConstraints, _p_wxLayoutConstraintsTo_p_wxObject, 0, 0}, {&_swigt__p_wxEventBlocker, _p_wxEventBlockerTo_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_wxIdleEvent, _p_wxIdleEventTo_p_wxObject, 0, 0}, {&_swigt__p_wxDateEvent, _p_wxDateEventTo_p_wxObject, 0, 0}, {&_swigt__p_wxWindowCreateEvent, _p_wxWindowCreateEventTo_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_wxMoveEvent, _p_wxMoveEventTo_p_wxObject, 0, 0}, {&_swigt__p_wxActivateEvent, _p_wxActivateEventTo_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_wxTGAHandler, _p_wxTGAHandlerTo_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_wxMenuEvent, _p_wxMenuEventTo_p_wxObject, 0, 0}, {&_swigt__p_wxContextMenuEvent, _p_wxContextMenuEventTo_p_wxObject, 0, 0}, {&_swigt__p_wxPyApp, _p_wxPyAppTo_p_wxObject, 0, 0}, {&_swigt__p_wxMouseEvent, _p_wxMouseEventTo_p_wxObject, 0, 0}, {&_swigt__p_wxCloseEvent, _p_wxCloseEventTo_p_wxObject, 0, 0}, {&_swigt__p_wxEraseEvent, _p_wxEraseEventTo_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}};
32fe5131
RD
4005static swig_cast_info _swigc__p_wxPalette[] = { {&_swigt__p_wxPalette, 0, 0, 0},{0, 0, 0, 0}};
4006static swig_cast_info _swigc__p_wxPaperSize[] = { {&_swigt__p_wxPaperSize, 0, 0, 0},{0, 0, 0, 0}};
4007static 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}};
32fe5131
RD
4008
4009static swig_cast_info *swig_cast_initial[] = {
4010 _swigc__p_char,
4011 _swigc__p_form_ops_t,
4012 _swigc__p_int,
4013 _swigc__p_unsigned_char,
4014 _swigc__p_unsigned_int,
4015 _swigc__p_unsigned_long,
4016 _swigc__p_wxANIHandler,
4017 _swigc__p_wxAcceleratorTable,
4018 _swigc__p_wxActivateEvent,
4019 _swigc__p_wxBMPHandler,
4020 _swigc__p_wxBoxSizer,
4021 _swigc__p_wxCURHandler,
4022 _swigc__p_wxChildFocusEvent,
2131d850 4023 _swigc__p_wxClipboardTextEvent,
32fe5131
RD
4024 _swigc__p_wxCloseEvent,
4025 _swigc__p_wxCommandEvent,
4026 _swigc__p_wxContextMenuEvent,
4027 _swigc__p_wxControl,
4028 _swigc__p_wxControlWithItems,
4029 _swigc__p_wxDateEvent,
4030 _swigc__p_wxDisplayChangedEvent,
4031 _swigc__p_wxDropFilesEvent,
4032 _swigc__p_wxDuplexMode,
4033 _swigc__p_wxEraseEvent,
4034 _swigc__p_wxEvent,
4976f996 4035 _swigc__p_wxEventBlocker,
32fe5131
RD
4036 _swigc__p_wxEvtHandler,
4037 _swigc__p_wxFSFile,
4038 _swigc__p_wxFileSystem,
4039 _swigc__p_wxFlexGridSizer,
4040 _swigc__p_wxFocusEvent,
4041 _swigc__p_wxGBSizerItem,
4042 _swigc__p_wxGIFHandler,
4043 _swigc__p_wxGLCanvas,
4044 _swigc__p_wxGLContext,
4045 _swigc__p_wxGridBagSizer,
4046 _swigc__p_wxGridSizer,
4047 _swigc__p_wxICOHandler,
4048 _swigc__p_wxIconizeEvent,
4049 _swigc__p_wxIdleEvent,
4050 _swigc__p_wxImage,
4051 _swigc__p_wxImageHandler,
4052 _swigc__p_wxIndividualLayoutConstraint,
4053 _swigc__p_wxInitDialogEvent,
4054 _swigc__p_wxJPEGHandler,
4055 _swigc__p_wxKeyEvent,
4056 _swigc__p_wxLayoutConstraints,
4057 _swigc__p_wxMaximizeEvent,
4058 _swigc__p_wxMenu,
4059 _swigc__p_wxMenuBar,
4060 _swigc__p_wxMenuEvent,
4061 _swigc__p_wxMenuItem,
4062 _swigc__p_wxMouseCaptureChangedEvent,
34e0a3bb 4063 _swigc__p_wxMouseCaptureLostEvent,
32fe5131
RD
4064 _swigc__p_wxMouseEvent,
4065 _swigc__p_wxMoveEvent,
4066 _swigc__p_wxNavigationKeyEvent,
4067 _swigc__p_wxNcPaintEvent,
4068 _swigc__p_wxNotifyEvent,
4069 _swigc__p_wxObject,
4070 _swigc__p_wxPCXHandler,
4071 _swigc__p_wxPNGHandler,
4072 _swigc__p_wxPNMHandler,
4073 _swigc__p_wxPaintEvent,
4074 _swigc__p_wxPalette,
4075 _swigc__p_wxPaletteChangedEvent,
4076 _swigc__p_wxPaperSize,
4077 _swigc__p_wxPyApp,
4078 _swigc__p_wxPyCommandEvent,
4079 _swigc__p_wxPyEvent,
4080 _swigc__p_wxPyImageHandler,
4081 _swigc__p_wxPySizer,
4082 _swigc__p_wxPyValidator,
4083 _swigc__p_wxQueryNewPaletteEvent,
4084 _swigc__p_wxScrollEvent,
4085 _swigc__p_wxScrollWinEvent,
4086 _swigc__p_wxSetCursorEvent,
4087 _swigc__p_wxShowEvent,
4088 _swigc__p_wxSizeEvent,
4089 _swigc__p_wxSizer,
4090 _swigc__p_wxSizerItem,
4091 _swigc__p_wxStaticBoxSizer,
4092 _swigc__p_wxStdDialogButtonSizer,
4093 _swigc__p_wxSysColourChangedEvent,
580080c5 4094 _swigc__p_wxTGAHandler,
32fe5131
RD
4095 _swigc__p_wxTIFFHandler,
4096 _swigc__p_wxUpdateUIEvent,
4097 _swigc__p_wxValidator,
4098 _swigc__p_wxWindow,
4099 _swigc__p_wxWindowCreateEvent,
4100 _swigc__p_wxWindowDestroyEvent,
4101 _swigc__p_wxXPMHandler,
d14a1e28
RD
4102};
4103
4104
4105/* -------- TYPE CONVERSION AND EQUIVALENCE RULES (END) -------- */
4106
4107static swig_const_info swig_const_table[] = {
c370783e 4108{0, 0, 0, 0.0, 0, 0}};
d14a1e28
RD
4109
4110#ifdef __cplusplus
4111}
4112#endif
1bd55598 4113/* -----------------------------------------------------------------------------
32fe5131
RD
4114 * Type initialization:
4115 * This problem is tough by the requirement that no dynamic
4116 * memory is used. Also, since swig_type_info structures store pointers to
4117 * swig_cast_info structures and swig_cast_info structures store pointers back
4118 * to swig_type_info structures, we need some lookup code at initialization.
4119 * The idea is that swig generates all the structures that are needed.
4120 * The runtime then collects these partially filled structures.
4121 * The SWIG_InitializeModule function takes these initial arrays out of
4122 * swig_module, and does all the lookup, filling in the swig_module.types
4123 * array with the correct data and linking the correct swig_cast_info
4124 * structures together.
1bd55598 4125 *
32fe5131
RD
4126 * The generated swig_type_info structures are assigned staticly to an initial
4127 * array. We just loop though that array, and handle each type individually.
4128 * First we lookup if this type has been already loaded, and if so, use the
4129 * loaded structure instead of the generated one. Then we have to fill in the
4130 * cast linked list. The cast data is initially stored in something like a
4131 * two-dimensional array. Each row corresponds to a type (there are the same
4132 * number of rows as there are in the swig_type_initial array). Each entry in
4133 * a column is one of the swig_cast_info structures for that type.
4134 * The cast_initial array is actually an array of arrays, because each row has
4135 * a variable number of columns. So to actually build the cast linked list,
4136 * we find the array of casts associated with the type, and loop through it
4137 * adding the casts to the list. The one last trick we need to do is making
4138 * sure the type pointer in the swig_cast_info struct is correct.
1bd55598 4139 *
32fe5131
RD
4140 * First off, we lookup the cast->type name to see if it is already loaded.
4141 * There are three cases to handle:
4142 * 1) If the cast->type has already been loaded AND the type we are adding
4143 * casting info to has not been loaded (it is in this module), THEN we
4144 * replace the cast->type pointer with the type pointer that has already
4145 * been loaded.
4146 * 2) If BOTH types (the one we are adding casting info to, and the
4147 * cast->type) are loaded, THEN the cast info has already been loaded by
4148 * the previous module so we just ignore it.
4149 * 3) Finally, if cast->type has not already been loaded, then we add that
4150 * swig_cast_info to the linked list (because the cast->type) pointer will
4151 * be correct.
1bd55598 4152 * ----------------------------------------------------------------------------- */
32fe5131
RD
4153
4154#ifdef __cplusplus
4155extern "C" {
4156#if 0
4157} /* c-mode */
4158#endif
4159#endif
4160
4161#if 0
4162#define SWIGRUNTIME_DEBUG
4163#endif
4164
4165SWIGRUNTIME void
4166SWIG_InitializeModule(void *clientdata) {
1bd55598
RD
4167 size_t i;
4168 swig_module_info *module_head;
4169 static int init_run = 0;
4170
4171 clientdata = clientdata;
4172
4173 if (init_run) return;
4174 init_run = 1;
4175
4176 /* Initialize the swig_module */
4177 swig_module.type_initial = swig_type_initial;
4178 swig_module.cast_initial = swig_cast_initial;
4179
4180 /* Try and load any already created modules */
4181 module_head = SWIG_GetModule(clientdata);
4182 if (module_head) {
4183 swig_module.next = module_head->next;
4184 module_head->next = &swig_module;
4185 } else {
4186 /* This is the first module loaded */
4187 swig_module.next = &swig_module;
4188 SWIG_SetModule(clientdata, &swig_module);
4189 }
4190
4191 /* Now work on filling in swig_module.types */
32fe5131 4192#ifdef SWIGRUNTIME_DEBUG
1bd55598 4193 printf("SWIG_InitializeModule: size %d\n", swig_module.size);
32fe5131 4194#endif
1bd55598
RD
4195 for (i = 0; i < swig_module.size; ++i) {
4196 swig_type_info *type = 0;
4197 swig_type_info *ret;
4198 swig_cast_info *cast;
4199
32fe5131 4200#ifdef SWIGRUNTIME_DEBUG
1bd55598 4201 printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name);
32fe5131 4202#endif
1bd55598
RD
4203
4204 /* if there is another module already loaded */
4205 if (swig_module.next != &swig_module) {
4206 type = SWIG_MangledTypeQueryModule(swig_module.next, &swig_module, swig_module.type_initial[i]->name);
4207 }
4208 if (type) {
4209 /* Overwrite clientdata field */
32fe5131 4210#ifdef SWIGRUNTIME_DEBUG
1bd55598 4211 printf("SWIG_InitializeModule: found type %s\n", type->name);
32fe5131 4212#endif
1bd55598
RD
4213 if (swig_module.type_initial[i]->clientdata) {
4214 type->clientdata = swig_module.type_initial[i]->clientdata;
32fe5131 4215#ifdef SWIGRUNTIME_DEBUG
1bd55598 4216 printf("SWIG_InitializeModule: found and overwrite type %s \n", type->name);
32fe5131 4217#endif
1bd55598
RD
4218 }
4219 } else {
4220 type = swig_module.type_initial[i];
4221 }
4222
4223 /* Insert casting types */
4224 cast = swig_module.cast_initial[i];
4225 while (cast->type) {
4226 /* Don't need to add information already in the list */
4227 ret = 0;
32fe5131 4228#ifdef SWIGRUNTIME_DEBUG
1bd55598 4229 printf("SWIG_InitializeModule: look cast %s\n", cast->type->name);
32fe5131 4230#endif
1bd55598
RD
4231 if (swig_module.next != &swig_module) {
4232 ret = SWIG_MangledTypeQueryModule(swig_module.next, &swig_module, cast->type->name);
32fe5131 4233#ifdef SWIGRUNTIME_DEBUG
1bd55598 4234 if (ret) printf("SWIG_InitializeModule: found cast %s\n", ret->name);
32fe5131 4235#endif
1bd55598
RD
4236 }
4237 if (ret) {
4238 if (type == swig_module.type_initial[i]) {
32fe5131 4239#ifdef SWIGRUNTIME_DEBUG
1bd55598 4240 printf("SWIG_InitializeModule: skip old type %s\n", ret->name);
32fe5131 4241#endif
1bd55598
RD
4242 cast->type = ret;
4243 ret = 0;
4244 } else {
4245 /* Check for casting already in the list */
4246 swig_cast_info *ocast = SWIG_TypeCheck(ret->name, type);
32fe5131 4247#ifdef SWIGRUNTIME_DEBUG
1bd55598 4248 if (ocast) printf("SWIG_InitializeModule: skip old cast %s\n", ret->name);
32fe5131 4249#endif
1bd55598
RD
4250 if (!ocast) ret = 0;
4251 }
4252 }
4253
4254 if (!ret) {
32fe5131 4255#ifdef SWIGRUNTIME_DEBUG
1bd55598 4256 printf("SWIG_InitializeModule: adding cast %s\n", cast->type->name);
32fe5131 4257#endif
1bd55598
RD
4258 if (type->cast) {
4259 type->cast->prev = cast;
4260 cast->next = type->cast;
32fe5131 4261 }
1bd55598
RD
4262 type->cast = cast;
4263 }
4264 cast++;
32fe5131 4265 }
1bd55598
RD
4266 /* Set entry in modules->types array equal to the type */
4267 swig_module.types[i] = type;
4268 }
4269 swig_module.types[i] = 0;
4270
32fe5131 4271#ifdef SWIGRUNTIME_DEBUG
1bd55598
RD
4272 printf("**** SWIG_InitializeModule: Cast List ******\n");
4273 for (i = 0; i < swig_module.size; ++i) {
4274 int j = 0;
4275 swig_cast_info *cast = swig_module.cast_initial[i];
4276 printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name);
4277 while (cast->type) {
4278 printf("SWIG_InitializeModule: cast type %s\n", cast->type->name);
4279 cast++;
4280 ++j;
32fe5131 4281 }
1bd55598
RD
4282 printf("---- Total casts: %d\n",j);
4283 }
4284 printf("**** SWIG_InitializeModule: Cast List ******\n");
32fe5131
RD
4285#endif
4286}
4287
4288/* This function will propagate the clientdata field of type to
4289* any new swig_type_info structures that have been added into the list
4290* of equivalent types. It is like calling
4291* SWIG_TypeClientData(type, clientdata) a second time.
4292*/
4293SWIGRUNTIME void
4294SWIG_PropagateClientData(void) {
1bd55598
RD
4295 size_t i;
4296 swig_cast_info *equiv;
4297 static int init_run = 0;
4298
4299 if (init_run) return;
4300 init_run = 1;
4301
4302 for (i = 0; i < swig_module.size; i++) {
4303 if (swig_module.types[i]->clientdata) {
4304 equiv = swig_module.types[i]->cast;
4305 while (equiv) {
4306 if (!equiv->converter) {
4307 if (equiv->type && !equiv->type->clientdata)
4308 SWIG_TypeClientData(equiv->type, swig_module.types[i]->clientdata);
32fe5131 4309 }
1bd55598
RD
4310 equiv = equiv->next;
4311 }
32fe5131 4312 }
1bd55598 4313 }
32fe5131
RD
4314}
4315
4316#ifdef __cplusplus
4317#if 0
4318{
1bd55598 4319 /* c-mode */
32fe5131
RD
4320#endif
4321}
4322#endif
4323
d14a1e28 4324
36ed4f51
RD
4325
4326#ifdef __cplusplus
4327extern "C" {
4328#endif
1bd55598
RD
4329
4330 /* Python-specific SWIG API */
36ed4f51
RD
4331#define SWIG_newvarlink() SWIG_Python_newvarlink()
4332#define SWIG_addvarlink(p, name, get_attr, set_attr) SWIG_Python_addvarlink(p, name, get_attr, set_attr)
4333#define SWIG_InstallConstants(d, constants) SWIG_Python_InstallConstants(d, constants)
1bd55598
RD
4334
4335 /* -----------------------------------------------------------------------------
4336 * global variable support code.
4337 * ----------------------------------------------------------------------------- */
4338
4339 typedef struct swig_globalvar {
4340 char *name; /* Name of global variable */
4341 PyObject *(*get_attr)(void); /* Return the current value */
4342 int (*set_attr)(PyObject *); /* Set the value */
4343 struct swig_globalvar *next;
4344 } swig_globalvar;
4345
4346 typedef struct swig_varlinkobject {
4347 PyObject_HEAD
4348 swig_globalvar *vars;
4349 } swig_varlinkobject;
4350
4351 SWIGINTERN PyObject *
4352 swig_varlink_repr(swig_varlinkobject *SWIGUNUSEDPARM(v)) {
4353 return PyString_FromString("<Swig global variables>");
4354 }
4355
4356 SWIGINTERN PyObject *
4357 swig_varlink_str(swig_varlinkobject *v) {
4358 PyObject *str = PyString_FromString("(");
4359 swig_globalvar *var;
4360 for (var = v->vars; var; var=var->next) {
4361 PyString_ConcatAndDel(&str,PyString_FromString(var->name));
4362 if (var->next) PyString_ConcatAndDel(&str,PyString_FromString(", "));
36ed4f51 4363 }
1bd55598
RD
4364 PyString_ConcatAndDel(&str,PyString_FromString(")"));
4365 return str;
4366 }
4367
4368 SWIGINTERN int
4369 swig_varlink_print(swig_varlinkobject *v, FILE *fp, int SWIGUNUSEDPARM(flags)) {
4370 PyObject *str = swig_varlink_str(v);
4371 fprintf(fp,"Swig global variables ");
4372 fprintf(fp,"%s\n", PyString_AsString(str));
4373 Py_DECREF(str);
4374 return 0;
4375 }
4376
4377 SWIGINTERN void
4378 swig_varlink_dealloc(swig_varlinkobject *v) {
4379 swig_globalvar *var = v->vars;
4380 while (var) {
4381 swig_globalvar *n = var->next;
4382 free(var->name);
4383 free(var);
4384 var = n;
36ed4f51 4385 }
1bd55598
RD
4386 }
4387
4388 SWIGINTERN PyObject *
4389 swig_varlink_getattr(swig_varlinkobject *v, char *n) {
4390 PyObject *res = NULL;
4391 swig_globalvar *var = v->vars;
4392 while (var) {
4393 if (strcmp(var->name,n) == 0) {
4394 res = (*var->get_attr)();
4395 break;
4396 }
4397 var = var->next;
36ed4f51 4398 }
1bd55598
RD
4399 if (res == NULL && !PyErr_Occurred()) {
4400 PyErr_SetString(PyExc_NameError,"Unknown C global variable");
36ed4f51 4401 }
1bd55598
RD
4402 return res;
4403 }
4404
4405 SWIGINTERN int
4406 swig_varlink_setattr(swig_varlinkobject *v, char *n, PyObject *p) {
4407 int res = 1;
4408 swig_globalvar *var = v->vars;
4409 while (var) {
4410 if (strcmp(var->name,n) == 0) {
4411 res = (*var->set_attr)(p);
4412 break;
4413 }
4414 var = var->next;
4415 }
4416 if (res == 1 && !PyErr_Occurred()) {
4417 PyErr_SetString(PyExc_NameError,"Unknown C global variable");
4418 }
4419 return res;
4420 }
4421
4422 SWIGINTERN PyTypeObject*
4423 swig_varlink_type(void) {
4424 static char varlink__doc__[] = "Swig var link object";
4425 static PyTypeObject varlink_type;
4426 static int type_init = 0;
4427 if (!type_init) {
4428 const PyTypeObject tmp
4429 = {
4430 PyObject_HEAD_INIT(NULL)
4431 0, /* Number of items in variable part (ob_size) */
4432 (char *)"swigvarlink", /* Type name (tp_name) */
4433 sizeof(swig_varlinkobject), /* Basic size (tp_basicsize) */
4434 0, /* Itemsize (tp_itemsize) */
4435 (destructor) swig_varlink_dealloc, /* Deallocator (tp_dealloc) */
4436 (printfunc) swig_varlink_print, /* Print (tp_print) */
4437 (getattrfunc) swig_varlink_getattr, /* get attr (tp_getattr) */
4438 (setattrfunc) swig_varlink_setattr, /* Set attr (tp_setattr) */
4439 0, /* tp_compare */
4440 (reprfunc) swig_varlink_repr, /* tp_repr */
4441 0, /* tp_as_number */
4442 0, /* tp_as_sequence */
4443 0, /* tp_as_mapping */
4444 0, /* tp_hash */
4445 0, /* tp_call */
4446 (reprfunc)swig_varlink_str, /* tp_str */
4447 0, /* tp_getattro */
4448 0, /* tp_setattro */
4449 0, /* tp_as_buffer */
4450 0, /* tp_flags */
4451 varlink__doc__, /* tp_doc */
4452 0, /* tp_traverse */
4453 0, /* tp_clear */
4454 0, /* tp_richcompare */
4455 0, /* tp_weaklistoffset */
36ed4f51 4456#if PY_VERSION_HEX >= 0x02020000
1bd55598 4457 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* tp_iter -> tp_weaklist */
36ed4f51
RD
4458#endif
4459#if PY_VERSION_HEX >= 0x02030000
1bd55598 4460 0, /* tp_del */
36ed4f51
RD
4461#endif
4462#ifdef COUNT_ALLOCS
1bd55598 4463 0,0,0,0 /* tp_alloc -> tp_next */
36ed4f51 4464#endif
1bd55598
RD
4465 };
4466 varlink_type = tmp;
4467 varlink_type.ob_type = &PyType_Type;
4468 type_init = 1;
32fe5131 4469 }
1bd55598
RD
4470 return &varlink_type;
4471 }
4472
4473 /* Create a variable linking object for use later */
4474 SWIGINTERN PyObject *
4475 SWIG_Python_newvarlink(void) {
4476 swig_varlinkobject *result = PyObject_NEW(swig_varlinkobject, swig_varlink_type());
4477 if (result) {
4478 result->vars = 0;
36ed4f51 4479 }
1bd55598
RD
4480 return ((PyObject*) result);
4481 }
4482
4483 SWIGINTERN void
4484 SWIG_Python_addvarlink(PyObject *p, char *name, PyObject *(*get_attr)(void), int (*set_attr)(PyObject *p)) {
4485 swig_varlinkobject *v = (swig_varlinkobject *) p;
4486 swig_globalvar *gv = (swig_globalvar *) malloc(sizeof(swig_globalvar));
4487 if (gv) {
4488 size_t size = strlen(name)+1;
4489 gv->name = (char *)malloc(size);
4490 if (gv->name) {
4491 strncpy(gv->name,name,size);
4492 gv->get_attr = get_attr;
4493 gv->set_attr = set_attr;
4494 gv->next = v->vars;
4495 }
36ed4f51 4496 }
1bd55598
RD
4497 v->vars = gv;
4498 }
4499
4500 SWIGINTERN PyObject *
4501 SWIG_globals() {
4502 static PyObject *_SWIG_globals = 0;
4503 if (!_SWIG_globals) _SWIG_globals = SWIG_newvarlink();
4504 return _SWIG_globals;
4505 }
4506
4507 /* -----------------------------------------------------------------------------
4508 * constants/methods manipulation
4509 * ----------------------------------------------------------------------------- */
4510
4511 /* Install Constants */
4512 SWIGINTERN void
4513 SWIG_Python_InstallConstants(PyObject *d, swig_const_info constants[]) {
4514 PyObject *obj = 0;
4515 size_t i;
4516 for (i = 0; constants[i].type; ++i) {
4517 switch(constants[i].type) {
4518 case SWIG_PY_POINTER:
4519 obj = SWIG_NewPointerObj(constants[i].pvalue, *(constants[i]).ptype,0);
4520 break;
4521 case SWIG_PY_BINARY:
4522 obj = SWIG_NewPackedObj(constants[i].pvalue, constants[i].lvalue, *(constants[i].ptype));
4523 break;
4524 default:
4525 obj = 0;
4526 break;
4527 }
4528 if (obj) {
4529 PyDict_SetItemString(d, constants[i].name, obj);
4530 Py_DECREF(obj);
4531 }
36ed4f51 4532 }
1bd55598
RD
4533 }
4534
4535 /* -----------------------------------------------------------------------------*/
4536 /* Fix SwigMethods to carry the callback ptrs when needed */
4537 /* -----------------------------------------------------------------------------*/
4538
4539 SWIGINTERN void
4540 SWIG_Python_FixMethods(PyMethodDef *methods,
36ed4f51
RD
4541 swig_const_info *const_table,
4542 swig_type_info **types,
4543 swig_type_info **types_initial) {
1bd55598
RD
4544 size_t i;
4545 for (i = 0; methods[i].ml_name; ++i) {
3d6c9062 4546 const char *c = methods[i].ml_doc;
1bd55598
RD
4547 if (c && (c = strstr(c, "swig_ptr: "))) {
4548 int j;
4549 swig_const_info *ci = 0;
3d6c9062 4550 const char *name = c + 10;
1bd55598
RD
4551 for (j = 0; const_table[j].type; ++j) {
4552 if (strncmp(const_table[j].name, name,
4553 strlen(const_table[j].name)) == 0) {
4554 ci = &(const_table[j]);
4555 break;
4556 }
4557 }
4558 if (ci) {
4559 size_t shift = (ci->ptype) - types;
4560 swig_type_info *ty = types_initial[shift];
4561 size_t ldoc = (c - methods[i].ml_doc);
4562 size_t lptr = strlen(ty->name)+2*sizeof(void*)+2;
4563 char *ndoc = (char*)malloc(ldoc + lptr + 10);
4564 if (ndoc) {
4565 char *buff = ndoc;
4566 void *ptr = (ci->type == SWIG_PY_POINTER) ? ci->pvalue : 0;
4567 if (ptr) {
4568 strncpy(buff, methods[i].ml_doc, ldoc);
4569 buff += ldoc;
4570 strncpy(buff, "swig_ptr: ", 10);
4571 buff += 10;
4572 SWIG_PackVoidPtr(buff, ptr, ty->name, lptr);
4573 methods[i].ml_doc = ndoc;
36ed4f51 4574 }
1bd55598 4575 }
36ed4f51 4576 }
1bd55598 4577 }
36ed4f51 4578 }
1bd55598
RD
4579 }
4580
36ed4f51
RD
4581#ifdef __cplusplus
4582}
4583#endif
4584
4585/* -----------------------------------------------------------------------------*
4586 * Partial Init method
4587 * -----------------------------------------------------------------------------*/
4588
36ed4f51
RD
4589#ifdef __cplusplus
4590extern "C"
4591#endif
32fe5131 4592SWIGEXPORT void SWIG_init(void) {
1bd55598
RD
4593 PyObject *m, *d;
4594
4595 /* Fix SwigMethods to carry the callback ptrs when needed */
4596 SWIG_Python_FixMethods(SwigMethods, swig_const_table, swig_types, swig_type_initial);
4597
4598 m = Py_InitModule((char *) SWIG_name, SwigMethods);
4599 d = PyModule_GetDict(m);
4600
4601 SWIG_InitializeModule(0);
4602 SWIG_InstallConstants(d,swig_const_table);
4603
4604
4605 PyDict_SetItemString(d,(char*)"cvar", SWIG_globals());
4606 SWIG_addvarlink(SWIG_globals(),(char*)"GLCanvasNameStr",GLCanvasNameStr_get, GLCanvasNameStr_set);
4607 SWIG_Python_SetConstant(d, "WX_GL_RGBA",SWIG_From_int(static_cast< int >(WX_GL_RGBA)));
4608 SWIG_Python_SetConstant(d, "WX_GL_BUFFER_SIZE",SWIG_From_int(static_cast< int >(WX_GL_BUFFER_SIZE)));
4609 SWIG_Python_SetConstant(d, "WX_GL_LEVEL",SWIG_From_int(static_cast< int >(WX_GL_LEVEL)));
4610 SWIG_Python_SetConstant(d, "WX_GL_DOUBLEBUFFER",SWIG_From_int(static_cast< int >(WX_GL_DOUBLEBUFFER)));
4611 SWIG_Python_SetConstant(d, "WX_GL_STEREO",SWIG_From_int(static_cast< int >(WX_GL_STEREO)));
4612 SWIG_Python_SetConstant(d, "WX_GL_AUX_BUFFERS",SWIG_From_int(static_cast< int >(WX_GL_AUX_BUFFERS)));
4613 SWIG_Python_SetConstant(d, "WX_GL_MIN_RED",SWIG_From_int(static_cast< int >(WX_GL_MIN_RED)));
4614 SWIG_Python_SetConstant(d, "WX_GL_MIN_GREEN",SWIG_From_int(static_cast< int >(WX_GL_MIN_GREEN)));
4615 SWIG_Python_SetConstant(d, "WX_GL_MIN_BLUE",SWIG_From_int(static_cast< int >(WX_GL_MIN_BLUE)));
4616 SWIG_Python_SetConstant(d, "WX_GL_MIN_ALPHA",SWIG_From_int(static_cast< int >(WX_GL_MIN_ALPHA)));
4617 SWIG_Python_SetConstant(d, "WX_GL_DEPTH_SIZE",SWIG_From_int(static_cast< int >(WX_GL_DEPTH_SIZE)));
4618 SWIG_Python_SetConstant(d, "WX_GL_STENCIL_SIZE",SWIG_From_int(static_cast< int >(WX_GL_STENCIL_SIZE)));
4619 SWIG_Python_SetConstant(d, "WX_GL_MIN_ACCUM_RED",SWIG_From_int(static_cast< int >(WX_GL_MIN_ACCUM_RED)));
4620 SWIG_Python_SetConstant(d, "WX_GL_MIN_ACCUM_GREEN",SWIG_From_int(static_cast< int >(WX_GL_MIN_ACCUM_GREEN)));
4621 SWIG_Python_SetConstant(d, "WX_GL_MIN_ACCUM_BLUE",SWIG_From_int(static_cast< int >(WX_GL_MIN_ACCUM_BLUE)));
4622 SWIG_Python_SetConstant(d, "WX_GL_MIN_ACCUM_ALPHA",SWIG_From_int(static_cast< int >(WX_GL_MIN_ACCUM_ALPHA)));
4623
4624
4625
d14a1e28
RD
4626}
4627