]> git.saurik.com Git - wxWidgets.git/blob - wxPython/contrib/glcanvas/gtk/glcanvas_wrap.cpp
522b9299c0402e616f81f61eb4fec1b2003a7b69
[wxWidgets.git] / wxPython / contrib / glcanvas / gtk / glcanvas_wrap.cpp
1 /* ----------------------------------------------------------------------------
2 * This file was automatically generated by SWIG (http://www.swig.org).
3 * Version 1.3.24
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
13 #ifdef __cplusplus
14 template<class T> class SwigValueWrapper {
15 T *tt;
16 public:
17 SwigValueWrapper() : tt(0) { }
18 SwigValueWrapper(const SwigValueWrapper<T>& rhs) : tt(new T(*rhs.tt)) { }
19 SwigValueWrapper(const T& t) : tt(new T(t)) { }
20 ~SwigValueWrapper() { delete tt; }
21 SwigValueWrapper& operator=(const T& t) { delete tt; tt = new T(t); return *this; }
22 operator T&() const { return *tt; }
23 T *operator&() { return tt; }
24 private:
25 SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs);
26 };
27 #endif
28
29
30 #ifndef SWIG_TEMPLATE_DISAMBIGUATOR
31 # if defined(__SUNPRO_CC)
32 # define SWIG_TEMPLATE_DISAMBIGUATOR template
33 # else
34 # define SWIG_TEMPLATE_DISAMBIGUATOR
35 # endif
36 #endif
37
38
39 #include <Python.h>
40
41 /***********************************************************************
42 * swigrun.swg
43 *
44 * This file contains generic CAPI SWIG runtime support for pointer
45 * type checking.
46 *
47 ************************************************************************/
48
49 /* This should only be incremented when either the layout of swig_type_info changes,
50 or for whatever reason, the runtime changes incompatibly */
51 #define SWIG_RUNTIME_VERSION "1"
52
53 /* define SWIG_TYPE_TABLE_NAME as "SWIG_TYPE_TABLE" */
54 #ifdef SWIG_TYPE_TABLE
55 #define SWIG_QUOTE_STRING(x) #x
56 #define SWIG_EXPAND_AND_QUOTE_STRING(x) SWIG_QUOTE_STRING(x)
57 #define SWIG_TYPE_TABLE_NAME SWIG_EXPAND_AND_QUOTE_STRING(SWIG_TYPE_TABLE)
58 #else
59 #define SWIG_TYPE_TABLE_NAME
60 #endif
61
62 #include <string.h>
63
64 #ifndef SWIGINLINE
65 #if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__))
66 # define SWIGINLINE inline
67 #else
68 # define SWIGINLINE
69 #endif
70 #endif
71
72 /*
73 You can use the SWIGRUNTIME and SWIGRUNTIMEINLINE macros for
74 creating a static or dynamic library from the swig runtime code.
75 In 99.9% of the cases, swig just needs to declare them as 'static'.
76
77 But only do this if is strictly necessary, ie, if you have problems
78 with your compiler or so.
79 */
80 #ifndef SWIGRUNTIME
81 #define SWIGRUNTIME static
82 #endif
83 #ifndef SWIGRUNTIMEINLINE
84 #define SWIGRUNTIMEINLINE SWIGRUNTIME SWIGINLINE
85 #endif
86
87 #ifdef __cplusplus
88 extern "C" {
89 #endif
90
91 typedef void *(*swig_converter_func)(void *);
92 typedef struct swig_type_info *(*swig_dycast_func)(void **);
93
94 typedef struct swig_type_info {
95 const char *name;
96 swig_converter_func converter;
97 const char *str;
98 void *clientdata;
99 swig_dycast_func dcast;
100 struct swig_type_info *next;
101 struct swig_type_info *prev;
102 } swig_type_info;
103
104 /*
105 Compare two type names skipping the space characters, therefore
106 "char*" == "char *" and "Class<int>" == "Class<int >", etc.
107
108 Return 0 when the two name types are equivalent, as in
109 strncmp, but skipping ' '.
110 */
111 SWIGRUNTIME int
112 SWIG_TypeNameComp(const char *f1, const char *l1,
113 const char *f2, const char *l2) {
114 for (;(f1 != l1) && (f2 != l2); ++f1, ++f2) {
115 while ((*f1 == ' ') && (f1 != l1)) ++f1;
116 while ((*f2 == ' ') && (f2 != l2)) ++f2;
117 if (*f1 != *f2) return *f1 - *f2;
118 }
119 return (l1 - f1) - (l2 - f2);
120 }
121
122 /*
123 Check type equivalence in a name list like <name1>|<name2>|...
124 */
125 SWIGRUNTIME int
126 SWIG_TypeEquiv(const char *nb, const char *tb) {
127 int equiv = 0;
128 const char* te = tb + strlen(tb);
129 const char* ne = nb;
130 while (!equiv && *ne) {
131 for (nb = ne; *ne; ++ne) {
132 if (*ne == '|') break;
133 }
134 equiv = SWIG_TypeNameComp(nb, ne, tb, te) == 0;
135 if (*ne) ++ne;
136 }
137 return equiv;
138 }
139
140 /*
141 Register a type mapping with the type-checking
142 */
143 SWIGRUNTIME swig_type_info *
144 SWIG_TypeRegisterTL(swig_type_info **tl, swig_type_info *ti) {
145 swig_type_info *tc, *head, *ret, *next;
146 /* Check to see if this type has already been registered */
147 tc = *tl;
148 while (tc) {
149 /* check simple type equivalence */
150 int typeequiv = (strcmp(tc->name, ti->name) == 0);
151 /* check full type equivalence, resolving typedefs */
152 if (!typeequiv) {
153 /* only if tc is not a typedef (no '|' on it) */
154 if (tc->str && ti->str && !strstr(tc->str,"|")) {
155 typeequiv = SWIG_TypeEquiv(ti->str,tc->str);
156 }
157 }
158 if (typeequiv) {
159 /* Already exists in the table. Just add additional types to the list */
160 if (ti->clientdata) tc->clientdata = ti->clientdata;
161 head = tc;
162 next = tc->next;
163 goto l1;
164 }
165 tc = tc->prev;
166 }
167 head = ti;
168 next = 0;
169
170 /* Place in list */
171 ti->prev = *tl;
172 *tl = ti;
173
174 /* Build linked lists */
175 l1:
176 ret = head;
177 tc = ti + 1;
178 /* Patch up the rest of the links */
179 while (tc->name) {
180 head->next = tc;
181 tc->prev = head;
182 head = tc;
183 tc++;
184 }
185 if (next) next->prev = head;
186 head->next = next;
187
188 return ret;
189 }
190
191 /*
192 Check the typename
193 */
194 SWIGRUNTIME swig_type_info *
195 SWIG_TypeCheck(const char *c, swig_type_info *ty) {
196 swig_type_info *s;
197 if (!ty) return 0; /* Void pointer */
198 s = ty->next; /* First element always just a name */
199 do {
200 if (strcmp(s->name,c) == 0) {
201 if (s == ty->next) return s;
202 /* Move s to the top of the linked list */
203 s->prev->next = s->next;
204 if (s->next) {
205 s->next->prev = s->prev;
206 }
207 /* Insert s as second element in the list */
208 s->next = ty->next;
209 if (ty->next) ty->next->prev = s;
210 ty->next = s;
211 s->prev = ty;
212 return s;
213 }
214 s = s->next;
215 } while (s && (s != ty->next));
216 return 0;
217 }
218
219 /*
220 Cast a pointer up an inheritance hierarchy
221 */
222 SWIGRUNTIMEINLINE void *
223 SWIG_TypeCast(swig_type_info *ty, void *ptr) {
224 return ((!ty) || (!ty->converter)) ? ptr : (*ty->converter)(ptr);
225 }
226
227 /*
228 Dynamic pointer casting. Down an inheritance hierarchy
229 */
230 SWIGRUNTIME swig_type_info *
231 SWIG_TypeDynamicCast(swig_type_info *ty, void **ptr) {
232 swig_type_info *lastty = ty;
233 if (!ty || !ty->dcast) return ty;
234 while (ty && (ty->dcast)) {
235 ty = (*ty->dcast)(ptr);
236 if (ty) lastty = ty;
237 }
238 return lastty;
239 }
240
241 /*
242 Return the name associated with this type
243 */
244 SWIGRUNTIMEINLINE const char *
245 SWIG_TypeName(const swig_type_info *ty) {
246 return ty->name;
247 }
248
249 /*
250 Return the pretty name associated with this type,
251 that is an unmangled type name in a form presentable to the user.
252 */
253 SWIGRUNTIME const char *
254 SWIG_TypePrettyName(const swig_type_info *type) {
255 /* The "str" field contains the equivalent pretty names of the
256 type, separated by vertical-bar characters. We choose
257 to print the last name, as it is often (?) the most
258 specific. */
259 if (type->str != NULL) {
260 const char *last_name = type->str;
261 const char *s;
262 for (s = type->str; *s; s++)
263 if (*s == '|') last_name = s+1;
264 return last_name;
265 }
266 else
267 return type->name;
268 }
269
270 /*
271 Search for a swig_type_info structure
272 */
273 SWIGRUNTIME swig_type_info *
274 SWIG_TypeQueryTL(swig_type_info *tl, const char *name) {
275 swig_type_info *ty = tl;
276 while (ty) {
277 if (ty->str && (SWIG_TypeEquiv(ty->str,name))) return ty;
278 if (ty->name && (strcmp(name,ty->name) == 0)) return ty;
279 ty = ty->prev;
280 }
281 return 0;
282 }
283
284 /*
285 Set the clientdata field for a type
286 */
287 SWIGRUNTIME void
288 SWIG_TypeClientDataTL(swig_type_info *tl, swig_type_info *ti, void *clientdata) {
289 swig_type_info *tc, *equiv;
290 if (ti->clientdata) return;
291 /* if (ti->clientdata == clientdata) return; */
292 ti->clientdata = clientdata;
293 equiv = ti->next;
294 while (equiv) {
295 if (!equiv->converter) {
296 tc = tl;
297 while (tc) {
298 if ((strcmp(tc->name, equiv->name) == 0))
299 SWIG_TypeClientDataTL(tl,tc,clientdata);
300 tc = tc->prev;
301 }
302 }
303 equiv = equiv->next;
304 }
305 }
306
307 /*
308 Pack binary data into a string
309 */
310 SWIGRUNTIME char *
311 SWIG_PackData(char *c, void *ptr, size_t sz) {
312 static char hex[17] = "0123456789abcdef";
313 unsigned char *u = (unsigned char *) ptr;
314 const unsigned char *eu = u + sz;
315 register unsigned char uu;
316 for (; u != eu; ++u) {
317 uu = *u;
318 *(c++) = hex[(uu & 0xf0) >> 4];
319 *(c++) = hex[uu & 0xf];
320 }
321 return c;
322 }
323
324 /*
325 Unpack binary data from a string
326 */
327 SWIGRUNTIME const char *
328 SWIG_UnpackData(const char *c, void *ptr, size_t sz) {
329 register unsigned char *u = (unsigned char *) ptr;
330 register const unsigned char *eu = u + sz;
331 for (; u != eu; ++u) {
332 register int d = *(c++);
333 register unsigned char uu = 0;
334 if ((d >= '0') && (d <= '9'))
335 uu = ((d - '0') << 4);
336 else if ((d >= 'a') && (d <= 'f'))
337 uu = ((d - ('a'-10)) << 4);
338 else
339 return (char *) 0;
340 d = *(c++);
341 if ((d >= '0') && (d <= '9'))
342 uu |= (d - '0');
343 else if ((d >= 'a') && (d <= 'f'))
344 uu |= (d - ('a'-10));
345 else
346 return (char *) 0;
347 *u = uu;
348 }
349 return c;
350 }
351
352 /*
353 This function will propagate the clientdata field of type to any new
354 swig_type_info structures that have been added into the list of
355 equivalent types. It is like calling SWIG_TypeClientData(type,
356 clientdata) a second time.
357 */
358 SWIGRUNTIME void
359 SWIG_PropagateClientDataTL(swig_type_info *tl, swig_type_info *type) {
360 swig_type_info *equiv = type->next;
361 swig_type_info *tc;
362 if (!type->clientdata) return;
363 while (equiv) {
364 if (!equiv->converter) {
365 tc = tl;
366 while (tc) {
367 if ((strcmp(tc->name, equiv->name) == 0) && !tc->clientdata)
368 SWIG_TypeClientDataTL(tl,tc, type->clientdata);
369 tc = tc->prev;
370 }
371 }
372 equiv = equiv->next;
373 }
374 }
375
376 /*
377 Pack 'void *' into a string buffer.
378 */
379 SWIGRUNTIME char *
380 SWIG_PackVoidPtr(char *buff, void *ptr, const char *name, size_t bsz) {
381 char *r = buff;
382 if ((2*sizeof(void *) + 2) > bsz) return 0;
383 *(r++) = '_';
384 r = SWIG_PackData(r,&ptr,sizeof(void *));
385 if (strlen(name) + 1 > (bsz - (r - buff))) return 0;
386 strcpy(r,name);
387 return buff;
388 }
389
390 SWIGRUNTIME const char *
391 SWIG_UnpackVoidPtr(const char *c, void **ptr, const char *name) {
392 if (*c != '_') {
393 if (strcmp(c,"NULL") == 0) {
394 *ptr = (void *) 0;
395 return name;
396 } else {
397 return 0;
398 }
399 }
400 return SWIG_UnpackData(++c,ptr,sizeof(void *));
401 }
402
403 SWIGRUNTIME char *
404 SWIG_PackDataName(char *buff, void *ptr, size_t sz, const char *name, size_t bsz) {
405 char *r = buff;
406 size_t lname = (name ? strlen(name) : 0);
407 if ((2*sz + 2 + lname) > bsz) return 0;
408 *(r++) = '_';
409 r = SWIG_PackData(r,ptr,sz);
410 if (lname) {
411 strncpy(r,name,lname+1);
412 } else {
413 *r = 0;
414 }
415 return buff;
416 }
417
418 SWIGRUNTIME const char *
419 SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) {
420 if (*c != '_') {
421 if (strcmp(c,"NULL") == 0) {
422 memset(ptr,0,sz);
423 return name;
424 } else {
425 return 0;
426 }
427 }
428 return SWIG_UnpackData(++c,ptr,sz);
429 }
430
431 #ifdef __cplusplus
432 }
433 #endif
434
435 /***********************************************************************
436 * common.swg
437 *
438 * This file contains generic SWIG runtime support for pointer
439 * type checking as well as a few commonly used macros to control
440 * external linkage.
441 *
442 * Author : David Beazley (beazley@cs.uchicago.edu)
443 *
444 * Copyright (c) 1999-2000, The University of Chicago
445 *
446 * This file may be freely redistributed without license or fee provided
447 * this copyright message remains intact.
448 ************************************************************************/
449
450
451 #if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
452 # if !defined(STATIC_LINKED)
453 # define SWIGEXPORT(a) __declspec(dllexport) a
454 # else
455 # define SWIGEXPORT(a) a
456 # endif
457 #else
458 # define SWIGEXPORT(a) a
459 #endif
460
461 #ifdef __cplusplus
462 extern "C" {
463 #endif
464
465
466 /*************************************************************************/
467
468
469 /* The static type info list */
470
471 static swig_type_info *swig_type_list = 0;
472 static swig_type_info **swig_type_list_handle = &swig_type_list;
473
474
475 /* Register a type mapping with the type-checking */
476 static swig_type_info *
477 SWIG_TypeRegister(swig_type_info *ti) {
478 return SWIG_TypeRegisterTL(swig_type_list_handle, ti);
479 }
480
481 /* Search for a swig_type_info structure */
482 static swig_type_info *
483 SWIG_TypeQuery(const char *name) {
484 return SWIG_TypeQueryTL(*swig_type_list_handle, name);
485 }
486
487 /* Set the clientdata field for a type */
488 static void
489 SWIG_TypeClientData(swig_type_info *ti, void *clientdata) {
490 SWIG_TypeClientDataTL(*swig_type_list_handle, ti, clientdata);
491 }
492
493 /* This function will propagate the clientdata field of type to
494 * any new swig_type_info structures that have been added into the list
495 * of equivalent types. It is like calling
496 * SWIG_TypeClientData(type, clientdata) a second time.
497 */
498 static void
499 SWIG_PropagateClientData(swig_type_info *type) {
500 SWIG_PropagateClientDataTL(*swig_type_list_handle, type);
501 }
502
503 #ifdef __cplusplus
504 }
505 #endif
506
507 /* -----------------------------------------------------------------------------
508 * SWIG API. Portion that goes into the runtime
509 * ----------------------------------------------------------------------------- */
510
511 #ifdef __cplusplus
512 extern "C" {
513 #endif
514
515 /* -----------------------------------------------------------------------------
516 * for internal method declarations
517 * ----------------------------------------------------------------------------- */
518
519 #ifndef SWIGINTERN
520 #define SWIGINTERN static
521 #endif
522
523 #ifndef SWIGINTERNSHORT
524 #ifdef __cplusplus
525 #define SWIGINTERNSHORT static inline
526 #else /* C case */
527 #define SWIGINTERNSHORT static
528 #endif /* __cplusplus */
529 #endif
530
531
532 /*
533 Exception handling in wrappers
534 */
535 #define SWIG_fail goto fail
536 #define SWIG_arg_fail(arg) SWIG_Python_ArgFail(arg)
537 #define SWIG_append_errmsg(msg) SWIG_Python_AddErrMesg(msg,0)
538 #define SWIG_preppend_errmsg(msg) SWIG_Python_AddErrMesg(msg,1)
539 #define SWIG_type_error(type,obj) SWIG_Python_TypeError(type,obj)
540 #define SWIG_null_ref(type) SWIG_Python_NullRef(type)
541
542 /*
543 Contract support
544 */
545 #define SWIG_contract_assert(expr, msg) \
546 if (!(expr)) { PyErr_SetString(PyExc_RuntimeError, (char *) msg ); goto fail; } else
547
548 /* -----------------------------------------------------------------------------
549 * Constant declarations
550 * ----------------------------------------------------------------------------- */
551
552 /* Constant Types */
553 #define SWIG_PY_INT 1
554 #define SWIG_PY_FLOAT 2
555 #define SWIG_PY_STRING 3
556 #define SWIG_PY_POINTER 4
557 #define SWIG_PY_BINARY 5
558
559 /* Constant information structure */
560 typedef struct swig_const_info {
561 int type;
562 char *name;
563 long lvalue;
564 double dvalue;
565 void *pvalue;
566 swig_type_info **ptype;
567 } swig_const_info;
568
569
570 /* -----------------------------------------------------------------------------
571 * Alloc. memory flags
572 * ----------------------------------------------------------------------------- */
573 #define SWIG_OLDOBJ 1
574 #define SWIG_NEWOBJ SWIG_OLDOBJ + 1
575 #define SWIG_PYSTR SWIG_NEWOBJ + 1
576
577 #ifdef __cplusplus
578 }
579 #endif
580
581
582 /***********************************************************************
583 * pyrun.swg
584 *
585 * This file contains the runtime support for Python modules
586 * and includes code for managing global variables and pointer
587 * type checking.
588 *
589 * Author : David Beazley (beazley@cs.uchicago.edu)
590 ************************************************************************/
591
592 /* Common SWIG API */
593 #define SWIG_ConvertPtr(obj, pp, type, flags) SWIG_Python_ConvertPtr(obj, pp, type, flags)
594 #define SWIG_NewPointerObj(p, type, flags) SWIG_Python_NewPointerObj(p, type, flags)
595 #define SWIG_MustGetPtr(p, type, argnum, flags) SWIG_Python_MustGetPtr(p, type, argnum, flags)
596
597
598 /* Python-specific SWIG API */
599 #define SWIG_ConvertPacked(obj, ptr, sz, ty, flags) SWIG_Python_ConvertPacked(obj, ptr, sz, ty, flags)
600 #define SWIG_NewPackedObj(ptr, sz, type) SWIG_Python_NewPackedObj(ptr, sz, type)
601
602
603 /* -----------------------------------------------------------------------------
604 * Pointer declarations
605 * ----------------------------------------------------------------------------- */
606 /*
607 Use SWIG_NO_COBJECT_TYPES to force the use of strings to represent
608 C/C++ pointers in the python side. Very useful for debugging, but
609 not always safe.
610 */
611 #if !defined(SWIG_NO_COBJECT_TYPES) && !defined(SWIG_COBJECT_TYPES)
612 # define SWIG_COBJECT_TYPES
613 #endif
614
615 /* Flags for pointer conversion */
616 #define SWIG_POINTER_EXCEPTION 0x1
617 #define SWIG_POINTER_DISOWN 0x2
618
619
620 #ifdef __cplusplus
621 extern "C" {
622 #endif
623
624 /* -----------------------------------------------------------------------------
625 * Create a new pointer string
626 * ----------------------------------------------------------------------------- */
627
628 #ifndef SWIG_BUFFER_SIZE
629 #define SWIG_BUFFER_SIZE 1024
630 #endif
631
632 #if defined(SWIG_COBJECT_TYPES)
633 #if !defined(SWIG_COBJECT_PYTHON)
634 /* -----------------------------------------------------------------------------
635 * Implements a simple Swig Object type, and use it instead of PyCObject
636 * ----------------------------------------------------------------------------- */
637
638 typedef struct {
639 PyObject_HEAD
640 void *ptr;
641 const char *desc;
642 } PySwigObject;
643
644 /* Declarations for objects of type PySwigObject */
645
646 SWIGRUNTIME int
647 PySwigObject_print(PySwigObject *v, FILE *fp, int flags)
648 {
649 char result[SWIG_BUFFER_SIZE];
650 if (SWIG_PackVoidPtr(result, v->ptr, v->desc, sizeof(result))) {
651 fputs("<Swig Object at ", fp); fputs(result, fp); fputs(">", fp);
652 return 0;
653 } else {
654 return 1;
655 }
656 }
657
658 SWIGRUNTIME PyObject *
659 PySwigObject_repr(PySwigObject *v)
660 {
661 char result[SWIG_BUFFER_SIZE];
662 return SWIG_PackVoidPtr(result, v->ptr, v->desc, sizeof(result)) ?
663 PyString_FromFormat("<Swig Object at %s>", result) : 0;
664 }
665
666 SWIGRUNTIME PyObject *
667 PySwigObject_str(PySwigObject *v)
668 {
669 char result[SWIG_BUFFER_SIZE];
670 return SWIG_PackVoidPtr(result, v->ptr, v->desc, sizeof(result)) ?
671 PyString_FromString(result) : 0;
672 }
673
674 SWIGRUNTIME PyObject *
675 PySwigObject_long(PySwigObject *v)
676 {
677 return PyLong_FromUnsignedLong((unsigned long) v->ptr);
678 }
679
680 SWIGRUNTIME PyObject *
681 PySwigObject_oct(PySwigObject *v)
682 {
683 char buf[100];
684 unsigned long x = (unsigned long)v->ptr;
685 if (x == 0)
686 strcpy(buf, "0");
687 else
688 PyOS_snprintf(buf, sizeof(buf), "0%lo", x);
689 return PyString_FromString(buf);
690 }
691
692 SWIGRUNTIME PyObject *
693 PySwigObject_hex(PySwigObject *v)
694 {
695 char buf[100];
696 PyOS_snprintf(buf, sizeof(buf), "0x%lx", (unsigned long)v->ptr);
697 return PyString_FromString(buf);
698 }
699
700 SWIGRUNTIME int
701 PySwigObject_compare(PySwigObject *v, PySwigObject *w)
702 {
703 int c = strcmp(v->desc, w->desc);
704 if (c) {
705 return c;
706 } else {
707 void *i = v->ptr;
708 void *j = w->ptr;
709 return (i < j) ? -1 : (i > j) ? 1 : 0;
710 }
711 }
712
713 SWIGRUNTIME void
714 PySwigObject_dealloc(PySwigObject *self)
715 {
716 PyObject_DEL(self);
717 }
718
719 SWIGRUNTIME PyTypeObject*
720 PySwigObject_GetType() {
721 static char PySwigObject_Type__doc__[] =
722 "Swig object carries a C/C++ instance pointer";
723
724 static PyNumberMethods PySwigObject_as_number = {
725 (binaryfunc)0, /*nb_add*/
726 (binaryfunc)0, /*nb_subtract*/
727 (binaryfunc)0, /*nb_multiply*/
728 (binaryfunc)0, /*nb_divide*/
729 (binaryfunc)0, /*nb_remainder*/
730 (binaryfunc)0, /*nb_divmod*/
731 (ternaryfunc)0,/*nb_power*/
732 (unaryfunc)0, /*nb_negative*/
733 (unaryfunc)0, /*nb_positive*/
734 (unaryfunc)0, /*nb_absolute*/
735 (inquiry)0, /*nb_nonzero*/
736 0, /*nb_invert*/
737 0, /*nb_lshift*/
738 0, /*nb_rshift*/
739 0, /*nb_and*/
740 0, /*nb_xor*/
741 0, /*nb_or*/
742 (coercion)0, /*nb_coerce*/
743 (unaryfunc)PySwigObject_long, /*nb_int*/
744 (unaryfunc)PySwigObject_long, /*nb_long*/
745 (unaryfunc)0, /*nb_float*/
746 (unaryfunc)PySwigObject_oct, /*nb_oct*/
747 (unaryfunc)PySwigObject_hex, /*nb_hex*/
748 #if PY_VERSION_HEX >= 0x02000000
749 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_inplace_true_divide */
750 #endif
751 };
752
753 static int type_init = 0;
754 static PyTypeObject PySwigObject_Type;
755
756 if (!type_init) {
757 PyTypeObject tmp = {
758 PyObject_HEAD_INIT(&PyType_Type)
759 0, /*ob_size*/
760 "PySwigObject", /*tp_name*/
761 sizeof(PySwigObject), /*tp_basicsize*/
762 0, /*tp_itemsize*/
763 /* methods */
764 (destructor)PySwigObject_dealloc, /*tp_dealloc*/
765 (printfunc)PySwigObject_print, /*tp_print*/
766 (getattrfunc)0, /*tp_getattr*/
767 (setattrfunc)0, /*tp_setattr*/
768 (cmpfunc)PySwigObject_compare, /*tp_compare*/
769 (reprfunc)PySwigObject_repr, /*tp_repr*/
770 &PySwigObject_as_number, /*tp_as_number*/
771 0, /*tp_as_sequence*/
772 0, /*tp_as_mapping*/
773 (hashfunc)0, /*tp_hash*/
774 (ternaryfunc)0, /*tp_call*/
775 (reprfunc)PySwigObject_str, /*tp_str*/
776 /* Space for future expansion */
777 0L,0L,0L,0L,
778 PySwigObject_Type__doc__, /* Documentation string */
779 #if PY_VERSION_HEX >= 0x02000000
780 0, /* tp_traverse */
781 0, /* tp_clear */
782 #endif
783 #if PY_VERSION_HEX >= 0x02010000
784 0, /* tp_richcompare */
785 0, /* tp_weaklistoffset */
786 #endif
787 #if PY_VERSION_HEX >= 0x02020000
788 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* tp_iter -> tp_weaklist */
789 #endif
790 #if PY_VERSION_HEX >= 0x02030000
791 0, /* tp_del */
792 #endif
793 #ifdef COUNT_ALLOCS
794 0,0,0,0 /* tp_alloc -> tp_next */
795 #endif
796 };
797
798 PySwigObject_Type = tmp;
799 type_init = 1;
800 }
801
802 return &PySwigObject_Type;
803 }
804
805 SWIGRUNTIME PyObject *
806 PySwigObject_FromVoidPtrAndDesc(void *ptr, const char *desc)
807 {
808 PySwigObject *self = PyObject_NEW(PySwigObject, PySwigObject_GetType());
809 if (self == NULL) return NULL;
810 self->ptr = ptr;
811 self->desc = desc;
812 return (PyObject *)self;
813 }
814
815 SWIGRUNTIMEINLINE void *
816 PySwigObject_AsVoidPtr(PyObject *self)
817 {
818 return ((PySwigObject *)self)->ptr;
819 }
820
821 SWIGRUNTIMEINLINE const char *
822 PySwigObject_GetDesc(PyObject *self)
823 {
824 return ((PySwigObject *)self)->desc;
825 }
826
827 SWIGRUNTIMEINLINE int
828 PySwigObject_Check(PyObject *op) {
829 return ((op)->ob_type == PySwigObject_GetType())
830 || (strcmp((op)->ob_type->tp_name,"PySwigObject") == 0);
831 }
832
833 /* -----------------------------------------------------------------------------
834 * Implements a simple Swig Packed type, and use it instead of string
835 * ----------------------------------------------------------------------------- */
836
837 typedef struct {
838 PyObject_HEAD
839 void *pack;
840 const char *desc;
841 size_t size;
842 } PySwigPacked;
843
844 SWIGRUNTIME int
845 PySwigPacked_print(PySwigPacked *v, FILE *fp, int flags)
846 {
847 char result[SWIG_BUFFER_SIZE];
848 fputs("<Swig Packed ", fp);
849 if (SWIG_PackDataName(result, v->pack, v->size, 0, sizeof(result))) {
850 fputs("at ", fp);
851 fputs(result, fp);
852 }
853 fputs(v->desc,fp);
854 fputs(">", fp);
855 return 0;
856 }
857
858 SWIGRUNTIME PyObject *
859 PySwigPacked_repr(PySwigPacked *v)
860 {
861 char result[SWIG_BUFFER_SIZE];
862 if (SWIG_PackDataName(result, v->pack, v->size, 0, sizeof(result))) {
863 return PyString_FromFormat("<Swig Packed at %s%s>", result, v->desc);
864 } else {
865 return PyString_FromFormat("<Swig Packed %s>", v->desc);
866 }
867 }
868
869 SWIGRUNTIME PyObject *
870 PySwigPacked_str(PySwigPacked *v)
871 {
872 char result[SWIG_BUFFER_SIZE];
873 if (SWIG_PackDataName(result, v->pack, v->size, 0, sizeof(result))){
874 return PyString_FromFormat("%s%s", result, v->desc);
875 } else {
876 return PyString_FromFormat("%s", v->desc);
877 }
878 }
879
880 SWIGRUNTIME int
881 PySwigPacked_compare(PySwigPacked *v, PySwigPacked *w)
882 {
883 int c = strcmp(v->desc, w->desc);
884 if (c) {
885 return c;
886 } else {
887 size_t i = v->size;
888 size_t j = w->size;
889 int s = (i < j) ? -1 : (i > j) ? 1 : 0;
890 return s ? s : strncmp((char *)v->pack, (char *)w->pack, 2*v->size);
891 }
892 }
893
894 SWIGRUNTIME void
895 PySwigPacked_dealloc(PySwigPacked *self)
896 {
897 free(self->pack);
898 PyObject_DEL(self);
899 }
900
901 SWIGRUNTIME PyTypeObject*
902 PySwigPacked_GetType() {
903 static char PySwigPacked_Type__doc__[] =
904 "Swig object carries a C/C++ instance pointer";
905 static int type_init = 0;
906
907 static PyTypeObject PySwigPacked_Type;
908 if (!type_init) {
909 PyTypeObject tmp = {
910 PyObject_HEAD_INIT(&PyType_Type)
911 0, /*ob_size*/
912 "PySwigPacked", /*tp_name*/
913 sizeof(PySwigPacked), /*tp_basicsize*/
914 0, /*tp_itemsize*/
915 /* methods */
916 (destructor)PySwigPacked_dealloc, /*tp_dealloc*/
917 (printfunc)PySwigPacked_print, /*tp_print*/
918 (getattrfunc)0, /*tp_getattr*/
919 (setattrfunc)0, /*tp_setattr*/
920 (cmpfunc)PySwigPacked_compare, /*tp_compare*/
921 (reprfunc)PySwigPacked_repr, /*tp_repr*/
922 0, /*tp_as_number*/
923 0, /*tp_as_sequence*/
924 0, /*tp_as_mapping*/
925 (hashfunc)0, /*tp_hash*/
926 (ternaryfunc)0, /*tp_call*/
927 (reprfunc)PySwigPacked_str, /*tp_str*/
928 /* Space for future expansion */
929 0L,0L,0L,0L,
930 PySwigPacked_Type__doc__, /* Documentation string */
931 #if PY_VERSION_HEX >= 0x02000000
932 0, /* tp_traverse */
933 0, /* tp_clear */
934 #endif
935 #if PY_VERSION_HEX >= 0x02010000
936 0, /* tp_richcompare */
937 0, /* tp_weaklistoffset */
938 #endif
939 #if PY_VERSION_HEX >= 0x02020000
940 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* tp_iter -> tp_weaklist */
941 #endif
942 #if PY_VERSION_HEX >= 0x02030000
943 0, /* tp_del */
944 #endif
945 #ifdef COUNT_ALLOCS
946 0,0,0,0 /* tp_alloc -> tp_next */
947 #endif
948 };
949
950 PySwigPacked_Type = tmp;
951 type_init = 1;
952 }
953
954
955
956 return &PySwigPacked_Type;
957 }
958
959 SWIGRUNTIME PyObject *
960 PySwigPacked_FromDataAndDesc(void *ptr, size_t size, const char *desc)
961 {
962 PySwigPacked *self = PyObject_NEW(PySwigPacked, PySwigPacked_GetType());
963 if (self == NULL) {
964 return NULL;
965 } else {
966 void *pack = malloc(size);
967 memcpy(pack, ptr, size);
968 self->pack = pack;
969 self->desc = desc;
970 self->size = size;
971 return (PyObject *) self;
972 }
973 }
974
975 SWIGRUNTIMEINLINE const char *
976 PySwigPacked_UnpackData(PyObject *obj, void *ptr, size_t size)
977 {
978 PySwigPacked *self = (PySwigPacked *)obj;
979 if (self->size != size) return 0;
980 memcpy(ptr, self->pack, size);
981 return self->desc;
982 }
983
984 SWIGRUNTIMEINLINE const char *
985 PySwigPacked_GetDesc(PyObject *self)
986 {
987 return ((PySwigPacked *)self)->desc;
988 }
989
990 SWIGRUNTIMEINLINE int
991 PySwigPacked_Check(PyObject *op) {
992 return ((op)->ob_type == PySwigPacked_GetType())
993 || (strcmp((op)->ob_type->tp_name,"PySwigPacked") == 0);
994 }
995
996 #else
997 /* -----------------------------------------------------------------------------
998 * Use the old Python PyCObject instead of PySwigObject
999 * ----------------------------------------------------------------------------- */
1000
1001 #define PySwigObject_GetDesc(obj) PyCObject_GetDesc(obj)
1002 #define PySwigObject_Check(obj) PyCObject_Check(obj)
1003 #define PySwigObject_AsVoidPtr(obj) PyCObject_AsVoidPtr(obj)
1004 #define PySwigObject_FromVoidPtrAndDesc(p, d) PyCObject_FromVoidPtrAndDesc(p, d, NULL)
1005
1006 #endif
1007
1008 #endif
1009
1010 /* -----------------------------------------------------------------------------
1011 * errors manipulation
1012 * ----------------------------------------------------------------------------- */
1013
1014 SWIGRUNTIME void
1015 SWIG_Python_TypeError(const char *type, PyObject *obj)
1016 {
1017 if (type) {
1018 #if defined(SWIG_COBJECT_TYPES)
1019 if (PySwigObject_Check(obj)) {
1020 const char *otype = (const char *) PySwigObject_GetDesc(obj);
1021 if (otype) {
1022 PyErr_Format(PyExc_TypeError, "a '%s' is expected, 'PySwigObject(%s)' is received",
1023 type, otype);
1024 return;
1025 }
1026 } else
1027 #endif
1028 {
1029 const char *otype = (obj ? obj->ob_type->tp_name : 0);
1030 if (otype) {
1031 PyObject *str = PyObject_Str(obj);
1032 const char *cstr = str ? PyString_AsString(str) : 0;
1033 if (cstr) {
1034 PyErr_Format(PyExc_TypeError, "a '%s' is expected, '%s(%s)' is received",
1035 type, otype, cstr);
1036 } else {
1037 PyErr_Format(PyExc_TypeError, "a '%s' is expected, '%s' is received",
1038 type, otype);
1039 }
1040 if (str)
1041 Py_DECREF(str);
1042 return;
1043 }
1044 }
1045 PyErr_Format(PyExc_TypeError, "a '%s' is expected", type);
1046 } else {
1047 PyErr_Format(PyExc_TypeError, "unexpected type is received");
1048 }
1049 }
1050
1051 SWIGRUNTIMEINLINE void
1052 SWIG_Python_NullRef(const char *type)
1053 {
1054 if (type) {
1055 PyErr_Format(PyExc_TypeError, "null reference of type '%s' was received",type);
1056 } else {
1057 PyErr_Format(PyExc_TypeError, "null reference was received");
1058 }
1059 }
1060
1061 SWIGRUNTIME int
1062 SWIG_Python_AddErrMesg(const char* mesg, int infront)
1063 {
1064 if (PyErr_Occurred()) {
1065 PyObject *type = 0;
1066 PyObject *value = 0;
1067 PyObject *traceback = 0;
1068 PyErr_Fetch(&type, &value, &traceback);
1069 if (value) {
1070 PyObject *old_str = PyObject_Str(value);
1071 Py_XINCREF(type);
1072 PyErr_Clear();
1073 if (infront) {
1074 PyErr_Format(type, "%s %s", mesg, PyString_AsString(old_str));
1075 } else {
1076 PyErr_Format(type, "%s %s", PyString_AsString(old_str), mesg);
1077 }
1078 Py_DECREF(old_str);
1079 }
1080 return 1;
1081 } else {
1082 return 0;
1083 }
1084 }
1085
1086 SWIGRUNTIME int
1087 SWIG_Python_ArgFail(int argnum)
1088 {
1089 if (PyErr_Occurred()) {
1090 /* add information about failing argument */
1091 char mesg[256];
1092 sprintf(mesg, "argument number %d:", argnum);
1093 return SWIG_Python_AddErrMesg(mesg, 1);
1094 } else {
1095 return 0;
1096 }
1097 }
1098
1099
1100 /* -----------------------------------------------------------------------------
1101 * pointers/data manipulation
1102 * ----------------------------------------------------------------------------- */
1103
1104 /* Convert a pointer value */
1105 SWIGRUNTIME int
1106 SWIG_Python_ConvertPtr(PyObject *obj, void **ptr, swig_type_info *ty, int flags) {
1107 swig_type_info *tc;
1108 const char *c = 0;
1109 static PyObject *SWIG_this = 0;
1110 int newref = 0;
1111 PyObject *pyobj = 0;
1112 void *vptr;
1113
1114 if (!obj) return 0;
1115 if (obj == Py_None) {
1116 *ptr = 0;
1117 return 0;
1118 }
1119
1120 #ifdef SWIG_COBJECT_TYPES
1121 if (!(PySwigObject_Check(obj))) {
1122 if (!SWIG_this)
1123 SWIG_this = PyString_FromString("this");
1124 pyobj = obj;
1125 obj = PyObject_GetAttr(obj,SWIG_this);
1126 newref = 1;
1127 if (!obj) goto type_error;
1128 if (!PySwigObject_Check(obj)) {
1129 Py_DECREF(obj);
1130 goto type_error;
1131 }
1132 }
1133 vptr = PySwigObject_AsVoidPtr(obj);
1134 c = (const char *) PySwigObject_GetDesc(obj);
1135 if (newref) { Py_DECREF(obj); }
1136 goto type_check;
1137 #else
1138 if (!(PyString_Check(obj))) {
1139 if (!SWIG_this)
1140 SWIG_this = PyString_FromString("this");
1141 pyobj = obj;
1142 obj = PyObject_GetAttr(obj,SWIG_this);
1143 newref = 1;
1144 if (!obj) goto type_error;
1145 if (!PyString_Check(obj)) {
1146 Py_DECREF(obj);
1147 goto type_error;
1148 }
1149 }
1150 c = PyString_AS_STRING(obj);
1151 /* Pointer values must start with leading underscore */
1152 c = SWIG_UnpackVoidPtr(c, &vptr, ty->name);
1153 if (newref) { Py_DECREF(obj); }
1154 if (!c) goto type_error;
1155 #endif
1156
1157 type_check:
1158
1159 if (ty) {
1160 tc = SWIG_TypeCheck(c,ty);
1161 if (!tc) goto type_error;
1162 *ptr = SWIG_TypeCast(tc,vptr);
1163 } else {
1164 *ptr = vptr;
1165 }
1166
1167 if ((pyobj) && (flags & SWIG_POINTER_DISOWN)) {
1168 PyObject_SetAttrString(pyobj,(char*)"thisown",Py_False);
1169 }
1170 return 0;
1171
1172 type_error:
1173 PyErr_Clear();
1174 if (pyobj && !obj) {
1175 obj = pyobj;
1176 if (PyCFunction_Check(obj)) {
1177 /* here we get the method pointer for callbacks */
1178 char *doc = (((PyCFunctionObject *)obj) -> m_ml -> ml_doc);
1179 c = doc ? strstr(doc, "swig_ptr: ") : 0;
1180 if (c) {
1181 c = SWIG_UnpackVoidPtr(c + 10, &vptr, ty->name);
1182 if (!c) goto type_error;
1183 goto type_check;
1184 }
1185 }
1186 }
1187 if (flags & SWIG_POINTER_EXCEPTION) {
1188 if (ty) {
1189 SWIG_Python_TypeError(SWIG_TypePrettyName(ty), obj);
1190 } else {
1191 SWIG_Python_TypeError("C/C++ pointer", obj);
1192 }
1193 }
1194 return -1;
1195 }
1196
1197 /* Convert a pointer value, signal an exception on a type mismatch */
1198 SWIGRUNTIME void *
1199 SWIG_Python_MustGetPtr(PyObject *obj, swig_type_info *ty, int argnum, int flags) {
1200 void *result;
1201 if (SWIG_Python_ConvertPtr(obj, &result, ty, flags) == -1) {
1202 PyErr_Clear();
1203 if (flags & SWIG_POINTER_EXCEPTION) {
1204 SWIG_Python_TypeError(SWIG_TypePrettyName(ty), obj);
1205 SWIG_Python_ArgFail(argnum);
1206 }
1207 }
1208 return result;
1209 }
1210
1211 /* Convert a packed value value */
1212 SWIGRUNTIME int
1213 SWIG_Python_ConvertPacked(PyObject *obj, void *ptr, size_t sz, swig_type_info *ty, int flags) {
1214 swig_type_info *tc;
1215 const char *c = 0;
1216
1217 #if defined(SWIG_COBJECT_TYPES) && !defined(SWIG_COBJECT_PYTHON)
1218 c = PySwigPacked_UnpackData(obj, ptr, sz);
1219 #else
1220 if ((!obj) || (!PyString_Check(obj))) goto type_error;
1221 c = PyString_AS_STRING(obj);
1222 /* Pointer values must start with leading underscore */
1223 c = SWIG_UnpackDataName(c, ptr, sz, ty->name);
1224 #endif
1225 if (!c) goto type_error;
1226 if (ty) {
1227 tc = SWIG_TypeCheck(c,ty);
1228 if (!tc) goto type_error;
1229 }
1230 return 0;
1231
1232 type_error:
1233 PyErr_Clear();
1234 if (flags & SWIG_POINTER_EXCEPTION) {
1235 if (ty) {
1236 SWIG_Python_TypeError(SWIG_TypePrettyName(ty), obj);
1237 } else {
1238 SWIG_Python_TypeError("C/C++ packed data", obj);
1239 }
1240 }
1241 return -1;
1242 }
1243
1244 /* Create a new array object */
1245 SWIGRUNTIME PyObject *
1246 SWIG_Python_NewPointerObj(void *ptr, swig_type_info *type, int own) {
1247 PyObject *robj = 0;
1248 if (!ptr) {
1249 Py_INCREF(Py_None);
1250 return Py_None;
1251 }
1252 #ifdef SWIG_COBJECT_TYPES
1253 robj = PySwigObject_FromVoidPtrAndDesc((void *) ptr, (char *)type->name);
1254 #else
1255 {
1256 char result[SWIG_BUFFER_SIZE];
1257 robj = SWIG_PackVoidPtr(result, ptr, type->name, sizeof(result)) ?
1258 PyString_FromString(result) : 0;
1259 }
1260 #endif
1261 if (!robj || (robj == Py_None)) return robj;
1262 if (type->clientdata) {
1263 PyObject *inst;
1264 PyObject *args = Py_BuildValue((char*)"(O)", robj);
1265 Py_DECREF(robj);
1266 inst = PyObject_CallObject((PyObject *) type->clientdata, args);
1267 Py_DECREF(args);
1268 if (inst) {
1269 if (own) {
1270 PyObject_SetAttrString(inst,(char*)"thisown",Py_True);
1271 }
1272 robj = inst;
1273 }
1274 }
1275 return robj;
1276 }
1277
1278 SWIGRUNTIME PyObject *
1279 SWIG_Python_NewPackedObj(void *ptr, size_t sz, swig_type_info *type) {
1280 PyObject *robj = 0;
1281 if (!ptr) {
1282 Py_INCREF(Py_None);
1283 return Py_None;
1284 }
1285 #if defined(SWIG_COBJECT_TYPES) && !defined(SWIG_COBJECT_PYTHON)
1286 robj = PySwigPacked_FromDataAndDesc((void *) ptr, sz, (char *)type->name);
1287 #else
1288 {
1289 char result[SWIG_BUFFER_SIZE];
1290 robj = SWIG_PackDataName(result, ptr, sz, type->name, sizeof(result)) ?
1291 PyString_FromString(result) : 0;
1292 }
1293 #endif
1294 return robj;
1295 }
1296
1297 /* -----------------------------------------------------------------------------*
1298 * Get type list
1299 * -----------------------------------------------------------------------------*/
1300
1301 #ifdef SWIG_LINK_RUNTIME
1302 void *SWIG_ReturnGlobalTypeList(void *);
1303 #endif
1304
1305 SWIGRUNTIME swig_type_info **
1306 SWIG_Python_GetTypeListHandle() {
1307 static void *type_pointer = (void *)0;
1308 /* first check if module already created */
1309 if (!type_pointer) {
1310 #ifdef SWIG_LINK_RUNTIME
1311 type_pointer = SWIG_ReturnGlobalTypeList((void *)0);
1312 #else
1313 type_pointer = PyCObject_Import((char*)"swig_runtime_data" SWIG_RUNTIME_VERSION,
1314 (char*)"type_pointer" SWIG_TYPE_TABLE_NAME);
1315 if (PyErr_Occurred()) {
1316 PyErr_Clear();
1317 type_pointer = (void *)0;
1318 }
1319 }
1320 #endif
1321 return (swig_type_info **) type_pointer;
1322 }
1323
1324 /*
1325 Search for a swig_type_info structure
1326 */
1327 SWIGRUNTIMEINLINE swig_type_info *
1328 SWIG_Python_GetTypeList() {
1329 swig_type_info **tlh = SWIG_Python_GetTypeListHandle();
1330 return tlh ? *tlh : (swig_type_info*)0;
1331 }
1332
1333 #define SWIG_Runtime_GetTypeList SWIG_Python_GetTypeList
1334
1335 #ifdef __cplusplus
1336 }
1337 #endif
1338
1339
1340 /* -------- TYPES TABLE (BEGIN) -------- */
1341
1342 #define SWIGTYPE_p_wxGLCanvas swig_types[0]
1343 #define SWIGTYPE_p_wxObject swig_types[1]
1344 #define SWIGTYPE_p_unsigned_char swig_types[2]
1345 #define SWIGTYPE_p_wxGLContext swig_types[3]
1346 #define SWIGTYPE_p_wxWindow swig_types[4]
1347 #define SWIGTYPE_p_unsigned_long swig_types[5]
1348 #define SWIGTYPE_p_form_ops_t swig_types[6]
1349 #define SWIGTYPE_p_unsigned_int swig_types[7]
1350 #define SWIGTYPE_unsigned_int swig_types[8]
1351 #define SWIGTYPE_p_wxDuplexMode swig_types[9]
1352 #define SWIGTYPE_p_char swig_types[10]
1353 #define SWIGTYPE_p_wxEvtHandler swig_types[11]
1354 #define SWIGTYPE_p_wxPalette swig_types[12]
1355 #define SWIGTYPE_std__ptrdiff_t swig_types[13]
1356 #define SWIGTYPE_ptrdiff_t swig_types[14]
1357 #define SWIGTYPE_p_wxPaperSize swig_types[15]
1358 #define SWIGTYPE_p_int swig_types[16]
1359 static swig_type_info *swig_types[18];
1360
1361 /* -------- TYPES TABLE (END) -------- */
1362
1363
1364 /*-----------------------------------------------
1365 @(target):= _glcanvas.so
1366 ------------------------------------------------*/
1367 #define SWIG_init init_glcanvas
1368
1369 #define SWIG_name "_glcanvas"
1370
1371 #include "wx/wxPython/wxPython.h"
1372 #include "wx/wxPython/pyclasses.h"
1373
1374 #include <wx/glcanvas.h>
1375
1376
1377 static const wxString wxPyGLCanvasNameStr(wxT("GLCanvas"));
1378 static const wxString wxPyEmptyString(wxEmptyString);
1379
1380 #include <limits.h>
1381
1382
1383 SWIGINTERN int
1384 SWIG_CheckLongInRange(long value, long min_value, long max_value,
1385 const char *errmsg)
1386 {
1387 if (value < min_value) {
1388 if (errmsg) {
1389 PyErr_Format(PyExc_OverflowError,
1390 "value %ld is less than '%s' minimum %ld",
1391 value, errmsg, min_value);
1392 }
1393 return 0;
1394 } else if (value > max_value) {
1395 if (errmsg) {
1396 PyErr_Format(PyExc_OverflowError,
1397 "value %ld is greater than '%s' maximum %ld",
1398 value, errmsg, max_value);
1399 }
1400 return 0;
1401 }
1402 return 1;
1403 }
1404
1405
1406 SWIGINTERN int
1407 SWIG_AsVal_long(PyObject* obj, long* val)
1408 {
1409 if (PyNumber_Check(obj)) {
1410 if (val) *val = PyInt_AsLong(obj);
1411 return 1;
1412 }
1413 else {
1414 SWIG_type_error("number", obj);
1415 }
1416 return 0;
1417 }
1418
1419
1420 #if INT_MAX != LONG_MAX
1421 SWIGINTERN int
1422 SWIG_AsVal_int(PyObject *obj, int *val)
1423 {
1424 const char* errmsg = val ? "int" : (char*)0;
1425 long v;
1426 if (SWIG_AsVal_long(obj, &v)) {
1427 if (SWIG_CheckLongInRange(v, INT_MIN,INT_MAX, errmsg)) {
1428 if (val) *val = (int)(v);
1429 return 1;
1430 } else {
1431 return 0;
1432 }
1433 } else {
1434 PyErr_Clear();
1435 }
1436 if (val) {
1437 SWIG_type_error(errmsg, obj);
1438 }
1439 return 0;
1440 }
1441 #else
1442 SWIGINTERNSHORT int
1443 SWIG_AsVal_int(PyObject *obj, int *val)
1444 {
1445 return SWIG_AsVal_long(obj,(long*)val);
1446 }
1447 #endif
1448
1449
1450 SWIGINTERN int
1451 SWIG_AsVal_bool(PyObject *obj, bool *val)
1452 {
1453 if (obj == Py_True) {
1454 if (val) *val = true;
1455 return 1;
1456 }
1457 if (obj == Py_False) {
1458 if (val) *val = false;
1459 return 1;
1460 }
1461 int res = 0;
1462 if (SWIG_AsVal_int(obj, &res)) {
1463 if (val) *val = res ? true : false;
1464 return 1;
1465 } else {
1466 PyErr_Clear();
1467 }
1468 if (val) {
1469 SWIG_type_error("bool", obj);
1470 }
1471 return 0;
1472 }
1473
1474
1475 SWIGINTERNSHORT bool
1476 SWIG_As_bool(PyObject* obj)
1477 {
1478 bool v;
1479 if (!SWIG_AsVal_bool(obj, &v)) {
1480 /*
1481 this is needed to make valgrind/purify happier.
1482 */
1483 memset((void*)&v, 0, sizeof(bool));
1484 }
1485 return v;
1486 }
1487
1488
1489 SWIGINTERNSHORT int
1490 SWIG_Check_bool(PyObject* obj)
1491 {
1492 return SWIG_AsVal_bool(obj, (bool*)0);
1493 }
1494
1495
1496 /*@/opt/swig/share/swig/1.3.24/python/pymacros.swg,66,SWIG_define@*/
1497 #define SWIG_From_int PyInt_FromLong
1498 /*@@*/
1499
1500
1501 SWIGINTERNSHORT int
1502 SWIG_As_int(PyObject* obj)
1503 {
1504 int v;
1505 if (!SWIG_AsVal_int(obj, &v)) {
1506 /*
1507 this is needed to make valgrind/purify happier.
1508 */
1509 memset((void*)&v, 0, sizeof(int));
1510 }
1511 return v;
1512 }
1513
1514
1515 SWIGINTERNSHORT long
1516 SWIG_As_long(PyObject* obj)
1517 {
1518 long v;
1519 if (!SWIG_AsVal_long(obj, &v)) {
1520 /*
1521 this is needed to make valgrind/purify happier.
1522 */
1523 memset((void*)&v, 0, sizeof(long));
1524 }
1525 return v;
1526 }
1527
1528
1529 SWIGINTERNSHORT int
1530 SWIG_Check_int(PyObject* obj)
1531 {
1532 return SWIG_AsVal_int(obj, (int*)0);
1533 }
1534
1535
1536 SWIGINTERNSHORT int
1537 SWIG_Check_long(PyObject* obj)
1538 {
1539 return SWIG_AsVal_long(obj, (long*)0);
1540 }
1541
1542 #ifdef __cplusplus
1543 extern "C" {
1544 #endif
1545 static int _wrap_GLCanvasNameStr_set(PyObject *) {
1546 PyErr_SetString(PyExc_TypeError,"Variable GLCanvasNameStr is read-only.");
1547 return 1;
1548 }
1549
1550
1551 static PyObject *_wrap_GLCanvasNameStr_get(void) {
1552 PyObject *pyobj;
1553
1554 {
1555 #if wxUSE_UNICODE
1556 pyobj = PyUnicode_FromWideChar((&wxPyGLCanvasNameStr)->c_str(), (&wxPyGLCanvasNameStr)->Len());
1557 #else
1558 pyobj = PyString_FromStringAndSize((&wxPyGLCanvasNameStr)->c_str(), (&wxPyGLCanvasNameStr)->Len());
1559 #endif
1560 }
1561 return pyobj;
1562 }
1563
1564
1565 static PyObject *_wrap_new_GLContext(PyObject *, PyObject *args, PyObject *kwargs) {
1566 PyObject *resultobj;
1567 bool arg1 ;
1568 wxGLCanvas *arg2 = (wxGLCanvas *) 0 ;
1569 wxPalette const &arg3_defvalue = wxNullPalette ;
1570 wxPalette *arg3 = (wxPalette *) &arg3_defvalue ;
1571 wxGLContext *arg4 = (wxGLContext *) NULL ;
1572 wxGLContext *result;
1573 PyObject * obj0 = 0 ;
1574 PyObject * obj1 = 0 ;
1575 PyObject * obj2 = 0 ;
1576 PyObject * obj3 = 0 ;
1577 char *kwnames[] = {
1578 (char *) "isRGB",(char *) "win",(char *) "palette",(char *) "other", NULL
1579 };
1580
1581 if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|OO:new_GLContext",kwnames,&obj0,&obj1,&obj2,&obj3)) goto fail;
1582 {
1583 arg1 = (bool)(SWIG_As_bool(obj0));
1584 if (SWIG_arg_fail(1)) SWIG_fail;
1585 }
1586 SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_wxGLCanvas, SWIG_POINTER_EXCEPTION | 0);
1587 if (SWIG_arg_fail(2)) SWIG_fail;
1588 if (obj2) {
1589 {
1590 SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_wxPalette, SWIG_POINTER_EXCEPTION | 0);
1591 if (SWIG_arg_fail(3)) SWIG_fail;
1592 if (arg3 == NULL) {
1593 SWIG_null_ref("wxPalette");
1594 }
1595 if (SWIG_arg_fail(3)) SWIG_fail;
1596 }
1597 }
1598 if (obj3) {
1599 SWIG_Python_ConvertPtr(obj3, (void **)&arg4, SWIGTYPE_p_wxGLContext, SWIG_POINTER_EXCEPTION | 0);
1600 if (SWIG_arg_fail(4)) SWIG_fail;
1601 }
1602 {
1603 if (!wxPyCheckForApp()) SWIG_fail;
1604 PyThreadState* __tstate = wxPyBeginAllowThreads();
1605 result = (wxGLContext *)new wxGLContext(arg1,arg2,(wxPalette const &)*arg3,(wxGLContext const *)arg4);
1606
1607 wxPyEndAllowThreads(__tstate);
1608 if (PyErr_Occurred()) SWIG_fail;
1609 }
1610 resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_wxGLContext, 1);
1611 return resultobj;
1612 fail:
1613 return NULL;
1614 }
1615
1616
1617 static PyObject *_wrap_delete_GLContext(PyObject *, PyObject *args, PyObject *kwargs) {
1618 PyObject *resultobj;
1619 wxGLContext *arg1 = (wxGLContext *) 0 ;
1620 PyObject * obj0 = 0 ;
1621 char *kwnames[] = {
1622 (char *) "self", NULL
1623 };
1624
1625 if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:delete_GLContext",kwnames,&obj0)) goto fail;
1626 SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxGLContext, SWIG_POINTER_EXCEPTION | 0);
1627 if (SWIG_arg_fail(1)) SWIG_fail;
1628 {
1629 PyThreadState* __tstate = wxPyBeginAllowThreads();
1630 delete arg1;
1631
1632 wxPyEndAllowThreads(__tstate);
1633 if (PyErr_Occurred()) SWIG_fail;
1634 }
1635 Py_INCREF(Py_None); resultobj = Py_None;
1636 return resultobj;
1637 fail:
1638 return NULL;
1639 }
1640
1641
1642 static PyObject *_wrap_GLContext_SetCurrent(PyObject *, PyObject *args, PyObject *kwargs) {
1643 PyObject *resultobj;
1644 wxGLContext *arg1 = (wxGLContext *) 0 ;
1645 PyObject * obj0 = 0 ;
1646 char *kwnames[] = {
1647 (char *) "self", NULL
1648 };
1649
1650 if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:GLContext_SetCurrent",kwnames,&obj0)) goto fail;
1651 SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxGLContext, SWIG_POINTER_EXCEPTION | 0);
1652 if (SWIG_arg_fail(1)) SWIG_fail;
1653 {
1654 PyThreadState* __tstate = wxPyBeginAllowThreads();
1655 (arg1)->SetCurrent();
1656
1657 wxPyEndAllowThreads(__tstate);
1658 if (PyErr_Occurred()) SWIG_fail;
1659 }
1660 Py_INCREF(Py_None); resultobj = Py_None;
1661 return resultobj;
1662 fail:
1663 return NULL;
1664 }
1665
1666
1667 static PyObject *_wrap_GLContext_SetColour(PyObject *, PyObject *args, PyObject *kwargs) {
1668 PyObject *resultobj;
1669 wxGLContext *arg1 = (wxGLContext *) 0 ;
1670 wxString *arg2 = 0 ;
1671 bool temp2 = false ;
1672 PyObject * obj0 = 0 ;
1673 PyObject * obj1 = 0 ;
1674 char *kwnames[] = {
1675 (char *) "self",(char *) "colour", NULL
1676 };
1677
1678 if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:GLContext_SetColour",kwnames,&obj0,&obj1)) goto fail;
1679 SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxGLContext, SWIG_POINTER_EXCEPTION | 0);
1680 if (SWIG_arg_fail(1)) SWIG_fail;
1681 {
1682 arg2 = wxString_in_helper(obj1);
1683 if (arg2 == NULL) SWIG_fail;
1684 temp2 = true;
1685 }
1686 {
1687 PyThreadState* __tstate = wxPyBeginAllowThreads();
1688 (arg1)->SetColour((wxString const &)*arg2);
1689
1690 wxPyEndAllowThreads(__tstate);
1691 if (PyErr_Occurred()) SWIG_fail;
1692 }
1693 Py_INCREF(Py_None); resultobj = Py_None;
1694 {
1695 if (temp2)
1696 delete arg2;
1697 }
1698 return resultobj;
1699 fail:
1700 {
1701 if (temp2)
1702 delete arg2;
1703 }
1704 return NULL;
1705 }
1706
1707
1708 static PyObject *_wrap_GLContext_SwapBuffers(PyObject *, PyObject *args, PyObject *kwargs) {
1709 PyObject *resultobj;
1710 wxGLContext *arg1 = (wxGLContext *) 0 ;
1711 PyObject * obj0 = 0 ;
1712 char *kwnames[] = {
1713 (char *) "self", NULL
1714 };
1715
1716 if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:GLContext_SwapBuffers",kwnames,&obj0)) goto fail;
1717 SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxGLContext, SWIG_POINTER_EXCEPTION | 0);
1718 if (SWIG_arg_fail(1)) SWIG_fail;
1719 {
1720 PyThreadState* __tstate = wxPyBeginAllowThreads();
1721 (arg1)->SwapBuffers();
1722
1723 wxPyEndAllowThreads(__tstate);
1724 if (PyErr_Occurred()) SWIG_fail;
1725 }
1726 Py_INCREF(Py_None); resultobj = Py_None;
1727 return resultobj;
1728 fail:
1729 return NULL;
1730 }
1731
1732
1733 static PyObject *_wrap_GLContext_SetupPixelFormat(PyObject *, PyObject *args, PyObject *kwargs) {
1734 PyObject *resultobj;
1735 wxGLContext *arg1 = (wxGLContext *) 0 ;
1736 PyObject * obj0 = 0 ;
1737 char *kwnames[] = {
1738 (char *) "self", NULL
1739 };
1740
1741 if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:GLContext_SetupPixelFormat",kwnames,&obj0)) goto fail;
1742 SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxGLContext, SWIG_POINTER_EXCEPTION | 0);
1743 if (SWIG_arg_fail(1)) SWIG_fail;
1744 {
1745 PyThreadState* __tstate = wxPyBeginAllowThreads();
1746 (arg1)->SetupPixelFormat();
1747
1748 wxPyEndAllowThreads(__tstate);
1749 if (PyErr_Occurred()) SWIG_fail;
1750 }
1751 Py_INCREF(Py_None); resultobj = Py_None;
1752 return resultobj;
1753 fail:
1754 return NULL;
1755 }
1756
1757
1758 static PyObject *_wrap_GLContext_SetupPalette(PyObject *, PyObject *args, PyObject *kwargs) {
1759 PyObject *resultobj;
1760 wxGLContext *arg1 = (wxGLContext *) 0 ;
1761 wxPalette *arg2 = 0 ;
1762 PyObject * obj0 = 0 ;
1763 PyObject * obj1 = 0 ;
1764 char *kwnames[] = {
1765 (char *) "self",(char *) "palette", NULL
1766 };
1767
1768 if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:GLContext_SetupPalette",kwnames,&obj0,&obj1)) goto fail;
1769 SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxGLContext, SWIG_POINTER_EXCEPTION | 0);
1770 if (SWIG_arg_fail(1)) SWIG_fail;
1771 {
1772 SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_wxPalette, SWIG_POINTER_EXCEPTION | 0);
1773 if (SWIG_arg_fail(2)) SWIG_fail;
1774 if (arg2 == NULL) {
1775 SWIG_null_ref("wxPalette");
1776 }
1777 if (SWIG_arg_fail(2)) SWIG_fail;
1778 }
1779 {
1780 PyThreadState* __tstate = wxPyBeginAllowThreads();
1781 (arg1)->SetupPalette((wxPalette const &)*arg2);
1782
1783 wxPyEndAllowThreads(__tstate);
1784 if (PyErr_Occurred()) SWIG_fail;
1785 }
1786 Py_INCREF(Py_None); resultobj = Py_None;
1787 return resultobj;
1788 fail:
1789 return NULL;
1790 }
1791
1792
1793 static PyObject *_wrap_GLContext_CreateDefaultPalette(PyObject *, PyObject *args, PyObject *kwargs) {
1794 PyObject *resultobj;
1795 wxGLContext *arg1 = (wxGLContext *) 0 ;
1796 wxPalette result;
1797 PyObject * obj0 = 0 ;
1798 char *kwnames[] = {
1799 (char *) "self", NULL
1800 };
1801
1802 if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:GLContext_CreateDefaultPalette",kwnames,&obj0)) goto fail;
1803 SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxGLContext, SWIG_POINTER_EXCEPTION | 0);
1804 if (SWIG_arg_fail(1)) SWIG_fail;
1805 {
1806 PyThreadState* __tstate = wxPyBeginAllowThreads();
1807 result = (arg1)->CreateDefaultPalette();
1808
1809 wxPyEndAllowThreads(__tstate);
1810 if (PyErr_Occurred()) SWIG_fail;
1811 }
1812 {
1813 wxPalette * resultptr;
1814 resultptr = new wxPalette((wxPalette &)(result));
1815 resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_wxPalette, 1);
1816 }
1817 return resultobj;
1818 fail:
1819 return NULL;
1820 }
1821
1822
1823 static PyObject *_wrap_GLContext_GetPalette(PyObject *, PyObject *args, PyObject *kwargs) {
1824 PyObject *resultobj;
1825 wxGLContext *arg1 = (wxGLContext *) 0 ;
1826 wxPalette *result;
1827 PyObject * obj0 = 0 ;
1828 char *kwnames[] = {
1829 (char *) "self", NULL
1830 };
1831
1832 if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:GLContext_GetPalette",kwnames,&obj0)) goto fail;
1833 SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxGLContext, SWIG_POINTER_EXCEPTION | 0);
1834 if (SWIG_arg_fail(1)) SWIG_fail;
1835 {
1836 PyThreadState* __tstate = wxPyBeginAllowThreads();
1837 result = (wxPalette *)(arg1)->GetPalette();
1838
1839 wxPyEndAllowThreads(__tstate);
1840 if (PyErr_Occurred()) SWIG_fail;
1841 }
1842 resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_wxPalette, 0);
1843 return resultobj;
1844 fail:
1845 return NULL;
1846 }
1847
1848
1849 static PyObject *_wrap_GLContext_GetWindow(PyObject *, PyObject *args, PyObject *kwargs) {
1850 PyObject *resultobj;
1851 wxGLContext *arg1 = (wxGLContext *) 0 ;
1852 wxWindow *result;
1853 PyObject * obj0 = 0 ;
1854 char *kwnames[] = {
1855 (char *) "self", NULL
1856 };
1857
1858 if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:GLContext_GetWindow",kwnames,&obj0)) goto fail;
1859 SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxGLContext, SWIG_POINTER_EXCEPTION | 0);
1860 if (SWIG_arg_fail(1)) SWIG_fail;
1861 {
1862 PyThreadState* __tstate = wxPyBeginAllowThreads();
1863 result = (wxWindow *)(arg1)->GetWindow();
1864
1865 wxPyEndAllowThreads(__tstate);
1866 if (PyErr_Occurred()) SWIG_fail;
1867 }
1868 {
1869 resultobj = wxPyMake_wxObject(result, 0);
1870 }
1871 return resultobj;
1872 fail:
1873 return NULL;
1874 }
1875
1876
1877 static PyObject * GLContext_swigregister(PyObject *, PyObject *args) {
1878 PyObject *obj;
1879 if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
1880 SWIG_TypeClientData(SWIGTYPE_p_wxGLContext, obj);
1881 Py_INCREF(obj);
1882 return Py_BuildValue((char *)"");
1883 }
1884 static PyObject *_wrap_new_GLCanvas(PyObject *, PyObject *args, PyObject *kwargs) {
1885 PyObject *resultobj;
1886 wxWindow *arg1 = (wxWindow *) 0 ;
1887 int arg2 = (int) -1 ;
1888 wxPoint const &arg3_defvalue = wxDefaultPosition ;
1889 wxPoint *arg3 = (wxPoint *) &arg3_defvalue ;
1890 wxSize const &arg4_defvalue = wxDefaultSize ;
1891 wxSize *arg4 = (wxSize *) &arg4_defvalue ;
1892 long arg5 = (long) 0 ;
1893 wxString const &arg6_defvalue = wxPyGLCanvasNameStr ;
1894 wxString *arg6 = (wxString *) &arg6_defvalue ;
1895 int *arg7 = (int *) NULL ;
1896 wxPalette const &arg8_defvalue = wxNullPalette ;
1897 wxPalette *arg8 = (wxPalette *) &arg8_defvalue ;
1898 wxGLCanvas *result;
1899 wxPoint temp3 ;
1900 wxSize temp4 ;
1901 bool temp6 = false ;
1902 int *temp7 ;
1903 PyObject * obj0 = 0 ;
1904 PyObject * obj1 = 0 ;
1905 PyObject * obj2 = 0 ;
1906 PyObject * obj3 = 0 ;
1907 PyObject * obj4 = 0 ;
1908 PyObject * obj5 = 0 ;
1909 PyObject * obj6 = 0 ;
1910 PyObject * obj7 = 0 ;
1911 char *kwnames[] = {
1912 (char *) "parent",(char *) "id",(char *) "pos",(char *) "size",(char *) "style",(char *) "name",(char *) "attribList",(char *) "palette", NULL
1913 };
1914
1915 if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|OOOOOOO:new_GLCanvas",kwnames,&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7)) goto fail;
1916 SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxWindow, SWIG_POINTER_EXCEPTION | 0);
1917 if (SWIG_arg_fail(1)) SWIG_fail;
1918 if (obj1) {
1919 {
1920 arg2 = (int)(SWIG_As_int(obj1));
1921 if (SWIG_arg_fail(2)) SWIG_fail;
1922 }
1923 }
1924 if (obj2) {
1925 {
1926 arg3 = &temp3;
1927 if ( ! wxPoint_helper(obj2, &arg3)) SWIG_fail;
1928 }
1929 }
1930 if (obj3) {
1931 {
1932 arg4 = &temp4;
1933 if ( ! wxSize_helper(obj3, &arg4)) SWIG_fail;
1934 }
1935 }
1936 if (obj4) {
1937 {
1938 arg5 = (long)(SWIG_As_long(obj4));
1939 if (SWIG_arg_fail(5)) SWIG_fail;
1940 }
1941 }
1942 if (obj5) {
1943 {
1944 arg6 = wxString_in_helper(obj5);
1945 if (arg6 == NULL) SWIG_fail;
1946 temp6 = true;
1947 }
1948 }
1949 if (obj6) {
1950 {
1951 int i;
1952 if (PySequence_Check(obj6)) {
1953 int size = PyObject_Length(obj6);
1954 temp7 = new int[size+1]; // (int*)malloc((size + 1) * sizeof(int));
1955 for (i = 0; i < size; i++) {
1956 temp7[i] = PyInt_AsLong(PySequence_GetItem(obj6, i));
1957 }
1958 temp7[size] = 0;
1959 arg7 = temp7;
1960 }
1961 }
1962 }
1963 if (obj7) {
1964 {
1965 SWIG_Python_ConvertPtr(obj7, (void **)&arg8, SWIGTYPE_p_wxPalette, SWIG_POINTER_EXCEPTION | 0);
1966 if (SWIG_arg_fail(8)) SWIG_fail;
1967 if (arg8 == NULL) {
1968 SWIG_null_ref("wxPalette");
1969 }
1970 if (SWIG_arg_fail(8)) SWIG_fail;
1971 }
1972 }
1973 {
1974 if (!wxPyCheckForApp()) SWIG_fail;
1975 PyThreadState* __tstate = wxPyBeginAllowThreads();
1976 result = (wxGLCanvas *)new wxGLCanvas(arg1,arg2,(wxPoint const &)*arg3,(wxSize const &)*arg4,arg5,(wxString const &)*arg6,arg7,(wxPalette const &)*arg8);
1977
1978 wxPyEndAllowThreads(__tstate);
1979 if (PyErr_Occurred()) SWIG_fail;
1980 }
1981 resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_wxGLCanvas, 1);
1982 {
1983 if (temp6)
1984 delete arg6;
1985 }
1986 {
1987 delete [] arg7;
1988 }
1989 return resultobj;
1990 fail:
1991 {
1992 if (temp6)
1993 delete arg6;
1994 }
1995 {
1996 delete [] arg7;
1997 }
1998 return NULL;
1999 }
2000
2001
2002 static PyObject *_wrap_new_GLCanvasWithContext(PyObject *, PyObject *args, PyObject *kwargs) {
2003 PyObject *resultobj;
2004 wxWindow *arg1 = (wxWindow *) 0 ;
2005 wxGLContext *arg2 = (wxGLContext *) NULL ;
2006 int arg3 = (int) -1 ;
2007 wxPoint const &arg4_defvalue = wxDefaultPosition ;
2008 wxPoint *arg4 = (wxPoint *) &arg4_defvalue ;
2009 wxSize const &arg5_defvalue = wxDefaultSize ;
2010 wxSize *arg5 = (wxSize *) &arg5_defvalue ;
2011 long arg6 = (long) 0 ;
2012 wxString const &arg7_defvalue = wxPyGLCanvasNameStr ;
2013 wxString *arg7 = (wxString *) &arg7_defvalue ;
2014 int *arg8 = (int *) NULL ;
2015 wxPalette const &arg9_defvalue = wxNullPalette ;
2016 wxPalette *arg9 = (wxPalette *) &arg9_defvalue ;
2017 wxGLCanvas *result;
2018 wxPoint temp4 ;
2019 wxSize temp5 ;
2020 bool temp7 = false ;
2021 int *temp8 ;
2022 PyObject * obj0 = 0 ;
2023 PyObject * obj1 = 0 ;
2024 PyObject * obj2 = 0 ;
2025 PyObject * obj3 = 0 ;
2026 PyObject * obj4 = 0 ;
2027 PyObject * obj5 = 0 ;
2028 PyObject * obj6 = 0 ;
2029 PyObject * obj7 = 0 ;
2030 PyObject * obj8 = 0 ;
2031 char *kwnames[] = {
2032 (char *) "parent",(char *) "shared",(char *) "id",(char *) "pos",(char *) "size",(char *) "style",(char *) "name",(char *) "attribList",(char *) "palette", NULL
2033 };
2034
2035 if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|OOOOOOOO:new_GLCanvasWithContext",kwnames,&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8)) goto fail;
2036 SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxWindow, SWIG_POINTER_EXCEPTION | 0);
2037 if (SWIG_arg_fail(1)) SWIG_fail;
2038 if (obj1) {
2039 SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_wxGLContext, SWIG_POINTER_EXCEPTION | 0);
2040 if (SWIG_arg_fail(2)) SWIG_fail;
2041 }
2042 if (obj2) {
2043 {
2044 arg3 = (int)(SWIG_As_int(obj2));
2045 if (SWIG_arg_fail(3)) SWIG_fail;
2046 }
2047 }
2048 if (obj3) {
2049 {
2050 arg4 = &temp4;
2051 if ( ! wxPoint_helper(obj3, &arg4)) SWIG_fail;
2052 }
2053 }
2054 if (obj4) {
2055 {
2056 arg5 = &temp5;
2057 if ( ! wxSize_helper(obj4, &arg5)) SWIG_fail;
2058 }
2059 }
2060 if (obj5) {
2061 {
2062 arg6 = (long)(SWIG_As_long(obj5));
2063 if (SWIG_arg_fail(6)) SWIG_fail;
2064 }
2065 }
2066 if (obj6) {
2067 {
2068 arg7 = wxString_in_helper(obj6);
2069 if (arg7 == NULL) SWIG_fail;
2070 temp7 = true;
2071 }
2072 }
2073 if (obj7) {
2074 {
2075 int i;
2076 if (PySequence_Check(obj7)) {
2077 int size = PyObject_Length(obj7);
2078 temp8 = new int[size+1]; // (int*)malloc((size + 1) * sizeof(int));
2079 for (i = 0; i < size; i++) {
2080 temp8[i] = PyInt_AsLong(PySequence_GetItem(obj7, i));
2081 }
2082 temp8[size] = 0;
2083 arg8 = temp8;
2084 }
2085 }
2086 }
2087 if (obj8) {
2088 {
2089 SWIG_Python_ConvertPtr(obj8, (void **)&arg9, SWIGTYPE_p_wxPalette, SWIG_POINTER_EXCEPTION | 0);
2090 if (SWIG_arg_fail(9)) SWIG_fail;
2091 if (arg9 == NULL) {
2092 SWIG_null_ref("wxPalette");
2093 }
2094 if (SWIG_arg_fail(9)) SWIG_fail;
2095 }
2096 }
2097 {
2098 if (!wxPyCheckForApp()) SWIG_fail;
2099 PyThreadState* __tstate = wxPyBeginAllowThreads();
2100 result = (wxGLCanvas *)new wxGLCanvas(arg1,(wxGLContext const *)arg2,arg3,(wxPoint const &)*arg4,(wxSize const &)*arg5,arg6,(wxString const &)*arg7,arg8,(wxPalette const &)*arg9);
2101
2102 wxPyEndAllowThreads(__tstate);
2103 if (PyErr_Occurred()) SWIG_fail;
2104 }
2105 resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_wxGLCanvas, 1);
2106 {
2107 if (temp7)
2108 delete arg7;
2109 }
2110 {
2111 delete [] arg8;
2112 }
2113 return resultobj;
2114 fail:
2115 {
2116 if (temp7)
2117 delete arg7;
2118 }
2119 {
2120 delete [] arg8;
2121 }
2122 return NULL;
2123 }
2124
2125
2126 static PyObject *_wrap_GLCanvas_SetCurrent(PyObject *, PyObject *args, PyObject *kwargs) {
2127 PyObject *resultobj;
2128 wxGLCanvas *arg1 = (wxGLCanvas *) 0 ;
2129 PyObject * obj0 = 0 ;
2130 char *kwnames[] = {
2131 (char *) "self", NULL
2132 };
2133
2134 if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:GLCanvas_SetCurrent",kwnames,&obj0)) goto fail;
2135 SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxGLCanvas, SWIG_POINTER_EXCEPTION | 0);
2136 if (SWIG_arg_fail(1)) SWIG_fail;
2137 {
2138 PyThreadState* __tstate = wxPyBeginAllowThreads();
2139 (arg1)->SetCurrent();
2140
2141 wxPyEndAllowThreads(__tstate);
2142 if (PyErr_Occurred()) SWIG_fail;
2143 }
2144 Py_INCREF(Py_None); resultobj = Py_None;
2145 return resultobj;
2146 fail:
2147 return NULL;
2148 }
2149
2150
2151 static PyObject *_wrap_GLCanvas_SetColour(PyObject *, PyObject *args, PyObject *kwargs) {
2152 PyObject *resultobj;
2153 wxGLCanvas *arg1 = (wxGLCanvas *) 0 ;
2154 wxString *arg2 = 0 ;
2155 bool temp2 = false ;
2156 PyObject * obj0 = 0 ;
2157 PyObject * obj1 = 0 ;
2158 char *kwnames[] = {
2159 (char *) "self",(char *) "colour", NULL
2160 };
2161
2162 if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:GLCanvas_SetColour",kwnames,&obj0,&obj1)) goto fail;
2163 SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxGLCanvas, SWIG_POINTER_EXCEPTION | 0);
2164 if (SWIG_arg_fail(1)) SWIG_fail;
2165 {
2166 arg2 = wxString_in_helper(obj1);
2167 if (arg2 == NULL) SWIG_fail;
2168 temp2 = true;
2169 }
2170 {
2171 PyThreadState* __tstate = wxPyBeginAllowThreads();
2172 (arg1)->SetColour((wxString const &)*arg2);
2173
2174 wxPyEndAllowThreads(__tstate);
2175 if (PyErr_Occurred()) SWIG_fail;
2176 }
2177 Py_INCREF(Py_None); resultobj = Py_None;
2178 {
2179 if (temp2)
2180 delete arg2;
2181 }
2182 return resultobj;
2183 fail:
2184 {
2185 if (temp2)
2186 delete arg2;
2187 }
2188 return NULL;
2189 }
2190
2191
2192 static PyObject *_wrap_GLCanvas_SwapBuffers(PyObject *, PyObject *args, PyObject *kwargs) {
2193 PyObject *resultobj;
2194 wxGLCanvas *arg1 = (wxGLCanvas *) 0 ;
2195 PyObject * obj0 = 0 ;
2196 char *kwnames[] = {
2197 (char *) "self", NULL
2198 };
2199
2200 if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:GLCanvas_SwapBuffers",kwnames,&obj0)) goto fail;
2201 SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxGLCanvas, SWIG_POINTER_EXCEPTION | 0);
2202 if (SWIG_arg_fail(1)) SWIG_fail;
2203 {
2204 PyThreadState* __tstate = wxPyBeginAllowThreads();
2205 (arg1)->SwapBuffers();
2206
2207 wxPyEndAllowThreads(__tstate);
2208 if (PyErr_Occurred()) SWIG_fail;
2209 }
2210 Py_INCREF(Py_None); resultobj = Py_None;
2211 return resultobj;
2212 fail:
2213 return NULL;
2214 }
2215
2216
2217 static PyObject *_wrap_GLCanvas_GetContext(PyObject *, PyObject *args, PyObject *kwargs) {
2218 PyObject *resultobj;
2219 wxGLCanvas *arg1 = (wxGLCanvas *) 0 ;
2220 wxGLContext *result;
2221 PyObject * obj0 = 0 ;
2222 char *kwnames[] = {
2223 (char *) "self", NULL
2224 };
2225
2226 if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:GLCanvas_GetContext",kwnames,&obj0)) goto fail;
2227 SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxGLCanvas, SWIG_POINTER_EXCEPTION | 0);
2228 if (SWIG_arg_fail(1)) SWIG_fail;
2229 {
2230 PyThreadState* __tstate = wxPyBeginAllowThreads();
2231 result = (wxGLContext *)(arg1)->GetContext();
2232
2233 wxPyEndAllowThreads(__tstate);
2234 if (PyErr_Occurred()) SWIG_fail;
2235 }
2236 resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_wxGLContext, 0);
2237 return resultobj;
2238 fail:
2239 return NULL;
2240 }
2241
2242
2243 static PyObject * GLCanvas_swigregister(PyObject *, PyObject *args) {
2244 PyObject *obj;
2245 if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
2246 SWIG_TypeClientData(SWIGTYPE_p_wxGLCanvas, obj);
2247 Py_INCREF(obj);
2248 return Py_BuildValue((char *)"");
2249 }
2250 static PyMethodDef SwigMethods[] = {
2251 { (char *)"new_GLContext", (PyCFunction) _wrap_new_GLContext, METH_VARARGS | METH_KEYWORDS, NULL},
2252 { (char *)"delete_GLContext", (PyCFunction) _wrap_delete_GLContext, METH_VARARGS | METH_KEYWORDS, NULL},
2253 { (char *)"GLContext_SetCurrent", (PyCFunction) _wrap_GLContext_SetCurrent, METH_VARARGS | METH_KEYWORDS, NULL},
2254 { (char *)"GLContext_SetColour", (PyCFunction) _wrap_GLContext_SetColour, METH_VARARGS | METH_KEYWORDS, NULL},
2255 { (char *)"GLContext_SwapBuffers", (PyCFunction) _wrap_GLContext_SwapBuffers, METH_VARARGS | METH_KEYWORDS, NULL},
2256 { (char *)"GLContext_SetupPixelFormat", (PyCFunction) _wrap_GLContext_SetupPixelFormat, METH_VARARGS | METH_KEYWORDS, NULL},
2257 { (char *)"GLContext_SetupPalette", (PyCFunction) _wrap_GLContext_SetupPalette, METH_VARARGS | METH_KEYWORDS, NULL},
2258 { (char *)"GLContext_CreateDefaultPalette", (PyCFunction) _wrap_GLContext_CreateDefaultPalette, METH_VARARGS | METH_KEYWORDS, NULL},
2259 { (char *)"GLContext_GetPalette", (PyCFunction) _wrap_GLContext_GetPalette, METH_VARARGS | METH_KEYWORDS, NULL},
2260 { (char *)"GLContext_GetWindow", (PyCFunction) _wrap_GLContext_GetWindow, METH_VARARGS | METH_KEYWORDS, NULL},
2261 { (char *)"GLContext_swigregister", GLContext_swigregister, METH_VARARGS, NULL},
2262 { (char *)"new_GLCanvas", (PyCFunction) _wrap_new_GLCanvas, METH_VARARGS | METH_KEYWORDS, NULL},
2263 { (char *)"new_GLCanvasWithContext", (PyCFunction) _wrap_new_GLCanvasWithContext, METH_VARARGS | METH_KEYWORDS, NULL},
2264 { (char *)"GLCanvas_SetCurrent", (PyCFunction) _wrap_GLCanvas_SetCurrent, METH_VARARGS | METH_KEYWORDS, NULL},
2265 { (char *)"GLCanvas_SetColour", (PyCFunction) _wrap_GLCanvas_SetColour, METH_VARARGS | METH_KEYWORDS, NULL},
2266 { (char *)"GLCanvas_SwapBuffers", (PyCFunction) _wrap_GLCanvas_SwapBuffers, METH_VARARGS | METH_KEYWORDS, NULL},
2267 { (char *)"GLCanvas_GetContext", (PyCFunction) _wrap_GLCanvas_GetContext, METH_VARARGS | METH_KEYWORDS, NULL},
2268 { (char *)"GLCanvas_swigregister", GLCanvas_swigregister, METH_VARARGS, NULL},
2269 { NULL, NULL, 0, NULL }
2270 };
2271
2272
2273 /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */
2274
2275 static void *_p_wxLayoutConstraintsTo_p_wxObject(void *x) {
2276 return (void *)((wxObject *) ((wxLayoutConstraints *) x));
2277 }
2278 static void *_p_wxGBSizerItemTo_p_wxObject(void *x) {
2279 return (void *)((wxObject *) (wxSizerItem *) ((wxGBSizerItem *) x));
2280 }
2281 static void *_p_wxSizerItemTo_p_wxObject(void *x) {
2282 return (void *)((wxObject *) ((wxSizerItem *) x));
2283 }
2284 static void *_p_wxScrollEventTo_p_wxObject(void *x) {
2285 return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxScrollEvent *) x));
2286 }
2287 static void *_p_wxIndividualLayoutConstraintTo_p_wxObject(void *x) {
2288 return (void *)((wxObject *) ((wxIndividualLayoutConstraint *) x));
2289 }
2290 static void *_p_wxStaticBoxSizerTo_p_wxObject(void *x) {
2291 return (void *)((wxObject *) (wxSizer *)(wxBoxSizer *) ((wxStaticBoxSizer *) x));
2292 }
2293 static void *_p_wxBoxSizerTo_p_wxObject(void *x) {
2294 return (void *)((wxObject *) (wxSizer *) ((wxBoxSizer *) x));
2295 }
2296 static void *_p_wxSizerTo_p_wxObject(void *x) {
2297 return (void *)((wxObject *) ((wxSizer *) x));
2298 }
2299 static void *_p_wxGridBagSizerTo_p_wxObject(void *x) {
2300 return (void *)((wxObject *) (wxSizer *)(wxGridSizer *)(wxFlexGridSizer *) ((wxGridBagSizer *) x));
2301 }
2302 static void *_p_wxUpdateUIEventTo_p_wxObject(void *x) {
2303 return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxUpdateUIEvent *) x));
2304 }
2305 static void *_p_wxEventTo_p_wxObject(void *x) {
2306 return (void *)((wxObject *) ((wxEvent *) x));
2307 }
2308 static void *_p_wxFlexGridSizerTo_p_wxObject(void *x) {
2309 return (void *)((wxObject *) (wxSizer *)(wxGridSizer *) ((wxFlexGridSizer *) x));
2310 }
2311 static void *_p_wxGridSizerTo_p_wxObject(void *x) {
2312 return (void *)((wxObject *) (wxSizer *) ((wxGridSizer *) x));
2313 }
2314 static void *_p_wxInitDialogEventTo_p_wxObject(void *x) {
2315 return (void *)((wxObject *) (wxEvent *) ((wxInitDialogEvent *) x));
2316 }
2317 static void *_p_wxPaintEventTo_p_wxObject(void *x) {
2318 return (void *)((wxObject *) (wxEvent *) ((wxPaintEvent *) x));
2319 }
2320 static void *_p_wxNcPaintEventTo_p_wxObject(void *x) {
2321 return (void *)((wxObject *) (wxEvent *) ((wxNcPaintEvent *) x));
2322 }
2323 static void *_p_wxPaletteChangedEventTo_p_wxObject(void *x) {
2324 return (void *)((wxObject *) (wxEvent *) ((wxPaletteChangedEvent *) x));
2325 }
2326 static void *_p_wxDisplayChangedEventTo_p_wxObject(void *x) {
2327 return (void *)((wxObject *) (wxEvent *) ((wxDisplayChangedEvent *) x));
2328 }
2329 static void *_p_wxMouseCaptureChangedEventTo_p_wxObject(void *x) {
2330 return (void *)((wxObject *) (wxEvent *) ((wxMouseCaptureChangedEvent *) x));
2331 }
2332 static void *_p_wxSysColourChangedEventTo_p_wxObject(void *x) {
2333 return (void *)((wxObject *) (wxEvent *) ((wxSysColourChangedEvent *) x));
2334 }
2335 static void *_p_wxControlTo_p_wxObject(void *x) {
2336 return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxControl *) x));
2337 }
2338 static void *_p_wxSetCursorEventTo_p_wxObject(void *x) {
2339 return (void *)((wxObject *) (wxEvent *) ((wxSetCursorEvent *) x));
2340 }
2341 static void *_p_wxFSFileTo_p_wxObject(void *x) {
2342 return (void *)((wxObject *) ((wxFSFile *) x));
2343 }
2344 static void *_p_wxPySizerTo_p_wxObject(void *x) {
2345 return (void *)((wxObject *) (wxSizer *) ((wxPySizer *) x));
2346 }
2347 static void *_p_wxPyEventTo_p_wxObject(void *x) {
2348 return (void *)((wxObject *) (wxEvent *) ((wxPyEvent *) x));
2349 }
2350 static void *_p_wxNotifyEventTo_p_wxObject(void *x) {
2351 return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxNotifyEvent *) x));
2352 }
2353 static void *_p_wxGLContextTo_p_wxObject(void *x) {
2354 return (void *)((wxObject *) ((wxGLContext *) x));
2355 }
2356 static void *_p_wxShowEventTo_p_wxObject(void *x) {
2357 return (void *)((wxObject *) (wxEvent *) ((wxShowEvent *) x));
2358 }
2359 static void *_p_wxMenuItemTo_p_wxObject(void *x) {
2360 return (void *)((wxObject *) ((wxMenuItem *) x));
2361 }
2362 static void *_p_wxDateEventTo_p_wxObject(void *x) {
2363 return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxDateEvent *) x));
2364 }
2365 static void *_p_wxIdleEventTo_p_wxObject(void *x) {
2366 return (void *)((wxObject *) (wxEvent *) ((wxIdleEvent *) x));
2367 }
2368 static void *_p_wxWindowCreateEventTo_p_wxObject(void *x) {
2369 return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxWindowCreateEvent *) x));
2370 }
2371 static void *_p_wxQueryNewPaletteEventTo_p_wxObject(void *x) {
2372 return (void *)((wxObject *) (wxEvent *) ((wxQueryNewPaletteEvent *) x));
2373 }
2374 static void *_p_wxMaximizeEventTo_p_wxObject(void *x) {
2375 return (void *)((wxObject *) (wxEvent *) ((wxMaximizeEvent *) x));
2376 }
2377 static void *_p_wxIconizeEventTo_p_wxObject(void *x) {
2378 return (void *)((wxObject *) (wxEvent *) ((wxIconizeEvent *) x));
2379 }
2380 static void *_p_wxSizeEventTo_p_wxObject(void *x) {
2381 return (void *)((wxObject *) (wxEvent *) ((wxSizeEvent *) x));
2382 }
2383 static void *_p_wxMoveEventTo_p_wxObject(void *x) {
2384 return (void *)((wxObject *) (wxEvent *) ((wxMoveEvent *) x));
2385 }
2386 static void *_p_wxActivateEventTo_p_wxObject(void *x) {
2387 return (void *)((wxObject *) (wxEvent *) ((wxActivateEvent *) x));
2388 }
2389 static void *_p_wxPNMHandlerTo_p_wxObject(void *x) {
2390 return (void *)((wxObject *) (wxImageHandler *) ((wxPNMHandler *) x));
2391 }
2392 static void *_p_wxJPEGHandlerTo_p_wxObject(void *x) {
2393 return (void *)((wxObject *) (wxImageHandler *) ((wxJPEGHandler *) x));
2394 }
2395 static void *_p_wxPCXHandlerTo_p_wxObject(void *x) {
2396 return (void *)((wxObject *) (wxImageHandler *) ((wxPCXHandler *) x));
2397 }
2398 static void *_p_wxGIFHandlerTo_p_wxObject(void *x) {
2399 return (void *)((wxObject *) (wxImageHandler *) ((wxGIFHandler *) x));
2400 }
2401 static void *_p_wxPNGHandlerTo_p_wxObject(void *x) {
2402 return (void *)((wxObject *) (wxImageHandler *) ((wxPNGHandler *) x));
2403 }
2404 static void *_p_wxANIHandlerTo_p_wxObject(void *x) {
2405 return (void *)((wxObject *) (wxImageHandler *)(wxBMPHandler *)(wxICOHandler *)(wxCURHandler *) ((wxANIHandler *) x));
2406 }
2407 static void *_p_wxCURHandlerTo_p_wxObject(void *x) {
2408 return (void *)((wxObject *) (wxImageHandler *)(wxBMPHandler *)(wxICOHandler *) ((wxCURHandler *) x));
2409 }
2410 static void *_p_wxICOHandlerTo_p_wxObject(void *x) {
2411 return (void *)((wxObject *) (wxImageHandler *)(wxBMPHandler *) ((wxICOHandler *) x));
2412 }
2413 static void *_p_wxBMPHandlerTo_p_wxObject(void *x) {
2414 return (void *)((wxObject *) (wxImageHandler *) ((wxBMPHandler *) x));
2415 }
2416 static void *_p_wxPyImageHandlerTo_p_wxObject(void *x) {
2417 return (void *)((wxObject *) (wxImageHandler *) ((wxPyImageHandler *) x));
2418 }
2419 static void *_p_wxImageHandlerTo_p_wxObject(void *x) {
2420 return (void *)((wxObject *) ((wxImageHandler *) x));
2421 }
2422 static void *_p_wxXPMHandlerTo_p_wxObject(void *x) {
2423 return (void *)((wxObject *) (wxImageHandler *) ((wxXPMHandler *) x));
2424 }
2425 static void *_p_wxTIFFHandlerTo_p_wxObject(void *x) {
2426 return (void *)((wxObject *) (wxImageHandler *) ((wxTIFFHandler *) x));
2427 }
2428 static void *_p_wxEvtHandlerTo_p_wxObject(void *x) {
2429 return (void *)((wxObject *) ((wxEvtHandler *) x));
2430 }
2431 static void *_p_wxGLCanvasTo_p_wxObject(void *x) {
2432 return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxGLCanvas *) x));
2433 }
2434 static void *_p_wxStdDialogButtonSizerTo_p_wxObject(void *x) {
2435 return (void *)((wxObject *) (wxSizer *)(wxBoxSizer *) ((wxStdDialogButtonSizer *) x));
2436 }
2437 static void *_p_wxAcceleratorTableTo_p_wxObject(void *x) {
2438 return (void *)((wxObject *) ((wxAcceleratorTable *) x));
2439 }
2440 static void *_p_wxImageTo_p_wxObject(void *x) {
2441 return (void *)((wxObject *) ((wxImage *) x));
2442 }
2443 static void *_p_wxScrollWinEventTo_p_wxObject(void *x) {
2444 return (void *)((wxObject *) (wxEvent *) ((wxScrollWinEvent *) x));
2445 }
2446 static void *_p_wxWindowDestroyEventTo_p_wxObject(void *x) {
2447 return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxWindowDestroyEvent *) x));
2448 }
2449 static void *_p_wxNavigationKeyEventTo_p_wxObject(void *x) {
2450 return (void *)((wxObject *) (wxEvent *) ((wxNavigationKeyEvent *) x));
2451 }
2452 static void *_p_wxKeyEventTo_p_wxObject(void *x) {
2453 return (void *)((wxObject *) (wxEvent *) ((wxKeyEvent *) x));
2454 }
2455 static void *_p_wxWindowTo_p_wxObject(void *x) {
2456 return (void *)((wxObject *) (wxEvtHandler *) ((wxWindow *) x));
2457 }
2458 static void *_p_wxMenuTo_p_wxObject(void *x) {
2459 return (void *)((wxObject *) (wxEvtHandler *) ((wxMenu *) x));
2460 }
2461 static void *_p_wxMenuBarTo_p_wxObject(void *x) {
2462 return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxMenuBar *) x));
2463 }
2464 static void *_p_wxFileSystemTo_p_wxObject(void *x) {
2465 return (void *)((wxObject *) ((wxFileSystem *) x));
2466 }
2467 static void *_p_wxContextMenuEventTo_p_wxObject(void *x) {
2468 return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxContextMenuEvent *) x));
2469 }
2470 static void *_p_wxMenuEventTo_p_wxObject(void *x) {
2471 return (void *)((wxObject *) (wxEvent *) ((wxMenuEvent *) x));
2472 }
2473 static void *_p_wxPyAppTo_p_wxObject(void *x) {
2474 return (void *)((wxObject *) (wxEvtHandler *) ((wxPyApp *) x));
2475 }
2476 static void *_p_wxCloseEventTo_p_wxObject(void *x) {
2477 return (void *)((wxObject *) (wxEvent *) ((wxCloseEvent *) x));
2478 }
2479 static void *_p_wxMouseEventTo_p_wxObject(void *x) {
2480 return (void *)((wxObject *) (wxEvent *) ((wxMouseEvent *) x));
2481 }
2482 static void *_p_wxEraseEventTo_p_wxObject(void *x) {
2483 return (void *)((wxObject *) (wxEvent *) ((wxEraseEvent *) x));
2484 }
2485 static void *_p_wxPyCommandEventTo_p_wxObject(void *x) {
2486 return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxPyCommandEvent *) x));
2487 }
2488 static void *_p_wxCommandEventTo_p_wxObject(void *x) {
2489 return (void *)((wxObject *) (wxEvent *) ((wxCommandEvent *) x));
2490 }
2491 static void *_p_wxDropFilesEventTo_p_wxObject(void *x) {
2492 return (void *)((wxObject *) (wxEvent *) ((wxDropFilesEvent *) x));
2493 }
2494 static void *_p_wxFocusEventTo_p_wxObject(void *x) {
2495 return (void *)((wxObject *) (wxEvent *) ((wxFocusEvent *) x));
2496 }
2497 static void *_p_wxChildFocusEventTo_p_wxObject(void *x) {
2498 return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxChildFocusEvent *) x));
2499 }
2500 static void *_p_wxControlWithItemsTo_p_wxObject(void *x) {
2501 return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxControlWithItems *) x));
2502 }
2503 static void *_p_wxPyValidatorTo_p_wxObject(void *x) {
2504 return (void *)((wxObject *) (wxEvtHandler *)(wxValidator *) ((wxPyValidator *) x));
2505 }
2506 static void *_p_wxValidatorTo_p_wxObject(void *x) {
2507 return (void *)((wxObject *) (wxEvtHandler *) ((wxValidator *) x));
2508 }
2509 static void *_p_wxControlTo_p_wxWindow(void *x) {
2510 return (void *)((wxWindow *) ((wxControl *) x));
2511 }
2512 static void *_p_wxControlWithItemsTo_p_wxWindow(void *x) {
2513 return (void *)((wxWindow *) (wxControl *) ((wxControlWithItems *) x));
2514 }
2515 static void *_p_wxMenuBarTo_p_wxWindow(void *x) {
2516 return (void *)((wxWindow *) ((wxMenuBar *) x));
2517 }
2518 static void *_p_wxGLCanvasTo_p_wxWindow(void *x) {
2519 return (void *)((wxWindow *) ((wxGLCanvas *) x));
2520 }
2521 static void *_p_wxControlTo_p_wxEvtHandler(void *x) {
2522 return (void *)((wxEvtHandler *) (wxWindow *) ((wxControl *) x));
2523 }
2524 static void *_p_wxWindowTo_p_wxEvtHandler(void *x) {
2525 return (void *)((wxEvtHandler *) ((wxWindow *) x));
2526 }
2527 static void *_p_wxControlWithItemsTo_p_wxEvtHandler(void *x) {
2528 return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxControlWithItems *) x));
2529 }
2530 static void *_p_wxPyAppTo_p_wxEvtHandler(void *x) {
2531 return (void *)((wxEvtHandler *) ((wxPyApp *) x));
2532 }
2533 static void *_p_wxValidatorTo_p_wxEvtHandler(void *x) {
2534 return (void *)((wxEvtHandler *) ((wxValidator *) x));
2535 }
2536 static void *_p_wxPyValidatorTo_p_wxEvtHandler(void *x) {
2537 return (void *)((wxEvtHandler *) (wxValidator *) ((wxPyValidator *) x));
2538 }
2539 static void *_p_wxMenuBarTo_p_wxEvtHandler(void *x) {
2540 return (void *)((wxEvtHandler *) (wxWindow *) ((wxMenuBar *) x));
2541 }
2542 static void *_p_wxGLCanvasTo_p_wxEvtHandler(void *x) {
2543 return (void *)((wxEvtHandler *) (wxWindow *) ((wxGLCanvas *) x));
2544 }
2545 static void *_p_wxMenuTo_p_wxEvtHandler(void *x) {
2546 return (void *)((wxEvtHandler *) ((wxMenu *) x));
2547 }
2548 static swig_type_info _swigt__p_wxGLCanvas[] = {{"_p_wxGLCanvas", 0, "wxGLCanvas *", 0, 0, 0, 0},{"_p_wxGLCanvas", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
2549 static swig_type_info _swigt__p_wxObject[] = {{"_p_wxObject", 0, "wxObject *", 0, 0, 0, 0},{"_p_wxLayoutConstraints", _p_wxLayoutConstraintsTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxGBSizerItem", _p_wxGBSizerItemTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxSizerItem", _p_wxSizerItemTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxScrollEvent", _p_wxScrollEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxIndividualLayoutConstraint", _p_wxIndividualLayoutConstraintTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxStaticBoxSizer", _p_wxStaticBoxSizerTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxBoxSizer", _p_wxBoxSizerTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxSizer", _p_wxSizerTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxGridBagSizer", _p_wxGridBagSizerTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxUpdateUIEvent", _p_wxUpdateUIEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxMenu", _p_wxMenuTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxEvent", _p_wxEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxGridSizer", _p_wxGridSizerTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxFlexGridSizer", _p_wxFlexGridSizerTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxInitDialogEvent", _p_wxInitDialogEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxPaintEvent", _p_wxPaintEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxNcPaintEvent", _p_wxNcPaintEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxPaletteChangedEvent", _p_wxPaletteChangedEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxDisplayChangedEvent", _p_wxDisplayChangedEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxMouseCaptureChangedEvent", _p_wxMouseCaptureChangedEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxSysColourChangedEvent", _p_wxSysColourChangedEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxControl", _p_wxControlTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxSetCursorEvent", _p_wxSetCursorEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxFSFile", _p_wxFSFileTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxPySizer", _p_wxPySizerTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxPyEvent", _p_wxPyEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxNotifyEvent", _p_wxNotifyEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxGLContext", _p_wxGLContextTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxShowEvent", _p_wxShowEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxMenuItem", _p_wxMenuItemTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxQueryNewPaletteEvent", _p_wxQueryNewPaletteEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxWindowCreateEvent", _p_wxWindowCreateEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxIdleEvent", _p_wxIdleEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxDateEvent", _p_wxDateEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxMaximizeEvent", _p_wxMaximizeEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxIconizeEvent", _p_wxIconizeEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxActivateEvent", _p_wxActivateEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxMoveEvent", _p_wxMoveEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxSizeEvent", _p_wxSizeEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxPNMHandler", _p_wxPNMHandlerTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxJPEGHandler", _p_wxJPEGHandlerTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxPCXHandler", _p_wxPCXHandlerTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxGIFHandler", _p_wxGIFHandlerTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxPNGHandler", _p_wxPNGHandlerTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxANIHandler", _p_wxANIHandlerTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxCURHandler", _p_wxCURHandlerTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxICOHandler", _p_wxICOHandlerTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxBMPHandler", _p_wxBMPHandlerTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxPyImageHandler", _p_wxPyImageHandlerTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxImageHandler", _p_wxImageHandlerTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxXPMHandler", _p_wxXPMHandlerTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxTIFFHandler", _p_wxTIFFHandlerTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxEvtHandler", _p_wxEvtHandlerTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxGLCanvas", _p_wxGLCanvasTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxStdDialogButtonSizer", _p_wxStdDialogButtonSizerTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxAcceleratorTable", _p_wxAcceleratorTableTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxImage", _p_wxImageTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxScrollWinEvent", _p_wxScrollWinEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxObject", 0, 0, 0, 0, 0, 0},{"_p_wxWindowDestroyEvent", _p_wxWindowDestroyEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxNavigationKeyEvent", _p_wxNavigationKeyEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxKeyEvent", _p_wxKeyEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxWindow", _p_wxWindowTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxMenuBar", _p_wxMenuBarTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxFileSystem", _p_wxFileSystemTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxContextMenuEvent", _p_wxContextMenuEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxMenuEvent", _p_wxMenuEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxPyApp", _p_wxPyAppTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxCloseEvent", _p_wxCloseEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxMouseEvent", _p_wxMouseEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxEraseEvent", _p_wxEraseEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxCommandEvent", _p_wxCommandEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxPyCommandEvent", _p_wxPyCommandEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxDropFilesEvent", _p_wxDropFilesEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxFocusEvent", _p_wxFocusEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxChildFocusEvent", _p_wxChildFocusEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxControlWithItems", _p_wxControlWithItemsTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxPyValidator", _p_wxPyValidatorTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxValidator", _p_wxValidatorTo_p_wxObject, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
2550 static swig_type_info _swigt__p_unsigned_char[] = {{"_p_unsigned_char", 0, "unsigned char *|byte *", 0, 0, 0, 0},{"_p_unsigned_char", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
2551 static swig_type_info _swigt__p_wxGLContext[] = {{"_p_wxGLContext", 0, "wxGLContext *", 0, 0, 0, 0},{"_p_wxGLContext", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
2552 static swig_type_info _swigt__p_wxWindow[] = {{"_p_wxWindow", 0, "wxWindow *", 0, 0, 0, 0},{"_p_wxControl", _p_wxControlTo_p_wxWindow, 0, 0, 0, 0, 0},{"_p_wxWindow", 0, 0, 0, 0, 0, 0},{"_p_wxControlWithItems", _p_wxControlWithItemsTo_p_wxWindow, 0, 0, 0, 0, 0},{"_p_wxMenuBar", _p_wxMenuBarTo_p_wxWindow, 0, 0, 0, 0, 0},{"_p_wxGLCanvas", _p_wxGLCanvasTo_p_wxWindow, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
2553 static swig_type_info _swigt__p_unsigned_long[] = {{"_p_unsigned_long", 0, "unsigned long *|wxUIntPtr *", 0, 0, 0, 0},{"_p_unsigned_long", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
2554 static swig_type_info _swigt__p_form_ops_t[] = {{"_p_form_ops_t", 0, "enum form_ops_t *|form_ops_t *", 0, 0, 0, 0},{"_p_form_ops_t", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
2555 static swig_type_info _swigt__p_unsigned_int[] = {{"_p_unsigned_int", 0, "unsigned int *|time_t *", 0, 0, 0, 0},{"_p_unsigned_int", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
2556 static swig_type_info _swigt__unsigned_int[] = {{"_unsigned_int", 0, "unsigned int|std::size_t", 0, 0, 0, 0},{"_unsigned_int", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
2557 static swig_type_info _swigt__p_wxDuplexMode[] = {{"_p_wxDuplexMode", 0, "enum wxDuplexMode *|wxDuplexMode *", 0, 0, 0, 0},{"_p_wxDuplexMode", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
2558 static swig_type_info _swigt__p_char[] = {{"_p_char", 0, "char *", 0, 0, 0, 0},{"_p_char", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
2559 static swig_type_info _swigt__p_wxEvtHandler[] = {{"_p_wxEvtHandler", 0, "wxEvtHandler *", 0, 0, 0, 0},{"_p_wxControl", _p_wxControlTo_p_wxEvtHandler, 0, 0, 0, 0, 0},{"_p_wxWindow", _p_wxWindowTo_p_wxEvtHandler, 0, 0, 0, 0, 0},{"_p_wxControlWithItems", _p_wxControlWithItemsTo_p_wxEvtHandler, 0, 0, 0, 0, 0},{"_p_wxEvtHandler", 0, 0, 0, 0, 0, 0},{"_p_wxPyApp", _p_wxPyAppTo_p_wxEvtHandler, 0, 0, 0, 0, 0},{"_p_wxMenuBar", _p_wxMenuBarTo_p_wxEvtHandler, 0, 0, 0, 0, 0},{"_p_wxGLCanvas", _p_wxGLCanvasTo_p_wxEvtHandler, 0, 0, 0, 0, 0},{"_p_wxValidator", _p_wxValidatorTo_p_wxEvtHandler, 0, 0, 0, 0, 0},{"_p_wxPyValidator", _p_wxPyValidatorTo_p_wxEvtHandler, 0, 0, 0, 0, 0},{"_p_wxMenu", _p_wxMenuTo_p_wxEvtHandler, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
2560 static swig_type_info _swigt__p_wxPalette[] = {{"_p_wxPalette", 0, "wxPalette *", 0, 0, 0, 0},{"_p_wxPalette", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
2561 static swig_type_info _swigt__std__ptrdiff_t[] = {{"_std__ptrdiff_t", 0, "std::ptrdiff_t", 0, 0, 0, 0},{"_std__ptrdiff_t", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
2562 static swig_type_info _swigt__ptrdiff_t[] = {{"_ptrdiff_t", 0, "ptrdiff_t", 0, 0, 0, 0},{"_ptrdiff_t", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
2563 static swig_type_info _swigt__p_wxPaperSize[] = {{"_p_wxPaperSize", 0, "enum wxPaperSize *|wxPaperSize *", 0, 0, 0, 0},{"_p_wxPaperSize", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
2564 static swig_type_info _swigt__p_int[] = {{"_p_int", 0, "int *", 0, 0, 0, 0},{"_p_int", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
2565
2566 static swig_type_info *swig_types_initial[] = {
2567 _swigt__p_wxGLCanvas,
2568 _swigt__p_wxObject,
2569 _swigt__p_unsigned_char,
2570 _swigt__p_wxGLContext,
2571 _swigt__p_wxWindow,
2572 _swigt__p_unsigned_long,
2573 _swigt__p_form_ops_t,
2574 _swigt__p_unsigned_int,
2575 _swigt__unsigned_int,
2576 _swigt__p_wxDuplexMode,
2577 _swigt__p_char,
2578 _swigt__p_wxEvtHandler,
2579 _swigt__p_wxPalette,
2580 _swigt__std__ptrdiff_t,
2581 _swigt__ptrdiff_t,
2582 _swigt__p_wxPaperSize,
2583 _swigt__p_int,
2584 0
2585 };
2586
2587
2588 /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (END) -------- */
2589
2590 static swig_const_info swig_const_table[] = {
2591 {0, 0, 0, 0.0, 0, 0}};
2592
2593 #ifdef __cplusplus
2594 }
2595 #endif
2596
2597
2598 #ifdef __cplusplus
2599 extern "C" {
2600 #endif
2601
2602 /* Python-specific SWIG API */
2603 #define SWIG_newvarlink() SWIG_Python_newvarlink()
2604 #define SWIG_addvarlink(p, name, get_attr, set_attr) SWIG_Python_addvarlink(p, name, get_attr, set_attr)
2605 #define SWIG_InstallConstants(d, constants) SWIG_Python_InstallConstants(d, constants)
2606
2607 /* -----------------------------------------------------------------------------
2608 * global variable support code.
2609 * ----------------------------------------------------------------------------- */
2610
2611 typedef struct swig_globalvar {
2612 char *name; /* Name of global variable */
2613 PyObject *(*get_attr)(); /* Return the current value */
2614 int (*set_attr)(PyObject *); /* Set the value */
2615 struct swig_globalvar *next;
2616 } swig_globalvar;
2617
2618 typedef struct swig_varlinkobject {
2619 PyObject_HEAD
2620 swig_globalvar *vars;
2621 } swig_varlinkobject;
2622
2623 static PyObject *
2624 swig_varlink_repr(swig_varlinkobject *v) {
2625 v = v;
2626 return PyString_FromString("<Swig global variables>");
2627 }
2628
2629 static int
2630 swig_varlink_print(swig_varlinkobject *v, FILE *fp, int flags) {
2631 swig_globalvar *var;
2632 flags = flags;
2633 fprintf(fp,"Swig global variables { ");
2634 for (var = v->vars; var; var=var->next) {
2635 fprintf(fp,"%s", var->name);
2636 if (var->next) fprintf(fp,", ");
2637 }
2638 fprintf(fp," }\n");
2639 return 0;
2640 }
2641
2642 static PyObject *
2643 swig_varlink_getattr(swig_varlinkobject *v, char *n) {
2644 swig_globalvar *var = v->vars;
2645 while (var) {
2646 if (strcmp(var->name,n) == 0) {
2647 return (*var->get_attr)();
2648 }
2649 var = var->next;
2650 }
2651 PyErr_SetString(PyExc_NameError,"Unknown C global variable");
2652 return NULL;
2653 }
2654
2655 static int
2656 swig_varlink_setattr(swig_varlinkobject *v, char *n, PyObject *p) {
2657 swig_globalvar *var = v->vars;
2658 while (var) {
2659 if (strcmp(var->name,n) == 0) {
2660 return (*var->set_attr)(p);
2661 }
2662 var = var->next;
2663 }
2664 PyErr_SetString(PyExc_NameError,"Unknown C global variable");
2665 return 1;
2666 }
2667
2668 static PyTypeObject varlinktype = {
2669 PyObject_HEAD_INIT(0)
2670 0, /* Number of items in variable part (ob_size) */
2671 (char *)"swigvarlink", /* Type name (tp_name) */
2672 sizeof(swig_varlinkobject), /* Basic size (tp_basicsize) */
2673 0, /* Itemsize (tp_itemsize) */
2674 0, /* Deallocator (tp_dealloc) */
2675 (printfunc) swig_varlink_print, /* Print (tp_print) */
2676 (getattrfunc) swig_varlink_getattr, /* get attr (tp_getattr) */
2677 (setattrfunc) swig_varlink_setattr, /* Set attr (tp_setattr) */
2678 0, /* tp_compare */
2679 (reprfunc) swig_varlink_repr, /* tp_repr */
2680 0, /* tp_as_number */
2681 0, /* tp_as_sequence */
2682 0, /* tp_as_mapping */
2683 0, /* tp_hash */
2684 0, /* tp_call */
2685 0, /* tp_str */
2686 0, /* tp_getattro */
2687 0, /* tp_setattro */
2688 0, /* tp_as_buffer */
2689 0, /* tp_flags */
2690 0, /* tp_doc */
2691 #if PY_VERSION_HEX >= 0x02000000
2692 0, /* tp_traverse */
2693 0, /* tp_clear */
2694 #endif
2695 #if PY_VERSION_HEX >= 0x02010000
2696 0, /* tp_richcompare */
2697 0, /* tp_weaklistoffset */
2698 #endif
2699 #if PY_VERSION_HEX >= 0x02020000
2700 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* tp_iter -> tp_weaklist */
2701 #endif
2702 #if PY_VERSION_HEX >= 0x02030000
2703 0, /* tp_del */
2704 #endif
2705 #ifdef COUNT_ALLOCS
2706 0,0,0,0 /* tp_alloc -> tp_next */
2707 #endif
2708 };
2709
2710 /* Create a variable linking object for use later */
2711 static PyObject *
2712 SWIG_Python_newvarlink(void) {
2713 swig_varlinkobject *result = 0;
2714 result = PyMem_NEW(swig_varlinkobject,1);
2715 varlinktype.ob_type = &PyType_Type; /* Patch varlinktype into a PyType */
2716 result->ob_type = &varlinktype;
2717 result->vars = 0;
2718 result->ob_refcnt = 0;
2719 Py_XINCREF((PyObject *) result);
2720 return ((PyObject*) result);
2721 }
2722
2723 static void
2724 SWIG_Python_addvarlink(PyObject *p, char *name, PyObject *(*get_attr)(void), int (*set_attr)(PyObject *p)) {
2725 swig_varlinkobject *v;
2726 swig_globalvar *gv;
2727 v= (swig_varlinkobject *) p;
2728 gv = (swig_globalvar *) malloc(sizeof(swig_globalvar));
2729 gv->name = (char *) malloc(strlen(name)+1);
2730 strcpy(gv->name,name);
2731 gv->get_attr = get_attr;
2732 gv->set_attr = set_attr;
2733 gv->next = v->vars;
2734 v->vars = gv;
2735 }
2736
2737 /* -----------------------------------------------------------------------------
2738 * constants/methods manipulation
2739 * ----------------------------------------------------------------------------- */
2740
2741 /* Install Constants */
2742 static void
2743 SWIG_Python_InstallConstants(PyObject *d, swig_const_info constants[]) {
2744 PyObject *obj = 0;
2745 size_t i;
2746 for (i = 0; constants[i].type; i++) {
2747 switch(constants[i].type) {
2748 case SWIG_PY_INT:
2749 obj = PyInt_FromLong(constants[i].lvalue);
2750 break;
2751 case SWIG_PY_FLOAT:
2752 obj = PyFloat_FromDouble(constants[i].dvalue);
2753 break;
2754 case SWIG_PY_STRING:
2755 if (constants[i].pvalue) {
2756 obj = PyString_FromString((char *) constants[i].pvalue);
2757 } else {
2758 Py_INCREF(Py_None);
2759 obj = Py_None;
2760 }
2761 break;
2762 case SWIG_PY_POINTER:
2763 obj = SWIG_NewPointerObj(constants[i].pvalue, *(constants[i]).ptype,0);
2764 break;
2765 case SWIG_PY_BINARY:
2766 obj = SWIG_NewPackedObj(constants[i].pvalue, constants[i].lvalue, *(constants[i].ptype));
2767 break;
2768 default:
2769 obj = 0;
2770 break;
2771 }
2772 if (obj) {
2773 PyDict_SetItemString(d,constants[i].name,obj);
2774 Py_DECREF(obj);
2775 }
2776 }
2777 }
2778
2779 /* -----------------------------------------------------------------------------*/
2780 /* Fix SwigMethods to carry the callback ptrs when needed */
2781 /* -----------------------------------------------------------------------------*/
2782
2783 static void
2784 SWIG_Python_FixMethods(PyMethodDef *methods,
2785 swig_const_info *const_table,
2786 swig_type_info **types,
2787 swig_type_info **types_initial) {
2788 size_t i;
2789 for (i = 0; methods[i].ml_name; ++i) {
2790 char *c = methods[i].ml_doc;
2791 if (c && (c = strstr(c, "swig_ptr: "))) {
2792 int j;
2793 swig_const_info *ci = 0;
2794 char *name = c + 10;
2795 for (j = 0; const_table[j].type; j++) {
2796 if (strncmp(const_table[j].name, name,
2797 strlen(const_table[j].name)) == 0) {
2798 ci = &(const_table[j]);
2799 break;
2800 }
2801 }
2802 if (ci) {
2803 size_t shift = (ci->ptype) - types;
2804 swig_type_info *ty = types_initial[shift];
2805 size_t ldoc = (c - methods[i].ml_doc);
2806 size_t lptr = strlen(ty->name)+2*sizeof(void*)+2;
2807 char *ndoc = (char*)malloc(ldoc + lptr + 10);
2808 char *buff = ndoc;
2809 void *ptr = (ci->type == SWIG_PY_POINTER) ? ci->pvalue: (void *)(ci->lvalue);
2810 strncpy(buff, methods[i].ml_doc, ldoc);
2811 buff += ldoc;
2812 strncpy(buff, "swig_ptr: ", 10);
2813 buff += 10;
2814 SWIG_PackVoidPtr(buff, ptr, ty->name, lptr);
2815 methods[i].ml_doc = ndoc;
2816 }
2817 }
2818 }
2819 }
2820
2821 /* -----------------------------------------------------------------------------*
2822 * Initialize type list
2823 * -----------------------------------------------------------------------------*/
2824
2825 #if PY_MAJOR_VERSION < 2
2826 /* PyModule_AddObject function was introduced in Python 2.0. The following function
2827 is copied out of Python/modsupport.c in python version 2.3.4 */
2828 static int
2829 PyModule_AddObject(PyObject *m, char *name, PyObject *o)
2830 {
2831 PyObject *dict;
2832 if (!PyModule_Check(m)) {
2833 PyErr_SetString(PyExc_TypeError,
2834 "PyModule_AddObject() needs module as first arg");
2835 return -1;
2836 }
2837 if (!o) {
2838 PyErr_SetString(PyExc_TypeError,
2839 "PyModule_AddObject() needs non-NULL value");
2840 return -1;
2841 }
2842
2843 dict = PyModule_GetDict(m);
2844 if (dict == NULL) {
2845 /* Internal error -- modules must have a dict! */
2846 PyErr_Format(PyExc_SystemError, "module '%s' has no __dict__",
2847 PyModule_GetName(m));
2848 return -1;
2849 }
2850 if (PyDict_SetItemString(dict, name, o))
2851 return -1;
2852 Py_DECREF(o);
2853 return 0;
2854 }
2855 #endif
2856
2857 static swig_type_info **
2858 SWIG_Python_SetTypeListHandle(swig_type_info **type_list_handle) {
2859 static PyMethodDef swig_empty_runtime_method_table[] = {
2860 {
2861 NULL, NULL, 0, NULL
2862 }
2863 };/* Sentinel */
2864
2865 PyObject *module = Py_InitModule((char*)"swig_runtime_data" SWIG_RUNTIME_VERSION,
2866 swig_empty_runtime_method_table);
2867 PyObject *pointer = PyCObject_FromVoidPtr((void *) type_list_handle, NULL);
2868 if (pointer && module) {
2869 PyModule_AddObject(module, (char*)"type_pointer" SWIG_TYPE_TABLE_NAME, pointer);
2870 }
2871 return type_list_handle;
2872 }
2873
2874 static swig_type_info **
2875 SWIG_Python_LookupTypePointer(swig_type_info **type_list_handle) {
2876 swig_type_info **type_pointer;
2877
2878 /* first check if module already created */
2879 type_pointer = SWIG_Python_GetTypeListHandle();
2880 if (type_pointer) {
2881 return type_pointer;
2882 } else {
2883 /* create a new module and variable */
2884 return SWIG_Python_SetTypeListHandle(type_list_handle);
2885 }
2886 }
2887
2888 #ifdef __cplusplus
2889 }
2890 #endif
2891
2892 /* -----------------------------------------------------------------------------*
2893 * Partial Init method
2894 * -----------------------------------------------------------------------------*/
2895
2896 #ifdef SWIG_LINK_RUNTIME
2897 #ifdef __cplusplus
2898 extern "C"
2899 #endif
2900 SWIGEXPORT(void *) SWIG_ReturnGlobalTypeList(void *);
2901 #endif
2902
2903 #ifdef __cplusplus
2904 extern "C"
2905 #endif
2906 SWIGEXPORT(void) SWIG_init(void) {
2907 static PyObject *SWIG_globals = 0;
2908 static int typeinit = 0;
2909 PyObject *m, *d;
2910 int i;
2911 if (!SWIG_globals) SWIG_globals = SWIG_newvarlink();
2912
2913 /* Fix SwigMethods to carry the callback ptrs when needed */
2914 SWIG_Python_FixMethods(SwigMethods, swig_const_table, swig_types, swig_types_initial);
2915
2916 m = Py_InitModule((char *) SWIG_name, SwigMethods);
2917 d = PyModule_GetDict(m);
2918
2919 if (!typeinit) {
2920 #ifdef SWIG_LINK_RUNTIME
2921 swig_type_list_handle = (swig_type_info **) SWIG_ReturnGlobalTypeList(swig_type_list_handle);
2922 #else
2923 # ifndef SWIG_STATIC_RUNTIME
2924 swig_type_list_handle = SWIG_Python_LookupTypePointer(swig_type_list_handle);
2925 # endif
2926 #endif
2927 for (i = 0; swig_types_initial[i]; i++) {
2928 swig_types[i] = SWIG_TypeRegister(swig_types_initial[i]);
2929 }
2930 typeinit = 1;
2931 }
2932 SWIG_InstallConstants(d,swig_const_table);
2933
2934 PyDict_SetItemString(d,(char*)"cvar", SWIG_globals);
2935 SWIG_addvarlink(SWIG_globals,(char*)"GLCanvasNameStr",_wrap_GLCanvasNameStr_get, _wrap_GLCanvasNameStr_set);
2936 {
2937 PyDict_SetItemString(d,"WX_GL_RGBA", SWIG_From_int((int)(WX_GL_RGBA)));
2938 }
2939 {
2940 PyDict_SetItemString(d,"WX_GL_BUFFER_SIZE", SWIG_From_int((int)(WX_GL_BUFFER_SIZE)));
2941 }
2942 {
2943 PyDict_SetItemString(d,"WX_GL_LEVEL", SWIG_From_int((int)(WX_GL_LEVEL)));
2944 }
2945 {
2946 PyDict_SetItemString(d,"WX_GL_DOUBLEBUFFER", SWIG_From_int((int)(WX_GL_DOUBLEBUFFER)));
2947 }
2948 {
2949 PyDict_SetItemString(d,"WX_GL_STEREO", SWIG_From_int((int)(WX_GL_STEREO)));
2950 }
2951 {
2952 PyDict_SetItemString(d,"WX_GL_AUX_BUFFERS", SWIG_From_int((int)(WX_GL_AUX_BUFFERS)));
2953 }
2954 {
2955 PyDict_SetItemString(d,"WX_GL_MIN_RED", SWIG_From_int((int)(WX_GL_MIN_RED)));
2956 }
2957 {
2958 PyDict_SetItemString(d,"WX_GL_MIN_GREEN", SWIG_From_int((int)(WX_GL_MIN_GREEN)));
2959 }
2960 {
2961 PyDict_SetItemString(d,"WX_GL_MIN_BLUE", SWIG_From_int((int)(WX_GL_MIN_BLUE)));
2962 }
2963 {
2964 PyDict_SetItemString(d,"WX_GL_MIN_ALPHA", SWIG_From_int((int)(WX_GL_MIN_ALPHA)));
2965 }
2966 {
2967 PyDict_SetItemString(d,"WX_GL_DEPTH_SIZE", SWIG_From_int((int)(WX_GL_DEPTH_SIZE)));
2968 }
2969 {
2970 PyDict_SetItemString(d,"WX_GL_STENCIL_SIZE", SWIG_From_int((int)(WX_GL_STENCIL_SIZE)));
2971 }
2972 {
2973 PyDict_SetItemString(d,"WX_GL_MIN_ACCUM_RED", SWIG_From_int((int)(WX_GL_MIN_ACCUM_RED)));
2974 }
2975 {
2976 PyDict_SetItemString(d,"WX_GL_MIN_ACCUM_GREEN", SWIG_From_int((int)(WX_GL_MIN_ACCUM_GREEN)));
2977 }
2978 {
2979 PyDict_SetItemString(d,"WX_GL_MIN_ACCUM_BLUE", SWIG_From_int((int)(WX_GL_MIN_ACCUM_BLUE)));
2980 }
2981 {
2982 PyDict_SetItemString(d,"WX_GL_MIN_ACCUM_ALPHA", SWIG_From_int((int)(WX_GL_MIN_ACCUM_ALPHA)));
2983 }
2984
2985
2986
2987 }
2988