]> git.saurik.com Git - wxWidgets.git/blob - wxPython/contrib/glcanvas/mac/glcanvas_wrap.cpp
Doc fix
[wxWidgets.git] / wxPython / contrib / glcanvas / mac / 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 static wxGLContext *new_wxGLContext(bool isRGB,wxGLCanvas *win,wxPalette const &palette=wxNullPalette,wxGLContext const *other=NULL){
1496 AGLPixelFormat fmt; // TODO: How should this be initialized?
1497 return new wxGLContext(fmt, win, palette, other);
1498 }
1499
1500 /*@/opt/swig/share/swig/1.3.24/python/pymacros.swg,66,SWIG_define@*/
1501 #define SWIG_From_int PyInt_FromLong
1502 /*@@*/
1503
1504
1505 SWIGINTERNSHORT int
1506 SWIG_As_int(PyObject* obj)
1507 {
1508 int v;
1509 if (!SWIG_AsVal_int(obj, &v)) {
1510 /*
1511 this is needed to make valgrind/purify happier.
1512 */
1513 memset((void*)&v, 0, sizeof(int));
1514 }
1515 return v;
1516 }
1517
1518
1519 SWIGINTERNSHORT long
1520 SWIG_As_long(PyObject* obj)
1521 {
1522 long v;
1523 if (!SWIG_AsVal_long(obj, &v)) {
1524 /*
1525 this is needed to make valgrind/purify happier.
1526 */
1527 memset((void*)&v, 0, sizeof(long));
1528 }
1529 return v;
1530 }
1531
1532
1533 SWIGINTERNSHORT int
1534 SWIG_Check_int(PyObject* obj)
1535 {
1536 return SWIG_AsVal_int(obj, (int*)0);
1537 }
1538
1539
1540 SWIGINTERNSHORT int
1541 SWIG_Check_long(PyObject* obj)
1542 {
1543 return SWIG_AsVal_long(obj, (long*)0);
1544 }
1545
1546 #ifdef __cplusplus
1547 extern "C" {
1548 #endif
1549 static int _wrap_GLCanvasNameStr_set(PyObject *) {
1550 PyErr_SetString(PyExc_TypeError,"Variable GLCanvasNameStr is read-only.");
1551 return 1;
1552 }
1553
1554
1555 static PyObject *_wrap_GLCanvasNameStr_get(void) {
1556 PyObject *pyobj;
1557
1558 {
1559 #if wxUSE_UNICODE
1560 pyobj = PyUnicode_FromWideChar((&wxPyGLCanvasNameStr)->c_str(), (&wxPyGLCanvasNameStr)->Len());
1561 #else
1562 pyobj = PyString_FromStringAndSize((&wxPyGLCanvasNameStr)->c_str(), (&wxPyGLCanvasNameStr)->Len());
1563 #endif
1564 }
1565 return pyobj;
1566 }
1567
1568
1569 static PyObject *_wrap_new_GLContext(PyObject *, PyObject *args, PyObject *kwargs) {
1570 PyObject *resultobj;
1571 bool arg1 ;
1572 wxGLCanvas *arg2 = (wxGLCanvas *) 0 ;
1573 wxPalette const &arg3_defvalue = wxNullPalette ;
1574 wxPalette *arg3 = (wxPalette *) &arg3_defvalue ;
1575 wxGLContext *arg4 = (wxGLContext *) NULL ;
1576 wxGLContext *result;
1577 PyObject * obj0 = 0 ;
1578 PyObject * obj1 = 0 ;
1579 PyObject * obj2 = 0 ;
1580 PyObject * obj3 = 0 ;
1581 char *kwnames[] = {
1582 (char *) "isRGB",(char *) "win",(char *) "palette",(char *) "other", NULL
1583 };
1584
1585 if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|OO:new_GLContext",kwnames,&obj0,&obj1,&obj2,&obj3)) goto fail;
1586 {
1587 arg1 = (bool)(SWIG_As_bool(obj0));
1588 if (SWIG_arg_fail(1)) SWIG_fail;
1589 }
1590 SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_wxGLCanvas, SWIG_POINTER_EXCEPTION | 0);
1591 if (SWIG_arg_fail(2)) SWIG_fail;
1592 if (obj2) {
1593 {
1594 SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_wxPalette, SWIG_POINTER_EXCEPTION | 0);
1595 if (SWIG_arg_fail(3)) SWIG_fail;
1596 if (arg3 == NULL) {
1597 SWIG_null_ref("wxPalette");
1598 }
1599 if (SWIG_arg_fail(3)) SWIG_fail;
1600 }
1601 }
1602 if (obj3) {
1603 SWIG_Python_ConvertPtr(obj3, (void **)&arg4, SWIGTYPE_p_wxGLContext, SWIG_POINTER_EXCEPTION | 0);
1604 if (SWIG_arg_fail(4)) SWIG_fail;
1605 }
1606 {
1607 if (!wxPyCheckForApp()) SWIG_fail;
1608 PyThreadState* __tstate = wxPyBeginAllowThreads();
1609 result = (wxGLContext *)new_wxGLContext(arg1,arg2,(wxPalette const &)*arg3,(wxGLContext const *)arg4);
1610
1611 wxPyEndAllowThreads(__tstate);
1612 if (PyErr_Occurred()) SWIG_fail;
1613 }
1614 resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_wxGLContext, 1);
1615 return resultobj;
1616 fail:
1617 return NULL;
1618 }
1619
1620
1621 static PyObject *_wrap_delete_GLContext(PyObject *, PyObject *args, PyObject *kwargs) {
1622 PyObject *resultobj;
1623 wxGLContext *arg1 = (wxGLContext *) 0 ;
1624 PyObject * obj0 = 0 ;
1625 char *kwnames[] = {
1626 (char *) "self", NULL
1627 };
1628
1629 if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:delete_GLContext",kwnames,&obj0)) goto fail;
1630 SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxGLContext, SWIG_POINTER_EXCEPTION | 0);
1631 if (SWIG_arg_fail(1)) SWIG_fail;
1632 {
1633 PyThreadState* __tstate = wxPyBeginAllowThreads();
1634 delete arg1;
1635
1636 wxPyEndAllowThreads(__tstate);
1637 if (PyErr_Occurred()) SWIG_fail;
1638 }
1639 Py_INCREF(Py_None); resultobj = Py_None;
1640 return resultobj;
1641 fail:
1642 return NULL;
1643 }
1644
1645
1646 static PyObject *_wrap_GLContext_SetCurrent(PyObject *, PyObject *args, PyObject *kwargs) {
1647 PyObject *resultobj;
1648 wxGLContext *arg1 = (wxGLContext *) 0 ;
1649 PyObject * obj0 = 0 ;
1650 char *kwnames[] = {
1651 (char *) "self", NULL
1652 };
1653
1654 if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:GLContext_SetCurrent",kwnames,&obj0)) goto fail;
1655 SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxGLContext, SWIG_POINTER_EXCEPTION | 0);
1656 if (SWIG_arg_fail(1)) SWIG_fail;
1657 {
1658 PyThreadState* __tstate = wxPyBeginAllowThreads();
1659 (arg1)->SetCurrent();
1660
1661 wxPyEndAllowThreads(__tstate);
1662 if (PyErr_Occurred()) SWIG_fail;
1663 }
1664 Py_INCREF(Py_None); resultobj = Py_None;
1665 return resultobj;
1666 fail:
1667 return NULL;
1668 }
1669
1670
1671 static PyObject *_wrap_GLContext_SetColour(PyObject *, PyObject *args, PyObject *kwargs) {
1672 PyObject *resultobj;
1673 wxGLContext *arg1 = (wxGLContext *) 0 ;
1674 wxString *arg2 = 0 ;
1675 bool temp2 = false ;
1676 PyObject * obj0 = 0 ;
1677 PyObject * obj1 = 0 ;
1678 char *kwnames[] = {
1679 (char *) "self",(char *) "colour", NULL
1680 };
1681
1682 if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:GLContext_SetColour",kwnames,&obj0,&obj1)) goto fail;
1683 SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxGLContext, SWIG_POINTER_EXCEPTION | 0);
1684 if (SWIG_arg_fail(1)) SWIG_fail;
1685 {
1686 arg2 = wxString_in_helper(obj1);
1687 if (arg2 == NULL) SWIG_fail;
1688 temp2 = true;
1689 }
1690 {
1691 PyThreadState* __tstate = wxPyBeginAllowThreads();
1692 (arg1)->SetColour((wxString const &)*arg2);
1693
1694 wxPyEndAllowThreads(__tstate);
1695 if (PyErr_Occurred()) SWIG_fail;
1696 }
1697 Py_INCREF(Py_None); resultobj = Py_None;
1698 {
1699 if (temp2)
1700 delete arg2;
1701 }
1702 return resultobj;
1703 fail:
1704 {
1705 if (temp2)
1706 delete arg2;
1707 }
1708 return NULL;
1709 }
1710
1711
1712 static PyObject *_wrap_GLContext_SwapBuffers(PyObject *, PyObject *args, PyObject *kwargs) {
1713 PyObject *resultobj;
1714 wxGLContext *arg1 = (wxGLContext *) 0 ;
1715 PyObject * obj0 = 0 ;
1716 char *kwnames[] = {
1717 (char *) "self", NULL
1718 };
1719
1720 if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:GLContext_SwapBuffers",kwnames,&obj0)) goto fail;
1721 SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxGLContext, SWIG_POINTER_EXCEPTION | 0);
1722 if (SWIG_arg_fail(1)) SWIG_fail;
1723 {
1724 PyThreadState* __tstate = wxPyBeginAllowThreads();
1725 (arg1)->SwapBuffers();
1726
1727 wxPyEndAllowThreads(__tstate);
1728 if (PyErr_Occurred()) SWIG_fail;
1729 }
1730 Py_INCREF(Py_None); resultobj = Py_None;
1731 return resultobj;
1732 fail:
1733 return NULL;
1734 }
1735
1736
1737 static PyObject *_wrap_GLContext_GetWindow(PyObject *, PyObject *args, PyObject *kwargs) {
1738 PyObject *resultobj;
1739 wxGLContext *arg1 = (wxGLContext *) 0 ;
1740 wxWindow *result;
1741 PyObject * obj0 = 0 ;
1742 char *kwnames[] = {
1743 (char *) "self", NULL
1744 };
1745
1746 if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:GLContext_GetWindow",kwnames,&obj0)) goto fail;
1747 SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxGLContext, SWIG_POINTER_EXCEPTION | 0);
1748 if (SWIG_arg_fail(1)) SWIG_fail;
1749 {
1750 PyThreadState* __tstate = wxPyBeginAllowThreads();
1751 result = (wxWindow *)(arg1)->GetWindow();
1752
1753 wxPyEndAllowThreads(__tstate);
1754 if (PyErr_Occurred()) SWIG_fail;
1755 }
1756 {
1757 resultobj = wxPyMake_wxObject(result, 0);
1758 }
1759 return resultobj;
1760 fail:
1761 return NULL;
1762 }
1763
1764
1765 static PyObject * GLContext_swigregister(PyObject *, PyObject *args) {
1766 PyObject *obj;
1767 if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
1768 SWIG_TypeClientData(SWIGTYPE_p_wxGLContext, obj);
1769 Py_INCREF(obj);
1770 return Py_BuildValue((char *)"");
1771 }
1772 static PyObject *_wrap_new_GLCanvas(PyObject *, PyObject *args, PyObject *kwargs) {
1773 PyObject *resultobj;
1774 wxWindow *arg1 = (wxWindow *) 0 ;
1775 int arg2 = (int) -1 ;
1776 wxPoint const &arg3_defvalue = wxDefaultPosition ;
1777 wxPoint *arg3 = (wxPoint *) &arg3_defvalue ;
1778 wxSize const &arg4_defvalue = wxDefaultSize ;
1779 wxSize *arg4 = (wxSize *) &arg4_defvalue ;
1780 long arg5 = (long) 0 ;
1781 wxString const &arg6_defvalue = wxPyGLCanvasNameStr ;
1782 wxString *arg6 = (wxString *) &arg6_defvalue ;
1783 int *arg7 = (int *) NULL ;
1784 wxPalette const &arg8_defvalue = wxNullPalette ;
1785 wxPalette *arg8 = (wxPalette *) &arg8_defvalue ;
1786 wxGLCanvas *result;
1787 wxPoint temp3 ;
1788 wxSize temp4 ;
1789 bool temp6 = false ;
1790 int *temp7 ;
1791 PyObject * obj0 = 0 ;
1792 PyObject * obj1 = 0 ;
1793 PyObject * obj2 = 0 ;
1794 PyObject * obj3 = 0 ;
1795 PyObject * obj4 = 0 ;
1796 PyObject * obj5 = 0 ;
1797 PyObject * obj6 = 0 ;
1798 PyObject * obj7 = 0 ;
1799 char *kwnames[] = {
1800 (char *) "parent",(char *) "id",(char *) "pos",(char *) "size",(char *) "style",(char *) "name",(char *) "attribList",(char *) "palette", NULL
1801 };
1802
1803 if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|OOOOOOO:new_GLCanvas",kwnames,&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7)) goto fail;
1804 SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxWindow, SWIG_POINTER_EXCEPTION | 0);
1805 if (SWIG_arg_fail(1)) SWIG_fail;
1806 if (obj1) {
1807 {
1808 arg2 = (int)(SWIG_As_int(obj1));
1809 if (SWIG_arg_fail(2)) SWIG_fail;
1810 }
1811 }
1812 if (obj2) {
1813 {
1814 arg3 = &temp3;
1815 if ( ! wxPoint_helper(obj2, &arg3)) SWIG_fail;
1816 }
1817 }
1818 if (obj3) {
1819 {
1820 arg4 = &temp4;
1821 if ( ! wxSize_helper(obj3, &arg4)) SWIG_fail;
1822 }
1823 }
1824 if (obj4) {
1825 {
1826 arg5 = (long)(SWIG_As_long(obj4));
1827 if (SWIG_arg_fail(5)) SWIG_fail;
1828 }
1829 }
1830 if (obj5) {
1831 {
1832 arg6 = wxString_in_helper(obj5);
1833 if (arg6 == NULL) SWIG_fail;
1834 temp6 = true;
1835 }
1836 }
1837 if (obj6) {
1838 {
1839 int i;
1840 if (PySequence_Check(obj6)) {
1841 int size = PyObject_Length(obj6);
1842 temp7 = new int[size+1]; // (int*)malloc((size + 1) * sizeof(int));
1843 for (i = 0; i < size; i++) {
1844 temp7[i] = PyInt_AsLong(PySequence_GetItem(obj6, i));
1845 }
1846 temp7[size] = 0;
1847 arg7 = temp7;
1848 }
1849 }
1850 }
1851 if (obj7) {
1852 {
1853 SWIG_Python_ConvertPtr(obj7, (void **)&arg8, SWIGTYPE_p_wxPalette, SWIG_POINTER_EXCEPTION | 0);
1854 if (SWIG_arg_fail(8)) SWIG_fail;
1855 if (arg8 == NULL) {
1856 SWIG_null_ref("wxPalette");
1857 }
1858 if (SWIG_arg_fail(8)) SWIG_fail;
1859 }
1860 }
1861 {
1862 if (!wxPyCheckForApp()) SWIG_fail;
1863 PyThreadState* __tstate = wxPyBeginAllowThreads();
1864 result = (wxGLCanvas *)new wxGLCanvas(arg1,arg2,(wxPoint const &)*arg3,(wxSize const &)*arg4,arg5,(wxString const &)*arg6,arg7,(wxPalette const &)*arg8);
1865
1866 wxPyEndAllowThreads(__tstate);
1867 if (PyErr_Occurred()) SWIG_fail;
1868 }
1869 resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_wxGLCanvas, 1);
1870 {
1871 if (temp6)
1872 delete arg6;
1873 }
1874 {
1875 delete [] arg7;
1876 }
1877 return resultobj;
1878 fail:
1879 {
1880 if (temp6)
1881 delete arg6;
1882 }
1883 {
1884 delete [] arg7;
1885 }
1886 return NULL;
1887 }
1888
1889
1890 static PyObject *_wrap_new_GLCanvasWithContext(PyObject *, PyObject *args, PyObject *kwargs) {
1891 PyObject *resultobj;
1892 wxWindow *arg1 = (wxWindow *) 0 ;
1893 wxGLContext *arg2 = (wxGLContext *) NULL ;
1894 int arg3 = (int) -1 ;
1895 wxPoint const &arg4_defvalue = wxDefaultPosition ;
1896 wxPoint *arg4 = (wxPoint *) &arg4_defvalue ;
1897 wxSize const &arg5_defvalue = wxDefaultSize ;
1898 wxSize *arg5 = (wxSize *) &arg5_defvalue ;
1899 long arg6 = (long) 0 ;
1900 wxString const &arg7_defvalue = wxPyGLCanvasNameStr ;
1901 wxString *arg7 = (wxString *) &arg7_defvalue ;
1902 int *arg8 = (int *) NULL ;
1903 wxPalette const &arg9_defvalue = wxNullPalette ;
1904 wxPalette *arg9 = (wxPalette *) &arg9_defvalue ;
1905 wxGLCanvas *result;
1906 wxPoint temp4 ;
1907 wxSize temp5 ;
1908 bool temp7 = false ;
1909 int *temp8 ;
1910 PyObject * obj0 = 0 ;
1911 PyObject * obj1 = 0 ;
1912 PyObject * obj2 = 0 ;
1913 PyObject * obj3 = 0 ;
1914 PyObject * obj4 = 0 ;
1915 PyObject * obj5 = 0 ;
1916 PyObject * obj6 = 0 ;
1917 PyObject * obj7 = 0 ;
1918 PyObject * obj8 = 0 ;
1919 char *kwnames[] = {
1920 (char *) "parent",(char *) "shared",(char *) "id",(char *) "pos",(char *) "size",(char *) "style",(char *) "name",(char *) "attribList",(char *) "palette", NULL
1921 };
1922
1923 if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|OOOOOOOO:new_GLCanvasWithContext",kwnames,&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8)) goto fail;
1924 SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxWindow, SWIG_POINTER_EXCEPTION | 0);
1925 if (SWIG_arg_fail(1)) SWIG_fail;
1926 if (obj1) {
1927 SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_wxGLContext, SWIG_POINTER_EXCEPTION | 0);
1928 if (SWIG_arg_fail(2)) SWIG_fail;
1929 }
1930 if (obj2) {
1931 {
1932 arg3 = (int)(SWIG_As_int(obj2));
1933 if (SWIG_arg_fail(3)) SWIG_fail;
1934 }
1935 }
1936 if (obj3) {
1937 {
1938 arg4 = &temp4;
1939 if ( ! wxPoint_helper(obj3, &arg4)) SWIG_fail;
1940 }
1941 }
1942 if (obj4) {
1943 {
1944 arg5 = &temp5;
1945 if ( ! wxSize_helper(obj4, &arg5)) SWIG_fail;
1946 }
1947 }
1948 if (obj5) {
1949 {
1950 arg6 = (long)(SWIG_As_long(obj5));
1951 if (SWIG_arg_fail(6)) SWIG_fail;
1952 }
1953 }
1954 if (obj6) {
1955 {
1956 arg7 = wxString_in_helper(obj6);
1957 if (arg7 == NULL) SWIG_fail;
1958 temp7 = true;
1959 }
1960 }
1961 if (obj7) {
1962 {
1963 int i;
1964 if (PySequence_Check(obj7)) {
1965 int size = PyObject_Length(obj7);
1966 temp8 = new int[size+1]; // (int*)malloc((size + 1) * sizeof(int));
1967 for (i = 0; i < size; i++) {
1968 temp8[i] = PyInt_AsLong(PySequence_GetItem(obj7, i));
1969 }
1970 temp8[size] = 0;
1971 arg8 = temp8;
1972 }
1973 }
1974 }
1975 if (obj8) {
1976 {
1977 SWIG_Python_ConvertPtr(obj8, (void **)&arg9, SWIGTYPE_p_wxPalette, SWIG_POINTER_EXCEPTION | 0);
1978 if (SWIG_arg_fail(9)) SWIG_fail;
1979 if (arg9 == NULL) {
1980 SWIG_null_ref("wxPalette");
1981 }
1982 if (SWIG_arg_fail(9)) SWIG_fail;
1983 }
1984 }
1985 {
1986 if (!wxPyCheckForApp()) SWIG_fail;
1987 PyThreadState* __tstate = wxPyBeginAllowThreads();
1988 result = (wxGLCanvas *)new wxGLCanvas(arg1,(wxGLContext const *)arg2,arg3,(wxPoint const &)*arg4,(wxSize const &)*arg5,arg6,(wxString const &)*arg7,arg8,(wxPalette const &)*arg9);
1989
1990 wxPyEndAllowThreads(__tstate);
1991 if (PyErr_Occurred()) SWIG_fail;
1992 }
1993 resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_wxGLCanvas, 1);
1994 {
1995 if (temp7)
1996 delete arg7;
1997 }
1998 {
1999 delete [] arg8;
2000 }
2001 return resultobj;
2002 fail:
2003 {
2004 if (temp7)
2005 delete arg7;
2006 }
2007 {
2008 delete [] arg8;
2009 }
2010 return NULL;
2011 }
2012
2013
2014 static PyObject *_wrap_GLCanvas_SetCurrent(PyObject *, PyObject *args, PyObject *kwargs) {
2015 PyObject *resultobj;
2016 wxGLCanvas *arg1 = (wxGLCanvas *) 0 ;
2017 PyObject * obj0 = 0 ;
2018 char *kwnames[] = {
2019 (char *) "self", NULL
2020 };
2021
2022 if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:GLCanvas_SetCurrent",kwnames,&obj0)) goto fail;
2023 SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxGLCanvas, SWIG_POINTER_EXCEPTION | 0);
2024 if (SWIG_arg_fail(1)) SWIG_fail;
2025 {
2026 PyThreadState* __tstate = wxPyBeginAllowThreads();
2027 (arg1)->SetCurrent();
2028
2029 wxPyEndAllowThreads(__tstate);
2030 if (PyErr_Occurred()) SWIG_fail;
2031 }
2032 Py_INCREF(Py_None); resultobj = Py_None;
2033 return resultobj;
2034 fail:
2035 return NULL;
2036 }
2037
2038
2039 static PyObject *_wrap_GLCanvas_SetColour(PyObject *, PyObject *args, PyObject *kwargs) {
2040 PyObject *resultobj;
2041 wxGLCanvas *arg1 = (wxGLCanvas *) 0 ;
2042 wxString *arg2 = 0 ;
2043 bool temp2 = false ;
2044 PyObject * obj0 = 0 ;
2045 PyObject * obj1 = 0 ;
2046 char *kwnames[] = {
2047 (char *) "self",(char *) "colour", NULL
2048 };
2049
2050 if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:GLCanvas_SetColour",kwnames,&obj0,&obj1)) goto fail;
2051 SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxGLCanvas, SWIG_POINTER_EXCEPTION | 0);
2052 if (SWIG_arg_fail(1)) SWIG_fail;
2053 {
2054 arg2 = wxString_in_helper(obj1);
2055 if (arg2 == NULL) SWIG_fail;
2056 temp2 = true;
2057 }
2058 {
2059 PyThreadState* __tstate = wxPyBeginAllowThreads();
2060 (arg1)->SetColour((wxString const &)*arg2);
2061
2062 wxPyEndAllowThreads(__tstate);
2063 if (PyErr_Occurred()) SWIG_fail;
2064 }
2065 Py_INCREF(Py_None); resultobj = Py_None;
2066 {
2067 if (temp2)
2068 delete arg2;
2069 }
2070 return resultobj;
2071 fail:
2072 {
2073 if (temp2)
2074 delete arg2;
2075 }
2076 return NULL;
2077 }
2078
2079
2080 static PyObject *_wrap_GLCanvas_SwapBuffers(PyObject *, PyObject *args, PyObject *kwargs) {
2081 PyObject *resultobj;
2082 wxGLCanvas *arg1 = (wxGLCanvas *) 0 ;
2083 PyObject * obj0 = 0 ;
2084 char *kwnames[] = {
2085 (char *) "self", NULL
2086 };
2087
2088 if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:GLCanvas_SwapBuffers",kwnames,&obj0)) goto fail;
2089 SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxGLCanvas, SWIG_POINTER_EXCEPTION | 0);
2090 if (SWIG_arg_fail(1)) SWIG_fail;
2091 {
2092 PyThreadState* __tstate = wxPyBeginAllowThreads();
2093 (arg1)->SwapBuffers();
2094
2095 wxPyEndAllowThreads(__tstate);
2096 if (PyErr_Occurred()) SWIG_fail;
2097 }
2098 Py_INCREF(Py_None); resultobj = Py_None;
2099 return resultobj;
2100 fail:
2101 return NULL;
2102 }
2103
2104
2105 static PyObject *_wrap_GLCanvas_GetContext(PyObject *, PyObject *args, PyObject *kwargs) {
2106 PyObject *resultobj;
2107 wxGLCanvas *arg1 = (wxGLCanvas *) 0 ;
2108 wxGLContext *result;
2109 PyObject * obj0 = 0 ;
2110 char *kwnames[] = {
2111 (char *) "self", NULL
2112 };
2113
2114 if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:GLCanvas_GetContext",kwnames,&obj0)) goto fail;
2115 SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxGLCanvas, SWIG_POINTER_EXCEPTION | 0);
2116 if (SWIG_arg_fail(1)) SWIG_fail;
2117 {
2118 PyThreadState* __tstate = wxPyBeginAllowThreads();
2119 result = (wxGLContext *)(arg1)->GetContext();
2120
2121 wxPyEndAllowThreads(__tstate);
2122 if (PyErr_Occurred()) SWIG_fail;
2123 }
2124 resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_wxGLContext, 0);
2125 return resultobj;
2126 fail:
2127 return NULL;
2128 }
2129
2130
2131 static PyObject * GLCanvas_swigregister(PyObject *, PyObject *args) {
2132 PyObject *obj;
2133 if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
2134 SWIG_TypeClientData(SWIGTYPE_p_wxGLCanvas, obj);
2135 Py_INCREF(obj);
2136 return Py_BuildValue((char *)"");
2137 }
2138 static PyMethodDef SwigMethods[] = {
2139 { (char *)"new_GLContext", (PyCFunction) _wrap_new_GLContext, METH_VARARGS | METH_KEYWORDS, NULL},
2140 { (char *)"delete_GLContext", (PyCFunction) _wrap_delete_GLContext, METH_VARARGS | METH_KEYWORDS, NULL},
2141 { (char *)"GLContext_SetCurrent", (PyCFunction) _wrap_GLContext_SetCurrent, METH_VARARGS | METH_KEYWORDS, NULL},
2142 { (char *)"GLContext_SetColour", (PyCFunction) _wrap_GLContext_SetColour, METH_VARARGS | METH_KEYWORDS, NULL},
2143 { (char *)"GLContext_SwapBuffers", (PyCFunction) _wrap_GLContext_SwapBuffers, METH_VARARGS | METH_KEYWORDS, NULL},
2144 { (char *)"GLContext_GetWindow", (PyCFunction) _wrap_GLContext_GetWindow, METH_VARARGS | METH_KEYWORDS, NULL},
2145 { (char *)"GLContext_swigregister", GLContext_swigregister, METH_VARARGS, NULL},
2146 { (char *)"new_GLCanvas", (PyCFunction) _wrap_new_GLCanvas, METH_VARARGS | METH_KEYWORDS, NULL},
2147 { (char *)"new_GLCanvasWithContext", (PyCFunction) _wrap_new_GLCanvasWithContext, METH_VARARGS | METH_KEYWORDS, NULL},
2148 { (char *)"GLCanvas_SetCurrent", (PyCFunction) _wrap_GLCanvas_SetCurrent, METH_VARARGS | METH_KEYWORDS, NULL},
2149 { (char *)"GLCanvas_SetColour", (PyCFunction) _wrap_GLCanvas_SetColour, METH_VARARGS | METH_KEYWORDS, NULL},
2150 { (char *)"GLCanvas_SwapBuffers", (PyCFunction) _wrap_GLCanvas_SwapBuffers, METH_VARARGS | METH_KEYWORDS, NULL},
2151 { (char *)"GLCanvas_GetContext", (PyCFunction) _wrap_GLCanvas_GetContext, METH_VARARGS | METH_KEYWORDS, NULL},
2152 { (char *)"GLCanvas_swigregister", GLCanvas_swigregister, METH_VARARGS, NULL},
2153 { NULL, NULL, 0, NULL }
2154 };
2155
2156
2157 /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */
2158
2159 static void *_p_wxLayoutConstraintsTo_p_wxObject(void *x) {
2160 return (void *)((wxObject *) ((wxLayoutConstraints *) x));
2161 }
2162 static void *_p_wxGBSizerItemTo_p_wxObject(void *x) {
2163 return (void *)((wxObject *) (wxSizerItem *) ((wxGBSizerItem *) x));
2164 }
2165 static void *_p_wxSizerItemTo_p_wxObject(void *x) {
2166 return (void *)((wxObject *) ((wxSizerItem *) x));
2167 }
2168 static void *_p_wxScrollEventTo_p_wxObject(void *x) {
2169 return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxScrollEvent *) x));
2170 }
2171 static void *_p_wxIndividualLayoutConstraintTo_p_wxObject(void *x) {
2172 return (void *)((wxObject *) ((wxIndividualLayoutConstraint *) x));
2173 }
2174 static void *_p_wxStaticBoxSizerTo_p_wxObject(void *x) {
2175 return (void *)((wxObject *) (wxSizer *)(wxBoxSizer *) ((wxStaticBoxSizer *) x));
2176 }
2177 static void *_p_wxBoxSizerTo_p_wxObject(void *x) {
2178 return (void *)((wxObject *) (wxSizer *) ((wxBoxSizer *) x));
2179 }
2180 static void *_p_wxSizerTo_p_wxObject(void *x) {
2181 return (void *)((wxObject *) ((wxSizer *) x));
2182 }
2183 static void *_p_wxGridBagSizerTo_p_wxObject(void *x) {
2184 return (void *)((wxObject *) (wxSizer *)(wxGridSizer *)(wxFlexGridSizer *) ((wxGridBagSizer *) x));
2185 }
2186 static void *_p_wxUpdateUIEventTo_p_wxObject(void *x) {
2187 return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxUpdateUIEvent *) x));
2188 }
2189 static void *_p_wxEventTo_p_wxObject(void *x) {
2190 return (void *)((wxObject *) ((wxEvent *) x));
2191 }
2192 static void *_p_wxFlexGridSizerTo_p_wxObject(void *x) {
2193 return (void *)((wxObject *) (wxSizer *)(wxGridSizer *) ((wxFlexGridSizer *) x));
2194 }
2195 static void *_p_wxGridSizerTo_p_wxObject(void *x) {
2196 return (void *)((wxObject *) (wxSizer *) ((wxGridSizer *) x));
2197 }
2198 static void *_p_wxInitDialogEventTo_p_wxObject(void *x) {
2199 return (void *)((wxObject *) (wxEvent *) ((wxInitDialogEvent *) x));
2200 }
2201 static void *_p_wxPaintEventTo_p_wxObject(void *x) {
2202 return (void *)((wxObject *) (wxEvent *) ((wxPaintEvent *) x));
2203 }
2204 static void *_p_wxNcPaintEventTo_p_wxObject(void *x) {
2205 return (void *)((wxObject *) (wxEvent *) ((wxNcPaintEvent *) x));
2206 }
2207 static void *_p_wxPaletteChangedEventTo_p_wxObject(void *x) {
2208 return (void *)((wxObject *) (wxEvent *) ((wxPaletteChangedEvent *) x));
2209 }
2210 static void *_p_wxDisplayChangedEventTo_p_wxObject(void *x) {
2211 return (void *)((wxObject *) (wxEvent *) ((wxDisplayChangedEvent *) x));
2212 }
2213 static void *_p_wxMouseCaptureChangedEventTo_p_wxObject(void *x) {
2214 return (void *)((wxObject *) (wxEvent *) ((wxMouseCaptureChangedEvent *) x));
2215 }
2216 static void *_p_wxSysColourChangedEventTo_p_wxObject(void *x) {
2217 return (void *)((wxObject *) (wxEvent *) ((wxSysColourChangedEvent *) x));
2218 }
2219 static void *_p_wxControlTo_p_wxObject(void *x) {
2220 return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxControl *) x));
2221 }
2222 static void *_p_wxSetCursorEventTo_p_wxObject(void *x) {
2223 return (void *)((wxObject *) (wxEvent *) ((wxSetCursorEvent *) x));
2224 }
2225 static void *_p_wxFSFileTo_p_wxObject(void *x) {
2226 return (void *)((wxObject *) ((wxFSFile *) x));
2227 }
2228 static void *_p_wxPySizerTo_p_wxObject(void *x) {
2229 return (void *)((wxObject *) (wxSizer *) ((wxPySizer *) x));
2230 }
2231 static void *_p_wxPyEventTo_p_wxObject(void *x) {
2232 return (void *)((wxObject *) (wxEvent *) ((wxPyEvent *) x));
2233 }
2234 static void *_p_wxNotifyEventTo_p_wxObject(void *x) {
2235 return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxNotifyEvent *) x));
2236 }
2237 static void *_p_wxGLContextTo_p_wxObject(void *x) {
2238 return (void *)((wxObject *) ((wxGLContext *) x));
2239 }
2240 static void *_p_wxShowEventTo_p_wxObject(void *x) {
2241 return (void *)((wxObject *) (wxEvent *) ((wxShowEvent *) x));
2242 }
2243 static void *_p_wxMenuItemTo_p_wxObject(void *x) {
2244 return (void *)((wxObject *) ((wxMenuItem *) x));
2245 }
2246 static void *_p_wxDateEventTo_p_wxObject(void *x) {
2247 return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxDateEvent *) x));
2248 }
2249 static void *_p_wxIdleEventTo_p_wxObject(void *x) {
2250 return (void *)((wxObject *) (wxEvent *) ((wxIdleEvent *) x));
2251 }
2252 static void *_p_wxWindowCreateEventTo_p_wxObject(void *x) {
2253 return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxWindowCreateEvent *) x));
2254 }
2255 static void *_p_wxQueryNewPaletteEventTo_p_wxObject(void *x) {
2256 return (void *)((wxObject *) (wxEvent *) ((wxQueryNewPaletteEvent *) x));
2257 }
2258 static void *_p_wxMaximizeEventTo_p_wxObject(void *x) {
2259 return (void *)((wxObject *) (wxEvent *) ((wxMaximizeEvent *) x));
2260 }
2261 static void *_p_wxIconizeEventTo_p_wxObject(void *x) {
2262 return (void *)((wxObject *) (wxEvent *) ((wxIconizeEvent *) x));
2263 }
2264 static void *_p_wxSizeEventTo_p_wxObject(void *x) {
2265 return (void *)((wxObject *) (wxEvent *) ((wxSizeEvent *) x));
2266 }
2267 static void *_p_wxMoveEventTo_p_wxObject(void *x) {
2268 return (void *)((wxObject *) (wxEvent *) ((wxMoveEvent *) x));
2269 }
2270 static void *_p_wxActivateEventTo_p_wxObject(void *x) {
2271 return (void *)((wxObject *) (wxEvent *) ((wxActivateEvent *) x));
2272 }
2273 static void *_p_wxXPMHandlerTo_p_wxObject(void *x) {
2274 return (void *)((wxObject *) (wxImageHandler *) ((wxXPMHandler *) x));
2275 }
2276 static void *_p_wxPNMHandlerTo_p_wxObject(void *x) {
2277 return (void *)((wxObject *) (wxImageHandler *) ((wxPNMHandler *) x));
2278 }
2279 static void *_p_wxJPEGHandlerTo_p_wxObject(void *x) {
2280 return (void *)((wxObject *) (wxImageHandler *) ((wxJPEGHandler *) x));
2281 }
2282 static void *_p_wxPCXHandlerTo_p_wxObject(void *x) {
2283 return (void *)((wxObject *) (wxImageHandler *) ((wxPCXHandler *) x));
2284 }
2285 static void *_p_wxGIFHandlerTo_p_wxObject(void *x) {
2286 return (void *)((wxObject *) (wxImageHandler *) ((wxGIFHandler *) x));
2287 }
2288 static void *_p_wxPNGHandlerTo_p_wxObject(void *x) {
2289 return (void *)((wxObject *) (wxImageHandler *) ((wxPNGHandler *) x));
2290 }
2291 static void *_p_wxANIHandlerTo_p_wxObject(void *x) {
2292 return (void *)((wxObject *) (wxImageHandler *)(wxBMPHandler *)(wxICOHandler *)(wxCURHandler *) ((wxANIHandler *) x));
2293 }
2294 static void *_p_wxCURHandlerTo_p_wxObject(void *x) {
2295 return (void *)((wxObject *) (wxImageHandler *)(wxBMPHandler *)(wxICOHandler *) ((wxCURHandler *) x));
2296 }
2297 static void *_p_wxICOHandlerTo_p_wxObject(void *x) {
2298 return (void *)((wxObject *) (wxImageHandler *)(wxBMPHandler *) ((wxICOHandler *) x));
2299 }
2300 static void *_p_wxBMPHandlerTo_p_wxObject(void *x) {
2301 return (void *)((wxObject *) (wxImageHandler *) ((wxBMPHandler *) x));
2302 }
2303 static void *_p_wxImageHandlerTo_p_wxObject(void *x) {
2304 return (void *)((wxObject *) ((wxImageHandler *) x));
2305 }
2306 static void *_p_wxTIFFHandlerTo_p_wxObject(void *x) {
2307 return (void *)((wxObject *) (wxImageHandler *) ((wxTIFFHandler *) x));
2308 }
2309 static void *_p_wxEvtHandlerTo_p_wxObject(void *x) {
2310 return (void *)((wxObject *) ((wxEvtHandler *) x));
2311 }
2312 static void *_p_wxGLCanvasTo_p_wxObject(void *x) {
2313 return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxGLCanvas *) x));
2314 }
2315 static void *_p_wxStdDialogButtonSizerTo_p_wxObject(void *x) {
2316 return (void *)((wxObject *) (wxSizer *)(wxBoxSizer *) ((wxStdDialogButtonSizer *) x));
2317 }
2318 static void *_p_wxAcceleratorTableTo_p_wxObject(void *x) {
2319 return (void *)((wxObject *) ((wxAcceleratorTable *) x));
2320 }
2321 static void *_p_wxImageTo_p_wxObject(void *x) {
2322 return (void *)((wxObject *) ((wxImage *) x));
2323 }
2324 static void *_p_wxScrollWinEventTo_p_wxObject(void *x) {
2325 return (void *)((wxObject *) (wxEvent *) ((wxScrollWinEvent *) x));
2326 }
2327 static void *_p_wxWindowDestroyEventTo_p_wxObject(void *x) {
2328 return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxWindowDestroyEvent *) x));
2329 }
2330 static void *_p_wxNavigationKeyEventTo_p_wxObject(void *x) {
2331 return (void *)((wxObject *) (wxEvent *) ((wxNavigationKeyEvent *) x));
2332 }
2333 static void *_p_wxKeyEventTo_p_wxObject(void *x) {
2334 return (void *)((wxObject *) (wxEvent *) ((wxKeyEvent *) x));
2335 }
2336 static void *_p_wxWindowTo_p_wxObject(void *x) {
2337 return (void *)((wxObject *) (wxEvtHandler *) ((wxWindow *) x));
2338 }
2339 static void *_p_wxMenuTo_p_wxObject(void *x) {
2340 return (void *)((wxObject *) (wxEvtHandler *) ((wxMenu *) x));
2341 }
2342 static void *_p_wxMenuBarTo_p_wxObject(void *x) {
2343 return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxMenuBar *) x));
2344 }
2345 static void *_p_wxFileSystemTo_p_wxObject(void *x) {
2346 return (void *)((wxObject *) ((wxFileSystem *) x));
2347 }
2348 static void *_p_wxContextMenuEventTo_p_wxObject(void *x) {
2349 return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxContextMenuEvent *) x));
2350 }
2351 static void *_p_wxMenuEventTo_p_wxObject(void *x) {
2352 return (void *)((wxObject *) (wxEvent *) ((wxMenuEvent *) x));
2353 }
2354 static void *_p_wxPyAppTo_p_wxObject(void *x) {
2355 return (void *)((wxObject *) (wxEvtHandler *) ((wxPyApp *) x));
2356 }
2357 static void *_p_wxCloseEventTo_p_wxObject(void *x) {
2358 return (void *)((wxObject *) (wxEvent *) ((wxCloseEvent *) x));
2359 }
2360 static void *_p_wxMouseEventTo_p_wxObject(void *x) {
2361 return (void *)((wxObject *) (wxEvent *) ((wxMouseEvent *) x));
2362 }
2363 static void *_p_wxEraseEventTo_p_wxObject(void *x) {
2364 return (void *)((wxObject *) (wxEvent *) ((wxEraseEvent *) x));
2365 }
2366 static void *_p_wxPyCommandEventTo_p_wxObject(void *x) {
2367 return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxPyCommandEvent *) x));
2368 }
2369 static void *_p_wxCommandEventTo_p_wxObject(void *x) {
2370 return (void *)((wxObject *) (wxEvent *) ((wxCommandEvent *) x));
2371 }
2372 static void *_p_wxDropFilesEventTo_p_wxObject(void *x) {
2373 return (void *)((wxObject *) (wxEvent *) ((wxDropFilesEvent *) x));
2374 }
2375 static void *_p_wxFocusEventTo_p_wxObject(void *x) {
2376 return (void *)((wxObject *) (wxEvent *) ((wxFocusEvent *) x));
2377 }
2378 static void *_p_wxChildFocusEventTo_p_wxObject(void *x) {
2379 return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxChildFocusEvent *) x));
2380 }
2381 static void *_p_wxControlWithItemsTo_p_wxObject(void *x) {
2382 return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxControlWithItems *) x));
2383 }
2384 static void *_p_wxPyValidatorTo_p_wxObject(void *x) {
2385 return (void *)((wxObject *) (wxEvtHandler *)(wxValidator *) ((wxPyValidator *) x));
2386 }
2387 static void *_p_wxValidatorTo_p_wxObject(void *x) {
2388 return (void *)((wxObject *) (wxEvtHandler *) ((wxValidator *) x));
2389 }
2390 static void *_p_wxControlTo_p_wxWindow(void *x) {
2391 return (void *)((wxWindow *) ((wxControl *) x));
2392 }
2393 static void *_p_wxControlWithItemsTo_p_wxWindow(void *x) {
2394 return (void *)((wxWindow *) (wxControl *) ((wxControlWithItems *) x));
2395 }
2396 static void *_p_wxMenuBarTo_p_wxWindow(void *x) {
2397 return (void *)((wxWindow *) ((wxMenuBar *) x));
2398 }
2399 static void *_p_wxGLCanvasTo_p_wxWindow(void *x) {
2400 return (void *)((wxWindow *) ((wxGLCanvas *) x));
2401 }
2402 static void *_p_wxControlTo_p_wxEvtHandler(void *x) {
2403 return (void *)((wxEvtHandler *) (wxWindow *) ((wxControl *) x));
2404 }
2405 static void *_p_wxWindowTo_p_wxEvtHandler(void *x) {
2406 return (void *)((wxEvtHandler *) ((wxWindow *) x));
2407 }
2408 static void *_p_wxControlWithItemsTo_p_wxEvtHandler(void *x) {
2409 return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxControlWithItems *) x));
2410 }
2411 static void *_p_wxPyAppTo_p_wxEvtHandler(void *x) {
2412 return (void *)((wxEvtHandler *) ((wxPyApp *) x));
2413 }
2414 static void *_p_wxValidatorTo_p_wxEvtHandler(void *x) {
2415 return (void *)((wxEvtHandler *) ((wxValidator *) x));
2416 }
2417 static void *_p_wxPyValidatorTo_p_wxEvtHandler(void *x) {
2418 return (void *)((wxEvtHandler *) (wxValidator *) ((wxPyValidator *) x));
2419 }
2420 static void *_p_wxMenuBarTo_p_wxEvtHandler(void *x) {
2421 return (void *)((wxEvtHandler *) (wxWindow *) ((wxMenuBar *) x));
2422 }
2423 static void *_p_wxGLCanvasTo_p_wxEvtHandler(void *x) {
2424 return (void *)((wxEvtHandler *) (wxWindow *) ((wxGLCanvas *) x));
2425 }
2426 static void *_p_wxMenuTo_p_wxEvtHandler(void *x) {
2427 return (void *)((wxEvtHandler *) ((wxMenu *) x));
2428 }
2429 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}};
2430 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_wxXPMHandler", _p_wxXPMHandlerTo_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_wxImageHandler", _p_wxImageHandlerTo_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_wxFocusEvent", _p_wxFocusEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxDropFilesEvent", _p_wxDropFilesEventTo_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}};
2431 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}};
2432 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}};
2433 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}};
2434 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}};
2435 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}};
2436 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}};
2437 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}};
2438 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}};
2439 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}};
2440 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}};
2441 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}};
2442 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}};
2443 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}};
2444 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}};
2445 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}};
2446
2447 static swig_type_info *swig_types_initial[] = {
2448 _swigt__p_wxGLCanvas,
2449 _swigt__p_wxObject,
2450 _swigt__p_unsigned_char,
2451 _swigt__p_wxGLContext,
2452 _swigt__p_wxWindow,
2453 _swigt__p_unsigned_long,
2454 _swigt__p_form_ops_t,
2455 _swigt__p_unsigned_int,
2456 _swigt__unsigned_int,
2457 _swigt__p_wxDuplexMode,
2458 _swigt__p_char,
2459 _swigt__p_wxEvtHandler,
2460 _swigt__p_wxPalette,
2461 _swigt__std__ptrdiff_t,
2462 _swigt__ptrdiff_t,
2463 _swigt__p_wxPaperSize,
2464 _swigt__p_int,
2465 0
2466 };
2467
2468
2469 /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (END) -------- */
2470
2471 static swig_const_info swig_const_table[] = {
2472 {0, 0, 0, 0.0, 0, 0}};
2473
2474 #ifdef __cplusplus
2475 }
2476 #endif
2477
2478
2479 #ifdef __cplusplus
2480 extern "C" {
2481 #endif
2482
2483 /* Python-specific SWIG API */
2484 #define SWIG_newvarlink() SWIG_Python_newvarlink()
2485 #define SWIG_addvarlink(p, name, get_attr, set_attr) SWIG_Python_addvarlink(p, name, get_attr, set_attr)
2486 #define SWIG_InstallConstants(d, constants) SWIG_Python_InstallConstants(d, constants)
2487
2488 /* -----------------------------------------------------------------------------
2489 * global variable support code.
2490 * ----------------------------------------------------------------------------- */
2491
2492 typedef struct swig_globalvar {
2493 char *name; /* Name of global variable */
2494 PyObject *(*get_attr)(); /* Return the current value */
2495 int (*set_attr)(PyObject *); /* Set the value */
2496 struct swig_globalvar *next;
2497 } swig_globalvar;
2498
2499 typedef struct swig_varlinkobject {
2500 PyObject_HEAD
2501 swig_globalvar *vars;
2502 } swig_varlinkobject;
2503
2504 static PyObject *
2505 swig_varlink_repr(swig_varlinkobject *v) {
2506 v = v;
2507 return PyString_FromString("<Swig global variables>");
2508 }
2509
2510 static int
2511 swig_varlink_print(swig_varlinkobject *v, FILE *fp, int flags) {
2512 swig_globalvar *var;
2513 flags = flags;
2514 fprintf(fp,"Swig global variables { ");
2515 for (var = v->vars; var; var=var->next) {
2516 fprintf(fp,"%s", var->name);
2517 if (var->next) fprintf(fp,", ");
2518 }
2519 fprintf(fp," }\n");
2520 return 0;
2521 }
2522
2523 static PyObject *
2524 swig_varlink_getattr(swig_varlinkobject *v, char *n) {
2525 swig_globalvar *var = v->vars;
2526 while (var) {
2527 if (strcmp(var->name,n) == 0) {
2528 return (*var->get_attr)();
2529 }
2530 var = var->next;
2531 }
2532 PyErr_SetString(PyExc_NameError,"Unknown C global variable");
2533 return NULL;
2534 }
2535
2536 static int
2537 swig_varlink_setattr(swig_varlinkobject *v, char *n, PyObject *p) {
2538 swig_globalvar *var = v->vars;
2539 while (var) {
2540 if (strcmp(var->name,n) == 0) {
2541 return (*var->set_attr)(p);
2542 }
2543 var = var->next;
2544 }
2545 PyErr_SetString(PyExc_NameError,"Unknown C global variable");
2546 return 1;
2547 }
2548
2549 static PyTypeObject varlinktype = {
2550 PyObject_HEAD_INIT(0)
2551 0, /* Number of items in variable part (ob_size) */
2552 (char *)"swigvarlink", /* Type name (tp_name) */
2553 sizeof(swig_varlinkobject), /* Basic size (tp_basicsize) */
2554 0, /* Itemsize (tp_itemsize) */
2555 0, /* Deallocator (tp_dealloc) */
2556 (printfunc) swig_varlink_print, /* Print (tp_print) */
2557 (getattrfunc) swig_varlink_getattr, /* get attr (tp_getattr) */
2558 (setattrfunc) swig_varlink_setattr, /* Set attr (tp_setattr) */
2559 0, /* tp_compare */
2560 (reprfunc) swig_varlink_repr, /* tp_repr */
2561 0, /* tp_as_number */
2562 0, /* tp_as_sequence */
2563 0, /* tp_as_mapping */
2564 0, /* tp_hash */
2565 0, /* tp_call */
2566 0, /* tp_str */
2567 0, /* tp_getattro */
2568 0, /* tp_setattro */
2569 0, /* tp_as_buffer */
2570 0, /* tp_flags */
2571 0, /* tp_doc */
2572 #if PY_VERSION_HEX >= 0x02000000
2573 0, /* tp_traverse */
2574 0, /* tp_clear */
2575 #endif
2576 #if PY_VERSION_HEX >= 0x02010000
2577 0, /* tp_richcompare */
2578 0, /* tp_weaklistoffset */
2579 #endif
2580 #if PY_VERSION_HEX >= 0x02020000
2581 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* tp_iter -> tp_weaklist */
2582 #endif
2583 #if PY_VERSION_HEX >= 0x02030000
2584 0, /* tp_del */
2585 #endif
2586 #ifdef COUNT_ALLOCS
2587 0,0,0,0 /* tp_alloc -> tp_next */
2588 #endif
2589 };
2590
2591 /* Create a variable linking object for use later */
2592 static PyObject *
2593 SWIG_Python_newvarlink(void) {
2594 swig_varlinkobject *result = 0;
2595 result = PyMem_NEW(swig_varlinkobject,1);
2596 varlinktype.ob_type = &PyType_Type; /* Patch varlinktype into a PyType */
2597 result->ob_type = &varlinktype;
2598 result->vars = 0;
2599 result->ob_refcnt = 0;
2600 Py_XINCREF((PyObject *) result);
2601 return ((PyObject*) result);
2602 }
2603
2604 static void
2605 SWIG_Python_addvarlink(PyObject *p, char *name, PyObject *(*get_attr)(void), int (*set_attr)(PyObject *p)) {
2606 swig_varlinkobject *v;
2607 swig_globalvar *gv;
2608 v= (swig_varlinkobject *) p;
2609 gv = (swig_globalvar *) malloc(sizeof(swig_globalvar));
2610 gv->name = (char *) malloc(strlen(name)+1);
2611 strcpy(gv->name,name);
2612 gv->get_attr = get_attr;
2613 gv->set_attr = set_attr;
2614 gv->next = v->vars;
2615 v->vars = gv;
2616 }
2617
2618 /* -----------------------------------------------------------------------------
2619 * constants/methods manipulation
2620 * ----------------------------------------------------------------------------- */
2621
2622 /* Install Constants */
2623 static void
2624 SWIG_Python_InstallConstants(PyObject *d, swig_const_info constants[]) {
2625 PyObject *obj = 0;
2626 size_t i;
2627 for (i = 0; constants[i].type; i++) {
2628 switch(constants[i].type) {
2629 case SWIG_PY_INT:
2630 obj = PyInt_FromLong(constants[i].lvalue);
2631 break;
2632 case SWIG_PY_FLOAT:
2633 obj = PyFloat_FromDouble(constants[i].dvalue);
2634 break;
2635 case SWIG_PY_STRING:
2636 if (constants[i].pvalue) {
2637 obj = PyString_FromString((char *) constants[i].pvalue);
2638 } else {
2639 Py_INCREF(Py_None);
2640 obj = Py_None;
2641 }
2642 break;
2643 case SWIG_PY_POINTER:
2644 obj = SWIG_NewPointerObj(constants[i].pvalue, *(constants[i]).ptype,0);
2645 break;
2646 case SWIG_PY_BINARY:
2647 obj = SWIG_NewPackedObj(constants[i].pvalue, constants[i].lvalue, *(constants[i].ptype));
2648 break;
2649 default:
2650 obj = 0;
2651 break;
2652 }
2653 if (obj) {
2654 PyDict_SetItemString(d,constants[i].name,obj);
2655 Py_DECREF(obj);
2656 }
2657 }
2658 }
2659
2660 /* -----------------------------------------------------------------------------*/
2661 /* Fix SwigMethods to carry the callback ptrs when needed */
2662 /* -----------------------------------------------------------------------------*/
2663
2664 static void
2665 SWIG_Python_FixMethods(PyMethodDef *methods,
2666 swig_const_info *const_table,
2667 swig_type_info **types,
2668 swig_type_info **types_initial) {
2669 size_t i;
2670 for (i = 0; methods[i].ml_name; ++i) {
2671 char *c = methods[i].ml_doc;
2672 if (c && (c = strstr(c, "swig_ptr: "))) {
2673 int j;
2674 swig_const_info *ci = 0;
2675 char *name = c + 10;
2676 for (j = 0; const_table[j].type; j++) {
2677 if (strncmp(const_table[j].name, name,
2678 strlen(const_table[j].name)) == 0) {
2679 ci = &(const_table[j]);
2680 break;
2681 }
2682 }
2683 if (ci) {
2684 size_t shift = (ci->ptype) - types;
2685 swig_type_info *ty = types_initial[shift];
2686 size_t ldoc = (c - methods[i].ml_doc);
2687 size_t lptr = strlen(ty->name)+2*sizeof(void*)+2;
2688 char *ndoc = (char*)malloc(ldoc + lptr + 10);
2689 char *buff = ndoc;
2690 void *ptr = (ci->type == SWIG_PY_POINTER) ? ci->pvalue: (void *)(ci->lvalue);
2691 strncpy(buff, methods[i].ml_doc, ldoc);
2692 buff += ldoc;
2693 strncpy(buff, "swig_ptr: ", 10);
2694 buff += 10;
2695 SWIG_PackVoidPtr(buff, ptr, ty->name, lptr);
2696 methods[i].ml_doc = ndoc;
2697 }
2698 }
2699 }
2700 }
2701
2702 /* -----------------------------------------------------------------------------*
2703 * Initialize type list
2704 * -----------------------------------------------------------------------------*/
2705
2706 #if PY_MAJOR_VERSION < 2
2707 /* PyModule_AddObject function was introduced in Python 2.0. The following function
2708 is copied out of Python/modsupport.c in python version 2.3.4 */
2709 static int
2710 PyModule_AddObject(PyObject *m, char *name, PyObject *o)
2711 {
2712 PyObject *dict;
2713 if (!PyModule_Check(m)) {
2714 PyErr_SetString(PyExc_TypeError,
2715 "PyModule_AddObject() needs module as first arg");
2716 return -1;
2717 }
2718 if (!o) {
2719 PyErr_SetString(PyExc_TypeError,
2720 "PyModule_AddObject() needs non-NULL value");
2721 return -1;
2722 }
2723
2724 dict = PyModule_GetDict(m);
2725 if (dict == NULL) {
2726 /* Internal error -- modules must have a dict! */
2727 PyErr_Format(PyExc_SystemError, "module '%s' has no __dict__",
2728 PyModule_GetName(m));
2729 return -1;
2730 }
2731 if (PyDict_SetItemString(dict, name, o))
2732 return -1;
2733 Py_DECREF(o);
2734 return 0;
2735 }
2736 #endif
2737
2738 static swig_type_info **
2739 SWIG_Python_SetTypeListHandle(swig_type_info **type_list_handle) {
2740 static PyMethodDef swig_empty_runtime_method_table[] = {
2741 {
2742 NULL, NULL, 0, NULL
2743 }
2744 };/* Sentinel */
2745
2746 PyObject *module = Py_InitModule((char*)"swig_runtime_data" SWIG_RUNTIME_VERSION,
2747 swig_empty_runtime_method_table);
2748 PyObject *pointer = PyCObject_FromVoidPtr((void *) type_list_handle, NULL);
2749 if (pointer && module) {
2750 PyModule_AddObject(module, (char*)"type_pointer" SWIG_TYPE_TABLE_NAME, pointer);
2751 }
2752 return type_list_handle;
2753 }
2754
2755 static swig_type_info **
2756 SWIG_Python_LookupTypePointer(swig_type_info **type_list_handle) {
2757 swig_type_info **type_pointer;
2758
2759 /* first check if module already created */
2760 type_pointer = SWIG_Python_GetTypeListHandle();
2761 if (type_pointer) {
2762 return type_pointer;
2763 } else {
2764 /* create a new module and variable */
2765 return SWIG_Python_SetTypeListHandle(type_list_handle);
2766 }
2767 }
2768
2769 #ifdef __cplusplus
2770 }
2771 #endif
2772
2773 /* -----------------------------------------------------------------------------*
2774 * Partial Init method
2775 * -----------------------------------------------------------------------------*/
2776
2777 #ifdef SWIG_LINK_RUNTIME
2778 #ifdef __cplusplus
2779 extern "C"
2780 #endif
2781 SWIGEXPORT(void *) SWIG_ReturnGlobalTypeList(void *);
2782 #endif
2783
2784 #ifdef __cplusplus
2785 extern "C"
2786 #endif
2787 SWIGEXPORT(void) SWIG_init(void) {
2788 static PyObject *SWIG_globals = 0;
2789 static int typeinit = 0;
2790 PyObject *m, *d;
2791 int i;
2792 if (!SWIG_globals) SWIG_globals = SWIG_newvarlink();
2793
2794 /* Fix SwigMethods to carry the callback ptrs when needed */
2795 SWIG_Python_FixMethods(SwigMethods, swig_const_table, swig_types, swig_types_initial);
2796
2797 m = Py_InitModule((char *) SWIG_name, SwigMethods);
2798 d = PyModule_GetDict(m);
2799
2800 if (!typeinit) {
2801 #ifdef SWIG_LINK_RUNTIME
2802 swig_type_list_handle = (swig_type_info **) SWIG_ReturnGlobalTypeList(swig_type_list_handle);
2803 #else
2804 # ifndef SWIG_STATIC_RUNTIME
2805 swig_type_list_handle = SWIG_Python_LookupTypePointer(swig_type_list_handle);
2806 # endif
2807 #endif
2808 for (i = 0; swig_types_initial[i]; i++) {
2809 swig_types[i] = SWIG_TypeRegister(swig_types_initial[i]);
2810 }
2811 typeinit = 1;
2812 }
2813 SWIG_InstallConstants(d,swig_const_table);
2814
2815 PyDict_SetItemString(d,(char*)"cvar", SWIG_globals);
2816 SWIG_addvarlink(SWIG_globals,(char*)"GLCanvasNameStr",_wrap_GLCanvasNameStr_get, _wrap_GLCanvasNameStr_set);
2817 {
2818 PyDict_SetItemString(d,"WX_GL_RGBA", SWIG_From_int((int)(WX_GL_RGBA)));
2819 }
2820 {
2821 PyDict_SetItemString(d,"WX_GL_BUFFER_SIZE", SWIG_From_int((int)(WX_GL_BUFFER_SIZE)));
2822 }
2823 {
2824 PyDict_SetItemString(d,"WX_GL_LEVEL", SWIG_From_int((int)(WX_GL_LEVEL)));
2825 }
2826 {
2827 PyDict_SetItemString(d,"WX_GL_DOUBLEBUFFER", SWIG_From_int((int)(WX_GL_DOUBLEBUFFER)));
2828 }
2829 {
2830 PyDict_SetItemString(d,"WX_GL_STEREO", SWIG_From_int((int)(WX_GL_STEREO)));
2831 }
2832 {
2833 PyDict_SetItemString(d,"WX_GL_AUX_BUFFERS", SWIG_From_int((int)(WX_GL_AUX_BUFFERS)));
2834 }
2835 {
2836 PyDict_SetItemString(d,"WX_GL_MIN_RED", SWIG_From_int((int)(WX_GL_MIN_RED)));
2837 }
2838 {
2839 PyDict_SetItemString(d,"WX_GL_MIN_GREEN", SWIG_From_int((int)(WX_GL_MIN_GREEN)));
2840 }
2841 {
2842 PyDict_SetItemString(d,"WX_GL_MIN_BLUE", SWIG_From_int((int)(WX_GL_MIN_BLUE)));
2843 }
2844 {
2845 PyDict_SetItemString(d,"WX_GL_MIN_ALPHA", SWIG_From_int((int)(WX_GL_MIN_ALPHA)));
2846 }
2847 {
2848 PyDict_SetItemString(d,"WX_GL_DEPTH_SIZE", SWIG_From_int((int)(WX_GL_DEPTH_SIZE)));
2849 }
2850 {
2851 PyDict_SetItemString(d,"WX_GL_STENCIL_SIZE", SWIG_From_int((int)(WX_GL_STENCIL_SIZE)));
2852 }
2853 {
2854 PyDict_SetItemString(d,"WX_GL_MIN_ACCUM_RED", SWIG_From_int((int)(WX_GL_MIN_ACCUM_RED)));
2855 }
2856 {
2857 PyDict_SetItemString(d,"WX_GL_MIN_ACCUM_GREEN", SWIG_From_int((int)(WX_GL_MIN_ACCUM_GREEN)));
2858 }
2859 {
2860 PyDict_SetItemString(d,"WX_GL_MIN_ACCUM_BLUE", SWIG_From_int((int)(WX_GL_MIN_ACCUM_BLUE)));
2861 }
2862 {
2863 PyDict_SetItemString(d,"WX_GL_MIN_ACCUM_ALPHA", SWIG_From_int((int)(WX_GL_MIN_ACCUM_ALPHA)));
2864 }
2865
2866
2867
2868 }
2869