]> git.saurik.com Git - wxWidgets.git/blob - wxPython/contrib/glcanvas/msw/glcanvas_wrap.cpp
cancel dragging if Esc is pressed (patch 1733657)
[wxWidgets.git] / wxPython / contrib / glcanvas / msw / glcanvas_wrap.cpp
1 /* ----------------------------------------------------------------------------
2 * This file was automatically generated by SWIG (http://www.swig.org).
3 * Version 1.3.29
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
12 #define SWIG_PYTHON_DIRECTOR_NO_VTABLE
13
14 #ifdef __cplusplus
15 template<class T> class SwigValueWrapper {
16 T *tt;
17 public:
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; }
25 private:
26 SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs);
27 };
28 #endif
29
30 /* -----------------------------------------------------------------------------
31 * This section contains generic SWIG labels for method/variable
32 * declarations/attributes, and other compiler dependent labels.
33 * ----------------------------------------------------------------------------- */
34
35 /* template workaround for compilers that cannot correctly implement the C++ standard */
36 #ifndef SWIGTEMPLATEDISAMBIGUATOR
37 # if defined(__SUNPRO_CC)
38 # if (__SUNPRO_CC <= 0x560)
39 # define SWIGTEMPLATEDISAMBIGUATOR template
40 # else
41 # define SWIGTEMPLATEDISAMBIGUATOR
42 # endif
43 # else
44 # define SWIGTEMPLATEDISAMBIGUATOR
45 # endif
46 #endif
47
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
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__))
67 # else
68 # define SWIGUNUSED
69 # endif
70 #endif
71
72 #ifndef SWIGUNUSEDPARM
73 # ifdef __cplusplus
74 # define SWIGUNUSEDPARM(p)
75 # else
76 # define SWIGUNUSEDPARM(p) p SWIGUNUSED
77 # endif
78 #endif
79
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
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
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
105 # if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY)
106 # define SWIGEXPORT __attribute__ ((visibility("default")))
107 # else
108 # define SWIGEXPORT
109 # endif
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
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
126
127
128 /* Python.h has to appear first */
129 #include <Python.h>
130
131 /* -----------------------------------------------------------------------------
132 * swigrun.swg
133 *
134 * This file contains generic CAPI SWIG runtime support for pointer
135 * type checking.
136 * ----------------------------------------------------------------------------- */
137
138 /* This should only be incremented when either the layout of swig_type_info changes,
139 or for whatever reason, the runtime changes incompatibly */
140 #define SWIG_RUNTIME_VERSION "2"
141
142 /* define SWIG_TYPE_TABLE_NAME as "SWIG_TYPE_TABLE" */
143 #ifdef SWIG_TYPE_TABLE
144 # define SWIG_QUOTE_STRING(x) #x
145 # define SWIG_EXPAND_AND_QUOTE_STRING(x) SWIG_QUOTE_STRING(x)
146 # define SWIG_TYPE_TABLE_NAME SWIG_EXPAND_AND_QUOTE_STRING(SWIG_TYPE_TABLE)
147 #else
148 # define SWIG_TYPE_TABLE_NAME
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 */
159
160 #ifndef SWIGRUNTIME
161 # define SWIGRUNTIME SWIGINTERN
162 #endif
163
164 #ifndef SWIGRUNTIMEINLINE
165 # define SWIGRUNTIMEINLINE SWIGRUNTIME SWIGINLINE
166 #endif
167
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)
295 SWIGINTERNINLINE int SWIG_AddCast(int r) {
296 return SWIG_IsOK(r) ? ((SWIG_CastRank(r) < SWIG_MAXCASTRANK) ? (r + 1) : SWIG_ERROR) : r;
297 }
298 SWIGINTERNINLINE 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
309 #include <string.h>
310
311 #ifdef __cplusplus
312 extern "C" {
313 #endif
314
315 typedef void *(*swig_converter_func)(void *);
316 typedef struct swig_type_info *(*swig_dycast_func)(void **);
317
318 /* Structure to store inforomation on one type */
319 typedef struct swig_type_info {
320 const char *name; /* mangled name of this type */
321 const char *str; /* human readable name of this type */
322 swig_dycast_func dcast; /* dynamic cast function down a hierarchy */
323 struct swig_cast_info *cast; /* linked list of types that can cast into this type */
324 void *clientdata; /* language specific type data */
325 int owndata; /* flag if the structure owns the clientdata */
326 } swig_type_info;
327
328 /* Structure to store a type and conversion function used for casting */
329 typedef struct swig_cast_info {
330 swig_type_info *type; /* pointer to type that is equivalent to this type */
331 swig_converter_func converter; /* function to cast the void pointers */
332 struct swig_cast_info *next; /* pointer to next cast in linked list */
333 struct swig_cast_info *prev; /* pointer to the previous cast */
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.*/
339 typedef struct swig_module_info {
340 swig_type_info **types; /* Array of pointers to swig_type_info structures that are in this module */
341 size_t size; /* Number of types in this module */
342 struct swig_module_info *next; /* Pointer to next element in circularly linked list */
343 swig_type_info **type_initial; /* Array of initially generated type structures */
344 swig_cast_info **cast_initial; /* Array of initially generated casting structures */
345 void *clientdata; /* Language specific module data */
346 } swig_module_info;
347
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 */
355 SWIGRUNTIME int
356 SWIG_TypeNameComp(const char *f1, const char *l1,
357 const char *f2, const char *l2) {
358 for (;(f1 != l1) && (f2 != l2); ++f1, ++f2) {
359 while ((*f1 == ' ') && (f1 != l1)) ++f1;
360 while ((*f2 == ' ') && (f2 != l2)) ++f2;
361 if (*f1 != *f2) return (*f1 > *f2) ? 1 : -1;
362 }
363 return (l1 - f1) - (l2 - f2);
364 }
365
366 /*
367 Check type equivalence in a name list like <name1>|<name2>|...
368 Return 0 if not equal, 1 if equal
369 */
370 SWIGRUNTIME int
371 SWIG_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 }
379 equiv = (SWIG_TypeNameComp(nb, ne, tb, te) == 0) ? 1 : 0;
380 if (*ne) ++ne;
381 }
382 return equiv;
383 }
384
385 /*
386 Check type equivalence in a name list like <name1>|<name2>|...
387 Return 0 if equal, -1 if nb < tb, 1 if nb > tb
388 */
389 SWIGRUNTIME int
390 SWIG_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;
397 }
398 equiv = (SWIG_TypeNameComp(nb, ne, tb, te) == 0) ? 1 : 0;
399 if (*ne) ++ne;
400 }
401 return equiv;
402 }
403
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
427 /*
428 Check the typename
429 */
430 SWIGRUNTIME swig_cast_info *
431 SWIG_TypeCheck(const char *c, swig_type_info *ty) {
432 SWIG_TypeCheck_Template(strcmp(iter->type->name, c) == 0, ty);
433 }
434
435 /* Same as previous function, except strcmp is replaced with a pointer comparison */
436 SWIGRUNTIME swig_cast_info *
437 SWIG_TypeCheckStruct(swig_type_info *from, swig_type_info *into) {
438 SWIG_TypeCheck_Template(iter->type == from, into);
439 }
440
441 /*
442 Cast a pointer up an inheritance hierarchy
443 */
444 SWIGRUNTIMEINLINE void *
445 SWIG_TypeCast(swig_cast_info *ty, void *ptr) {
446 return ((!ty) || (!ty->converter)) ? ptr : (*ty->converter)(ptr);
447 }
448
449 /*
450 Dynamic pointer casting. Down an inheritance hierarchy
451 */
452 SWIGRUNTIME swig_type_info *
453 SWIG_TypeDynamicCast(swig_type_info *ty, void **ptr) {
454 swig_type_info *lastty = ty;
455 if (!ty || !ty->dcast) return ty;
456 while (ty && (ty->dcast)) {
457 ty = (*ty->dcast)(ptr);
458 if (ty) lastty = ty;
459 }
460 return lastty;
461 }
462
463 /*
464 Return the name associated with this type
465 */
466 SWIGRUNTIMEINLINE const char *
467 SWIG_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 */
475 SWIGRUNTIME const char *
476 SWIG_TypePrettyName(const swig_type_info *type) {
477 /* The "str" field contains the equivalent pretty names of the
478 type, separated by vertical-bar characters. We choose
479 to print the last name, as it is often (?) the most
480 specific. */
481 if (!type) return NULL;
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
493 /*
494 Set the clientdata field for a type
495 */
496 SWIGRUNTIME void
497 SWIG_TypeClientData(swig_type_info *ti, void *clientdata) {
498 swig_cast_info *cast = ti->cast;
499 /* if (ti->clientdata == clientdata) return; */
500 ti->clientdata = clientdata;
501
502 while (cast) {
503 if (!cast->converter) {
504 swig_type_info *tc = cast->type;
505 if (!tc->clientdata) {
506 SWIG_TypeClientData(tc, clientdata);
507 }
508 }
509 cast = cast->next;
510 }
511 }
512 SWIGRUNTIME void
513 SWIG_TypeNewClientData(swig_type_info *ti, void *clientdata) {
514 SWIG_TypeClientData(ti, clientdata);
515 ti->owndata = 1;
516 }
517
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 */
526 SWIGRUNTIME swig_type_info *
527 SWIG_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);
556 }
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 */
571 SWIGRUNTIME swig_type_info *
572 SWIG_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);
591 }
592
593 /* neither found a match */
594 return 0;
595 }
596
597 /*
598 Pack binary data into a string
599 */
600 SWIGRUNTIME char *
601 SWIG_PackData(char *c, void *ptr, size_t sz) {
602 static const char hex[17] = "0123456789abcdef";
603 register const unsigned char *u = (unsigned char *) ptr;
604 register const unsigned char *eu = u + sz;
605 for (; u != eu; ++u) {
606 register unsigned char uu = *u;
607 *(c++) = hex[(uu & 0xf0) >> 4];
608 *(c++) = hex[uu & 0xf];
609 }
610 return c;
611 }
612
613 /*
614 Unpack binary data from a string
615 */
616 SWIGRUNTIME const char *
617 SWIG_UnpackData(const char *c, void *ptr, size_t sz) {
618 register unsigned char *u = (unsigned char *) ptr;
619 register const unsigned char *eu = u + sz;
620 for (; u != eu; ++u) {
621 register char d = *(c++);
622 register unsigned char uu;
623 if ((d >= '0') && (d <= '9'))
624 uu = ((d - '0') << 4);
625 else if ((d >= 'a') && (d <= 'f'))
626 uu = ((d - ('a'-10)) << 4);
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
641 /*
642 Pack 'void *' into a string buffer.
643 */
644 SWIGRUNTIME char *
645 SWIG_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
655 SWIGRUNTIME const char *
656 SWIG_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
668 SWIGRUNTIME char *
669 SWIG_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 }
682
683 SWIGRUNTIME const char *
684 SWIG_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 }
695
696 #ifdef __cplusplus
697 }
698 #endif
699
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
714
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
736 static PyObject *
737 PyString_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
790 static
791 PyObject *PyBool_FromLong(long ok)
792 {
793 PyObject *result = ok ? Py_True : Py_False;
794 Py_INCREF(result);
795 return result;
796 }
797 #endif
798
799
800 /* -----------------------------------------------------------------------------
801 * error manipulation
802 * ----------------------------------------------------------------------------- */
803
804 SWIGRUNTIME PyObject*
805 SWIG_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 }
846
847
848 SWIGRUNTIME void
849 SWIG_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
935 #endif
936
937 /* -----------------------------------------------------------------------------
938 * Python API portion that goes into the runtime
939 * ----------------------------------------------------------------------------- */
940
941 #ifdef __cplusplus
942 extern "C" {
943 #if 0
944 } /* cc-mode */
945 #endif
946 #endif
947
948 /* -----------------------------------------------------------------------------
949 * Constant declarations
950 * ----------------------------------------------------------------------------- */
951
952 /* Constant Types */
953 #define SWIG_PY_POINTER 4
954 #define SWIG_PY_BINARY 5
955
956 /* Constant information structure */
957 typedef struct swig_const_info {
958 int type;
959 char *name;
960 long lvalue;
961 double dvalue;
962 void *pvalue;
963 swig_type_info **ptype;
964 } swig_const_info;
965
966 #ifdef __cplusplus
967 #if 0
968 { /* cc-mode */
969 #endif
970 }
971 #endif
972
973
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 *
978 * pyrun.swg
979 *
980 * This file contains the runtime support for Python modules
981 * and includes code for managing global variables and pointer
982 * type checking.
983 *
984 * ----------------------------------------------------------------------------- */
985
986 /* Common SWIG API */
987
988 #if PY_VERSION_HEX < 0x02050000
989 typedef int Py_ssize_t;
990 #endif
991
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
1000
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)
1004
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)
1008
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)
1012
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)
1016
1017
1018 /* Runtime API */
1019
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)
1023
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
1029
1030
1031 /* Runtime API implementation */
1032
1033 /* Error manipulation */
1034
1035 SWIGINTERN void
1036 SWIG_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;
1041 }
1042
1043 SWIGINTERN void
1044 SWIG_Python_SetErrorMsg(PyObject *errtype, const char *msg) {
1045 SWIG_PYTHON_THREAD_BEGIN_BLOCK;
1046 PyErr_SetString(errtype, (char *) msg);
1047 SWIG_PYTHON_THREAD_END_BLOCK;
1048 }
1049
1050 #define SWIG_Python_Raise(obj, type, desc) SWIG_Python_SetErrorObj(SWIG_Python_ExceptionType(desc), obj)
1051
1052 /* Set a constant value */
1053
1054 SWIGINTERN void
1055 SWIG_Python_SetConstant(PyObject *d, const char *name, PyObject *obj) {
1056 PyDict_SetItemString(d, (char*) name, obj);
1057 Py_DECREF(obj);
1058 }
1059
1060 /* Append a value to the result obj */
1061
1062 SWIGINTERN PyObject*
1063 SWIG_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;
1088 } else {
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);
1100 }
1101 return result;
1102 #endif
1103 }
1104
1105 /* Unpack the argument tuple */
1106
1107 SWIGINTERN int
1108 SWIG_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
1173 extern "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
1193 SWIGRUNTIMEINLINE PyObject *
1194 _SWIG_Py_None(void)
1195 {
1196 PyObject *none = Py_BuildValue("");
1197 Py_DECREF(none);
1198 return none;
1199 }
1200 SWIGRUNTIME PyObject *
1201 SWIG_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
1210 SWIGRUNTIMEINLINE PyObject *
1211 SWIG_Py_Void(void)
1212 {
1213 PyObject *none = Py_None;
1214 Py_INCREF(none);
1215 return none;
1216 }
1217
1218 /* PySwigClientData */
1219
1220 typedef struct {
1221 PyObject *klass;
1222 PyObject *newraw;
1223 PyObject *newargs;
1224 PyObject *destroy;
1225 int delargs;
1226 int implicitconv;
1227 } PySwigClientData;
1228
1229 SWIGRUNTIMEINLINE int
1230 SWIG_Python_CheckImplicit(swig_type_info *ty)
1231 {
1232 PySwigClientData *data = (PySwigClientData *)ty->clientdata;
1233 return data ? data->implicitconv : 0;
1234 }
1235
1236 SWIGRUNTIMEINLINE PyObject *
1237 SWIG_Python_ExceptionType(swig_type_info *desc) {
1238 PySwigClientData *data = desc ? (PySwigClientData *) desc->clientdata : 0;
1239 PyObject *klass = data ? data->klass : 0;
1240 return (klass ? klass : PyExc_RuntimeError);
1241 }
1242
1243
1244 SWIGRUNTIME PySwigClientData *
1245 PySwigClientData_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
1297 SWIGRUNTIME void
1298 PySwigClientData_Del(PySwigClientData* data)
1299 {
1300 Py_XDECREF(data->newraw);
1301 Py_XDECREF(data->newargs);
1302 Py_XDECREF(data->destroy);
1303 }
1304
1305 /* =============== PySwigObject =====================*/
1306
1307 typedef struct {
1308 PyObject_HEAD
1309 void *ptr;
1310 swig_type_info *ty;
1311 int own;
1312 PyObject *next;
1313 } PySwigObject;
1314
1315 SWIGRUNTIME PyObject *
1316 PySwigObject_long(PySwigObject *v)
1317 {
1318 return PyLong_FromVoidPtr(v->ptr);
1319 }
1320
1321 SWIGRUNTIME PyObject *
1322 PySwigObject_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
1339 SWIGRUNTIME PyObject *
1340 PySwigObject_oct(PySwigObject *v)
1341 {
1342 return PySwigObject_format("%o",v);
1343 }
1344
1345 SWIGRUNTIME PyObject *
1346 PySwigObject_hex(PySwigObject *v)
1347 {
1348 return PySwigObject_format("%x",v);
1349 }
1350
1351 SWIGRUNTIME PyObject *
1352 #ifdef METH_NOARGS
1353 PySwigObject_repr(PySwigObject *v)
1354 #else
1355 PySwigObject_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
1373 SWIGRUNTIME int
1374 PySwigObject_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
1390 SWIGRUNTIME PyObject *
1391 PySwigObject_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
1398 SWIGRUNTIME int
1399 PySwigObject_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
1406 SWIGRUNTIME PyTypeObject* _PySwigObject_type(void);
1407
1408 SWIGRUNTIME PyTypeObject*
1409 PySwigObject_type(void) {
1410 static PyTypeObject *SWIG_STATIC_POINTER(type) = _PySwigObject_type();
1411 return type;
1412 }
1413
1414 SWIGRUNTIMEINLINE int
1415 PySwigObject_Check(PyObject *op) {
1416 return ((op)->ob_type == PySwigObject_type())
1417 || (strcmp((op)->ob_type->tp_name,"PySwigObject") == 0);
1418 }
1419
1420 SWIGRUNTIME PyObject *
1421 PySwigObject_New(void *ptr, swig_type_info *ty, int own);
1422
1423 SWIGRUNTIME void
1424 PySwigObject_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
1457 SWIGRUNTIME PyObject*
1458 PySwigObject_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
1474 SWIGRUNTIME PyObject*
1475 #ifdef METH_NOARGS
1476 PySwigObject_next(PyObject* v)
1477 #else
1478 PySwigObject_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
1490 SWIGINTERN PyObject*
1491 #ifdef METH_NOARGS
1492 PySwigObject_disown(PyObject *v)
1493 #else
1494 PySwigObject_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
1502 SWIGINTERN PyObject*
1503 #ifdef METH_NOARGS
1504 PySwigObject_acquire(PyObject *v)
1505 #else
1506 PySwigObject_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
1514 SWIGINTERN PyObject*
1515 PySwigObject_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
1550 static PyMethodDef
1551 swigobject_methods[] = {
1552 {(char *)"disown", (PyCFunction)PySwigObject_disown, METH_NOARGS, (char *)"releases ownership of the pointer"},
1553 {(char *)"acquire", (PyCFunction)PySwigObject_acquire, METH_NOARGS, (char *)"aquires ownership of the pointer"},
1554 {(char *)"own", (PyCFunction)PySwigObject_own, METH_VARARGS, (char *)"returns/sets ownership of the pointer"},
1555 {(char *)"append", (PyCFunction)PySwigObject_append, METH_O, (char *)"appends another 'this' object"},
1556 {(char *)"next", (PyCFunction)PySwigObject_next, METH_NOARGS, (char *)"returns the next 'this' object"},
1557 {(char *)"__repr__",(PyCFunction)PySwigObject_repr, METH_NOARGS, (char *)"returns object representation"},
1558 {0, 0, 0, 0}
1559 };
1560 #else
1561 static PyMethodDef
1562 swigobject_methods[] = {
1563 {(char *)"disown", (PyCFunction)PySwigObject_disown, METH_VARARGS, (char *)"releases ownership of the pointer"},
1564 {(char *)"acquire", (PyCFunction)PySwigObject_acquire, METH_VARARGS, (char *)"aquires ownership of the pointer"},
1565 {(char *)"own", (PyCFunction)PySwigObject_own, METH_VARARGS, (char *)"returns/sets ownership of the pointer"},
1566 {(char *)"append", (PyCFunction)PySwigObject_append, METH_VARARGS, (char *)"appends another 'this' object"},
1567 {(char *)"next", (PyCFunction)PySwigObject_next, METH_VARARGS, (char *)"returns the next 'this' object"},
1568 {(char *)"__repr__",(PyCFunction)PySwigObject_repr, METH_VARARGS, (char *)"returns object representation"},
1569 {0, 0, 0, 0}
1570 };
1571 #endif
1572
1573 #if PY_VERSION_HEX < 0x02020000
1574 SWIGINTERN PyObject *
1575 PySwigObject_getattr(PySwigObject *sobj,char *name)
1576 {
1577 return Py_FindMethod(swigobject_methods, (PyObject *)sobj, name);
1578 }
1579 #endif
1580
1581 SWIGRUNTIME 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*/
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*/
1609 #if PY_VERSION_HEX >= 0x02020000
1610 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_inplace_true_divide */
1611 #elif PY_VERSION_HEX >= 0x02000000
1612 0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_inplace_or */
1613 #endif
1614 };
1615
1616 static PyTypeObject pyswigobject_type;
1617 static int type_init = 0;
1618 if (!type_init) {
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 */
1632 #endif
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 */
1651 #if PY_VERSION_HEX >= 0x02020000
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 */
1672 #endif
1673 #if PY_VERSION_HEX >= 0x02030000
1674 0, /* tp_del */
1675 #endif
1676 #ifdef COUNT_ALLOCS
1677 0,0,0,0 /* tp_alloc -> tp_next */
1678 #endif
1679 };
1680 pyswigobject_type = tmp;
1681 pyswigobject_type.ob_type = &PyType_Type;
1682 type_init = 1;
1683 }
1684 return &pyswigobject_type;
1685 }
1686
1687 SWIGRUNTIME PyObject *
1688 PySwigObject_New(void *ptr, swig_type_info *ty, int own)
1689 {
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;
1696 }
1697 return (PyObject *)sobj;
1698 }
1699
1700 /* -----------------------------------------------------------------------------
1701 * Implements a simple Swig Packed type, and use it instead of string
1702 * ----------------------------------------------------------------------------- */
1703
1704 typedef struct {
1705 PyObject_HEAD
1706 void *pack;
1707 swig_type_info *ty;
1708 size_t size;
1709 } PySwigPacked;
1710
1711 SWIGRUNTIME int
1712 PySwigPacked_print(PySwigPacked *v, FILE *fp, int SWIGUNUSEDPARM(flags))
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 }
1720 fputs(v->ty->name,fp);
1721 fputs(">", fp);
1722 return 0;
1723 }
1724
1725 SWIGRUNTIME PyObject *
1726 PySwigPacked_repr(PySwigPacked *v)
1727 {
1728 char result[SWIG_BUFFER_SIZE];
1729 if (SWIG_PackDataName(result, v->pack, v->size, 0, sizeof(result))) {
1730 return PyString_FromFormat("<Swig Packed at %s%s>", result, v->ty->name);
1731 } else {
1732 return PyString_FromFormat("<Swig Packed %s>", v->ty->name);
1733 }
1734 }
1735
1736 SWIGRUNTIME PyObject *
1737 PySwigPacked_str(PySwigPacked *v)
1738 {
1739 char result[SWIG_BUFFER_SIZE];
1740 if (SWIG_PackDataName(result, v->pack, v->size, 0, sizeof(result))){
1741 return PyString_FromFormat("%s%s", result, v->ty->name);
1742 } else {
1743 return PyString_FromString(v->ty->name);
1744 }
1745 }
1746
1747 SWIGRUNTIME int
1748 PySwigPacked_compare(PySwigPacked *v, PySwigPacked *w)
1749 {
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);
1754 }
1755
1756 SWIGRUNTIME PyTypeObject* _PySwigPacked_type(void);
1757
1758 SWIGRUNTIME PyTypeObject*
1759 PySwigPacked_type(void) {
1760 static PyTypeObject *SWIG_STATIC_POINTER(type) = _PySwigPacked_type();
1761 return type;
1762 }
1763
1764 SWIGRUNTIMEINLINE int
1765 PySwigPacked_Check(PyObject *op) {
1766 return ((op)->ob_type == _PySwigPacked_type())
1767 || (strcmp((op)->ob_type->tp_name,"PySwigPacked") == 0);
1768 }
1769
1770 SWIGRUNTIME void
1771 PySwigPacked_dealloc(PyObject *v)
1772 {
1773 if (PySwigPacked_Check(v)) {
1774 PySwigPacked *sobj = (PySwigPacked *) v;
1775 free(sobj->pack);
1776 }
1777 PyObject_DEL(v);
1778 }
1779
1780 SWIGRUNTIME PyTypeObject*
1781 _PySwigPacked_type(void) {
1782 static char swigpacked_doc[] = "Swig object carries a C/C++ instance pointer";
1783 static PyTypeObject pyswigpacked_type;
1784 static int type_init = 0;
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;
1846 }
1847 return &pyswigpacked_type;
1848 }
1849
1850 SWIGRUNTIME PyObject *
1851 PySwigPacked_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;
1864 }
1865 }
1866 return (PyObject *) sobj;
1867 }
1868
1869 SWIGRUNTIME swig_type_info *
1870 PySwigPacked_UnpackData(PyObject *obj, void *ptr, size_t size)
1871 {
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;
1877 } else {
1878 return 0;
1879 }
1880 }
1881
1882 /* -----------------------------------------------------------------------------
1883 * pointers/data manipulation
1884 * ----------------------------------------------------------------------------- */
1885
1886 SWIGRUNTIMEINLINE PyObject *
1887 _SWIG_This(void)
1888 {
1889 return PyString_FromString("this");
1890 }
1891
1892 SWIGRUNTIME PyObject *
1893 SWIG_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
1901 SWIGRUNTIME PySwigObject *
1902 SWIG_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 }
1931 }
1932 #else
1933 obj = PyObject_GetAttr(pyobj,SWIG_This());
1934 if (obj) {
1935 Py_DECREF(obj);
1936 } else {
1937 if (PyErr_Occurred()) PyErr_Clear();
1938 return 0;
1939 }
1940 #endif
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;
1947 }
1948 }
1949
1950 /* Acquire a pointer value */
1951
1952 SWIGRUNTIME int
1953 SWIG_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 }
1961 }
1962 return 0;
1963 }
1964
1965 /* Convert a pointer value */
1966
1967 SWIGRUNTIME int
1968 SWIG_Python_ConvertPtrAndOwn(PyObject *obj, void **ptr, swig_type_info *ty, int flags, int *own) {
1969 if (!obj) return SWIG_ERROR;
1970 if (obj == Py_None) {
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;
1995 }
1996 }
1997 if (sobj) {
1998 if (own) *own = sobj->own;
1999 if (flags & SWIG_POINTER_DISOWN) {
2000 sobj->own = 0;
2001 }
2002 return SWIG_OK;
2003 } else {
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;
2041 }
2042 }
2043 }
2044
2045 /* Convert a function ptr value */
2046
2047 SWIGRUNTIME int
2048 SWIG_Python_ConvertFunctionPtr(PyObject *obj, void **ptr, swig_type_info *ty) {
2049 if (!PyCFunction_Check(obj)) {
2050 return SWIG_ConvertPtr(obj, ptr, ty, 0);
2051 } else {
2052 void *vptr = 0;
2053
2054 /* here we get the method pointer for callbacks */
2055 const char *doc = (((PyCFunctionObject *)obj) -> m_ml -> ml_doc);
2056 const char *desc = doc ? strstr(doc, "swig_ptr: ") : 0;
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;
2067 }
2068 return SWIG_OK;
2069 }
2070 }
2071
2072 /* Convert a packed value value */
2073
2074 SWIGRUNTIME int
2075 SWIG_Python_ConvertPacked(PyObject *obj, void *ptr, size_t sz, swig_type_info *ty) {
2076 swig_type_info *to = PySwigPacked_UnpackData(obj, ptr, sz);
2077 if (!to) return SWIG_ERROR;
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 */
2096
2097 SWIGRUNTIME PyObject*
2098 SWIG_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 }
2116 #else
2117 PyObject *key = SWIG_This();
2118 PyObject_SetAttr(inst, key, swig_this);
2119 #endif
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);
2126 }
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 }
2159
2160 SWIGRUNTIME void
2161 SWIG_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
2182 SWIGINTERN PyObject *
2183 SWIG_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]);
2191 } else {
2192 SWIG_Python_SetSwigThis(obj[0], obj[1]);
2193 }
2194 return SWIG_Py_Void();
2195 }
2196 }
2197
2198 /* Create a new pointer object */
2199
2200 SWIGRUNTIME PyObject *
2201 SWIG_Python_NewPointerObj(void *ptr, swig_type_info *type, int flags) {
2202 if (!ptr) {
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;
2213 }
2214 }
2215 return robj;
2216 }
2217 }
2218
2219 /* Create a new packed object */
2220
2221 SWIGRUNTIMEINLINE PyObject *
2222 SWIG_Python_NewPackedObj(void *ptr, size_t sz, swig_type_info *type) {
2223 return ptr ? PySwigPacked_New((void *) ptr, sz, type) : SWIG_Py_Void();
2224 }
2225
2226 /* -----------------------------------------------------------------------------*
2227 * Get type list
2228 * -----------------------------------------------------------------------------*/
2229
2230 #ifdef SWIG_LINK_RUNTIME
2231 void *SWIG_ReturnGlobalTypeList(void *);
2232 #endif
2233
2234 SWIGRUNTIME swig_module_info *
2235 SWIG_Python_GetModule(void) {
2236 static void *type_pointer = (void *)0;
2237 /* first check if module already created */
2238 if (!type_pointer) {
2239 #ifdef SWIG_LINK_RUNTIME
2240 type_pointer = SWIG_ReturnGlobalTypeList((void *)0);
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 }
2248 #endif
2249 }
2250 return (swig_module_info *) type_pointer;
2251 }
2252
2253 #if PY_MAJOR_VERSION < 2
2254 /* PyModule_AddObject function was introduced in Python 2.0. The following function
2255 is copied out of Python/modsupport.c in python version 2.3.4 */
2256 SWIGINTERN int
2257 PyModule_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");
2263 return SWIG_ERROR;
2264 }
2265 if (!o) {
2266 PyErr_SetString(PyExc_TypeError,
2267 "PyModule_AddObject() needs non-NULL value");
2268 return SWIG_ERROR;
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));
2276 return SWIG_ERROR;
2277 }
2278 if (PyDict_SetItemString(dict, name, o))
2279 return SWIG_ERROR;
2280 Py_DECREF(o);
2281 return SWIG_OK;
2282 }
2283 #endif
2284
2285 SWIGRUNTIME void
2286 SWIG_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
2301 SWIGRUNTIME void
2302 SWIG_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);
2307 PyObject *pointer = PyCObject_FromVoidPtr((void *) swig_module, SWIG_Python_DestroyModule);
2308 if (pointer && module) {
2309 PyModule_AddObject(module, (char*)"type_pointer" SWIG_TYPE_TABLE_NAME, pointer);
2310 } else {
2311 Py_XDECREF(pointer);
2312 }
2313 }
2314
2315 /* The python cached type query */
2316 SWIGRUNTIME PyObject *
2317 SWIG_Python_TypeCache() {
2318 static PyObject *SWIG_STATIC_POINTER(cache) = PyDict_New();
2319 return cache;
2320 }
2321
2322 SWIGRUNTIME swig_type_info *
2323 SWIG_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
2351 SWIGRUNTIME int
2352 SWIG_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
2376 SWIGRUNTIME int
2377 SWIG_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
2389 SWIGRUNTIMEINLINE const char *
2390 PySwigObject_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
2397 SWIGRUNTIME void
2398 SWIG_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 */
2435 SWIGRUNTIME void *
2436 SWIG_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 }
2444 }
2445 return result;
2446 }
2447
2448
2449 #ifdef __cplusplus
2450 #if 0
2451 { /* cc-mode */
2452 #endif
2453 }
2454 #endif
2455
2456
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
2464 /* -------- TYPES TABLE (BEGIN) -------- */
2465
2466 #define SWIGTYPE_p_char swig_types[0]
2467 #define SWIGTYPE_p_form_ops_t swig_types[1]
2468 #define SWIGTYPE_p_int swig_types[2]
2469 #define SWIGTYPE_p_unsigned_char swig_types[3]
2470 #define SWIGTYPE_p_unsigned_int swig_types[4]
2471 #define SWIGTYPE_p_unsigned_long swig_types[5]
2472 #define SWIGTYPE_p_wxANIHandler swig_types[6]
2473 #define SWIGTYPE_p_wxAcceleratorTable swig_types[7]
2474 #define SWIGTYPE_p_wxActivateEvent swig_types[8]
2475 #define SWIGTYPE_p_wxBMPHandler swig_types[9]
2476 #define SWIGTYPE_p_wxBoxSizer swig_types[10]
2477 #define SWIGTYPE_p_wxCURHandler swig_types[11]
2478 #define SWIGTYPE_p_wxChildFocusEvent swig_types[12]
2479 #define SWIGTYPE_p_wxClipboardTextEvent swig_types[13]
2480 #define SWIGTYPE_p_wxCloseEvent swig_types[14]
2481 #define SWIGTYPE_p_wxCommandEvent swig_types[15]
2482 #define SWIGTYPE_p_wxContextMenuEvent swig_types[16]
2483 #define SWIGTYPE_p_wxControl swig_types[17]
2484 #define SWIGTYPE_p_wxControlWithItems swig_types[18]
2485 #define SWIGTYPE_p_wxDateEvent swig_types[19]
2486 #define SWIGTYPE_p_wxDisplayChangedEvent swig_types[20]
2487 #define SWIGTYPE_p_wxDropFilesEvent swig_types[21]
2488 #define SWIGTYPE_p_wxDuplexMode swig_types[22]
2489 #define SWIGTYPE_p_wxEraseEvent swig_types[23]
2490 #define SWIGTYPE_p_wxEvent swig_types[24]
2491 #define SWIGTYPE_p_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]
2558 static swig_type_info *swig_types[93];
2559 static swig_module_info swig_module = {swig_types, 92, 0, 0, 0, 0};
2560 #define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name)
2561 #define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name)
2562
2563 /* -------- TYPES TABLE (END) -------- */
2564
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
2579
2580 /*-----------------------------------------------
2581 @(target):= _glcanvas.so
2582 ------------------------------------------------*/
2583 #define SWIG_init init_glcanvas
2584
2585 #define SWIG_name "_glcanvas"
2586
2587 #define SWIGVERSION 0x010329
2588
2589
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))
2592
2593
2594 #include <stdexcept>
2595
2596
2597 namespace swig {
2598 class PyObject_ptr {
2599 protected:
2600 PyObject *_obj;
2601
2602 public:
2603 PyObject_ptr() :_obj(0)
2604 {
2605 }
2606
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);
2615 }
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;
2623 }
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 };
2640 }
2641
2642
2643 namespace 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;
2652 }
2653 };
2654 }
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
2666 #define SWIG_From_long PyInt_FromLong
2667
2668
2669 SWIGINTERNINLINE PyObject *
2670 SWIG_From_int (int value)
2671 {
2672 return SWIG_From_long (value);
2673 }
2674
2675
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
2686
2687
2688 SWIGINTERN int
2689 SWIG_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
2699 SWIGINTERN int
2700 SWIG_AsVal_int (PyObject * obj, int *val)
2701 {
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;
2712 }
2713
2714 #ifdef __cplusplus
2715 extern "C" {
2716 #endif
2717 SWIGINTERN int GLCanvasNameStr_set(PyObject *) {
2718 SWIG_Error(SWIG_AttributeError,"Variable GLCanvasNameStr is read-only.");
2719 return 1;
2720 }
2721
2722
2723 SWIGINTERN PyObject *GLCanvasNameStr_get(void) {
2724 PyObject *pyobj = 0;
2725
2726 {
2727 #if wxUSE_UNICODE
2728 pyobj = PyUnicode_FromWideChar((&wxPyGLCanvasNameStr)->c_str(), (&wxPyGLCanvasNameStr)->Len());
2729 #else
2730 pyobj = PyString_FromStringAndSize((&wxPyGLCanvasNameStr)->c_str(), (&wxPyGLCanvasNameStr)->Len());
2731 #endif
2732 }
2733 return pyobj;
2734 }
2735
2736
2737 SWIGINTERN PyObject *_wrap_new_GLContext(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
2738 PyObject *resultobj = 0;
2739 wxGLCanvas *arg1 = (wxGLCanvas *) 0 ;
2740 wxGLContext *arg2 = (wxGLContext *) NULL ;
2741 wxGLContext *result = 0 ;
2742 void *argp1 = 0 ;
2743 int res1 = 0 ;
2744 void *argp2 = 0 ;
2745 int res2 = 0 ;
2746 PyObject * obj0 = 0 ;
2747 PyObject * obj1 = 0 ;
2748 char * kwnames[] = {
2749 (char *) "win",(char *) "other", NULL
2750 };
2751
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 *""'");
2756 }
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 *""'");
2762 }
2763 arg2 = reinterpret_cast< wxGLContext * >(argp2);
2764 }
2765 {
2766 if (!wxPyCheckForApp()) SWIG_fail;
2767 PyThreadState* __tstate = wxPyBeginAllowThreads();
2768 result = (wxGLContext *)new wxGLContext(arg1,(wxGLContext const *)arg2);
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;
2774 fail:
2775 return NULL;
2776 }
2777
2778
2779 SWIGINTERN 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;
2796
2797 wxPyEndAllowThreads(__tstate);
2798 if (PyErr_Occurred()) SWIG_fail;
2799 }
2800 resultobj = SWIG_Py_Void();
2801 return resultobj;
2802 fail:
2803 return NULL;
2804 }
2805
2806
2807 SWIGINTERN PyObject *_wrap_GLContext_SetCurrent(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
2808 PyObject *resultobj = 0;
2809 wxGLContext *arg1 = (wxGLContext *) 0 ;
2810 wxGLCanvas *arg2 = 0 ;
2811 void *argp1 = 0 ;
2812 int res1 = 0 ;
2813 void *argp2 = 0 ;
2814 int res2 = 0 ;
2815 PyObject * obj0 = 0 ;
2816 PyObject * obj1 = 0 ;
2817 char * kwnames[] = {
2818 (char *) "self",(char *) "win", NULL
2819 };
2820
2821 if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:GLContext_SetCurrent",kwnames,&obj0,&obj1)) SWIG_fail;
2822 res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_wxGLContext, 0 | 0 );
2823 if (!SWIG_IsOK(res1)) {
2824 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "GLContext_SetCurrent" "', expected argument " "1"" of type '" "wxGLContext *""'");
2825 }
2826 arg1 = reinterpret_cast< wxGLContext * >(argp1);
2827 res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_wxGLCanvas, 0 | 0);
2828 if (!SWIG_IsOK(res2)) {
2829 SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "GLContext_SetCurrent" "', expected argument " "2"" of type '" "wxGLCanvas const &""'");
2830 }
2831 if (!argp2) {
2832 SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "GLContext_SetCurrent" "', expected argument " "2"" of type '" "wxGLCanvas const &""'");
2833 }
2834 arg2 = reinterpret_cast< wxGLCanvas * >(argp2);
2835 {
2836 PyThreadState* __tstate = wxPyBeginAllowThreads();
2837 (arg1)->SetCurrent((wxGLCanvas const &)*arg2);
2838 wxPyEndAllowThreads(__tstate);
2839 if (PyErr_Occurred()) SWIG_fail;
2840 }
2841 resultobj = SWIG_Py_Void();
2842 return resultobj;
2843 fail:
2844 return NULL;
2845 }
2846
2847
2848 SWIGINTERN PyObject *GLContext_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
2849 PyObject *obj;
2850 if (!SWIG_Python_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL;
2851 SWIG_TypeNewClientData(SWIGTYPE_p_wxGLContext, SWIG_NewClientData(obj));
2852 return SWIG_Py_Void();
2853 }
2854
2855 SWIGINTERN PyObject *GLContext_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
2856 return SWIG_Python_InitShadowInstance(args);
2857 }
2858
2859 SWIGINTERN PyObject *_wrap_new_GLCanvas(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
2860 PyObject *resultobj = 0;
2861 wxWindow *arg1 = (wxWindow *) 0 ;
2862 int arg2 = (int) -1 ;
2863 int *arg3 = (int *) NULL ;
2864 wxPoint const &arg4_defvalue = wxDefaultPosition ;
2865 wxPoint *arg4 = (wxPoint *) &arg4_defvalue ;
2866 wxSize const &arg5_defvalue = wxDefaultSize ;
2867 wxSize *arg5 = (wxSize *) &arg5_defvalue ;
2868 long arg6 = (long) 0 ;
2869 wxString const &arg7_defvalue = wxPyGLCanvasNameStr ;
2870 wxString *arg7 = (wxString *) &arg7_defvalue ;
2871 wxPalette const &arg8_defvalue = wxNullPalette ;
2872 wxPalette *arg8 = (wxPalette *) &arg8_defvalue ;
2873 wxGLCanvas *result = 0 ;
2874 void *argp1 = 0 ;
2875 int res1 = 0 ;
2876 int val2 ;
2877 int ecode2 = 0 ;
2878 int *temp3 ;
2879 wxPoint temp4 ;
2880 wxSize temp5 ;
2881 long val6 ;
2882 int ecode6 = 0 ;
2883 bool temp7 = false ;
2884 void *argp8 = 0 ;
2885 int res8 = 0 ;
2886 PyObject * obj0 = 0 ;
2887 PyObject * obj1 = 0 ;
2888 PyObject * obj2 = 0 ;
2889 PyObject * obj3 = 0 ;
2890 PyObject * obj4 = 0 ;
2891 PyObject * obj5 = 0 ;
2892 PyObject * obj6 = 0 ;
2893 PyObject * obj7 = 0 ;
2894 char * kwnames[] = {
2895 (char *) "parent",(char *) "id",(char *) "attribList",(char *) "pos",(char *) "size",(char *) "style",(char *) "name",(char *) "palette", NULL
2896 };
2897
2898 if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|OOOOOOO:new_GLCanvas",kwnames,&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7)) SWIG_fail;
2899 res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_wxWindow, 0 | 0 );
2900 if (!SWIG_IsOK(res1)) {
2901 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_GLCanvas" "', expected argument " "1"" of type '" "wxWindow *""'");
2902 }
2903 arg1 = reinterpret_cast< wxWindow * >(argp1);
2904 if (obj1) {
2905 ecode2 = SWIG_AsVal_int(obj1, &val2);
2906 if (!SWIG_IsOK(ecode2)) {
2907 SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_GLCanvas" "', expected argument " "2"" of type '" "int""'");
2908 }
2909 arg2 = static_cast< int >(val2);
2910 }
2911 if (obj2) {
2912 {
2913 int i;
2914 if (PySequence_Check(obj2)) {
2915 int size = PyObject_Length(obj2);
2916 temp3 = new int[size+1]; // (int*)malloc((size + 1) * sizeof(int));
2917 for (i = 0; i < size; i++) {
2918 temp3[i] = PyInt_AsLong(PySequence_GetItem(obj2, i));
2919 }
2920 temp3[size] = 0;
2921 arg3 = temp3;
2922 }
2923 }
2924 }
2925 if (obj3) {
2926 {
2927 arg4 = &temp4;
2928 if ( ! wxPoint_helper(obj3, &arg4)) SWIG_fail;
2929 }
2930 }
2931 if (obj4) {
2932 {
2933 arg5 = &temp5;
2934 if ( ! wxSize_helper(obj4, &arg5)) SWIG_fail;
2935 }
2936 }
2937 if (obj5) {
2938 ecode6 = SWIG_AsVal_long(obj5, &val6);
2939 if (!SWIG_IsOK(ecode6)) {
2940 SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "new_GLCanvas" "', expected argument " "6"" of type '" "long""'");
2941 }
2942 arg6 = static_cast< long >(val6);
2943 }
2944 if (obj6) {
2945 {
2946 arg7 = wxString_in_helper(obj6);
2947 if (arg7 == NULL) SWIG_fail;
2948 temp7 = true;
2949 }
2950 }
2951 if (obj7) {
2952 res8 = SWIG_ConvertPtr(obj7, &argp8, SWIGTYPE_p_wxPalette, 0 | 0);
2953 if (!SWIG_IsOK(res8)) {
2954 SWIG_exception_fail(SWIG_ArgError(res8), "in method '" "new_GLCanvas" "', expected argument " "8"" of type '" "wxPalette const &""'");
2955 }
2956 if (!argp8) {
2957 SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_GLCanvas" "', expected argument " "8"" of type '" "wxPalette const &""'");
2958 }
2959 arg8 = reinterpret_cast< wxPalette * >(argp8);
2960 }
2961 {
2962 if (!wxPyCheckForApp()) SWIG_fail;
2963 PyThreadState* __tstate = wxPyBeginAllowThreads();
2964 result = (wxGLCanvas *)new wxGLCanvas(arg1,arg2,(int const *)arg3,(wxPoint const &)*arg4,(wxSize const &)*arg5,arg6,(wxString const &)*arg7,(wxPalette const &)*arg8);
2965 wxPyEndAllowThreads(__tstate);
2966 if (PyErr_Occurred()) SWIG_fail;
2967 }
2968 resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_wxGLCanvas, SWIG_POINTER_NEW | 0 );
2969 {
2970 delete [] arg3;
2971 }
2972 {
2973 if (temp7)
2974 delete arg7;
2975 }
2976 return resultobj;
2977 fail:
2978 {
2979 delete [] arg3;
2980 }
2981 {
2982 if (temp7)
2983 delete arg7;
2984 }
2985 return NULL;
2986 }
2987
2988
2989 SWIGINTERN PyObject *_wrap_GLCanvas_Create(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
2990 PyObject *resultobj = 0;
2991 wxGLCanvas *arg1 = (wxGLCanvas *) 0 ;
2992 wxWindow *arg2 = (wxWindow *) 0 ;
2993 int arg3 = (int) wxID_ANY ;
2994 wxPoint const &arg4_defvalue = wxDefaultPosition ;
2995 wxPoint *arg4 = (wxPoint *) &arg4_defvalue ;
2996 wxSize const &arg5_defvalue = wxDefaultSize ;
2997 wxSize *arg5 = (wxSize *) &arg5_defvalue ;
2998 long arg6 = (long) 0 ;
2999 wxString const &arg7_defvalue = wxGLCanvasName ;
3000 wxString *arg7 = (wxString *) &arg7_defvalue ;
3001 int *arg8 = (int *) NULL ;
3002 wxPalette const &arg9_defvalue = wxNullPalette ;
3003 wxPalette *arg9 = (wxPalette *) &arg9_defvalue ;
3004 bool result;
3005 void *argp1 = 0 ;
3006 int res1 = 0 ;
3007 void *argp2 = 0 ;
3008 int res2 = 0 ;
3009 int val3 ;
3010 int ecode3 = 0 ;
3011 wxPoint temp4 ;
3012 wxSize temp5 ;
3013 long val6 ;
3014 int ecode6 = 0 ;
3015 bool temp7 = false ;
3016 int *temp8 ;
3017 void *argp9 = 0 ;
3018 int res9 = 0 ;
3019 PyObject * obj0 = 0 ;
3020 PyObject * obj1 = 0 ;
3021 PyObject * obj2 = 0 ;
3022 PyObject * obj3 = 0 ;
3023 PyObject * obj4 = 0 ;
3024 PyObject * obj5 = 0 ;
3025 PyObject * obj6 = 0 ;
3026 PyObject * obj7 = 0 ;
3027 PyObject * obj8 = 0 ;
3028 char * kwnames[] = {
3029 (char *) "self",(char *) "parent",(char *) "id",(char *) "pos",(char *) "size",(char *) "style",(char *) "name",(char *) "attribList",(char *) "palette", NULL
3030 };
3031
3032 if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|OOOOOOO:GLCanvas_Create",kwnames,&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8)) SWIG_fail;
3033 res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_wxGLCanvas, 0 | 0 );
3034 if (!SWIG_IsOK(res1)) {
3035 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "GLCanvas_Create" "', expected argument " "1"" of type '" "wxGLCanvas *""'");
3036 }
3037 arg1 = reinterpret_cast< wxGLCanvas * >(argp1);
3038 res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_wxWindow, 0 | 0 );
3039 if (!SWIG_IsOK(res2)) {
3040 SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "GLCanvas_Create" "', expected argument " "2"" of type '" "wxWindow *""'");
3041 }
3042 arg2 = reinterpret_cast< wxWindow * >(argp2);
3043 if (obj2) {
3044 ecode3 = SWIG_AsVal_int(obj2, &val3);
3045 if (!SWIG_IsOK(ecode3)) {
3046 SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "GLCanvas_Create" "', expected argument " "3"" of type '" "int""'");
3047 }
3048 arg3 = static_cast< int >(val3);
3049 }
3050 if (obj3) {
3051 {
3052 arg4 = &temp4;
3053 if ( ! wxPoint_helper(obj3, &arg4)) SWIG_fail;
3054 }
3055 }
3056 if (obj4) {
3057 {
3058 arg5 = &temp5;
3059 if ( ! wxSize_helper(obj4, &arg5)) SWIG_fail;
3060 }
3061 }
3062 if (obj5) {
3063 ecode6 = SWIG_AsVal_long(obj5, &val6);
3064 if (!SWIG_IsOK(ecode6)) {
3065 SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "GLCanvas_Create" "', expected argument " "6"" of type '" "long""'");
3066 }
3067 arg6 = static_cast< long >(val6);
3068 }
3069 if (obj6) {
3070 {
3071 arg7 = wxString_in_helper(obj6);
3072 if (arg7 == NULL) SWIG_fail;
3073 temp7 = true;
3074 }
3075 }
3076 if (obj7) {
3077 {
3078 int i;
3079 if (PySequence_Check(obj7)) {
3080 int size = PyObject_Length(obj7);
3081 temp8 = new int[size+1]; // (int*)malloc((size + 1) * sizeof(int));
3082 for (i = 0; i < size; i++) {
3083 temp8[i] = PyInt_AsLong(PySequence_GetItem(obj7, i));
3084 }
3085 temp8[size] = 0;
3086 arg8 = temp8;
3087 }
3088 }
3089 }
3090 if (obj8) {
3091 res9 = SWIG_ConvertPtr(obj8, &argp9, SWIGTYPE_p_wxPalette, 0 | 0);
3092 if (!SWIG_IsOK(res9)) {
3093 SWIG_exception_fail(SWIG_ArgError(res9), "in method '" "GLCanvas_Create" "', expected argument " "9"" of type '" "wxPalette const &""'");
3094 }
3095 if (!argp9) {
3096 SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "GLCanvas_Create" "', expected argument " "9"" of type '" "wxPalette const &""'");
3097 }
3098 arg9 = reinterpret_cast< wxPalette * >(argp9);
3099 }
3100 {
3101 PyThreadState* __tstate = wxPyBeginAllowThreads();
3102 result = (bool)(arg1)->Create(arg2,arg3,(wxPoint const &)*arg4,(wxSize const &)*arg5,arg6,(wxString const &)*arg7,(int const *)arg8,(wxPalette const &)*arg9);
3103 wxPyEndAllowThreads(__tstate);
3104 if (PyErr_Occurred()) SWIG_fail;
3105 }
3106 {
3107 resultobj = result ? Py_True : Py_False; Py_INCREF(resultobj);
3108 }
3109 {
3110 if (temp7)
3111 delete arg7;
3112 }
3113 {
3114 delete [] arg8;
3115 }
3116 return resultobj;
3117 fail:
3118 {
3119 if (temp7)
3120 delete arg7;
3121 }
3122 {
3123 delete [] arg8;
3124 }
3125 return NULL;
3126 }
3127
3128
3129 SWIGINTERN PyObject *_wrap_new_GLCanvasWithContext(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
3130 PyObject *resultobj = 0;
3131 wxWindow *arg1 = (wxWindow *) 0 ;
3132 wxGLContext *arg2 = (wxGLContext *) NULL ;
3133 int arg3 = (int) -1 ;
3134 wxPoint const &arg4_defvalue = wxDefaultPosition ;
3135 wxPoint *arg4 = (wxPoint *) &arg4_defvalue ;
3136 wxSize const &arg5_defvalue = wxDefaultSize ;
3137 wxSize *arg5 = (wxSize *) &arg5_defvalue ;
3138 long arg6 = (long) 0 ;
3139 wxString const &arg7_defvalue = wxPyGLCanvasNameStr ;
3140 wxString *arg7 = (wxString *) &arg7_defvalue ;
3141 int *arg8 = (int *) NULL ;
3142 wxPalette const &arg9_defvalue = wxNullPalette ;
3143 wxPalette *arg9 = (wxPalette *) &arg9_defvalue ;
3144 wxGLCanvas *result = 0 ;
3145 void *argp1 = 0 ;
3146 int res1 = 0 ;
3147 void *argp2 = 0 ;
3148 int res2 = 0 ;
3149 int val3 ;
3150 int ecode3 = 0 ;
3151 wxPoint temp4 ;
3152 wxSize temp5 ;
3153 long val6 ;
3154 int ecode6 = 0 ;
3155 bool temp7 = false ;
3156 int *temp8 ;
3157 void *argp9 = 0 ;
3158 int res9 = 0 ;
3159 PyObject * obj0 = 0 ;
3160 PyObject * obj1 = 0 ;
3161 PyObject * obj2 = 0 ;
3162 PyObject * obj3 = 0 ;
3163 PyObject * obj4 = 0 ;
3164 PyObject * obj5 = 0 ;
3165 PyObject * obj6 = 0 ;
3166 PyObject * obj7 = 0 ;
3167 PyObject * obj8 = 0 ;
3168 char * kwnames[] = {
3169 (char *) "parent",(char *) "shared",(char *) "id",(char *) "pos",(char *) "size",(char *) "style",(char *) "name",(char *) "attribList",(char *) "palette", NULL
3170 };
3171
3172 if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|OOOOOOOO:new_GLCanvasWithContext",kwnames,&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8)) SWIG_fail;
3173 res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_wxWindow, 0 | 0 );
3174 if (!SWIG_IsOK(res1)) {
3175 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_GLCanvasWithContext" "', expected argument " "1"" of type '" "wxWindow *""'");
3176 }
3177 arg1 = reinterpret_cast< wxWindow * >(argp1);
3178 if (obj1) {
3179 res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_wxGLContext, 0 | 0 );
3180 if (!SWIG_IsOK(res2)) {
3181 SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_GLCanvasWithContext" "', expected argument " "2"" of type '" "wxGLContext const *""'");
3182 }
3183 arg2 = reinterpret_cast< wxGLContext * >(argp2);
3184 }
3185 if (obj2) {
3186 ecode3 = SWIG_AsVal_int(obj2, &val3);
3187 if (!SWIG_IsOK(ecode3)) {
3188 SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "new_GLCanvasWithContext" "', expected argument " "3"" of type '" "int""'");
3189 }
3190 arg3 = static_cast< int >(val3);
3191 }
3192 if (obj3) {
3193 {
3194 arg4 = &temp4;
3195 if ( ! wxPoint_helper(obj3, &arg4)) SWIG_fail;
3196 }
3197 }
3198 if (obj4) {
3199 {
3200 arg5 = &temp5;
3201 if ( ! wxSize_helper(obj4, &arg5)) SWIG_fail;
3202 }
3203 }
3204 if (obj5) {
3205 ecode6 = SWIG_AsVal_long(obj5, &val6);
3206 if (!SWIG_IsOK(ecode6)) {
3207 SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "new_GLCanvasWithContext" "', expected argument " "6"" of type '" "long""'");
3208 }
3209 arg6 = static_cast< long >(val6);
3210 }
3211 if (obj6) {
3212 {
3213 arg7 = wxString_in_helper(obj6);
3214 if (arg7 == NULL) SWIG_fail;
3215 temp7 = true;
3216 }
3217 }
3218 if (obj7) {
3219 {
3220 int i;
3221 if (PySequence_Check(obj7)) {
3222 int size = PyObject_Length(obj7);
3223 temp8 = new int[size+1]; // (int*)malloc((size + 1) * sizeof(int));
3224 for (i = 0; i < size; i++) {
3225 temp8[i] = PyInt_AsLong(PySequence_GetItem(obj7, i));
3226 }
3227 temp8[size] = 0;
3228 arg8 = temp8;
3229 }
3230 }
3231 }
3232 if (obj8) {
3233 res9 = SWIG_ConvertPtr(obj8, &argp9, SWIGTYPE_p_wxPalette, 0 | 0);
3234 if (!SWIG_IsOK(res9)) {
3235 SWIG_exception_fail(SWIG_ArgError(res9), "in method '" "new_GLCanvasWithContext" "', expected argument " "9"" of type '" "wxPalette const &""'");
3236 }
3237 if (!argp9) {
3238 SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_GLCanvasWithContext" "', expected argument " "9"" of type '" "wxPalette const &""'");
3239 }
3240 arg9 = reinterpret_cast< wxPalette * >(argp9);
3241 }
3242 {
3243 if (!wxPyCheckForApp()) SWIG_fail;
3244 PyThreadState* __tstate = wxPyBeginAllowThreads();
3245 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);
3246 wxPyEndAllowThreads(__tstate);
3247 if (PyErr_Occurred()) SWIG_fail;
3248 }
3249 resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_wxGLCanvas, SWIG_POINTER_OWN | 0 );
3250 {
3251 if (temp7)
3252 delete arg7;
3253 }
3254 {
3255 delete [] arg8;
3256 }
3257 return resultobj;
3258 fail:
3259 {
3260 if (temp7)
3261 delete arg7;
3262 }
3263 {
3264 delete [] arg8;
3265 }
3266 return NULL;
3267 }
3268
3269
3270 SWIGINTERN PyObject *_wrap_GLCanvas_SetCurrent__SWIG_0(PyObject *SWIGUNUSEDPARM(self), int nobjs, PyObject **swig_obj) {
3271 PyObject *resultobj = 0;
3272 wxGLCanvas *arg1 = (wxGLCanvas *) 0 ;
3273 wxGLContext *arg2 = 0 ;
3274 void *argp1 = 0 ;
3275 int res1 = 0 ;
3276 void *argp2 = 0 ;
3277 int res2 = 0 ;
3278
3279 if ((nobjs < 2) || (nobjs > 2)) SWIG_fail;
3280 res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_wxGLCanvas, 0 | 0 );
3281 if (!SWIG_IsOK(res1)) {
3282 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "GLCanvas_SetCurrent" "', expected argument " "1"" of type '" "wxGLCanvas *""'");
3283 }
3284 arg1 = reinterpret_cast< wxGLCanvas * >(argp1);
3285 res2 = SWIG_ConvertPtr(swig_obj[1], &argp2, SWIGTYPE_p_wxGLContext, 0 | 0);
3286 if (!SWIG_IsOK(res2)) {
3287 SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "GLCanvas_SetCurrent" "', expected argument " "2"" of type '" "wxGLContext const &""'");
3288 }
3289 if (!argp2) {
3290 SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "GLCanvas_SetCurrent" "', expected argument " "2"" of type '" "wxGLContext const &""'");
3291 }
3292 arg2 = reinterpret_cast< wxGLContext * >(argp2);
3293 {
3294 PyThreadState* __tstate = wxPyBeginAllowThreads();
3295 (arg1)->SetCurrent((wxGLContext const &)*arg2);
3296 wxPyEndAllowThreads(__tstate);
3297 if (PyErr_Occurred()) SWIG_fail;
3298 }
3299 resultobj = SWIG_Py_Void();
3300 return resultobj;
3301 fail:
3302 return NULL;
3303 }
3304
3305
3306 SWIGINTERN PyObject *_wrap_GLCanvas_SetColour(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
3307 PyObject *resultobj = 0;
3308 wxGLCanvas *arg1 = (wxGLCanvas *) 0 ;
3309 wxString *arg2 = 0 ;
3310 void *argp1 = 0 ;
3311 int res1 = 0 ;
3312 bool temp2 = false ;
3313 PyObject * obj0 = 0 ;
3314 PyObject * obj1 = 0 ;
3315 char * kwnames[] = {
3316 (char *) "self",(char *) "colour", NULL
3317 };
3318
3319 if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:GLCanvas_SetColour",kwnames,&obj0,&obj1)) SWIG_fail;
3320 res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_wxGLCanvas, 0 | 0 );
3321 if (!SWIG_IsOK(res1)) {
3322 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "GLCanvas_SetColour" "', expected argument " "1"" of type '" "wxGLCanvas *""'");
3323 }
3324 arg1 = reinterpret_cast< wxGLCanvas * >(argp1);
3325 {
3326 arg2 = wxString_in_helper(obj1);
3327 if (arg2 == NULL) SWIG_fail;
3328 temp2 = true;
3329 }
3330 {
3331 PyThreadState* __tstate = wxPyBeginAllowThreads();
3332 (arg1)->SetColour((wxString const &)*arg2);
3333 wxPyEndAllowThreads(__tstate);
3334 if (PyErr_Occurred()) SWIG_fail;
3335 }
3336 resultobj = SWIG_Py_Void();
3337 {
3338 if (temp2)
3339 delete arg2;
3340 }
3341 return resultobj;
3342 fail:
3343 {
3344 if (temp2)
3345 delete arg2;
3346 }
3347 return NULL;
3348 }
3349
3350
3351 SWIGINTERN PyObject *_wrap_GLCanvas_SwapBuffers(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
3352 PyObject *resultobj = 0;
3353 wxGLCanvas *arg1 = (wxGLCanvas *) 0 ;
3354 void *argp1 = 0 ;
3355 int res1 = 0 ;
3356 PyObject *swig_obj[1] ;
3357
3358 if (!args) SWIG_fail;
3359 swig_obj[0] = args;
3360 res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_wxGLCanvas, 0 | 0 );
3361 if (!SWIG_IsOK(res1)) {
3362 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "GLCanvas_SwapBuffers" "', expected argument " "1"" of type '" "wxGLCanvas *""'");
3363 }
3364 arg1 = reinterpret_cast< wxGLCanvas * >(argp1);
3365 {
3366 PyThreadState* __tstate = wxPyBeginAllowThreads();
3367 (arg1)->SwapBuffers();
3368 wxPyEndAllowThreads(__tstate);
3369 if (PyErr_Occurred()) SWIG_fail;
3370 }
3371 resultobj = SWIG_Py_Void();
3372 return resultobj;
3373 fail:
3374 return NULL;
3375 }
3376
3377
3378 SWIGINTERN PyObject *_wrap_GLCanvas_GetContext(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
3379 PyObject *resultobj = 0;
3380 wxGLCanvas *arg1 = (wxGLCanvas *) 0 ;
3381 wxGLContext *result = 0 ;
3382 void *argp1 = 0 ;
3383 int res1 = 0 ;
3384 PyObject *swig_obj[1] ;
3385
3386 if (!args) SWIG_fail;
3387 swig_obj[0] = args;
3388 res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_wxGLCanvas, 0 | 0 );
3389 if (!SWIG_IsOK(res1)) {
3390 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "GLCanvas_GetContext" "', expected argument " "1"" of type '" "wxGLCanvas *""'");
3391 }
3392 arg1 = reinterpret_cast< wxGLCanvas * >(argp1);
3393 {
3394 PyThreadState* __tstate = wxPyBeginAllowThreads();
3395 result = (wxGLContext *)(arg1)->GetContext();
3396 wxPyEndAllowThreads(__tstate);
3397 if (PyErr_Occurred()) SWIG_fail;
3398 }
3399 resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_wxGLContext, 0 | 0 );
3400 return resultobj;
3401 fail:
3402 return NULL;
3403 }
3404
3405
3406 SWIGINTERN PyObject *_wrap_GLCanvas_SetCurrent__SWIG_1(PyObject *SWIGUNUSEDPARM(self), int nobjs, PyObject **swig_obj) {
3407 PyObject *resultobj = 0;
3408 wxGLCanvas *arg1 = (wxGLCanvas *) 0 ;
3409 void *argp1 = 0 ;
3410 int res1 = 0 ;
3411
3412 if ((nobjs < 1) || (nobjs > 1)) SWIG_fail;
3413 res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_wxGLCanvas, 0 | 0 );
3414 if (!SWIG_IsOK(res1)) {
3415 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "GLCanvas_SetCurrent" "', expected argument " "1"" of type '" "wxGLCanvas *""'");
3416 }
3417 arg1 = reinterpret_cast< wxGLCanvas * >(argp1);
3418 {
3419 PyThreadState* __tstate = wxPyBeginAllowThreads();
3420 (arg1)->SetCurrent();
3421 wxPyEndAllowThreads(__tstate);
3422 if (PyErr_Occurred()) SWIG_fail;
3423 }
3424 resultobj = SWIG_Py_Void();
3425 return resultobj;
3426 fail:
3427 return NULL;
3428 }
3429
3430
3431 SWIGINTERN PyObject *_wrap_GLCanvas_SetCurrent(PyObject *self, PyObject *args) {
3432 int argc;
3433 PyObject *argv[3];
3434
3435 if (!(argc = SWIG_Python_UnpackTuple(args,"GLCanvas_SetCurrent",0,2,argv))) SWIG_fail;
3436 --argc;
3437 if (argc == 1) {
3438 return _wrap_GLCanvas_SetCurrent__SWIG_1(self, argc, argv);
3439 }
3440 if (argc == 2) {
3441 return _wrap_GLCanvas_SetCurrent__SWIG_0(self, argc, argv);
3442 }
3443
3444 fail:
3445 SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'GLCanvas_SetCurrent'");
3446 return NULL;
3447 }
3448
3449
3450 SWIGINTERN PyObject *_wrap_GLCanvas_SetupPalette(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
3451 PyObject *resultobj = 0;
3452 wxGLCanvas *arg1 = (wxGLCanvas *) 0 ;
3453 wxPalette *arg2 = 0 ;
3454 void *argp1 = 0 ;
3455 int res1 = 0 ;
3456 void *argp2 = 0 ;
3457 int res2 = 0 ;
3458 PyObject * obj0 = 0 ;
3459 PyObject * obj1 = 0 ;
3460 char * kwnames[] = {
3461 (char *) "self",(char *) "palette", NULL
3462 };
3463
3464 if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:GLCanvas_SetupPalette",kwnames,&obj0,&obj1)) SWIG_fail;
3465 res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_wxGLCanvas, 0 | 0 );
3466 if (!SWIG_IsOK(res1)) {
3467 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "GLCanvas_SetupPalette" "', expected argument " "1"" of type '" "wxGLCanvas *""'");
3468 }
3469 arg1 = reinterpret_cast< wxGLCanvas * >(argp1);
3470 res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_wxPalette, 0 | 0);
3471 if (!SWIG_IsOK(res2)) {
3472 SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "GLCanvas_SetupPalette" "', expected argument " "2"" of type '" "wxPalette const &""'");
3473 }
3474 if (!argp2) {
3475 SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "GLCanvas_SetupPalette" "', expected argument " "2"" of type '" "wxPalette const &""'");
3476 }
3477 arg2 = reinterpret_cast< wxPalette * >(argp2);
3478 {
3479 PyThreadState* __tstate = wxPyBeginAllowThreads();
3480 (arg1)->SetupPalette((wxPalette const &)*arg2);
3481 wxPyEndAllowThreads(__tstate);
3482 if (PyErr_Occurred()) SWIG_fail;
3483 }
3484 resultobj = SWIG_Py_Void();
3485 return resultobj;
3486 fail:
3487 return NULL;
3488 }
3489
3490
3491 SWIGINTERN PyObject *_wrap_GLCanvas_CreateDefaultPalette(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
3492 PyObject *resultobj = 0;
3493 wxGLCanvas *arg1 = (wxGLCanvas *) 0 ;
3494 wxPalette result;
3495 void *argp1 = 0 ;
3496 int res1 = 0 ;
3497 PyObject *swig_obj[1] ;
3498
3499 if (!args) SWIG_fail;
3500 swig_obj[0] = args;
3501 res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_wxGLCanvas, 0 | 0 );
3502 if (!SWIG_IsOK(res1)) {
3503 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "GLCanvas_CreateDefaultPalette" "', expected argument " "1"" of type '" "wxGLCanvas *""'");
3504 }
3505 arg1 = reinterpret_cast< wxGLCanvas * >(argp1);
3506 {
3507 PyThreadState* __tstate = wxPyBeginAllowThreads();
3508 result = (arg1)->CreateDefaultPalette();
3509 wxPyEndAllowThreads(__tstate);
3510 if (PyErr_Occurred()) SWIG_fail;
3511 }
3512 resultobj = SWIG_NewPointerObj((new wxPalette(static_cast< const wxPalette& >(result))), SWIGTYPE_p_wxPalette, SWIG_POINTER_OWN | 0 );
3513 return resultobj;
3514 fail:
3515 return NULL;
3516 }
3517
3518
3519 SWIGINTERN PyObject *_wrap_GLCanvas_GetPalette(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
3520 PyObject *resultobj = 0;
3521 wxGLCanvas *arg1 = (wxGLCanvas *) 0 ;
3522 wxPalette *result = 0 ;
3523 void *argp1 = 0 ;
3524 int res1 = 0 ;
3525 PyObject *swig_obj[1] ;
3526
3527 if (!args) SWIG_fail;
3528 swig_obj[0] = args;
3529 res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_wxGLCanvas, 0 | 0 );
3530 if (!SWIG_IsOK(res1)) {
3531 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "GLCanvas_GetPalette" "', expected argument " "1"" of type '" "wxGLCanvas *""'");
3532 }
3533 arg1 = reinterpret_cast< wxGLCanvas * >(argp1);
3534 {
3535 PyThreadState* __tstate = wxPyBeginAllowThreads();
3536 result = (wxPalette *)(arg1)->GetPalette();
3537 wxPyEndAllowThreads(__tstate);
3538 if (PyErr_Occurred()) SWIG_fail;
3539 }
3540 resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_wxPalette, 0 | 0 );
3541 return resultobj;
3542 fail:
3543 return NULL;
3544 }
3545
3546
3547 SWIGINTERN PyObject *GLCanvas_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
3548 PyObject *obj;
3549 if (!SWIG_Python_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL;
3550 SWIG_TypeNewClientData(SWIGTYPE_p_wxGLCanvas, SWIG_NewClientData(obj));
3551 return SWIG_Py_Void();
3552 }
3553
3554 SWIGINTERN PyObject *GLCanvas_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
3555 return SWIG_Python_InitShadowInstance(args);
3556 }
3557
3558 static PyMethodDef SwigMethods[] = {
3559 { (char *)"new_GLContext", (PyCFunction) _wrap_new_GLContext, METH_VARARGS | METH_KEYWORDS, NULL},
3560 { (char *)"delete_GLContext", (PyCFunction)_wrap_delete_GLContext, METH_O, NULL},
3561 { (char *)"GLContext_SetCurrent", (PyCFunction) _wrap_GLContext_SetCurrent, METH_VARARGS | METH_KEYWORDS, NULL},
3562 { (char *)"GLContext_swigregister", GLContext_swigregister, METH_VARARGS, NULL},
3563 { (char *)"GLContext_swiginit", GLContext_swiginit, METH_VARARGS, NULL},
3564 { (char *)"new_GLCanvas", (PyCFunction) _wrap_new_GLCanvas, METH_VARARGS | METH_KEYWORDS, NULL},
3565 { (char *)"GLCanvas_Create", (PyCFunction) _wrap_GLCanvas_Create, METH_VARARGS | METH_KEYWORDS, NULL},
3566 { (char *)"new_GLCanvasWithContext", (PyCFunction) _wrap_new_GLCanvasWithContext, METH_VARARGS | METH_KEYWORDS, NULL},
3567 { (char *)"GLCanvas_SetColour", (PyCFunction) _wrap_GLCanvas_SetColour, METH_VARARGS | METH_KEYWORDS, NULL},
3568 { (char *)"GLCanvas_SwapBuffers", (PyCFunction)_wrap_GLCanvas_SwapBuffers, METH_O, NULL},
3569 { (char *)"GLCanvas_GetContext", (PyCFunction)_wrap_GLCanvas_GetContext, METH_O, NULL},
3570 { (char *)"GLCanvas_SetCurrent", _wrap_GLCanvas_SetCurrent, METH_VARARGS, NULL},
3571 { (char *)"GLCanvas_SetupPalette", (PyCFunction) _wrap_GLCanvas_SetupPalette, METH_VARARGS | METH_KEYWORDS, NULL},
3572 { (char *)"GLCanvas_CreateDefaultPalette", (PyCFunction)_wrap_GLCanvas_CreateDefaultPalette, METH_O, NULL},
3573 { (char *)"GLCanvas_GetPalette", (PyCFunction)_wrap_GLCanvas_GetPalette, METH_O, NULL},
3574 { (char *)"GLCanvas_swigregister", GLCanvas_swigregister, METH_VARARGS, NULL},
3575 { (char *)"GLCanvas_swiginit", GLCanvas_swiginit, METH_VARARGS, NULL},
3576 { NULL, NULL, 0, NULL }
3577 };
3578
3579
3580 /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */
3581
3582 static void *_p_wxLayoutConstraintsTo_p_wxObject(void *x) {
3583 return (void *)((wxObject *) ((wxLayoutConstraints *) x));
3584 }
3585 static void *_p_wxEventBlockerTo_p_wxObject(void *x) {
3586 return (void *)((wxObject *) (wxEvtHandler *) ((wxEventBlocker *) x));
3587 }
3588 static void *_p_wxSizerItemTo_p_wxObject(void *x) {
3589 return (void *)((wxObject *) ((wxSizerItem *) x));
3590 }
3591 static void *_p_wxGBSizerItemTo_p_wxObject(void *x) {
3592 return (void *)((wxObject *) (wxSizerItem *) ((wxGBSizerItem *) x));
3593 }
3594 static void *_p_wxScrollEventTo_p_wxObject(void *x) {
3595 return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxScrollEvent *) x));
3596 }
3597 static void *_p_wxIndividualLayoutConstraintTo_p_wxObject(void *x) {
3598 return (void *)((wxObject *) ((wxIndividualLayoutConstraint *) x));
3599 }
3600 static void *_p_wxStaticBoxSizerTo_p_wxObject(void *x) {
3601 return (void *)((wxObject *) (wxSizer *)(wxBoxSizer *) ((wxStaticBoxSizer *) x));
3602 }
3603 static void *_p_wxBoxSizerTo_p_wxObject(void *x) {
3604 return (void *)((wxObject *) (wxSizer *) ((wxBoxSizer *) x));
3605 }
3606 static void *_p_wxSizerTo_p_wxObject(void *x) {
3607 return (void *)((wxObject *) ((wxSizer *) x));
3608 }
3609 static void *_p_wxGridBagSizerTo_p_wxObject(void *x) {
3610 return (void *)((wxObject *) (wxSizer *)(wxGridSizer *)(wxFlexGridSizer *) ((wxGridBagSizer *) x));
3611 }
3612 static void *_p_wxUpdateUIEventTo_p_wxObject(void *x) {
3613 return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxUpdateUIEvent *) x));
3614 }
3615 static void *_p_wxEventTo_p_wxObject(void *x) {
3616 return (void *)((wxObject *) ((wxEvent *) x));
3617 }
3618 static void *_p_wxGridSizerTo_p_wxObject(void *x) {
3619 return (void *)((wxObject *) (wxSizer *) ((wxGridSizer *) x));
3620 }
3621 static void *_p_wxFlexGridSizerTo_p_wxObject(void *x) {
3622 return (void *)((wxObject *) (wxSizer *)(wxGridSizer *) ((wxFlexGridSizer *) x));
3623 }
3624 static void *_p_wxInitDialogEventTo_p_wxObject(void *x) {
3625 return (void *)((wxObject *) (wxEvent *) ((wxInitDialogEvent *) x));
3626 }
3627 static void *_p_wxClipboardTextEventTo_p_wxObject(void *x) {
3628 return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxClipboardTextEvent *) x));
3629 }
3630 static void *_p_wxPaintEventTo_p_wxObject(void *x) {
3631 return (void *)((wxObject *) (wxEvent *) ((wxPaintEvent *) x));
3632 }
3633 static void *_p_wxNcPaintEventTo_p_wxObject(void *x) {
3634 return (void *)((wxObject *) (wxEvent *) ((wxNcPaintEvent *) x));
3635 }
3636 static void *_p_wxPaletteChangedEventTo_p_wxObject(void *x) {
3637 return (void *)((wxObject *) (wxEvent *) ((wxPaletteChangedEvent *) x));
3638 }
3639 static void *_p_wxDisplayChangedEventTo_p_wxObject(void *x) {
3640 return (void *)((wxObject *) (wxEvent *) ((wxDisplayChangedEvent *) x));
3641 }
3642 static void *_p_wxMouseCaptureChangedEventTo_p_wxObject(void *x) {
3643 return (void *)((wxObject *) (wxEvent *) ((wxMouseCaptureChangedEvent *) x));
3644 }
3645 static void *_p_wxSysColourChangedEventTo_p_wxObject(void *x) {
3646 return (void *)((wxObject *) (wxEvent *) ((wxSysColourChangedEvent *) x));
3647 }
3648 static void *_p_wxControlTo_p_wxObject(void *x) {
3649 return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxControl *) x));
3650 }
3651 static void *_p_wxSetCursorEventTo_p_wxObject(void *x) {
3652 return (void *)((wxObject *) (wxEvent *) ((wxSetCursorEvent *) x));
3653 }
3654 static void *_p_wxFSFileTo_p_wxObject(void *x) {
3655 return (void *)((wxObject *) ((wxFSFile *) x));
3656 }
3657 static void *_p_wxPySizerTo_p_wxObject(void *x) {
3658 return (void *)((wxObject *) (wxSizer *) ((wxPySizer *) x));
3659 }
3660 static void *_p_wxPyEventTo_p_wxObject(void *x) {
3661 return (void *)((wxObject *) (wxEvent *) ((wxPyEvent *) x));
3662 }
3663 static void *_p_wxNotifyEventTo_p_wxObject(void *x) {
3664 return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxNotifyEvent *) x));
3665 }
3666 static void *_p_wxGLContextTo_p_wxObject(void *x) {
3667 return (void *)((wxObject *) ((wxGLContext *) x));
3668 }
3669 static void *_p_wxShowEventTo_p_wxObject(void *x) {
3670 return (void *)((wxObject *) (wxEvent *) ((wxShowEvent *) x));
3671 }
3672 static void *_p_wxMenuItemTo_p_wxObject(void *x) {
3673 return (void *)((wxObject *) ((wxMenuItem *) x));
3674 }
3675 static void *_p_wxDateEventTo_p_wxObject(void *x) {
3676 return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxDateEvent *) x));
3677 }
3678 static void *_p_wxIdleEventTo_p_wxObject(void *x) {
3679 return (void *)((wxObject *) (wxEvent *) ((wxIdleEvent *) x));
3680 }
3681 static void *_p_wxWindowCreateEventTo_p_wxObject(void *x) {
3682 return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxWindowCreateEvent *) x));
3683 }
3684 static void *_p_wxQueryNewPaletteEventTo_p_wxObject(void *x) {
3685 return (void *)((wxObject *) (wxEvent *) ((wxQueryNewPaletteEvent *) x));
3686 }
3687 static void *_p_wxMaximizeEventTo_p_wxObject(void *x) {
3688 return (void *)((wxObject *) (wxEvent *) ((wxMaximizeEvent *) x));
3689 }
3690 static void *_p_wxIconizeEventTo_p_wxObject(void *x) {
3691 return (void *)((wxObject *) (wxEvent *) ((wxIconizeEvent *) x));
3692 }
3693 static void *_p_wxSizeEventTo_p_wxObject(void *x) {
3694 return (void *)((wxObject *) (wxEvent *) ((wxSizeEvent *) x));
3695 }
3696 static void *_p_wxMoveEventTo_p_wxObject(void *x) {
3697 return (void *)((wxObject *) (wxEvent *) ((wxMoveEvent *) x));
3698 }
3699 static void *_p_wxActivateEventTo_p_wxObject(void *x) {
3700 return (void *)((wxObject *) (wxEvent *) ((wxActivateEvent *) x));
3701 }
3702 static void *_p_wxPNMHandlerTo_p_wxObject(void *x) {
3703 return (void *)((wxObject *) (wxImageHandler *) ((wxPNMHandler *) x));
3704 }
3705 static void *_p_wxJPEGHandlerTo_p_wxObject(void *x) {
3706 return (void *)((wxObject *) (wxImageHandler *) ((wxJPEGHandler *) x));
3707 }
3708 static void *_p_wxPCXHandlerTo_p_wxObject(void *x) {
3709 return (void *)((wxObject *) (wxImageHandler *) ((wxPCXHandler *) x));
3710 }
3711 static void *_p_wxGIFHandlerTo_p_wxObject(void *x) {
3712 return (void *)((wxObject *) (wxImageHandler *) ((wxGIFHandler *) x));
3713 }
3714 static void *_p_wxPNGHandlerTo_p_wxObject(void *x) {
3715 return (void *)((wxObject *) (wxImageHandler *) ((wxPNGHandler *) x));
3716 }
3717 static void *_p_wxANIHandlerTo_p_wxObject(void *x) {
3718 return (void *)((wxObject *) (wxImageHandler *)(wxBMPHandler *)(wxICOHandler *)(wxCURHandler *) ((wxANIHandler *) x));
3719 }
3720 static void *_p_wxCURHandlerTo_p_wxObject(void *x) {
3721 return (void *)((wxObject *) (wxImageHandler *)(wxBMPHandler *)(wxICOHandler *) ((wxCURHandler *) x));
3722 }
3723 static void *_p_wxICOHandlerTo_p_wxObject(void *x) {
3724 return (void *)((wxObject *) (wxImageHandler *)(wxBMPHandler *) ((wxICOHandler *) x));
3725 }
3726 static void *_p_wxBMPHandlerTo_p_wxObject(void *x) {
3727 return (void *)((wxObject *) (wxImageHandler *) ((wxBMPHandler *) x));
3728 }
3729 static void *_p_wxPyImageHandlerTo_p_wxObject(void *x) {
3730 return (void *)((wxObject *) (wxImageHandler *) ((wxPyImageHandler *) x));
3731 }
3732 static void *_p_wxImageHandlerTo_p_wxObject(void *x) {
3733 return (void *)((wxObject *) ((wxImageHandler *) x));
3734 }
3735 static void *_p_wxXPMHandlerTo_p_wxObject(void *x) {
3736 return (void *)((wxObject *) (wxImageHandler *) ((wxXPMHandler *) x));
3737 }
3738 static void *_p_wxTIFFHandlerTo_p_wxObject(void *x) {
3739 return (void *)((wxObject *) (wxImageHandler *) ((wxTIFFHandler *) x));
3740 }
3741 static void *_p_wxTGAHandlerTo_p_wxObject(void *x) {
3742 return (void *)((wxObject *) (wxImageHandler *) ((wxTGAHandler *) x));
3743 }
3744 static void *_p_wxEvtHandlerTo_p_wxObject(void *x) {
3745 return (void *)((wxObject *) ((wxEvtHandler *) x));
3746 }
3747 static void *_p_wxMouseCaptureLostEventTo_p_wxObject(void *x) {
3748 return (void *)((wxObject *) (wxEvent *) ((wxMouseCaptureLostEvent *) x));
3749 }
3750 static void *_p_wxGLCanvasTo_p_wxObject(void *x) {
3751 return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxGLCanvas *) x));
3752 }
3753 static void *_p_wxAcceleratorTableTo_p_wxObject(void *x) {
3754 return (void *)((wxObject *) ((wxAcceleratorTable *) x));
3755 }
3756 static void *_p_wxStdDialogButtonSizerTo_p_wxObject(void *x) {
3757 return (void *)((wxObject *) (wxSizer *)(wxBoxSizer *) ((wxStdDialogButtonSizer *) x));
3758 }
3759 static void *_p_wxImageTo_p_wxObject(void *x) {
3760 return (void *)((wxObject *) ((wxImage *) x));
3761 }
3762 static void *_p_wxScrollWinEventTo_p_wxObject(void *x) {
3763 return (void *)((wxObject *) (wxEvent *) ((wxScrollWinEvent *) x));
3764 }
3765 static void *_p_wxWindowDestroyEventTo_p_wxObject(void *x) {
3766 return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxWindowDestroyEvent *) x));
3767 }
3768 static void *_p_wxNavigationKeyEventTo_p_wxObject(void *x) {
3769 return (void *)((wxObject *) (wxEvent *) ((wxNavigationKeyEvent *) x));
3770 }
3771 static void *_p_wxKeyEventTo_p_wxObject(void *x) {
3772 return (void *)((wxObject *) (wxEvent *) ((wxKeyEvent *) x));
3773 }
3774 static void *_p_wxWindowTo_p_wxObject(void *x) {
3775 return (void *)((wxObject *) (wxEvtHandler *) ((wxWindow *) x));
3776 }
3777 static void *_p_wxMenuTo_p_wxObject(void *x) {
3778 return (void *)((wxObject *) (wxEvtHandler *) ((wxMenu *) x));
3779 }
3780 static void *_p_wxMenuBarTo_p_wxObject(void *x) {
3781 return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxMenuBar *) x));
3782 }
3783 static void *_p_wxFileSystemTo_p_wxObject(void *x) {
3784 return (void *)((wxObject *) ((wxFileSystem *) x));
3785 }
3786 static void *_p_wxContextMenuEventTo_p_wxObject(void *x) {
3787 return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxContextMenuEvent *) x));
3788 }
3789 static void *_p_wxMenuEventTo_p_wxObject(void *x) {
3790 return (void *)((wxObject *) (wxEvent *) ((wxMenuEvent *) x));
3791 }
3792 static void *_p_wxPyAppTo_p_wxObject(void *x) {
3793 return (void *)((wxObject *) (wxEvtHandler *) ((wxPyApp *) x));
3794 }
3795 static void *_p_wxCloseEventTo_p_wxObject(void *x) {
3796 return (void *)((wxObject *) (wxEvent *) ((wxCloseEvent *) x));
3797 }
3798 static void *_p_wxMouseEventTo_p_wxObject(void *x) {
3799 return (void *)((wxObject *) (wxEvent *) ((wxMouseEvent *) x));
3800 }
3801 static void *_p_wxEraseEventTo_p_wxObject(void *x) {
3802 return (void *)((wxObject *) (wxEvent *) ((wxEraseEvent *) x));
3803 }
3804 static void *_p_wxPyCommandEventTo_p_wxObject(void *x) {
3805 return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxPyCommandEvent *) x));
3806 }
3807 static void *_p_wxCommandEventTo_p_wxObject(void *x) {
3808 return (void *)((wxObject *) (wxEvent *) ((wxCommandEvent *) x));
3809 }
3810 static void *_p_wxDropFilesEventTo_p_wxObject(void *x) {
3811 return (void *)((wxObject *) (wxEvent *) ((wxDropFilesEvent *) x));
3812 }
3813 static void *_p_wxFocusEventTo_p_wxObject(void *x) {
3814 return (void *)((wxObject *) (wxEvent *) ((wxFocusEvent *) x));
3815 }
3816 static void *_p_wxChildFocusEventTo_p_wxObject(void *x) {
3817 return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxChildFocusEvent *) x));
3818 }
3819 static void *_p_wxControlWithItemsTo_p_wxObject(void *x) {
3820 return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxControlWithItems *) x));
3821 }
3822 static void *_p_wxPyValidatorTo_p_wxObject(void *x) {
3823 return (void *)((wxObject *) (wxEvtHandler *)(wxValidator *) ((wxPyValidator *) x));
3824 }
3825 static void *_p_wxValidatorTo_p_wxObject(void *x) {
3826 return (void *)((wxObject *) (wxEvtHandler *) ((wxValidator *) x));
3827 }
3828 static void *_p_wxControlTo_p_wxWindow(void *x) {
3829 return (void *)((wxWindow *) ((wxControl *) x));
3830 }
3831 static void *_p_wxControlWithItemsTo_p_wxWindow(void *x) {
3832 return (void *)((wxWindow *) (wxControl *) ((wxControlWithItems *) x));
3833 }
3834 static void *_p_wxMenuBarTo_p_wxWindow(void *x) {
3835 return (void *)((wxWindow *) ((wxMenuBar *) x));
3836 }
3837 static void *_p_wxGLCanvasTo_p_wxWindow(void *x) {
3838 return (void *)((wxWindow *) ((wxGLCanvas *) x));
3839 }
3840 static void *_p_wxControlTo_p_wxEvtHandler(void *x) {
3841 return (void *)((wxEvtHandler *) (wxWindow *) ((wxControl *) x));
3842 }
3843 static void *_p_wxWindowTo_p_wxEvtHandler(void *x) {
3844 return (void *)((wxEvtHandler *) ((wxWindow *) x));
3845 }
3846 static void *_p_wxControlWithItemsTo_p_wxEvtHandler(void *x) {
3847 return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxControlWithItems *) x));
3848 }
3849 static void *_p_wxPyAppTo_p_wxEvtHandler(void *x) {
3850 return (void *)((wxEvtHandler *) ((wxPyApp *) x));
3851 }
3852 static void *_p_wxValidatorTo_p_wxEvtHandler(void *x) {
3853 return (void *)((wxEvtHandler *) ((wxValidator *) x));
3854 }
3855 static void *_p_wxPyValidatorTo_p_wxEvtHandler(void *x) {
3856 return (void *)((wxEvtHandler *) (wxValidator *) ((wxPyValidator *) x));
3857 }
3858 static void *_p_wxMenuBarTo_p_wxEvtHandler(void *x) {
3859 return (void *)((wxEvtHandler *) (wxWindow *) ((wxMenuBar *) x));
3860 }
3861 static void *_p_wxGLCanvasTo_p_wxEvtHandler(void *x) {
3862 return (void *)((wxEvtHandler *) (wxWindow *) ((wxGLCanvas *) x));
3863 }
3864 static void *_p_wxEventBlockerTo_p_wxEvtHandler(void *x) {
3865 return (void *)((wxEvtHandler *) ((wxEventBlocker *) x));
3866 }
3867 static void *_p_wxMenuTo_p_wxEvtHandler(void *x) {
3868 return (void *)((wxEvtHandler *) ((wxMenu *) x));
3869 }
3870 static swig_type_info _swigt__p_char = {"_p_char", "char *", 0, 0, (void*)0, 0};
3871 static swig_type_info _swigt__p_form_ops_t = {"_p_form_ops_t", "enum form_ops_t *|form_ops_t *", 0, 0, (void*)0, 0};
3872 static swig_type_info _swigt__p_int = {"_p_int", "int *", 0, 0, (void*)0, 0};
3873 static swig_type_info _swigt__p_unsigned_char = {"_p_unsigned_char", "unsigned char *|byte *", 0, 0, (void*)0, 0};
3874 static swig_type_info _swigt__p_unsigned_int = {"_p_unsigned_int", "unsigned int *|time_t *", 0, 0, (void*)0, 0};
3875 static swig_type_info _swigt__p_unsigned_long = {"_p_unsigned_long", "unsigned long *|wxUIntPtr *", 0, 0, (void*)0, 0};
3876 static swig_type_info _swigt__p_wxDuplexMode = {"_p_wxDuplexMode", "enum wxDuplexMode *|wxDuplexMode *", 0, 0, (void*)0, 0};
3877 static swig_type_info _swigt__p_wxEvtHandler = {"_p_wxEvtHandler", "wxEvtHandler *", 0, 0, (void*)0, 0};
3878 static swig_type_info _swigt__p_wxControl = {"_p_wxControl", 0, 0, 0, 0, 0};
3879 static swig_type_info _swigt__p_wxControlWithItems = {"_p_wxControlWithItems", 0, 0, 0, 0, 0};
3880 static swig_type_info _swigt__p_wxPyApp = {"_p_wxPyApp", 0, 0, 0, 0, 0};
3881 static swig_type_info _swigt__p_wxMenuBar = {"_p_wxMenuBar", 0, 0, 0, 0, 0};
3882 static swig_type_info _swigt__p_wxValidator = {"_p_wxValidator", 0, 0, 0, 0, 0};
3883 static swig_type_info _swigt__p_wxPyValidator = {"_p_wxPyValidator", 0, 0, 0, 0, 0};
3884 static swig_type_info _swigt__p_wxMenu = {"_p_wxMenu", 0, 0, 0, 0, 0};
3885 static swig_type_info _swigt__p_wxEventBlocker = {"_p_wxEventBlocker", 0, 0, 0, 0, 0};
3886 static swig_type_info _swigt__p_wxGLCanvas = {"_p_wxGLCanvas", "wxGLCanvas *", 0, 0, (void*)0, 0};
3887 static swig_type_info _swigt__p_wxGLContext = {"_p_wxGLContext", "wxGLContext *", 0, 0, (void*)0, 0};
3888 static swig_type_info _swigt__p_wxObject = {"_p_wxObject", "wxObject *", 0, 0, (void*)0, 0};
3889 static swig_type_info _swigt__p_wxLayoutConstraints = {"_p_wxLayoutConstraints", 0, 0, 0, 0, 0};
3890 static swig_type_info _swigt__p_wxSizerItem = {"_p_wxSizerItem", 0, 0, 0, 0, 0};
3891 static swig_type_info _swigt__p_wxGBSizerItem = {"_p_wxGBSizerItem", 0, 0, 0, 0, 0};
3892 static swig_type_info _swigt__p_wxScrollEvent = {"_p_wxScrollEvent", 0, 0, 0, 0, 0};
3893 static swig_type_info _swigt__p_wxIndividualLayoutConstraint = {"_p_wxIndividualLayoutConstraint", 0, 0, 0, 0, 0};
3894 static swig_type_info _swigt__p_wxStaticBoxSizer = {"_p_wxStaticBoxSizer", 0, 0, 0, 0, 0};
3895 static swig_type_info _swigt__p_wxBoxSizer = {"_p_wxBoxSizer", 0, 0, 0, 0, 0};
3896 static swig_type_info _swigt__p_wxSizer = {"_p_wxSizer", 0, 0, 0, 0, 0};
3897 static swig_type_info _swigt__p_wxGridBagSizer = {"_p_wxGridBagSizer", 0, 0, 0, 0, 0};
3898 static swig_type_info _swigt__p_wxUpdateUIEvent = {"_p_wxUpdateUIEvent", 0, 0, 0, 0, 0};
3899 static swig_type_info _swigt__p_wxEvent = {"_p_wxEvent", 0, 0, 0, 0, 0};
3900 static swig_type_info _swigt__p_wxGridSizer = {"_p_wxGridSizer", 0, 0, 0, 0, 0};
3901 static swig_type_info _swigt__p_wxFlexGridSizer = {"_p_wxFlexGridSizer", 0, 0, 0, 0, 0};
3902 static swig_type_info _swigt__p_wxInitDialogEvent = {"_p_wxInitDialogEvent", 0, 0, 0, 0, 0};
3903 static swig_type_info _swigt__p_wxClipboardTextEvent = {"_p_wxClipboardTextEvent", 0, 0, 0, 0, 0};
3904 static swig_type_info _swigt__p_wxPaintEvent = {"_p_wxPaintEvent", 0, 0, 0, 0, 0};
3905 static swig_type_info _swigt__p_wxNcPaintEvent = {"_p_wxNcPaintEvent", 0, 0, 0, 0, 0};
3906 static swig_type_info _swigt__p_wxPaletteChangedEvent = {"_p_wxPaletteChangedEvent", 0, 0, 0, 0, 0};
3907 static swig_type_info _swigt__p_wxDisplayChangedEvent = {"_p_wxDisplayChangedEvent", 0, 0, 0, 0, 0};
3908 static swig_type_info _swigt__p_wxMouseCaptureChangedEvent = {"_p_wxMouseCaptureChangedEvent", 0, 0, 0, 0, 0};
3909 static swig_type_info _swigt__p_wxSysColourChangedEvent = {"_p_wxSysColourChangedEvent", 0, 0, 0, 0, 0};
3910 static swig_type_info _swigt__p_wxSetCursorEvent = {"_p_wxSetCursorEvent", 0, 0, 0, 0, 0};
3911 static swig_type_info _swigt__p_wxFSFile = {"_p_wxFSFile", 0, 0, 0, 0, 0};
3912 static swig_type_info _swigt__p_wxPySizer = {"_p_wxPySizer", 0, 0, 0, 0, 0};
3913 static swig_type_info _swigt__p_wxPyEvent = {"_p_wxPyEvent", 0, 0, 0, 0, 0};
3914 static swig_type_info _swigt__p_wxNotifyEvent = {"_p_wxNotifyEvent", 0, 0, 0, 0, 0};
3915 static swig_type_info _swigt__p_wxShowEvent = {"_p_wxShowEvent", 0, 0, 0, 0, 0};
3916 static swig_type_info _swigt__p_wxMenuItem = {"_p_wxMenuItem", 0, 0, 0, 0, 0};
3917 static swig_type_info _swigt__p_wxIdleEvent = {"_p_wxIdleEvent", 0, 0, 0, 0, 0};
3918 static swig_type_info _swigt__p_wxDateEvent = {"_p_wxDateEvent", 0, 0, 0, 0, 0};
3919 static swig_type_info _swigt__p_wxWindowCreateEvent = {"_p_wxWindowCreateEvent", 0, 0, 0, 0, 0};
3920 static swig_type_info _swigt__p_wxQueryNewPaletteEvent = {"_p_wxQueryNewPaletteEvent", 0, 0, 0, 0, 0};
3921 static swig_type_info _swigt__p_wxMaximizeEvent = {"_p_wxMaximizeEvent", 0, 0, 0, 0, 0};
3922 static swig_type_info _swigt__p_wxIconizeEvent = {"_p_wxIconizeEvent", 0, 0, 0, 0, 0};
3923 static swig_type_info _swigt__p_wxSizeEvent = {"_p_wxSizeEvent", 0, 0, 0, 0, 0};
3924 static swig_type_info _swigt__p_wxMoveEvent = {"_p_wxMoveEvent", 0, 0, 0, 0, 0};
3925 static swig_type_info _swigt__p_wxActivateEvent = {"_p_wxActivateEvent", 0, 0, 0, 0, 0};
3926 static swig_type_info _swigt__p_wxPNMHandler = {"_p_wxPNMHandler", 0, 0, 0, 0, 0};
3927 static swig_type_info _swigt__p_wxJPEGHandler = {"_p_wxJPEGHandler", 0, 0, 0, 0, 0};
3928 static swig_type_info _swigt__p_wxPCXHandler = {"_p_wxPCXHandler", 0, 0, 0, 0, 0};
3929 static swig_type_info _swigt__p_wxGIFHandler = {"_p_wxGIFHandler", 0, 0, 0, 0, 0};
3930 static swig_type_info _swigt__p_wxPNGHandler = {"_p_wxPNGHandler", 0, 0, 0, 0, 0};
3931 static swig_type_info _swigt__p_wxANIHandler = {"_p_wxANIHandler", 0, 0, 0, 0, 0};
3932 static swig_type_info _swigt__p_wxCURHandler = {"_p_wxCURHandler", 0, 0, 0, 0, 0};
3933 static swig_type_info _swigt__p_wxICOHandler = {"_p_wxICOHandler", 0, 0, 0, 0, 0};
3934 static swig_type_info _swigt__p_wxBMPHandler = {"_p_wxBMPHandler", 0, 0, 0, 0, 0};
3935 static swig_type_info _swigt__p_wxPyImageHandler = {"_p_wxPyImageHandler", 0, 0, 0, 0, 0};
3936 static swig_type_info _swigt__p_wxImageHandler = {"_p_wxImageHandler", 0, 0, 0, 0, 0};
3937 static swig_type_info _swigt__p_wxXPMHandler = {"_p_wxXPMHandler", 0, 0, 0, 0, 0};
3938 static swig_type_info _swigt__p_wxTIFFHandler = {"_p_wxTIFFHandler", 0, 0, 0, 0, 0};
3939 static swig_type_info _swigt__p_wxTGAHandler = {"_p_wxTGAHandler", 0, 0, 0, 0, 0};
3940 static swig_type_info _swigt__p_wxMouseCaptureLostEvent = {"_p_wxMouseCaptureLostEvent", 0, 0, 0, 0, 0};
3941 static swig_type_info _swigt__p_wxStdDialogButtonSizer = {"_p_wxStdDialogButtonSizer", 0, 0, 0, 0, 0};
3942 static swig_type_info _swigt__p_wxAcceleratorTable = {"_p_wxAcceleratorTable", 0, 0, 0, 0, 0};
3943 static swig_type_info _swigt__p_wxImage = {"_p_wxImage", 0, 0, 0, 0, 0};
3944 static swig_type_info _swigt__p_wxScrollWinEvent = {"_p_wxScrollWinEvent", 0, 0, 0, 0, 0};
3945 static swig_type_info _swigt__p_wxWindowDestroyEvent = {"_p_wxWindowDestroyEvent", 0, 0, 0, 0, 0};
3946 static swig_type_info _swigt__p_wxNavigationKeyEvent = {"_p_wxNavigationKeyEvent", 0, 0, 0, 0, 0};
3947 static swig_type_info _swigt__p_wxKeyEvent = {"_p_wxKeyEvent", 0, 0, 0, 0, 0};
3948 static swig_type_info _swigt__p_wxFileSystem = {"_p_wxFileSystem", 0, 0, 0, 0, 0};
3949 static swig_type_info _swigt__p_wxMenuEvent = {"_p_wxMenuEvent", 0, 0, 0, 0, 0};
3950 static swig_type_info _swigt__p_wxContextMenuEvent = {"_p_wxContextMenuEvent", 0, 0, 0, 0, 0};
3951 static swig_type_info _swigt__p_wxMouseEvent = {"_p_wxMouseEvent", 0, 0, 0, 0, 0};
3952 static swig_type_info _swigt__p_wxCloseEvent = {"_p_wxCloseEvent", 0, 0, 0, 0, 0};
3953 static swig_type_info _swigt__p_wxEraseEvent = {"_p_wxEraseEvent", 0, 0, 0, 0, 0};
3954 static swig_type_info _swigt__p_wxPyCommandEvent = {"_p_wxPyCommandEvent", 0, 0, 0, 0, 0};
3955 static swig_type_info _swigt__p_wxCommandEvent = {"_p_wxCommandEvent", 0, 0, 0, 0, 0};
3956 static swig_type_info _swigt__p_wxDropFilesEvent = {"_p_wxDropFilesEvent", 0, 0, 0, 0, 0};
3957 static swig_type_info _swigt__p_wxFocusEvent = {"_p_wxFocusEvent", 0, 0, 0, 0, 0};
3958 static swig_type_info _swigt__p_wxChildFocusEvent = {"_p_wxChildFocusEvent", 0, 0, 0, 0, 0};
3959 static swig_type_info _swigt__p_wxPalette = {"_p_wxPalette", "wxPalette *", 0, 0, (void*)0, 0};
3960 static swig_type_info _swigt__p_wxPaperSize = {"_p_wxPaperSize", "enum wxPaperSize *|wxPaperSize *", 0, 0, (void*)0, 0};
3961 static swig_type_info _swigt__p_wxWindow = {"_p_wxWindow", "wxWindow *", 0, 0, (void*)0, 0};
3962
3963 static swig_type_info *swig_type_initial[] = {
3964 &_swigt__p_char,
3965 &_swigt__p_form_ops_t,
3966 &_swigt__p_int,
3967 &_swigt__p_unsigned_char,
3968 &_swigt__p_unsigned_int,
3969 &_swigt__p_unsigned_long,
3970 &_swigt__p_wxANIHandler,
3971 &_swigt__p_wxAcceleratorTable,
3972 &_swigt__p_wxActivateEvent,
3973 &_swigt__p_wxBMPHandler,
3974 &_swigt__p_wxBoxSizer,
3975 &_swigt__p_wxCURHandler,
3976 &_swigt__p_wxChildFocusEvent,
3977 &_swigt__p_wxClipboardTextEvent,
3978 &_swigt__p_wxCloseEvent,
3979 &_swigt__p_wxCommandEvent,
3980 &_swigt__p_wxContextMenuEvent,
3981 &_swigt__p_wxControl,
3982 &_swigt__p_wxControlWithItems,
3983 &_swigt__p_wxDateEvent,
3984 &_swigt__p_wxDisplayChangedEvent,
3985 &_swigt__p_wxDropFilesEvent,
3986 &_swigt__p_wxDuplexMode,
3987 &_swigt__p_wxEraseEvent,
3988 &_swigt__p_wxEvent,
3989 &_swigt__p_wxEventBlocker,
3990 &_swigt__p_wxEvtHandler,
3991 &_swigt__p_wxFSFile,
3992 &_swigt__p_wxFileSystem,
3993 &_swigt__p_wxFlexGridSizer,
3994 &_swigt__p_wxFocusEvent,
3995 &_swigt__p_wxGBSizerItem,
3996 &_swigt__p_wxGIFHandler,
3997 &_swigt__p_wxGLCanvas,
3998 &_swigt__p_wxGLContext,
3999 &_swigt__p_wxGridBagSizer,
4000 &_swigt__p_wxGridSizer,
4001 &_swigt__p_wxICOHandler,
4002 &_swigt__p_wxIconizeEvent,
4003 &_swigt__p_wxIdleEvent,
4004 &_swigt__p_wxImage,
4005 &_swigt__p_wxImageHandler,
4006 &_swigt__p_wxIndividualLayoutConstraint,
4007 &_swigt__p_wxInitDialogEvent,
4008 &_swigt__p_wxJPEGHandler,
4009 &_swigt__p_wxKeyEvent,
4010 &_swigt__p_wxLayoutConstraints,
4011 &_swigt__p_wxMaximizeEvent,
4012 &_swigt__p_wxMenu,
4013 &_swigt__p_wxMenuBar,
4014 &_swigt__p_wxMenuEvent,
4015 &_swigt__p_wxMenuItem,
4016 &_swigt__p_wxMouseCaptureChangedEvent,
4017 &_swigt__p_wxMouseCaptureLostEvent,
4018 &_swigt__p_wxMouseEvent,
4019 &_swigt__p_wxMoveEvent,
4020 &_swigt__p_wxNavigationKeyEvent,
4021 &_swigt__p_wxNcPaintEvent,
4022 &_swigt__p_wxNotifyEvent,
4023 &_swigt__p_wxObject,
4024 &_swigt__p_wxPCXHandler,
4025 &_swigt__p_wxPNGHandler,
4026 &_swigt__p_wxPNMHandler,
4027 &_swigt__p_wxPaintEvent,
4028 &_swigt__p_wxPalette,
4029 &_swigt__p_wxPaletteChangedEvent,
4030 &_swigt__p_wxPaperSize,
4031 &_swigt__p_wxPyApp,
4032 &_swigt__p_wxPyCommandEvent,
4033 &_swigt__p_wxPyEvent,
4034 &_swigt__p_wxPyImageHandler,
4035 &_swigt__p_wxPySizer,
4036 &_swigt__p_wxPyValidator,
4037 &_swigt__p_wxQueryNewPaletteEvent,
4038 &_swigt__p_wxScrollEvent,
4039 &_swigt__p_wxScrollWinEvent,
4040 &_swigt__p_wxSetCursorEvent,
4041 &_swigt__p_wxShowEvent,
4042 &_swigt__p_wxSizeEvent,
4043 &_swigt__p_wxSizer,
4044 &_swigt__p_wxSizerItem,
4045 &_swigt__p_wxStaticBoxSizer,
4046 &_swigt__p_wxStdDialogButtonSizer,
4047 &_swigt__p_wxSysColourChangedEvent,
4048 &_swigt__p_wxTGAHandler,
4049 &_swigt__p_wxTIFFHandler,
4050 &_swigt__p_wxUpdateUIEvent,
4051 &_swigt__p_wxValidator,
4052 &_swigt__p_wxWindow,
4053 &_swigt__p_wxWindowCreateEvent,
4054 &_swigt__p_wxWindowDestroyEvent,
4055 &_swigt__p_wxXPMHandler,
4056 };
4057
4058 static swig_cast_info _swigc__p_char[] = { {&_swigt__p_char, 0, 0, 0},{0, 0, 0, 0}};
4059 static swig_cast_info _swigc__p_form_ops_t[] = { {&_swigt__p_form_ops_t, 0, 0, 0},{0, 0, 0, 0}};
4060 static swig_cast_info _swigc__p_int[] = { {&_swigt__p_int, 0, 0, 0},{0, 0, 0, 0}};
4061 static swig_cast_info _swigc__p_unsigned_char[] = { {&_swigt__p_unsigned_char, 0, 0, 0},{0, 0, 0, 0}};
4062 static swig_cast_info _swigc__p_unsigned_int[] = { {&_swigt__p_unsigned_int, 0, 0, 0},{0, 0, 0, 0}};
4063 static swig_cast_info _swigc__p_unsigned_long[] = { {&_swigt__p_unsigned_long, 0, 0, 0},{0, 0, 0, 0}};
4064 static swig_cast_info _swigc__p_wxDuplexMode[] = { {&_swigt__p_wxDuplexMode, 0, 0, 0},{0, 0, 0, 0}};
4065 static swig_cast_info _swigc__p_wxControl[] = {{&_swigt__p_wxControl, 0, 0, 0},{0, 0, 0, 0}};
4066 static swig_cast_info _swigc__p_wxControlWithItems[] = {{&_swigt__p_wxControlWithItems, 0, 0, 0},{0, 0, 0, 0}};
4067 static swig_cast_info _swigc__p_wxPyApp[] = {{&_swigt__p_wxPyApp, 0, 0, 0},{0, 0, 0, 0}};
4068 static swig_cast_info _swigc__p_wxMenuBar[] = {{&_swigt__p_wxMenuBar, 0, 0, 0},{0, 0, 0, 0}};
4069 static swig_cast_info _swigc__p_wxValidator[] = {{&_swigt__p_wxValidator, 0, 0, 0},{0, 0, 0, 0}};
4070 static swig_cast_info _swigc__p_wxPyValidator[] = {{&_swigt__p_wxPyValidator, 0, 0, 0},{0, 0, 0, 0}};
4071 static swig_cast_info _swigc__p_wxMenu[] = {{&_swigt__p_wxMenu, 0, 0, 0},{0, 0, 0, 0}};
4072 static swig_cast_info _swigc__p_wxEventBlocker[] = {{&_swigt__p_wxEventBlocker, 0, 0, 0},{0, 0, 0, 0}};
4073 static swig_cast_info _swigc__p_wxEvtHandler[] = { {&_swigt__p_wxControl, _p_wxControlTo_p_wxEvtHandler, 0, 0}, {&_swigt__p_wxWindow, _p_wxWindowTo_p_wxEvtHandler, 0, 0}, {&_swigt__p_wxControlWithItems, _p_wxControlWithItemsTo_p_wxEvtHandler, 0, 0}, {&_swigt__p_wxEvtHandler, 0, 0, 0}, {&_swigt__p_wxPyApp, _p_wxPyAppTo_p_wxEvtHandler, 0, 0}, {&_swigt__p_wxMenuBar, _p_wxMenuBarTo_p_wxEvtHandler, 0, 0}, {&_swigt__p_wxGLCanvas, _p_wxGLCanvasTo_p_wxEvtHandler, 0, 0}, {&_swigt__p_wxValidator, _p_wxValidatorTo_p_wxEvtHandler, 0, 0}, {&_swigt__p_wxPyValidator, _p_wxPyValidatorTo_p_wxEvtHandler, 0, 0}, {&_swigt__p_wxMenu, _p_wxMenuTo_p_wxEvtHandler, 0, 0}, {&_swigt__p_wxEventBlocker, _p_wxEventBlockerTo_p_wxEvtHandler, 0, 0},{0, 0, 0, 0}};
4074 static swig_cast_info _swigc__p_wxGLCanvas[] = { {&_swigt__p_wxGLCanvas, 0, 0, 0},{0, 0, 0, 0}};
4075 static swig_cast_info _swigc__p_wxGLContext[] = { {&_swigt__p_wxGLContext, 0, 0, 0},{0, 0, 0, 0}};
4076 static swig_cast_info _swigc__p_wxLayoutConstraints[] = {{&_swigt__p_wxLayoutConstraints, 0, 0, 0},{0, 0, 0, 0}};
4077 static swig_cast_info _swigc__p_wxSizerItem[] = {{&_swigt__p_wxSizerItem, 0, 0, 0},{0, 0, 0, 0}};
4078 static swig_cast_info _swigc__p_wxGBSizerItem[] = {{&_swigt__p_wxGBSizerItem, 0, 0, 0},{0, 0, 0, 0}};
4079 static swig_cast_info _swigc__p_wxScrollEvent[] = {{&_swigt__p_wxScrollEvent, 0, 0, 0},{0, 0, 0, 0}};
4080 static swig_cast_info _swigc__p_wxIndividualLayoutConstraint[] = {{&_swigt__p_wxIndividualLayoutConstraint, 0, 0, 0},{0, 0, 0, 0}};
4081 static swig_cast_info _swigc__p_wxStaticBoxSizer[] = {{&_swigt__p_wxStaticBoxSizer, 0, 0, 0},{0, 0, 0, 0}};
4082 static swig_cast_info _swigc__p_wxBoxSizer[] = {{&_swigt__p_wxBoxSizer, 0, 0, 0},{0, 0, 0, 0}};
4083 static swig_cast_info _swigc__p_wxSizer[] = {{&_swigt__p_wxSizer, 0, 0, 0},{0, 0, 0, 0}};
4084 static swig_cast_info _swigc__p_wxGridBagSizer[] = {{&_swigt__p_wxGridBagSizer, 0, 0, 0},{0, 0, 0, 0}};
4085 static swig_cast_info _swigc__p_wxUpdateUIEvent[] = {{&_swigt__p_wxUpdateUIEvent, 0, 0, 0},{0, 0, 0, 0}};
4086 static swig_cast_info _swigc__p_wxEvent[] = {{&_swigt__p_wxEvent, 0, 0, 0},{0, 0, 0, 0}};
4087 static swig_cast_info _swigc__p_wxGridSizer[] = {{&_swigt__p_wxGridSizer, 0, 0, 0},{0, 0, 0, 0}};
4088 static swig_cast_info _swigc__p_wxFlexGridSizer[] = {{&_swigt__p_wxFlexGridSizer, 0, 0, 0},{0, 0, 0, 0}};
4089 static swig_cast_info _swigc__p_wxInitDialogEvent[] = {{&_swigt__p_wxInitDialogEvent, 0, 0, 0},{0, 0, 0, 0}};
4090 static swig_cast_info _swigc__p_wxClipboardTextEvent[] = {{&_swigt__p_wxClipboardTextEvent, 0, 0, 0},{0, 0, 0, 0}};
4091 static swig_cast_info _swigc__p_wxPaintEvent[] = {{&_swigt__p_wxPaintEvent, 0, 0, 0},{0, 0, 0, 0}};
4092 static swig_cast_info _swigc__p_wxNcPaintEvent[] = {{&_swigt__p_wxNcPaintEvent, 0, 0, 0},{0, 0, 0, 0}};
4093 static swig_cast_info _swigc__p_wxPaletteChangedEvent[] = {{&_swigt__p_wxPaletteChangedEvent, 0, 0, 0},{0, 0, 0, 0}};
4094 static swig_cast_info _swigc__p_wxDisplayChangedEvent[] = {{&_swigt__p_wxDisplayChangedEvent, 0, 0, 0},{0, 0, 0, 0}};
4095 static swig_cast_info _swigc__p_wxMouseCaptureChangedEvent[] = {{&_swigt__p_wxMouseCaptureChangedEvent, 0, 0, 0},{0, 0, 0, 0}};
4096 static swig_cast_info _swigc__p_wxSysColourChangedEvent[] = {{&_swigt__p_wxSysColourChangedEvent, 0, 0, 0},{0, 0, 0, 0}};
4097 static swig_cast_info _swigc__p_wxSetCursorEvent[] = {{&_swigt__p_wxSetCursorEvent, 0, 0, 0},{0, 0, 0, 0}};
4098 static swig_cast_info _swigc__p_wxFSFile[] = {{&_swigt__p_wxFSFile, 0, 0, 0},{0, 0, 0, 0}};
4099 static swig_cast_info _swigc__p_wxPySizer[] = {{&_swigt__p_wxPySizer, 0, 0, 0},{0, 0, 0, 0}};
4100 static swig_cast_info _swigc__p_wxPyEvent[] = {{&_swigt__p_wxPyEvent, 0, 0, 0},{0, 0, 0, 0}};
4101 static swig_cast_info _swigc__p_wxNotifyEvent[] = {{&_swigt__p_wxNotifyEvent, 0, 0, 0},{0, 0, 0, 0}};
4102 static swig_cast_info _swigc__p_wxShowEvent[] = {{&_swigt__p_wxShowEvent, 0, 0, 0},{0, 0, 0, 0}};
4103 static swig_cast_info _swigc__p_wxMenuItem[] = {{&_swigt__p_wxMenuItem, 0, 0, 0},{0, 0, 0, 0}};
4104 static swig_cast_info _swigc__p_wxIdleEvent[] = {{&_swigt__p_wxIdleEvent, 0, 0, 0},{0, 0, 0, 0}};
4105 static swig_cast_info _swigc__p_wxDateEvent[] = {{&_swigt__p_wxDateEvent, 0, 0, 0},{0, 0, 0, 0}};
4106 static swig_cast_info _swigc__p_wxWindowCreateEvent[] = {{&_swigt__p_wxWindowCreateEvent, 0, 0, 0},{0, 0, 0, 0}};
4107 static swig_cast_info _swigc__p_wxQueryNewPaletteEvent[] = {{&_swigt__p_wxQueryNewPaletteEvent, 0, 0, 0},{0, 0, 0, 0}};
4108 static swig_cast_info _swigc__p_wxMaximizeEvent[] = {{&_swigt__p_wxMaximizeEvent, 0, 0, 0},{0, 0, 0, 0}};
4109 static swig_cast_info _swigc__p_wxIconizeEvent[] = {{&_swigt__p_wxIconizeEvent, 0, 0, 0},{0, 0, 0, 0}};
4110 static swig_cast_info _swigc__p_wxSizeEvent[] = {{&_swigt__p_wxSizeEvent, 0, 0, 0},{0, 0, 0, 0}};
4111 static swig_cast_info _swigc__p_wxMoveEvent[] = {{&_swigt__p_wxMoveEvent, 0, 0, 0},{0, 0, 0, 0}};
4112 static swig_cast_info _swigc__p_wxActivateEvent[] = {{&_swigt__p_wxActivateEvent, 0, 0, 0},{0, 0, 0, 0}};
4113 static swig_cast_info _swigc__p_wxPNMHandler[] = {{&_swigt__p_wxPNMHandler, 0, 0, 0},{0, 0, 0, 0}};
4114 static swig_cast_info _swigc__p_wxJPEGHandler[] = {{&_swigt__p_wxJPEGHandler, 0, 0, 0},{0, 0, 0, 0}};
4115 static swig_cast_info _swigc__p_wxPCXHandler[] = {{&_swigt__p_wxPCXHandler, 0, 0, 0},{0, 0, 0, 0}};
4116 static swig_cast_info _swigc__p_wxGIFHandler[] = {{&_swigt__p_wxGIFHandler, 0, 0, 0},{0, 0, 0, 0}};
4117 static swig_cast_info _swigc__p_wxPNGHandler[] = {{&_swigt__p_wxPNGHandler, 0, 0, 0},{0, 0, 0, 0}};
4118 static swig_cast_info _swigc__p_wxANIHandler[] = {{&_swigt__p_wxANIHandler, 0, 0, 0},{0, 0, 0, 0}};
4119 static swig_cast_info _swigc__p_wxCURHandler[] = {{&_swigt__p_wxCURHandler, 0, 0, 0},{0, 0, 0, 0}};
4120 static swig_cast_info _swigc__p_wxICOHandler[] = {{&_swigt__p_wxICOHandler, 0, 0, 0},{0, 0, 0, 0}};
4121 static swig_cast_info _swigc__p_wxBMPHandler[] = {{&_swigt__p_wxBMPHandler, 0, 0, 0},{0, 0, 0, 0}};
4122 static swig_cast_info _swigc__p_wxPyImageHandler[] = {{&_swigt__p_wxPyImageHandler, 0, 0, 0},{0, 0, 0, 0}};
4123 static swig_cast_info _swigc__p_wxImageHandler[] = {{&_swigt__p_wxImageHandler, 0, 0, 0},{0, 0, 0, 0}};
4124 static swig_cast_info _swigc__p_wxXPMHandler[] = {{&_swigt__p_wxXPMHandler, 0, 0, 0},{0, 0, 0, 0}};
4125 static swig_cast_info _swigc__p_wxTIFFHandler[] = {{&_swigt__p_wxTIFFHandler, 0, 0, 0},{0, 0, 0, 0}};
4126 static swig_cast_info _swigc__p_wxTGAHandler[] = {{&_swigt__p_wxTGAHandler, 0, 0, 0},{0, 0, 0, 0}};
4127 static swig_cast_info _swigc__p_wxMouseCaptureLostEvent[] = {{&_swigt__p_wxMouseCaptureLostEvent, 0, 0, 0},{0, 0, 0, 0}};
4128 static swig_cast_info _swigc__p_wxStdDialogButtonSizer[] = {{&_swigt__p_wxStdDialogButtonSizer, 0, 0, 0},{0, 0, 0, 0}};
4129 static swig_cast_info _swigc__p_wxAcceleratorTable[] = {{&_swigt__p_wxAcceleratorTable, 0, 0, 0},{0, 0, 0, 0}};
4130 static swig_cast_info _swigc__p_wxImage[] = {{&_swigt__p_wxImage, 0, 0, 0},{0, 0, 0, 0}};
4131 static swig_cast_info _swigc__p_wxScrollWinEvent[] = {{&_swigt__p_wxScrollWinEvent, 0, 0, 0},{0, 0, 0, 0}};
4132 static swig_cast_info _swigc__p_wxWindowDestroyEvent[] = {{&_swigt__p_wxWindowDestroyEvent, 0, 0, 0},{0, 0, 0, 0}};
4133 static swig_cast_info _swigc__p_wxNavigationKeyEvent[] = {{&_swigt__p_wxNavigationKeyEvent, 0, 0, 0},{0, 0, 0, 0}};
4134 static swig_cast_info _swigc__p_wxKeyEvent[] = {{&_swigt__p_wxKeyEvent, 0, 0, 0},{0, 0, 0, 0}};
4135 static swig_cast_info _swigc__p_wxFileSystem[] = {{&_swigt__p_wxFileSystem, 0, 0, 0},{0, 0, 0, 0}};
4136 static swig_cast_info _swigc__p_wxMenuEvent[] = {{&_swigt__p_wxMenuEvent, 0, 0, 0},{0, 0, 0, 0}};
4137 static swig_cast_info _swigc__p_wxContextMenuEvent[] = {{&_swigt__p_wxContextMenuEvent, 0, 0, 0},{0, 0, 0, 0}};
4138 static swig_cast_info _swigc__p_wxMouseEvent[] = {{&_swigt__p_wxMouseEvent, 0, 0, 0},{0, 0, 0, 0}};
4139 static swig_cast_info _swigc__p_wxCloseEvent[] = {{&_swigt__p_wxCloseEvent, 0, 0, 0},{0, 0, 0, 0}};
4140 static swig_cast_info _swigc__p_wxEraseEvent[] = {{&_swigt__p_wxEraseEvent, 0, 0, 0},{0, 0, 0, 0}};
4141 static swig_cast_info _swigc__p_wxPyCommandEvent[] = {{&_swigt__p_wxPyCommandEvent, 0, 0, 0},{0, 0, 0, 0}};
4142 static swig_cast_info _swigc__p_wxCommandEvent[] = {{&_swigt__p_wxCommandEvent, 0, 0, 0},{0, 0, 0, 0}};
4143 static swig_cast_info _swigc__p_wxDropFilesEvent[] = {{&_swigt__p_wxDropFilesEvent, 0, 0, 0},{0, 0, 0, 0}};
4144 static swig_cast_info _swigc__p_wxFocusEvent[] = {{&_swigt__p_wxFocusEvent, 0, 0, 0},{0, 0, 0, 0}};
4145 static swig_cast_info _swigc__p_wxChildFocusEvent[] = {{&_swigt__p_wxChildFocusEvent, 0, 0, 0},{0, 0, 0, 0}};
4146 static 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}};
4147 static swig_cast_info _swigc__p_wxPalette[] = { {&_swigt__p_wxPalette, 0, 0, 0},{0, 0, 0, 0}};
4148 static swig_cast_info _swigc__p_wxPaperSize[] = { {&_swigt__p_wxPaperSize, 0, 0, 0},{0, 0, 0, 0}};
4149 static swig_cast_info _swigc__p_wxWindow[] = { {&_swigt__p_wxControl, _p_wxControlTo_p_wxWindow, 0, 0}, {&_swigt__p_wxWindow, 0, 0, 0}, {&_swigt__p_wxControlWithItems, _p_wxControlWithItemsTo_p_wxWindow, 0, 0}, {&_swigt__p_wxMenuBar, _p_wxMenuBarTo_p_wxWindow, 0, 0}, {&_swigt__p_wxGLCanvas, _p_wxGLCanvasTo_p_wxWindow, 0, 0},{0, 0, 0, 0}};
4150
4151 static swig_cast_info *swig_cast_initial[] = {
4152 _swigc__p_char,
4153 _swigc__p_form_ops_t,
4154 _swigc__p_int,
4155 _swigc__p_unsigned_char,
4156 _swigc__p_unsigned_int,
4157 _swigc__p_unsigned_long,
4158 _swigc__p_wxANIHandler,
4159 _swigc__p_wxAcceleratorTable,
4160 _swigc__p_wxActivateEvent,
4161 _swigc__p_wxBMPHandler,
4162 _swigc__p_wxBoxSizer,
4163 _swigc__p_wxCURHandler,
4164 _swigc__p_wxChildFocusEvent,
4165 _swigc__p_wxClipboardTextEvent,
4166 _swigc__p_wxCloseEvent,
4167 _swigc__p_wxCommandEvent,
4168 _swigc__p_wxContextMenuEvent,
4169 _swigc__p_wxControl,
4170 _swigc__p_wxControlWithItems,
4171 _swigc__p_wxDateEvent,
4172 _swigc__p_wxDisplayChangedEvent,
4173 _swigc__p_wxDropFilesEvent,
4174 _swigc__p_wxDuplexMode,
4175 _swigc__p_wxEraseEvent,
4176 _swigc__p_wxEvent,
4177 _swigc__p_wxEventBlocker,
4178 _swigc__p_wxEvtHandler,
4179 _swigc__p_wxFSFile,
4180 _swigc__p_wxFileSystem,
4181 _swigc__p_wxFlexGridSizer,
4182 _swigc__p_wxFocusEvent,
4183 _swigc__p_wxGBSizerItem,
4184 _swigc__p_wxGIFHandler,
4185 _swigc__p_wxGLCanvas,
4186 _swigc__p_wxGLContext,
4187 _swigc__p_wxGridBagSizer,
4188 _swigc__p_wxGridSizer,
4189 _swigc__p_wxICOHandler,
4190 _swigc__p_wxIconizeEvent,
4191 _swigc__p_wxIdleEvent,
4192 _swigc__p_wxImage,
4193 _swigc__p_wxImageHandler,
4194 _swigc__p_wxIndividualLayoutConstraint,
4195 _swigc__p_wxInitDialogEvent,
4196 _swigc__p_wxJPEGHandler,
4197 _swigc__p_wxKeyEvent,
4198 _swigc__p_wxLayoutConstraints,
4199 _swigc__p_wxMaximizeEvent,
4200 _swigc__p_wxMenu,
4201 _swigc__p_wxMenuBar,
4202 _swigc__p_wxMenuEvent,
4203 _swigc__p_wxMenuItem,
4204 _swigc__p_wxMouseCaptureChangedEvent,
4205 _swigc__p_wxMouseCaptureLostEvent,
4206 _swigc__p_wxMouseEvent,
4207 _swigc__p_wxMoveEvent,
4208 _swigc__p_wxNavigationKeyEvent,
4209 _swigc__p_wxNcPaintEvent,
4210 _swigc__p_wxNotifyEvent,
4211 _swigc__p_wxObject,
4212 _swigc__p_wxPCXHandler,
4213 _swigc__p_wxPNGHandler,
4214 _swigc__p_wxPNMHandler,
4215 _swigc__p_wxPaintEvent,
4216 _swigc__p_wxPalette,
4217 _swigc__p_wxPaletteChangedEvent,
4218 _swigc__p_wxPaperSize,
4219 _swigc__p_wxPyApp,
4220 _swigc__p_wxPyCommandEvent,
4221 _swigc__p_wxPyEvent,
4222 _swigc__p_wxPyImageHandler,
4223 _swigc__p_wxPySizer,
4224 _swigc__p_wxPyValidator,
4225 _swigc__p_wxQueryNewPaletteEvent,
4226 _swigc__p_wxScrollEvent,
4227 _swigc__p_wxScrollWinEvent,
4228 _swigc__p_wxSetCursorEvent,
4229 _swigc__p_wxShowEvent,
4230 _swigc__p_wxSizeEvent,
4231 _swigc__p_wxSizer,
4232 _swigc__p_wxSizerItem,
4233 _swigc__p_wxStaticBoxSizer,
4234 _swigc__p_wxStdDialogButtonSizer,
4235 _swigc__p_wxSysColourChangedEvent,
4236 _swigc__p_wxTGAHandler,
4237 _swigc__p_wxTIFFHandler,
4238 _swigc__p_wxUpdateUIEvent,
4239 _swigc__p_wxValidator,
4240 _swigc__p_wxWindow,
4241 _swigc__p_wxWindowCreateEvent,
4242 _swigc__p_wxWindowDestroyEvent,
4243 _swigc__p_wxXPMHandler,
4244 };
4245
4246
4247 /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (END) -------- */
4248
4249 static swig_const_info swig_const_table[] = {
4250 {0, 0, 0, 0.0, 0, 0}};
4251
4252 #ifdef __cplusplus
4253 }
4254 #endif
4255 /* -----------------------------------------------------------------------------
4256 * Type initialization:
4257 * This problem is tough by the requirement that no dynamic
4258 * memory is used. Also, since swig_type_info structures store pointers to
4259 * swig_cast_info structures and swig_cast_info structures store pointers back
4260 * to swig_type_info structures, we need some lookup code at initialization.
4261 * The idea is that swig generates all the structures that are needed.
4262 * The runtime then collects these partially filled structures.
4263 * The SWIG_InitializeModule function takes these initial arrays out of
4264 * swig_module, and does all the lookup, filling in the swig_module.types
4265 * array with the correct data and linking the correct swig_cast_info
4266 * structures together.
4267 *
4268 * The generated swig_type_info structures are assigned staticly to an initial
4269 * array. We just loop though that array, and handle each type individually.
4270 * First we lookup if this type has been already loaded, and if so, use the
4271 * loaded structure instead of the generated one. Then we have to fill in the
4272 * cast linked list. The cast data is initially stored in something like a
4273 * two-dimensional array. Each row corresponds to a type (there are the same
4274 * number of rows as there are in the swig_type_initial array). Each entry in
4275 * a column is one of the swig_cast_info structures for that type.
4276 * The cast_initial array is actually an array of arrays, because each row has
4277 * a variable number of columns. So to actually build the cast linked list,
4278 * we find the array of casts associated with the type, and loop through it
4279 * adding the casts to the list. The one last trick we need to do is making
4280 * sure the type pointer in the swig_cast_info struct is correct.
4281 *
4282 * First off, we lookup the cast->type name to see if it is already loaded.
4283 * There are three cases to handle:
4284 * 1) If the cast->type has already been loaded AND the type we are adding
4285 * casting info to has not been loaded (it is in this module), THEN we
4286 * replace the cast->type pointer with the type pointer that has already
4287 * been loaded.
4288 * 2) If BOTH types (the one we are adding casting info to, and the
4289 * cast->type) are loaded, THEN the cast info has already been loaded by
4290 * the previous module so we just ignore it.
4291 * 3) Finally, if cast->type has not already been loaded, then we add that
4292 * swig_cast_info to the linked list (because the cast->type) pointer will
4293 * be correct.
4294 * ----------------------------------------------------------------------------- */
4295
4296 #ifdef __cplusplus
4297 extern "C" {
4298 #if 0
4299 } /* c-mode */
4300 #endif
4301 #endif
4302
4303 #if 0
4304 #define SWIGRUNTIME_DEBUG
4305 #endif
4306
4307 SWIGRUNTIME void
4308 SWIG_InitializeModule(void *clientdata) {
4309 size_t i;
4310 swig_module_info *module_head;
4311 static int init_run = 0;
4312
4313 clientdata = clientdata;
4314
4315 if (init_run) return;
4316 init_run = 1;
4317
4318 /* Initialize the swig_module */
4319 swig_module.type_initial = swig_type_initial;
4320 swig_module.cast_initial = swig_cast_initial;
4321
4322 /* Try and load any already created modules */
4323 module_head = SWIG_GetModule(clientdata);
4324 if (module_head) {
4325 swig_module.next = module_head->next;
4326 module_head->next = &swig_module;
4327 } else {
4328 /* This is the first module loaded */
4329 swig_module.next = &swig_module;
4330 SWIG_SetModule(clientdata, &swig_module);
4331 }
4332
4333 /* Now work on filling in swig_module.types */
4334 #ifdef SWIGRUNTIME_DEBUG
4335 printf("SWIG_InitializeModule: size %d\n", swig_module.size);
4336 #endif
4337 for (i = 0; i < swig_module.size; ++i) {
4338 swig_type_info *type = 0;
4339 swig_type_info *ret;
4340 swig_cast_info *cast;
4341
4342 #ifdef SWIGRUNTIME_DEBUG
4343 printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name);
4344 #endif
4345
4346 /* if there is another module already loaded */
4347 if (swig_module.next != &swig_module) {
4348 type = SWIG_MangledTypeQueryModule(swig_module.next, &swig_module, swig_module.type_initial[i]->name);
4349 }
4350 if (type) {
4351 /* Overwrite clientdata field */
4352 #ifdef SWIGRUNTIME_DEBUG
4353 printf("SWIG_InitializeModule: found type %s\n", type->name);
4354 #endif
4355 if (swig_module.type_initial[i]->clientdata) {
4356 type->clientdata = swig_module.type_initial[i]->clientdata;
4357 #ifdef SWIGRUNTIME_DEBUG
4358 printf("SWIG_InitializeModule: found and overwrite type %s \n", type->name);
4359 #endif
4360 }
4361 } else {
4362 type = swig_module.type_initial[i];
4363 }
4364
4365 /* Insert casting types */
4366 cast = swig_module.cast_initial[i];
4367 while (cast->type) {
4368 /* Don't need to add information already in the list */
4369 ret = 0;
4370 #ifdef SWIGRUNTIME_DEBUG
4371 printf("SWIG_InitializeModule: look cast %s\n", cast->type->name);
4372 #endif
4373 if (swig_module.next != &swig_module) {
4374 ret = SWIG_MangledTypeQueryModule(swig_module.next, &swig_module, cast->type->name);
4375 #ifdef SWIGRUNTIME_DEBUG
4376 if (ret) printf("SWIG_InitializeModule: found cast %s\n", ret->name);
4377 #endif
4378 }
4379 if (ret) {
4380 if (type == swig_module.type_initial[i]) {
4381 #ifdef SWIGRUNTIME_DEBUG
4382 printf("SWIG_InitializeModule: skip old type %s\n", ret->name);
4383 #endif
4384 cast->type = ret;
4385 ret = 0;
4386 } else {
4387 /* Check for casting already in the list */
4388 swig_cast_info *ocast = SWIG_TypeCheck(ret->name, type);
4389 #ifdef SWIGRUNTIME_DEBUG
4390 if (ocast) printf("SWIG_InitializeModule: skip old cast %s\n", ret->name);
4391 #endif
4392 if (!ocast) ret = 0;
4393 }
4394 }
4395
4396 if (!ret) {
4397 #ifdef SWIGRUNTIME_DEBUG
4398 printf("SWIG_InitializeModule: adding cast %s\n", cast->type->name);
4399 #endif
4400 if (type->cast) {
4401 type->cast->prev = cast;
4402 cast->next = type->cast;
4403 }
4404 type->cast = cast;
4405 }
4406 cast++;
4407 }
4408 /* Set entry in modules->types array equal to the type */
4409 swig_module.types[i] = type;
4410 }
4411 swig_module.types[i] = 0;
4412
4413 #ifdef SWIGRUNTIME_DEBUG
4414 printf("**** SWIG_InitializeModule: Cast List ******\n");
4415 for (i = 0; i < swig_module.size; ++i) {
4416 int j = 0;
4417 swig_cast_info *cast = swig_module.cast_initial[i];
4418 printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name);
4419 while (cast->type) {
4420 printf("SWIG_InitializeModule: cast type %s\n", cast->type->name);
4421 cast++;
4422 ++j;
4423 }
4424 printf("---- Total casts: %d\n",j);
4425 }
4426 printf("**** SWIG_InitializeModule: Cast List ******\n");
4427 #endif
4428 }
4429
4430 /* This function will propagate the clientdata field of type to
4431 * any new swig_type_info structures that have been added into the list
4432 * of equivalent types. It is like calling
4433 * SWIG_TypeClientData(type, clientdata) a second time.
4434 */
4435 SWIGRUNTIME void
4436 SWIG_PropagateClientData(void) {
4437 size_t i;
4438 swig_cast_info *equiv;
4439 static int init_run = 0;
4440
4441 if (init_run) return;
4442 init_run = 1;
4443
4444 for (i = 0; i < swig_module.size; i++) {
4445 if (swig_module.types[i]->clientdata) {
4446 equiv = swig_module.types[i]->cast;
4447 while (equiv) {
4448 if (!equiv->converter) {
4449 if (equiv->type && !equiv->type->clientdata)
4450 SWIG_TypeClientData(equiv->type, swig_module.types[i]->clientdata);
4451 }
4452 equiv = equiv->next;
4453 }
4454 }
4455 }
4456 }
4457
4458 #ifdef __cplusplus
4459 #if 0
4460 {
4461 /* c-mode */
4462 #endif
4463 }
4464 #endif
4465
4466
4467
4468 #ifdef __cplusplus
4469 extern "C" {
4470 #endif
4471
4472 /* Python-specific SWIG API */
4473 #define SWIG_newvarlink() SWIG_Python_newvarlink()
4474 #define SWIG_addvarlink(p, name, get_attr, set_attr) SWIG_Python_addvarlink(p, name, get_attr, set_attr)
4475 #define SWIG_InstallConstants(d, constants) SWIG_Python_InstallConstants(d, constants)
4476
4477 /* -----------------------------------------------------------------------------
4478 * global variable support code.
4479 * ----------------------------------------------------------------------------- */
4480
4481 typedef struct swig_globalvar {
4482 char *name; /* Name of global variable */
4483 PyObject *(*get_attr)(void); /* Return the current value */
4484 int (*set_attr)(PyObject *); /* Set the value */
4485 struct swig_globalvar *next;
4486 } swig_globalvar;
4487
4488 typedef struct swig_varlinkobject {
4489 PyObject_HEAD
4490 swig_globalvar *vars;
4491 } swig_varlinkobject;
4492
4493 SWIGINTERN PyObject *
4494 swig_varlink_repr(swig_varlinkobject *SWIGUNUSEDPARM(v)) {
4495 return PyString_FromString("<Swig global variables>");
4496 }
4497
4498 SWIGINTERN PyObject *
4499 swig_varlink_str(swig_varlinkobject *v) {
4500 PyObject *str = PyString_FromString("(");
4501 swig_globalvar *var;
4502 for (var = v->vars; var; var=var->next) {
4503 PyString_ConcatAndDel(&str,PyString_FromString(var->name));
4504 if (var->next) PyString_ConcatAndDel(&str,PyString_FromString(", "));
4505 }
4506 PyString_ConcatAndDel(&str,PyString_FromString(")"));
4507 return str;
4508 }
4509
4510 SWIGINTERN int
4511 swig_varlink_print(swig_varlinkobject *v, FILE *fp, int SWIGUNUSEDPARM(flags)) {
4512 PyObject *str = swig_varlink_str(v);
4513 fprintf(fp,"Swig global variables ");
4514 fprintf(fp,"%s\n", PyString_AsString(str));
4515 Py_DECREF(str);
4516 return 0;
4517 }
4518
4519 SWIGINTERN void
4520 swig_varlink_dealloc(swig_varlinkobject *v) {
4521 swig_globalvar *var = v->vars;
4522 while (var) {
4523 swig_globalvar *n = var->next;
4524 free(var->name);
4525 free(var);
4526 var = n;
4527 }
4528 }
4529
4530 SWIGINTERN PyObject *
4531 swig_varlink_getattr(swig_varlinkobject *v, char *n) {
4532 PyObject *res = NULL;
4533 swig_globalvar *var = v->vars;
4534 while (var) {
4535 if (strcmp(var->name,n) == 0) {
4536 res = (*var->get_attr)();
4537 break;
4538 }
4539 var = var->next;
4540 }
4541 if (res == NULL && !PyErr_Occurred()) {
4542 PyErr_SetString(PyExc_NameError,"Unknown C global variable");
4543 }
4544 return res;
4545 }
4546
4547 SWIGINTERN int
4548 swig_varlink_setattr(swig_varlinkobject *v, char *n, PyObject *p) {
4549 int res = 1;
4550 swig_globalvar *var = v->vars;
4551 while (var) {
4552 if (strcmp(var->name,n) == 0) {
4553 res = (*var->set_attr)(p);
4554 break;
4555 }
4556 var = var->next;
4557 }
4558 if (res == 1 && !PyErr_Occurred()) {
4559 PyErr_SetString(PyExc_NameError,"Unknown C global variable");
4560 }
4561 return res;
4562 }
4563
4564 SWIGINTERN PyTypeObject*
4565 swig_varlink_type(void) {
4566 static char varlink__doc__[] = "Swig var link object";
4567 static PyTypeObject varlink_type;
4568 static int type_init = 0;
4569 if (!type_init) {
4570 const PyTypeObject tmp
4571 = {
4572 PyObject_HEAD_INIT(NULL)
4573 0, /* Number of items in variable part (ob_size) */
4574 (char *)"swigvarlink", /* Type name (tp_name) */
4575 sizeof(swig_varlinkobject), /* Basic size (tp_basicsize) */
4576 0, /* Itemsize (tp_itemsize) */
4577 (destructor) swig_varlink_dealloc, /* Deallocator (tp_dealloc) */
4578 (printfunc) swig_varlink_print, /* Print (tp_print) */
4579 (getattrfunc) swig_varlink_getattr, /* get attr (tp_getattr) */
4580 (setattrfunc) swig_varlink_setattr, /* Set attr (tp_setattr) */
4581 0, /* tp_compare */
4582 (reprfunc) swig_varlink_repr, /* tp_repr */
4583 0, /* tp_as_number */
4584 0, /* tp_as_sequence */
4585 0, /* tp_as_mapping */
4586 0, /* tp_hash */
4587 0, /* tp_call */
4588 (reprfunc)swig_varlink_str, /* tp_str */
4589 0, /* tp_getattro */
4590 0, /* tp_setattro */
4591 0, /* tp_as_buffer */
4592 0, /* tp_flags */
4593 varlink__doc__, /* tp_doc */
4594 0, /* tp_traverse */
4595 0, /* tp_clear */
4596 0, /* tp_richcompare */
4597 0, /* tp_weaklistoffset */
4598 #if PY_VERSION_HEX >= 0x02020000
4599 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* tp_iter -> tp_weaklist */
4600 #endif
4601 #if PY_VERSION_HEX >= 0x02030000
4602 0, /* tp_del */
4603 #endif
4604 #ifdef COUNT_ALLOCS
4605 0,0,0,0 /* tp_alloc -> tp_next */
4606 #endif
4607 };
4608 varlink_type = tmp;
4609 varlink_type.ob_type = &PyType_Type;
4610 type_init = 1;
4611 }
4612 return &varlink_type;
4613 }
4614
4615 /* Create a variable linking object for use later */
4616 SWIGINTERN PyObject *
4617 SWIG_Python_newvarlink(void) {
4618 swig_varlinkobject *result = PyObject_NEW(swig_varlinkobject, swig_varlink_type());
4619 if (result) {
4620 result->vars = 0;
4621 }
4622 return ((PyObject*) result);
4623 }
4624
4625 SWIGINTERN void
4626 SWIG_Python_addvarlink(PyObject *p, char *name, PyObject *(*get_attr)(void), int (*set_attr)(PyObject *p)) {
4627 swig_varlinkobject *v = (swig_varlinkobject *) p;
4628 swig_globalvar *gv = (swig_globalvar *) malloc(sizeof(swig_globalvar));
4629 if (gv) {
4630 size_t size = strlen(name)+1;
4631 gv->name = (char *)malloc(size);
4632 if (gv->name) {
4633 strncpy(gv->name,name,size);
4634 gv->get_attr = get_attr;
4635 gv->set_attr = set_attr;
4636 gv->next = v->vars;
4637 }
4638 }
4639 v->vars = gv;
4640 }
4641
4642 SWIGINTERN PyObject *
4643 SWIG_globals() {
4644 static PyObject *_SWIG_globals = 0;
4645 if (!_SWIG_globals) _SWIG_globals = SWIG_newvarlink();
4646 return _SWIG_globals;
4647 }
4648
4649 /* -----------------------------------------------------------------------------
4650 * constants/methods manipulation
4651 * ----------------------------------------------------------------------------- */
4652
4653 /* Install Constants */
4654 SWIGINTERN void
4655 SWIG_Python_InstallConstants(PyObject *d, swig_const_info constants[]) {
4656 PyObject *obj = 0;
4657 size_t i;
4658 for (i = 0; constants[i].type; ++i) {
4659 switch(constants[i].type) {
4660 case SWIG_PY_POINTER:
4661 obj = SWIG_NewPointerObj(constants[i].pvalue, *(constants[i]).ptype,0);
4662 break;
4663 case SWIG_PY_BINARY:
4664 obj = SWIG_NewPackedObj(constants[i].pvalue, constants[i].lvalue, *(constants[i].ptype));
4665 break;
4666 default:
4667 obj = 0;
4668 break;
4669 }
4670 if (obj) {
4671 PyDict_SetItemString(d, constants[i].name, obj);
4672 Py_DECREF(obj);
4673 }
4674 }
4675 }
4676
4677 /* -----------------------------------------------------------------------------*/
4678 /* Fix SwigMethods to carry the callback ptrs when needed */
4679 /* -----------------------------------------------------------------------------*/
4680
4681 SWIGINTERN void
4682 SWIG_Python_FixMethods(PyMethodDef *methods,
4683 swig_const_info *const_table,
4684 swig_type_info **types,
4685 swig_type_info **types_initial) {
4686 size_t i;
4687 for (i = 0; methods[i].ml_name; ++i) {
4688 const char *c = methods[i].ml_doc;
4689 if (c && (c = strstr(c, "swig_ptr: "))) {
4690 int j;
4691 swig_const_info *ci = 0;
4692 const char *name = c + 10;
4693 for (j = 0; const_table[j].type; ++j) {
4694 if (strncmp(const_table[j].name, name,
4695 strlen(const_table[j].name)) == 0) {
4696 ci = &(const_table[j]);
4697 break;
4698 }
4699 }
4700 if (ci) {
4701 size_t shift = (ci->ptype) - types;
4702 swig_type_info *ty = types_initial[shift];
4703 size_t ldoc = (c - methods[i].ml_doc);
4704 size_t lptr = strlen(ty->name)+2*sizeof(void*)+2;
4705 char *ndoc = (char*)malloc(ldoc + lptr + 10);
4706 if (ndoc) {
4707 char *buff = ndoc;
4708 void *ptr = (ci->type == SWIG_PY_POINTER) ? ci->pvalue : 0;
4709 if (ptr) {
4710 strncpy(buff, methods[i].ml_doc, ldoc);
4711 buff += ldoc;
4712 strncpy(buff, "swig_ptr: ", 10);
4713 buff += 10;
4714 SWIG_PackVoidPtr(buff, ptr, ty->name, lptr);
4715 methods[i].ml_doc = ndoc;
4716 }
4717 }
4718 }
4719 }
4720 }
4721 }
4722
4723 #ifdef __cplusplus
4724 }
4725 #endif
4726
4727 /* -----------------------------------------------------------------------------*
4728 * Partial Init method
4729 * -----------------------------------------------------------------------------*/
4730
4731 #ifdef __cplusplus
4732 extern "C"
4733 #endif
4734 SWIGEXPORT void SWIG_init(void) {
4735 PyObject *m, *d;
4736
4737 /* Fix SwigMethods to carry the callback ptrs when needed */
4738 SWIG_Python_FixMethods(SwigMethods, swig_const_table, swig_types, swig_type_initial);
4739
4740 m = Py_InitModule((char *) SWIG_name, SwigMethods);
4741 d = PyModule_GetDict(m);
4742
4743 SWIG_InitializeModule(0);
4744 SWIG_InstallConstants(d,swig_const_table);
4745
4746
4747 PyDict_SetItemString(d,(char*)"cvar", SWIG_globals());
4748 SWIG_addvarlink(SWIG_globals(),(char*)"GLCanvasNameStr",GLCanvasNameStr_get, GLCanvasNameStr_set);
4749 SWIG_Python_SetConstant(d, "WX_GL_RGBA",SWIG_From_int(static_cast< int >(WX_GL_RGBA)));
4750 SWIG_Python_SetConstant(d, "WX_GL_BUFFER_SIZE",SWIG_From_int(static_cast< int >(WX_GL_BUFFER_SIZE)));
4751 SWIG_Python_SetConstant(d, "WX_GL_LEVEL",SWIG_From_int(static_cast< int >(WX_GL_LEVEL)));
4752 SWIG_Python_SetConstant(d, "WX_GL_DOUBLEBUFFER",SWIG_From_int(static_cast< int >(WX_GL_DOUBLEBUFFER)));
4753 SWIG_Python_SetConstant(d, "WX_GL_STEREO",SWIG_From_int(static_cast< int >(WX_GL_STEREO)));
4754 SWIG_Python_SetConstant(d, "WX_GL_AUX_BUFFERS",SWIG_From_int(static_cast< int >(WX_GL_AUX_BUFFERS)));
4755 SWIG_Python_SetConstant(d, "WX_GL_MIN_RED",SWIG_From_int(static_cast< int >(WX_GL_MIN_RED)));
4756 SWIG_Python_SetConstant(d, "WX_GL_MIN_GREEN",SWIG_From_int(static_cast< int >(WX_GL_MIN_GREEN)));
4757 SWIG_Python_SetConstant(d, "WX_GL_MIN_BLUE",SWIG_From_int(static_cast< int >(WX_GL_MIN_BLUE)));
4758 SWIG_Python_SetConstant(d, "WX_GL_MIN_ALPHA",SWIG_From_int(static_cast< int >(WX_GL_MIN_ALPHA)));
4759 SWIG_Python_SetConstant(d, "WX_GL_DEPTH_SIZE",SWIG_From_int(static_cast< int >(WX_GL_DEPTH_SIZE)));
4760 SWIG_Python_SetConstant(d, "WX_GL_STENCIL_SIZE",SWIG_From_int(static_cast< int >(WX_GL_STENCIL_SIZE)));
4761 SWIG_Python_SetConstant(d, "WX_GL_MIN_ACCUM_RED",SWIG_From_int(static_cast< int >(WX_GL_MIN_ACCUM_RED)));
4762 SWIG_Python_SetConstant(d, "WX_GL_MIN_ACCUM_GREEN",SWIG_From_int(static_cast< int >(WX_GL_MIN_ACCUM_GREEN)));
4763 SWIG_Python_SetConstant(d, "WX_GL_MIN_ACCUM_BLUE",SWIG_From_int(static_cast< int >(WX_GL_MIN_ACCUM_BLUE)));
4764 SWIG_Python_SetConstant(d, "WX_GL_MIN_ACCUM_ALPHA",SWIG_From_int(static_cast< int >(WX_GL_MIN_ACCUM_ALPHA)));
4765
4766
4767
4768 }
4769