Add libwx-perl
[pkg-perl] / deb-src / libwx-perl / libwx-perl-0.96 / GDI.c
1 /*
2  * This file was generated automatically by ExtUtils::ParseXS version 2.2202 from the
3  * contents of GDI.xs. Do not edit this file, edit GDI.xs instead.
4  *
5  *      ANY CHANGES MADE HERE WILL BE LOST! 
6  *
7  */
8
9 /////////////////////////////////////////////////////////////////////////////
10 // Name:        GDI.xs
11 // Purpose:     XS for various GDI objects
12 // Author:      Mattia Barbon
13 // Modified by:
14 // Created:     29/10/2000
15 // RCS-ID:      $Id: GDI.xs 2626 2009-10-18 22:48:17Z mbarbon $
16 // Copyright:   (c) 2000-2003, 2005-2009 Mattia Barbon
17 // Licence:     This program is free software; you can redistribute it and/or
18 //              modify it under the same terms as Perl itself
19 /////////////////////////////////////////////////////////////////////////////
20
21 #undef bool
22 #define PERL_NO_GET_CONTEXT
23
24 #include "cpp/wxapi.h"
25
26 #undef THIS
27
28 WXPLI_BOOT_ONCE(Wx_GDI);
29 #define boot_Wx_GDI wxPli_boot_Wx_GDI
30
31 #if WXPERL_W_VERSION_LT( 2, 9, 0 )
32 typedef int wxBrushStyle;
33 typedef int wxPenStyle;
34 typedef int wxPenJoin;
35 typedef int wxPenCap;
36 typedef int wxRasterOperationMode;
37 typedef int wxMappingMode;
38 typedef int wxPolygonFillMode;
39 typedef int wxFloodFillStyle;
40 #endif
41 #if WXPERL_W_VERSION_LT( 2, 9, 1 )
42 typedef int wxImageResizeQuality;
43 #endif
44
45 #ifndef PERL_UNUSED_VAR
46 #  define PERL_UNUSED_VAR(var) if (0) var = var
47 #endif
48
49 #ifndef PERL_ARGS_ASSERT_CROAK_XS_USAGE
50 #define PERL_ARGS_ASSERT_CROAK_XS_USAGE assert(cv); assert(params)
51
52 /* prototype to pass -Wmissing-prototypes */
53 STATIC void
54 S_croak_xs_usage(pTHX_ const CV *const cv, const char *const params);
55
56 STATIC void
57 S_croak_xs_usage(pTHX_ const CV *const cv, const char *const params)
58 {
59     const GV *const gv = CvGV(cv);
60
61     PERL_ARGS_ASSERT_CROAK_XS_USAGE;
62
63     if (gv) {
64         const char *const gvname = GvNAME(gv);
65         const HV *const stash = GvSTASH(gv);
66         const char *const hvname = stash ? HvNAME(stash) : NULL;
67
68         if (hvname)
69             Perl_croak(aTHX_ "Usage: %s::%s(%s)", hvname, gvname, params);
70         else
71             Perl_croak(aTHX_ "Usage: %s(%s)", gvname, params);
72     } else {
73         /* Pants. I don't think that it should be possible to get here. */
74         Perl_croak(aTHX_ "Usage: CODE(0x%"UVxf")(%s)", PTR2UV(cv), params);
75     }
76 }
77 #undef  PERL_ARGS_ASSERT_CROAK_XS_USAGE
78
79 #ifdef PERL_IMPLICIT_CONTEXT
80 #define croak_xs_usage(a,b)     S_croak_xs_usage(aTHX_ a,b)
81 #else
82 #define croak_xs_usage          S_croak_xs_usage
83 #endif
84
85 #endif
86
87 /* NOTE: the prototype of newXSproto() is different in versions of perls,
88  * so we define a portable version of newXSproto()
89  */
90 #ifdef newXS_flags
91 #define newXSproto_portable(name, c_impl, file, proto) newXS_flags(name, c_impl, file, proto, 0)
92 #else
93 #define newXSproto_portable(name, c_impl, file, proto) (PL_Sv=(SV*)newXS(name, c_impl, file), sv_setpv(PL_Sv, proto), (CV*)PL_Sv)
94 #endif /* !defined(newXS_flags) */
95
96
97 /* INCLUDE:  Including 'perl -MExtUtils::XSpp::Cmd -e xspp -- -t typemap.xsp XS/Animation.xsp |' from 'GDI.xs' */
98
99
100 /* INCLUDE:  Including 'XS/Colour.xs' from 'perl -MExtUtils::XSpp::Cmd -e xspp -- -t typemap.xsp XS/Animation.xsp |' */
101
102
103 /* INCLUDE:  Including 'XS/ColourDatabase.xs' from 'XS/Colour.xs' */
104
105
106 /* INCLUDE:  Including 'XS/Font.xs' from 'XS/ColourDatabase.xs' */
107
108
109 /* INCLUDE:  Including 'perl -MExtUtils::XSpp::Cmd -e xspp -- -t typemap.xsp XS/ImageList.xs |' from 'XS/Font.xs' */
110
111
112 /* INCLUDE:  Including 'XS/Bitmap.xs' from 'perl -MExtUtils::XSpp::Cmd -e xspp -- -t typemap.xsp XS/ImageList.xs |' */
113
114
115 /* INCLUDE:  Including 'XS/Icon.xs' from 'XS/Bitmap.xs' */
116
117
118 /* INCLUDE:  Including 'XS/Cursor.xs' from 'XS/Icon.xs' */
119
120
121 /* INCLUDE:  Including 'perl -MExtUtils::XSpp::Cmd -e xspp -- -t typemap.xsp XS/DC.xs |' from 'XS/Cursor.xs' */
122
123
124 /* INCLUDE:  Including 'XS/Pen.xs' from 'perl -MExtUtils::XSpp::Cmd -e xspp -- -t typemap.xsp XS/DC.xs |' */
125
126
127 /* INCLUDE:  Including 'XS/Brush.xs' from 'XS/Pen.xs' */
128
129
130 /* INCLUDE:  Including 'XS/Image.xs' from 'XS/Brush.xs' */
131
132
133 /* INCLUDE:  Including 'XS/Palette.xs' from 'XS/Image.xs' */
134
135 #include <wx/palette.h>
136
137 XS(XS_Wx__Palette_new); /* prototype to pass -Wmissing-prototypes */
138 XS(XS_Wx__Palette_new)
139 {
140 #ifdef dVAR
141     dVAR; dXSARGS;
142 #else
143     dXSARGS;
144 #endif
145     if (items != 4)
146        croak_xs_usage(cv,  "CLASS, r, g, b");
147     {
148         SV*     r = ST(1);
149         SV*     g = ST(2);
150         SV*     b = ST(3);
151     unsigned char* red;
152     unsigned char* green;
153     unsigned char* blue;
154     int rn, gn, bn;
155         char *  CLASS = (char *)SvPV_nolen(ST(0));
156         wxPalette *     RETVAL;
157     rn = wxPli_av_2_uchararray( aTHX_ r, &red );
158     gn = wxPli_av_2_uchararray( aTHX_ g, &green );
159     bn = wxPli_av_2_uchararray( aTHX_ b, &blue );
160
161     if( rn != gn || gn != bn )
162     {
163       croak( "arrays must be of the same size" );
164     }
165
166     RETVAL = new wxPalette( rn, red, green, blue );
167
168     delete[] red;
169     delete[] green;
170     delete[] blue;
171         ST(0) = sv_newmortal();
172     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
173     wxPli_thread_sv_register( aTHX_ "Wx::Palette", RETVAL, ST(0) );
174
175     }
176     XSRETURN(1);
177 }
178
179
180 XS(XS_Wx__Palette_CLONE); /* prototype to pass -Wmissing-prototypes */
181 XS(XS_Wx__Palette_CLONE)
182 {
183 #ifdef dVAR
184     dVAR; dXSARGS;
185 #else
186     dXSARGS;
187 #endif
188     if (items != 1)
189        croak_xs_usage(cv,  "CLASS");
190     {
191         char *  CLASS = (char *)SvPV_nolen(ST(0));
192     wxPli_thread_sv_clone( aTHX_ CLASS, (wxPliCloneSV)wxPli_detach_object );
193     }
194     XSRETURN_EMPTY;
195 }
196
197
198 XS(XS_Wx__Palette_DESTROY); /* prototype to pass -Wmissing-prototypes */
199 XS(XS_Wx__Palette_DESTROY)
200 {
201 #ifdef dVAR
202     dVAR; dXSARGS;
203 #else
204     dXSARGS;
205 #endif
206     if (items != 1)
207        croak_xs_usage(cv,  "THIS");
208     {
209         wxPalette *    THIS = (wxPalette *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Palette" );
210     wxPli_thread_sv_unregister( aTHX_ "Wx::Palette", THIS, ST(0) );
211     delete THIS;
212     }
213     XSRETURN_EMPTY;
214 }
215
216 #if WXPERL_W_VERSION_GE( 2, 6, 1 )
217 #define XSubPPtmpAAAA 1
218
219
220 XS(XS_Wx__Palette_GetColoursCount); /* prototype to pass -Wmissing-prototypes */
221 XS(XS_Wx__Palette_GetColoursCount)
222 {
223 #ifdef dVAR
224     dVAR; dXSARGS;
225 #else
226     dXSARGS;
227 #endif
228     if (items != 1)
229        croak_xs_usage(cv,  "THIS");
230     {
231         wxPalette *    THIS = (wxPalette *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Palette" );
232         int     RETVAL;
233         dXSTARG;
234
235         RETVAL = THIS->GetColoursCount();
236         XSprePUSH; PUSHi((IV)RETVAL);
237     }
238     XSRETURN(1);
239 }
240
241 #endif
242
243 XS(XS_Wx__Palette_GetPixel); /* prototype to pass -Wmissing-prototypes */
244 XS(XS_Wx__Palette_GetPixel)
245 {
246 #ifdef dVAR
247     dVAR; dXSARGS;
248 #else
249     dXSARGS;
250 #endif
251     if (items != 4)
252        croak_xs_usage(cv,  "THIS, red, green, blue");
253     {
254         unsigned char   red = (unsigned char)SvUV(ST(1));
255         unsigned char   green = (unsigned char)SvUV(ST(2));
256         unsigned char   blue = (unsigned char)SvUV(ST(3));
257         wxPalette *    THIS = (wxPalette *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Palette" );
258         int     RETVAL;
259         dXSTARG;
260
261         RETVAL = THIS->GetPixel(red, green, blue);
262         XSprePUSH; PUSHi((IV)RETVAL);
263     }
264     XSRETURN(1);
265 }
266
267
268 XS(XS_Wx__Palette_GetRGB); /* prototype to pass -Wmissing-prototypes */
269 XS(XS_Wx__Palette_GetRGB)
270 {
271 #ifdef dVAR
272     dVAR; dXSARGS;
273 #else
274     dXSARGS;
275 #endif
276     if (items != 2)
277        croak_xs_usage(cv,  "THIS, pixel");
278     PERL_UNUSED_VAR(ax); /* -Wall */
279     SP -= items;
280     {
281         int     pixel = (int)SvIV(ST(1));
282     unsigned char red, green, blue;
283         wxPalette *    THIS = (wxPalette *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Palette" );
284     if( THIS->GetRGB( pixel, &red, &green, &blue ) ) 
285     {
286       EXTEND( SP, 3 );
287       PUSHs( sv_2mortal( newSVuv( red ) ) );
288       PUSHs( sv_2mortal( newSVuv( green ) ) );
289       PUSHs( sv_2mortal( newSVuv( blue ) ) ); 
290     }
291     else
292     {
293       EXTEND( SP, 3 );
294       PUSHs( &PL_sv_undef );
295       PUSHs( &PL_sv_undef );
296       PUSHs( &PL_sv_undef );
297     }
298         PUTBACK;
299         return;
300     }
301 }
302
303
304 XS(XS_Wx__Palette_Ok); /* prototype to pass -Wmissing-prototypes */
305 XS(XS_Wx__Palette_Ok)
306 {
307 #ifdef dVAR
308     dVAR; dXSARGS;
309 #else
310     dXSARGS;
311 #endif
312     if (items != 1)
313        croak_xs_usage(cv,  "THIS");
314     {
315         wxPalette *    THIS = (wxPalette *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Palette" );
316         bool    RETVAL;
317
318         RETVAL = THIS->Ok();
319         ST(0) = boolSV(RETVAL);
320         sv_2mortal(ST(0));
321     }
322     XSRETURN(1);
323 }
324
325 #if WXPERL_W_VERSION_GE( 2, 8, 0 )
326 #define XSubPPtmpAAAB 1
327
328
329 XS(XS_Wx__Palette_IsOk); /* prototype to pass -Wmissing-prototypes */
330 XS(XS_Wx__Palette_IsOk)
331 {
332 #ifdef dVAR
333     dVAR; dXSARGS;
334 #else
335     dXSARGS;
336 #endif
337     if (items != 1)
338        croak_xs_usage(cv,  "THIS");
339     {
340         wxPalette *    THIS = (wxPalette *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Palette" );
341         bool    RETVAL;
342
343         RETVAL = THIS->IsOk();
344         ST(0) = boolSV(RETVAL);
345         sv_2mortal(ST(0));
346     }
347     XSRETURN(1);
348 }
349
350 #endif
351
352 /* INCLUDE: Returning to 'XS/Image.xs' from 'XS/Palette.xs' */
353
354 #include <wx/image.h>
355 #include <wx/bitmap.h>
356 #include "cpp/streams.h"
357 #include "cpp/overload.h"
358
359 XS(XS_Wx__Image_new); /* prototype to pass -Wmissing-prototypes */
360 XS(XS_Wx__Image_new)
361 {
362 #ifdef dVAR
363     dVAR; dXSARGS;
364 #else
365     dXSARGS;
366 #endif
367     if (items < 1)
368        croak_xs_usage(cv,  "CLASS, ...");
369     PERL_UNUSED_VAR(ax); /* -Wall */
370     SP -= items;
371     {
372         char *  CLASS = (char *)SvPV_nolen(ST(0));
373     BEGIN_OVERLOAD()
374         MATCH_VOIDM_REDISP( newNull )
375         MATCH_REDISP( wxPliOvl_wico, newIcon )
376         MATCH_REDISP( wxPliOvl_wbmp, newBitmap )
377         MATCH_REDISP( wxPliOvl_wist_n, newStreamType )
378         MATCH_REDISP( wxPliOvl_wist_s, newStreamMIME )
379         MATCH_REDISP_COUNT( wxPliOvl_n_n, newWH, 2 )
380         MATCH_REDISP( wxPliOvl_n_n_s, newData )
381         MATCH_REDISP( wxPliOvl_n_n_s_s, newDataAlpha )
382         MATCH_REDISP( wxPliOvl_s_n, newNameType )
383         MATCH_REDISP( wxPliOvl_s_s, newNameMIME )
384     END_OVERLOAD( Wx::Image::new )
385         PUTBACK;
386         return;
387     }
388 }
389
390
391 XS(XS_Wx__Image_newNull); /* prototype to pass -Wmissing-prototypes */
392 XS(XS_Wx__Image_newNull)
393 {
394 #ifdef dVAR
395     dVAR; dXSARGS;
396 #else
397     dXSARGS;
398 #endif
399     if (items != 1)
400        croak_xs_usage(cv,  "CLASS");
401     {
402         SV*     CLASS = ST(0);
403         wxImage *       RETVAL;
404     RETVAL = new wxImage();
405         ST(0) = sv_newmortal();
406     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
407     wxPli_thread_sv_register( aTHX_ "Wx::Image", RETVAL, ST(0) );
408
409     }
410     XSRETURN(1);
411 }
412
413
414 XS(XS_Wx__Image_newWH); /* prototype to pass -Wmissing-prototypes */
415 XS(XS_Wx__Image_newWH)
416 {
417 #ifdef dVAR
418     dVAR; dXSARGS;
419 #else
420     dXSARGS;
421 #endif
422     if (items != 3)
423        croak_xs_usage(cv,  "CLASS, width, height");
424     {
425         SV*     CLASS = ST(0);
426         int     width = (int)SvIV(ST(1));
427         int     height = (int)SvIV(ST(2));
428         wxImage *       RETVAL;
429     RETVAL = new wxImage( width, height );
430         ST(0) = sv_newmortal();
431     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
432     wxPli_thread_sv_register( aTHX_ "Wx::Image", RETVAL, ST(0) );
433
434     }
435     XSRETURN(1);
436 }
437
438
439 XS(XS_Wx__Image_newData); /* prototype to pass -Wmissing-prototypes */
440 XS(XS_Wx__Image_newData)
441 {
442 #ifdef dVAR
443     dVAR; dXSARGS;
444 #else
445     dXSARGS;
446 #endif
447     if (items != 4)
448        croak_xs_usage(cv,  "CLASS, width, height, dt");
449     {
450         SV*     CLASS = ST(0);
451         int     width = (int)SvIV(ST(1));
452         int     height = (int)SvIV(ST(2));
453         SV*     dt = ST(3);
454     STRLEN len;
455     unsigned char* data = (unsigned char*)SvPV( dt, len );
456     unsigned char* newdata;
457         wxImage *       RETVAL;
458     if( len != (STRLEN) width * height * 3 )
459     {
460         croak( "not enough data in image constructor" );
461     }
462     newdata = (unsigned char*)malloc( width * height * 3 );
463     memcpy( newdata, data, width * height * 3 );
464
465     RETVAL = new wxImage( width, height, newdata );
466         ST(0) = sv_newmortal();
467     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
468     wxPli_thread_sv_register( aTHX_ "Wx::Image", RETVAL, ST(0) );
469
470     }
471     XSRETURN(1);
472 }
473
474 #if WXPERL_W_VERSION_GE( 2, 5, 3 )
475 #define XSubPPtmpAAAC 1
476
477
478 XS(XS_Wx__Image_newDataAlpha); /* prototype to pass -Wmissing-prototypes */
479 XS(XS_Wx__Image_newDataAlpha)
480 {
481 #ifdef dVAR
482     dVAR; dXSARGS;
483 #else
484     dXSARGS;
485 #endif
486     if (items != 5)
487        croak_xs_usage(cv,  "CLASS, width, height, dt, al");
488     {
489         SV*     CLASS = ST(0);
490         int     width = (int)SvIV(ST(1));
491         int     height = (int)SvIV(ST(2));
492         SV*     dt = ST(3);
493         SV*     al = ST(4);
494     STRLEN len_data, len_alpha;
495     unsigned char* data = (unsigned char*)SvPV( dt, len_data );
496     unsigned char* alpha = (unsigned char*)SvPV( al, len_alpha );
497         wxImage *       RETVAL;
498     if( len_data != (STRLEN) width * height * 3 ||
499         len_alpha != (STRLEN) width * height )
500     {
501         croak( "not enough data in image constructor" );
502     }
503     unsigned char* newdata = (unsigned char*) malloc( len_data );
504     memcpy( newdata, data, len_data );
505     unsigned char* newalpha = (unsigned char*) malloc( len_alpha );
506     memcpy( newalpha, alpha, len_alpha );
507
508     RETVAL = new wxImage( width, height, newdata, newalpha );
509         ST(0) = sv_newmortal();
510     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
511     wxPli_thread_sv_register( aTHX_ "Wx::Image", RETVAL, ST(0) );
512
513     }
514     XSRETURN(1);
515 }
516
517 #endif
518
519 XS(XS_Wx__Image_newNameType); /* prototype to pass -Wmissing-prototypes */
520 XS(XS_Wx__Image_newNameType)
521 {
522 #ifdef dVAR
523     dVAR; dXSARGS;
524 #else
525     dXSARGS;
526 #endif
527     if (items < 3 || items > 4)
528        croak_xs_usage(cv,  "CLASS, name, type, index = -1");
529     {
530         SV*     CLASS = ST(0);
531         wxString        name;
532         wxBitmapType    type = (wxBitmapType)SvIV(ST(2));
533         int     index;
534         wxImage *       RETVAL;
535
536     WXSTRING_INPUT( name, wxString, ST(1) );
537
538         if (items < 4)
539             index = -1;
540         else {
541             index = (int)SvIV(ST(3));
542         }
543     RETVAL = new wxImage( name, type, index );
544         ST(0) = sv_newmortal();
545     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
546     wxPli_thread_sv_register( aTHX_ "Wx::Image", RETVAL, ST(0) );
547
548     }
549     XSRETURN(1);
550 }
551
552
553 XS(XS_Wx__Image_newNameMIME); /* prototype to pass -Wmissing-prototypes */
554 XS(XS_Wx__Image_newNameMIME)
555 {
556 #ifdef dVAR
557     dVAR; dXSARGS;
558 #else
559     dXSARGS;
560 #endif
561     if (items < 3 || items > 4)
562        croak_xs_usage(cv,  "CLASS, name, mimetype, index = -1");
563     {
564         SV*     CLASS = ST(0);
565         wxString        name;
566         wxString        mimetype;
567         int     index;
568         wxImage *       RETVAL;
569
570     WXSTRING_INPUT( name, wxString, ST(1) );
571
572     WXSTRING_INPUT( mimetype, wxString, ST(2) );
573
574         if (items < 4)
575             index = -1;
576         else {
577             index = (int)SvIV(ST(3));
578         }
579     RETVAL = new wxImage( name, mimetype, index );
580         ST(0) = sv_newmortal();
581     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
582     wxPli_thread_sv_register( aTHX_ "Wx::Image", RETVAL, ST(0) );
583
584     }
585     XSRETURN(1);
586 }
587
588
589 XS(XS_Wx__Image_newStreamType); /* prototype to pass -Wmissing-prototypes */
590 XS(XS_Wx__Image_newStreamType)
591 {
592 #ifdef dVAR
593     dVAR; dXSARGS;
594 #else
595     dXSARGS;
596 #endif
597     if (items < 3 || items > 4)
598        croak_xs_usage(cv,  "CLASS, stream, type, index = -1");
599     {
600         SV*     CLASS = ST(0);
601         wxPliInputStream        stream;
602         wxBitmapType    type = (wxBitmapType)SvIV(ST(2));
603         int     index;
604         wxImage *       RETVAL;
605
606     wxPli_sv_2_istream( aTHX_ ST(1), stream );
607
608         if (items < 4)
609             index = -1;
610         else {
611             index = (int)SvIV(ST(3));
612         }
613     RETVAL = new wxImage( stream, type, index );
614         ST(0) = sv_newmortal();
615     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
616     wxPli_thread_sv_register( aTHX_ "Wx::Image", RETVAL, ST(0) );
617
618     }
619     XSRETURN(1);
620 }
621
622
623 XS(XS_Wx__Image_newStreamMIME); /* prototype to pass -Wmissing-prototypes */
624 XS(XS_Wx__Image_newStreamMIME)
625 {
626 #ifdef dVAR
627     dVAR; dXSARGS;
628 #else
629     dXSARGS;
630 #endif
631     if (items < 3 || items > 4)
632        croak_xs_usage(cv,  "CLASS, stream, mime, index = -1");
633     {
634         SV*     CLASS = ST(0);
635         wxPliInputStream        stream;
636         wxString        mime;
637         int     index;
638         wxImage *       RETVAL;
639
640     wxPli_sv_2_istream( aTHX_ ST(1), stream );
641
642     WXSTRING_INPUT( mime, wxString, ST(2) );
643
644         if (items < 4)
645             index = -1;
646         else {
647             index = (int)SvIV(ST(3));
648         }
649     RETVAL = new wxImage( stream, mime, index );
650         ST(0) = sv_newmortal();
651     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
652     wxPli_thread_sv_register( aTHX_ "Wx::Image", RETVAL, ST(0) );
653
654     }
655     XSRETURN(1);
656 }
657
658
659 XS(XS_Wx__Image_newBitmap); /* prototype to pass -Wmissing-prototypes */
660 XS(XS_Wx__Image_newBitmap)
661 {
662 #ifdef dVAR
663     dVAR; dXSARGS;
664 #else
665     dXSARGS;
666 #endif
667     if (items != 2)
668        croak_xs_usage(cv,  "CLASS, bitmap");
669     {
670         wxBitmap*    bitmap = (wxBitmap *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Bitmap" );
671         wxImage *       RETVAL;
672     RETVAL = new wxImage( bitmap->ConvertToImage() );
673         ST(0) = sv_newmortal();
674     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
675     wxPli_thread_sv_register( aTHX_ "Wx::Image", RETVAL, ST(0) );
676
677     }
678     XSRETURN(1);
679 }
680
681
682 XS(XS_Wx__Image_newIcon); /* prototype to pass -Wmissing-prototypes */
683 XS(XS_Wx__Image_newIcon)
684 {
685 #ifdef dVAR
686     dVAR; dXSARGS;
687 #else
688     dXSARGS;
689 #endif
690     if (items != 2)
691        croak_xs_usage(cv,  "CLASS, icon");
692     {
693         wxIcon*    icon = (wxIcon *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Icon" );
694         wxImage *       RETVAL;
695     wxBitmap tmp; tmp.CopyFromIcon( *icon );
696     RETVAL = new wxImage( tmp.ConvertToImage() );
697         ST(0) = sv_newmortal();
698     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
699     wxPli_thread_sv_register( aTHX_ "Wx::Image", RETVAL, ST(0) );
700
701     }
702     XSRETURN(1);
703 }
704
705
706 XS(XS_Wx__Image_CLONE); /* prototype to pass -Wmissing-prototypes */
707 XS(XS_Wx__Image_CLONE)
708 {
709 #ifdef dVAR
710     dVAR; dXSARGS;
711 #else
712     dXSARGS;
713 #endif
714     if (items != 1)
715        croak_xs_usage(cv,  "CLASS");
716     {
717         char *  CLASS = (char *)SvPV_nolen(ST(0));
718     wxPli_thread_sv_clone( aTHX_ CLASS, (wxPliCloneSV)wxPli_detach_object );
719     }
720     XSRETURN_EMPTY;
721 }
722
723
724 XS(XS_Wx__Image_DESTROY); /* prototype to pass -Wmissing-prototypes */
725 XS(XS_Wx__Image_DESTROY)
726 {
727 #ifdef dVAR
728     dVAR; dXSARGS;
729 #else
730     dXSARGS;
731 #endif
732     if (items != 1)
733        croak_xs_usage(cv,  "THIS");
734     {
735         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
736     wxPli_thread_sv_unregister( aTHX_ "Wx::Image", THIS, ST(0) );
737     delete THIS;
738     }
739     XSRETURN_EMPTY;
740 }
741
742
743 XS(XS_Wx__Image_AddHandler); /* prototype to pass -Wmissing-prototypes */
744 XS(XS_Wx__Image_AddHandler)
745 {
746 #ifdef dVAR
747     dVAR; dXSARGS;
748 #else
749     dXSARGS;
750 #endif
751     if (items != 1)
752        croak_xs_usage(cv,  "handler");
753     {
754         wxImageHandler*    handler = (wxImageHandler *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ImageHandler" );
755     wxImage::AddHandler( handler );
756     }
757     XSRETURN_EMPTY;
758 }
759
760
761 XS(XS_Wx__Image_ConvertToMono); /* prototype to pass -Wmissing-prototypes */
762 XS(XS_Wx__Image_ConvertToMono)
763 {
764 #ifdef dVAR
765     dVAR; dXSARGS;
766 #else
767     dXSARGS;
768 #endif
769     if (items != 4)
770        croak_xs_usage(cv,  "THIS, r, g, b");
771     {
772         unsigned char   r = (unsigned char)SvUV(ST(1));
773         unsigned char   g = (unsigned char)SvUV(ST(2));
774         unsigned char   b = (unsigned char)SvUV(ST(3));
775         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
776         wxImage *       RETVAL;
777     RETVAL = new wxImage( THIS->ConvertToMono( r, g, b ) );
778         ST(0) = sv_newmortal();
779     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
780     wxPli_thread_sv_register( aTHX_ "Wx::Image", RETVAL, ST(0) );
781
782     }
783     XSRETURN(1);
784 }
785
786 #if WXPERL_W_VERSION_GE( 2, 5, 3 )
787 #define XSubPPtmpAAAD 1
788
789
790 XS(XS_Wx__Image_ConvertAlphaToMask); /* prototype to pass -Wmissing-prototypes */
791 XS(XS_Wx__Image_ConvertAlphaToMask)
792 {
793 #ifdef dVAR
794     dVAR; dXSARGS;
795 #else
796     dXSARGS;
797 #endif
798     if (items < 1 || items > 2)
799        croak_xs_usage(cv,  "THIS, threshold = 128");
800     {
801         unsigned char   threshold;
802         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
803         bool    RETVAL;
804
805         if (items < 2)
806             threshold = 128;
807         else {
808             threshold = (unsigned char)SvUV(ST(1));
809         }
810
811         RETVAL = THIS->ConvertAlphaToMask(threshold);
812         ST(0) = boolSV(RETVAL);
813         sv_2mortal(ST(0));
814     }
815     XSRETURN(1);
816 }
817
818 #endif
819 #if WXPERL_W_VERSION_GE( 2, 5, 4 )
820 #define XSubPPtmpAAAE 1
821
822
823 XS(XS_Wx__Image_ConvertColourToAlpha); /* prototype to pass -Wmissing-prototypes */
824 XS(XS_Wx__Image_ConvertColourToAlpha)
825 {
826 #ifdef dVAR
827     dVAR; dXSARGS;
828 #else
829     dXSARGS;
830 #endif
831     if (items != 4)
832        croak_xs_usage(cv,  "THIS, r, g, b");
833     {
834         unsigned char   r = (unsigned char)SvUV(ST(1));
835         unsigned char   g = (unsigned char)SvUV(ST(2));
836         unsigned char   b = (unsigned char)SvUV(ST(3));
837         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
838         bool    RETVAL;
839
840         RETVAL = THIS->ConvertColourToAlpha(r, g, b);
841         ST(0) = boolSV(RETVAL);
842         sv_2mortal(ST(0));
843     }
844     XSRETURN(1);
845 }
846
847 #endif
848 #if WXPERL_W_VERSION_GE( 2, 7, 0 )
849 #define XSubPPtmpAAAF 1
850
851
852 XS(XS_Wx__Image_ConvertToGreyscale); /* prototype to pass -Wmissing-prototypes */
853 XS(XS_Wx__Image_ConvertToGreyscale)
854 {
855 #ifdef dVAR
856     dVAR; dXSARGS;
857 #else
858     dXSARGS;
859 #endif
860     if (items != 1)
861        croak_xs_usage(cv,  "THIS");
862     {
863         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
864         wxImage *       RETVAL;
865     RETVAL = new wxImage( THIS->ConvertToGreyscale() );
866         ST(0) = sv_newmortal();
867     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
868     wxPli_thread_sv_register( aTHX_ "Wx::Image", RETVAL, ST(0) );
869
870     }
871     XSRETURN(1);
872 }
873
874 #endif
875
876 XS(XS_Wx__Image_Copy); /* prototype to pass -Wmissing-prototypes */
877 XS(XS_Wx__Image_Copy)
878 {
879 #ifdef dVAR
880     dVAR; dXSARGS;
881 #else
882     dXSARGS;
883 #endif
884     if (items != 1)
885        croak_xs_usage(cv,  "THIS");
886     {
887         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
888         wxImage *       RETVAL;
889     RETVAL = new wxImage( THIS->Copy() );
890         ST(0) = sv_newmortal();
891     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
892     wxPli_thread_sv_register( aTHX_ "Wx::Image", RETVAL, ST(0) );
893
894     }
895     XSRETURN(1);
896 }
897
898
899 XS(XS_Wx__Image_Create); /* prototype to pass -Wmissing-prototypes */
900 XS(XS_Wx__Image_Create)
901 {
902 #ifdef dVAR
903     dVAR; dXSARGS;
904 #else
905     dXSARGS;
906 #endif
907     if (items != 3)
908        croak_xs_usage(cv,  "THIS, width, height");
909     {
910         int     width = (int)SvIV(ST(1));
911         int     height = (int)SvIV(ST(2));
912         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
913
914         THIS->Create(width, height);
915     }
916     XSRETURN_EMPTY;
917 }
918
919
920 XS(XS_Wx__Image_Destroy); /* prototype to pass -Wmissing-prototypes */
921 XS(XS_Wx__Image_Destroy)
922 {
923 #ifdef dVAR
924     dVAR; dXSARGS;
925 #else
926     dXSARGS;
927 #endif
928     if (items != 1)
929        croak_xs_usage(cv,  "THIS");
930     {
931         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
932
933         THIS->Destroy();
934     }
935     XSRETURN_EMPTY;
936 }
937
938
939 XS(XS_Wx__Image_FindHandlerName); /* prototype to pass -Wmissing-prototypes */
940 XS(XS_Wx__Image_FindHandlerName)
941 {
942 #ifdef dVAR
943     dVAR; dXSARGS;
944 #else
945     dXSARGS;
946 #endif
947     if (items != 1)
948        croak_xs_usage(cv,  "name");
949     {
950         wxString        name;
951         wxImageHandler *        RETVAL;
952
953     WXSTRING_INPUT( name, wxString, ST(0) );
954     RETVAL = wxImage::FindHandler( name );
955         ST(0) = sv_newmortal();
956     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
957
958     }
959     XSRETURN(1);
960 }
961
962
963 XS(XS_Wx__Image_FindHandlerExtType); /* prototype to pass -Wmissing-prototypes */
964 XS(XS_Wx__Image_FindHandlerExtType)
965 {
966 #ifdef dVAR
967     dVAR; dXSARGS;
968 #else
969     dXSARGS;
970 #endif
971     if (items != 2)
972        croak_xs_usage(cv,  "extension, type");
973     {
974         wxString        extension;
975         wxBitmapType    type = (wxBitmapType)SvIV(ST(1));
976         wxImageHandler *        RETVAL;
977
978     WXSTRING_INPUT( extension, wxString, ST(0) );
979     RETVAL = wxImage::FindHandler( extension, type );
980         ST(0) = sv_newmortal();
981     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
982
983     }
984     XSRETURN(1);
985 }
986
987
988 XS(XS_Wx__Image_FindHandlerType); /* prototype to pass -Wmissing-prototypes */
989 XS(XS_Wx__Image_FindHandlerType)
990 {
991 #ifdef dVAR
992     dVAR; dXSARGS;
993 #else
994     dXSARGS;
995 #endif
996     if (items != 1)
997        croak_xs_usage(cv,  "type");
998     {
999         wxBitmapType    type = (wxBitmapType)SvIV(ST(0));
1000         wxImageHandler *        RETVAL;
1001     RETVAL = wxImage::FindHandler( type );
1002         ST(0) = sv_newmortal();
1003     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
1004
1005     }
1006     XSRETURN(1);
1007 }
1008
1009
1010 XS(XS_Wx__Image_FindHandlerMime); /* prototype to pass -Wmissing-prototypes */
1011 XS(XS_Wx__Image_FindHandlerMime)
1012 {
1013 #ifdef dVAR
1014     dVAR; dXSARGS;
1015 #else
1016     dXSARGS;
1017 #endif
1018     if (items != 1)
1019        croak_xs_usage(cv,  "mime");
1020     {
1021         wxString        mime;
1022         wxImageHandler *        RETVAL;
1023
1024     WXSTRING_INPUT( mime, wxString, ST(0) );
1025     RETVAL = wxImage::FindHandlerMime( mime );
1026         ST(0) = sv_newmortal();
1027     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
1028
1029     }
1030     XSRETURN(1);
1031 }
1032
1033 #if WXPERL_W_VERSION_GE( 2, 5, 3 )
1034 #define XSubPPtmpAAAG 1
1035
1036
1037 XS(XS_Wx__Image_GetAlpha); /* prototype to pass -Wmissing-prototypes */
1038 XS(XS_Wx__Image_GetAlpha)
1039 {
1040 #ifdef dVAR
1041     dVAR; dXSARGS;
1042 #else
1043     dXSARGS;
1044 #endif
1045     if (items < 1)
1046        croak_xs_usage(cv,  "THIS, ...");
1047     PERL_UNUSED_VAR(ax); /* -Wall */
1048     SP -= items;
1049     {
1050         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
1051     BEGIN_OVERLOAD()
1052         MATCH_VOIDM_REDISP( GetAlphaData )
1053         MATCH_REDISP( wxPliOvl_n_n, GetAlphaXY )
1054     END_OVERLOAD( Wx::Image::GetAlpha )
1055         PUTBACK;
1056         return;
1057     }
1058 }
1059
1060
1061 XS(XS_Wx__Image_GetAlphaXY); /* prototype to pass -Wmissing-prototypes */
1062 XS(XS_Wx__Image_GetAlphaXY)
1063 {
1064 #ifdef dVAR
1065     dVAR; dXSARGS;
1066 #else
1067     dXSARGS;
1068 #endif
1069     if (items != 3)
1070        croak_xs_usage(cv,  "THIS, x, y");
1071     {
1072         int     x = (int)SvIV(ST(1));
1073         int     y = (int)SvIV(ST(2));
1074         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
1075         unsigned char   RETVAL;
1076         dXSTARG;
1077     RETVAL = THIS->GetAlpha( x, y );
1078         XSprePUSH; PUSHu((UV)RETVAL);
1079     }
1080     XSRETURN(1);
1081 }
1082
1083
1084 XS(XS_Wx__Image_GetAlphaData); /* prototype to pass -Wmissing-prototypes */
1085 XS(XS_Wx__Image_GetAlphaData)
1086 {
1087 #ifdef dVAR
1088     dVAR; dXSARGS;
1089 #else
1090     dXSARGS;
1091 #endif
1092     if (items != 1)
1093        croak_xs_usage(cv,  "THIS");
1094     {
1095         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
1096         SV *    RETVAL;
1097     unsigned char* alpha = THIS->GetAlpha();
1098
1099     if( alpha == NULL )
1100         XSRETURN_UNDEF;
1101
1102     RETVAL = newSVpvn( (char*) alpha, THIS->GetWidth() * THIS->GetHeight() );
1103         ST(0) = RETVAL;
1104         sv_2mortal(ST(0));
1105     }
1106     XSRETURN(1);
1107 }
1108
1109 #endif
1110
1111 XS(XS_Wx__Image_GetData); /* prototype to pass -Wmissing-prototypes */
1112 XS(XS_Wx__Image_GetData)
1113 {
1114 #ifdef dVAR
1115     dVAR; dXSARGS;
1116 #else
1117     dXSARGS;
1118 #endif
1119     if (items != 1)
1120        croak_xs_usage(cv,  "THIS");
1121     {
1122         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
1123         SV *    RETVAL;
1124     STRLEN len = THIS->GetWidth() * THIS->GetHeight() * 3;
1125     RETVAL = newSVpvn( (char*)THIS->GetData(), len );
1126         ST(0) = RETVAL;
1127         sv_2mortal(ST(0));
1128     }
1129     XSRETURN(1);
1130 }
1131
1132
1133 XS(XS_Wx__Image_GetBlue); /* prototype to pass -Wmissing-prototypes */
1134 XS(XS_Wx__Image_GetBlue)
1135 {
1136 #ifdef dVAR
1137     dVAR; dXSARGS;
1138 #else
1139     dXSARGS;
1140 #endif
1141     if (items != 3)
1142        croak_xs_usage(cv,  "THIS, x, y");
1143     {
1144         int     x = (int)SvIV(ST(1));
1145         int     y = (int)SvIV(ST(2));
1146         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
1147         unsigned char   RETVAL;
1148         dXSTARG;
1149
1150         RETVAL = THIS->GetBlue(x, y);
1151         XSprePUSH; PUSHu((UV)RETVAL);
1152     }
1153     XSRETURN(1);
1154 }
1155
1156
1157 XS(XS_Wx__Image_GetGreen); /* prototype to pass -Wmissing-prototypes */
1158 XS(XS_Wx__Image_GetGreen)
1159 {
1160 #ifdef dVAR
1161     dVAR; dXSARGS;
1162 #else
1163     dXSARGS;
1164 #endif
1165     if (items != 3)
1166        croak_xs_usage(cv,  "THIS, x, y");
1167     {
1168         int     x = (int)SvIV(ST(1));
1169         int     y = (int)SvIV(ST(2));
1170         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
1171         unsigned char   RETVAL;
1172         dXSTARG;
1173
1174         RETVAL = THIS->GetGreen(x, y);
1175         XSprePUSH; PUSHu((UV)RETVAL);
1176     }
1177     XSRETURN(1);
1178 }
1179
1180
1181 XS(XS_Wx__Image_GetRed); /* prototype to pass -Wmissing-prototypes */
1182 XS(XS_Wx__Image_GetRed)
1183 {
1184 #ifdef dVAR
1185     dVAR; dXSARGS;
1186 #else
1187     dXSARGS;
1188 #endif
1189     if (items != 3)
1190        croak_xs_usage(cv,  "THIS, x, y");
1191     {
1192         int     x = (int)SvIV(ST(1));
1193         int     y = (int)SvIV(ST(2));
1194         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
1195         unsigned char   RETVAL;
1196         dXSTARG;
1197
1198         RETVAL = THIS->GetRed(x, y);
1199         XSprePUSH; PUSHu((UV)RETVAL);
1200     }
1201     XSRETURN(1);
1202 }
1203
1204
1205 XS(XS_Wx__Image_GetHeight); /* prototype to pass -Wmissing-prototypes */
1206 XS(XS_Wx__Image_GetHeight)
1207 {
1208 #ifdef dVAR
1209     dVAR; dXSARGS;
1210 #else
1211     dXSARGS;
1212 #endif
1213     if (items != 1)
1214        croak_xs_usage(cv,  "THIS");
1215     {
1216         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
1217         int     RETVAL;
1218         dXSTARG;
1219
1220         RETVAL = THIS->GetHeight();
1221         XSprePUSH; PUSHi((IV)RETVAL);
1222     }
1223     XSRETURN(1);
1224 }
1225
1226
1227 XS(XS_Wx__Image_GetMaskBlue); /* prototype to pass -Wmissing-prototypes */
1228 XS(XS_Wx__Image_GetMaskBlue)
1229 {
1230 #ifdef dVAR
1231     dVAR; dXSARGS;
1232 #else
1233     dXSARGS;
1234 #endif
1235     if (items != 1)
1236        croak_xs_usage(cv,  "THIS");
1237     {
1238         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
1239         unsigned char   RETVAL;
1240         dXSTARG;
1241
1242         RETVAL = THIS->GetMaskBlue();
1243         XSprePUSH; PUSHu((UV)RETVAL);
1244     }
1245     XSRETURN(1);
1246 }
1247
1248
1249 XS(XS_Wx__Image_GetMaskGreen); /* prototype to pass -Wmissing-prototypes */
1250 XS(XS_Wx__Image_GetMaskGreen)
1251 {
1252 #ifdef dVAR
1253     dVAR; dXSARGS;
1254 #else
1255     dXSARGS;
1256 #endif
1257     if (items != 1)
1258        croak_xs_usage(cv,  "THIS");
1259     {
1260         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
1261         unsigned char   RETVAL;
1262         dXSTARG;
1263
1264         RETVAL = THIS->GetMaskGreen();
1265         XSprePUSH; PUSHu((UV)RETVAL);
1266     }
1267     XSRETURN(1);
1268 }
1269
1270
1271 XS(XS_Wx__Image_GetMaskRed); /* prototype to pass -Wmissing-prototypes */
1272 XS(XS_Wx__Image_GetMaskRed)
1273 {
1274 #ifdef dVAR
1275     dVAR; dXSARGS;
1276 #else
1277     dXSARGS;
1278 #endif
1279     if (items != 1)
1280        croak_xs_usage(cv,  "THIS");
1281     {
1282         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
1283         unsigned char   RETVAL;
1284         dXSTARG;
1285
1286         RETVAL = THIS->GetMaskRed();
1287         XSprePUSH; PUSHu((UV)RETVAL);
1288     }
1289     XSRETURN(1);
1290 }
1291
1292
1293 XS(XS_Wx__Image_GetOption); /* prototype to pass -Wmissing-prototypes */
1294 XS(XS_Wx__Image_GetOption)
1295 {
1296 #ifdef dVAR
1297     dVAR; dXSARGS;
1298 #else
1299     dXSARGS;
1300 #endif
1301     if (items != 2)
1302        croak_xs_usage(cv,  "THIS, name");
1303     {
1304         wxString        name;
1305         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
1306         wxString        RETVAL;
1307
1308     WXSTRING_INPUT( name, wxString, ST(1) );
1309
1310         RETVAL = THIS->GetOption(name);
1311         ST(0) = sv_newmortal();
1312     WXSTRING_OUTPUT( RETVAL, ST(0) );
1313
1314     }
1315     XSRETURN(1);
1316 }
1317
1318
1319 XS(XS_Wx__Image_GetOptionInt); /* prototype to pass -Wmissing-prototypes */
1320 XS(XS_Wx__Image_GetOptionInt)
1321 {
1322 #ifdef dVAR
1323     dVAR; dXSARGS;
1324 #else
1325     dXSARGS;
1326 #endif
1327     if (items != 2)
1328        croak_xs_usage(cv,  "THIS, name");
1329     {
1330         wxString        name;
1331         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
1332         int     RETVAL;
1333         dXSTARG;
1334
1335     WXSTRING_INPUT( name, wxString, ST(1) );
1336
1337         RETVAL = THIS->GetOptionInt(name);
1338         XSprePUSH; PUSHi((IV)RETVAL);
1339     }
1340     XSRETURN(1);
1341 }
1342
1343
1344 XS(XS_Wx__Image_GetPalette); /* prototype to pass -Wmissing-prototypes */
1345 XS(XS_Wx__Image_GetPalette)
1346 {
1347 #ifdef dVAR
1348     dVAR; dXSARGS;
1349 #else
1350     dXSARGS;
1351 #endif
1352     if (items != 1)
1353        croak_xs_usage(cv,  "THIS");
1354     {
1355         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
1356         wxPalette *     RETVAL;
1357     RETVAL = new wxPalette( THIS->GetPalette() );
1358         ST(0) = sv_newmortal();
1359     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
1360     wxPli_thread_sv_register( aTHX_ "Wx::Palette", RETVAL, ST(0) );
1361
1362     }
1363     XSRETURN(1);
1364 }
1365
1366
1367 XS(XS_Wx__Image_GetSubImage); /* prototype to pass -Wmissing-prototypes */
1368 XS(XS_Wx__Image_GetSubImage)
1369 {
1370 #ifdef dVAR
1371     dVAR; dXSARGS;
1372 #else
1373     dXSARGS;
1374 #endif
1375     if (items != 2)
1376        croak_xs_usage(cv,  "THIS, rect");
1377     {
1378         wxRect*    rect = (wxRect *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Rect" );
1379         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
1380         wxImage *       RETVAL;
1381     RETVAL = new wxImage( THIS->GetSubImage( *rect ) );
1382         ST(0) = sv_newmortal();
1383     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
1384     wxPli_thread_sv_register( aTHX_ "Wx::Image", RETVAL, ST(0) );
1385
1386     }
1387     XSRETURN(1);
1388 }
1389
1390
1391 XS(XS_Wx__Image_GetWidth); /* prototype to pass -Wmissing-prototypes */
1392 XS(XS_Wx__Image_GetWidth)
1393 {
1394 #ifdef dVAR
1395     dVAR; dXSARGS;
1396 #else
1397     dXSARGS;
1398 #endif
1399     if (items != 1)
1400        croak_xs_usage(cv,  "THIS");
1401     {
1402         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
1403         int     RETVAL;
1404         dXSTARG;
1405
1406         RETVAL = THIS->GetWidth();
1407         XSprePUSH; PUSHi((IV)RETVAL);
1408     }
1409     XSRETURN(1);
1410 }
1411
1412 #if WXPERL_W_VERSION_GE( 2, 5, 3 )
1413 #define XSubPPtmpAAAH 1
1414
1415
1416 XS(XS_Wx__Image_HasAlpha); /* prototype to pass -Wmissing-prototypes */
1417 XS(XS_Wx__Image_HasAlpha)
1418 {
1419 #ifdef dVAR
1420     dVAR; dXSARGS;
1421 #else
1422     dXSARGS;
1423 #endif
1424     if (items != 1)
1425        croak_xs_usage(cv,  "THIS");
1426     {
1427         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
1428         bool    RETVAL;
1429
1430         RETVAL = THIS->HasAlpha();
1431         ST(0) = boolSV(RETVAL);
1432         sv_2mortal(ST(0));
1433     }
1434     XSRETURN(1);
1435 }
1436
1437 #endif
1438 #if WXPERL_W_VERSION_GE( 2, 5, 4 )
1439 #define XSubPPtmpAAAI 1
1440
1441
1442 XS(XS_Wx__Image_InitAlpha); /* prototype to pass -Wmissing-prototypes */
1443 XS(XS_Wx__Image_InitAlpha)
1444 {
1445 #ifdef dVAR
1446     dVAR; dXSARGS;
1447 #else
1448     dXSARGS;
1449 #endif
1450     if (items != 1)
1451        croak_xs_usage(cv,  "THIS");
1452     {
1453         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
1454
1455         THIS->InitAlpha();
1456     }
1457     XSRETURN_EMPTY;
1458 }
1459
1460 #endif
1461 #if WXPERL_W_VERSION_GE( 2, 6, 1 )
1462 #define XSubPPtmpAAAJ 1
1463
1464
1465 XS(XS_Wx__Image_IsTransparent); /* prototype to pass -Wmissing-prototypes */
1466 XS(XS_Wx__Image_IsTransparent)
1467 {
1468 #ifdef dVAR
1469     dVAR; dXSARGS;
1470 #else
1471     dXSARGS;
1472 #endif
1473     if (items < 3 || items > 4)
1474        croak_xs_usage(cv,  "THIS, x, y, threshold = wxIMAGE_ALPHA_THRESHOLD");
1475     {
1476         int     x = (int)SvIV(ST(1));
1477         int     y = (int)SvIV(ST(2));
1478         unsigned char   threshold;
1479         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
1480         bool    RETVAL;
1481
1482         if (items < 4)
1483             threshold = wxIMAGE_ALPHA_THRESHOLD;
1484         else {
1485             threshold = (unsigned char)SvUV(ST(3));
1486         }
1487
1488         RETVAL = THIS->IsTransparent(x, y, threshold);
1489         ST(0) = boolSV(RETVAL);
1490         sv_2mortal(ST(0));
1491     }
1492     XSRETURN(1);
1493 }
1494
1495 #endif
1496
1497 XS(XS_Wx__Image_HasMask); /* prototype to pass -Wmissing-prototypes */
1498 XS(XS_Wx__Image_HasMask)
1499 {
1500 #ifdef dVAR
1501     dVAR; dXSARGS;
1502 #else
1503     dXSARGS;
1504 #endif
1505     if (items != 1)
1506        croak_xs_usage(cv,  "THIS");
1507     {
1508         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
1509         bool    RETVAL;
1510
1511         RETVAL = THIS->HasMask();
1512         ST(0) = boolSV(RETVAL);
1513         sv_2mortal(ST(0));
1514     }
1515     XSRETURN(1);
1516 }
1517
1518
1519 XS(XS_Wx__Image_HasOption); /* prototype to pass -Wmissing-prototypes */
1520 XS(XS_Wx__Image_HasOption)
1521 {
1522 #ifdef dVAR
1523     dVAR; dXSARGS;
1524 #else
1525     dXSARGS;
1526 #endif
1527     if (items != 2)
1528        croak_xs_usage(cv,  "THIS, name");
1529     {
1530         wxString        name;
1531         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
1532         bool    RETVAL;
1533
1534     WXSTRING_INPUT( name, wxString, ST(1) );
1535
1536         RETVAL = THIS->HasOption(name);
1537         ST(0) = boolSV(RETVAL);
1538         sv_2mortal(ST(0));
1539     }
1540     XSRETURN(1);
1541 }
1542
1543
1544 XS(XS_Wx__Image_HasPalette); /* prototype to pass -Wmissing-prototypes */
1545 XS(XS_Wx__Image_HasPalette)
1546 {
1547 #ifdef dVAR
1548     dVAR; dXSARGS;
1549 #else
1550     dXSARGS;
1551 #endif
1552     if (items != 1)
1553        croak_xs_usage(cv,  "THIS");
1554     {
1555         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
1556         bool    RETVAL;
1557
1558         RETVAL = THIS->HasPalette();
1559         ST(0) = boolSV(RETVAL);
1560         sv_2mortal(ST(0));
1561     }
1562     XSRETURN(1);
1563 }
1564
1565
1566 XS(XS_Wx__Image_InsertHandler); /* prototype to pass -Wmissing-prototypes */
1567 XS(XS_Wx__Image_InsertHandler)
1568 {
1569 #ifdef dVAR
1570     dVAR; dXSARGS;
1571 #else
1572     dXSARGS;
1573 #endif
1574     if (items != 1)
1575        croak_xs_usage(cv,  "handler");
1576     {
1577         wxImageHandler*    handler = (wxImageHandler *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ImageHandler" );
1578     wxImage::InsertHandler( handler );
1579     }
1580     XSRETURN_EMPTY;
1581 }
1582
1583
1584 XS(XS_Wx__Image_LoadFile); /* prototype to pass -Wmissing-prototypes */
1585 XS(XS_Wx__Image_LoadFile)
1586 {
1587 #ifdef dVAR
1588     dVAR; dXSARGS;
1589 #else
1590     dXSARGS;
1591 #endif
1592     if (items < 1)
1593        croak_xs_usage(cv,  "THIS, ...");
1594     PERL_UNUSED_VAR(ax); /* -Wall */
1595     SP -= items;
1596     {
1597         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
1598     BEGIN_OVERLOAD()
1599         MATCH_REDISP( wxPliOvl_wist_n, LoadStreamType )
1600         MATCH_REDISP( wxPliOvl_wist_s, LoadStreamMIME )
1601         MATCH_REDISP( wxPliOvl_s_n, LoadFileType )
1602         MATCH_REDISP( wxPliOvl_s_s, LoadFileMIME )
1603     END_OVERLOAD( Wx::Image::LoadFile )
1604         PUTBACK;
1605         return;
1606     }
1607 }
1608
1609
1610 XS(XS_Wx__Image_LoadFileType); /* prototype to pass -Wmissing-prototypes */
1611 XS(XS_Wx__Image_LoadFileType)
1612 {
1613 #ifdef dVAR
1614     dVAR; dXSARGS;
1615 #else
1616     dXSARGS;
1617 #endif
1618     if (items < 3 || items > 4)
1619        croak_xs_usage(cv,  "THIS, name, type, index = -1");
1620     {
1621         wxString        name;
1622         wxBitmapType    type = (wxBitmapType)SvIV(ST(2));
1623         int     index;
1624         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
1625         bool    RETVAL;
1626
1627     WXSTRING_INPUT( name, wxString, ST(1) );
1628
1629         if (items < 4)
1630             index = -1;
1631         else {
1632             index = (int)SvIV(ST(3));
1633         }
1634     RETVAL = THIS->LoadFile( name, type, index );
1635         ST(0) = boolSV(RETVAL);
1636         sv_2mortal(ST(0));
1637     }
1638     XSRETURN(1);
1639 }
1640
1641
1642 XS(XS_Wx__Image_LoadFileMIME); /* prototype to pass -Wmissing-prototypes */
1643 XS(XS_Wx__Image_LoadFileMIME)
1644 {
1645 #ifdef dVAR
1646     dVAR; dXSARGS;
1647 #else
1648     dXSARGS;
1649 #endif
1650     if (items < 3 || items > 4)
1651        croak_xs_usage(cv,  "THIS, name, type, index = -1");
1652     {
1653         wxString        name;
1654         wxString        type;
1655         int     index;
1656         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
1657         bool    RETVAL;
1658
1659     WXSTRING_INPUT( name, wxString, ST(1) );
1660
1661     WXSTRING_INPUT( type, wxString, ST(2) );
1662
1663         if (items < 4)
1664             index = -1;
1665         else {
1666             index = (int)SvIV(ST(3));
1667         }
1668     RETVAL = THIS->LoadFile( name, type, index );
1669         ST(0) = boolSV(RETVAL);
1670         sv_2mortal(ST(0));
1671     }
1672     XSRETURN(1);
1673 }
1674
1675
1676 XS(XS_Wx__Image_LoadStreamType); /* prototype to pass -Wmissing-prototypes */
1677 XS(XS_Wx__Image_LoadStreamType)
1678 {
1679 #ifdef dVAR
1680     dVAR; dXSARGS;
1681 #else
1682     dXSARGS;
1683 #endif
1684     if (items < 3 || items > 4)
1685        croak_xs_usage(cv,  "THIS, stream, type, index = -1");
1686     {
1687         wxPliInputStream        stream;
1688         wxBitmapType    type = (wxBitmapType)SvIV(ST(2));
1689         int     index;
1690         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
1691         bool    RETVAL;
1692
1693     wxPli_sv_2_istream( aTHX_ ST(1), stream );
1694
1695         if (items < 4)
1696             index = -1;
1697         else {
1698             index = (int)SvIV(ST(3));
1699         }
1700     RETVAL = THIS->LoadFile( stream, type, index );
1701         ST(0) = boolSV(RETVAL);
1702         sv_2mortal(ST(0));
1703     }
1704     XSRETURN(1);
1705 }
1706
1707
1708 XS(XS_Wx__Image_LoadStreamMIME); /* prototype to pass -Wmissing-prototypes */
1709 XS(XS_Wx__Image_LoadStreamMIME)
1710 {
1711 #ifdef dVAR
1712     dVAR; dXSARGS;
1713 #else
1714     dXSARGS;
1715 #endif
1716     if (items < 3 || items > 4)
1717        croak_xs_usage(cv,  "THIS, stream, type, index = -1");
1718     {
1719         wxPliInputStream        stream;
1720         wxString        type;
1721         int     index;
1722         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
1723         bool    RETVAL;
1724
1725     wxPli_sv_2_istream( aTHX_ ST(1), stream );
1726
1727     WXSTRING_INPUT( type, wxString, ST(2) );
1728
1729         if (items < 4)
1730             index = -1;
1731         else {
1732             index = (int)SvIV(ST(3));
1733         }
1734     RETVAL = THIS->LoadFile( stream, type, index );
1735         ST(0) = boolSV(RETVAL);
1736         sv_2mortal(ST(0));
1737     }
1738     XSRETURN(1);
1739 }
1740
1741
1742 XS(XS_Wx__Image_Ok); /* prototype to pass -Wmissing-prototypes */
1743 XS(XS_Wx__Image_Ok)
1744 {
1745 #ifdef dVAR
1746     dVAR; dXSARGS;
1747 #else
1748     dXSARGS;
1749 #endif
1750     if (items != 1)
1751        croak_xs_usage(cv,  "THIS");
1752     {
1753         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
1754         bool    RETVAL;
1755
1756         RETVAL = THIS->Ok();
1757         ST(0) = boolSV(RETVAL);
1758         sv_2mortal(ST(0));
1759     }
1760     XSRETURN(1);
1761 }
1762
1763 #if WXPERL_W_VERSION_GE( 2, 8, 0 )
1764 #define XSubPPtmpAAAK 1
1765
1766
1767 XS(XS_Wx__Image_IsOk); /* prototype to pass -Wmissing-prototypes */
1768 XS(XS_Wx__Image_IsOk)
1769 {
1770 #ifdef dVAR
1771     dVAR; dXSARGS;
1772 #else
1773     dXSARGS;
1774 #endif
1775     if (items != 1)
1776        croak_xs_usage(cv,  "THIS");
1777     {
1778         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
1779         bool    RETVAL;
1780
1781         RETVAL = THIS->IsOk();
1782         ST(0) = boolSV(RETVAL);
1783         sv_2mortal(ST(0));
1784     }
1785     XSRETURN(1);
1786 }
1787
1788 #endif
1789
1790 XS(XS_Wx__Image_SaveFile); /* prototype to pass -Wmissing-prototypes */
1791 XS(XS_Wx__Image_SaveFile)
1792 {
1793 #ifdef dVAR
1794     dVAR; dXSARGS;
1795 #else
1796     dXSARGS;
1797 #endif
1798     if (items < 1)
1799        croak_xs_usage(cv,  "THIS, ...");
1800     PERL_UNUSED_VAR(ax); /* -Wall */
1801     SP -= items;
1802     {
1803         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
1804     BEGIN_OVERLOAD()
1805         MATCH_REDISP( wxPliOvl_wost_n, SaveFileSType )
1806         MATCH_REDISP( wxPliOvl_wost_s, SaveFileSMIME )
1807         MATCH_REDISP( wxPliOvl_s_n, SaveFileType )
1808         MATCH_REDISP( wxPliOvl_s_s, SaveFileMIME )
1809         MATCH_REDISP( wxPliOvl_s, SaveFileOnly )
1810     END_OVERLOAD( Wx::Image::SaveFile )
1811         PUTBACK;
1812         return;
1813     }
1814 }
1815
1816
1817 XS(XS_Wx__Image_SaveFileOnly); /* prototype to pass -Wmissing-prototypes */
1818 XS(XS_Wx__Image_SaveFileOnly)
1819 {
1820 #ifdef dVAR
1821     dVAR; dXSARGS;
1822 #else
1823     dXSARGS;
1824 #endif
1825     if (items != 2)
1826        croak_xs_usage(cv,  "THIS, name");
1827     {
1828         wxString        name;
1829         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
1830         bool    RETVAL;
1831
1832     WXSTRING_INPUT( name, wxString, ST(1) );
1833     RETVAL = THIS->SaveFile( name );
1834         ST(0) = boolSV(RETVAL);
1835         sv_2mortal(ST(0));
1836     }
1837     XSRETURN(1);
1838 }
1839
1840
1841 XS(XS_Wx__Image_SaveFileType); /* prototype to pass -Wmissing-prototypes */
1842 XS(XS_Wx__Image_SaveFileType)
1843 {
1844 #ifdef dVAR
1845     dVAR; dXSARGS;
1846 #else
1847     dXSARGS;
1848 #endif
1849     if (items != 3)
1850        croak_xs_usage(cv,  "THIS, name, type");
1851     {
1852         wxString        name;
1853         wxBitmapType    type = (wxBitmapType)SvIV(ST(2));
1854         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
1855         bool    RETVAL;
1856
1857     WXSTRING_INPUT( name, wxString, ST(1) );
1858     RETVAL = THIS->SaveFile( name, type );
1859         ST(0) = boolSV(RETVAL);
1860         sv_2mortal(ST(0));
1861     }
1862     XSRETURN(1);
1863 }
1864
1865
1866 XS(XS_Wx__Image_SaveFileMIME); /* prototype to pass -Wmissing-prototypes */
1867 XS(XS_Wx__Image_SaveFileMIME)
1868 {
1869 #ifdef dVAR
1870     dVAR; dXSARGS;
1871 #else
1872     dXSARGS;
1873 #endif
1874     if (items != 3)
1875        croak_xs_usage(cv,  "THIS, name, type");
1876     {
1877         wxString        name;
1878         wxString        type;
1879         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
1880         bool    RETVAL;
1881
1882     WXSTRING_INPUT( name, wxString, ST(1) );
1883
1884     WXSTRING_INPUT( type, wxString, ST(2) );
1885     RETVAL = THIS->SaveFile( name, type );
1886         ST(0) = boolSV(RETVAL);
1887         sv_2mortal(ST(0));
1888     }
1889     XSRETURN(1);
1890 }
1891
1892
1893 XS(XS_Wx__Image_SaveStreamType); /* prototype to pass -Wmissing-prototypes */
1894 XS(XS_Wx__Image_SaveStreamType)
1895 {
1896 #ifdef dVAR
1897     dVAR; dXSARGS;
1898 #else
1899     dXSARGS;
1900 #endif
1901     if (items != 3)
1902        croak_xs_usage(cv,  "THIS, stream, type");
1903     {
1904         wxPliOutputStream       stream;
1905         wxBitmapType    type = (wxBitmapType)SvIV(ST(2));
1906         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
1907         bool    RETVAL;
1908
1909     wxPli_sv_2_ostream( aTHX_ ST(1), stream );
1910     RETVAL = THIS->SaveFile( stream, type );
1911         ST(0) = boolSV(RETVAL);
1912         sv_2mortal(ST(0));
1913     }
1914     XSRETURN(1);
1915 }
1916
1917
1918 XS(XS_Wx__Image_SaveStreamMIME); /* prototype to pass -Wmissing-prototypes */
1919 XS(XS_Wx__Image_SaveStreamMIME)
1920 {
1921 #ifdef dVAR
1922     dVAR; dXSARGS;
1923 #else
1924     dXSARGS;
1925 #endif
1926     if (items != 3)
1927        croak_xs_usage(cv,  "THIS, stream, type");
1928     {
1929         wxPliOutputStream       stream;
1930         wxString        type;
1931         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
1932         bool    RETVAL;
1933
1934     wxPli_sv_2_ostream( aTHX_ ST(1), stream );
1935
1936     WXSTRING_INPUT( type, wxString, ST(2) );
1937     RETVAL = THIS->SaveFile( stream, type );
1938         ST(0) = boolSV(RETVAL);
1939         sv_2mortal(ST(0));
1940     }
1941     XSRETURN(1);
1942 }
1943
1944
1945 XS(XS_Wx__Image_Mirror); /* prototype to pass -Wmissing-prototypes */
1946 XS(XS_Wx__Image_Mirror)
1947 {
1948 #ifdef dVAR
1949     dVAR; dXSARGS;
1950 #else
1951     dXSARGS;
1952 #endif
1953     if (items < 1 || items > 2)
1954        croak_xs_usage(cv,  "THIS, horizontally = true");
1955     {
1956         bool    horizontally;
1957         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
1958         wxImage *       RETVAL;
1959
1960         if (items < 2)
1961             horizontally = true;
1962         else {
1963             horizontally = (bool)SvTRUE(ST(1));
1964         }
1965     RETVAL = new wxImage( THIS->Mirror( horizontally ) );
1966         ST(0) = sv_newmortal();
1967     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
1968     wxPli_thread_sv_register( aTHX_ "Wx::Image", RETVAL, ST(0) );
1969
1970     }
1971     XSRETURN(1);
1972 }
1973
1974
1975 XS(XS_Wx__Image_Replace); /* prototype to pass -Wmissing-prototypes */
1976 XS(XS_Wx__Image_Replace)
1977 {
1978 #ifdef dVAR
1979     dVAR; dXSARGS;
1980 #else
1981     dXSARGS;
1982 #endif
1983     if (items != 7)
1984        croak_xs_usage(cv,  "THIS, r1, g1, b1, r2, g2, b2");
1985     {
1986         unsigned char   r1 = (unsigned char)SvUV(ST(1));
1987         unsigned char   g1 = (unsigned char)SvUV(ST(2));
1988         unsigned char   b1 = (unsigned char)SvUV(ST(3));
1989         unsigned char   r2 = (unsigned char)SvUV(ST(4));
1990         unsigned char   g2 = (unsigned char)SvUV(ST(5));
1991         unsigned char   b2 = (unsigned char)SvUV(ST(6));
1992         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
1993
1994         THIS->Replace(r1, g1, b1, r2, g2, b2);
1995     }
1996     XSRETURN_EMPTY;
1997 }
1998
1999 #if WXPERL_W_VERSION_GE( 2, 8, 0 )
2000 #define XSubPPtmpAAAL 1
2001
2002
2003 XS(XS_Wx__Image_Rescale); /* prototype to pass -Wmissing-prototypes */
2004 XS(XS_Wx__Image_Rescale)
2005 {
2006 #ifdef dVAR
2007     dVAR; dXSARGS;
2008 #else
2009     dXSARGS;
2010 #endif
2011     if (items < 3 || items > 4)
2012        croak_xs_usage(cv,  "THIS, width, height, quality = wxIMAGE_QUALITY_NORMAL");
2013     {
2014         int     width = (int)SvIV(ST(1));
2015         int     height = (int)SvIV(ST(2));
2016         wxImageResizeQuality    quality;
2017         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
2018         wxImage *       RETVAL;
2019
2020         if (items < 4)
2021             quality = wxIMAGE_QUALITY_NORMAL;
2022         else {
2023             quality = (wxImageResizeQuality)SvIV(ST(3));
2024         }
2025     RETVAL = new wxImage( THIS->Rescale( width, height, quality ) );
2026         ST(0) = sv_newmortal();
2027     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
2028     wxPli_thread_sv_register( aTHX_ "Wx::Image", RETVAL, ST(0) );
2029
2030     }
2031     XSRETURN(1);
2032 }
2033
2034 #else
2035 #define XSubPPtmpAAAM 1
2036
2037
2038 XS(XS_Wx__Image_Rescale); /* prototype to pass -Wmissing-prototypes */
2039 XS(XS_Wx__Image_Rescale)
2040 {
2041 #ifdef dVAR
2042     dVAR; dXSARGS;
2043 #else
2044     dXSARGS;
2045 #endif
2046     if (items != 3)
2047        croak_xs_usage(cv,  "THIS, width, height");
2048     {
2049         int     width = (int)SvIV(ST(1));
2050         int     height = (int)SvIV(ST(2));
2051         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
2052         wxImage *       RETVAL;
2053     RETVAL = new wxImage( THIS->Rescale( width, height ) );
2054         ST(0) = sv_newmortal();
2055     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
2056     wxPli_thread_sv_register( aTHX_ "Wx::Image", RETVAL, ST(0) );
2057
2058     }
2059     XSRETURN(1);
2060 }
2061
2062 #endif
2063
2064 XS(XS_Wx__Image_Rotate); /* prototype to pass -Wmissing-prototypes */
2065 XS(XS_Wx__Image_Rotate)
2066 {
2067 #ifdef dVAR
2068     dVAR; dXSARGS;
2069 #else
2070     dXSARGS;
2071 #endif
2072     if (items < 3 || items > 4)
2073        croak_xs_usage(cv,  "THIS, angle, centre, interpolating = true");
2074     PERL_UNUSED_VAR(ax); /* -Wall */
2075     SP -= items;
2076     {
2077         double  angle = (double)SvNV(ST(1));
2078         wxPoint    centre = wxPli_sv_2_wxpoint( aTHX_ ST(2) );
2079         bool    interpolating;
2080     wxPoint after;
2081     wxImage* result;
2082         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
2083
2084         if (items < 4)
2085             interpolating = true;
2086         else {
2087             interpolating = (bool)SvTRUE(ST(3));
2088         }
2089     result = new wxImage( THIS->Rotate( angle, centre, interpolating, &after ) );
2090     XPUSHs( wxPli_object_2_sv( aTHX_ sv_newmortal(), result ) );
2091     if( GIMME_V == G_ARRAY ) {
2092       PUSHs( wxPli_non_object_2_sv( aTHX_ sv_newmortal(), 
2093              new wxPoint( after ), "Wx::Point" ) );
2094     }
2095         PUTBACK;
2096         return;
2097     }
2098 }
2099
2100 #if WXPERL_W_VERSION_GE( 2, 6, 3 )
2101 #define XSubPPtmpAAAN 1
2102
2103
2104 XS(XS_Wx__Image_RotateHue); /* prototype to pass -Wmissing-prototypes */
2105 XS(XS_Wx__Image_RotateHue)
2106 {
2107 #ifdef dVAR
2108     dVAR; dXSARGS;
2109 #else
2110     dXSARGS;
2111 #endif
2112     if (items != 2)
2113        croak_xs_usage(cv,  "THIS, angle");
2114     {
2115         double  angle = (double)SvNV(ST(1));
2116         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
2117
2118         THIS->RotateHue(angle);
2119     }
2120     XSRETURN_EMPTY;
2121 }
2122
2123 #endif
2124
2125 XS(XS_Wx__Image_Rotate90); /* prototype to pass -Wmissing-prototypes */
2126 XS(XS_Wx__Image_Rotate90)
2127 {
2128 #ifdef dVAR
2129     dVAR; dXSARGS;
2130 #else
2131     dXSARGS;
2132 #endif
2133     if (items < 1 || items > 2)
2134        croak_xs_usage(cv,  "THIS, clockwise = true");
2135     {
2136         bool    clockwise;
2137         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
2138         wxImage *       RETVAL;
2139
2140         if (items < 2)
2141             clockwise = true;
2142         else {
2143             clockwise = (bool)SvTRUE(ST(1));
2144         }
2145     RETVAL = new wxImage( THIS->Rotate90( clockwise ) );
2146         ST(0) = sv_newmortal();
2147     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
2148     wxPli_thread_sv_register( aTHX_ "Wx::Image", RETVAL, ST(0) );
2149
2150     }
2151     XSRETURN(1);
2152 }
2153
2154 #if WXPERL_W_VERSION_GE( 2, 4, 1 )
2155 #define XSubPPtmpAAAO 1
2156
2157
2158 XS(XS_Wx__Image_ShrinkBy); /* prototype to pass -Wmissing-prototypes */
2159 XS(XS_Wx__Image_ShrinkBy)
2160 {
2161 #ifdef dVAR
2162     dVAR; dXSARGS;
2163 #else
2164     dXSARGS;
2165 #endif
2166     if (items != 3)
2167        croak_xs_usage(cv,  "THIS, xfactor, yfactor");
2168     {
2169         int     xfactor = (int)SvIV(ST(1));
2170         int     yfactor = (int)SvIV(ST(2));
2171         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
2172         wxImage *       RETVAL;
2173     RETVAL = new wxImage( THIS->ShrinkBy( xfactor, yfactor ) );
2174         ST(0) = sv_newmortal();
2175     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
2176     wxPli_thread_sv_register( aTHX_ "Wx::Image", RETVAL, ST(0) );
2177
2178     }
2179     XSRETURN(1);
2180 }
2181
2182 #endif
2183 #if WXPERL_W_VERSION_GE( 2, 8, 0 )
2184 #define XSubPPtmpAAAP 1
2185
2186
2187 XS(XS_Wx__Image_Scale); /* prototype to pass -Wmissing-prototypes */
2188 XS(XS_Wx__Image_Scale)
2189 {
2190 #ifdef dVAR
2191     dVAR; dXSARGS;
2192 #else
2193     dXSARGS;
2194 #endif
2195     if (items < 3 || items > 4)
2196        croak_xs_usage(cv,  "THIS, width, height, quality = wxIMAGE_QUALITY_NORMAL");
2197     {
2198         int     width = (int)SvIV(ST(1));
2199         int     height = (int)SvIV(ST(2));
2200         wxImageResizeQuality    quality;
2201         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
2202         wxImage *       RETVAL;
2203
2204         if (items < 4)
2205             quality = wxIMAGE_QUALITY_NORMAL;
2206         else {
2207             quality = (wxImageResizeQuality)SvIV(ST(3));
2208         }
2209     RETVAL = new wxImage( THIS->Scale( width, height, quality ) );
2210         ST(0) = sv_newmortal();
2211     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
2212     wxPli_thread_sv_register( aTHX_ "Wx::Image", RETVAL, ST(0) );
2213
2214     }
2215     XSRETURN(1);
2216 }
2217
2218 #else
2219 #define XSubPPtmpAAAQ 1
2220
2221
2222 XS(XS_Wx__Image_Scale); /* prototype to pass -Wmissing-prototypes */
2223 XS(XS_Wx__Image_Scale)
2224 {
2225 #ifdef dVAR
2226     dVAR; dXSARGS;
2227 #else
2228     dXSARGS;
2229 #endif
2230     if (items != 3)
2231        croak_xs_usage(cv,  "THIS, width, height");
2232     {
2233         int     width = (int)SvIV(ST(1));
2234         int     height = (int)SvIV(ST(2));
2235         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
2236         wxImage *       RETVAL;
2237     RETVAL = new wxImage( THIS->Scale( width, height ) );
2238         ST(0) = sv_newmortal();
2239     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
2240     wxPli_thread_sv_register( aTHX_ "Wx::Image", RETVAL, ST(0) );
2241
2242     }
2243     XSRETURN(1);
2244 }
2245
2246 #endif
2247 #if WXPERL_W_VERSION_GE( 2, 5, 3 )
2248 #define XSubPPtmpAAAR 1
2249
2250
2251 XS(XS_Wx__Image_SetAlpha); /* prototype to pass -Wmissing-prototypes */
2252 XS(XS_Wx__Image_SetAlpha)
2253 {
2254 #ifdef dVAR
2255     dVAR; dXSARGS;
2256 #else
2257     dXSARGS;
2258 #endif
2259     if (items < 1)
2260        croak_xs_usage(cv,  "THIS, ...");
2261     PERL_UNUSED_VAR(ax); /* -Wall */
2262     SP -= items;
2263     {
2264         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
2265     BEGIN_OVERLOAD()
2266         MATCH_REDISP( wxPliOvl_s, SetAlphaData )
2267         MATCH_REDISP( wxPliOvl_n_n_n, SetAlphaXY )
2268     END_OVERLOAD( Wx::Image::SetAlpha )
2269         PUTBACK;
2270         return;
2271     }
2272 }
2273
2274
2275 XS(XS_Wx__Image_SetAlphaXY); /* prototype to pass -Wmissing-prototypes */
2276 XS(XS_Wx__Image_SetAlphaXY)
2277 {
2278 #ifdef dVAR
2279     dVAR; dXSARGS;
2280 #else
2281     dXSARGS;
2282 #endif
2283     if (items != 4)
2284        croak_xs_usage(cv,  "THIS, x, y, alpha");
2285     {
2286         int     x = (int)SvIV(ST(1));
2287         int     y = (int)SvIV(ST(2));
2288         unsigned char   alpha = (unsigned char)SvUV(ST(3));
2289         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
2290     THIS->SetAlpha( x, y, alpha );
2291     }
2292     XSRETURN_EMPTY;
2293 }
2294
2295
2296 XS(XS_Wx__Image_SetAlphaData); /* prototype to pass -Wmissing-prototypes */
2297 XS(XS_Wx__Image_SetAlphaData)
2298 {
2299 #ifdef dVAR
2300     dVAR; dXSARGS;
2301 #else
2302     dXSARGS;
2303 #endif
2304     if (items != 2)
2305        croak_xs_usage(cv,  "THIS, d");
2306     {
2307         SV*     d = ST(1);
2308         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
2309     STRLEN len;
2310     unsigned char* data = (unsigned char*) SvPV( d, len );
2311     STRLEN imglen = THIS->GetWidth() * THIS->GetHeight();
2312     unsigned char* data_copy = (unsigned char*) malloc( imglen );
2313     memcpy( data_copy, data, len );
2314     THIS->SetAlpha( data_copy );
2315     }
2316     XSRETURN_EMPTY;
2317 }
2318
2319 #endif
2320
2321 XS(XS_Wx__Image_SetData); /* prototype to pass -Wmissing-prototypes */
2322 XS(XS_Wx__Image_SetData)
2323 {
2324 #ifdef dVAR
2325     dVAR; dXSARGS;
2326 #else
2327     dXSARGS;
2328 #endif
2329     if (items != 2)
2330        croak_xs_usage(cv,  "THIS, d");
2331     {
2332         SV*     d = ST(1);
2333         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
2334     STRLEN len;
2335     unsigned char* data = (unsigned char*)SvPV( d, len );
2336     STRLEN imglen = THIS->GetWidth() * THIS->GetHeight() * 3;
2337     unsigned char* data_copy = (unsigned char*)malloc( imglen );
2338     memcpy( data_copy, data, len );
2339     THIS->SetData( data_copy );
2340     }
2341     XSRETURN_EMPTY;
2342 }
2343
2344
2345 XS(XS_Wx__Image_SetMask); /* prototype to pass -Wmissing-prototypes */
2346 XS(XS_Wx__Image_SetMask)
2347 {
2348 #ifdef dVAR
2349     dVAR; dXSARGS;
2350 #else
2351     dXSARGS;
2352 #endif
2353     if (items < 1 || items > 2)
2354        croak_xs_usage(cv,  "THIS, hasMask = true");
2355     {
2356         bool    hasMask;
2357         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
2358
2359         if (items < 2)
2360             hasMask = true;
2361         else {
2362             hasMask = (bool)SvTRUE(ST(1));
2363         }
2364
2365         THIS->SetMask(hasMask);
2366     }
2367     XSRETURN_EMPTY;
2368 }
2369
2370
2371 XS(XS_Wx__Image_SetMaskColour); /* prototype to pass -Wmissing-prototypes */
2372 XS(XS_Wx__Image_SetMaskColour)
2373 {
2374 #ifdef dVAR
2375     dVAR; dXSARGS;
2376 #else
2377     dXSARGS;
2378 #endif
2379     if (items != 4)
2380        croak_xs_usage(cv,  "THIS, red, green, blue");
2381     {
2382         unsigned char   red = (unsigned char)SvUV(ST(1));
2383         unsigned char   green = (unsigned char)SvUV(ST(2));
2384         unsigned char   blue = (unsigned char)SvUV(ST(3));
2385         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
2386
2387         THIS->SetMaskColour(red, green, blue);
2388     }
2389     XSRETURN_EMPTY;
2390 }
2391
2392
2393 XS(XS_Wx__Image_SetOption); /* prototype to pass -Wmissing-prototypes */
2394 XS(XS_Wx__Image_SetOption)
2395 {
2396 #ifdef dVAR
2397     dVAR; dXSARGS;
2398 #else
2399     dXSARGS;
2400 #endif
2401     if (items != 3)
2402        croak_xs_usage(cv,  "THIS, name, value");
2403     {
2404         wxString        name;
2405         wxString        value;
2406         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
2407
2408     WXSTRING_INPUT( name, wxString, ST(1) );
2409
2410     WXSTRING_INPUT( value, wxString, ST(2) );
2411
2412         THIS->SetOption(name, value);
2413     }
2414     XSRETURN_EMPTY;
2415 }
2416
2417
2418 XS(XS_Wx__Image_SetOptionInt); /* prototype to pass -Wmissing-prototypes */
2419 XS(XS_Wx__Image_SetOptionInt)
2420 {
2421 #ifdef dVAR
2422     dVAR; dXSARGS;
2423 #else
2424     dXSARGS;
2425 #endif
2426     if (items != 3)
2427        croak_xs_usage(cv,  "THIS, name, value");
2428     {
2429         wxString        name;
2430         int     value = (int)SvIV(ST(2));
2431         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
2432
2433     WXSTRING_INPUT( name, wxString, ST(1) );
2434     THIS->SetOption( name, value );
2435     }
2436     XSRETURN_EMPTY;
2437 }
2438
2439
2440 XS(XS_Wx__Image_SetPalette); /* prototype to pass -Wmissing-prototypes */
2441 XS(XS_Wx__Image_SetPalette)
2442 {
2443 #ifdef dVAR
2444     dVAR; dXSARGS;
2445 #else
2446     dXSARGS;
2447 #endif
2448     if (items != 2)
2449        croak_xs_usage(cv,  "THIS, palette");
2450     {
2451         wxPalette*    palette = (wxPalette *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Palette" );
2452         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
2453     THIS->SetPalette( *palette );
2454     }
2455     XSRETURN_EMPTY;
2456 }
2457
2458 #if WXPERL_W_VERSION_GE( 2, 8, 0 )
2459 #define XSubPPtmpAAAS 1
2460
2461
2462 XS(XS_Wx__Image_SetRGB); /* prototype to pass -Wmissing-prototypes */
2463 XS(XS_Wx__Image_SetRGB)
2464 {
2465 #ifdef dVAR
2466     dVAR; dXSARGS;
2467 #else
2468     dXSARGS;
2469 #endif
2470     if (items < 1)
2471        croak_xs_usage(cv,  "THIS, ...");
2472     PERL_UNUSED_VAR(ax); /* -Wall */
2473     SP -= items;
2474     {
2475         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
2476     BEGIN_OVERLOAD()
2477         MATCH_REDISP( wxPliOvl_n_n_n_n_n, SetRGBpixel )
2478         MATCH_REDISP( wxPliOvl_wrec_n_n_n, SetRGBrect )
2479     END_OVERLOAD( Wx::Image::SetRGB )
2480         PUTBACK;
2481         return;
2482     }
2483 }
2484
2485
2486 XS(XS_Wx__Image_SetRGBpixel); /* prototype to pass -Wmissing-prototypes */
2487 XS(XS_Wx__Image_SetRGBpixel)
2488 {
2489 #ifdef dVAR
2490     dVAR; dXSARGS;
2491 #else
2492     dXSARGS;
2493 #endif
2494     if (items != 6)
2495        croak_xs_usage(cv,  "THIS, x, y, red, green, blue");
2496     {
2497         int     x = (int)SvIV(ST(1));
2498         int     y = (int)SvIV(ST(2));
2499         unsigned char   red = (unsigned char)SvUV(ST(3));
2500         unsigned char   green = (unsigned char)SvUV(ST(4));
2501         unsigned char   blue = (unsigned char)SvUV(ST(5));
2502         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
2503     THIS->SetRGB( x, y, red, green, blue  );
2504     }
2505     XSRETURN_EMPTY;
2506 }
2507
2508
2509 XS(XS_Wx__Image_SetRGBrect); /* prototype to pass -Wmissing-prototypes */
2510 XS(XS_Wx__Image_SetRGBrect)
2511 {
2512 #ifdef dVAR
2513     dVAR; dXSARGS;
2514 #else
2515     dXSARGS;
2516 #endif
2517     if (items != 5)
2518        croak_xs_usage(cv,  "THIS, rect, red, green, blue");
2519     {
2520         wxRect*    rect = (wxRect *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Rect" );
2521         unsigned char   red = (unsigned char)SvUV(ST(2));
2522         unsigned char   green = (unsigned char)SvUV(ST(3));
2523         unsigned char   blue = (unsigned char)SvUV(ST(4));
2524         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
2525     THIS->SetRGB( *rect, red, green, blue  );    
2526     }
2527     XSRETURN_EMPTY;
2528 }
2529
2530 #else
2531 #define XSubPPtmpAAAT 1
2532
2533
2534 XS(XS_Wx__Image_SetRGB); /* prototype to pass -Wmissing-prototypes */
2535 XS(XS_Wx__Image_SetRGB)
2536 {
2537 #ifdef dVAR
2538     dVAR; dXSARGS;
2539 #else
2540     dXSARGS;
2541 #endif
2542     if (items != 6)
2543        croak_xs_usage(cv,  "THIS, x, y, red, green, blue");
2544     {
2545         int     x = (int)SvIV(ST(1));
2546         int     y = (int)SvIV(ST(2));
2547         unsigned char   red = (unsigned char)SvUV(ST(3));
2548         unsigned char   green = (unsigned char)SvUV(ST(4));
2549         unsigned char   blue = (unsigned char)SvUV(ST(5));
2550         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
2551
2552         THIS->SetRGB(x, y, red, green, blue);
2553     }
2554     XSRETURN_EMPTY;
2555 }
2556
2557 #endif
2558 #if WXPERL_W_VERSION_GE( 2, 8, 0 )
2559 #define XSubPPtmpAAAU 1
2560
2561
2562 XS(XS_Wx__Image_Blur); /* prototype to pass -Wmissing-prototypes */
2563 XS(XS_Wx__Image_Blur)
2564 {
2565 #ifdef dVAR
2566     dVAR; dXSARGS;
2567 #else
2568     dXSARGS;
2569 #endif
2570     if (items != 2)
2571        croak_xs_usage(cv,  "THIS, blurradius");
2572     {
2573         int     blurradius = (int)SvIV(ST(1));
2574         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
2575         wxImage *       RETVAL;
2576     RETVAL = new wxImage( THIS->Blur( blurradius ) );
2577         ST(0) = sv_newmortal();
2578     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
2579     wxPli_thread_sv_register( aTHX_ "Wx::Image", RETVAL, ST(0) );
2580
2581     }
2582     XSRETURN(1);
2583 }
2584
2585
2586 XS(XS_Wx__Image_BlurHorizontal); /* prototype to pass -Wmissing-prototypes */
2587 XS(XS_Wx__Image_BlurHorizontal)
2588 {
2589 #ifdef dVAR
2590     dVAR; dXSARGS;
2591 #else
2592     dXSARGS;
2593 #endif
2594     if (items != 2)
2595        croak_xs_usage(cv,  "THIS, blurradius");
2596     {
2597         int     blurradius = (int)SvIV(ST(1));
2598         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
2599         wxImage *       RETVAL;
2600     RETVAL = new wxImage( THIS->BlurHorizontal( blurradius ) );
2601         ST(0) = sv_newmortal();
2602     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
2603     wxPli_thread_sv_register( aTHX_ "Wx::Image", RETVAL, ST(0) );
2604
2605     }
2606     XSRETURN(1);
2607 }
2608
2609
2610 XS(XS_Wx__Image_BlurVertical); /* prototype to pass -Wmissing-prototypes */
2611 XS(XS_Wx__Image_BlurVertical)
2612 {
2613 #ifdef dVAR
2614     dVAR; dXSARGS;
2615 #else
2616     dXSARGS;
2617 #endif
2618     if (items != 2)
2619        croak_xs_usage(cv,  "THIS, blurradius");
2620     {
2621         int     blurradius = (int)SvIV(ST(1));
2622         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
2623         wxImage *       RETVAL;
2624     RETVAL = new wxImage( THIS->BlurVertical( blurradius ) );
2625         ST(0) = sv_newmortal();
2626     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
2627     wxPli_thread_sv_register( aTHX_ "Wx::Image", RETVAL, ST(0) );
2628
2629     }
2630     XSRETURN(1);
2631 }
2632
2633
2634 XS(XS_Wx__Image_GetOrFindMaskColour); /* prototype to pass -Wmissing-prototypes */
2635 XS(XS_Wx__Image_GetOrFindMaskColour)
2636 {
2637 #ifdef dVAR
2638     dVAR; dXSARGS;
2639 #else
2640     dXSARGS;
2641 #endif
2642     if (items != 4)
2643        croak_xs_usage(cv,  "THIS, red, green, blue");
2644     {
2645         unsigned char*  red = (unsigned char *)SvPV_nolen(ST(1));
2646         unsigned char*  green = (unsigned char *)SvPV_nolen(ST(2));
2647         unsigned char*  blue = (unsigned char *)SvPV_nolen(ST(3));
2648         wxImage *    THIS = (wxImage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Image" );
2649         bool    RETVAL;
2650
2651         RETVAL = THIS->GetOrFindMaskColour(red, green, blue);
2652         ST(0) = boolSV(RETVAL);
2653         sv_2mortal(ST(0));
2654     }
2655     XSRETURN(1);
2656 }
2657
2658 #endif
2659
2660 XS(XS_Wx__ImageHandler_Destroy); /* prototype to pass -Wmissing-prototypes */
2661 XS(XS_Wx__ImageHandler_Destroy)
2662 {
2663 #ifdef dVAR
2664     dVAR; dXSARGS;
2665 #else
2666     dXSARGS;
2667 #endif
2668     if (items != 1)
2669        croak_xs_usage(cv,  "THIS");
2670     {
2671         wxImageHandler *    THIS = (wxImageHandler *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ImageHandler" );
2672     delete THIS;
2673     }
2674     XSRETURN_EMPTY;
2675 }
2676
2677
2678 XS(XS_Wx__ImageHandler_GetImageCount); /* prototype to pass -Wmissing-prototypes */
2679 XS(XS_Wx__ImageHandler_GetImageCount)
2680 {
2681 #ifdef dVAR
2682     dVAR; dXSARGS;
2683 #else
2684     dXSARGS;
2685 #endif
2686     if (items != 2)
2687        croak_xs_usage(cv,  "THIS, stream");
2688     {
2689         wxPliInputStream        stream;
2690         wxImageHandler *    THIS = (wxImageHandler *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ImageHandler" );
2691         int     RETVAL;
2692         dXSTARG;
2693
2694     wxPli_sv_2_istream( aTHX_ ST(1), stream );
2695
2696         RETVAL = THIS->GetImageCount(stream);
2697         XSprePUSH; PUSHi((IV)RETVAL);
2698     }
2699     XSRETURN(1);
2700 }
2701
2702
2703 XS(XS_Wx__ImageHandler_GetName); /* prototype to pass -Wmissing-prototypes */
2704 XS(XS_Wx__ImageHandler_GetName)
2705 {
2706 #ifdef dVAR
2707     dVAR; dXSARGS;
2708 #else
2709     dXSARGS;
2710 #endif
2711     if (items != 1)
2712        croak_xs_usage(cv,  "THIS");
2713     {
2714         wxImageHandler *    THIS = (wxImageHandler *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ImageHandler" );
2715         wxString        RETVAL;
2716
2717         RETVAL = THIS->GetName();
2718         ST(0) = sv_newmortal();
2719     WXSTRING_OUTPUT( RETVAL, ST(0) );
2720
2721     }
2722     XSRETURN(1);
2723 }
2724
2725
2726 XS(XS_Wx__ImageHandler_GetExtension); /* prototype to pass -Wmissing-prototypes */
2727 XS(XS_Wx__ImageHandler_GetExtension)
2728 {
2729 #ifdef dVAR
2730     dVAR; dXSARGS;
2731 #else
2732     dXSARGS;
2733 #endif
2734     if (items != 1)
2735        croak_xs_usage(cv,  "THIS");
2736     {
2737         wxImageHandler *    THIS = (wxImageHandler *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ImageHandler" );
2738         wxString        RETVAL;
2739
2740         RETVAL = THIS->GetExtension();
2741         ST(0) = sv_newmortal();
2742     WXSTRING_OUTPUT( RETVAL, ST(0) );
2743
2744     }
2745     XSRETURN(1);
2746 }
2747
2748 #if WXPERL_W_VERSION_GE( 2, 9, 0 )
2749 #define XSubPPtmpAAAV 1
2750
2751
2752 XS(XS_Wx__ImageHandler_GetType); /* prototype to pass -Wmissing-prototypes */
2753 XS(XS_Wx__ImageHandler_GetType)
2754 {
2755 #ifdef dVAR
2756     dVAR; dXSARGS;
2757 #else
2758     dXSARGS;
2759 #endif
2760     if (items != 1)
2761        croak_xs_usage(cv,  "THIS");
2762     {
2763         wxImageHandler *    THIS = (wxImageHandler *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ImageHandler" );
2764         wxBitmapType    RETVAL;
2765         dXSTARG;
2766
2767         RETVAL = THIS->GetType();
2768         XSprePUSH; PUSHi((IV)RETVAL);
2769     }
2770     XSRETURN(1);
2771 }
2772
2773 #else
2774 #define XSubPPtmpAAAW 1
2775
2776
2777 XS(XS_Wx__ImageHandler_GetType); /* prototype to pass -Wmissing-prototypes */
2778 XS(XS_Wx__ImageHandler_GetType)
2779 {
2780 #ifdef dVAR
2781     dVAR; dXSARGS;
2782 #else
2783     dXSARGS;
2784 #endif
2785     if (items != 1)
2786        croak_xs_usage(cv,  "THIS");
2787     {
2788         wxImageHandler *    THIS = (wxImageHandler *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ImageHandler" );
2789         long    RETVAL;
2790         dXSTARG;
2791
2792         RETVAL = THIS->GetType();
2793         XSprePUSH; PUSHi((IV)RETVAL);
2794     }
2795     XSRETURN(1);
2796 }
2797
2798 #endif
2799
2800 XS(XS_Wx__ImageHandler_GetMimeType); /* prototype to pass -Wmissing-prototypes */
2801 XS(XS_Wx__ImageHandler_GetMimeType)
2802 {
2803 #ifdef dVAR
2804     dVAR; dXSARGS;
2805 #else
2806     dXSARGS;
2807 #endif
2808     if (items != 1)
2809        croak_xs_usage(cv,  "THIS");
2810     {
2811         wxImageHandler *    THIS = (wxImageHandler *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ImageHandler" );
2812         wxString        RETVAL;
2813
2814         RETVAL = THIS->GetMimeType();
2815         ST(0) = sv_newmortal();
2816     WXSTRING_OUTPUT( RETVAL, ST(0) );
2817
2818     }
2819     XSRETURN(1);
2820 }
2821
2822
2823 XS(XS_Wx__ImageHandler_LoadFile); /* prototype to pass -Wmissing-prototypes */
2824 XS(XS_Wx__ImageHandler_LoadFile)
2825 {
2826 #ifdef dVAR
2827     dVAR; dXSARGS;
2828 #else
2829     dXSARGS;
2830 #endif
2831     if (items < 3 || items > 5)
2832        croak_xs_usage(cv,  "THIS, image, stream, verbose = true, index = 0");
2833     {
2834         wxImage*    image = (wxImage *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Image" );
2835         wxPliInputStream        stream;
2836         bool    verbose;
2837         int     index;
2838         wxImageHandler *    THIS = (wxImageHandler *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ImageHandler" );
2839         bool    RETVAL;
2840
2841     wxPli_sv_2_istream( aTHX_ ST(2), stream );
2842
2843         if (items < 4)
2844             verbose = true;
2845         else {
2846             verbose = (bool)SvTRUE(ST(3));
2847         }
2848
2849         if (items < 5)
2850             index = 0;
2851         else {
2852             index = (int)SvIV(ST(4));
2853         }
2854
2855         RETVAL = THIS->LoadFile(image, stream, verbose, index);
2856         ST(0) = boolSV(RETVAL);
2857         sv_2mortal(ST(0));
2858     }
2859     XSRETURN(1);
2860 }
2861
2862
2863 XS(XS_Wx__ImageHandler_SaveFile); /* prototype to pass -Wmissing-prototypes */
2864 XS(XS_Wx__ImageHandler_SaveFile)
2865 {
2866 #ifdef dVAR
2867     dVAR; dXSARGS;
2868 #else
2869     dXSARGS;
2870 #endif
2871     if (items != 3)
2872        croak_xs_usage(cv,  "THIS, image, stream");
2873     {
2874         wxImage*    image = (wxImage *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Image" );
2875         wxPliOutputStream       stream;
2876         wxImageHandler *    THIS = (wxImageHandler *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ImageHandler" );
2877         bool    RETVAL;
2878
2879     wxPli_sv_2_ostream( aTHX_ ST(2), stream );
2880
2881         RETVAL = THIS->SaveFile(image, stream);
2882         ST(0) = boolSV(RETVAL);
2883         sv_2mortal(ST(0));
2884     }
2885     XSRETURN(1);
2886 }
2887
2888
2889 XS(XS_Wx__ImageHandler_SetName); /* prototype to pass -Wmissing-prototypes */
2890 XS(XS_Wx__ImageHandler_SetName)
2891 {
2892 #ifdef dVAR
2893     dVAR; dXSARGS;
2894 #else
2895     dXSARGS;
2896 #endif
2897     if (items != 2)
2898        croak_xs_usage(cv,  "THIS, name");
2899     {
2900         wxString        name;
2901         wxImageHandler *    THIS = (wxImageHandler *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ImageHandler" );
2902
2903     WXSTRING_INPUT( name, wxString, ST(1) );
2904
2905         THIS->SetName(name);
2906     }
2907     XSRETURN_EMPTY;
2908 }
2909
2910
2911 XS(XS_Wx__ImageHandler_SetExtension); /* prototype to pass -Wmissing-prototypes */
2912 XS(XS_Wx__ImageHandler_SetExtension)
2913 {
2914 #ifdef dVAR
2915     dVAR; dXSARGS;
2916 #else
2917     dXSARGS;
2918 #endif
2919     if (items != 2)
2920        croak_xs_usage(cv,  "THIS, ext");
2921     {
2922         wxString        ext;
2923         wxImageHandler *    THIS = (wxImageHandler *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ImageHandler" );
2924
2925     WXSTRING_INPUT( ext, wxString, ST(1) );
2926
2927         THIS->SetExtension(ext);
2928     }
2929     XSRETURN_EMPTY;
2930 }
2931
2932
2933 XS(XS_Wx__ImageHandler_SetMimeType); /* prototype to pass -Wmissing-prototypes */
2934 XS(XS_Wx__ImageHandler_SetMimeType)
2935 {
2936 #ifdef dVAR
2937     dVAR; dXSARGS;
2938 #else
2939     dXSARGS;
2940 #endif
2941     if (items != 2)
2942        croak_xs_usage(cv,  "THIS, type");
2943     {
2944         wxString        type;
2945         wxImageHandler *    THIS = (wxImageHandler *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ImageHandler" );
2946
2947     WXSTRING_INPUT( type, wxString, ST(1) );
2948
2949         THIS->SetMimeType(type);
2950     }
2951     XSRETURN_EMPTY;
2952 }
2953
2954
2955 XS(XS_Wx__ImageHandler_SetType); /* prototype to pass -Wmissing-prototypes */
2956 XS(XS_Wx__ImageHandler_SetType)
2957 {
2958 #ifdef dVAR
2959     dVAR; dXSARGS;
2960 #else
2961     dXSARGS;
2962 #endif
2963     if (items != 2)
2964        croak_xs_usage(cv,  "THIS, type");
2965     {
2966         wxBitmapType    type = (wxBitmapType)SvIV(ST(1));
2967         wxImageHandler *    THIS = (wxImageHandler *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ImageHandler" );
2968
2969         THIS->SetType(type);
2970     }
2971     XSRETURN_EMPTY;
2972 }
2973
2974
2975 XS(XS_Wx__GIFHandler_new); /* prototype to pass -Wmissing-prototypes */
2976 XS(XS_Wx__GIFHandler_new)
2977 {
2978 #ifdef dVAR
2979     dVAR; dXSARGS;
2980 #else
2981     dXSARGS;
2982 #endif
2983     if (items != 1)
2984        croak_xs_usage(cv,  "CLASS");
2985     {
2986         char *  CLASS = (char *)SvPV_nolen(ST(0));
2987         wxGIFHandler *  RETVAL;
2988
2989         RETVAL = new wxGIFHandler();
2990         ST(0) = sv_newmortal();
2991     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
2992
2993     }
2994     XSRETURN(1);
2995 }
2996
2997
2998 XS(XS_Wx__BMPHandler_new); /* prototype to pass -Wmissing-prototypes */
2999 XS(XS_Wx__BMPHandler_new)
3000 {
3001 #ifdef dVAR
3002     dVAR; dXSARGS;
3003 #else
3004     dXSARGS;
3005 #endif
3006     if (items != 1)
3007        croak_xs_usage(cv,  "CLASS");
3008     {
3009         char *  CLASS = (char *)SvPV_nolen(ST(0));
3010         wxBMPHandler *  RETVAL;
3011
3012         RETVAL = new wxBMPHandler();
3013         ST(0) = sv_newmortal();
3014     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
3015
3016     }
3017     XSRETURN(1);
3018 }
3019
3020
3021 XS(XS_Wx__PNMHandler_new); /* prototype to pass -Wmissing-prototypes */
3022 XS(XS_Wx__PNMHandler_new)
3023 {
3024 #ifdef dVAR
3025     dVAR; dXSARGS;
3026 #else
3027     dXSARGS;
3028 #endif
3029     if (items != 1)
3030        croak_xs_usage(cv,  "CLASS");
3031     {
3032         char *  CLASS = (char *)SvPV_nolen(ST(0));
3033         wxPNMHandler *  RETVAL;
3034
3035         RETVAL = new wxPNMHandler();
3036         ST(0) = sv_newmortal();
3037     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
3038
3039     }
3040     XSRETURN(1);
3041 }
3042
3043
3044 XS(XS_Wx__PCXHandler_new); /* prototype to pass -Wmissing-prototypes */
3045 XS(XS_Wx__PCXHandler_new)
3046 {
3047 #ifdef dVAR
3048     dVAR; dXSARGS;
3049 #else
3050     dXSARGS;
3051 #endif
3052     if (items != 1)
3053        croak_xs_usage(cv,  "CLASS");
3054     {
3055         char *  CLASS = (char *)SvPV_nolen(ST(0));
3056         wxPCXHandler *  RETVAL;
3057
3058         RETVAL = new wxPCXHandler();
3059         ST(0) = sv_newmortal();
3060     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
3061
3062     }
3063     XSRETURN(1);
3064 }
3065
3066
3067 XS(XS_Wx__PNGHandler_new); /* prototype to pass -Wmissing-prototypes */
3068 XS(XS_Wx__PNGHandler_new)
3069 {
3070 #ifdef dVAR
3071     dVAR; dXSARGS;
3072 #else
3073     dXSARGS;
3074 #endif
3075     if (items != 1)
3076        croak_xs_usage(cv,  "CLASS");
3077     {
3078         char *  CLASS = (char *)SvPV_nolen(ST(0));
3079         wxPNGHandler *  RETVAL;
3080
3081         RETVAL = new wxPNGHandler();
3082         ST(0) = sv_newmortal();
3083     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
3084
3085     }
3086     XSRETURN(1);
3087 }
3088
3089
3090 XS(XS_Wx__JPEGHandler_new); /* prototype to pass -Wmissing-prototypes */
3091 XS(XS_Wx__JPEGHandler_new)
3092 {
3093 #ifdef dVAR
3094     dVAR; dXSARGS;
3095 #else
3096     dXSARGS;
3097 #endif
3098     if (items != 1)
3099        croak_xs_usage(cv,  "CLASS");
3100     {
3101         char *  CLASS = (char *)SvPV_nolen(ST(0));
3102         wxJPEGHandler * RETVAL;
3103
3104         RETVAL = new wxJPEGHandler();
3105         ST(0) = sv_newmortal();
3106     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
3107
3108     }
3109     XSRETURN(1);
3110 }
3111
3112 #if wxPERL_USE_LIBTIFF && !defined( __WXWINCE__ )
3113 #define XSubPPtmpAAAX 1
3114
3115
3116 XS(XS_Wx__TIFFHandler_new); /* prototype to pass -Wmissing-prototypes */
3117 XS(XS_Wx__TIFFHandler_new)
3118 {
3119 #ifdef dVAR
3120     dVAR; dXSARGS;
3121 #else
3122     dXSARGS;
3123 #endif
3124     if (items != 1)
3125        croak_xs_usage(cv,  "CLASS");
3126     {
3127         char *  CLASS = (char *)SvPV_nolen(ST(0));
3128         wxTIFFHandler * RETVAL;
3129
3130         RETVAL = new wxTIFFHandler();
3131         ST(0) = sv_newmortal();
3132     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
3133
3134     }
3135     XSRETURN(1);
3136 }
3137
3138 #endif
3139
3140 XS(XS_Wx__XPMHandler_new); /* prototype to pass -Wmissing-prototypes */
3141 XS(XS_Wx__XPMHandler_new)
3142 {
3143 #ifdef dVAR
3144     dVAR; dXSARGS;
3145 #else
3146     dXSARGS;
3147 #endif
3148     if (items != 1)
3149        croak_xs_usage(cv,  "CLASS");
3150     {
3151         char *  CLASS = (char *)SvPV_nolen(ST(0));
3152         wxXPMHandler *  RETVAL;
3153
3154         RETVAL = new wxXPMHandler();
3155         ST(0) = sv_newmortal();
3156     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
3157
3158     }
3159     XSRETURN(1);
3160 }
3161
3162 #if wxPERL_USE_IFF
3163 #define XSubPPtmpAAAY 1
3164
3165
3166 XS(XS_Wx__IFFHandler_new); /* prototype to pass -Wmissing-prototypes */
3167 XS(XS_Wx__IFFHandler_new)
3168 {
3169 #ifdef dVAR
3170     dVAR; dXSARGS;
3171 #else
3172     dXSARGS;
3173 #endif
3174     if (items != 1)
3175        croak_xs_usage(cv,  "CLASS");
3176     {
3177         char *  CLASS = (char *)SvPV_nolen(ST(0));
3178         wxIFFHandler *  RETVAL;
3179
3180         RETVAL = new wxIFFHandler();
3181         ST(0) = sv_newmortal();
3182     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
3183
3184     }
3185     XSRETURN(1);
3186 }
3187
3188 #endif
3189 #if wxPERL_USE_ICO_CUR
3190 #define XSubPPtmpAAAZ 1
3191
3192
3193 XS(XS_Wx__ICOHandler_new); /* prototype to pass -Wmissing-prototypes */
3194 XS(XS_Wx__ICOHandler_new)
3195 {
3196 #ifdef dVAR
3197     dVAR; dXSARGS;
3198 #else
3199     dXSARGS;
3200 #endif
3201     if (items != 1)
3202        croak_xs_usage(cv,  "CLASS");
3203     {
3204         char *  CLASS = (char *)SvPV_nolen(ST(0));
3205         wxICOHandler *  RETVAL;
3206
3207         RETVAL = new wxICOHandler();
3208         ST(0) = sv_newmortal();
3209     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
3210
3211     }
3212     XSRETURN(1);
3213 }
3214
3215
3216 XS(XS_Wx__CURHandler_new); /* prototype to pass -Wmissing-prototypes */
3217 XS(XS_Wx__CURHandler_new)
3218 {
3219 #ifdef dVAR
3220     dVAR; dXSARGS;
3221 #else
3222     dXSARGS;
3223 #endif
3224     if (items != 1)
3225        croak_xs_usage(cv,  "CLASS");
3226     {
3227         char *  CLASS = (char *)SvPV_nolen(ST(0));
3228         wxCURHandler *  RETVAL;
3229
3230         RETVAL = new wxCURHandler();
3231         ST(0) = sv_newmortal();
3232     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
3233
3234     }
3235     XSRETURN(1);
3236 }
3237
3238
3239 XS(XS_Wx__ANIHandler_new); /* prototype to pass -Wmissing-prototypes */
3240 XS(XS_Wx__ANIHandler_new)
3241 {
3242 #ifdef dVAR
3243     dVAR; dXSARGS;
3244 #else
3245     dXSARGS;
3246 #endif
3247     if (items != 1)
3248        croak_xs_usage(cv,  "CLASS");
3249     {
3250         char *  CLASS = (char *)SvPV_nolen(ST(0));
3251         wxANIHandler *  RETVAL;
3252
3253         RETVAL = new wxANIHandler();
3254         ST(0) = sv_newmortal();
3255     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
3256
3257     }
3258     XSRETURN(1);
3259 }
3260
3261 #endif
3262 #if wxUSE_TGA
3263 #define XSubPPtmpAABA 1
3264
3265
3266 XS(XS_Wx__TGAHandler_new); /* prototype to pass -Wmissing-prototypes */
3267 XS(XS_Wx__TGAHandler_new)
3268 {
3269 #ifdef dVAR
3270     dVAR; dXSARGS;
3271 #else
3272     dXSARGS;
3273 #endif
3274     if (items != 1)
3275        croak_xs_usage(cv,  "CLASS");
3276     {
3277         char *  CLASS = (char *)SvPV_nolen(ST(0));
3278         wxTGAHandler *  RETVAL;
3279
3280         RETVAL = new wxTGAHandler();
3281         ST(0) = sv_newmortal();
3282     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
3283
3284     }
3285     XSRETURN(1);
3286 }
3287
3288 #endif
3289
3290 XS(XS_Wx_InitAllImageHandlers); /* prototype to pass -Wmissing-prototypes */
3291 XS(XS_Wx_InitAllImageHandlers)
3292 {
3293 #ifdef dVAR
3294     dVAR; dXSARGS;
3295 #else
3296     dXSARGS;
3297 #endif
3298     if (items != 0)
3299        croak_xs_usage(cv,  "");
3300     {
3301
3302         wxInitAllImageHandlers();
3303     }
3304     XSRETURN_EMPTY;
3305 }
3306
3307
3308 /* INCLUDE: Returning to 'XS/Brush.xs' from 'XS/Image.xs' */
3309
3310 #include <wx/colour.h>
3311 #include <wx/bitmap.h>
3312 #include <wx/brush.h>
3313 #include "cpp/overload.h"
3314
3315 XS(XS_Wx__Brush_new); /* prototype to pass -Wmissing-prototypes */
3316 XS(XS_Wx__Brush_new)
3317 {
3318 #ifdef dVAR
3319     dVAR; dXSARGS;
3320 #else
3321     dXSARGS;
3322 #endif
3323     if (items < 1)
3324        croak_xs_usage(cv,  "CLASS, ...");
3325     PERL_UNUSED_VAR(ax); /* -Wall */
3326     SP -= items;
3327     {
3328         char *  CLASS = (char *)SvPV_nolen(ST(0));
3329     BEGIN_OVERLOAD()
3330         MATCH_REDISP( wxPliOvl_wbmp, newBitmap )
3331         MATCH_REDISP( wxPliOvl_wcol_n, newColour )
3332         MATCH_REDISP( wxPliOvl_s_n, newName )
3333     END_OVERLOAD( Wx::Brush::new )
3334         PUTBACK;
3335         return;
3336     }
3337 }
3338
3339
3340 XS(XS_Wx__Brush_newColour); /* prototype to pass -Wmissing-prototypes */
3341 XS(XS_Wx__Brush_newColour)
3342 {
3343 #ifdef dVAR
3344     dVAR; dXSARGS;
3345 #else
3346     dXSARGS;
3347 #endif
3348     if (items != 3)
3349        croak_xs_usage(cv,  "CLASS, colour, style");
3350     {
3351         SV*     CLASS = ST(0);
3352         wxColour*    colour = (wxColour *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Colour" );
3353         wxBrushStyle    style = (wxBrushStyle)SvIV(ST(2));
3354         wxBrush *       RETVAL;
3355     RETVAL = new wxBrush( *colour, style );
3356         ST(0) = sv_newmortal();
3357     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
3358     wxPli_thread_sv_register( aTHX_ "Wx::Brush", RETVAL, ST(0) );
3359
3360     }
3361     XSRETURN(1);
3362 }
3363
3364
3365 XS(XS_Wx__Brush_newName); /* prototype to pass -Wmissing-prototypes */
3366 XS(XS_Wx__Brush_newName)
3367 {
3368 #ifdef dVAR
3369     dVAR; dXSARGS;
3370 #else
3371     dXSARGS;
3372 #endif
3373     if (items != 3)
3374        croak_xs_usage(cv,  "CLASS, name, style");
3375     {
3376         SV*     CLASS = ST(0);
3377         wxString        name;
3378         wxBrushStyle    style = (wxBrushStyle)SvIV(ST(2));
3379         wxBrush *       RETVAL;
3380
3381     WXSTRING_INPUT( name, wxString, ST(1) );
3382     RETVAL = new wxBrush( name, style );
3383         ST(0) = sv_newmortal();
3384     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
3385     wxPli_thread_sv_register( aTHX_ "Wx::Brush", RETVAL, ST(0) );
3386
3387     }
3388     XSRETURN(1);
3389 }
3390
3391
3392 XS(XS_Wx__Brush_newBitmap); /* prototype to pass -Wmissing-prototypes */
3393 XS(XS_Wx__Brush_newBitmap)
3394 {
3395 #ifdef dVAR
3396     dVAR; dXSARGS;
3397 #else
3398     dXSARGS;
3399 #endif
3400     if (items != 2)
3401        croak_xs_usage(cv,  "CLASS, stipple");
3402     {
3403         SV*     CLASS = ST(0);
3404         wxBitmap*    stipple = (wxBitmap *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Bitmap" );
3405         wxBrush *       RETVAL;
3406     RETVAL = new wxBrush( *stipple );
3407         ST(0) = sv_newmortal();
3408     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
3409     wxPli_thread_sv_register( aTHX_ "Wx::Brush", RETVAL, ST(0) );
3410
3411     }
3412     XSRETURN(1);
3413 }
3414
3415
3416 XS(XS_Wx__Brush_CLONE); /* prototype to pass -Wmissing-prototypes */
3417 XS(XS_Wx__Brush_CLONE)
3418 {
3419 #ifdef dVAR
3420     dVAR; dXSARGS;
3421 #else
3422     dXSARGS;
3423 #endif
3424     if (items != 1)
3425        croak_xs_usage(cv,  "CLASS");
3426     {
3427         char *  CLASS = (char *)SvPV_nolen(ST(0));
3428     wxPli_thread_sv_clone( aTHX_ CLASS, (wxPliCloneSV)wxPli_detach_object );
3429     }
3430     XSRETURN_EMPTY;
3431 }
3432
3433
3434 XS(XS_Wx__Brush_DESTROY); /* prototype to pass -Wmissing-prototypes */
3435 XS(XS_Wx__Brush_DESTROY)
3436 {
3437 #ifdef dVAR
3438     dVAR; dXSARGS;
3439 #else
3440     dXSARGS;
3441 #endif
3442     if (items != 1)
3443        croak_xs_usage(cv,  "THIS");
3444     {
3445         wxBrush *    THIS = (wxBrush *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Brush" );
3446     wxPli_thread_sv_unregister( aTHX_ "Wx::Brush", THIS, ST(0) );
3447     delete THIS;
3448     }
3449     XSRETURN_EMPTY;
3450 }
3451
3452
3453 XS(XS_Wx__Brush_GetColour); /* prototype to pass -Wmissing-prototypes */
3454 XS(XS_Wx__Brush_GetColour)
3455 {
3456 #ifdef dVAR
3457     dVAR; dXSARGS;
3458 #else
3459     dXSARGS;
3460 #endif
3461     if (items != 1)
3462        croak_xs_usage(cv,  "THIS");
3463     {
3464         wxBrush *    THIS = (wxBrush *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Brush" );
3465         wxColour *      RETVAL;
3466     RETVAL = new wxColour( THIS->GetColour() );
3467         ST(0) = sv_newmortal();
3468     wxPli_non_object_2_sv( aTHX_ ST(0), RETVAL, "Wx::Colour" );
3469     wxPli_thread_sv_register( aTHX_ "Wx::Colour", RETVAL, ST(0) );
3470
3471     }
3472     XSRETURN(1);
3473 }
3474
3475
3476 XS(XS_Wx__Brush_GetStipple); /* prototype to pass -Wmissing-prototypes */
3477 XS(XS_Wx__Brush_GetStipple)
3478 {
3479 #ifdef dVAR
3480     dVAR; dXSARGS;
3481 #else
3482     dXSARGS;
3483 #endif
3484     if (items != 1)
3485        croak_xs_usage(cv,  "THIS");
3486     {
3487         wxBrush *    THIS = (wxBrush *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Brush" );
3488         wxBitmap *      RETVAL;
3489     RETVAL = new wxBitmap( *THIS->GetStipple() );
3490         ST(0) = sv_newmortal();
3491     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
3492     wxPli_thread_sv_register( aTHX_ "Wx::Bitmap", RETVAL, ST(0) );
3493
3494     }
3495     XSRETURN(1);
3496 }
3497
3498
3499 XS(XS_Wx__Brush_GetStyle); /* prototype to pass -Wmissing-prototypes */
3500 XS(XS_Wx__Brush_GetStyle)
3501 {
3502 #ifdef dVAR
3503     dVAR; dXSARGS;
3504 #else
3505     dXSARGS;
3506 #endif
3507     if (items != 1)
3508        croak_xs_usage(cv,  "THIS");
3509     {
3510         wxBrush *    THIS = (wxBrush *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Brush" );
3511         wxBrushStyle    RETVAL;
3512         dXSTARG;
3513
3514         RETVAL = THIS->GetStyle();
3515         XSprePUSH; PUSHi((IV)RETVAL);
3516     }
3517     XSRETURN(1);
3518 }
3519
3520
3521 XS(XS_Wx__Brush_Ok); /* prototype to pass -Wmissing-prototypes */
3522 XS(XS_Wx__Brush_Ok)
3523 {
3524 #ifdef dVAR
3525     dVAR; dXSARGS;
3526 #else
3527     dXSARGS;
3528 #endif
3529     if (items != 1)
3530        croak_xs_usage(cv,  "THIS");
3531     {
3532         wxBrush *    THIS = (wxBrush *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Brush" );
3533         bool    RETVAL;
3534
3535         RETVAL = THIS->Ok();
3536         ST(0) = boolSV(RETVAL);
3537         sv_2mortal(ST(0));
3538     }
3539     XSRETURN(1);
3540 }
3541
3542 #if WXPERL_W_VERSION_GE( 2, 8, 0 )
3543 #define XSubPPtmpAABB 1
3544
3545
3546 XS(XS_Wx__Brush_IsOk); /* prototype to pass -Wmissing-prototypes */
3547 XS(XS_Wx__Brush_IsOk)
3548 {
3549 #ifdef dVAR
3550     dVAR; dXSARGS;
3551 #else
3552     dXSARGS;
3553 #endif
3554     if (items != 1)
3555        croak_xs_usage(cv,  "THIS");
3556     {
3557         wxBrush *    THIS = (wxBrush *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Brush" );
3558         bool    RETVAL;
3559
3560         RETVAL = THIS->IsOk();
3561         ST(0) = boolSV(RETVAL);
3562         sv_2mortal(ST(0));
3563     }
3564     XSRETURN(1);
3565 }
3566
3567 #endif
3568 #if WXPERL_W_VERSION_GE( 2, 6, 0 )
3569 #define XSubPPtmpAABC 1
3570
3571
3572 XS(XS_Wx__Brush_IsHatch); /* prototype to pass -Wmissing-prototypes */
3573 XS(XS_Wx__Brush_IsHatch)
3574 {
3575 #ifdef dVAR
3576     dVAR; dXSARGS;
3577 #else
3578     dXSARGS;
3579 #endif
3580     if (items != 1)
3581        croak_xs_usage(cv,  "THIS");
3582     {
3583         wxBrush *    THIS = (wxBrush *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Brush" );
3584         bool    RETVAL;
3585
3586         RETVAL = THIS->IsHatch();
3587         ST(0) = boolSV(RETVAL);
3588         sv_2mortal(ST(0));
3589     }
3590     XSRETURN(1);
3591 }
3592
3593 #endif
3594
3595 XS(XS_Wx__Brush_SetColour); /* prototype to pass -Wmissing-prototypes */
3596 XS(XS_Wx__Brush_SetColour)
3597 {
3598 #ifdef dVAR
3599     dVAR; dXSARGS;
3600 #else
3601     dXSARGS;
3602 #endif
3603     if (items < 1)
3604        croak_xs_usage(cv,  "THIS, ...");
3605     PERL_UNUSED_VAR(ax); /* -Wall */
3606     SP -= items;
3607     {
3608         wxBrush *    THIS = (wxBrush *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Brush" );
3609     BEGIN_OVERLOAD()
3610         MATCH_REDISP( wxPliOvl_n_n_n, SetColourRGB )
3611         MATCH_REDISP( wxPliOvl_wcol, SetColourColour )
3612         MATCH_REDISP( wxPliOvl_s, SetColourName )
3613     END_OVERLOAD( Wx::Brush::SetColour )
3614         PUTBACK;
3615         return;
3616     }
3617 }
3618
3619
3620 XS(XS_Wx__Brush_SetColourColour); /* prototype to pass -Wmissing-prototypes */
3621 XS(XS_Wx__Brush_SetColourColour)
3622 {
3623 #ifdef dVAR
3624     dVAR; dXSARGS;
3625 #else
3626     dXSARGS;
3627 #endif
3628     if (items != 2)
3629        croak_xs_usage(cv,  "THIS, colour");
3630     {
3631         wxColour*    colour = (wxColour *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Colour" );
3632         wxBrush *    THIS = (wxBrush *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Brush" );
3633     THIS->SetColour( *colour );
3634     }
3635     XSRETURN_EMPTY;
3636 }
3637
3638
3639 XS(XS_Wx__Brush_SetColourName); /* prototype to pass -Wmissing-prototypes */
3640 XS(XS_Wx__Brush_SetColourName)
3641 {
3642 #ifdef dVAR
3643     dVAR; dXSARGS;
3644 #else
3645     dXSARGS;
3646 #endif
3647     if (items != 2)
3648        croak_xs_usage(cv,  "THIS, name");
3649     {
3650         wxString        name;
3651         wxBrush *    THIS = (wxBrush *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Brush" );
3652
3653     WXSTRING_INPUT( name, wxString, ST(1) );
3654     THIS->SetColour( name );
3655     }
3656     XSRETURN_EMPTY;
3657 }
3658
3659
3660 XS(XS_Wx__Brush_SetColourRGB); /* prototype to pass -Wmissing-prototypes */
3661 XS(XS_Wx__Brush_SetColourRGB)
3662 {
3663 #ifdef dVAR
3664     dVAR; dXSARGS;
3665 #else
3666     dXSARGS;
3667 #endif
3668     if (items != 4)
3669        croak_xs_usage(cv,  "THIS, r, g, b");
3670     {
3671         int     r = (int)SvIV(ST(1));
3672         int     g = (int)SvIV(ST(2));
3673         int     b = (int)SvIV(ST(3));
3674         wxBrush *    THIS = (wxBrush *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Brush" );
3675     THIS->SetColour( r, g, b );
3676     }
3677     XSRETURN_EMPTY;
3678 }
3679
3680
3681 XS(XS_Wx__Brush_SetStipple); /* prototype to pass -Wmissing-prototypes */
3682 XS(XS_Wx__Brush_SetStipple)
3683 {
3684 #ifdef dVAR
3685     dVAR; dXSARGS;
3686 #else
3687     dXSARGS;
3688 #endif
3689     if (items != 2)
3690        croak_xs_usage(cv,  "THIS, stipple");
3691     {
3692         wxBitmap*    stipple = (wxBitmap *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Bitmap" );
3693         wxBrush *    THIS = (wxBrush *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Brush" );
3694     THIS->SetStipple( *stipple );
3695     }
3696     XSRETURN_EMPTY;
3697 }
3698
3699
3700 XS(XS_Wx__Brush_SetStyle); /* prototype to pass -Wmissing-prototypes */
3701 XS(XS_Wx__Brush_SetStyle)
3702 {
3703 #ifdef dVAR
3704     dVAR; dXSARGS;
3705 #else
3706     dXSARGS;
3707 #endif
3708     if (items != 2)
3709        croak_xs_usage(cv,  "THIS, style");
3710     {
3711         wxBrushStyle    style = (wxBrushStyle)SvIV(ST(1));
3712         wxBrush *    THIS = (wxBrush *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Brush" );
3713
3714         THIS->SetStyle(style);
3715     }
3716     XSRETURN_EMPTY;
3717 }
3718
3719
3720 /* INCLUDE: Returning to 'XS/Pen.xs' from 'XS/Brush.xs' */
3721
3722 #include <wx/colour.h>
3723 #include <wx/pen.h>
3724
3725 XS(XS_Wx__Pen_new); /* prototype to pass -Wmissing-prototypes */
3726 XS(XS_Wx__Pen_new)
3727 {
3728 #ifdef dVAR
3729     dVAR; dXSARGS;
3730 #else
3731     dXSARGS;
3732 #endif
3733     if (items < 1)
3734        croak_xs_usage(cv,  "CLASS, ...");
3735     PERL_UNUSED_VAR(ax); /* -Wall */
3736     SP -= items;
3737     {
3738         char *  CLASS = (char *)SvPV_nolen(ST(0));
3739     BEGIN_OVERLOAD()
3740         MATCH_REDISP( wxPliOvl_wcol_n_n, newColour )
3741         MATCH_REDISP( wxPliOvl_wbmp_n, newBitmap )
3742         MATCH_REDISP( wxPliOvl_s_n_n, newString )
3743     END_OVERLOAD( Wx::Pen::new )
3744         PUTBACK;
3745         return;
3746     }
3747 }
3748
3749
3750 XS(XS_Wx__Pen_newColour); /* prototype to pass -Wmissing-prototypes */
3751 XS(XS_Wx__Pen_newColour)
3752 {
3753 #ifdef dVAR
3754     dVAR; dXSARGS;
3755 #else
3756     dXSARGS;
3757 #endif
3758     if (items != 4)
3759        croak_xs_usage(cv,  "CLASS, colour, width, style");
3760     {
3761         SV*     CLASS = ST(0);
3762         wxColour*    colour = (wxColour *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Colour" );
3763         int     width = (int)SvIV(ST(2));
3764         int     style = (int)SvIV(ST(3));
3765         wxPen * RETVAL;
3766     RETVAL = new wxPen( *colour, width, style );
3767         ST(0) = sv_newmortal();
3768     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
3769     wxPli_thread_sv_register( aTHX_ "Wx::Pen", RETVAL, ST(0) );
3770
3771     }
3772     XSRETURN(1);
3773 }
3774
3775
3776 XS(XS_Wx__Pen_newString); /* prototype to pass -Wmissing-prototypes */
3777 XS(XS_Wx__Pen_newString)
3778 {
3779 #ifdef dVAR
3780     dVAR; dXSARGS;
3781 #else
3782     dXSARGS;
3783 #endif
3784     if (items != 4)
3785        croak_xs_usage(cv,  "CLASS, name, width, style");
3786     {
3787         SV*     CLASS = ST(0);
3788         wxString        name;
3789         int     width = (int)SvIV(ST(2));
3790         int     style = (int)SvIV(ST(3));
3791         wxPen * RETVAL;
3792
3793     WXSTRING_INPUT( name, wxString, ST(1) );
3794     RETVAL = new wxPen( name, width, style );
3795         ST(0) = sv_newmortal();
3796     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
3797     wxPli_thread_sv_register( aTHX_ "Wx::Pen", RETVAL, ST(0) );
3798
3799     }
3800     XSRETURN(1);
3801 }
3802
3803 #if defined( __WXMSW__ ) || defined( __WXPERL_FORCE__ )
3804 #define XSubPPtmpAABD 1
3805
3806
3807 XS(XS_Wx__Pen_newBitmap); /* prototype to pass -Wmissing-prototypes */
3808 XS(XS_Wx__Pen_newBitmap)
3809 {
3810 #ifdef dVAR
3811     dVAR; dXSARGS;
3812 #else
3813     dXSARGS;
3814 #endif
3815     if (items != 3)
3816        croak_xs_usage(cv,  "CLASS, stipple, width");
3817     {
3818         SV*     CLASS = ST(0);
3819         wxBitmap*    stipple = (wxBitmap *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Bitmap" );
3820         int     width = (int)SvIV(ST(2));
3821         wxPen * RETVAL;
3822     RETVAL = new wxPen( *stipple, width );
3823     }
3824     XSRETURN(1);
3825 }
3826
3827 #endif
3828
3829 XS(XS_Wx__Pen_CLONE); /* prototype to pass -Wmissing-prototypes */
3830 XS(XS_Wx__Pen_CLONE)
3831 {
3832 #ifdef dVAR
3833     dVAR; dXSARGS;
3834 #else
3835     dXSARGS;
3836 #endif
3837     if (items != 1)
3838        croak_xs_usage(cv,  "CLASS");
3839     {
3840         char *  CLASS = (char *)SvPV_nolen(ST(0));
3841     wxPli_thread_sv_clone( aTHX_ CLASS, (wxPliCloneSV)wxPli_detach_object );
3842     }
3843     XSRETURN_EMPTY;
3844 }
3845
3846
3847 XS(XS_Wx__Pen_DESTROY); /* prototype to pass -Wmissing-prototypes */
3848 XS(XS_Wx__Pen_DESTROY)
3849 {
3850 #ifdef dVAR
3851     dVAR; dXSARGS;
3852 #else
3853     dXSARGS;
3854 #endif
3855     if (items != 1)
3856        croak_xs_usage(cv,  "THIS");
3857     {
3858         wxPen *    THIS = (wxPen *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Pen" );
3859     wxPli_thread_sv_unregister( aTHX_ "Wx::Pen", THIS, ST(0) );
3860     delete THIS;
3861     }
3862     XSRETURN_EMPTY;
3863 }
3864
3865
3866 XS(XS_Wx__Pen_GetCap); /* prototype to pass -Wmissing-prototypes */
3867 XS(XS_Wx__Pen_GetCap)
3868 {
3869 #ifdef dVAR
3870     dVAR; dXSARGS;
3871 #else
3872     dXSARGS;
3873 #endif
3874     if (items != 1)
3875        croak_xs_usage(cv,  "THIS");
3876     {
3877         wxPen *    THIS = (wxPen *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Pen" );
3878         wxPenCap        RETVAL;
3879         dXSTARG;
3880
3881         RETVAL = THIS->GetCap();
3882         XSprePUSH; PUSHi((IV)RETVAL);
3883     }
3884     XSRETURN(1);
3885 }
3886
3887
3888 XS(XS_Wx__Pen_GetColour); /* prototype to pass -Wmissing-prototypes */
3889 XS(XS_Wx__Pen_GetColour)
3890 {
3891 #ifdef dVAR
3892     dVAR; dXSARGS;
3893 #else
3894     dXSARGS;
3895 #endif
3896     if (items != 1)
3897        croak_xs_usage(cv,  "THIS");
3898     {
3899         wxPen *    THIS = (wxPen *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Pen" );
3900         wxColour *      RETVAL;
3901     RETVAL = new wxColour( THIS->GetColour() );
3902         ST(0) = sv_newmortal();
3903     wxPli_non_object_2_sv( aTHX_ ST(0), RETVAL, "Wx::Colour" );
3904     wxPli_thread_sv_register( aTHX_ "Wx::Colour", RETVAL, ST(0) );
3905
3906     }
3907     XSRETURN(1);
3908 }
3909
3910
3911 XS(XS_Wx__Pen_GetDashes); /* prototype to pass -Wmissing-prototypes */
3912 XS(XS_Wx__Pen_GetDashes)
3913 {
3914 #ifdef dVAR
3915     dVAR; dXSARGS;
3916 #else
3917     dXSARGS;
3918 #endif
3919     if (items != 1)
3920        croak_xs_usage(cv,  "THIS");
3921     PERL_UNUSED_VAR(ax); /* -Wall */
3922     SP -= items;
3923     {
3924     int i, n;
3925     wxDash* array;
3926         wxPen *    THIS = (wxPen *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Pen" );
3927     n = THIS->GetDashes( &array );
3928     EXTEND( SP, n );
3929     for( i = 0; i < n; ++i )
3930     {
3931       PUSHs( sv_2mortal( newSViv( array[i] ) ) );
3932     }
3933         PUTBACK;
3934         return;
3935     }
3936 }
3937
3938
3939 XS(XS_Wx__Pen_GetJoin); /* prototype to pass -Wmissing-prototypes */
3940 XS(XS_Wx__Pen_GetJoin)
3941 {
3942 #ifdef dVAR
3943     dVAR; dXSARGS;
3944 #else
3945     dXSARGS;
3946 #endif
3947     if (items != 1)
3948        croak_xs_usage(cv,  "THIS");
3949     {
3950         wxPen *    THIS = (wxPen *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Pen" );
3951         wxPenJoin       RETVAL;
3952         dXSTARG;
3953
3954         RETVAL = THIS->GetJoin();
3955         XSprePUSH; PUSHi((IV)RETVAL);
3956     }
3957     XSRETURN(1);
3958 }
3959
3960 #if defined( __WXMSW__ ) || defined( __WXPERL_FORCE__ )
3961 #define XSubPPtmpAABE 1
3962
3963
3964 XS(XS_Wx__Pen_GetStipple); /* prototype to pass -Wmissing-prototypes */
3965 XS(XS_Wx__Pen_GetStipple)
3966 {
3967 #ifdef dVAR
3968     dVAR; dXSARGS;
3969 #else
3970     dXSARGS;
3971 #endif
3972     if (items != 1)
3973        croak_xs_usage(cv,  "THIS");
3974     {
3975         wxPen *    THIS = (wxPen *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Pen" );
3976         wxBitmap *      RETVAL;
3977     RETVAL = new wxBitmap( *THIS->GetStipple() );
3978         ST(0) = sv_newmortal();
3979     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
3980     wxPli_thread_sv_register( aTHX_ "Wx::Bitmap", RETVAL, ST(0) );
3981
3982     }
3983     XSRETURN(1);
3984 }
3985
3986 #endif
3987
3988 XS(XS_Wx__Pen_GetStyle); /* prototype to pass -Wmissing-prototypes */
3989 XS(XS_Wx__Pen_GetStyle)
3990 {
3991 #ifdef dVAR
3992     dVAR; dXSARGS;
3993 #else
3994     dXSARGS;
3995 #endif
3996     if (items != 1)
3997        croak_xs_usage(cv,  "THIS");
3998     {
3999         wxPen *    THIS = (wxPen *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Pen" );
4000         wxPenStyle      RETVAL;
4001         dXSTARG;
4002
4003         RETVAL = THIS->GetStyle();
4004         XSprePUSH; PUSHi((IV)RETVAL);
4005     }
4006     XSRETURN(1);
4007 }
4008
4009
4010 XS(XS_Wx__Pen_GetWidth); /* prototype to pass -Wmissing-prototypes */
4011 XS(XS_Wx__Pen_GetWidth)
4012 {
4013 #ifdef dVAR
4014     dVAR; dXSARGS;
4015 #else
4016     dXSARGS;
4017 #endif
4018     if (items != 1)
4019        croak_xs_usage(cv,  "THIS");
4020     {
4021         wxPen *    THIS = (wxPen *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Pen" );
4022         int     RETVAL;
4023         dXSTARG;
4024
4025         RETVAL = THIS->GetWidth();
4026         XSprePUSH; PUSHi((IV)RETVAL);
4027     }
4028     XSRETURN(1);
4029 }
4030
4031
4032 XS(XS_Wx__Pen_Ok); /* prototype to pass -Wmissing-prototypes */
4033 XS(XS_Wx__Pen_Ok)
4034 {
4035 #ifdef dVAR
4036     dVAR; dXSARGS;
4037 #else
4038     dXSARGS;
4039 #endif
4040     if (items != 1)
4041        croak_xs_usage(cv,  "THIS");
4042     {
4043         wxPen *    THIS = (wxPen *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Pen" );
4044         bool    RETVAL;
4045
4046         RETVAL = THIS->Ok();
4047         ST(0) = boolSV(RETVAL);
4048         sv_2mortal(ST(0));
4049     }
4050     XSRETURN(1);
4051 }
4052
4053 #if WXPERL_W_VERSION_GE( 2, 8, 0 )
4054 #define XSubPPtmpAABF 1
4055
4056
4057 XS(XS_Wx__Pen_IsOk); /* prototype to pass -Wmissing-prototypes */
4058 XS(XS_Wx__Pen_IsOk)
4059 {
4060 #ifdef dVAR
4061     dVAR; dXSARGS;
4062 #else
4063     dXSARGS;
4064 #endif
4065     if (items != 1)
4066        croak_xs_usage(cv,  "THIS");
4067     {
4068         wxPen *    THIS = (wxPen *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Pen" );
4069         bool    RETVAL;
4070
4071         RETVAL = THIS->IsOk();
4072         ST(0) = boolSV(RETVAL);
4073         sv_2mortal(ST(0));
4074     }
4075     XSRETURN(1);
4076 }
4077
4078 #endif
4079
4080 XS(XS_Wx__Pen_SetCap); /* prototype to pass -Wmissing-prototypes */
4081 XS(XS_Wx__Pen_SetCap)
4082 {
4083 #ifdef dVAR
4084     dVAR; dXSARGS;
4085 #else
4086     dXSARGS;
4087 #endif
4088     if (items != 2)
4089        croak_xs_usage(cv,  "THIS, capStyle");
4090     {
4091         wxPenCap        capStyle = (wxPenCap)SvIV(ST(1));
4092         wxPen *    THIS = (wxPen *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Pen" );
4093
4094         THIS->SetCap(capStyle);
4095     }
4096     XSRETURN_EMPTY;
4097 }
4098
4099
4100 XS(XS_Wx__Pen_SetColour); /* prototype to pass -Wmissing-prototypes */
4101 XS(XS_Wx__Pen_SetColour)
4102 {
4103 #ifdef dVAR
4104     dVAR; dXSARGS;
4105 #else
4106     dXSARGS;
4107 #endif
4108     if (items < 1)
4109        croak_xs_usage(cv,  "THIS, ...");
4110     PERL_UNUSED_VAR(ax); /* -Wall */
4111     SP -= items;
4112     {
4113         wxPen *    THIS = (wxPen *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Pen" );
4114      BEGIN_OVERLOAD()
4115         MATCH_REDISP( wxPliOvl_wcol, SetColourColour )
4116         MATCH_REDISP( wxPliOvl_n_n_n, SetColourRGB )
4117         MATCH_REDISP( wxPliOvl_s, SetColourName )
4118     END_OVERLOAD( Wx::Pen::SetColour )
4119         PUTBACK;
4120         return;
4121     }
4122 }
4123
4124
4125 XS(XS_Wx__Pen_SetColourColour); /* prototype to pass -Wmissing-prototypes */
4126 XS(XS_Wx__Pen_SetColourColour)
4127 {
4128 #ifdef dVAR
4129     dVAR; dXSARGS;
4130 #else
4131     dXSARGS;
4132 #endif
4133     if (items != 2)
4134        croak_xs_usage(cv,  "THIS, colour");
4135     {
4136         wxColour*    colour = (wxColour *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Colour" );
4137         wxPen *    THIS = (wxPen *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Pen" );
4138     THIS->SetColour( *colour );
4139     }
4140     XSRETURN_EMPTY;
4141 }
4142
4143
4144 XS(XS_Wx__Pen_SetColourName); /* prototype to pass -Wmissing-prototypes */
4145 XS(XS_Wx__Pen_SetColourName)
4146 {
4147 #ifdef dVAR
4148     dVAR; dXSARGS;
4149 #else
4150     dXSARGS;
4151 #endif
4152     if (items != 2)
4153        croak_xs_usage(cv,  "THIS, name");
4154     {
4155         wxString        name;
4156         wxPen *    THIS = (wxPen *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Pen" );
4157
4158     WXSTRING_INPUT( name, wxString, ST(1) );
4159     THIS->SetColour( name );
4160     }
4161     XSRETURN_EMPTY;
4162 }
4163
4164
4165 XS(XS_Wx__Pen_SetColourRGB); /* prototype to pass -Wmissing-prototypes */
4166 XS(XS_Wx__Pen_SetColourRGB)
4167 {
4168 #ifdef dVAR
4169     dVAR; dXSARGS;
4170 #else
4171     dXSARGS;
4172 #endif
4173     if (items != 4)
4174        croak_xs_usage(cv,  "THIS, r, g, b");
4175     {
4176         int     r = (int)SvIV(ST(1));
4177         int     g = (int)SvIV(ST(2));
4178         int     b = (int)SvIV(ST(3));
4179         wxPen *    THIS = (wxPen *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Pen" );
4180     THIS->SetColour( r, g, b );
4181     }
4182     XSRETURN_EMPTY;
4183 }
4184
4185
4186 XS(XS_Wx__Pen_SetDashes); /* prototype to pass -Wmissing-prototypes */
4187 XS(XS_Wx__Pen_SetDashes)
4188 {
4189 #ifdef dVAR
4190     dVAR; dXSARGS;
4191 #else
4192     dXSARGS;
4193 #endif
4194     if (items != 2)
4195        croak_xs_usage(cv,  "THIS, ds");
4196     {
4197         SV*     ds = ST(1);
4198     int n = 0;
4199     wxDash* dashes = 0;
4200     wxDash* olddashes;
4201         wxPen *    THIS = (wxPen *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Pen" );
4202     THIS->GetDashes( &olddashes );
4203     if( SvOK( ds ) )
4204     {
4205       AV* av;
4206       SV* t;
4207       int i;
4208
4209       if( !SvROK( ds ) || 
4210           ( SvTYPE( (SV*) ( av = (AV*) SvRV( ds ) ) ) != SVt_PVAV ) )
4211       {
4212           croak( "the value is not an array reference" );
4213           XSRETURN_UNDEF;
4214       }
4215
4216       n = av_len( av ) + 1;
4217       dashes = new wxDash[ n ];
4218
4219       for( i = 0; i < n; ++i )
4220       {
4221         t = *av_fetch( av, i, 0 );
4222         dashes[i] = SvIV( t );
4223       }
4224     }
4225     THIS->SetDashes( n, dashes );
4226     delete[] olddashes;
4227     }
4228     XSRETURN_EMPTY;
4229 }
4230
4231
4232 XS(XS_Wx__Pen_SetJoin); /* prototype to pass -Wmissing-prototypes */
4233 XS(XS_Wx__Pen_SetJoin)
4234 {
4235 #ifdef dVAR
4236     dVAR; dXSARGS;
4237 #else
4238     dXSARGS;
4239 #endif
4240     if (items != 2)
4241        croak_xs_usage(cv,  "THIS, join_style");
4242     {
4243         wxPenJoin       join_style = (wxPenJoin)SvIV(ST(1));
4244         wxPen *    THIS = (wxPen *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Pen" );
4245
4246         THIS->SetJoin(join_style);
4247     }
4248     XSRETURN_EMPTY;
4249 }
4250
4251 #if defined( __WXMSW__ ) || defined( __WXPERL_FORCE__ )
4252 #define XSubPPtmpAABG 1
4253
4254
4255 XS(XS_Wx__Pen_SetStipple); /* prototype to pass -Wmissing-prototypes */
4256 XS(XS_Wx__Pen_SetStipple)
4257 {
4258 #ifdef dVAR
4259     dVAR; dXSARGS;
4260 #else
4261     dXSARGS;
4262 #endif
4263     if (items != 2)
4264        croak_xs_usage(cv,  "THIS, stipple");
4265     {
4266         wxBitmap*    stipple = (wxBitmap *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Bitmap" );
4267         wxPen *    THIS = (wxPen *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Pen" );
4268     THIS->SetStipple( *stipple );
4269     }
4270     XSRETURN_EMPTY;
4271 }
4272
4273 #endif
4274
4275 XS(XS_Wx__Pen_SetStyle); /* prototype to pass -Wmissing-prototypes */
4276 XS(XS_Wx__Pen_SetStyle)
4277 {
4278 #ifdef dVAR
4279     dVAR; dXSARGS;
4280 #else
4281     dXSARGS;
4282 #endif
4283     if (items != 2)
4284        croak_xs_usage(cv,  "THIS, style");
4285     {
4286         wxPenStyle      style = (wxPenStyle)SvIV(ST(1));
4287         wxPen *    THIS = (wxPen *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Pen" );
4288
4289         THIS->SetStyle(style);
4290     }
4291     XSRETURN_EMPTY;
4292 }
4293
4294
4295 XS(XS_Wx__Pen_SetWidth); /* prototype to pass -Wmissing-prototypes */
4296 XS(XS_Wx__Pen_SetWidth)
4297 {
4298 #ifdef dVAR
4299     dVAR; dXSARGS;
4300 #else
4301     dXSARGS;
4302 #endif
4303     if (items != 2)
4304        croak_xs_usage(cv,  "THIS, width");
4305     {
4306         int     width = (int)SvIV(ST(1));
4307         wxPen *    THIS = (wxPen *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Pen" );
4308
4309         THIS->SetWidth(width);
4310     }
4311     XSRETURN_EMPTY;
4312 }
4313
4314
4315 /* INCLUDE: Returning to 'perl -MExtUtils::XSpp::Cmd -e xspp -- -t typemap.xsp XS/DC.xs |' from 'XS/Pen.xs' */
4316
4317 #include <wx/dc.h>
4318 #include <wx/dcmemory.h>
4319 #include <wx/dcclient.h>
4320 #include <wx/dcscreen.h>
4321 #include <wx/window.h>
4322 #include <wx/dcbuffer.h>
4323 #define wxNullBitmapPtr (wxBitmap*) &wxNullBitmap
4324
4325 XS(XS_Wx__DC_CLONE); /* prototype to pass -Wmissing-prototypes */
4326 XS(XS_Wx__DC_CLONE)
4327 {
4328 #ifdef dVAR
4329     dVAR; dXSARGS;
4330 #else
4331     dXSARGS;
4332 #endif
4333     if (items != 1)
4334        croak_xs_usage(cv,  "CLASS");
4335     {
4336         char *  CLASS = (char *)SvPV_nolen(ST(0));
4337     wxPli_thread_sv_clone( aTHX_ CLASS, (wxPliCloneSV)wxPli_detach_object );
4338     }
4339     XSRETURN_EMPTY;
4340 }
4341
4342
4343 XS(XS_Wx__DC_DESTROY); /* prototype to pass -Wmissing-prototypes */
4344 XS(XS_Wx__DC_DESTROY)
4345 {
4346 #ifdef dVAR
4347     dVAR; dXSARGS;
4348 #else
4349     dXSARGS;
4350 #endif
4351     if (items != 1)
4352        croak_xs_usage(cv,  "THIS");
4353     {
4354         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
4355     wxPli_thread_sv_unregister( aTHX_ wxPli_get_class( aTHX_ ST(0) ),
4356                                 THIS, ST(0) );
4357     if( wxPli_object_is_deleteable( aTHX_ ST(0) ) )
4358         delete THIS;
4359     }
4360     XSRETURN_EMPTY;
4361 }
4362
4363 #if WXPERL_W_VERSION_LT( 2, 7, 0 ) || WXWIN_COMPATIBILITY_2_6
4364 #define XSubPPtmpAABH 1
4365
4366
4367 XS(XS_Wx__DC_BeginDrawing); /* prototype to pass -Wmissing-prototypes */
4368 XS(XS_Wx__DC_BeginDrawing)
4369 {
4370 #ifdef dVAR
4371     dVAR; dXSARGS;
4372 #else
4373     dXSARGS;
4374 #endif
4375     if (items != 1)
4376        croak_xs_usage(cv,  "THIS");
4377     {
4378         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
4379
4380         THIS->BeginDrawing();
4381     }
4382     XSRETURN_EMPTY;
4383 }
4384
4385 #endif
4386
4387 XS(XS_Wx__DC_Blit); /* prototype to pass -Wmissing-prototypes */
4388 XS(XS_Wx__DC_Blit)
4389 {
4390 #ifdef dVAR
4391     dVAR; dXSARGS;
4392 #else
4393     dXSARGS;
4394 #endif
4395     if (items < 8 || items > 10)
4396        croak_xs_usage(cv,  "THIS, xdest, ydest, width, height, source, xsrc, ysrc, logicalFunc = wxCOPY, useMask = false");
4397     {
4398         wxCoord xdest = (wxCoord)SvIV(ST(1));
4399         wxCoord ydest = (wxCoord)SvIV(ST(2));
4400         wxCoord width = (wxCoord)SvIV(ST(3));
4401         wxCoord height = (wxCoord)SvIV(ST(4));
4402         wxDC*    source = (wxDC *) wxPli_sv_2_object( aTHX_ ST(5), "Wx::DC" );
4403         wxCoord xsrc = (wxCoord)SvIV(ST(6));
4404         wxCoord ysrc = (wxCoord)SvIV(ST(7));
4405         wxRasterOperationMode   logicalFunc;
4406         bool    useMask;
4407         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
4408         bool    RETVAL;
4409
4410         if (items < 9)
4411             logicalFunc = wxCOPY;
4412         else {
4413             logicalFunc = (wxRasterOperationMode)SvIV(ST(8));
4414         }
4415
4416         if (items < 10)
4417             useMask = false;
4418         else {
4419             useMask = (bool)SvTRUE(ST(9));
4420         }
4421
4422         RETVAL = THIS->Blit(xdest, ydest, width, height, source, xsrc, ysrc, logicalFunc, useMask);
4423         ST(0) = boolSV(RETVAL);
4424         sv_2mortal(ST(0));
4425     }
4426     XSRETURN(1);
4427 }
4428
4429 #if WXPERL_W_VERSION_GE( 2, 9, 0 )
4430 #define XSubPPtmpAABI 1
4431
4432
4433 XS(XS_Wx__DC_StretchBlit); /* prototype to pass -Wmissing-prototypes */
4434 XS(XS_Wx__DC_StretchBlit)
4435 {
4436 #ifdef dVAR
4437     dVAR; dXSARGS;
4438 #else
4439     dXSARGS;
4440 #endif
4441     if (items < 10 || items > 14)
4442        croak_xs_usage(cv,  "THIS, xdest, ydest, wdest, hdest, source, xsrc, ysrc, wsrc, hsrc, logicalFunc = wxCOPY, useMask = false, xsrcmask = -1, ysrcmask = -1");
4443     {
4444         wxCoord xdest = (wxCoord)SvIV(ST(1));
4445         wxCoord ydest = (wxCoord)SvIV(ST(2));
4446         wxCoord wdest = (wxCoord)SvIV(ST(3));
4447         wxCoord hdest = (wxCoord)SvIV(ST(4));
4448         wxDC*    source = (wxDC *) wxPli_sv_2_object( aTHX_ ST(5), "Wx::DC" );
4449         wxCoord xsrc = (wxCoord)SvIV(ST(6));
4450         wxCoord ysrc = (wxCoord)SvIV(ST(7));
4451         wxCoord wsrc = (wxCoord)SvIV(ST(8));
4452         wxCoord hsrc = (wxCoord)SvIV(ST(9));
4453         wxRasterOperationMode   logicalFunc;
4454         bool    useMask;
4455         wxCoord xsrcmask;
4456         wxCoord ysrcmask;
4457         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
4458         bool    RETVAL;
4459
4460         if (items < 11)
4461             logicalFunc = wxCOPY;
4462         else {
4463             logicalFunc = (wxRasterOperationMode)SvIV(ST(10));
4464         }
4465
4466         if (items < 12)
4467             useMask = false;
4468         else {
4469             useMask = (bool)SvTRUE(ST(11));
4470         }
4471
4472         if (items < 13)
4473             xsrcmask = -1;
4474         else {
4475             xsrcmask = (wxCoord)SvIV(ST(12));
4476         }
4477
4478         if (items < 14)
4479             ysrcmask = -1;
4480         else {
4481             ysrcmask = (wxCoord)SvIV(ST(13));
4482         }
4483
4484         RETVAL = THIS->StretchBlit(xdest, ydest, wdest, hdest, source, xsrc, ysrc, wsrc, hsrc, logicalFunc, useMask, xsrcmask, ysrcmask);
4485         ST(0) = boolSV(RETVAL);
4486         sv_2mortal(ST(0));
4487     }
4488     XSRETURN(1);
4489 }
4490
4491 #endif
4492
4493 XS(XS_Wx__DC_CalcBoundingBox); /* prototype to pass -Wmissing-prototypes */
4494 XS(XS_Wx__DC_CalcBoundingBox)
4495 {
4496 #ifdef dVAR
4497     dVAR; dXSARGS;
4498 #else
4499     dXSARGS;
4500 #endif
4501     if (items != 3)
4502        croak_xs_usage(cv,  "THIS, x, y");
4503     {
4504         wxCoord x = (wxCoord)SvIV(ST(1));
4505         wxCoord y = (wxCoord)SvIV(ST(2));
4506         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
4507
4508         THIS->CalcBoundingBox(x, y);
4509     }
4510     XSRETURN_EMPTY;
4511 }
4512
4513
4514 XS(XS_Wx__DC_Clear); /* prototype to pass -Wmissing-prototypes */
4515 XS(XS_Wx__DC_Clear)
4516 {
4517 #ifdef dVAR
4518     dVAR; dXSARGS;
4519 #else
4520     dXSARGS;
4521 #endif
4522     if (items != 1)
4523        croak_xs_usage(cv,  "THIS");
4524     {
4525         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
4526
4527         THIS->Clear();
4528     }
4529     XSRETURN_EMPTY;
4530 }
4531
4532
4533 XS(XS_Wx__DC_CrossHair); /* prototype to pass -Wmissing-prototypes */
4534 XS(XS_Wx__DC_CrossHair)
4535 {
4536 #ifdef dVAR
4537     dVAR; dXSARGS;
4538 #else
4539     dXSARGS;
4540 #endif
4541     if (items != 3)
4542        croak_xs_usage(cv,  "THIS, x, y");
4543     {
4544         wxCoord x = (wxCoord)SvIV(ST(1));
4545         wxCoord y = (wxCoord)SvIV(ST(2));
4546         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
4547
4548         THIS->CrossHair(x, y);
4549     }
4550     XSRETURN_EMPTY;
4551 }
4552
4553
4554 XS(XS_Wx__DC_DestroyClippingRegion); /* prototype to pass -Wmissing-prototypes */
4555 XS(XS_Wx__DC_DestroyClippingRegion)
4556 {
4557 #ifdef dVAR
4558     dVAR; dXSARGS;
4559 #else
4560     dXSARGS;
4561 #endif
4562     if (items != 1)
4563        croak_xs_usage(cv,  "THIS");
4564     {
4565         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
4566
4567         THIS->DestroyClippingRegion();
4568     }
4569     XSRETURN_EMPTY;
4570 }
4571
4572
4573 XS(XS_Wx__DC_DeviceToLogicalX); /* prototype to pass -Wmissing-prototypes */
4574 XS(XS_Wx__DC_DeviceToLogicalX)
4575 {
4576 #ifdef dVAR
4577     dVAR; dXSARGS;
4578 #else
4579     dXSARGS;
4580 #endif
4581     if (items != 2)
4582        croak_xs_usage(cv,  "THIS, x");
4583     {
4584         wxCoord x = (wxCoord)SvIV(ST(1));
4585         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
4586         wxCoord RETVAL;
4587         dXSTARG;
4588
4589         RETVAL = THIS->DeviceToLogicalX(x);
4590         XSprePUSH; PUSHi((IV)RETVAL);
4591     }
4592     XSRETURN(1);
4593 }
4594
4595
4596 XS(XS_Wx__DC_DeviceToLogicalXRel); /* prototype to pass -Wmissing-prototypes */
4597 XS(XS_Wx__DC_DeviceToLogicalXRel)
4598 {
4599 #ifdef dVAR
4600     dVAR; dXSARGS;
4601 #else
4602     dXSARGS;
4603 #endif
4604     if (items != 2)
4605        croak_xs_usage(cv,  "THIS, x");
4606     {
4607         wxCoord x = (wxCoord)SvIV(ST(1));
4608         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
4609         wxCoord RETVAL;
4610         dXSTARG;
4611
4612         RETVAL = THIS->DeviceToLogicalXRel(x);
4613         XSprePUSH; PUSHi((IV)RETVAL);
4614     }
4615     XSRETURN(1);
4616 }
4617
4618
4619 XS(XS_Wx__DC_DeviceToLogicalY); /* prototype to pass -Wmissing-prototypes */
4620 XS(XS_Wx__DC_DeviceToLogicalY)
4621 {
4622 #ifdef dVAR
4623     dVAR; dXSARGS;
4624 #else
4625     dXSARGS;
4626 #endif
4627     if (items != 2)
4628        croak_xs_usage(cv,  "THIS, y");
4629     {
4630         wxCoord y = (wxCoord)SvIV(ST(1));
4631         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
4632         wxCoord RETVAL;
4633         dXSTARG;
4634
4635         RETVAL = THIS->DeviceToLogicalY(y);
4636         XSprePUSH; PUSHi((IV)RETVAL);
4637     }
4638     XSRETURN(1);
4639 }
4640
4641
4642 XS(XS_Wx__DC_DeviceToLogicalYRel); /* prototype to pass -Wmissing-prototypes */
4643 XS(XS_Wx__DC_DeviceToLogicalYRel)
4644 {
4645 #ifdef dVAR
4646     dVAR; dXSARGS;
4647 #else
4648     dXSARGS;
4649 #endif
4650     if (items != 2)
4651        croak_xs_usage(cv,  "THIS, y");
4652     {
4653         wxCoord y = (wxCoord)SvIV(ST(1));
4654         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
4655         wxCoord RETVAL;
4656         dXSTARG;
4657
4658         RETVAL = THIS->DeviceToLogicalYRel(y);
4659         XSprePUSH; PUSHi((IV)RETVAL);
4660     }
4661     XSRETURN(1);
4662 }
4663
4664
4665 XS(XS_Wx__DC_DrawArc); /* prototype to pass -Wmissing-prototypes */
4666 XS(XS_Wx__DC_DrawArc)
4667 {
4668 #ifdef dVAR
4669     dVAR; dXSARGS;
4670 #else
4671     dXSARGS;
4672 #endif
4673     if (items != 7)
4674        croak_xs_usage(cv,  "THIS, x1, y1, x2, y2, xc, yc");
4675     {
4676         wxCoord x1 = (wxCoord)SvIV(ST(1));
4677         wxCoord y1 = (wxCoord)SvIV(ST(2));
4678         wxCoord x2 = (wxCoord)SvIV(ST(3));
4679         wxCoord y2 = (wxCoord)SvIV(ST(4));
4680         wxCoord xc = (wxCoord)SvIV(ST(5));
4681         wxCoord yc = (wxCoord)SvIV(ST(6));
4682         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
4683
4684         THIS->DrawArc(x1, y1, x2, y2, xc, yc);
4685     }
4686     XSRETURN_EMPTY;
4687 }
4688
4689
4690 XS(XS_Wx__DC_DrawBitmap); /* prototype to pass -Wmissing-prototypes */
4691 XS(XS_Wx__DC_DrawBitmap)
4692 {
4693 #ifdef dVAR
4694     dVAR; dXSARGS;
4695 #else
4696     dXSARGS;
4697 #endif
4698     if (items != 5)
4699        croak_xs_usage(cv,  "THIS, bitmap, x, y, transparent");
4700     {
4701         wxBitmap*    bitmap = (wxBitmap *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Bitmap" );
4702         wxCoord x = (wxCoord)SvIV(ST(2));
4703         wxCoord y = (wxCoord)SvIV(ST(3));
4704         bool    transparent = (bool)SvTRUE(ST(4));
4705         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
4706     THIS->DrawBitmap( *bitmap, x, y, transparent );
4707     }
4708     XSRETURN_EMPTY;
4709 }
4710
4711
4712 XS(XS_Wx__DC_DrawCheckMark); /* prototype to pass -Wmissing-prototypes */
4713 XS(XS_Wx__DC_DrawCheckMark)
4714 {
4715 #ifdef dVAR
4716     dVAR; dXSARGS;
4717 #else
4718     dXSARGS;
4719 #endif
4720     if (items < 1)
4721        croak_xs_usage(cv,  "THIS, ...");
4722     PERL_UNUSED_VAR(ax); /* -Wall */
4723     SP -= items;
4724     {
4725         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
4726     BEGIN_OVERLOAD()
4727         MATCH_REDISP( wxPliOvl_n_n_n_n, DrawCheckMarkXYWH )
4728         MATCH_REDISP( wxPliOvl_wrec, DrawCheckMarkRect )
4729     END_OVERLOAD( Wx::DC::DrawCheckMark )
4730         PUTBACK;
4731         return;
4732     }
4733 }
4734
4735
4736 XS(XS_Wx__DC_DrawCheckMarkXYWH); /* prototype to pass -Wmissing-prototypes */
4737 XS(XS_Wx__DC_DrawCheckMarkXYWH)
4738 {
4739 #ifdef dVAR
4740     dVAR; dXSARGS;
4741 #else
4742     dXSARGS;
4743 #endif
4744     if (items != 5)
4745        croak_xs_usage(cv,  "THIS, x, y, width, height");
4746     {
4747         wxCoord x = (wxCoord)SvIV(ST(1));
4748         wxCoord y = (wxCoord)SvIV(ST(2));
4749         wxCoord width = (wxCoord)SvIV(ST(3));
4750         wxCoord height = (wxCoord)SvIV(ST(4));
4751         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
4752     THIS->DrawCheckMark( x, y, width, height );
4753     }
4754     XSRETURN_EMPTY;
4755 }
4756
4757
4758 XS(XS_Wx__DC_DrawCheckMarkRect); /* prototype to pass -Wmissing-prototypes */
4759 XS(XS_Wx__DC_DrawCheckMarkRect)
4760 {
4761 #ifdef dVAR
4762     dVAR; dXSARGS;
4763 #else
4764     dXSARGS;
4765 #endif
4766     if (items != 2)
4767        croak_xs_usage(cv,  "THIS, rect");
4768     {
4769         wxRect*    rect = (wxRect *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Rect" );
4770         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
4771     THIS->DrawCheckMark( *rect );
4772     }
4773     XSRETURN_EMPTY;
4774 }
4775
4776
4777 XS(XS_Wx__DC_DrawCircle); /* prototype to pass -Wmissing-prototypes */
4778 XS(XS_Wx__DC_DrawCircle)
4779 {
4780 #ifdef dVAR
4781     dVAR; dXSARGS;
4782 #else
4783     dXSARGS;
4784 #endif
4785     if (items != 4)
4786        croak_xs_usage(cv,  "THIS, x, y, radius");
4787     {
4788         wxCoord x = (wxCoord)SvIV(ST(1));
4789         wxCoord y = (wxCoord)SvIV(ST(2));
4790         wxCoord radius = (wxCoord)SvIV(ST(3));
4791         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
4792
4793         THIS->DrawCircle(x, y, radius);
4794     }
4795     XSRETURN_EMPTY;
4796 }
4797
4798
4799 XS(XS_Wx__DC_DrawEllipse); /* prototype to pass -Wmissing-prototypes */
4800 XS(XS_Wx__DC_DrawEllipse)
4801 {
4802 #ifdef dVAR
4803     dVAR; dXSARGS;
4804 #else
4805     dXSARGS;
4806 #endif
4807     if (items != 5)
4808        croak_xs_usage(cv,  "THIS, x, y, width, height");
4809     {
4810         wxCoord x = (wxCoord)SvIV(ST(1));
4811         wxCoord y = (wxCoord)SvIV(ST(2));
4812         wxCoord width = (wxCoord)SvIV(ST(3));
4813         wxCoord height = (wxCoord)SvIV(ST(4));
4814         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
4815
4816         THIS->DrawEllipse(x, y, width, height);
4817     }
4818     XSRETURN_EMPTY;
4819 }
4820
4821
4822 XS(XS_Wx__DC_DrawEllipticArc); /* prototype to pass -Wmissing-prototypes */
4823 XS(XS_Wx__DC_DrawEllipticArc)
4824 {
4825 #ifdef dVAR
4826     dVAR; dXSARGS;
4827 #else
4828     dXSARGS;
4829 #endif
4830     if (items != 7)
4831        croak_xs_usage(cv,  "THIS, x, y, width, height, start, end");
4832     {
4833         wxCoord x = (wxCoord)SvIV(ST(1));
4834         wxCoord y = (wxCoord)SvIV(ST(2));
4835         wxCoord width = (wxCoord)SvIV(ST(3));
4836         wxCoord height = (wxCoord)SvIV(ST(4));
4837         double  start = (double)SvNV(ST(5));
4838         double  end = (double)SvNV(ST(6));
4839         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
4840
4841         THIS->DrawEllipticArc(x, y, width, height, start, end);
4842     }
4843     XSRETURN_EMPTY;
4844 }
4845
4846
4847 XS(XS_Wx__DC_DrawIcon); /* prototype to pass -Wmissing-prototypes */
4848 XS(XS_Wx__DC_DrawIcon)
4849 {
4850 #ifdef dVAR
4851     dVAR; dXSARGS;
4852 #else
4853     dXSARGS;
4854 #endif
4855     if (items != 4)
4856        croak_xs_usage(cv,  "THIS, icon, x, y");
4857     {
4858         wxIcon*    icon = (wxIcon *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Icon" );
4859         wxCoord x = (wxCoord)SvIV(ST(2));
4860         wxCoord y = (wxCoord)SvIV(ST(3));
4861         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
4862     THIS->DrawIcon( *icon, x, y );
4863     }
4864     XSRETURN_EMPTY;
4865 }
4866
4867
4868 XS(XS_Wx__DC_DrawLine); /* prototype to pass -Wmissing-prototypes */
4869 XS(XS_Wx__DC_DrawLine)
4870 {
4871 #ifdef dVAR
4872     dVAR; dXSARGS;
4873 #else
4874     dXSARGS;
4875 #endif
4876     if (items != 5)
4877        croak_xs_usage(cv,  "THIS, x1, y1, x2, y2");
4878     {
4879         wxCoord x1 = (wxCoord)SvIV(ST(1));
4880         wxCoord y1 = (wxCoord)SvIV(ST(2));
4881         wxCoord x2 = (wxCoord)SvIV(ST(3));
4882         wxCoord y2 = (wxCoord)SvIV(ST(4));
4883         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
4884
4885         THIS->DrawLine(x1, y1, x2, y2);
4886     }
4887     XSRETURN_EMPTY;
4888 }
4889
4890
4891 XS(XS_Wx__DC_DrawLines); /* prototype to pass -Wmissing-prototypes */
4892 XS(XS_Wx__DC_DrawLines)
4893 {
4894 #ifdef dVAR
4895     dVAR; dXSARGS;
4896 #else
4897     dXSARGS;
4898 #endif
4899     if (items < 2 || items > 4)
4900        croak_xs_usage(cv,  "THIS, list, xoffset = 0, yoffset = 0");
4901     {
4902         SV*     list = ST(1);
4903         wxCoord xoffset;
4904         wxCoord yoffset;
4905 #if WXPERL_W_VERSION_GE( 2, 9, 0 )
4906     wxPointList points;
4907 #else
4908     wxList points;
4909 #endif
4910     wxPliArrayGuard<wxPoint> pts;
4911         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
4912
4913         if (items < 3)
4914             xoffset = 0;
4915         else {
4916             xoffset = (wxCoord)SvIV(ST(2));
4917         }
4918
4919         if (items < 4)
4920             yoffset = 0;
4921         else {
4922             yoffset = (wxCoord)SvIV(ST(3));
4923         }
4924     wxPli_av_2_pointlist( aTHX_ list, &points, pts.lvalue() );
4925     THIS->DrawLines( &points, xoffset, yoffset );
4926     }
4927     XSRETURN_EMPTY;
4928 }
4929
4930
4931 XS(XS_Wx__DC_DrawPoint); /* prototype to pass -Wmissing-prototypes */
4932 XS(XS_Wx__DC_DrawPoint)
4933 {
4934 #ifdef dVAR
4935     dVAR; dXSARGS;
4936 #else
4937     dXSARGS;
4938 #endif
4939     if (items != 3)
4940        croak_xs_usage(cv,  "THIS, x, y");
4941     {
4942         wxCoord x = (wxCoord)SvIV(ST(1));
4943         wxCoord y = (wxCoord)SvIV(ST(2));
4944         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
4945
4946         THIS->DrawPoint(x, y);
4947     }
4948     XSRETURN_EMPTY;
4949 }
4950
4951
4952 XS(XS_Wx__DC_DrawPolygon); /* prototype to pass -Wmissing-prototypes */
4953 XS(XS_Wx__DC_DrawPolygon)
4954 {
4955 #ifdef dVAR
4956     dVAR; dXSARGS;
4957 #else
4958     dXSARGS;
4959 #endif
4960     if (items < 4 || items > 5)
4961        croak_xs_usage(cv,  "THIS, list, xoffset, yoffset, fill_style = wxODDEVEN_RULE");
4962     {
4963         SV*     list = ST(1);
4964         wxCoord xoffset = (wxCoord)SvIV(ST(2));
4965         wxCoord yoffset = (wxCoord)SvIV(ST(3));
4966         wxPolygonFillMode       fill_style;
4967 #if WXPERL_W_VERSION_GE( 2, 9, 0 )
4968     wxPointList points;
4969 #else
4970     wxList points;
4971 #endif
4972     wxPliArrayGuard<wxPoint> pts;
4973         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
4974
4975         if (items < 5)
4976             fill_style = wxODDEVEN_RULE;
4977         else {
4978             fill_style = (wxPolygonFillMode)SvIV(ST(4));
4979         }
4980     wxPli_av_2_pointlist( aTHX_ list, &points, pts.lvalue() );
4981     THIS->DrawPolygon( &points, xoffset, yoffset, fill_style );
4982     }
4983     XSRETURN_EMPTY;
4984 }
4985
4986
4987 XS(XS_Wx__DC_DrawRectangle); /* prototype to pass -Wmissing-prototypes */
4988 XS(XS_Wx__DC_DrawRectangle)
4989 {
4990 #ifdef dVAR
4991     dVAR; dXSARGS;
4992 #else
4993     dXSARGS;
4994 #endif
4995     if (items != 5)
4996        croak_xs_usage(cv,  "THIS, x, y, width, height");
4997     {
4998         wxCoord x = (wxCoord)SvIV(ST(1));
4999         wxCoord y = (wxCoord)SvIV(ST(2));
5000         wxCoord width = (wxCoord)SvIV(ST(3));
5001         wxCoord height = (wxCoord)SvIV(ST(4));
5002         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
5003
5004         THIS->DrawRectangle(x, y, width, height);
5005     }
5006     XSRETURN_EMPTY;
5007 }
5008
5009
5010 XS(XS_Wx__DC_DrawRotatedText); /* prototype to pass -Wmissing-prototypes */
5011 XS(XS_Wx__DC_DrawRotatedText)
5012 {
5013 #ifdef dVAR
5014     dVAR; dXSARGS;
5015 #else
5016     dXSARGS;
5017 #endif
5018     if (items != 5)
5019        croak_xs_usage(cv,  "THIS, text, x, y, angle");
5020     {
5021         wxString        text;
5022         wxCoord x = (wxCoord)SvIV(ST(2));
5023         wxCoord y = (wxCoord)SvIV(ST(3));
5024         double  angle = (double)SvNV(ST(4));
5025         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
5026
5027     WXSTRING_INPUT( text, wxString, ST(1) );
5028
5029         THIS->DrawRotatedText(text, x, y, angle);
5030     }
5031     XSRETURN_EMPTY;
5032 }
5033
5034
5035 XS(XS_Wx__DC_DrawRoundedRectangle); /* prototype to pass -Wmissing-prototypes */
5036 XS(XS_Wx__DC_DrawRoundedRectangle)
5037 {
5038 #ifdef dVAR
5039     dVAR; dXSARGS;
5040 #else
5041     dXSARGS;
5042 #endif
5043     if (items < 5 || items > 6)
5044        croak_xs_usage(cv,  "THIS, x, y, width, height, radius = 20");
5045     {
5046         wxCoord x = (wxCoord)SvIV(ST(1));
5047         wxCoord y = (wxCoord)SvIV(ST(2));
5048         wxCoord width = (wxCoord)SvIV(ST(3));
5049         wxCoord height = (wxCoord)SvIV(ST(4));
5050         wxCoord radius;
5051         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
5052
5053         if (items < 6)
5054             radius = 20;
5055         else {
5056             radius = (wxCoord)SvIV(ST(5));
5057         }
5058
5059         THIS->DrawRoundedRectangle(x, y, width, height, radius);
5060     }
5061     XSRETURN_EMPTY;
5062 }
5063
5064
5065 XS(XS_Wx__DC_DrawSpline); /* prototype to pass -Wmissing-prototypes */
5066 XS(XS_Wx__DC_DrawSpline)
5067 {
5068 #ifdef dVAR
5069     dVAR; dXSARGS;
5070 #else
5071     dXSARGS;
5072 #endif
5073     if (items != 2)
5074        croak_xs_usage(cv,  "THIS, list");
5075     {
5076         SV*     list = ST(1);
5077 #if WXPERL_W_VERSION_GE( 2, 9, 0 )
5078     wxPointList points;
5079 #else
5080     wxList points;
5081 #endif
5082     wxPliArrayGuard<wxPoint> pts;
5083         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
5084     wxPli_av_2_pointlist( aTHX_ list, &points, pts.lvalue() );
5085     THIS->DrawSpline( &points );
5086     }
5087     XSRETURN_EMPTY;
5088 }
5089
5090
5091 XS(XS_Wx__DC_DrawText); /* prototype to pass -Wmissing-prototypes */
5092 XS(XS_Wx__DC_DrawText)
5093 {
5094 #ifdef dVAR
5095     dVAR; dXSARGS;
5096 #else
5097     dXSARGS;
5098 #endif
5099     if (items != 4)
5100        croak_xs_usage(cv,  "THIS, text, x, y");
5101     {
5102         wxString        text;
5103         wxCoord x = (wxCoord)SvIV(ST(2));
5104         wxCoord y = (wxCoord)SvIV(ST(3));
5105         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
5106
5107     WXSTRING_INPUT( text, wxString, ST(1) );
5108
5109         THIS->DrawText(text, x, y);
5110     }
5111     XSRETURN_EMPTY;
5112 }
5113
5114
5115 XS(XS_Wx__DC_EndDoc); /* prototype to pass -Wmissing-prototypes */
5116 XS(XS_Wx__DC_EndDoc)
5117 {
5118 #ifdef dVAR
5119     dVAR; dXSARGS;
5120 #else
5121     dXSARGS;
5122 #endif
5123     if (items != 1)
5124        croak_xs_usage(cv,  "THIS");
5125     {
5126         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
5127
5128         THIS->EndDoc();
5129     }
5130     XSRETURN_EMPTY;
5131 }
5132
5133 #if WXPERL_W_VERSION_LT( 2, 7, 0 ) || WXWIN_COMPATIBILITY_2_6
5134 #define XSubPPtmpAABJ 1
5135
5136
5137 XS(XS_Wx__DC_EndDrawing); /* prototype to pass -Wmissing-prototypes */
5138 XS(XS_Wx__DC_EndDrawing)
5139 {
5140 #ifdef dVAR
5141     dVAR; dXSARGS;
5142 #else
5143     dXSARGS;
5144 #endif
5145     if (items != 1)
5146        croak_xs_usage(cv,  "THIS");
5147     {
5148         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
5149
5150         THIS->EndDrawing();
5151     }
5152     XSRETURN_EMPTY;
5153 }
5154
5155 #endif
5156
5157 XS(XS_Wx__DC_EndPage); /* prototype to pass -Wmissing-prototypes */
5158 XS(XS_Wx__DC_EndPage)
5159 {
5160 #ifdef dVAR
5161     dVAR; dXSARGS;
5162 #else
5163     dXSARGS;
5164 #endif
5165     if (items != 1)
5166        croak_xs_usage(cv,  "THIS");
5167     {
5168         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
5169
5170         THIS->EndPage();
5171     }
5172     XSRETURN_EMPTY;
5173 }
5174
5175
5176 XS(XS_Wx__DC_FloodFill); /* prototype to pass -Wmissing-prototypes */
5177 XS(XS_Wx__DC_FloodFill)
5178 {
5179 #ifdef dVAR
5180     dVAR; dXSARGS;
5181 #else
5182     dXSARGS;
5183 #endif
5184     if (items < 4 || items > 5)
5185        croak_xs_usage(cv,  "THIS, x, y, colour, style =  wxFLOOD_SURFACE");
5186     {
5187         wxCoord x = (wxCoord)SvIV(ST(1));
5188         wxCoord y = (wxCoord)SvIV(ST(2));
5189         wxColour*    colour = (wxColour *) wxPli_sv_2_object( aTHX_ ST(3), "Wx::Colour" );
5190         wxFloodFillStyle        style;
5191         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
5192
5193         if (items < 5)
5194             style = wxFLOOD_SURFACE;
5195         else {
5196             style = (wxFloodFillStyle)SvIV(ST(4));
5197         }
5198     THIS->FloodFill( x, y, *colour, style );
5199     }
5200     XSRETURN_EMPTY;
5201 }
5202
5203 #if WXPERL_W_VERSION_GE( 2, 7, 2 )
5204 #define XSubPPtmpAABK 1
5205
5206
5207 XS(XS_Wx__DC_GetAsBitmap); /* prototype to pass -Wmissing-prototypes */
5208 XS(XS_Wx__DC_GetAsBitmap)
5209 {
5210 #ifdef dVAR
5211     dVAR; dXSARGS;
5212 #else
5213     dXSARGS;
5214 #endif
5215     if (items < 1 || items > 2)
5216        croak_xs_usage(cv,  "THIS, subrect= NULL");
5217     {
5218         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
5219         wxBitmap *      RETVAL;
5220         wxRect* subrect;
5221
5222         if (items < 2)
5223             subrect = NULL;
5224         else {
5225     subrect = (wxRect *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Rect" );
5226         }
5227     RETVAL = new wxBitmap( THIS->GetAsBitmap( subrect ) );
5228         ST(0) = sv_newmortal();
5229     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
5230     wxPli_thread_sv_register( aTHX_ "Wx::Bitmap", RETVAL, ST(0) );
5231
5232     }
5233     XSRETURN(1);
5234 }
5235
5236 #endif
5237
5238 XS(XS_Wx__DC_GetBackground); /* prototype to pass -Wmissing-prototypes */
5239 XS(XS_Wx__DC_GetBackground)
5240 {
5241 #ifdef dVAR
5242     dVAR; dXSARGS;
5243 #else
5244     dXSARGS;
5245 #endif
5246     if (items != 1)
5247        croak_xs_usage(cv,  "THIS");
5248     {
5249         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
5250         wxBrush *       RETVAL;
5251     RETVAL = new wxBrush( THIS->GetBackground() );
5252         ST(0) = sv_newmortal();
5253     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
5254     wxPli_thread_sv_register( aTHX_ "Wx::Brush", RETVAL, ST(0) );
5255
5256     }
5257     XSRETURN(1);
5258 }
5259
5260
5261 XS(XS_Wx__DC_GetBackgroundMode); /* prototype to pass -Wmissing-prototypes */
5262 XS(XS_Wx__DC_GetBackgroundMode)
5263 {
5264 #ifdef dVAR
5265     dVAR; dXSARGS;
5266 #else
5267     dXSARGS;
5268 #endif
5269     if (items != 1)
5270        croak_xs_usage(cv,  "THIS");
5271     {
5272         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
5273         int     RETVAL;
5274         dXSTARG;
5275
5276         RETVAL = THIS->GetBackgroundMode();
5277         XSprePUSH; PUSHi((IV)RETVAL);
5278     }
5279     XSRETURN(1);
5280 }
5281
5282
5283 XS(XS_Wx__DC_GetBrush); /* prototype to pass -Wmissing-prototypes */
5284 XS(XS_Wx__DC_GetBrush)
5285 {
5286 #ifdef dVAR
5287     dVAR; dXSARGS;
5288 #else
5289     dXSARGS;
5290 #endif
5291     if (items != 1)
5292        croak_xs_usage(cv,  "THIS");
5293     {
5294         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
5295         wxBrush *       RETVAL;
5296     RETVAL = new wxBrush( THIS->GetBrush() );
5297         ST(0) = sv_newmortal();
5298     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
5299     wxPli_thread_sv_register( aTHX_ "Wx::Brush", RETVAL, ST(0) );
5300
5301     }
5302     XSRETURN(1);
5303 }
5304
5305
5306 XS(XS_Wx__DC_GetCharHeight); /* prototype to pass -Wmissing-prototypes */
5307 XS(XS_Wx__DC_GetCharHeight)
5308 {
5309 #ifdef dVAR
5310     dVAR; dXSARGS;
5311 #else
5312     dXSARGS;
5313 #endif
5314     if (items != 1)
5315        croak_xs_usage(cv,  "THIS");
5316     {
5317         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
5318         wxCoord RETVAL;
5319         dXSTARG;
5320
5321         RETVAL = THIS->GetCharHeight();
5322         XSprePUSH; PUSHi((IV)RETVAL);
5323     }
5324     XSRETURN(1);
5325 }
5326
5327
5328 XS(XS_Wx__DC_GetCharWidth); /* prototype to pass -Wmissing-prototypes */
5329 XS(XS_Wx__DC_GetCharWidth)
5330 {
5331 #ifdef dVAR
5332     dVAR; dXSARGS;
5333 #else
5334     dXSARGS;
5335 #endif
5336     if (items != 1)
5337        croak_xs_usage(cv,  "THIS");
5338     {
5339         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
5340         wxCoord RETVAL;
5341         dXSTARG;
5342
5343         RETVAL = THIS->GetCharWidth();
5344         XSprePUSH; PUSHi((IV)RETVAL);
5345     }
5346     XSRETURN(1);
5347 }
5348
5349
5350 XS(XS_Wx__DC_GetClippingBox); /* prototype to pass -Wmissing-prototypes */
5351 XS(XS_Wx__DC_GetClippingBox)
5352 {
5353 #ifdef dVAR
5354     dVAR; dXSARGS;
5355 #else
5356     dXSARGS;
5357 #endif
5358     if (items != 1)
5359        croak_xs_usage(cv,  "THIS");
5360     PERL_UNUSED_VAR(ax); /* -Wall */
5361     SP -= items;
5362     {
5363     wxCoord x, y, width, height;
5364         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
5365     THIS->GetClippingBox( &x, &y, &width, &height );
5366     EXTEND( SP, 4 );
5367     PUSHs( sv_2mortal( newSViv( x ) ) );
5368     PUSHs( sv_2mortal( newSViv( y ) ) );
5369     PUSHs( sv_2mortal( newSViv( width ) ) );
5370     PUSHs( sv_2mortal( newSViv( height ) ) );
5371         PUTBACK;
5372         return;
5373     }
5374 }
5375
5376
5377 XS(XS_Wx__DC_GetFont); /* prototype to pass -Wmissing-prototypes */
5378 XS(XS_Wx__DC_GetFont)
5379 {
5380 #ifdef dVAR
5381     dVAR; dXSARGS;
5382 #else
5383     dXSARGS;
5384 #endif
5385     if (items != 1)
5386        croak_xs_usage(cv,  "THIS");
5387     {
5388         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
5389         wxFont *        RETVAL;
5390     RETVAL = new wxFont( THIS->GetFont() );
5391         ST(0) = sv_newmortal();
5392     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
5393     wxPli_thread_sv_register( aTHX_ "Wx::Font", RETVAL, ST(0) );
5394
5395     }
5396     XSRETURN(1);
5397 }
5398
5399
5400 XS(XS_Wx__DC_GetLogicalFunction); /* prototype to pass -Wmissing-prototypes */
5401 XS(XS_Wx__DC_GetLogicalFunction)
5402 {
5403 #ifdef dVAR
5404     dVAR; dXSARGS;
5405 #else
5406     dXSARGS;
5407 #endif
5408     if (items != 1)
5409        croak_xs_usage(cv,  "THIS");
5410     {
5411         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
5412         wxRasterOperationMode   RETVAL;
5413         dXSTARG;
5414
5415         RETVAL = THIS->GetLogicalFunction();
5416         XSprePUSH; PUSHi((IV)RETVAL);
5417     }
5418     XSRETURN(1);
5419 }
5420
5421
5422 XS(XS_Wx__DC_GetMapMode); /* prototype to pass -Wmissing-prototypes */
5423 XS(XS_Wx__DC_GetMapMode)
5424 {
5425 #ifdef dVAR
5426     dVAR; dXSARGS;
5427 #else
5428     dXSARGS;
5429 #endif
5430     if (items != 1)
5431        croak_xs_usage(cv,  "THIS");
5432     {
5433         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
5434         wxMappingMode   RETVAL;
5435         dXSTARG;
5436
5437         RETVAL = THIS->GetMapMode();
5438         XSprePUSH; PUSHi((IV)RETVAL);
5439     }
5440     XSRETURN(1);
5441 }
5442
5443 #if !defined( __WXMAC__ ) && WXPERL_W_VERSION_LE( 2, 5, 3 )
5444 #define XSubPPtmpAABL 1
5445
5446
5447 XS(XS_Wx__DC_GetOptimization); /* prototype to pass -Wmissing-prototypes */
5448 XS(XS_Wx__DC_GetOptimization)
5449 {
5450 #ifdef dVAR
5451     dVAR; dXSARGS;
5452 #else
5453     dXSARGS;
5454 #endif
5455     if (items != 1)
5456        croak_xs_usage(cv,  "THIS");
5457     {
5458         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
5459         bool    RETVAL;
5460
5461         RETVAL = THIS->GetOptimization();
5462         ST(0) = boolSV(RETVAL);
5463         sv_2mortal(ST(0));
5464     }
5465     XSRETURN(1);
5466 }
5467
5468 #endif
5469
5470 XS(XS_Wx__DC_GetPen); /* prototype to pass -Wmissing-prototypes */
5471 XS(XS_Wx__DC_GetPen)
5472 {
5473 #ifdef dVAR
5474     dVAR; dXSARGS;
5475 #else
5476     dXSARGS;
5477 #endif
5478     if (items != 1)
5479        croak_xs_usage(cv,  "THIS");
5480     {
5481         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
5482         wxPen * RETVAL;
5483     RETVAL = new wxPen( THIS->GetPen() );
5484         ST(0) = sv_newmortal();
5485     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
5486     wxPli_thread_sv_register( aTHX_ "Wx::Pen", RETVAL, ST(0) );
5487
5488     }
5489     XSRETURN(1);
5490 }
5491
5492
5493 XS(XS_Wx__DC_GetPixel); /* prototype to pass -Wmissing-prototypes */
5494 XS(XS_Wx__DC_GetPixel)
5495 {
5496 #ifdef dVAR
5497     dVAR; dXSARGS;
5498 #else
5499     dXSARGS;
5500 #endif
5501     if (items != 3)
5502        croak_xs_usage(cv,  "THIS, x, y");
5503     {
5504         wxCoord x = (wxCoord)SvIV(ST(1));
5505         wxCoord y = (wxCoord)SvIV(ST(2));
5506     wxColour c;
5507         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
5508         wxColour *      RETVAL;
5509     THIS->GetPixel( x, y, &c );
5510     RETVAL = new wxColour( c );
5511         ST(0) = sv_newmortal();
5512     wxPli_non_object_2_sv( aTHX_ ST(0), RETVAL, "Wx::Colour" );
5513     wxPli_thread_sv_register( aTHX_ "Wx::Colour", RETVAL, ST(0) );
5514
5515     }
5516     XSRETURN(1);
5517 }
5518
5519
5520 XS(XS_Wx__DC_GetSize); /* prototype to pass -Wmissing-prototypes */
5521 XS(XS_Wx__DC_GetSize)
5522 {
5523 #ifdef dVAR
5524     dVAR; dXSARGS;
5525 #else
5526     dXSARGS;
5527 #endif
5528     if (items != 1)
5529        croak_xs_usage(cv,  "THIS");
5530     {
5531         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
5532         wxSize *        RETVAL;
5533     RETVAL = new wxSize( THIS->GetSize() );
5534         ST(0) = sv_newmortal();
5535     wxPli_non_object_2_sv( aTHX_ ST(0), RETVAL, "Wx::Size" );
5536     wxPli_thread_sv_register( aTHX_ "Wx::Size", RETVAL, ST(0) );
5537
5538     }
5539     XSRETURN(1);
5540 }
5541
5542
5543 XS(XS_Wx__DC_GetSizeWH); /* prototype to pass -Wmissing-prototypes */
5544 XS(XS_Wx__DC_GetSizeWH)
5545 {
5546 #ifdef dVAR
5547     dVAR; dXSARGS;
5548 #else
5549     dXSARGS;
5550 #endif
5551     if (items != 1)
5552        croak_xs_usage(cv,  "THIS");
5553     PERL_UNUSED_VAR(ax); /* -Wall */
5554     SP -= items;
5555     {
5556     wxCoord x, y;
5557         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
5558     THIS->GetSize( &x, &y );
5559     EXTEND( SP, 2 );
5560     PUSHs( sv_2mortal( newSViv( x ) ) );
5561     PUSHs( sv_2mortal( newSViv( y ) ) );
5562         PUTBACK;
5563         return;
5564     }
5565 }
5566
5567
5568 XS(XS_Wx__DC_GetSizeMM); /* prototype to pass -Wmissing-prototypes */
5569 XS(XS_Wx__DC_GetSizeMM)
5570 {
5571 #ifdef dVAR
5572     dVAR; dXSARGS;
5573 #else
5574     dXSARGS;
5575 #endif
5576     if (items != 1)
5577        croak_xs_usage(cv,  "THIS");
5578     {
5579         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
5580         wxSize *        RETVAL;
5581     RETVAL = new wxSize( THIS->GetSizeMM() );
5582         ST(0) = sv_newmortal();
5583     wxPli_non_object_2_sv( aTHX_ ST(0), RETVAL, "Wx::Size" );
5584     wxPli_thread_sv_register( aTHX_ "Wx::Size", RETVAL, ST(0) );
5585
5586     }
5587     XSRETURN(1);
5588 }
5589
5590
5591 XS(XS_Wx__DC_GetSizeMMWH); /* prototype to pass -Wmissing-prototypes */
5592 XS(XS_Wx__DC_GetSizeMMWH)
5593 {
5594 #ifdef dVAR
5595     dVAR; dXSARGS;
5596 #else
5597     dXSARGS;
5598 #endif
5599     if (items != 1)
5600        croak_xs_usage(cv,  "THIS");
5601     PERL_UNUSED_VAR(ax); /* -Wall */
5602     SP -= items;
5603     {
5604     wxCoord x, y;
5605         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
5606     THIS->GetSizeMM( &x, &y );
5607     EXTEND( SP, 2 );
5608     PUSHs( sv_2mortal( newSViv( x ) ) );
5609     PUSHs( sv_2mortal( newSViv( y ) ) );
5610         PUTBACK;
5611         return;
5612     }
5613 }
5614
5615
5616 XS(XS_Wx__DC_GetPPI); /* prototype to pass -Wmissing-prototypes */
5617 XS(XS_Wx__DC_GetPPI)
5618 {
5619 #ifdef dVAR
5620     dVAR; dXSARGS;
5621 #else
5622     dXSARGS;
5623 #endif
5624     if (items != 1)
5625        croak_xs_usage(cv,  "THIS");
5626     {
5627         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
5628         wxSize *        RETVAL;
5629     RETVAL = new wxSize( THIS->GetPPI() );
5630         ST(0) = sv_newmortal();
5631     wxPli_non_object_2_sv( aTHX_ ST(0), RETVAL, "Wx::Size" );
5632     wxPli_thread_sv_register( aTHX_ "Wx::Size", RETVAL, ST(0) );
5633
5634     }
5635     XSRETURN(1);
5636 }
5637
5638
5639 XS(XS_Wx__DC_GetTextBackground); /* prototype to pass -Wmissing-prototypes */
5640 XS(XS_Wx__DC_GetTextBackground)
5641 {
5642 #ifdef dVAR
5643     dVAR; dXSARGS;
5644 #else
5645     dXSARGS;
5646 #endif
5647     if (items != 1)
5648        croak_xs_usage(cv,  "THIS");
5649     {
5650         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
5651         wxColour *      RETVAL;
5652     RETVAL = new wxColour( THIS->GetTextBackground() );
5653         ST(0) = sv_newmortal();
5654     wxPli_non_object_2_sv( aTHX_ ST(0), RETVAL, "Wx::Colour" );
5655     wxPli_thread_sv_register( aTHX_ "Wx::Colour", RETVAL, ST(0) );
5656
5657     }
5658     XSRETURN(1);
5659 }
5660
5661
5662 XS(XS_Wx__DC_GetTextExtent); /* prototype to pass -Wmissing-prototypes */
5663 XS(XS_Wx__DC_GetTextExtent)
5664 {
5665 #ifdef dVAR
5666     dVAR; dXSARGS;
5667 #else
5668     dXSARGS;
5669 #endif
5670     if (items < 2 || items > 3)
5671        croak_xs_usage(cv,  "THIS, string, font = NULL");
5672     PERL_UNUSED_VAR(ax); /* -Wall */
5673     SP -= items;
5674     {
5675         wxString        string;
5676         wxFont* font;
5677     wxCoord x, y, descent, externalLeading;
5678         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
5679
5680     WXSTRING_INPUT( string, wxString, ST(1) );
5681
5682         if (items < 3)
5683             font = NULL;
5684         else {
5685     font = (wxFont *) wxPli_sv_2_object( aTHX_ ST(2), "Wx::Font" );
5686         }
5687     THIS->GetTextExtent( string, &x, &y, &descent, &externalLeading,
5688         font );
5689     EXTEND( SP, 4 );
5690     PUSHs( sv_2mortal( newSViv( x ) ) );
5691     PUSHs( sv_2mortal( newSViv( y ) ) );
5692     PUSHs( sv_2mortal( newSViv( descent ) ) );
5693     PUSHs( sv_2mortal( newSViv( externalLeading ) ) );
5694         PUTBACK;
5695         return;
5696     }
5697 }
5698
5699
5700 XS(XS_Wx__DC_GetPartialTextExtents); /* prototype to pass -Wmissing-prototypes */
5701 XS(XS_Wx__DC_GetPartialTextExtents)
5702 {
5703 #ifdef dVAR
5704     dVAR; dXSARGS;
5705 #else
5706     dXSARGS;
5707 #endif
5708     if (items != 2)
5709        croak_xs_usage(cv,  "THIS, string");
5710     PERL_UNUSED_VAR(ax); /* -Wall */
5711     SP -= items;
5712     {
5713         wxString        string;
5714     wxArrayInt widths;
5715         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
5716
5717     WXSTRING_INPUT( string, wxString, ST(1) );
5718     bool ok = THIS->GetPartialTextExtents( string, widths );
5719     if( ok ) {
5720         PUTBACK;
5721         wxPli_intarray_push( aTHX_ widths );
5722         SPAGAIN;
5723     } else
5724         XSRETURN_EMPTY;
5725         PUTBACK;
5726         return;
5727     }
5728 }
5729
5730
5731 XS(XS_Wx__DC_GetMultiLineTextExtent); /* prototype to pass -Wmissing-prototypes */
5732 XS(XS_Wx__DC_GetMultiLineTextExtent)
5733 {
5734 #ifdef dVAR
5735     dVAR; dXSARGS;
5736 #else
5737     dXSARGS;
5738 #endif
5739     if (items < 2 || items > 3)
5740        croak_xs_usage(cv,  "THIS, string, font = NULL");
5741     PERL_UNUSED_VAR(ax); /* -Wall */
5742     SP -= items;
5743     {
5744         wxString        string;
5745         wxFont* font;
5746     wxCoord w, h, hLine;
5747         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
5748
5749     WXSTRING_INPUT( string, wxString, ST(1) );
5750
5751         if (items < 3)
5752             font = NULL;
5753         else {
5754     font = (wxFont *) wxPli_sv_2_object( aTHX_ ST(2), "Wx::Font" );
5755         }
5756     THIS->GetMultiLineTextExtent( string, &w, &h, &hLine, font );
5757     EXTEND( SP, 3 );
5758     PUSHs( sv_2mortal( newSViv( w ) ) );
5759     PUSHs( sv_2mortal( newSViv( h ) ) );
5760     PUSHs( sv_2mortal( newSViv( hLine ) ) );
5761         PUTBACK;
5762         return;
5763     }
5764 }
5765
5766
5767 XS(XS_Wx__DC_GetTextForeground); /* prototype to pass -Wmissing-prototypes */
5768 XS(XS_Wx__DC_GetTextForeground)
5769 {
5770 #ifdef dVAR
5771     dVAR; dXSARGS;
5772 #else
5773     dXSARGS;
5774 #endif
5775     if (items != 1)
5776        croak_xs_usage(cv,  "THIS");
5777     {
5778         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
5779         wxColour *      RETVAL;
5780     RETVAL = new wxColour( THIS->GetTextForeground() );
5781         ST(0) = sv_newmortal();
5782     wxPli_non_object_2_sv( aTHX_ ST(0), RETVAL, "Wx::Colour" );
5783     wxPli_thread_sv_register( aTHX_ "Wx::Colour", RETVAL, ST(0) );
5784
5785     }
5786     XSRETURN(1);
5787 }
5788
5789
5790 XS(XS_Wx__DC_GetUserScale); /* prototype to pass -Wmissing-prototypes */
5791 XS(XS_Wx__DC_GetUserScale)
5792 {
5793 #ifdef dVAR
5794     dVAR; dXSARGS;
5795 #else
5796     dXSARGS;
5797 #endif
5798     if (items != 1)
5799        croak_xs_usage(cv,  "THIS");
5800     PERL_UNUSED_VAR(ax); /* -Wall */
5801     SP -= items;
5802     {
5803     double x, y;
5804         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
5805     THIS->GetUserScale( &x, &y );
5806     EXTEND( SP, 2 );
5807     PUSHs( sv_2mortal( newSVnv( x ) ) );
5808     PUSHs( sv_2mortal( newSVnv( y ) ) );
5809         PUTBACK;
5810         return;
5811     }
5812 }
5813
5814 #if WXPERL_W_VERSION_GE( 2, 7, 2 )
5815 #define XSubPPtmpAABM 1
5816
5817
5818 XS(XS_Wx__DC_GradientFillLinear); /* prototype to pass -Wmissing-prototypes */
5819 XS(XS_Wx__DC_GradientFillLinear)
5820 {
5821 #ifdef dVAR
5822     dVAR; dXSARGS;
5823 #else
5824     dXSARGS;
5825 #endif
5826     if (items < 4 || items > 5)
5827        croak_xs_usage(cv,  "THIS, rect, initialColour, destColour, direction = wxEAST");
5828     {
5829         wxRect*    rect = (wxRect *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Rect" );
5830         wxColour    initialColour = *(wxColour *) wxPli_sv_2_object( aTHX_ ST(2), "Wx::Colour" );
5831         wxColour    destColour = *(wxColour *) wxPli_sv_2_object( aTHX_ ST(3), "Wx::Colour" );
5832         wxDirection     direction;
5833         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
5834
5835         if (items < 5)
5836             direction = wxEAST;
5837         else {
5838             direction = (wxDirection)SvIV(ST(4));
5839         }
5840
5841         THIS->GradientFillLinear(*rect, initialColour, destColour, direction);
5842     }
5843     XSRETURN_EMPTY;
5844 }
5845
5846 #endif
5847
5848 XS(XS_Wx__DC_LogicalToDeviceX); /* prototype to pass -Wmissing-prototypes */
5849 XS(XS_Wx__DC_LogicalToDeviceX)
5850 {
5851 #ifdef dVAR
5852     dVAR; dXSARGS;
5853 #else
5854     dXSARGS;
5855 #endif
5856     if (items != 2)
5857        croak_xs_usage(cv,  "THIS, x");
5858     {
5859         wxCoord x = (wxCoord)SvIV(ST(1));
5860         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
5861         wxCoord RETVAL;
5862         dXSTARG;
5863
5864         RETVAL = THIS->LogicalToDeviceX(x);
5865         XSprePUSH; PUSHi((IV)RETVAL);
5866     }
5867     XSRETURN(1);
5868 }
5869
5870
5871 XS(XS_Wx__DC_LogicalToDeviceXRel); /* prototype to pass -Wmissing-prototypes */
5872 XS(XS_Wx__DC_LogicalToDeviceXRel)
5873 {
5874 #ifdef dVAR
5875     dVAR; dXSARGS;
5876 #else
5877     dXSARGS;
5878 #endif
5879     if (items != 2)
5880        croak_xs_usage(cv,  "THIS, x");
5881     {
5882         wxCoord x = (wxCoord)SvIV(ST(1));
5883         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
5884         wxCoord RETVAL;
5885         dXSTARG;
5886
5887         RETVAL = THIS->LogicalToDeviceXRel(x);
5888         XSprePUSH; PUSHi((IV)RETVAL);
5889     }
5890     XSRETURN(1);
5891 }
5892
5893
5894 XS(XS_Wx__DC_LogicalToDeviceY); /* prototype to pass -Wmissing-prototypes */
5895 XS(XS_Wx__DC_LogicalToDeviceY)
5896 {
5897 #ifdef dVAR
5898     dVAR; dXSARGS;
5899 #else
5900     dXSARGS;
5901 #endif
5902     if (items != 2)
5903        croak_xs_usage(cv,  "THIS, y");
5904     {
5905         wxCoord y = (wxCoord)SvIV(ST(1));
5906         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
5907         wxCoord RETVAL;
5908         dXSTARG;
5909
5910         RETVAL = THIS->LogicalToDeviceY(y);
5911         XSprePUSH; PUSHi((IV)RETVAL);
5912     }
5913     XSRETURN(1);
5914 }
5915
5916
5917 XS(XS_Wx__DC_LogicalToDeviceYRel); /* prototype to pass -Wmissing-prototypes */
5918 XS(XS_Wx__DC_LogicalToDeviceYRel)
5919 {
5920 #ifdef dVAR
5921     dVAR; dXSARGS;
5922 #else
5923     dXSARGS;
5924 #endif
5925     if (items != 2)
5926        croak_xs_usage(cv,  "THIS, y");
5927     {
5928         wxCoord y = (wxCoord)SvIV(ST(1));
5929         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
5930         wxCoord RETVAL;
5931         dXSTARG;
5932
5933         RETVAL = THIS->LogicalToDeviceYRel(y);
5934         XSprePUSH; PUSHi((IV)RETVAL);
5935     }
5936     XSRETURN(1);
5937 }
5938
5939
5940 XS(XS_Wx__DC_MaxX); /* prototype to pass -Wmissing-prototypes */
5941 XS(XS_Wx__DC_MaxX)
5942 {
5943 #ifdef dVAR
5944     dVAR; dXSARGS;
5945 #else
5946     dXSARGS;
5947 #endif
5948     if (items != 1)
5949        croak_xs_usage(cv,  "THIS");
5950     {
5951         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
5952         wxCoord RETVAL;
5953         dXSTARG;
5954
5955         RETVAL = THIS->MaxX();
5956         XSprePUSH; PUSHi((IV)RETVAL);
5957     }
5958     XSRETURN(1);
5959 }
5960
5961
5962 XS(XS_Wx__DC_MaxY); /* prototype to pass -Wmissing-prototypes */
5963 XS(XS_Wx__DC_MaxY)
5964 {
5965 #ifdef dVAR
5966     dVAR; dXSARGS;
5967 #else
5968     dXSARGS;
5969 #endif
5970     if (items != 1)
5971        croak_xs_usage(cv,  "THIS");
5972     {
5973         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
5974         wxCoord RETVAL;
5975         dXSTARG;
5976
5977         RETVAL = THIS->MaxY();
5978         XSprePUSH; PUSHi((IV)RETVAL);
5979     }
5980     XSRETURN(1);
5981 }
5982
5983
5984 XS(XS_Wx__DC_MinX); /* prototype to pass -Wmissing-prototypes */
5985 XS(XS_Wx__DC_MinX)
5986 {
5987 #ifdef dVAR
5988     dVAR; dXSARGS;
5989 #else
5990     dXSARGS;
5991 #endif
5992     if (items != 1)
5993        croak_xs_usage(cv,  "THIS");
5994     {
5995         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
5996         wxCoord RETVAL;
5997         dXSTARG;
5998
5999         RETVAL = THIS->MinX();
6000         XSprePUSH; PUSHi((IV)RETVAL);
6001     }
6002     XSRETURN(1);
6003 }
6004
6005
6006 XS(XS_Wx__DC_MinY); /* prototype to pass -Wmissing-prototypes */
6007 XS(XS_Wx__DC_MinY)
6008 {
6009 #ifdef dVAR
6010     dVAR; dXSARGS;
6011 #else
6012     dXSARGS;
6013 #endif
6014     if (items != 1)
6015        croak_xs_usage(cv,  "THIS");
6016     {
6017         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
6018         wxCoord RETVAL;
6019         dXSTARG;
6020
6021         RETVAL = THIS->MinY();
6022         XSprePUSH; PUSHi((IV)RETVAL);
6023     }
6024     XSRETURN(1);
6025 }
6026
6027 #if WXPERL_W_VERSION_GE( 2, 8, 0 )
6028 #define XSubPPtmpAABN 1
6029
6030
6031 XS(XS_Wx__DC_IsOk); /* prototype to pass -Wmissing-prototypes */
6032 XS(XS_Wx__DC_IsOk)
6033 {
6034 #ifdef dVAR
6035     dVAR; dXSARGS;
6036 #else
6037     dXSARGS;
6038 #endif
6039     if (items != 1)
6040        croak_xs_usage(cv,  "THIS");
6041     {
6042         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
6043         bool    RETVAL;
6044
6045         RETVAL = THIS->IsOk();
6046         ST(0) = boolSV(RETVAL);
6047         sv_2mortal(ST(0));
6048     }
6049     XSRETURN(1);
6050 }
6051
6052
6053 XS(XS_Wx__DC_Ok); /* prototype to pass -Wmissing-prototypes */
6054 XS(XS_Wx__DC_Ok)
6055 {
6056 #ifdef dVAR
6057     dVAR; dXSARGS;
6058 #else
6059     dXSARGS;
6060 #endif
6061     if (items != 1)
6062        croak_xs_usage(cv,  "THIS");
6063     {
6064         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
6065         bool    RETVAL;
6066     RETVAL = THIS->IsOk();
6067         ST(0) = boolSV(RETVAL);
6068         sv_2mortal(ST(0));
6069     }
6070     XSRETURN(1);
6071 }
6072
6073 #else
6074 #define XSubPPtmpAABO 1
6075
6076
6077 XS(XS_Wx__DC_Ok); /* prototype to pass -Wmissing-prototypes */
6078 XS(XS_Wx__DC_Ok)
6079 {
6080 #ifdef dVAR
6081     dVAR; dXSARGS;
6082 #else
6083     dXSARGS;
6084 #endif
6085     if (items != 1)
6086        croak_xs_usage(cv,  "THIS");
6087     {
6088         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
6089         bool    RETVAL;
6090
6091         RETVAL = THIS->Ok();
6092         ST(0) = boolSV(RETVAL);
6093         sv_2mortal(ST(0));
6094     }
6095     XSRETURN(1);
6096 }
6097
6098 #endif
6099
6100 XS(XS_Wx__DC_ResetBoundingBox); /* prototype to pass -Wmissing-prototypes */
6101 XS(XS_Wx__DC_ResetBoundingBox)
6102 {
6103 #ifdef dVAR
6104     dVAR; dXSARGS;
6105 #else
6106     dXSARGS;
6107 #endif
6108     if (items != 1)
6109        croak_xs_usage(cv,  "THIS");
6110     {
6111         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
6112
6113         THIS->ResetBoundingBox();
6114     }
6115     XSRETURN_EMPTY;
6116 }
6117
6118
6119 XS(XS_Wx__DC_SetAxisOrientation); /* prototype to pass -Wmissing-prototypes */
6120 XS(XS_Wx__DC_SetAxisOrientation)
6121 {
6122 #ifdef dVAR
6123     dVAR; dXSARGS;
6124 #else
6125     dXSARGS;
6126 #endif
6127     if (items != 3)
6128        croak_xs_usage(cv,  "THIS, xLeftRight, yBottomUp");
6129     {
6130         bool    xLeftRight = (bool)SvTRUE(ST(1));
6131         bool    yBottomUp = (bool)SvTRUE(ST(2));
6132         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
6133
6134         THIS->SetAxisOrientation(xLeftRight, yBottomUp);
6135     }
6136     XSRETURN_EMPTY;
6137 }
6138
6139
6140 XS(XS_Wx__DC_GetDepth); /* prototype to pass -Wmissing-prototypes */
6141 XS(XS_Wx__DC_GetDepth)
6142 {
6143 #ifdef dVAR
6144     dVAR; dXSARGS;
6145 #else
6146     dXSARGS;
6147 #endif
6148     if (items != 1)
6149        croak_xs_usage(cv,  "THIS");
6150     {
6151         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
6152         int     RETVAL;
6153         dXSTARG;
6154
6155         RETVAL = THIS->GetDepth();
6156         XSprePUSH; PUSHi((IV)RETVAL);
6157     }
6158     XSRETURN(1);
6159 }
6160
6161
6162 XS(XS_Wx__DC_GetDeviceOrigin); /* prototype to pass -Wmissing-prototypes */
6163 XS(XS_Wx__DC_GetDeviceOrigin)
6164 {
6165 #ifdef dVAR
6166     dVAR; dXSARGS;
6167 #else
6168     dXSARGS;
6169 #endif
6170     if (items != 1)
6171        croak_xs_usage(cv,  "THIS");
6172     {
6173         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
6174         wxPoint *       RETVAL;
6175     RETVAL = new wxPoint( THIS->GetDeviceOrigin() );
6176         ST(0) = sv_newmortal();
6177     wxPli_non_object_2_sv( aTHX_ ST(0), RETVAL, "Wx::Point" );
6178     wxPli_thread_sv_register( aTHX_ "Wx::Point", RETVAL, ST(0) );
6179
6180     }
6181     XSRETURN(1);
6182 }
6183
6184
6185 XS(XS_Wx__DC_SetDeviceOrigin); /* prototype to pass -Wmissing-prototypes */
6186 XS(XS_Wx__DC_SetDeviceOrigin)
6187 {
6188 #ifdef dVAR
6189     dVAR; dXSARGS;
6190 #else
6191     dXSARGS;
6192 #endif
6193     if (items != 3)
6194        croak_xs_usage(cv,  "THIS, x, y");
6195     {
6196         wxCoord x = (wxCoord)SvIV(ST(1));
6197         wxCoord y = (wxCoord)SvIV(ST(2));
6198         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
6199
6200         THIS->SetDeviceOrigin(x, y);
6201     }
6202     XSRETURN_EMPTY;
6203 }
6204
6205
6206 XS(XS_Wx__DC_SetBackground); /* prototype to pass -Wmissing-prototypes */
6207 XS(XS_Wx__DC_SetBackground)
6208 {
6209 #ifdef dVAR
6210     dVAR; dXSARGS;
6211 #else
6212     dXSARGS;
6213 #endif
6214     if (items != 2)
6215        croak_xs_usage(cv,  "THIS, brush");
6216     {
6217         wxBrush*    brush = (wxBrush *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Brush" );
6218         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
6219     THIS->SetBackground( *brush );
6220     }
6221     XSRETURN_EMPTY;
6222 }
6223
6224
6225 XS(XS_Wx__DC_SetBackgroundMode); /* prototype to pass -Wmissing-prototypes */
6226 XS(XS_Wx__DC_SetBackgroundMode)
6227 {
6228 #ifdef dVAR
6229     dVAR; dXSARGS;
6230 #else
6231     dXSARGS;
6232 #endif
6233     if (items != 2)
6234        croak_xs_usage(cv,  "THIS, mode");
6235     {
6236         int     mode = (int)SvIV(ST(1));
6237         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
6238
6239         THIS->SetBackgroundMode(mode);
6240     }
6241     XSRETURN_EMPTY;
6242 }
6243
6244
6245 XS(XS_Wx__DC_SetBrush); /* prototype to pass -Wmissing-prototypes */
6246 XS(XS_Wx__DC_SetBrush)
6247 {
6248 #ifdef dVAR
6249     dVAR; dXSARGS;
6250 #else
6251     dXSARGS;
6252 #endif
6253     if (items != 2)
6254        croak_xs_usage(cv,  "THIS, brush");
6255     {
6256         wxBrush*    brush = (wxBrush *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Brush" );
6257         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
6258     THIS->SetBrush( *brush );
6259     }
6260     XSRETURN_EMPTY;
6261 }
6262
6263
6264 XS(XS_Wx__DC_SetClippingRegion); /* prototype to pass -Wmissing-prototypes */
6265 XS(XS_Wx__DC_SetClippingRegion)
6266 {
6267 #ifdef dVAR
6268     dVAR; dXSARGS;
6269 #else
6270     dXSARGS;
6271 #endif
6272     if (items < 1)
6273        croak_xs_usage(cv,  "THIS, ...");
6274     PERL_UNUSED_VAR(ax); /* -Wall */
6275     SP -= items;
6276     {
6277         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
6278     BEGIN_OVERLOAD()
6279         MATCH_REDISP( wxPliOvl_n_n_n_n, SetClippingRegionXYWH )
6280         MATCH_REDISP( wxPliOvl_wreg, SetClippingRegionRegion )
6281     END_OVERLOAD( Wx::DC::SetClippingRegion )
6282         PUTBACK;
6283         return;
6284     }
6285 }
6286
6287
6288 XS(XS_Wx__DC_SetClippingRegionXYWH); /* prototype to pass -Wmissing-prototypes */
6289 XS(XS_Wx__DC_SetClippingRegionXYWH)
6290 {
6291 #ifdef dVAR
6292     dVAR; dXSARGS;
6293 #else
6294     dXSARGS;
6295 #endif
6296     if (items != 5)
6297        croak_xs_usage(cv,  "THIS, x, y, w, h");
6298     {
6299         wxCoord x = (wxCoord)SvIV(ST(1));
6300         wxCoord y = (wxCoord)SvIV(ST(2));
6301         wxCoord w = (wxCoord)SvIV(ST(3));
6302         wxCoord h = (wxCoord)SvIV(ST(4));
6303         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
6304     THIS->SetClippingRegion( x, y, w, h );
6305     }
6306     XSRETURN_EMPTY;
6307 }
6308
6309
6310 XS(XS_Wx__DC_SetClippingRegionRegion); /* prototype to pass -Wmissing-prototypes */
6311 XS(XS_Wx__DC_SetClippingRegionRegion)
6312 {
6313 #ifdef dVAR
6314     dVAR; dXSARGS;
6315 #else
6316     dXSARGS;
6317 #endif
6318     if (items != 2)
6319        croak_xs_usage(cv,  "THIS, region");
6320     {
6321         wxRegion*    region = (wxRegion *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Region" );
6322         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
6323     THIS->SetClippingRegion( *region );
6324     }
6325     XSRETURN_EMPTY;
6326 }
6327
6328
6329 XS(XS_Wx__DC_SetFont); /* prototype to pass -Wmissing-prototypes */
6330 XS(XS_Wx__DC_SetFont)
6331 {
6332 #ifdef dVAR
6333     dVAR; dXSARGS;
6334 #else
6335     dXSARGS;
6336 #endif
6337     if (items != 2)
6338        croak_xs_usage(cv,  "THIS, font");
6339     {
6340         wxFont*    font = (wxFont *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Font" );
6341         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
6342     THIS->SetFont( *font );
6343     }
6344     XSRETURN_EMPTY;
6345 }
6346
6347
6348 XS(XS_Wx__DC_SetLogicalFunction); /* prototype to pass -Wmissing-prototypes */
6349 XS(XS_Wx__DC_SetLogicalFunction)
6350 {
6351 #ifdef dVAR
6352     dVAR; dXSARGS;
6353 #else
6354     dXSARGS;
6355 #endif
6356     if (items != 2)
6357        croak_xs_usage(cv,  "THIS, function");
6358     {
6359         wxRasterOperationMode   function = (wxRasterOperationMode)SvIV(ST(1));
6360         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
6361
6362         THIS->SetLogicalFunction(function);
6363     }
6364     XSRETURN_EMPTY;
6365 }
6366
6367
6368 XS(XS_Wx__DC_SetMapMode); /* prototype to pass -Wmissing-prototypes */
6369 XS(XS_Wx__DC_SetMapMode)
6370 {
6371 #ifdef dVAR
6372     dVAR; dXSARGS;
6373 #else
6374     dXSARGS;
6375 #endif
6376     if (items != 2)
6377        croak_xs_usage(cv,  "THIS, mode");
6378     {
6379         wxMappingMode   mode = (wxMappingMode)SvIV(ST(1));
6380         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
6381
6382         THIS->SetMapMode(mode);
6383     }
6384     XSRETURN_EMPTY;
6385 }
6386
6387 #if !defined( __WXMAC__ ) && WXPERL_W_VERSION_LE( 2, 5, 3 )
6388 #define XSubPPtmpAABP 1
6389
6390
6391 XS(XS_Wx__DC_SetOptimization); /* prototype to pass -Wmissing-prototypes */
6392 XS(XS_Wx__DC_SetOptimization)
6393 {
6394 #ifdef dVAR
6395     dVAR; dXSARGS;
6396 #else
6397     dXSARGS;
6398 #endif
6399     if (items != 2)
6400        croak_xs_usage(cv,  "THIS, optimize");
6401     {
6402         bool    optimize = (bool)SvTRUE(ST(1));
6403         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
6404
6405         THIS->SetOptimization(optimize);
6406     }
6407     XSRETURN_EMPTY;
6408 }
6409
6410 #endif 
6411
6412 XS(XS_Wx__DC_SetPalette); /* prototype to pass -Wmissing-prototypes */
6413 XS(XS_Wx__DC_SetPalette)
6414 {
6415 #ifdef dVAR
6416     dVAR; dXSARGS;
6417 #else
6418     dXSARGS;
6419 #endif
6420     if (items != 2)
6421        croak_xs_usage(cv,  "THIS, palette");
6422     {
6423         wxPalette*    palette = (wxPalette *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Palette" );
6424         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
6425     THIS->SetPalette( *palette );
6426     }
6427     XSRETURN_EMPTY;
6428 }
6429
6430
6431 XS(XS_Wx__DC_SetPen); /* prototype to pass -Wmissing-prototypes */
6432 XS(XS_Wx__DC_SetPen)
6433 {
6434 #ifdef dVAR
6435     dVAR; dXSARGS;
6436 #else
6437     dXSARGS;
6438 #endif
6439     if (items != 2)
6440        croak_xs_usage(cv,  "THIS, pen");
6441     {
6442         wxPen*    pen = (wxPen *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Pen" );
6443         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
6444     THIS->SetPen( *pen );
6445     }
6446     XSRETURN_EMPTY;
6447 }
6448
6449
6450 XS(XS_Wx__DC_SetTextBackground); /* prototype to pass -Wmissing-prototypes */
6451 XS(XS_Wx__DC_SetTextBackground)
6452 {
6453 #ifdef dVAR
6454     dVAR; dXSARGS;
6455 #else
6456     dXSARGS;
6457 #endif
6458     if (items != 2)
6459        croak_xs_usage(cv,  "THIS, colour");
6460     {
6461         wxColour*    colour = (wxColour *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Colour" );
6462         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
6463     THIS->SetTextBackground( *colour );
6464     }
6465     XSRETURN_EMPTY;
6466 }
6467
6468
6469 XS(XS_Wx__DC_SetTextForeground); /* prototype to pass -Wmissing-prototypes */
6470 XS(XS_Wx__DC_SetTextForeground)
6471 {
6472 #ifdef dVAR
6473     dVAR; dXSARGS;
6474 #else
6475     dXSARGS;
6476 #endif
6477     if (items != 2)
6478        croak_xs_usage(cv,  "THIS, colour");
6479     {
6480         wxColour*    colour = (wxColour *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Colour" );
6481         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
6482     THIS->SetTextForeground( *colour );
6483     }
6484     XSRETURN_EMPTY;
6485 }
6486
6487
6488 XS(XS_Wx__DC_SetUserScale); /* prototype to pass -Wmissing-prototypes */
6489 XS(XS_Wx__DC_SetUserScale)
6490 {
6491 #ifdef dVAR
6492     dVAR; dXSARGS;
6493 #else
6494     dXSARGS;
6495 #endif
6496     if (items != 3)
6497        croak_xs_usage(cv,  "THIS, xScale, yScale");
6498     {
6499         double  xScale = (double)SvNV(ST(1));
6500         double  yScale = (double)SvNV(ST(2));
6501         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
6502
6503         THIS->SetUserScale(xScale, yScale);
6504     }
6505     XSRETURN_EMPTY;
6506 }
6507
6508
6509 XS(XS_Wx__DC_StartDoc); /* prototype to pass -Wmissing-prototypes */
6510 XS(XS_Wx__DC_StartDoc)
6511 {
6512 #ifdef dVAR
6513     dVAR; dXSARGS;
6514 #else
6515     dXSARGS;
6516 #endif
6517     if (items != 2)
6518        croak_xs_usage(cv,  "THIS, message");
6519     {
6520         wxString        message;
6521         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
6522         bool    RETVAL;
6523
6524     WXSTRING_INPUT( message, wxString, ST(1) );
6525
6526         RETVAL = THIS->StartDoc(message);
6527         ST(0) = boolSV(RETVAL);
6528         sv_2mortal(ST(0));
6529     }
6530     XSRETURN(1);
6531 }
6532
6533
6534 XS(XS_Wx__DC_StartPage); /* prototype to pass -Wmissing-prototypes */
6535 XS(XS_Wx__DC_StartPage)
6536 {
6537 #ifdef dVAR
6538     dVAR; dXSARGS;
6539 #else
6540     dXSARGS;
6541 #endif
6542     if (items != 1)
6543        croak_xs_usage(cv,  "THIS");
6544     {
6545         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
6546
6547         THIS->StartPage();
6548     }
6549     XSRETURN_EMPTY;
6550 }
6551
6552
6553 XS(XS_Wx__DC_GetLogicalScale); /* prototype to pass -Wmissing-prototypes */
6554 XS(XS_Wx__DC_GetLogicalScale)
6555 {
6556 #ifdef dVAR
6557     dVAR; dXSARGS;
6558 #else
6559     dXSARGS;
6560 #endif
6561     if (items != 1)
6562        croak_xs_usage(cv,  "THIS");
6563     PERL_UNUSED_VAR(ax); /* -Wall */
6564     SP -= items;
6565     {
6566     double x, y;
6567         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
6568     THIS->GetLogicalScale( &x, &y );
6569     EXTEND( SP, 2 );
6570     PUSHs( sv_2mortal( newSVnv( x ) ) );
6571     PUSHs( sv_2mortal( newSVnv( y ) ) );
6572         PUTBACK;
6573         return;
6574     }
6575 }
6576
6577
6578 XS(XS_Wx__DC_SetLogicalScale); /* prototype to pass -Wmissing-prototypes */
6579 XS(XS_Wx__DC_SetLogicalScale)
6580 {
6581 #ifdef dVAR
6582     dVAR; dXSARGS;
6583 #else
6584     dXSARGS;
6585 #endif
6586     if (items != 3)
6587        croak_xs_usage(cv,  "THIS, x, y");
6588     {
6589         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
6590         double  x = (double)SvNV(ST(1));
6591         double  y = (double)SvNV(ST(2));
6592
6593         THIS->SetLogicalScale(x, y);
6594     }
6595     XSRETURN_EMPTY;
6596 }
6597
6598 #if WXPERL_W_VERSION_GE( 2, 7, 1 )
6599 #define XSubPPtmpAABQ 1
6600
6601
6602 XS(XS_Wx__DC_GetLayoutDirection); /* prototype to pass -Wmissing-prototypes */
6603 XS(XS_Wx__DC_GetLayoutDirection)
6604 {
6605 #ifdef dVAR
6606     dVAR; dXSARGS;
6607 #else
6608     dXSARGS;
6609 #endif
6610     if (items != 1)
6611        croak_xs_usage(cv,  "THIS");
6612     {
6613         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
6614         wxLayoutDirection       RETVAL;
6615         dXSTARG;
6616
6617         RETVAL = THIS->GetLayoutDirection();
6618         XSprePUSH; PUSHi((IV)RETVAL);
6619     }
6620     XSRETURN(1);
6621 }
6622
6623
6624 XS(XS_Wx__DC_SetLayoutDirection); /* prototype to pass -Wmissing-prototypes */
6625 XS(XS_Wx__DC_SetLayoutDirection)
6626 {
6627 #ifdef dVAR
6628     dVAR; dXSARGS;
6629 #else
6630     dXSARGS;
6631 #endif
6632     if (items != 2)
6633        croak_xs_usage(cv,  "THIS, dir");
6634     {
6635         wxDC *    THIS = (wxDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DC" );
6636         wxLayoutDirection       dir = (wxLayoutDirection)SvIV(ST(1));
6637
6638         THIS->SetLayoutDirection(dir);
6639     }
6640     XSRETURN_EMPTY;
6641 }
6642
6643 #endif
6644
6645 XS(XS_Wx__ScreenDC_new); /* prototype to pass -Wmissing-prototypes */
6646 XS(XS_Wx__ScreenDC_new)
6647 {
6648 #ifdef dVAR
6649     dVAR; dXSARGS;
6650 #else
6651     dXSARGS;
6652 #endif
6653     if (items != 1)
6654        croak_xs_usage(cv,  "CLASS");
6655     {
6656         char *  CLASS = (char *)SvPV_nolen(ST(0));
6657         wxScreenDC *    RETVAL;
6658
6659         RETVAL = new wxScreenDC();
6660         ST(0) = sv_newmortal();
6661     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
6662     wxPli_thread_sv_register( aTHX_ "Wx::ScreenDC", RETVAL, ST(0) );
6663
6664     }
6665     XSRETURN(1);
6666 }
6667
6668
6669 XS(XS_Wx__ScreenDC_EndDrawingOnTop); /* prototype to pass -Wmissing-prototypes */
6670 XS(XS_Wx__ScreenDC_EndDrawingOnTop)
6671 {
6672 #ifdef dVAR
6673     dVAR; dXSARGS;
6674 #else
6675     dXSARGS;
6676 #endif
6677     if (items != 1)
6678        croak_xs_usage(cv,  "THIS");
6679     {
6680         wxScreenDC *    THIS = (wxScreenDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ScreenDC" );
6681         bool    RETVAL;
6682
6683         RETVAL = THIS->EndDrawingOnTop();
6684         ST(0) = boolSV(RETVAL);
6685         sv_2mortal(ST(0));
6686     }
6687     XSRETURN(1);
6688 }
6689
6690
6691 XS(XS_Wx__ScreenDC_StartDrawingOnTop); /* prototype to pass -Wmissing-prototypes */
6692 XS(XS_Wx__ScreenDC_StartDrawingOnTop)
6693 {
6694 #ifdef dVAR
6695     dVAR; dXSARGS;
6696 #else
6697     dXSARGS;
6698 #endif
6699     if (items < 1)
6700        croak_xs_usage(cv,  "THIS, ...");
6701     PERL_UNUSED_VAR(ax); /* -Wall */
6702     SP -= items;
6703     {
6704         wxScreenDC *    THIS = (wxScreenDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ScreenDC" );
6705     BEGIN_OVERLOAD()
6706         MATCH_REDISP( wxPliOvl_wwin, StartDrawingOnTopWindow )
6707         MATCH_REDISP( wxPliOvl_wrec, StartDrawingOnTopRect )
6708     END_OVERLOAD( Wx::ScreenDC::StartDrawingOnTop )
6709         PUTBACK;
6710         return;
6711     }
6712 }
6713
6714
6715 XS(XS_Wx__ScreenDC_StartDrawingOnTopWindow); /* prototype to pass -Wmissing-prototypes */
6716 XS(XS_Wx__ScreenDC_StartDrawingOnTopWindow)
6717 {
6718 #ifdef dVAR
6719     dVAR; dXSARGS;
6720 #else
6721     dXSARGS;
6722 #endif
6723     if (items != 2)
6724        croak_xs_usage(cv,  "THIS, window");
6725     {
6726         wxWindow*    window = (wxWindow *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Window" );
6727         wxScreenDC *    THIS = (wxScreenDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ScreenDC" );
6728         bool    RETVAL;
6729     RETVAL = THIS->StartDrawingOnTop( window );
6730         ST(0) = boolSV(RETVAL);
6731         sv_2mortal(ST(0));
6732     }
6733     XSRETURN(1);
6734 }
6735
6736
6737 XS(XS_Wx__ScreenDC_StartDrawingOnTopRect); /* prototype to pass -Wmissing-prototypes */
6738 XS(XS_Wx__ScreenDC_StartDrawingOnTopRect)
6739 {
6740 #ifdef dVAR
6741     dVAR; dXSARGS;
6742 #else
6743     dXSARGS;
6744 #endif
6745     if (items != 2)
6746        croak_xs_usage(cv,  "THIS, rect");
6747     {
6748         wxRect*    rect = (wxRect *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Rect" );
6749         wxScreenDC *    THIS = (wxScreenDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ScreenDC" );
6750         bool    RETVAL;
6751     RETVAL = THIS->StartDrawingOnTop( rect );
6752         ST(0) = boolSV(RETVAL);
6753         sv_2mortal(ST(0));
6754     }
6755     XSRETURN(1);
6756 }
6757
6758
6759 XS(XS_Wx__WindowDC_new); /* prototype to pass -Wmissing-prototypes */
6760 XS(XS_Wx__WindowDC_new)
6761 {
6762 #ifdef dVAR
6763     dVAR; dXSARGS;
6764 #else
6765     dXSARGS;
6766 #endif
6767     if (items != 2)
6768        croak_xs_usage(cv,  "CLASS, window");
6769     {
6770         wxWindow*    window = (wxWindow *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Window" );
6771         char *  CLASS = (char *)SvPV_nolen(ST(0));
6772         wxWindowDC *    RETVAL;
6773
6774         RETVAL = new wxWindowDC(window);
6775         ST(0) = sv_newmortal();
6776     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
6777     wxPli_thread_sv_register( aTHX_ "Wx::WindowDC", RETVAL, ST(0) );
6778
6779     }
6780     XSRETURN(1);
6781 }
6782
6783
6784 XS(XS_Wx__PaintDC_new); /* prototype to pass -Wmissing-prototypes */
6785 XS(XS_Wx__PaintDC_new)
6786 {
6787 #ifdef dVAR
6788     dVAR; dXSARGS;
6789 #else
6790     dXSARGS;
6791 #endif
6792     if (items != 2)
6793        croak_xs_usage(cv,  "CLASS, window");
6794     {
6795         wxWindow*    window = (wxWindow *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Window" );
6796         char *  CLASS = (char *)SvPV_nolen(ST(0));
6797         wxPaintDC *     RETVAL;
6798
6799         RETVAL = new wxPaintDC(window);
6800         ST(0) = sv_newmortal();
6801     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
6802     wxPli_thread_sv_register( aTHX_ "Wx::PaintDC", RETVAL, ST(0) );
6803
6804     }
6805     XSRETURN(1);
6806 }
6807
6808
6809 XS(XS_Wx__MemoryDC_new); /* prototype to pass -Wmissing-prototypes */
6810 XS(XS_Wx__MemoryDC_new)
6811 {
6812 #ifdef dVAR
6813     dVAR; dXSARGS;
6814 #else
6815     dXSARGS;
6816 #endif
6817     if (items != 1)
6818        croak_xs_usage(cv,  "CLASS");
6819     {
6820         char *  CLASS = (char *)SvPV_nolen(ST(0));
6821         wxMemoryDC *    RETVAL;
6822
6823         RETVAL = new wxMemoryDC();
6824         ST(0) = sv_newmortal();
6825     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
6826     wxPli_thread_sv_register( aTHX_ "Wx::MemoryDC", RETVAL, ST(0) );
6827
6828     }
6829     XSRETURN(1);
6830 }
6831
6832
6833 XS(XS_Wx__MemoryDC_SelectObject); /* prototype to pass -Wmissing-prototypes */
6834 XS(XS_Wx__MemoryDC_SelectObject)
6835 {
6836 #ifdef dVAR
6837     dVAR; dXSARGS;
6838 #else
6839     dXSARGS;
6840 #endif
6841     if (items != 2)
6842        croak_xs_usage(cv,  "THIS, bitmap");
6843     {
6844         wxBitmap*    bitmap = (wxBitmap *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Bitmap" );
6845         wxMemoryDC *    THIS = (wxMemoryDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MemoryDC" );
6846
6847         THIS->SelectObject(*bitmap);
6848     }
6849     XSRETURN_EMPTY;
6850 }
6851
6852 #if WXPERL_W_VERSION_GE( 2, 7, 2 )
6853 #define XSubPPtmpAABR 1
6854
6855
6856 XS(XS_Wx__MemoryDC_SelectObjectAsSource); /* prototype to pass -Wmissing-prototypes */
6857 XS(XS_Wx__MemoryDC_SelectObjectAsSource)
6858 {
6859 #ifdef dVAR
6860     dVAR; dXSARGS;
6861 #else
6862     dXSARGS;
6863 #endif
6864     if (items != 2)
6865        croak_xs_usage(cv,  "THIS, bitmap");
6866     {
6867         wxBitmap*    bitmap = (wxBitmap *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Bitmap" );
6868         wxMemoryDC *    THIS = (wxMemoryDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MemoryDC" );
6869
6870         THIS->SelectObjectAsSource(*bitmap);
6871     }
6872     XSRETURN_EMPTY;
6873 }
6874
6875 #endif
6876
6877 XS(XS_Wx__ClientDC_new); /* prototype to pass -Wmissing-prototypes */
6878 XS(XS_Wx__ClientDC_new)
6879 {
6880 #ifdef dVAR
6881     dVAR; dXSARGS;
6882 #else
6883     dXSARGS;
6884 #endif
6885     if (items != 2)
6886        croak_xs_usage(cv,  "CLASS, window");
6887     {
6888         wxWindow*    window = (wxWindow *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Window" );
6889         char *  CLASS = (char *)SvPV_nolen(ST(0));
6890         wxClientDC *    RETVAL;
6891
6892         RETVAL = new wxClientDC(window);
6893         ST(0) = sv_newmortal();
6894     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
6895     wxPli_thread_sv_register( aTHX_ "Wx::ClientDC", RETVAL, ST(0) );
6896
6897     }
6898     XSRETURN(1);
6899 }
6900
6901
6902 XS(XS_Wx__BufferedDC_newDefault); /* prototype to pass -Wmissing-prototypes */
6903 XS(XS_Wx__BufferedDC_newDefault)
6904 {
6905 #ifdef dVAR
6906     dVAR; dXSARGS;
6907 #else
6908     dXSARGS;
6909 #endif
6910     if (items != 1)
6911        croak_xs_usage(cv,  "CLASS");
6912     {
6913         char *  CLASS = (char *)SvPV_nolen(ST(0));
6914         wxBufferedDC *  RETVAL;
6915     RETVAL = new wxBufferedDC();
6916         ST(0) = sv_newmortal();
6917     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
6918     wxPli_thread_sv_register( aTHX_ "Wx::BufferedDC", RETVAL, ST(0) );
6919
6920     }
6921     XSRETURN(1);
6922 }
6923
6924 #if WXPERL_W_VERSION_GE( 2, 6, 0 )
6925 #define XSubPPtmpAABS 1
6926
6927
6928 XS(XS_Wx__BufferedDC_newBitmap); /* prototype to pass -Wmissing-prototypes */
6929 XS(XS_Wx__BufferedDC_newBitmap)
6930 {
6931 #ifdef dVAR
6932     dVAR; dXSARGS;
6933 #else
6934     dXSARGS;
6935 #endif
6936     if (items < 2 || items > 4)
6937        croak_xs_usage(cv,  "CLASS, dc, buffer = wxNullBitmapPtr, style = wxBUFFER_CLIENT_AREA");
6938     {
6939         wxDC*    dc = (wxDC *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::DC" );
6940         wxBitmap*       buffer;
6941         int     style;
6942         char *  CLASS = (char *)SvPV_nolen(ST(0));
6943         wxBufferedDC *  RETVAL;
6944
6945         if (items < 3)
6946             buffer = wxNullBitmapPtr;
6947         else {
6948     buffer = (wxBitmap *) wxPli_sv_2_object( aTHX_ ST(2), "Wx::Bitmap" );
6949         }
6950
6951         if (items < 4)
6952             style = wxBUFFER_CLIENT_AREA;
6953         else {
6954             style = (int)SvIV(ST(3));
6955         }
6956     RETVAL = new wxBufferedDC( dc, *( buffer ), style );
6957         ST(0) = sv_newmortal();
6958     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
6959     wxPli_thread_sv_register( aTHX_ "Wx::BufferedDC", RETVAL, ST(0) );
6960
6961     }
6962     XSRETURN(1);
6963 }
6964
6965
6966 XS(XS_Wx__BufferedDC_newSize); /* prototype to pass -Wmissing-prototypes */
6967 XS(XS_Wx__BufferedDC_newSize)
6968 {
6969 #ifdef dVAR
6970     dVAR; dXSARGS;
6971 #else
6972     dXSARGS;
6973 #endif
6974     if (items < 3 || items > 4)
6975        croak_xs_usage(cv,  "CLASS, dc, area, style = wxBUFFER_CLIENT_AREA");
6976     {
6977         wxDC*    dc = (wxDC *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::DC" );
6978         wxSize    area = wxPli_sv_2_wxsize( aTHX_ ST(2) );
6979         int     style;
6980         char *  CLASS = (char *)SvPV_nolen(ST(0));
6981         wxBufferedDC *  RETVAL;
6982
6983         if (items < 4)
6984             style = wxBUFFER_CLIENT_AREA;
6985         else {
6986             style = (int)SvIV(ST(3));
6987         }
6988     RETVAL = new wxBufferedDC( dc, area, style );
6989         ST(0) = sv_newmortal();
6990     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
6991     wxPli_thread_sv_register( aTHX_ "Wx::BufferedDC", RETVAL, ST(0) );
6992
6993     }
6994     XSRETURN(1);
6995 }
6996
6997
6998 XS(XS_Wx__BufferedDC_InitBitmap); /* prototype to pass -Wmissing-prototypes */
6999 XS(XS_Wx__BufferedDC_InitBitmap)
7000 {
7001 #ifdef dVAR
7002     dVAR; dXSARGS;
7003 #else
7004     dXSARGS;
7005 #endif
7006     if (items < 2 || items > 4)
7007        croak_xs_usage(cv,  "THIS, dc, buffer = wxNullBitmapPtr, style = wxBUFFER_CLIENT_AREA");
7008     {
7009         wxDC*    dc = (wxDC *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::DC" );
7010         wxBitmap*       buffer;
7011         int     style;
7012         wxBufferedDC *    THIS = (wxBufferedDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::BufferedDC" );
7013
7014         if (items < 3)
7015             buffer = wxNullBitmapPtr;
7016         else {
7017     buffer = (wxBitmap *) wxPli_sv_2_object( aTHX_ ST(2), "Wx::Bitmap" );
7018         }
7019
7020         if (items < 4)
7021             style = wxBUFFER_CLIENT_AREA;
7022         else {
7023             style = (int)SvIV(ST(3));
7024         }
7025     THIS->Init( dc, *( buffer ), style );
7026     }
7027     XSRETURN_EMPTY;
7028 }
7029
7030
7031 XS(XS_Wx__BufferedDC_InitSize); /* prototype to pass -Wmissing-prototypes */
7032 XS(XS_Wx__BufferedDC_InitSize)
7033 {
7034 #ifdef dVAR
7035     dVAR; dXSARGS;
7036 #else
7037     dXSARGS;
7038 #endif
7039     if (items < 3 || items > 4)
7040        croak_xs_usage(cv,  "THIS, dc, area, style = wxBUFFER_CLIENT_AREA");
7041     {
7042         wxDC*    dc = (wxDC *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::DC" );
7043         wxSize    area = wxPli_sv_2_wxsize( aTHX_ ST(2) );
7044         int     style;
7045         wxBufferedDC *    THIS = (wxBufferedDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::BufferedDC" );
7046
7047         if (items < 4)
7048             style = wxBUFFER_CLIENT_AREA;
7049         else {
7050             style = (int)SvIV(ST(3));
7051         }
7052     THIS->Init( dc, area, style );
7053     }
7054     XSRETURN_EMPTY;
7055 }
7056
7057 #else
7058 #define XSubPPtmpAABT 1
7059
7060
7061 XS(XS_Wx__BufferedDC_newBitmap); /* prototype to pass -Wmissing-prototypes */
7062 XS(XS_Wx__BufferedDC_newBitmap)
7063 {
7064 #ifdef dVAR
7065     dVAR; dXSARGS;
7066 #else
7067     dXSARGS;
7068 #endif
7069     if (items < 2 || items > 3)
7070        croak_xs_usage(cv,  "CLASS, dc, buffer = wxNullBitmapPtr");
7071     {
7072         wxDC*    dc = (wxDC *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::DC" );
7073         wxBitmap*       buffer;
7074         char *  CLASS = (char *)SvPV_nolen(ST(0));
7075         wxBufferedDC *  RETVAL;
7076
7077         if (items < 3)
7078             buffer = wxNullBitmapPtr;
7079         else {
7080     buffer = (wxBitmap *) wxPli_sv_2_object( aTHX_ ST(2), "Wx::Bitmap" );
7081         }
7082     RETVAL = new wxBufferedDC( dc, *( buffer ) );
7083         ST(0) = sv_newmortal();
7084     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
7085     wxPli_thread_sv_register( aTHX_ "Wx::BufferedDC", RETVAL, ST(0) );
7086
7087     }
7088     XSRETURN(1);
7089 }
7090
7091
7092 XS(XS_Wx__BufferedDC_newSize); /* prototype to pass -Wmissing-prototypes */
7093 XS(XS_Wx__BufferedDC_newSize)
7094 {
7095 #ifdef dVAR
7096     dVAR; dXSARGS;
7097 #else
7098     dXSARGS;
7099 #endif
7100     if (items != 3)
7101        croak_xs_usage(cv,  "CLASS, dc, area");
7102     {
7103         wxDC*    dc = (wxDC *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::DC" );
7104         wxSize    area = wxPli_sv_2_wxsize( aTHX_ ST(2) );
7105         char *  CLASS = (char *)SvPV_nolen(ST(0));
7106         wxBufferedDC *  RETVAL;
7107     RETVAL = new wxBufferedDC( dc, area );
7108         ST(0) = sv_newmortal();
7109     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
7110     wxPli_thread_sv_register( aTHX_ "Wx::BufferedDC", RETVAL, ST(0) );
7111
7112     }
7113     XSRETURN(1);
7114 }
7115
7116
7117 XS(XS_Wx__BufferedDC_InitBitmap); /* prototype to pass -Wmissing-prototypes */
7118 XS(XS_Wx__BufferedDC_InitBitmap)
7119 {
7120 #ifdef dVAR
7121     dVAR; dXSARGS;
7122 #else
7123     dXSARGS;
7124 #endif
7125     if (items < 2 || items > 3)
7126        croak_xs_usage(cv,  "THIS, dc, buffer = wxNullBitmapPtr");
7127     {
7128         wxDC*    dc = (wxDC *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::DC" );
7129         wxBitmap*       buffer;
7130         wxBufferedDC *    THIS = (wxBufferedDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::BufferedDC" );
7131
7132         if (items < 3)
7133             buffer = wxNullBitmapPtr;
7134         else {
7135     buffer = (wxBitmap *) wxPli_sv_2_object( aTHX_ ST(2), "Wx::Bitmap" );
7136         }
7137     THIS->Init( dc, *( buffer ) );
7138     }
7139     XSRETURN_EMPTY;
7140 }
7141
7142
7143 XS(XS_Wx__BufferedDC_InitSize); /* prototype to pass -Wmissing-prototypes */
7144 XS(XS_Wx__BufferedDC_InitSize)
7145 {
7146 #ifdef dVAR
7147     dVAR; dXSARGS;
7148 #else
7149     dXSARGS;
7150 #endif
7151     if (items != 3)
7152        croak_xs_usage(cv,  "THIS, dc, area");
7153     {
7154         wxDC*    dc = (wxDC *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::DC" );
7155         wxSize    area = wxPli_sv_2_wxsize( aTHX_ ST(2) );
7156         wxBufferedDC *    THIS = (wxBufferedDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::BufferedDC" );
7157     THIS->Init( dc, area );
7158     }
7159     XSRETURN_EMPTY;
7160 }
7161
7162 #endif
7163
7164 XS(XS_Wx__BufferedDC_new); /* prototype to pass -Wmissing-prototypes */
7165 XS(XS_Wx__BufferedDC_new)
7166 {
7167 #ifdef dVAR
7168     dVAR; dXSARGS;
7169 #else
7170     dXSARGS;
7171 #endif
7172     PERL_UNUSED_VAR(cv); /* -W */
7173     PERL_UNUSED_VAR(ax); /* -Wall */
7174     SP -= items;
7175     {
7176     BEGIN_OVERLOAD()
7177         MATCH_VOIDM_REDISP( newDefault )
7178         MATCH_REDISP_COUNT_ALLOWMORE( wxPliOvl_wdc_wsiz_n, newSize, 2 )
7179         MATCH_REDISP_COUNT_ALLOWMORE( wxPliOvl_wdc_wbmp_n, newBitmap, 1 )
7180     END_OVERLOAD( "Wx::BufferedDC::new" )
7181         PUTBACK;
7182         return;
7183     }
7184 }
7185
7186
7187 XS(XS_Wx__BufferedDC_Init); /* prototype to pass -Wmissing-prototypes */
7188 XS(XS_Wx__BufferedDC_Init)
7189 {
7190 #ifdef dVAR
7191     dVAR; dXSARGS;
7192 #else
7193     dXSARGS;
7194 #endif
7195     PERL_UNUSED_VAR(cv); /* -W */
7196     PERL_UNUSED_VAR(ax); /* -Wall */
7197     SP -= items;
7198     {
7199     BEGIN_OVERLOAD()
7200         MATCH_REDISP_COUNT_ALLOWMORE( wxPliOvl_wdc_wsiz_n, InitSize, 2 )
7201         MATCH_REDISP_COUNT_ALLOWMORE( wxPliOvl_wdc_wbmp_n, InitBitmap, 1 )
7202     END_OVERLOAD( "Wx::BufferedDC::Init" )
7203         PUTBACK;
7204         return;
7205     }
7206 }
7207
7208
7209 XS(XS_Wx__BufferedDC_UnMask); /* prototype to pass -Wmissing-prototypes */
7210 XS(XS_Wx__BufferedDC_UnMask)
7211 {
7212 #ifdef dVAR
7213     dVAR; dXSARGS;
7214 #else
7215     dXSARGS;
7216 #endif
7217     if (items != 1)
7218        croak_xs_usage(cv,  "THIS");
7219     {
7220         wxBufferedDC *    THIS = (wxBufferedDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::BufferedDC" );
7221
7222         THIS->UnMask();
7223     }
7224     XSRETURN_EMPTY;
7225 }
7226
7227 #if WXPERL_W_VERSION_GE( 2, 6, 0 )
7228 #define XSubPPtmpAABU 1
7229
7230
7231 XS(XS_Wx__BufferedDC_SetStyle); /* prototype to pass -Wmissing-prototypes */
7232 XS(XS_Wx__BufferedDC_SetStyle)
7233 {
7234 #ifdef dVAR
7235     dVAR; dXSARGS;
7236 #else
7237     dXSARGS;
7238 #endif
7239     if (items != 2)
7240        croak_xs_usage(cv,  "THIS, style");
7241     {
7242         int     style = (int)SvIV(ST(1));
7243         wxBufferedDC *    THIS = (wxBufferedDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::BufferedDC" );
7244
7245         THIS->SetStyle(style);
7246     }
7247     XSRETURN_EMPTY;
7248 }
7249
7250
7251 XS(XS_Wx__BufferedDC_GetStyle); /* prototype to pass -Wmissing-prototypes */
7252 XS(XS_Wx__BufferedDC_GetStyle)
7253 {
7254 #ifdef dVAR
7255     dVAR; dXSARGS;
7256 #else
7257     dXSARGS;
7258 #endif
7259     if (items != 1)
7260        croak_xs_usage(cv,  "THIS");
7261     {
7262         wxBufferedDC *    THIS = (wxBufferedDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::BufferedDC" );
7263         int     RETVAL;
7264         dXSTARG;
7265
7266         RETVAL = THIS->GetStyle();
7267         XSprePUSH; PUSHi((IV)RETVAL);
7268     }
7269     XSRETURN(1);
7270 }
7271
7272 #endif
7273 #if WXPERL_W_VERSION_GE( 2, 5, 5 )
7274 #define XSubPPtmpAABV 1
7275
7276
7277 XS(XS_Wx__BufferedPaintDC_newBitmap); /* prototype to pass -Wmissing-prototypes */
7278 XS(XS_Wx__BufferedPaintDC_newBitmap)
7279 {
7280 #ifdef dVAR
7281     dVAR; dXSARGS;
7282 #else
7283     dXSARGS;
7284 #endif
7285     if (items < 3 || items > 4)
7286        croak_xs_usage(cv,  "CLASS, window, buffer, style = wxBUFFER_CLIENT_AREA");
7287     {
7288         wxWindow*    window = (wxWindow *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Window" );
7289         wxBitmap*    buffer = (wxBitmap *) wxPli_sv_2_object( aTHX_ ST(2), "Wx::Bitmap" );
7290         int     style;
7291         char *  CLASS = (char *)SvPV_nolen(ST(0));
7292         wxBufferedPaintDC *     RETVAL;
7293
7294         if (items < 4)
7295             style = wxBUFFER_CLIENT_AREA;
7296         else {
7297             style = (int)SvIV(ST(3));
7298         }
7299     RETVAL = new wxBufferedPaintDC( window, *( buffer ), style );
7300         ST(0) = sv_newmortal();
7301     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
7302     wxPli_thread_sv_register( aTHX_ "Wx::BufferedPaintDC", RETVAL, ST(0) );
7303
7304     }
7305     XSRETURN(1);
7306 }
7307
7308
7309 XS(XS_Wx__BufferedPaintDC_newWindow); /* prototype to pass -Wmissing-prototypes */
7310 XS(XS_Wx__BufferedPaintDC_newWindow)
7311 {
7312 #ifdef dVAR
7313     dVAR; dXSARGS;
7314 #else
7315     dXSARGS;
7316 #endif
7317     if (items < 2 || items > 3)
7318        croak_xs_usage(cv,  "CLASS, window, style = wxBUFFER_CLIENT_AREA");
7319     {
7320         wxWindow*    window = (wxWindow *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Window" );
7321         int     style;
7322         char *  CLASS = (char *)SvPV_nolen(ST(0));
7323         wxBufferedPaintDC *     RETVAL;
7324
7325         if (items < 3)
7326             style = wxBUFFER_CLIENT_AREA;
7327         else {
7328             style = (int)SvIV(ST(2));
7329         }
7330     RETVAL = new wxBufferedPaintDC( window, style );
7331         ST(0) = sv_newmortal();
7332     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
7333     wxPli_thread_sv_register( aTHX_ "Wx::BufferedPaintDC", RETVAL, ST(0) );
7334
7335     }
7336     XSRETURN(1);
7337 }
7338
7339 #else
7340 #define XSubPPtmpAABW 1
7341
7342
7343 XS(XS_Wx__BufferedPaintDC_newBitmap); /* prototype to pass -Wmissing-prototypes */
7344 XS(XS_Wx__BufferedPaintDC_newBitmap)
7345 {
7346 #ifdef dVAR
7347     dVAR; dXSARGS;
7348 #else
7349     dXSARGS;
7350 #endif
7351     if (items != 3)
7352        croak_xs_usage(cv,  "CLASS, window, buffer");
7353     {
7354         wxWindow*    window = (wxWindow *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Window" );
7355         wxBitmap*    buffer = (wxBitmap *) wxPli_sv_2_object( aTHX_ ST(2), "Wx::Bitmap" );
7356         char *  CLASS = (char *)SvPV_nolen(ST(0));
7357         wxBufferedPaintDC *     RETVAL;
7358     RETVAL = new wxBufferedPaintDC( window, *( buffer ) );
7359         ST(0) = sv_newmortal();
7360     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
7361     wxPli_thread_sv_register( aTHX_ "Wx::BufferedPaintDC", RETVAL, ST(0) );
7362
7363     }
7364     XSRETURN(1);
7365 }
7366
7367
7368 XS(XS_Wx__BufferedPaintDC_newWindow); /* prototype to pass -Wmissing-prototypes */
7369 XS(XS_Wx__BufferedPaintDC_newWindow)
7370 {
7371 #ifdef dVAR
7372     dVAR; dXSARGS;
7373 #else
7374     dXSARGS;
7375 #endif
7376     if (items != 2)
7377        croak_xs_usage(cv,  "CLASS, window");
7378     {
7379         wxWindow*    window = (wxWindow *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Window" );
7380         char *  CLASS = (char *)SvPV_nolen(ST(0));
7381         wxBufferedPaintDC *     RETVAL;
7382     RETVAL = new wxBufferedPaintDC( window );
7383         ST(0) = sv_newmortal();
7384     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
7385     wxPli_thread_sv_register( aTHX_ "Wx::BufferedPaintDC", RETVAL, ST(0) );
7386
7387     }
7388     XSRETURN(1);
7389 }
7390
7391 #endif
7392
7393 XS(XS_Wx__BufferedPaintDC_new); /* prototype to pass -Wmissing-prototypes */
7394 XS(XS_Wx__BufferedPaintDC_new)
7395 {
7396 #ifdef dVAR
7397     dVAR; dXSARGS;
7398 #else
7399     dXSARGS;
7400 #endif
7401     PERL_UNUSED_VAR(cv); /* -W */
7402     PERL_UNUSED_VAR(ax); /* -Wall */
7403     SP -= items;
7404     {
7405     BEGIN_OVERLOAD()
7406         MATCH_REDISP_COUNT_ALLOWMORE( wxPliOvl_wdc_wbmp_n, newBitmap, 2 )
7407         MATCH_REDISP_COUNT_ALLOWMORE( wxPliOvl_wdc_n, newBitmap, 1 )
7408     END_OVERLOAD( "Wx::BufferedPaintDC::new" )
7409         PUTBACK;
7410         return;
7411     }
7412 }
7413
7414 #if WXPERL_W_VERSION_GE( 2, 7, 2 )
7415 #define XSubPPtmpAABX 1
7416
7417
7418 XS(XS_Wx__AutoBufferedPaintDC_new); /* prototype to pass -Wmissing-prototypes */
7419 XS(XS_Wx__AutoBufferedPaintDC_new)
7420 {
7421 #ifdef dVAR
7422     dVAR; dXSARGS;
7423 #else
7424     dXSARGS;
7425 #endif
7426     if (items != 2)
7427        croak_xs_usage(cv,  "CLASS, win");
7428     {
7429         wxWindow*    win = (wxWindow *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Window" );
7430         char *  CLASS = (char *)SvPV_nolen(ST(0));
7431         wxAutoBufferedPaintDC * RETVAL;
7432
7433         RETVAL = new wxAutoBufferedPaintDC(win);
7434         ST(0) = sv_newmortal();
7435     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
7436     wxPli_thread_sv_register( aTHX_ "Wx::AutoBufferedPaintDC", RETVAL, ST(0) );
7437
7438     }
7439     XSRETURN(1);
7440 }
7441
7442
7443 XS(XS_Wx_AutoBufferedPaintDCFactory); /* prototype to pass -Wmissing-prototypes */
7444 XS(XS_Wx_AutoBufferedPaintDCFactory)
7445 {
7446 #ifdef dVAR
7447     dVAR; dXSARGS;
7448 #else
7449     dXSARGS;
7450 #endif
7451     if (items != 1)
7452        croak_xs_usage(cv,  "window");
7453     {
7454         wxWindow*    window = (wxWindow *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Window" );
7455         wxDC *  RETVAL;
7456
7457         RETVAL = wxAutoBufferedPaintDCFactory(window);
7458         ST(0) = sv_newmortal();
7459     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
7460     wxPli_thread_sv_register( aTHX_ "Wx::DC", RETVAL, ST(0) );
7461
7462     }
7463     XSRETURN(1);
7464 }
7465
7466 #include <wx/dcmirror.h>
7467
7468 XS(XS_Wx__MirrorDC_new); /* prototype to pass -Wmissing-prototypes */
7469 XS(XS_Wx__MirrorDC_new)
7470 {
7471 #ifdef dVAR
7472     dVAR; dXSARGS;
7473 #else
7474     dXSARGS;
7475 #endif
7476     if (items != 3)
7477        croak_xs_usage(cv,  "CLASS, dc, mirror");
7478     {
7479         wxDC*    dc = (wxDC *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::DC" );
7480         bool    mirror = (bool)SvTRUE(ST(2));
7481         char *  CLASS = (char *)SvPV_nolen(ST(0));
7482         wxMirrorDC *    RETVAL;
7483     RETVAL = new wxMirrorDC( *( dc ), mirror );
7484         ST(0) = sv_newmortal();
7485     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
7486     wxPli_thread_sv_register( aTHX_ "Wx::MirrorDC", RETVAL, ST(0) );
7487
7488     }
7489     XSRETURN(1);
7490 }
7491
7492
7493 XS(XS_Wx__DCClipper_new); /* prototype to pass -Wmissing-prototypes */
7494 XS(XS_Wx__DCClipper_new)
7495 {
7496 #ifdef dVAR
7497     dVAR; dXSARGS;
7498 #else
7499     dXSARGS;
7500 #endif
7501     PERL_UNUSED_VAR(cv); /* -W */
7502     PERL_UNUSED_VAR(ax); /* -Wall */
7503     SP -= items;
7504     {
7505     BEGIN_OVERLOAD()
7506         MATCH_REDISP( wxPliOvl_wdc_wrgn, newRegion )
7507         MATCH_REDISP( wxPliOvl_wdc_wrec, newRect )
7508         MATCH_REDISP( wxPliOvl_wdc_n_n_n_n, newXYWH )
7509     END_OVERLOAD( Wx::DCClipper::new )
7510         PUTBACK;
7511         return;
7512     }
7513 }
7514
7515
7516 XS(XS_Wx__DCClipper_newRegion); /* prototype to pass -Wmissing-prototypes */
7517 XS(XS_Wx__DCClipper_newRegion)
7518 {
7519 #ifdef dVAR
7520     dVAR; dXSARGS;
7521 #else
7522     dXSARGS;
7523 #endif
7524     if (items != 3)
7525        croak_xs_usage(cv,  "CLASS, dc, region");
7526     {
7527         wxDC*    dc = (wxDC *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::DC" );
7528         wxRegion*    region = (wxRegion *) wxPli_sv_2_object( aTHX_ ST(2), "Wx::Region" );
7529         char *  CLASS = (char *)SvPV_nolen(ST(0));
7530         wxDCClipper *   RETVAL;
7531     RETVAL = new wxDCClipper( *( dc ), *( region ) );
7532         ST(0) = sv_newmortal();
7533     wxPli_non_object_2_sv( aTHX_ ST(0), RETVAL, "Wx::DCClipper" );
7534     wxPli_thread_sv_register( aTHX_ "Wx::DCClipper", RETVAL, ST(0) );
7535
7536     }
7537     XSRETURN(1);
7538 }
7539
7540
7541 XS(XS_Wx__DCClipper_newRect); /* prototype to pass -Wmissing-prototypes */
7542 XS(XS_Wx__DCClipper_newRect)
7543 {
7544 #ifdef dVAR
7545     dVAR; dXSARGS;
7546 #else
7547     dXSARGS;
7548 #endif
7549     if (items != 3)
7550        croak_xs_usage(cv,  "CLASS, dc, rect");
7551     {
7552         wxDC*    dc = (wxDC *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::DC" );
7553         wxRect*    rect = (wxRect *) wxPli_sv_2_object( aTHX_ ST(2), "Wx::Rect" );
7554         char *  CLASS = (char *)SvPV_nolen(ST(0));
7555         wxDCClipper *   RETVAL;
7556     RETVAL = new wxDCClipper( *( dc ), *( rect ) );
7557         ST(0) = sv_newmortal();
7558     wxPli_non_object_2_sv( aTHX_ ST(0), RETVAL, "Wx::DCClipper" );
7559     wxPli_thread_sv_register( aTHX_ "Wx::DCClipper", RETVAL, ST(0) );
7560
7561     }
7562     XSRETURN(1);
7563 }
7564
7565
7566 XS(XS_Wx__DCClipper_newXYWH); /* prototype to pass -Wmissing-prototypes */
7567 XS(XS_Wx__DCClipper_newXYWH)
7568 {
7569 #ifdef dVAR
7570     dVAR; dXSARGS;
7571 #else
7572     dXSARGS;
7573 #endif
7574     if (items != 6)
7575        croak_xs_usage(cv,  "CLASS, dc, x, y, w, h");
7576     {
7577         wxDC*    dc = (wxDC *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::DC" );
7578         int     x = (int)SvIV(ST(2));
7579         int     y = (int)SvIV(ST(3));
7580         int     w = (int)SvIV(ST(4));
7581         int     h = (int)SvIV(ST(5));
7582         char *  CLASS = (char *)SvPV_nolen(ST(0));
7583         wxDCClipper *   RETVAL;
7584     RETVAL = new wxDCClipper( *( dc ), x, y, w, h );
7585         ST(0) = sv_newmortal();
7586     wxPli_non_object_2_sv( aTHX_ ST(0), RETVAL, "Wx::DCClipper" );
7587     wxPli_thread_sv_register( aTHX_ "Wx::DCClipper", RETVAL, ST(0) );
7588
7589     }
7590     XSRETURN(1);
7591 }
7592
7593
7594 XS(XS_Wx__DCClipper_CLONE); /* prototype to pass -Wmissing-prototypes */
7595 XS(XS_Wx__DCClipper_CLONE)
7596 {
7597 #ifdef dVAR
7598     dVAR; dXSARGS;
7599 #else
7600     dXSARGS;
7601 #endif
7602     if (items != 1)
7603        croak_xs_usage(cv,  "CLASS");
7604     {
7605         char *  CLASS = (char *)SvPV_nolen(ST(0));
7606     wxPli_thread_sv_clone( aTHX_ CLASS, (wxPliCloneSV)wxPli_detach_object );
7607     }
7608     XSRETURN_EMPTY;
7609 }
7610
7611
7612 XS(XS_Wx__DCClipper_DESTROY); /* prototype to pass -Wmissing-prototypes */
7613 XS(XS_Wx__DCClipper_DESTROY)
7614 {
7615 #ifdef dVAR
7616     dVAR; dXSARGS;
7617 #else
7618     dXSARGS;
7619 #endif
7620     if (items != 1)
7621        croak_xs_usage(cv,  "THIS");
7622     {
7623         wxDCClipper *    THIS = (wxDCClipper *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DCClipper" );
7624      wxPli_thread_sv_unregister( aTHX_ "Wx::DCClipper", THIS, ST(0) );
7625                 delete THIS;
7626     }
7627     XSRETURN_EMPTY;
7628 }
7629
7630 #endif
7631
7632 /* INCLUDE: Returning to 'XS/Cursor.xs' from 'perl -MExtUtils::XSpp::Cmd -e xspp -- -t typemap.xsp XS/DC.xs |' */
7633
7634 #include <wx/cursor.h>
7635
7636 XS(XS_Wx__Cursor_new); /* prototype to pass -Wmissing-prototypes */
7637 XS(XS_Wx__Cursor_new)
7638 {
7639 #ifdef dVAR
7640     dVAR; dXSARGS;
7641 #else
7642     dXSARGS;
7643 #endif
7644     if (items < 1)
7645        croak_xs_usage(cv,  "CLASS, ...");
7646     PERL_UNUSED_VAR(ax); /* -Wall */
7647     SP -= items;
7648     {
7649         char *  CLASS = (char *)SvPV_nolen(ST(0));
7650     BEGIN_OVERLOAD()
7651         MATCH_REDISP( wxPliOvl_n, newId )
7652         MATCH_REDISP( wxPliOvl_wimg, newImage )
7653         MATCH_REDISP_COUNT_ALLOWMORE( wxPliOvl_s_n_n_n, newFile, 2 )
7654     END_OVERLOAD( Wx::Cursor::new )
7655         PUTBACK;
7656         return;
7657     }
7658 }
7659
7660 #if defined( __WXMSW__ ) || defined( __WXPERL_FORCE__ )
7661 #define XSubPPtmpAABY 1
7662
7663
7664 XS(XS_Wx__Cursor_newFile); /* prototype to pass -Wmissing-prototypes */
7665 XS(XS_Wx__Cursor_newFile)
7666 {
7667 #ifdef dVAR
7668     dVAR; dXSARGS;
7669 #else
7670     dXSARGS;
7671 #endif
7672     if (items < 3 || items > 5)
7673        croak_xs_usage(cv,  "CLASS, name, type, hsx = -1, hsy = -1");
7674     {
7675         SV*     CLASS = ST(0);
7676         wxString        name;
7677         wxBitmapType    type = (wxBitmapType)SvIV(ST(2));
7678         int     hsx;
7679         int     hsy;
7680         wxCursor *      RETVAL;
7681
7682     WXSTRING_INPUT( name, wxString, ST(1) );
7683
7684         if (items < 4)
7685             hsx = -1;
7686         else {
7687             hsx = (int)SvIV(ST(3));
7688         }
7689
7690         if (items < 5)
7691             hsy = -1;
7692         else {
7693             hsy = (int)SvIV(ST(4));
7694         }
7695     RETVAL = new wxCursor( name, type, hsx, hsy );
7696         ST(0) = sv_newmortal();
7697     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
7698     wxPli_thread_sv_register( aTHX_ "Wx::Cursor", RETVAL, ST(0) );
7699
7700     }
7701     XSRETURN(1);
7702 }
7703
7704 #endif
7705
7706 XS(XS_Wx__Cursor_newId); /* prototype to pass -Wmissing-prototypes */
7707 XS(XS_Wx__Cursor_newId)
7708 {
7709 #ifdef dVAR
7710     dVAR; dXSARGS;
7711 #else
7712     dXSARGS;
7713 #endif
7714     if (items != 2)
7715        croak_xs_usage(cv,  "CLASS, id");
7716     {
7717         SV*     CLASS = ST(0);
7718         wxStockCursor   id = (wxStockCursor)SvIV(ST(1));
7719         wxCursor *      RETVAL;
7720     RETVAL = new wxCursor( id );
7721         ST(0) = sv_newmortal();
7722     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
7723     wxPli_thread_sv_register( aTHX_ "Wx::Cursor", RETVAL, ST(0) );
7724
7725     }
7726     XSRETURN(1);
7727 }
7728
7729 #if !defined(__WXMAC__)
7730 #define XSubPPtmpAABZ 1
7731
7732
7733 XS(XS_Wx__Cursor_newImage); /* prototype to pass -Wmissing-prototypes */
7734 XS(XS_Wx__Cursor_newImage)
7735 {
7736 #ifdef dVAR
7737     dVAR; dXSARGS;
7738 #else
7739     dXSARGS;
7740 #endif
7741     if (items != 2)
7742        croak_xs_usage(cv,  "CLASS, img");
7743     {
7744         SV*     CLASS = ST(0);
7745         wxImage*    img = (wxImage *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Image" );
7746         wxCursor *      RETVAL;
7747     RETVAL = new wxCursor( *img );
7748         ST(0) = sv_newmortal();
7749     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
7750     wxPli_thread_sv_register( aTHX_ "Wx::Cursor", RETVAL, ST(0) );
7751
7752     }
7753     XSRETURN(1);
7754 }
7755
7756 #endif
7757 #if !defined( __WXGTK__ ) && !defined(__WXMAC__) \
7758     && WXPERL_W_VERSION_LT( 2, 9, 0 )
7759 #define XSubPPtmpAACA 1
7760
7761
7762 XS(XS_Wx__Cursor_newData); /* prototype to pass -Wmissing-prototypes */
7763 XS(XS_Wx__Cursor_newData)
7764 {
7765 #ifdef dVAR
7766     dVAR; dXSARGS;
7767 #else
7768     dXSARGS;
7769 #endif
7770     if (items < 4 || items > 7)
7771        croak_xs_usage(cv,  "CLASS, bits, width, height, hotSpotX = -1, hotSpotY = -1, maskBits = 0");
7772     {
7773         SV*     CLASS = ST(0);
7774         SV*     bits = ST(1);
7775         int     width = (int)SvIV(ST(2));
7776         int     height = (int)SvIV(ST(3));
7777         int     hotSpotX;
7778         int     hotSpotY;
7779         SV*     maskBits;
7780     char* data = SvPV_nolen( bits );
7781     char* mask = maskBits ? SvPV_nolen( maskBits ) : 0;
7782         wxCursor *      RETVAL;
7783
7784         if (items < 5)
7785             hotSpotX = -1;
7786         else {
7787             hotSpotX = (int)SvIV(ST(4));
7788         }
7789
7790         if (items < 6)
7791             hotSpotY = -1;
7792         else {
7793             hotSpotY = (int)SvIV(ST(5));
7794         }
7795
7796         if (items < 7)
7797             maskBits = 0;
7798         else {
7799             maskBits = ST(6);
7800         }
7801     RETVAL = new wxCursor( data, width, height, hotSpotX, hotSpotY, mask );
7802         ST(0) = sv_newmortal();
7803     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
7804     wxPli_thread_sv_register( aTHX_ "Wx::Cursor", RETVAL, ST(0) );
7805
7806     }
7807     XSRETURN(1);
7808 }
7809
7810 #endif
7811
7812 XS(XS_Wx__Cursor_CLONE); /* prototype to pass -Wmissing-prototypes */
7813 XS(XS_Wx__Cursor_CLONE)
7814 {
7815 #ifdef dVAR
7816     dVAR; dXSARGS;
7817 #else
7818     dXSARGS;
7819 #endif
7820     if (items != 1)
7821        croak_xs_usage(cv,  "CLASS");
7822     {
7823         char *  CLASS = (char *)SvPV_nolen(ST(0));
7824     wxPli_thread_sv_clone( aTHX_ CLASS, (wxPliCloneSV)wxPli_detach_object );
7825     }
7826     XSRETURN_EMPTY;
7827 }
7828
7829
7830 XS(XS_Wx__Cursor_DESTROY); /* prototype to pass -Wmissing-prototypes */
7831 XS(XS_Wx__Cursor_DESTROY)
7832 {
7833 #ifdef dVAR
7834     dVAR; dXSARGS;
7835 #else
7836     dXSARGS;
7837 #endif
7838     if (items != 1)
7839        croak_xs_usage(cv,  "THIS");
7840     {
7841         wxCursor *    THIS = (wxCursor *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Cursor" );
7842     wxPli_thread_sv_unregister( aTHX_ "Wx::Cursor", THIS, ST(0) );
7843     delete THIS;
7844     }
7845     XSRETURN_EMPTY;
7846 }
7847
7848
7849 XS(XS_Wx__Cursor_Ok); /* prototype to pass -Wmissing-prototypes */
7850 XS(XS_Wx__Cursor_Ok)
7851 {
7852 #ifdef dVAR
7853     dVAR; dXSARGS;
7854 #else
7855     dXSARGS;
7856 #endif
7857     if (items != 1)
7858        croak_xs_usage(cv,  "THIS");
7859     {
7860         wxCursor *    THIS = (wxCursor *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Cursor" );
7861         bool    RETVAL;
7862
7863         RETVAL = THIS->Ok();
7864         ST(0) = boolSV(RETVAL);
7865         sv_2mortal(ST(0));
7866     }
7867     XSRETURN(1);
7868 }
7869
7870 #if WXPERL_W_VERSION_GE( 2, 8, 0 )
7871 #define XSubPPtmpAACB 1
7872
7873
7874 XS(XS_Wx__Cursor_IsOk); /* prototype to pass -Wmissing-prototypes */
7875 XS(XS_Wx__Cursor_IsOk)
7876 {
7877 #ifdef dVAR
7878     dVAR; dXSARGS;
7879 #else
7880     dXSARGS;
7881 #endif
7882     if (items != 1)
7883        croak_xs_usage(cv,  "THIS");
7884     {
7885         wxCursor *    THIS = (wxCursor *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Cursor" );
7886         bool    RETVAL;
7887
7888         RETVAL = THIS->IsOk();
7889         ST(0) = boolSV(RETVAL);
7890         sv_2mortal(ST(0));
7891     }
7892     XSRETURN(1);
7893 }
7894
7895 #endif
7896
7897 /* INCLUDE: Returning to 'XS/Icon.xs' from 'XS/Cursor.xs' */
7898
7899 #include <wx/icon.h>
7900 #if !defined( __WXMSW__ )
7901 #include "wxpl.xpm"
7902 #endif
7903
7904 XS(XS_Wx_GetWxPerlIcon); /* prototype to pass -Wmissing-prototypes */
7905 XS(XS_Wx_GetWxPerlIcon)
7906 {
7907 #ifdef dVAR
7908     dVAR; dXSARGS;
7909 #else
7910     dXSARGS;
7911 #endif
7912     if (items < 0 || items > 1)
7913        croak_xs_usage(cv,  "get_small = false");
7914     {
7915         bool    get_small;
7916         wxIcon *        RETVAL;
7917
7918         if (items < 1)
7919             get_small = false;
7920         else {
7921             get_small = (bool)SvTRUE(ST(0));
7922         }
7923 #if defined( __WXMSW__ )
7924     int sz = get_small ? 16 : 32;
7925     RETVAL = new wxIcon( wxT("wxplicon"), wxBITMAP_TYPE_ICO_RESOURCE, -1, -1 );
7926     if( !RETVAL->Ok() )
7927         croak( "Unable to load icon" );
7928 #else
7929     char** image = (char**)( get_small ? wxpl16_xpm : wxpl32_xpm );
7930     RETVAL = new wxIcon( image );
7931 #endif
7932         ST(0) = sv_newmortal();
7933     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
7934     wxPli_thread_sv_register( aTHX_ "Wx::Icon", RETVAL, ST(0) );
7935
7936     }
7937     XSRETURN(1);
7938 }
7939
7940
7941 XS(XS_Wx__Icon_new); /* prototype to pass -Wmissing-prototypes */
7942 XS(XS_Wx__Icon_new)
7943 {
7944 #ifdef dVAR
7945     dVAR; dXSARGS;
7946 #else
7947     dXSARGS;
7948 #endif
7949     if (items < 1)
7950        croak_xs_usage(cv,  "CLASS, ...");
7951     PERL_UNUSED_VAR(ax); /* -Wall */
7952     SP -= items;
7953     {
7954         char *  CLASS = (char *)SvPV_nolen(ST(0));
7955     BEGIN_OVERLOAD()
7956         MATCH_VOIDM_REDISP( newNull )
7957         MATCH_REDISP( wxPliOvl_wilo, newLocation )
7958         MATCH_REDISP_COUNT_ALLOWMORE( wxPliOvl_s_n_n_n, newFile, 2 )
7959     END_OVERLOAD( Wx::Icon::new )
7960         PUTBACK;
7961         return;
7962     }
7963 }
7964
7965
7966 XS(XS_Wx__Icon_newNull); /* prototype to pass -Wmissing-prototypes */
7967 XS(XS_Wx__Icon_newNull)
7968 {
7969 #ifdef dVAR
7970     dVAR; dXSARGS;
7971 #else
7972     dXSARGS;
7973 #endif
7974     if (items != 1)
7975        croak_xs_usage(cv,  "CLASS");
7976     {
7977         SV*     CLASS = ST(0);
7978         wxIcon *        RETVAL;
7979     RETVAL = new wxIcon();
7980         ST(0) = sv_newmortal();
7981     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
7982     wxPli_thread_sv_register( aTHX_ "Wx::Icon", RETVAL, ST(0) );
7983
7984     }
7985     XSRETURN(1);
7986 }
7987
7988
7989 XS(XS_Wx__Icon_newFile); /* prototype to pass -Wmissing-prototypes */
7990 XS(XS_Wx__Icon_newFile)
7991 {
7992 #ifdef dVAR
7993     dVAR; dXSARGS;
7994 #else
7995     dXSARGS;
7996 #endif
7997     if (items < 3 || items > 5)
7998        croak_xs_usage(cv,  "CLASS, name, type, desW = -1, desH = -1");
7999     {
8000         SV*     CLASS = ST(0);
8001         wxString        name;
8002         long    type = (long)SvIV(ST(2));
8003         int     desW;
8004         int     desH;
8005         wxIcon *        RETVAL;
8006
8007     WXSTRING_INPUT( name, wxString, ST(1) );
8008
8009         if (items < 4)
8010             desW = -1;
8011         else {
8012             desW = (int)SvIV(ST(3));
8013         }
8014
8015         if (items < 5)
8016             desH = -1;
8017         else {
8018             desH = (int)SvIV(ST(4));
8019         }
8020 #if defined( __WXMOTIF__ ) || defined( __WXX11__ ) || defined( __WXGTK__ ) \
8021     || WXPERL_W_VERSION_GE( 2, 9, 0 )
8022     RETVAL = new wxIcon( name, wxBitmapType(type), desW, desH );
8023 #else
8024     RETVAL = new wxIcon( name, type, desW, desH );
8025 #endif
8026         ST(0) = sv_newmortal();
8027     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
8028     wxPli_thread_sv_register( aTHX_ "Wx::Icon", RETVAL, ST(0) );
8029
8030     }
8031     XSRETURN(1);
8032 }
8033
8034 #if defined( __WXGTK__ ) || defined( __WXPERL_FORCE__ )
8035 #endif
8036
8037 XS(XS_Wx__Icon_newFromXPM); /* prototype to pass -Wmissing-prototypes */
8038 XS(XS_Wx__Icon_newFromXPM)
8039 {
8040 #ifdef dVAR
8041     dVAR; dXSARGS;
8042 #else
8043     dXSARGS;
8044 #endif
8045     if (items != 2)
8046        croak_xs_usage(cv,  "CLASS, data");
8047     {
8048         SV*     CLASS = ST(0);
8049         SV*     data = ST(1);
8050     char** xpm_data;
8051     size_t i, n = wxPli_av_2_charparray( aTHX_ data, &xpm_data );
8052         wxIcon *        RETVAL;
8053     RETVAL = new wxIcon( xpm_data );
8054     for( i = 0; i < n; ++i )
8055         free( xpm_data[i] );
8056         ST(0) = sv_newmortal();
8057     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
8058     wxPli_thread_sv_register( aTHX_ "Wx::Icon", RETVAL, ST(0) );
8059
8060     }
8061     XSRETURN(1);
8062 }
8063
8064 #if WXPERL_W_VERSION_GE( 2, 5, 2 )
8065 #define XSubPPtmpAACC 1
8066
8067
8068 XS(XS_Wx__Icon_newLocation); /* prototype to pass -Wmissing-prototypes */
8069 XS(XS_Wx__Icon_newLocation)
8070 {
8071 #ifdef dVAR
8072     dVAR; dXSARGS;
8073 #else
8074     dXSARGS;
8075 #endif
8076     if (items != 2)
8077        croak_xs_usage(cv,  "CLASS, location");
8078     {
8079         SV*     CLASS = ST(0);
8080         wxIconLocation*    location = (wxIconLocation *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::IconLocation" );
8081         wxIcon *        RETVAL;
8082     RETVAL = new wxIcon( *location );
8083         ST(0) = sv_newmortal();
8084     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
8085     wxPli_thread_sv_register( aTHX_ "Wx::Icon", RETVAL, ST(0) );
8086
8087     }
8088     XSRETURN(1);
8089 }
8090
8091 #endif
8092
8093 XS(XS_Wx__Icon_CLONE); /* prototype to pass -Wmissing-prototypes */
8094 XS(XS_Wx__Icon_CLONE)
8095 {
8096 #ifdef dVAR
8097     dVAR; dXSARGS;
8098 #else
8099     dXSARGS;
8100 #endif
8101     if (items != 1)
8102        croak_xs_usage(cv,  "CLASS");
8103     {
8104         char *  CLASS = (char *)SvPV_nolen(ST(0));
8105     wxPli_thread_sv_clone( aTHX_ CLASS, (wxPliCloneSV)wxPli_detach_object );
8106     }
8107     XSRETURN_EMPTY;
8108 }
8109
8110
8111 XS(XS_Wx__Icon_DESTROY); /* prototype to pass -Wmissing-prototypes */
8112 XS(XS_Wx__Icon_DESTROY)
8113 {
8114 #ifdef dVAR
8115     dVAR; dXSARGS;
8116 #else
8117     dXSARGS;
8118 #endif
8119     if (items != 1)
8120        croak_xs_usage(cv,  "THIS");
8121     {
8122         wxIcon *    THIS = (wxIcon *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Icon" );
8123     wxPli_thread_sv_unregister( aTHX_ "Wx::Icon", THIS, ST(0) );
8124     delete THIS;
8125     }
8126     XSRETURN_EMPTY;
8127 }
8128
8129
8130 XS(XS_Wx__Icon_LoadFile); /* prototype to pass -Wmissing-prototypes */
8131 XS(XS_Wx__Icon_LoadFile)
8132 {
8133 #ifdef dVAR
8134     dVAR; dXSARGS;
8135 #else
8136     dXSARGS;
8137 #endif
8138     if (items != 3)
8139        croak_xs_usage(cv,  "THIS, name, type");
8140     {
8141         wxString        name;
8142         long    type = (long)SvIV(ST(2));
8143         wxIcon *    THIS = (wxIcon *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Icon" );
8144         bool    RETVAL;
8145
8146     WXSTRING_INPUT( name, wxString, ST(1) );
8147 #if defined( __WXMOTIF__ )
8148 #if WXPERL_W_VERSION_GE( 2, 5, 1 )
8149         RETVAL = THIS->LoadFile( name, wxBitmapType(type), -1, -1 );
8150 #else
8151         RETVAL = THIS->LoadFile( name, type, -1, -1 );
8152 #endif
8153 #else
8154 #if defined( __WXX11__ ) || defined( __WXMAC__ ) || defined( __WXGTK__ ) \
8155     || ( defined(__WXMSW__) && WXPERL_W_VERSION_GE( 2, 9, 0 ) )
8156     RETVAL = THIS->LoadFile( name, wxBitmapType(type) );
8157 #else
8158     RETVAL = THIS->LoadFile( name, type );
8159 #endif
8160 #endif
8161         ST(0) = boolSV(RETVAL);
8162         sv_2mortal(ST(0));
8163     }
8164     XSRETURN(1);
8165 }
8166
8167
8168 XS(XS_Wx__Icon_Ok); /* prototype to pass -Wmissing-prototypes */
8169 XS(XS_Wx__Icon_Ok)
8170 {
8171 #ifdef dVAR
8172     dVAR; dXSARGS;
8173 #else
8174     dXSARGS;
8175 #endif
8176     if (items != 1)
8177        croak_xs_usage(cv,  "THIS");
8178     {
8179         wxIcon *    THIS = (wxIcon *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Icon" );
8180         bool    RETVAL;
8181
8182         RETVAL = THIS->Ok();
8183         ST(0) = boolSV(RETVAL);
8184         sv_2mortal(ST(0));
8185     }
8186     XSRETURN(1);
8187 }
8188
8189 #if WXPERL_W_VERSION_GE( 2, 8, 0 )
8190 #define XSubPPtmpAACD 1
8191
8192
8193 XS(XS_Wx__Icon_IsOk); /* prototype to pass -Wmissing-prototypes */
8194 XS(XS_Wx__Icon_IsOk)
8195 {
8196 #ifdef dVAR
8197     dVAR; dXSARGS;
8198 #else
8199     dXSARGS;
8200 #endif
8201     if (items != 1)
8202        croak_xs_usage(cv,  "THIS");
8203     {
8204         wxIcon *    THIS = (wxIcon *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Icon" );
8205         bool    RETVAL;
8206
8207         RETVAL = THIS->IsOk();
8208         ST(0) = boolSV(RETVAL);
8209         sv_2mortal(ST(0));
8210     }
8211     XSRETURN(1);
8212 }
8213
8214 #endif
8215
8216 XS(XS_Wx__Icon_CopyFromBitmap); /* prototype to pass -Wmissing-prototypes */
8217 XS(XS_Wx__Icon_CopyFromBitmap)
8218 {
8219 #ifdef dVAR
8220     dVAR; dXSARGS;
8221 #else
8222     dXSARGS;
8223 #endif
8224     if (items != 2)
8225        croak_xs_usage(cv,  "THIS, bitmap");
8226     {
8227         wxBitmap*    bitmap = (wxBitmap *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Bitmap" );
8228         wxIcon *    THIS = (wxIcon *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Icon" );
8229
8230         THIS->CopyFromBitmap(*bitmap);
8231     }
8232     XSRETURN_EMPTY;
8233 }
8234
8235 #if defined( __WXMSW__ ) || defined( __WXPERL_FORCE__ )
8236 #define XSubPPtmpAACE 1
8237
8238
8239 XS(XS_Wx__Icon_GetDepth); /* prototype to pass -Wmissing-prototypes */
8240 XS(XS_Wx__Icon_GetDepth)
8241 {
8242 #ifdef dVAR
8243     dVAR; dXSARGS;
8244 #else
8245     dXSARGS;
8246 #endif
8247     if (items != 1)
8248        croak_xs_usage(cv,  "THIS");
8249     {
8250         wxIcon *    THIS = (wxIcon *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Icon" );
8251         int     RETVAL;
8252         dXSTARG;
8253
8254         RETVAL = THIS->GetDepth();
8255         XSprePUSH; PUSHi((IV)RETVAL);
8256     }
8257     XSRETURN(1);
8258 }
8259
8260
8261 XS(XS_Wx__Icon_GetHeight); /* prototype to pass -Wmissing-prototypes */
8262 XS(XS_Wx__Icon_GetHeight)
8263 {
8264 #ifdef dVAR
8265     dVAR; dXSARGS;
8266 #else
8267     dXSARGS;
8268 #endif
8269     if (items != 1)
8270        croak_xs_usage(cv,  "THIS");
8271     {
8272         wxIcon *    THIS = (wxIcon *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Icon" );
8273         int     RETVAL;
8274         dXSTARG;
8275
8276         RETVAL = THIS->GetHeight();
8277         XSprePUSH; PUSHi((IV)RETVAL);
8278     }
8279     XSRETURN(1);
8280 }
8281
8282
8283 XS(XS_Wx__Icon_GetWidth); /* prototype to pass -Wmissing-prototypes */
8284 XS(XS_Wx__Icon_GetWidth)
8285 {
8286 #ifdef dVAR
8287     dVAR; dXSARGS;
8288 #else
8289     dXSARGS;
8290 #endif
8291     if (items != 1)
8292        croak_xs_usage(cv,  "THIS");
8293     {
8294         wxIcon *    THIS = (wxIcon *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Icon" );
8295         int     RETVAL;
8296         dXSTARG;
8297
8298         RETVAL = THIS->GetWidth();
8299         XSprePUSH; PUSHi((IV)RETVAL);
8300     }
8301     XSRETURN(1);
8302 }
8303
8304
8305 XS(XS_Wx__Icon_SetDepth); /* prototype to pass -Wmissing-prototypes */
8306 XS(XS_Wx__Icon_SetDepth)
8307 {
8308 #ifdef dVAR
8309     dVAR; dXSARGS;
8310 #else
8311     dXSARGS;
8312 #endif
8313     if (items != 2)
8314        croak_xs_usage(cv,  "THIS, depth");
8315     {
8316         int     depth = (int)SvIV(ST(1));
8317         wxIcon *    THIS = (wxIcon *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Icon" );
8318
8319         THIS->SetDepth(depth);
8320     }
8321     XSRETURN_EMPTY;
8322 }
8323
8324
8325 XS(XS_Wx__Icon_SetHeight); /* prototype to pass -Wmissing-prototypes */
8326 XS(XS_Wx__Icon_SetHeight)
8327 {
8328 #ifdef dVAR
8329     dVAR; dXSARGS;
8330 #else
8331     dXSARGS;
8332 #endif
8333     if (items != 2)
8334        croak_xs_usage(cv,  "THIS, height");
8335     {
8336         int     height = (int)SvIV(ST(1));
8337         wxIcon *    THIS = (wxIcon *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Icon" );
8338
8339         THIS->SetHeight(height);
8340     }
8341     XSRETURN_EMPTY;
8342 }
8343
8344
8345 XS(XS_Wx__Icon_SetWidth); /* prototype to pass -Wmissing-prototypes */
8346 XS(XS_Wx__Icon_SetWidth)
8347 {
8348 #ifdef dVAR
8349     dVAR; dXSARGS;
8350 #else
8351     dXSARGS;
8352 #endif
8353     if (items != 2)
8354        croak_xs_usage(cv,  "THIS, width");
8355     {
8356         int     width = (int)SvIV(ST(1));
8357         wxIcon *    THIS = (wxIcon *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Icon" );
8358
8359         THIS->SetWidth(width);
8360     }
8361     XSRETURN_EMPTY;
8362 }
8363
8364 #endif
8365
8366 /* INCLUDE: Returning to 'XS/Bitmap.xs' from 'XS/Icon.xs' */
8367
8368 #include <wx/bitmap.h>
8369
8370 XS(XS_Wx__Mask_new); /* prototype to pass -Wmissing-prototypes */
8371 XS(XS_Wx__Mask_new)
8372 {
8373 #ifdef dVAR
8374     dVAR; dXSARGS;
8375 #else
8376     dXSARGS;
8377 #endif
8378     if (items < 1)
8379        croak_xs_usage(cv,  "CLASS, ...");
8380     PERL_UNUSED_VAR(ax); /* -Wall */
8381     SP -= items;
8382     {
8383         char *  CLASS = (char *)SvPV_nolen(ST(0));
8384     BEGIN_OVERLOAD()
8385         MATCH_REDISP( wxPliOvl_wbmp_wcol, newBitmapColour )
8386         MATCH_REDISP( wxPliOvl_wbmp_n, newBitmapIndex )
8387         MATCH_REDISP( wxPliOvl_wbmp, newBitmap )
8388     END_OVERLOAD( Wx::Mask::new )
8389         PUTBACK;
8390         return;
8391     }
8392 }
8393
8394
8395 XS(XS_Wx__Mask_newBitmap); /* prototype to pass -Wmissing-prototypes */
8396 XS(XS_Wx__Mask_newBitmap)
8397 {
8398 #ifdef dVAR
8399     dVAR; dXSARGS;
8400 #else
8401     dXSARGS;
8402 #endif
8403     if (items != 2)
8404        croak_xs_usage(cv,  "CLASS, bitmap");
8405     {
8406         SV*     CLASS = ST(0);
8407         wxBitmap*    bitmap = (wxBitmap *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Bitmap" );
8408         wxMask *        RETVAL;
8409     RETVAL = new wxMask( *bitmap );
8410         ST(0) = sv_newmortal();
8411     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
8412
8413     }
8414     XSRETURN(1);
8415 }
8416
8417
8418 XS(XS_Wx__Mask_newBitmapColour); /* prototype to pass -Wmissing-prototypes */
8419 XS(XS_Wx__Mask_newBitmapColour)
8420 {
8421 #ifdef dVAR
8422     dVAR; dXSARGS;
8423 #else
8424     dXSARGS;
8425 #endif
8426     if (items != 3)
8427        croak_xs_usage(cv,  "CLASS, bitmap, colour");
8428     {
8429         SV*     CLASS = ST(0);
8430         wxBitmap*    bitmap = (wxBitmap *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Bitmap" );
8431         wxColour*    colour = (wxColour *) wxPli_sv_2_object( aTHX_ ST(2), "Wx::Colour" );
8432         wxMask *        RETVAL;
8433     RETVAL = new wxMask( *bitmap, *colour );
8434         ST(0) = sv_newmortal();
8435     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
8436
8437     }
8438     XSRETURN(1);
8439 }
8440
8441
8442 XS(XS_Wx__Mask_newBitmapIndex); /* prototype to pass -Wmissing-prototypes */
8443 XS(XS_Wx__Mask_newBitmapIndex)
8444 {
8445 #ifdef dVAR
8446     dVAR; dXSARGS;
8447 #else
8448     dXSARGS;
8449 #endif
8450     if (items != 3)
8451        croak_xs_usage(cv,  "CLASS, bitmap, index");
8452     {
8453         SV*     CLASS = ST(0);
8454         wxBitmap*    bitmap = (wxBitmap *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Bitmap" );
8455         int     index = (int)SvIV(ST(2));
8456         wxMask *        RETVAL;
8457     RETVAL = new wxMask( *bitmap, index );
8458         ST(0) = sv_newmortal();
8459     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
8460
8461     }
8462     XSRETURN(1);
8463 }
8464
8465
8466 XS(XS_Wx__Mask_Destroy); /* prototype to pass -Wmissing-prototypes */
8467 XS(XS_Wx__Mask_Destroy)
8468 {
8469 #ifdef dVAR
8470     dVAR; dXSARGS;
8471 #else
8472     dXSARGS;
8473 #endif
8474     if (items != 1)
8475        croak_xs_usage(cv,  "THIS");
8476     {
8477         wxMask *    THIS = (wxMask *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Mask" );
8478     delete THIS;
8479     }
8480     XSRETURN_EMPTY;
8481 }
8482
8483 #if 0
8484 #define XSubPPtmpAACF 1
8485
8486
8487 XS(XS_Wx__Bitmap_bmp_spaceship); /* prototype to pass -Wmissing-prototypes */
8488 XS(XS_Wx__Bitmap_bmp_spaceship)
8489 {
8490 #ifdef dVAR
8491     dVAR; dXSARGS;
8492 #else
8493     dXSARGS;
8494 #endif
8495     if (items < 2)
8496        croak_xs_usage(cv,  "bmp1, bmp2, ...");
8497     {
8498         SV*     bmp1 = ST(0);
8499         SV*     bmp2 = ST(1);
8500         int     RETVAL;
8501         dXSTARG;
8502     // this is not a proper spaceship method
8503     // it just allows autogeneration of != and ==
8504     // anyway, comparing bitmaps is just useless
8505     RETVAL = -1;
8506     if( SvROK( bmp1 ) && SvROK( bmp2 ) &&
8507         sv_derived_from( bmp1, "Wx::Bitmap" ) &&
8508         sv_derived_from( bmp2, "Wx::Bitmap" ) )
8509     {
8510         wxBitmap* bitmap1 = (wxBitmap*)_sv_2_object( bmp1, "Wx::Bitmap" );
8511         wxBitmap* bitmap2 = (wxBitmap*)_sv_2_object( bmp2, "Wx::Bitmap" );
8512
8513         RETVAL = *bitmap1 == *bitmap2 ? 0 : 1;
8514     } else
8515       RETVAL = 1;
8516         XSprePUSH; PUSHi((IV)RETVAL);
8517     }
8518     XSRETURN(1);
8519 }
8520
8521 #endif
8522
8523 XS(XS_Wx__Bitmap_new); /* prototype to pass -Wmissing-prototypes */
8524 XS(XS_Wx__Bitmap_new)
8525 {
8526 #ifdef dVAR
8527     dVAR; dXSARGS;
8528 #else
8529     dXSARGS;
8530 #endif
8531     if (items < 1)
8532        croak_xs_usage(cv,  "CLASS, ...");
8533     PERL_UNUSED_VAR(ax); /* -Wall */
8534     SP -= items;
8535     {
8536         char *  CLASS = (char *)SvPV_nolen(ST(0));
8537     BEGIN_OVERLOAD()
8538         MATCH_REDISP_COUNT_ALLOWMORE( wxPliOvl_n_n_n, newEmpty, 2 )
8539         MATCH_REDISP( wxPliOvl_s_n, newFile )
8540         MATCH_REDISP( wxPliOvl_wico, newIcon )
8541         MATCH_REDISP( wxPliOvl_wimg, newImage )
8542     END_OVERLOAD( Wx::Bitmap::new )
8543         PUTBACK;
8544         return;
8545     }
8546 }
8547
8548
8549 XS(XS_Wx__Bitmap_newEmpty); /* prototype to pass -Wmissing-prototypes */
8550 XS(XS_Wx__Bitmap_newEmpty)
8551 {
8552 #ifdef dVAR
8553     dVAR; dXSARGS;
8554 #else
8555     dXSARGS;
8556 #endif
8557     if (items < 3 || items > 4)
8558        croak_xs_usage(cv,  "CLASS, width, height, depth = -1");
8559     {
8560         SV*     CLASS = ST(0);
8561         int     width = (int)SvIV(ST(1));
8562         int     height = (int)SvIV(ST(2));
8563         int     depth;
8564         wxBitmap *      RETVAL;
8565
8566         if (items < 4)
8567             depth = -1;
8568         else {
8569             depth = (int)SvIV(ST(3));
8570         }
8571     RETVAL = new wxBitmap( width, height, depth );
8572         ST(0) = sv_newmortal();
8573     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
8574     wxPli_thread_sv_register( aTHX_ "Wx::Bitmap", RETVAL, ST(0) );
8575
8576     }
8577     XSRETURN(1);
8578 }
8579
8580
8581 XS(XS_Wx__Bitmap_newFile); /* prototype to pass -Wmissing-prototypes */
8582 XS(XS_Wx__Bitmap_newFile)
8583 {
8584 #ifdef dVAR
8585     dVAR; dXSARGS;
8586 #else
8587     dXSARGS;
8588 #endif
8589     if (items != 3)
8590        croak_xs_usage(cv,  "CLASS, name, type");
8591     {
8592         SV*     CLASS = ST(0);
8593         wxString        name;
8594         long    type = (long)SvIV(ST(2));
8595         wxBitmap *      RETVAL;
8596
8597     WXSTRING_INPUT( name, wxString, ST(1) );
8598 #if WXPERL_W_VERSION_GE( 2, 5, 0 )
8599     RETVAL = new wxBitmap( name, wxBitmapType(type) );
8600 #else
8601     RETVAL = new wxBitmap( name, type );
8602 #endif
8603         ST(0) = sv_newmortal();
8604     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
8605     wxPli_thread_sv_register( aTHX_ "Wx::Bitmap", RETVAL, ST(0) );
8606
8607     }
8608     XSRETURN(1);
8609 }
8610
8611
8612 XS(XS_Wx__Bitmap_newIcon); /* prototype to pass -Wmissing-prototypes */
8613 XS(XS_Wx__Bitmap_newIcon)
8614 {
8615 #ifdef dVAR
8616     dVAR; dXSARGS;
8617 #else
8618     dXSARGS;
8619 #endif
8620     if (items != 2)
8621        croak_xs_usage(cv,  "CLASS, icon");
8622     {
8623         SV*     CLASS = ST(0);
8624         wxIcon*    icon = (wxIcon *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Icon" );
8625         wxBitmap *      RETVAL;
8626     RETVAL = new wxBitmap( *icon );
8627         ST(0) = sv_newmortal();
8628     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
8629     wxPli_thread_sv_register( aTHX_ "Wx::Bitmap", RETVAL, ST(0) );
8630
8631     }
8632     XSRETURN(1);
8633 }
8634
8635
8636 XS(XS_Wx__Bitmap_newFromBits); /* prototype to pass -Wmissing-prototypes */
8637 XS(XS_Wx__Bitmap_newFromBits)
8638 {
8639 #ifdef dVAR
8640     dVAR; dXSARGS;
8641 #else
8642     dXSARGS;
8643 #endif
8644     if (items < 4 || items > 5)
8645        croak_xs_usage(cv,  "CLASS, bits, width, height, depth = 1");
8646     {
8647         SV*     CLASS = ST(0);
8648         SV*     bits = ST(1);
8649         int     width = (int)SvIV(ST(2));
8650         int     height = (int)SvIV(ST(3));
8651         int     depth;
8652     char* buffer = SvPV_nolen( bits );
8653         wxBitmap *      RETVAL;
8654
8655         if (items < 5)
8656             depth = 1;
8657         else {
8658             depth = (int)SvIV(ST(4));
8659         }
8660     RETVAL = new wxBitmap( buffer, width, height, depth );
8661         ST(0) = sv_newmortal();
8662     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
8663     wxPli_thread_sv_register( aTHX_ "Wx::Bitmap", RETVAL, ST(0) );
8664
8665     }
8666     XSRETURN(1);
8667 }
8668
8669
8670 XS(XS_Wx__Bitmap_newFromXPM); /* prototype to pass -Wmissing-prototypes */
8671 XS(XS_Wx__Bitmap_newFromXPM)
8672 {
8673 #ifdef dVAR
8674     dVAR; dXSARGS;
8675 #else
8676     dXSARGS;
8677 #endif
8678     if (items != 2)
8679        croak_xs_usage(cv,  "CLASS, data");
8680     {
8681         SV*     CLASS = ST(0);
8682         SV*     data = ST(1);
8683     char** xpm_data;
8684     size_t i, n = wxPli_av_2_charparray( aTHX_ data, &xpm_data );
8685         wxBitmap *      RETVAL;
8686     RETVAL = new wxBitmap( xpm_data );
8687     for( i = 0; i < n; ++i )
8688         free( xpm_data[i] );
8689         ST(0) = sv_newmortal();
8690     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
8691     wxPli_thread_sv_register( aTHX_ "Wx::Bitmap", RETVAL, ST(0) );
8692
8693     }
8694     XSRETURN(1);
8695 }
8696
8697
8698 XS(XS_Wx__Bitmap_newImage); /* prototype to pass -Wmissing-prototypes */
8699 XS(XS_Wx__Bitmap_newImage)
8700 {
8701 #ifdef dVAR
8702     dVAR; dXSARGS;
8703 #else
8704     dXSARGS;
8705 #endif
8706     if (items != 2)
8707        croak_xs_usage(cv,  "CLASS, image");
8708     {
8709         SV*     CLASS = ST(0);
8710         wxImage*    image = (wxImage *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Image" );
8711         wxBitmap *      RETVAL;
8712     RETVAL = new wxBitmap( *image );
8713         ST(0) = sv_newmortal();
8714     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
8715     wxPli_thread_sv_register( aTHX_ "Wx::Bitmap", RETVAL, ST(0) );
8716
8717     }
8718     XSRETURN(1);
8719 }
8720
8721
8722 XS(XS_Wx__Bitmap_CLONE); /* prototype to pass -Wmissing-prototypes */
8723 XS(XS_Wx__Bitmap_CLONE)
8724 {
8725 #ifdef dVAR
8726     dVAR; dXSARGS;
8727 #else
8728     dXSARGS;
8729 #endif
8730     if (items != 1)
8731        croak_xs_usage(cv,  "CLASS");
8732     {
8733         char *  CLASS = (char *)SvPV_nolen(ST(0));
8734     wxPli_thread_sv_clone( aTHX_ CLASS, (wxPliCloneSV)wxPli_detach_object );
8735     }
8736     XSRETURN_EMPTY;
8737 }
8738
8739
8740 XS(XS_Wx__Bitmap_DESTROY); /* prototype to pass -Wmissing-prototypes */
8741 XS(XS_Wx__Bitmap_DESTROY)
8742 {
8743 #ifdef dVAR
8744     dVAR; dXSARGS;
8745 #else
8746     dXSARGS;
8747 #endif
8748     if (items != 1)
8749        croak_xs_usage(cv,  "THIS");
8750     {
8751         wxBitmap *    THIS = (wxBitmap *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Bitmap" );
8752     wxPli_thread_sv_unregister( aTHX_ "Wx::Bitmap", THIS, ST(0) );
8753     delete THIS;
8754     }
8755     XSRETURN_EMPTY;
8756 }
8757
8758
8759 XS(XS_Wx__Bitmap_ConvertToImage); /* prototype to pass -Wmissing-prototypes */
8760 XS(XS_Wx__Bitmap_ConvertToImage)
8761 {
8762 #ifdef dVAR
8763     dVAR; dXSARGS;
8764 #else
8765     dXSARGS;
8766 #endif
8767     if (items != 1)
8768        croak_xs_usage(cv,  "THIS");
8769     {
8770         wxBitmap *    THIS = (wxBitmap *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Bitmap" );
8771         wxImage *       RETVAL;
8772     RETVAL = new wxImage( THIS->ConvertToImage() );
8773         ST(0) = sv_newmortal();
8774     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
8775     wxPli_thread_sv_register( aTHX_ "Wx::Image", RETVAL, ST(0) );
8776
8777     }
8778     XSRETURN(1);
8779 }
8780
8781
8782 XS(XS_Wx__Bitmap_CopyFromIcon); /* prototype to pass -Wmissing-prototypes */
8783 XS(XS_Wx__Bitmap_CopyFromIcon)
8784 {
8785 #ifdef dVAR
8786     dVAR; dXSARGS;
8787 #else
8788     dXSARGS;
8789 #endif
8790     if (items != 2)
8791        croak_xs_usage(cv,  "THIS, icon");
8792     {
8793         wxIcon*    icon = (wxIcon *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Icon" );
8794         wxBitmap *    THIS = (wxBitmap *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Bitmap" );
8795     THIS->CopyFromIcon( *icon );
8796     }
8797     XSRETURN_EMPTY;
8798 }
8799
8800 #if defined( __WXMOTIF__ ) || \
8801     defined( __WXMSW__ ) || \
8802     defined( __WXPERL_FORCE__ )
8803 #define XSubPPtmpAACG 1
8804
8805
8806 XS(XS_Wx__Bitmap_AddHandler); /* prototype to pass -Wmissing-prototypes */
8807 XS(XS_Wx__Bitmap_AddHandler)
8808 {
8809 #ifdef dVAR
8810     dVAR; dXSARGS;
8811 #else
8812     dXSARGS;
8813 #endif
8814     if (items != 1)
8815        croak_xs_usage(cv,  "handler");
8816     {
8817         wxBitmapHandler*    handler = (wxBitmapHandler *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::BitmapHandler" );
8818     wxBitmap::AddHandler( handler );
8819     }
8820     XSRETURN_EMPTY;
8821 }
8822
8823 #endif
8824 #if defined( __WXMOTIF__ ) || defined( __WXPERL_FORCE__ )
8825 #define XSubPPtmpAACH 1
8826
8827
8828 XS(XS_Wx__Bitmap_FindHandlerName); /* prototype to pass -Wmissing-prototypes */
8829 XS(XS_Wx__Bitmap_FindHandlerName)
8830 {
8831 #ifdef dVAR
8832     dVAR; dXSARGS;
8833 #else
8834     dXSARGS;
8835 #endif
8836     if (items != 1)
8837        croak_xs_usage(cv,  "name");
8838     {
8839         wxString        name;
8840         wxBitmapHandler *       RETVAL;
8841
8842     WXSTRING_INPUT( name, wxString, ST(0) );
8843     RETVAL = wxBitmap::FindHandler( name );
8844         ST(0) = sv_newmortal();
8845     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
8846
8847     }
8848     XSRETURN(1);
8849 }
8850
8851
8852 XS(XS_Wx__Bitmap_FindHandlerExtType); /* prototype to pass -Wmissing-prototypes */
8853 XS(XS_Wx__Bitmap_FindHandlerExtType)
8854 {
8855 #ifdef dVAR
8856     dVAR; dXSARGS;
8857 #else
8858     dXSARGS;
8859 #endif
8860     if (items != 2)
8861        croak_xs_usage(cv,  "extension, type");
8862     {
8863         wxString        extension;
8864         long    type = (long)SvIV(ST(1));
8865         wxBitmapHandler *       RETVAL;
8866
8867     WXSTRING_INPUT( extension, wxString, ST(0) );
8868 #if WXPERL_W_VERSION_GE( 2, 5, 1 ) && defined(__WXMOTIF__)
8869     RETVAL = wxBitmap::FindHandler( extension, wxBitmapType(type) );
8870 #else
8871     RETVAL = wxBitmap::FindHandler( extension, type );
8872 #endif
8873         ST(0) = sv_newmortal();
8874     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
8875
8876     }
8877     XSRETURN(1);
8878 }
8879
8880
8881 XS(XS_Wx__Bitmap_FindHandlerType); /* prototype to pass -Wmissing-prototypes */
8882 XS(XS_Wx__Bitmap_FindHandlerType)
8883 {
8884 #ifdef dVAR
8885     dVAR; dXSARGS;
8886 #else
8887     dXSARGS;
8888 #endif
8889     if (items != 1)
8890        croak_xs_usage(cv,  "type");
8891     {
8892         long    type = (long)SvIV(ST(0));
8893         wxBitmapHandler *       RETVAL;
8894 #if WXPERL_W_VERSION_GE( 2, 5, 1 ) && defined(__WXMOTIF__)
8895     RETVAL = wxBitmap::FindHandler( wxBitmapType(type) );
8896 #else
8897     RETVAL = wxBitmap::FindHandler( type );
8898 #endif
8899         ST(0) = sv_newmortal();
8900     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
8901
8902     }
8903     XSRETURN(1);
8904 }
8905
8906 #endif
8907
8908 XS(XS_Wx__Bitmap_GetDepth); /* prototype to pass -Wmissing-prototypes */
8909 XS(XS_Wx__Bitmap_GetDepth)
8910 {
8911 #ifdef dVAR
8912     dVAR; dXSARGS;
8913 #else
8914     dXSARGS;
8915 #endif
8916     if (items != 1)
8917        croak_xs_usage(cv,  "THIS");
8918     {
8919         wxBitmap *    THIS = (wxBitmap *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Bitmap" );
8920         int     RETVAL;
8921         dXSTARG;
8922
8923         RETVAL = THIS->GetDepth();
8924         XSprePUSH; PUSHi((IV)RETVAL);
8925     }
8926     XSRETURN(1);
8927 }
8928
8929 #if defined( __WXMOTIF__ ) || defined( __WXMSW__ ) \
8930     || defined( __WXPERL_FORCE__ )
8931 #define XSubPPtmpAACI 1
8932
8933
8934 XS(XS_Wx__Bitmap_GetHandlers); /* prototype to pass -Wmissing-prototypes */
8935 XS(XS_Wx__Bitmap_GetHandlers)
8936 {
8937 #ifdef dVAR
8938     dVAR; dXSARGS;
8939 #else
8940     dXSARGS;
8941 #endif
8942     if (items != 0)
8943        croak_xs_usage(cv,  "");
8944     PERL_UNUSED_VAR(ax); /* -Wall */
8945     SP -= items;
8946     {
8947     const wxList& list = wxBitmap::GetHandlers();
8948     wxNode* node;
8949
8950     EXTEND( SP, list.GetCount() );
8951
8952     for( node = list.GetFirst(); node; node = node->GetNext() )
8953       PUSHs( wxPli_object_2_sv( aTHX_ sv_newmortal(), node->GetData() ) );
8954         PUTBACK;
8955         return;
8956     }
8957 }
8958
8959 #endif
8960
8961 XS(XS_Wx__Bitmap_GetHeight); /* prototype to pass -Wmissing-prototypes */
8962 XS(XS_Wx__Bitmap_GetHeight)
8963 {
8964 #ifdef dVAR
8965     dVAR; dXSARGS;
8966 #else
8967     dXSARGS;
8968 #endif
8969     if (items != 1)
8970        croak_xs_usage(cv,  "THIS");
8971     {
8972         wxBitmap *    THIS = (wxBitmap *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Bitmap" );
8973         int     RETVAL;
8974         dXSTARG;
8975
8976         RETVAL = THIS->GetHeight();
8977         XSprePUSH; PUSHi((IV)RETVAL);
8978     }
8979     XSRETURN(1);
8980 }
8981
8982
8983 XS(XS_Wx__Bitmap_GetPalette); /* prototype to pass -Wmissing-prototypes */
8984 XS(XS_Wx__Bitmap_GetPalette)
8985 {
8986 #ifdef dVAR
8987     dVAR; dXSARGS;
8988 #else
8989     dXSARGS;
8990 #endif
8991     if (items != 1)
8992        croak_xs_usage(cv,  "THIS");
8993     {
8994         wxBitmap *    THIS = (wxBitmap *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Bitmap" );
8995         wxPalette *     RETVAL;
8996     RETVAL = new wxPalette( *THIS->GetPalette() );
8997         ST(0) = sv_newmortal();
8998     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
8999     wxPli_thread_sv_register( aTHX_ "Wx::Palette", RETVAL, ST(0) );
9000
9001     }
9002     XSRETURN(1);
9003 }
9004
9005
9006 XS(XS_Wx__Bitmap_GetMask); /* prototype to pass -Wmissing-prototypes */
9007 XS(XS_Wx__Bitmap_GetMask)
9008 {
9009 #ifdef dVAR
9010     dVAR; dXSARGS;
9011 #else
9012     dXSARGS;
9013 #endif
9014     if (items != 1)
9015        croak_xs_usage(cv,  "THIS");
9016     {
9017         wxBitmap *    THIS = (wxBitmap *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Bitmap" );
9018         wxMask *        RETVAL;
9019
9020         RETVAL = THIS->GetMask();
9021         ST(0) = sv_newmortal();
9022     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
9023
9024     }
9025     XSRETURN(1);
9026 }
9027
9028
9029 XS(XS_Wx__Bitmap_GetWidth); /* prototype to pass -Wmissing-prototypes */
9030 XS(XS_Wx__Bitmap_GetWidth)
9031 {
9032 #ifdef dVAR
9033     dVAR; dXSARGS;
9034 #else
9035     dXSARGS;
9036 #endif
9037     if (items != 1)
9038        croak_xs_usage(cv,  "THIS");
9039     {
9040         wxBitmap *    THIS = (wxBitmap *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Bitmap" );
9041         int     RETVAL;
9042         dXSTARG;
9043
9044         RETVAL = THIS->GetWidth();
9045         XSprePUSH; PUSHi((IV)RETVAL);
9046     }
9047     XSRETURN(1);
9048 }
9049
9050
9051 XS(XS_Wx__Bitmap_GetSubBitmap); /* prototype to pass -Wmissing-prototypes */
9052 XS(XS_Wx__Bitmap_GetSubBitmap)
9053 {
9054 #ifdef dVAR
9055     dVAR; dXSARGS;
9056 #else
9057     dXSARGS;
9058 #endif
9059     if (items != 2)
9060        croak_xs_usage(cv,  "THIS, rect");
9061     {
9062         wxRect*    rect = (wxRect *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Rect" );
9063         wxBitmap *    THIS = (wxBitmap *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Bitmap" );
9064         wxBitmap *      RETVAL;
9065     RETVAL = new wxBitmap( THIS->GetSubBitmap( *rect ) );
9066         ST(0) = sv_newmortal();
9067     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
9068     wxPli_thread_sv_register( aTHX_ "Wx::Bitmap", RETVAL, ST(0) );
9069
9070     }
9071     XSRETURN(1);
9072 }
9073
9074 #if defined( __WXMOTIF__ ) || defined( __WXMSW__ ) || defined( __WXPERL_FORCE__ )
9075 #define XSubPPtmpAACJ 1
9076
9077
9078 XS(XS_Wx__Bitmap_InitStandardHandlers); /* prototype to pass -Wmissing-prototypes */
9079 XS(XS_Wx__Bitmap_InitStandardHandlers)
9080 {
9081 #ifdef dVAR
9082     dVAR; dXSARGS;
9083 #else
9084     dXSARGS;
9085 #endif
9086     if (items != 0)
9087        croak_xs_usage(cv,  "");
9088     {
9089     wxBitmap::InitStandardHandlers();
9090     }
9091     XSRETURN_EMPTY;
9092 }
9093
9094
9095 XS(XS_Wx__Bitmap_InsertHandler); /* prototype to pass -Wmissing-prototypes */
9096 XS(XS_Wx__Bitmap_InsertHandler)
9097 {
9098 #ifdef dVAR
9099     dVAR; dXSARGS;
9100 #else
9101     dXSARGS;
9102 #endif
9103     if (items != 1)
9104        croak_xs_usage(cv,  "handler");
9105     {
9106         wxBitmapHandler*    handler = (wxBitmapHandler *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::BitmapHandler" );
9107     wxBitmap::InsertHandler( handler );
9108     }
9109     XSRETURN_EMPTY;
9110 }
9111
9112 #endif
9113 #if WXPERL_W_VERSION_GE( 2, 3, 1 )
9114 #define XSubPPtmpAACK 1
9115
9116
9117 XS(XS_Wx__Bitmap_LoadFile); /* prototype to pass -Wmissing-prototypes */
9118 XS(XS_Wx__Bitmap_LoadFile)
9119 {
9120 #ifdef dVAR
9121     dVAR; dXSARGS;
9122 #else
9123     dXSARGS;
9124 #endif
9125     if (items != 3)
9126        croak_xs_usage(cv,  "THIS, name, type");
9127     {
9128         wxString        name;
9129         wxBitmapType    type = (wxBitmapType)SvIV(ST(2));
9130         wxBitmap *    THIS = (wxBitmap *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Bitmap" );
9131         bool    RETVAL;
9132
9133     WXSTRING_INPUT( name, wxString, ST(1) );
9134
9135         RETVAL = THIS->LoadFile(name, type);
9136         ST(0) = boolSV(RETVAL);
9137         sv_2mortal(ST(0));
9138     }
9139     XSRETURN(1);
9140 }
9141
9142 #else
9143 #define XSubPPtmpAACL 1
9144
9145
9146 XS(XS_Wx__Bitmap_LoadFile); /* prototype to pass -Wmissing-prototypes */
9147 XS(XS_Wx__Bitmap_LoadFile)
9148 {
9149 #ifdef dVAR
9150     dVAR; dXSARGS;
9151 #else
9152     dXSARGS;
9153 #endif
9154     if (items != 3)
9155        croak_xs_usage(cv,  "THIS, name, type");
9156     {
9157         wxString        name;
9158         long    type = (long)SvIV(ST(2));
9159         wxBitmap *    THIS = (wxBitmap *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Bitmap" );
9160         bool    RETVAL;
9161
9162     WXSTRING_INPUT( name, wxString, ST(1) );
9163
9164         RETVAL = THIS->LoadFile(name, type);
9165         ST(0) = boolSV(RETVAL);
9166         sv_2mortal(ST(0));
9167     }
9168     XSRETURN(1);
9169 }
9170
9171 #endif
9172
9173 XS(XS_Wx__Bitmap_Ok); /* prototype to pass -Wmissing-prototypes */
9174 XS(XS_Wx__Bitmap_Ok)
9175 {
9176 #ifdef dVAR
9177     dVAR; dXSARGS;
9178 #else
9179     dXSARGS;
9180 #endif
9181     if (items != 1)
9182        croak_xs_usage(cv,  "THIS");
9183     {
9184         wxBitmap *    THIS = (wxBitmap *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Bitmap" );
9185         bool    RETVAL;
9186
9187         RETVAL = THIS->Ok();
9188         ST(0) = boolSV(RETVAL);
9189         sv_2mortal(ST(0));
9190     }
9191     XSRETURN(1);
9192 }
9193
9194 #if WXPERL_W_VERSION_GE( 2, 8, 0 )
9195 #define XSubPPtmpAACM 1
9196
9197
9198 XS(XS_Wx__Bitmap_IsOk); /* prototype to pass -Wmissing-prototypes */
9199 XS(XS_Wx__Bitmap_IsOk)
9200 {
9201 #ifdef dVAR
9202     dVAR; dXSARGS;
9203 #else
9204     dXSARGS;
9205 #endif
9206     if (items != 1)
9207        croak_xs_usage(cv,  "THIS");
9208     {
9209         wxBitmap *    THIS = (wxBitmap *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Bitmap" );
9210         bool    RETVAL;
9211
9212         RETVAL = THIS->IsOk();
9213         ST(0) = boolSV(RETVAL);
9214         sv_2mortal(ST(0));
9215     }
9216     XSRETURN(1);
9217 }
9218
9219 #endif
9220 #if defined( __WXMOTIF__ ) || defined( __WXMSW__ ) || defined( __WXPERL_FORCE__ )
9221 #define XSubPPtmpAACN 1
9222
9223
9224 XS(XS_Wx__Bitmap_RemoveHandler); /* prototype to pass -Wmissing-prototypes */
9225 XS(XS_Wx__Bitmap_RemoveHandler)
9226 {
9227 #ifdef dVAR
9228     dVAR; dXSARGS;
9229 #else
9230     dXSARGS;
9231 #endif
9232     if (items != 1)
9233        croak_xs_usage(cv,  "name");
9234     {
9235         wxString        name;
9236         bool    RETVAL;
9237
9238     WXSTRING_INPUT( name, wxString, ST(0) );
9239     RETVAL = wxBitmap::RemoveHandler( name );
9240         ST(0) = boolSV(RETVAL);
9241         sv_2mortal(ST(0));
9242     }
9243     XSRETURN(1);
9244 }
9245
9246 #endif
9247
9248 XS(XS_Wx__Bitmap_SaveFile); /* prototype to pass -Wmissing-prototypes */
9249 XS(XS_Wx__Bitmap_SaveFile)
9250 {
9251 #ifdef dVAR
9252     dVAR; dXSARGS;
9253 #else
9254     dXSARGS;
9255 #endif
9256     if (items < 3 || items > 4)
9257        croak_xs_usage(cv,  "THIS, name, type, palette = 0");
9258     {
9259         wxString        name;
9260         wxBitmapType    type = (wxBitmapType)SvIV(ST(2));
9261         wxPalette*      palette;
9262         wxBitmap *    THIS = (wxBitmap *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Bitmap" );
9263         bool    RETVAL;
9264
9265     WXSTRING_INPUT( name, wxString, ST(1) );
9266
9267         if (items < 4)
9268             palette = 0;
9269         else {
9270     palette = (wxPalette *) wxPli_sv_2_object( aTHX_ ST(3), "Wx::Palette" );
9271         }
9272
9273         RETVAL = THIS->SaveFile(name, type, palette);
9274         ST(0) = boolSV(RETVAL);
9275         sv_2mortal(ST(0));
9276     }
9277     XSRETURN(1);
9278 }
9279
9280
9281 XS(XS_Wx__Bitmap_SetDepth); /* prototype to pass -Wmissing-prototypes */
9282 XS(XS_Wx__Bitmap_SetDepth)
9283 {
9284 #ifdef dVAR
9285     dVAR; dXSARGS;
9286 #else
9287     dXSARGS;
9288 #endif
9289     if (items != 2)
9290        croak_xs_usage(cv,  "THIS, depth");
9291     {
9292         int     depth = (int)SvIV(ST(1));
9293         wxBitmap *    THIS = (wxBitmap *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Bitmap" );
9294
9295         THIS->SetDepth(depth);
9296     }
9297     XSRETURN_EMPTY;
9298 }
9299
9300
9301 XS(XS_Wx__Bitmap_SetHeight); /* prototype to pass -Wmissing-prototypes */
9302 XS(XS_Wx__Bitmap_SetHeight)
9303 {
9304 #ifdef dVAR
9305     dVAR; dXSARGS;
9306 #else
9307     dXSARGS;
9308 #endif
9309     if (items != 2)
9310        croak_xs_usage(cv,  "THIS, height");
9311     {
9312         int     height = (int)SvIV(ST(1));
9313         wxBitmap *    THIS = (wxBitmap *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Bitmap" );
9314
9315         THIS->SetHeight(height);
9316     }
9317     XSRETURN_EMPTY;
9318 }
9319
9320
9321 XS(XS_Wx__Bitmap_SetMask); /* prototype to pass -Wmissing-prototypes */
9322 XS(XS_Wx__Bitmap_SetMask)
9323 {
9324 #ifdef dVAR
9325     dVAR; dXSARGS;
9326 #else
9327     dXSARGS;
9328 #endif
9329     if (items != 2)
9330        croak_xs_usage(cv,  "THIS, mask");
9331     {
9332         wxMask*    mask = (wxMask *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Mask" );
9333         wxBitmap *    THIS = (wxBitmap *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Bitmap" );
9334     THIS->SetMask( mask );
9335     }
9336     XSRETURN_EMPTY;
9337 }
9338
9339 #if defined( __WXMOTIF__ ) || defined( __WXMSW__ ) || defined( __WXPERL_FORCE__ )
9340 #define XSubPPtmpAACO 1
9341
9342
9343 XS(XS_Wx__Bitmap_SetPalette); /* prototype to pass -Wmissing-prototypes */
9344 XS(XS_Wx__Bitmap_SetPalette)
9345 {
9346 #ifdef dVAR
9347     dVAR; dXSARGS;
9348 #else
9349     dXSARGS;
9350 #endif
9351     if (items != 2)
9352        croak_xs_usage(cv,  "THIS, palette");
9353     {
9354         wxPalette*    palette = (wxPalette *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Palette" );
9355         wxBitmap *    THIS = (wxBitmap *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Bitmap" );
9356     THIS->SetPalette( *palette );
9357     }
9358     XSRETURN_EMPTY;
9359 }
9360
9361 #endif
9362
9363 XS(XS_Wx__Bitmap_SetWidth); /* prototype to pass -Wmissing-prototypes */
9364 XS(XS_Wx__Bitmap_SetWidth)
9365 {
9366 #ifdef dVAR
9367     dVAR; dXSARGS;
9368 #else
9369     dXSARGS;
9370 #endif
9371     if (items != 2)
9372        croak_xs_usage(cv,  "THIS, width");
9373     {
9374         int     width = (int)SvIV(ST(1));
9375         wxBitmap *    THIS = (wxBitmap *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Bitmap" );
9376
9377         THIS->SetWidth(width);
9378     }
9379     XSRETURN_EMPTY;
9380 }
9381
9382
9383 /* INCLUDE: Returning to 'perl -MExtUtils::XSpp::Cmd -e xspp -- -t typemap.xsp XS/ImageList.xs |' from 'XS/Bitmap.xs' */
9384
9385 #include <wx/imaglist.h>
9386 #define wxNullBitmapPtr (wxBitmap*) &wxNullBitmap
9387
9388 XS(XS_Wx__ImageList_new); /* prototype to pass -Wmissing-prototypes */
9389 XS(XS_Wx__ImageList_new)
9390 {
9391 #ifdef dVAR
9392     dVAR; dXSARGS;
9393 #else
9394     dXSARGS;
9395 #endif
9396     if (items < 3 || items > 5)
9397        croak_xs_usage(cv,  "CLASS, width, height, mask = true, initialCount = 1");
9398     {
9399         int     width = (int)SvIV(ST(1));
9400         int     height = (int)SvIV(ST(2));
9401         bool    mask;
9402         int     initialCount;
9403         char *  CLASS = (char *)SvPV_nolen(ST(0));
9404         wxImageList *   RETVAL;
9405
9406         if (items < 4)
9407             mask = true;
9408         else {
9409             mask = (bool)SvTRUE(ST(3));
9410         }
9411
9412         if (items < 5)
9413             initialCount = 1;
9414         else {
9415             initialCount = (int)SvIV(ST(4));
9416         }
9417
9418         RETVAL = new wxImageList(width, height, mask, initialCount);
9419         ST(0) = sv_newmortal();
9420     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
9421     wxPli_thread_sv_register( aTHX_ "Wx::ImageList", RETVAL, ST(0) );
9422
9423     }
9424     XSRETURN(1);
9425 }
9426
9427
9428 XS(XS_Wx__ImageList_AddBitmap); /* prototype to pass -Wmissing-prototypes */
9429 XS(XS_Wx__ImageList_AddBitmap)
9430 {
9431 #ifdef dVAR
9432     dVAR; dXSARGS;
9433 #else
9434     dXSARGS;
9435 #endif
9436     if (items < 2 || items > 3)
9437        croak_xs_usage(cv,  "THIS, bitmap, mask = wxNullBitmapPtr");
9438     {
9439         wxBitmap*    bitmap = (wxBitmap *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Bitmap" );
9440         wxBitmap*       mask;
9441         wxImageList *    THIS = (wxImageList *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ImageList" );
9442         int     RETVAL;
9443         dXSTARG;
9444
9445         if (items < 3)
9446             mask = wxNullBitmapPtr;
9447         else {
9448     mask = (wxBitmap *) wxPli_sv_2_object( aTHX_ ST(2), "Wx::Bitmap" );
9449         }
9450     RETVAL = THIS->Add( *( bitmap ), *( mask ) );
9451         XSprePUSH; PUSHi((IV)RETVAL);
9452     }
9453     XSRETURN(1);
9454 }
9455
9456
9457 XS(XS_Wx__ImageList_AddWithColourMask); /* prototype to pass -Wmissing-prototypes */
9458 XS(XS_Wx__ImageList_AddWithColourMask)
9459 {
9460 #ifdef dVAR
9461     dVAR; dXSARGS;
9462 #else
9463     dXSARGS;
9464 #endif
9465     if (items != 3)
9466        croak_xs_usage(cv,  "THIS, bitmap, colour");
9467     {
9468         wxBitmap*    bitmap = (wxBitmap *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Bitmap" );
9469         wxColour*    colour = (wxColour *) wxPli_sv_2_object( aTHX_ ST(2), "Wx::Colour" );
9470         wxImageList *    THIS = (wxImageList *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ImageList" );
9471         int     RETVAL;
9472         dXSTARG;
9473     RETVAL = THIS->Add( *( bitmap ), *( colour ) );
9474         XSprePUSH; PUSHi((IV)RETVAL);
9475     }
9476     XSRETURN(1);
9477 }
9478
9479
9480 XS(XS_Wx__ImageList_AddIcon); /* prototype to pass -Wmissing-prototypes */
9481 XS(XS_Wx__ImageList_AddIcon)
9482 {
9483 #ifdef dVAR
9484     dVAR; dXSARGS;
9485 #else
9486     dXSARGS;
9487 #endif
9488     if (items != 2)
9489        croak_xs_usage(cv,  "THIS, icon");
9490     {
9491         wxIcon*    icon = (wxIcon *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Icon" );
9492         wxImageList *    THIS = (wxImageList *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ImageList" );
9493         int     RETVAL;
9494         dXSTARG;
9495     RETVAL = THIS->Add( *( icon ) );
9496         XSprePUSH; PUSHi((IV)RETVAL);
9497     }
9498     XSRETURN(1);
9499 }
9500
9501
9502 XS(XS_Wx__ImageList_Draw); /* prototype to pass -Wmissing-prototypes */
9503 XS(XS_Wx__ImageList_Draw)
9504 {
9505 #ifdef dVAR
9506     dVAR; dXSARGS;
9507 #else
9508     dXSARGS;
9509 #endif
9510     if (items < 5 || items > 7)
9511        croak_xs_usage(cv,  "THIS, index, dc, x, y, flags = wxIMAGELIST_DRAW_NORMAL, solidBackground = false");
9512     {
9513         int     index = (int)SvIV(ST(1));
9514         wxDC*    dc = (wxDC *) wxPli_sv_2_object( aTHX_ ST(2), "Wx::DC" );
9515         int     x = (int)SvIV(ST(3));
9516         int     y = (int)SvIV(ST(4));
9517         int     flags;
9518         bool    solidBackground;
9519         wxImageList *    THIS = (wxImageList *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ImageList" );
9520         bool    RETVAL;
9521
9522         if (items < 6)
9523             flags = wxIMAGELIST_DRAW_NORMAL;
9524         else {
9525             flags = (int)SvIV(ST(5));
9526         }
9527
9528         if (items < 7)
9529             solidBackground = false;
9530         else {
9531             solidBackground = (bool)SvTRUE(ST(6));
9532         }
9533     RETVAL = THIS->Draw( index, *( dc ), x, y, flags, solidBackground );
9534         ST(0) = boolSV(RETVAL);
9535         sv_2mortal(ST(0));
9536     }
9537     XSRETURN(1);
9538 }
9539
9540
9541 XS(XS_Wx__ImageList_GetImageCount); /* prototype to pass -Wmissing-prototypes */
9542 XS(XS_Wx__ImageList_GetImageCount)
9543 {
9544 #ifdef dVAR
9545     dVAR; dXSARGS;
9546 #else
9547     dXSARGS;
9548 #endif
9549     if (items != 1)
9550        croak_xs_usage(cv,  "THIS");
9551     {
9552         wxImageList *    THIS = (wxImageList *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ImageList" );
9553         int     RETVAL;
9554         dXSTARG;
9555
9556         RETVAL = THIS->GetImageCount();
9557         XSprePUSH; PUSHi((IV)RETVAL);
9558     }
9559     XSRETURN(1);
9560 }
9561
9562
9563 XS(XS_Wx__ImageList_Remove); /* prototype to pass -Wmissing-prototypes */
9564 XS(XS_Wx__ImageList_Remove)
9565 {
9566 #ifdef dVAR
9567     dVAR; dXSARGS;
9568 #else
9569     dXSARGS;
9570 #endif
9571     if (items != 2)
9572        croak_xs_usage(cv,  "THIS, index");
9573     {
9574         int     index = (int)SvIV(ST(1));
9575         wxImageList *    THIS = (wxImageList *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ImageList" );
9576         bool    RETVAL;
9577
9578         RETVAL = THIS->Remove(index);
9579         ST(0) = boolSV(RETVAL);
9580         sv_2mortal(ST(0));
9581     }
9582     XSRETURN(1);
9583 }
9584
9585
9586 XS(XS_Wx__ImageList_RemoveAll); /* prototype to pass -Wmissing-prototypes */
9587 XS(XS_Wx__ImageList_RemoveAll)
9588 {
9589 #ifdef dVAR
9590     dVAR; dXSARGS;
9591 #else
9592     dXSARGS;
9593 #endif
9594     if (items != 1)
9595        croak_xs_usage(cv,  "THIS");
9596     {
9597         wxImageList *    THIS = (wxImageList *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ImageList" );
9598         bool    RETVAL;
9599
9600         RETVAL = THIS->RemoveAll();
9601         ST(0) = boolSV(RETVAL);
9602         sv_2mortal(ST(0));
9603     }
9604     XSRETURN(1);
9605 }
9606
9607 #if defined( __WXMSW__ )
9608 #define XSubPPtmpAACP 1
9609
9610
9611 XS(XS_Wx__ImageList_ReplaceBitmap); /* prototype to pass -Wmissing-prototypes */
9612 XS(XS_Wx__ImageList_ReplaceBitmap)
9613 {
9614 #ifdef dVAR
9615     dVAR; dXSARGS;
9616 #else
9617     dXSARGS;
9618 #endif
9619     if (items < 3 || items > 4)
9620        croak_xs_usage(cv,  "THIS, index, bitmap, mask = wxNullBitmapPtr");
9621     {
9622         int     index = (int)SvIV(ST(1));
9623         wxBitmap*    bitmap = (wxBitmap *) wxPli_sv_2_object( aTHX_ ST(2), "Wx::Bitmap" );
9624         wxBitmap*       mask;
9625         wxImageList *    THIS = (wxImageList *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ImageList" );
9626         bool    RETVAL;
9627
9628         if (items < 4)
9629             mask = wxNullBitmapPtr;
9630         else {
9631     mask = (wxBitmap *) wxPli_sv_2_object( aTHX_ ST(3), "Wx::Bitmap" );
9632         }
9633     RETVAL = THIS->Replace( index, *( bitmap ), *( mask ) );
9634         ST(0) = boolSV(RETVAL);
9635         sv_2mortal(ST(0));
9636     }
9637     XSRETURN(1);
9638 }
9639
9640 #else
9641 #define XSubPPtmpAACQ 1
9642
9643
9644 XS(XS_Wx__ImageList_ReplaceBitmap); /* prototype to pass -Wmissing-prototypes */
9645 XS(XS_Wx__ImageList_ReplaceBitmap)
9646 {
9647 #ifdef dVAR
9648     dVAR; dXSARGS;
9649 #else
9650     dXSARGS;
9651 #endif
9652     if (items != 3)
9653        croak_xs_usage(cv,  "THIS, index, bitmap");
9654     {
9655         int     index = (int)SvIV(ST(1));
9656         wxBitmap*    bitmap = (wxBitmap *) wxPli_sv_2_object( aTHX_ ST(2), "Wx::Bitmap" );
9657         wxImageList *    THIS = (wxImageList *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ImageList" );
9658         bool    RETVAL;
9659     RETVAL = THIS->Replace( index, *( bitmap ) );
9660         ST(0) = boolSV(RETVAL);
9661         sv_2mortal(ST(0));
9662     }
9663     XSRETURN(1);
9664 }
9665
9666 #endif
9667
9668 XS(XS_Wx__ImageList_ReplaceIcon); /* prototype to pass -Wmissing-prototypes */
9669 XS(XS_Wx__ImageList_ReplaceIcon)
9670 {
9671 #ifdef dVAR
9672     dVAR; dXSARGS;
9673 #else
9674     dXSARGS;
9675 #endif
9676     if (items != 3)
9677        croak_xs_usage(cv,  "THIS, index, icon");
9678     {
9679         int     index = (int)SvIV(ST(1));
9680         wxIcon*    icon = (wxIcon *) wxPli_sv_2_object( aTHX_ ST(2), "Wx::Icon" );
9681         wxImageList *    THIS = (wxImageList *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ImageList" );
9682         bool    RETVAL;
9683     RETVAL = THIS->Replace( index, *( icon ) );
9684         ST(0) = boolSV(RETVAL);
9685         sv_2mortal(ST(0));
9686     }
9687     XSRETURN(1);
9688 }
9689
9690 #if WXPERL_W_VERSION_GE( 2, 5, 4 )
9691 #define XSubPPtmpAACR 1
9692
9693
9694 XS(XS_Wx__ImageList_GetBitmap); /* prototype to pass -Wmissing-prototypes */
9695 XS(XS_Wx__ImageList_GetBitmap)
9696 {
9697 #ifdef dVAR
9698     dVAR; dXSARGS;
9699 #else
9700     dXSARGS;
9701 #endif
9702     if (items != 2)
9703        croak_xs_usage(cv,  "THIS, index");
9704     {
9705         int     index = (int)SvIV(ST(1));
9706         wxImageList *    THIS = (wxImageList *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ImageList" );
9707         wxBitmap *      RETVAL;
9708     RETVAL = new wxBitmap( THIS->GetBitmap( index ) );
9709         ST(0) = sv_newmortal();
9710     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
9711     wxPli_thread_sv_register( aTHX_ "Wx::Bitmap", RETVAL, ST(0) );
9712
9713     }
9714     XSRETURN(1);
9715 }
9716
9717
9718 XS(XS_Wx__ImageList_GetIcon); /* prototype to pass -Wmissing-prototypes */
9719 XS(XS_Wx__ImageList_GetIcon)
9720 {
9721 #ifdef dVAR
9722     dVAR; dXSARGS;
9723 #else
9724     dXSARGS;
9725 #endif
9726     if (items != 2)
9727        croak_xs_usage(cv,  "THIS, index");
9728     {
9729         int     index = (int)SvIV(ST(1));
9730         wxImageList *    THIS = (wxImageList *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ImageList" );
9731         wxIcon *        RETVAL;
9732     RETVAL = new wxIcon( THIS->GetIcon( index ) );
9733         ST(0) = sv_newmortal();
9734     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
9735     wxPli_thread_sv_register( aTHX_ "Wx::Icon", RETVAL, ST(0) );
9736
9737     }
9738     XSRETURN(1);
9739 }
9740
9741 #endif
9742
9743 XS(XS_Wx__ImageList_CLONE); /* prototype to pass -Wmissing-prototypes */
9744 XS(XS_Wx__ImageList_CLONE)
9745 {
9746 #ifdef dVAR
9747     dVAR; dXSARGS;
9748 #else
9749     dXSARGS;
9750 #endif
9751     if (items != 1)
9752        croak_xs_usage(cv,  "CLASS");
9753     {
9754         char *  CLASS = (char *)SvPV_nolen(ST(0));
9755     wxPli_thread_sv_clone( aTHX_ CLASS, (wxPliCloneSV)wxPli_detach_object );
9756     }
9757     XSRETURN_EMPTY;
9758 }
9759
9760
9761 XS(XS_Wx__ImageList_DESTROY); /* prototype to pass -Wmissing-prototypes */
9762 XS(XS_Wx__ImageList_DESTROY)
9763 {
9764 #ifdef dVAR
9765     dVAR; dXSARGS;
9766 #else
9767     dXSARGS;
9768 #endif
9769     if (items != 1)
9770        croak_xs_usage(cv,  "THIS");
9771     {
9772         wxImageList*    THIS = (wxImageList *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ImageList" );
9773     wxPli_thread_sv_unregister( aTHX_ "Wx::ImageList", THIS, ST(0) );
9774     if( wxPli_object_is_deleteable( aTHX_ ST(0) ) )
9775         delete THIS;
9776     }
9777     XSRETURN_EMPTY;
9778 }
9779
9780
9781 XS(XS_Wx__ImageList_Add); /* prototype to pass -Wmissing-prototypes */
9782 XS(XS_Wx__ImageList_Add)
9783 {
9784 #ifdef dVAR
9785     dVAR; dXSARGS;
9786 #else
9787     dXSARGS;
9788 #endif
9789     if (items < 1)
9790        croak_xs_usage(cv,  "THIS, ...");
9791     PERL_UNUSED_VAR(ax); /* -Wall */
9792     SP -= items;
9793     {
9794         wxImageList *    THIS = (wxImageList *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ImageList" );
9795     BEGIN_OVERLOAD()
9796         MATCH_REDISP( wxPliOvl_wbmp_wcol, AddWithColourMask )
9797         MATCH_REDISP( wxPliOvl_wico, AddIcon )
9798         MATCH_REDISP_COUNT_ALLOWMORE( wxPliOvl_wbmp_wbmp, AddBitmap, 1 )
9799     END_OVERLOAD( Wx::ImageList::Add )
9800         PUTBACK;
9801         return;
9802     }
9803 }
9804
9805
9806 XS(XS_Wx__ImageList_GetSize); /* prototype to pass -Wmissing-prototypes */
9807 XS(XS_Wx__ImageList_GetSize)
9808 {
9809 #ifdef dVAR
9810     dVAR; dXSARGS;
9811 #else
9812     dXSARGS;
9813 #endif
9814     if (items != 2)
9815        croak_xs_usage(cv,  "THIS, index");
9816     PERL_UNUSED_VAR(ax); /* -Wall */
9817     SP -= items;
9818     {
9819         int     index = (int)SvIV(ST(1));
9820     int width;
9821     int height;
9822     bool result;
9823         wxImageList *    THIS = (wxImageList *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ImageList" );
9824     result = THIS->GetSize( index, width, height );
9825     EXTEND( SP, 3 );
9826     PUSHs( sv_2mortal( newSViv( result ) ) );
9827     PUSHs( sv_2mortal( newSViv( width ) ) );
9828     PUSHs( sv_2mortal( newSViv( height ) ) );
9829         PUTBACK;
9830         return;
9831     }
9832 }
9833
9834
9835 XS(XS_Wx__ImageList_Replace); /* prototype to pass -Wmissing-prototypes */
9836 XS(XS_Wx__ImageList_Replace)
9837 {
9838 #ifdef dVAR
9839     dVAR; dXSARGS;
9840 #else
9841     dXSARGS;
9842 #endif
9843     if (items < 1)
9844        croak_xs_usage(cv,  "THIS, ...");
9845     PERL_UNUSED_VAR(ax); /* -Wall */
9846     SP -= items;
9847     {
9848         wxImageList *    THIS = (wxImageList *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ImageList" );
9849     BEGIN_OVERLOAD()
9850         MATCH_REDISP( wxPliOvl_n_wico, ReplaceIcon )
9851         MATCH_REDISP_COUNT_ALLOWMORE( wxPliOvl_n_wbmp_wbmp, ReplaceBitmap, 2 )
9852     END_OVERLOAD( Wx::ImageList::Replace )
9853         PUTBACK;
9854         return;
9855     }
9856 }
9857
9858
9859 /* INCLUDE: Returning to 'XS/Font.xs' from 'perl -MExtUtils::XSpp::Cmd -e xspp -- -t typemap.xsp XS/ImageList.xs |' */
9860
9861 #include <wx/fontutil.h>
9862 #undef THIS
9863
9864 XS(XS_Wx__NativeFontInfo_new); /* prototype to pass -Wmissing-prototypes */
9865 XS(XS_Wx__NativeFontInfo_new)
9866 {
9867 #ifdef dVAR
9868     dVAR; dXSARGS;
9869 #else
9870     dXSARGS;
9871 #endif
9872     if (items != 1)
9873        croak_xs_usage(cv,  "CLASS");
9874     {
9875         char *  CLASS = (char *)SvPV_nolen(ST(0));
9876         wxNativeFontInfo *      RETVAL;
9877
9878         RETVAL = new wxNativeFontInfo();
9879         ST(0) = sv_newmortal();
9880     wxPli_non_object_2_sv( aTHX_ ST(0), RETVAL, "Wx::NativeFontInfo" );
9881     wxPli_thread_sv_register( aTHX_ "Wx::NativeFontInfo", RETVAL, ST(0) );
9882
9883     }
9884     XSRETURN(1);
9885 }
9886
9887
9888 XS(XS_Wx__NativeFontInfo_CLONE); /* prototype to pass -Wmissing-prototypes */
9889 XS(XS_Wx__NativeFontInfo_CLONE)
9890 {
9891 #ifdef dVAR
9892     dVAR; dXSARGS;
9893 #else
9894     dXSARGS;
9895 #endif
9896     if (items != 1)
9897        croak_xs_usage(cv,  "CLASS");
9898     {
9899         char *  CLASS = (char *)SvPV_nolen(ST(0));
9900     wxPli_thread_sv_clone( aTHX_ CLASS, (wxPliCloneSV)wxPli_detach_object );
9901     }
9902     XSRETURN_EMPTY;
9903 }
9904
9905
9906 XS(XS_Wx__NativeFontInfo_DESTROY); /* prototype to pass -Wmissing-prototypes */
9907 XS(XS_Wx__NativeFontInfo_DESTROY)
9908 {
9909 #ifdef dVAR
9910     dVAR; dXSARGS;
9911 #else
9912     dXSARGS;
9913 #endif
9914     if (items != 1)
9915        croak_xs_usage(cv,  "THIS");
9916     {
9917         wxNativeFontInfo *    THIS = (wxNativeFontInfo *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::NativeFontInfo" );
9918     wxPli_thread_sv_unregister( aTHX_ "Wx::NativeFontInfo", THIS, ST(0) );
9919     delete THIS;
9920     }
9921     XSRETURN_EMPTY;
9922 }
9923
9924
9925 XS(XS_Wx__NativeFontInfo_FromString); /* prototype to pass -Wmissing-prototypes */
9926 XS(XS_Wx__NativeFontInfo_FromString)
9927 {
9928 #ifdef dVAR
9929     dVAR; dXSARGS;
9930 #else
9931     dXSARGS;
9932 #endif
9933     if (items != 2)
9934        croak_xs_usage(cv,  "THIS, string");
9935     {
9936         wxString        string;
9937         wxNativeFontInfo *    THIS = (wxNativeFontInfo *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::NativeFontInfo" );
9938         bool    RETVAL;
9939
9940     WXSTRING_INPUT( string, wxString, ST(1) );
9941
9942         RETVAL = THIS->FromString(string);
9943         ST(0) = boolSV(RETVAL);
9944         sv_2mortal(ST(0));
9945     }
9946     XSRETURN(1);
9947 }
9948
9949
9950 XS(XS_Wx__NativeFontInfo_ToString); /* prototype to pass -Wmissing-prototypes */
9951 XS(XS_Wx__NativeFontInfo_ToString)
9952 {
9953 #ifdef dVAR
9954     dVAR; dXSARGS;
9955 #else
9956     dXSARGS;
9957 #endif
9958     if (items != 1)
9959        croak_xs_usage(cv,  "THIS");
9960     {
9961         wxNativeFontInfo *    THIS = (wxNativeFontInfo *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::NativeFontInfo" );
9962         wxString        RETVAL;
9963
9964         RETVAL = THIS->ToString();
9965         ST(0) = sv_newmortal();
9966     WXSTRING_OUTPUT( RETVAL, ST(0) );
9967
9968     }
9969     XSRETURN(1);
9970 }
9971
9972
9973 XS(XS_Wx__NativeFontInfo_FromUserString); /* prototype to pass -Wmissing-prototypes */
9974 XS(XS_Wx__NativeFontInfo_FromUserString)
9975 {
9976 #ifdef dVAR
9977     dVAR; dXSARGS;
9978 #else
9979     dXSARGS;
9980 #endif
9981     if (items != 2)
9982        croak_xs_usage(cv,  "THIS, string");
9983     {
9984         wxString        string;
9985         wxNativeFontInfo *    THIS = (wxNativeFontInfo *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::NativeFontInfo" );
9986         bool    RETVAL;
9987
9988     WXSTRING_INPUT( string, wxString, ST(1) );
9989
9990         RETVAL = THIS->FromUserString(string);
9991         ST(0) = boolSV(RETVAL);
9992         sv_2mortal(ST(0));
9993     }
9994     XSRETURN(1);
9995 }
9996
9997
9998 XS(XS_Wx__NativeFontInfo_ToUserString); /* prototype to pass -Wmissing-prototypes */
9999 XS(XS_Wx__NativeFontInfo_ToUserString)
10000 {
10001 #ifdef dVAR
10002     dVAR; dXSARGS;
10003 #else
10004     dXSARGS;
10005 #endif
10006     if (items != 1)
10007        croak_xs_usage(cv,  "THIS");
10008     {
10009         wxNativeFontInfo *    THIS = (wxNativeFontInfo *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::NativeFontInfo" );
10010         wxString        RETVAL;
10011
10012         RETVAL = THIS->ToUserString();
10013         ST(0) = sv_newmortal();
10014     WXSTRING_OUTPUT( RETVAL, ST(0) );
10015
10016     }
10017     XSRETURN(1);
10018 }
10019
10020
10021 XS(XS_Wx__Font_new); /* prototype to pass -Wmissing-prototypes */
10022 XS(XS_Wx__Font_new)
10023 {
10024 #ifdef dVAR
10025     dVAR; dXSARGS;
10026 #else
10027     dXSARGS;
10028 #endif
10029     if (items < 1)
10030        croak_xs_usage(cv,  "CLASS, ...");
10031     PERL_UNUSED_VAR(ax); /* -Wall */
10032     SP -= items;
10033     {
10034         char *  CLASS = (char *)SvPV_nolen(ST(0));
10035     BEGIN_OVERLOAD()
10036         MATCH_REDISP( wxPliOvl_wfon, newFont )
10037 #if defined(__WXMSW__) && WXPERL_W_VERSION_GE( 2, 5, 3 )     
10038         MATCH_REDISP_COUNT_ALLOWMORE( wxPliOvl_wsiz_n_n_n_b_s_n, newSize, 4 )
10039 #endif
10040         MATCH_REDISP_COUNT_ALLOWMORE( wxPliOvl_n_n_n_n_b_s_n, newLong, 4 )
10041         MATCH_REDISP( wxPliOvl_s, newNativeInfo )
10042     END_OVERLOAD( Wx::Font::new )
10043         PUTBACK;
10044         return;
10045     }
10046 }
10047
10048
10049 XS(XS_Wx__Font_newNativeInfo); /* prototype to pass -Wmissing-prototypes */
10050 XS(XS_Wx__Font_newNativeInfo)
10051 {
10052 #ifdef dVAR
10053     dVAR; dXSARGS;
10054 #else
10055     dXSARGS;
10056 #endif
10057     if (items != 2)
10058        croak_xs_usage(cv,  "CLASS, info");
10059     {
10060         SV*     CLASS = ST(0);
10061         wxString        info;
10062         wxFont *        RETVAL;
10063
10064     WXSTRING_INPUT( info, wxString, ST(1) );
10065 #if defined(__WXMOTIF__) || defined(__WXX11__)
10066     wxNativeFontInfo fontinfo;
10067     fontinfo.FromString( info );
10068     RETVAL = new wxFont( fontinfo );
10069 #else
10070     RETVAL = new wxFont( info );
10071 #endif
10072         ST(0) = sv_newmortal();
10073     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
10074     wxPli_thread_sv_register( aTHX_ "Wx::Font", RETVAL, ST(0) );
10075
10076     }
10077     XSRETURN(1);
10078 }
10079
10080
10081 XS(XS_Wx__Font_newFont); /* prototype to pass -Wmissing-prototypes */
10082 XS(XS_Wx__Font_newFont)
10083 {
10084 #ifdef dVAR
10085     dVAR; dXSARGS;
10086 #else
10087     dXSARGS;
10088 #endif
10089     if (items != 2)
10090        croak_xs_usage(cv,  "CLASS, font");
10091     {
10092         SV*     CLASS = ST(0);
10093         wxFont*    font = (wxFont *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Font" );
10094         wxFont *        RETVAL;
10095     RETVAL = new wxFont( *font );
10096         ST(0) = sv_newmortal();
10097     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
10098     wxPli_thread_sv_register( aTHX_ "Wx::Font", RETVAL, ST(0) );
10099
10100     }
10101     XSRETURN(1);
10102 }
10103
10104
10105 XS(XS_Wx__Font_newLong); /* prototype to pass -Wmissing-prototypes */
10106 XS(XS_Wx__Font_newLong)
10107 {
10108 #ifdef dVAR
10109     dVAR; dXSARGS;
10110 #else
10111     dXSARGS;
10112 #endif
10113     if (items < 5 || items > 8)
10114        croak_xs_usage(cv,  "CLASS, pointsize, family, style, weight, underline = false, faceName = wxEmptyString, encoding = wxFONTENCODING_DEFAULT");
10115     {
10116         SV*     CLASS = ST(0);
10117         int     pointsize = (int)SvIV(ST(1));
10118         int     family = (int)SvIV(ST(2));
10119         int     style = (int)SvIV(ST(3));
10120         int     weight = (int)SvIV(ST(4));
10121         bool    underline;
10122         wxString        faceName;
10123         wxFontEncoding  encoding;
10124         wxFont *        RETVAL;
10125
10126         if (items < 6)
10127             underline = false;
10128         else {
10129             underline = (bool)SvTRUE(ST(5));
10130         }
10131
10132         if (items < 7)
10133             faceName = wxEmptyString;
10134         else {
10135     WXSTRING_INPUT( faceName, wxString, ST(6) );
10136         }
10137
10138         if (items < 8)
10139             encoding = wxFONTENCODING_DEFAULT;
10140         else {
10141             encoding = (wxFontEncoding)SvIV(ST(7));
10142         }
10143     RETVAL = new wxFont( pointsize, family, style, weight, underline,
10144                          faceName, encoding );
10145         ST(0) = sv_newmortal();
10146     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
10147     wxPli_thread_sv_register( aTHX_ "Wx::Font", RETVAL, ST(0) );
10148
10149     }
10150     XSRETURN(1);
10151 }
10152
10153 #if defined(__WXMSW__) && WXPERL_W_VERSION_GE( 2, 5, 3 )     
10154 #define XSubPPtmpAACS 1
10155
10156
10157 XS(XS_Wx__Font_newSize); /* prototype to pass -Wmissing-prototypes */
10158 XS(XS_Wx__Font_newSize)
10159 {
10160 #ifdef dVAR
10161     dVAR; dXSARGS;
10162 #else
10163     dXSARGS;
10164 #endif
10165     if (items < 5 || items > 8)
10166        croak_xs_usage(cv,  "CLASS, size, family, style, weight, underline = false, faceName = wxEmptyString, encoding = wxFONTENCODING_DEFAULT");
10167     {
10168         SV*     CLASS = ST(0);
10169         wxSize    size = wxPli_sv_2_wxsize( aTHX_ ST(1) );
10170         int     family = (int)SvIV(ST(2));
10171         int     style = (int)SvIV(ST(3));
10172         int     weight = (int)SvIV(ST(4));
10173         bool    underline;
10174         wxString        faceName;
10175         wxFontEncoding  encoding;
10176         wxFont *        RETVAL;
10177
10178         if (items < 6)
10179             underline = false;
10180         else {
10181             underline = (bool)SvTRUE(ST(5));
10182         }
10183
10184         if (items < 7)
10185             faceName = wxEmptyString;
10186         else {
10187     WXSTRING_INPUT( faceName, wxString, ST(6) );
10188         }
10189
10190         if (items < 8)
10191             encoding = wxFONTENCODING_DEFAULT;
10192         else {
10193             encoding = (wxFontEncoding)SvIV(ST(7));
10194         }
10195     RETVAL = new wxFont( size, family, style, weight, underline, faceName, encoding );
10196         ST(0) = sv_newmortal();
10197     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
10198     wxPli_thread_sv_register( aTHX_ "Wx::Font", RETVAL, ST(0) );
10199
10200     }
10201     XSRETURN(1);
10202 }
10203
10204 #endif
10205
10206 XS(XS_Wx__Font_New); /* prototype to pass -Wmissing-prototypes */
10207 XS(XS_Wx__Font_New)
10208 {
10209 #ifdef dVAR
10210     dVAR; dXSARGS;
10211 #else
10212     dXSARGS;
10213 #endif
10214     PERL_UNUSED_VAR(cv); /* -W */
10215     PERL_UNUSED_VAR(ax); /* -Wall */
10216     SP -= items;
10217     {
10218     BEGIN_OVERLOAD()
10219 #if WXPERL_W_VERSION_GE( 2, 5, 3 )    
10220         MATCH_REDISP_COUNT_ALLOWMORE( wxPliOvl_wsiz_n_n_n_b_s_n, NewSize, 4 )
10221         MATCH_REDISP_COUNT_ALLOWMORE( wxPliOvl_wsiz_n_n_s_n, NewSizeFlags, 2 )
10222 #endif
10223         MATCH_REDISP_COUNT_ALLOWMORE( wxPliOvl_n_n_n_n_b_s_n, NewPoint, 4 )
10224         MATCH_REDISP_COUNT_ALLOWMORE( wxPliOvl_n_n_n_s_n, NewPointFlags, 2 )
10225     END_OVERLOAD( Wx::Font::New )
10226         PUTBACK;
10227         return;
10228     }
10229 }
10230
10231
10232 XS(XS_Wx__Font_NewPoint); /* prototype to pass -Wmissing-prototypes */
10233 XS(XS_Wx__Font_NewPoint)
10234 {
10235 #ifdef dVAR
10236     dVAR; dXSARGS;
10237 #else
10238     dXSARGS;
10239 #endif
10240     if (items < 5 || items > 8)
10241        croak_xs_usage(cv,  "CLASS, pointsize, family, style, weight, underline = false, faceName = wxEmptyString, encoding = wxFONTENCODING_DEFAULT");
10242     {
10243         SV*     CLASS = ST(0);
10244         int     pointsize = (int)SvIV(ST(1));
10245         wxFontFamily    family = (wxFontFamily)SvIV(ST(2));
10246         int     style = (int)SvIV(ST(3));
10247         int     weight = (int)SvIV(ST(4));
10248         bool    underline;
10249         wxString        faceName;
10250         wxFontEncoding  encoding;
10251         wxFont *        RETVAL;
10252
10253         if (items < 6)
10254             underline = false;
10255         else {
10256             underline = (bool)SvTRUE(ST(5));
10257         }
10258
10259         if (items < 7)
10260             faceName = wxEmptyString;
10261         else {
10262     WXSTRING_INPUT( faceName, wxString, ST(6) );
10263         }
10264
10265         if (items < 8)
10266             encoding = wxFONTENCODING_DEFAULT;
10267         else {
10268             encoding = (wxFontEncoding)SvIV(ST(7));
10269         }
10270     RETVAL = wxFont::New( pointsize, family, style, weight, underline,
10271                            faceName, encoding );
10272         ST(0) = sv_newmortal();
10273     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
10274     wxPli_thread_sv_register( aTHX_ "Wx::Font", RETVAL, ST(0) );
10275
10276     }
10277     XSRETURN(1);
10278 }
10279
10280
10281 XS(XS_Wx__Font_NewPointFlags); /* prototype to pass -Wmissing-prototypes */
10282 XS(XS_Wx__Font_NewPointFlags)
10283 {
10284 #ifdef dVAR
10285     dVAR; dXSARGS;
10286 #else
10287     dXSARGS;
10288 #endif
10289     if (items < 3 || items > 6)
10290        croak_xs_usage(cv,  "CLASS, pointsize, family, flags = wxFONTFLAG_DEFAULT, faceName = wxEmptyString, encoding = wxFONTENCODING_DEFAULT");
10291     {
10292         SV*     CLASS = ST(0);
10293         int     pointsize = (int)SvIV(ST(1));
10294         wxFontFamily    family = (wxFontFamily)SvIV(ST(2));
10295         int     flags;
10296         wxString        faceName;
10297         wxFontEncoding  encoding;
10298         wxFont *        RETVAL;
10299
10300         if (items < 4)
10301             flags = wxFONTFLAG_DEFAULT;
10302         else {
10303             flags = (int)SvIV(ST(3));
10304         }
10305
10306         if (items < 5)
10307             faceName = wxEmptyString;
10308         else {
10309     WXSTRING_INPUT( faceName, wxString, ST(4) );
10310         }
10311
10312         if (items < 6)
10313             encoding = wxFONTENCODING_DEFAULT;
10314         else {
10315             encoding = (wxFontEncoding)SvIV(ST(5));
10316         }
10317     RETVAL = wxFont::New( pointsize, family, flags, faceName, encoding );
10318         ST(0) = sv_newmortal();
10319     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
10320     wxPli_thread_sv_register( aTHX_ "Wx::Font", RETVAL, ST(0) );
10321
10322     }
10323     XSRETURN(1);
10324 }
10325
10326 #if WXPERL_W_VERSION_GE( 2, 5, 3 )
10327 #define XSubPPtmpAACT 1
10328
10329
10330 XS(XS_Wx__Font_NewSize); /* prototype to pass -Wmissing-prototypes */
10331 XS(XS_Wx__Font_NewSize)
10332 {
10333 #ifdef dVAR
10334     dVAR; dXSARGS;
10335 #else
10336     dXSARGS;
10337 #endif
10338     if (items < 5 || items > 8)
10339        croak_xs_usage(cv,  "CLASS, size, family, style, weight, underline = false, faceName = wxEmptyString, encoding = wxFONTENCODING_DEFAULT");
10340     {
10341         SV*     CLASS = ST(0);
10342         wxSize    size = wxPli_sv_2_wxsize( aTHX_ ST(1) );
10343         wxFontFamily    family = (wxFontFamily)SvIV(ST(2));
10344         int     style = (int)SvIV(ST(3));
10345         int     weight = (int)SvIV(ST(4));
10346         bool    underline;
10347         wxString        faceName;
10348         wxFontEncoding  encoding;
10349         wxFont *        RETVAL;
10350
10351         if (items < 6)
10352             underline = false;
10353         else {
10354             underline = (bool)SvTRUE(ST(5));
10355         }
10356
10357         if (items < 7)
10358             faceName = wxEmptyString;
10359         else {
10360     WXSTRING_INPUT( faceName, wxString, ST(6) );
10361         }
10362
10363         if (items < 8)
10364             encoding = wxFONTENCODING_DEFAULT;
10365         else {
10366             encoding = (wxFontEncoding)SvIV(ST(7));
10367         }
10368     RETVAL = wxFont::New( size, family, style, weight, underline, faceName, encoding );
10369         ST(0) = sv_newmortal();
10370     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
10371     wxPli_thread_sv_register( aTHX_ "Wx::Font", RETVAL, ST(0) );
10372
10373     }
10374     XSRETURN(1);
10375 }
10376
10377
10378 XS(XS_Wx__Font_NewSizeFlags); /* prototype to pass -Wmissing-prototypes */
10379 XS(XS_Wx__Font_NewSizeFlags)
10380 {
10381 #ifdef dVAR
10382     dVAR; dXSARGS;
10383 #else
10384     dXSARGS;
10385 #endif
10386     if (items < 3 || items > 6)
10387        croak_xs_usage(cv,  "CLASS, size, family, flags = wxFONTFLAG_DEFAULT, faceName = wxEmptyString, encoding = wxFONTENCODING_DEFAULT");
10388     {
10389         SV*     CLASS = ST(0);
10390         wxSize    size = wxPli_sv_2_wxsize( aTHX_ ST(1) );
10391         wxFontFamily    family = (wxFontFamily)SvIV(ST(2));
10392         int     flags;
10393         wxString        faceName;
10394         wxFontEncoding  encoding;
10395         wxFont *        RETVAL;
10396
10397         if (items < 4)
10398             flags = wxFONTFLAG_DEFAULT;
10399         else {
10400             flags = (int)SvIV(ST(3));
10401         }
10402
10403         if (items < 5)
10404             faceName = wxEmptyString;
10405         else {
10406     WXSTRING_INPUT( faceName, wxString, ST(4) );
10407         }
10408
10409         if (items < 6)
10410             encoding = wxFONTENCODING_DEFAULT;
10411         else {
10412             encoding = (wxFontEncoding)SvIV(ST(5));
10413         }
10414     RETVAL = wxFont::New( size, family, flags, faceName, encoding );
10415         ST(0) = sv_newmortal();
10416     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
10417     wxPli_thread_sv_register( aTHX_ "Wx::Font", RETVAL, ST(0) );
10418
10419     }
10420     XSRETURN(1);
10421 }
10422
10423 #endif
10424
10425 XS(XS_Wx__Font_CLONE); /* prototype to pass -Wmissing-prototypes */
10426 XS(XS_Wx__Font_CLONE)
10427 {
10428 #ifdef dVAR
10429     dVAR; dXSARGS;
10430 #else
10431     dXSARGS;
10432 #endif
10433     if (items != 1)
10434        croak_xs_usage(cv,  "CLASS");
10435     {
10436         char *  CLASS = (char *)SvPV_nolen(ST(0));
10437     wxPli_thread_sv_clone( aTHX_ CLASS, (wxPliCloneSV)wxPli_detach_object );
10438     }
10439     XSRETURN_EMPTY;
10440 }
10441
10442
10443 XS(XS_Wx__Font_DESTROY); /* prototype to pass -Wmissing-prototypes */
10444 XS(XS_Wx__Font_DESTROY)
10445 {
10446 #ifdef dVAR
10447     dVAR; dXSARGS;
10448 #else
10449     dXSARGS;
10450 #endif
10451     if (items != 1)
10452        croak_xs_usage(cv,  "THIS");
10453     {
10454         wxFont *    THIS = (wxFont *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Font" );
10455     wxPli_thread_sv_unregister( aTHX_ "Wx::Font", THIS, ST(0) );
10456     delete THIS;
10457     }
10458     XSRETURN_EMPTY;
10459 }
10460
10461
10462 XS(XS_Wx__Font_font_spaceship); /* prototype to pass -Wmissing-prototypes */
10463 XS(XS_Wx__Font_font_spaceship)
10464 {
10465 #ifdef dVAR
10466     dVAR; dXSARGS;
10467 #else
10468     dXSARGS;
10469 #endif
10470     if (items < 2)
10471        croak_xs_usage(cv,  "fnt1, fnt2, ...");
10472     {
10473         SV*     fnt1 = ST(0);
10474         SV*     fnt2 = ST(1);
10475         int     RETVAL;
10476         dXSTARG;
10477     // this is not a proper spaceship method
10478     // it just allows autogeneration of != and ==
10479     // anyway, comparing fontss is just useless
10480     RETVAL = -1;
10481     if( SvROK( fnt1 ) && SvROK( fnt2 ) &&
10482         sv_derived_from( fnt1, "Wx::Font" ) &&
10483         sv_derived_from( fnt2, "Wx::Font" ) )
10484     {
10485         wxFont* font1 = (wxFont*)wxPli_sv_2_object( aTHX_ fnt1, "Wx::Font" );
10486         wxFont* font2 = (wxFont*)wxPli_sv_2_object( aTHX_ fnt2, "Wx::Font" );
10487
10488         RETVAL = *font1 == *font2 ? 0 : 1;
10489     }
10490     else
10491       RETVAL = 1;
10492         XSprePUSH; PUSHi((IV)RETVAL);
10493     }
10494     XSRETURN(1);
10495 }
10496
10497
10498 XS(XS_Wx__Font_GetDefaultEncoding); /* prototype to pass -Wmissing-prototypes */
10499 XS(XS_Wx__Font_GetDefaultEncoding)
10500 {
10501 #ifdef dVAR
10502     dVAR; dXSARGS;
10503 #else
10504     dXSARGS;
10505 #endif
10506     if (items != 0)
10507        croak_xs_usage(cv,  "");
10508     {
10509         wxFontEncoding  RETVAL;
10510         dXSTARG;
10511     RETVAL = wxFont::GetDefaultEncoding();
10512         XSprePUSH; PUSHi((IV)RETVAL);
10513     }
10514     XSRETURN(1);
10515 }
10516
10517
10518 XS(XS_Wx__Font_GetFaceName); /* prototype to pass -Wmissing-prototypes */
10519 XS(XS_Wx__Font_GetFaceName)
10520 {
10521 #ifdef dVAR
10522     dVAR; dXSARGS;
10523 #else
10524     dXSARGS;
10525 #endif
10526     if (items != 1)
10527        croak_xs_usage(cv,  "THIS");
10528     {
10529         wxFont *    THIS = (wxFont *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Font" );
10530         wxString        RETVAL;
10531
10532         RETVAL = THIS->GetFaceName();
10533         ST(0) = sv_newmortal();
10534     WXSTRING_OUTPUT( RETVAL, ST(0) );
10535
10536     }
10537     XSRETURN(1);
10538 }
10539
10540
10541 XS(XS_Wx__Font_GetFamily); /* prototype to pass -Wmissing-prototypes */
10542 XS(XS_Wx__Font_GetFamily)
10543 {
10544 #ifdef dVAR
10545     dVAR; dXSARGS;
10546 #else
10547     dXSARGS;
10548 #endif
10549     if (items != 1)
10550        croak_xs_usage(cv,  "THIS");
10551     {
10552         wxFont *    THIS = (wxFont *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Font" );
10553         int     RETVAL;
10554         dXSTARG;
10555
10556         RETVAL = THIS->GetFamily();
10557         XSprePUSH; PUSHi((IV)RETVAL);
10558     }
10559     XSRETURN(1);
10560 }
10561
10562 #if WXPERL_W_VERSION_GE( 2, 5, 1 )
10563 #define XSubPPtmpAACU 1
10564
10565
10566 XS(XS_Wx__Font_GetNativeFontInfo); /* prototype to pass -Wmissing-prototypes */
10567 XS(XS_Wx__Font_GetNativeFontInfo)
10568 {
10569 #ifdef dVAR
10570     dVAR; dXSARGS;
10571 #else
10572     dXSARGS;
10573 #endif
10574     if (items != 1)
10575        croak_xs_usage(cv,  "THIS");
10576     {
10577         wxFont *    THIS = (wxFont *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Font" );
10578         wxNativeFontInfo *      RETVAL;
10579     RETVAL = new wxNativeFontInfo( *(THIS->GetNativeFontInfo()) );
10580         ST(0) = sv_newmortal();
10581     wxPli_non_object_2_sv( aTHX_ ST(0), RETVAL, "Wx::NativeFontInfo" );
10582     wxPli_thread_sv_register( aTHX_ "Wx::NativeFontInfo", RETVAL, ST(0) );
10583
10584     }
10585     XSRETURN(1);
10586 }
10587
10588 #else
10589 #define XSubPPtmpAACV 1
10590
10591
10592 XS(XS_Wx__Font_GetNativeFontInfo); /* prototype to pass -Wmissing-prototypes */
10593 XS(XS_Wx__Font_GetNativeFontInfo)
10594 {
10595 #ifdef dVAR
10596     dVAR; dXSARGS;
10597 #else
10598     dXSARGS;
10599 #endif
10600     if (items != 1)
10601        croak_xs_usage(cv,  "THIS");
10602     {
10603         wxFont *    THIS = (wxFont *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Font" );
10604         wxNativeFontInfo *      RETVAL;
10605
10606         RETVAL = THIS->GetNativeFontInfo();
10607         ST(0) = sv_newmortal();
10608     wxPli_non_object_2_sv( aTHX_ ST(0), RETVAL, "Wx::NativeFontInfo" );
10609     wxPli_thread_sv_register( aTHX_ "Wx::NativeFontInfo", RETVAL, ST(0) );
10610
10611     }
10612     XSRETURN(1);
10613 }
10614
10615 #endif
10616
10617 XS(XS_Wx__Font_SetNativeFontInfoUserDesc); /* prototype to pass -Wmissing-prototypes */
10618 XS(XS_Wx__Font_SetNativeFontInfoUserDesc)
10619 {
10620 #ifdef dVAR
10621     dVAR; dXSARGS;
10622 #else
10623     dXSARGS;
10624 #endif
10625     if (items != 2)
10626        croak_xs_usage(cv,  "THIS, info");
10627     {
10628         wxString        info;
10629         wxFont *    THIS = (wxFont *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Font" );
10630
10631     WXSTRING_INPUT( info, wxString, ST(1) );
10632
10633         THIS->SetNativeFontInfoUserDesc(info);
10634     }
10635     XSRETURN_EMPTY;
10636 }
10637
10638
10639 XS(XS_Wx__Font_GetFamilyString); /* prototype to pass -Wmissing-prototypes */
10640 XS(XS_Wx__Font_GetFamilyString)
10641 {
10642 #ifdef dVAR
10643     dVAR; dXSARGS;
10644 #else
10645     dXSARGS;
10646 #endif
10647     if (items != 1)
10648        croak_xs_usage(cv,  "THIS");
10649     {
10650         wxFont *    THIS = (wxFont *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Font" );
10651         wxString        RETVAL;
10652
10653         RETVAL = THIS->GetFamilyString();
10654         ST(0) = sv_newmortal();
10655     WXSTRING_OUTPUT( RETVAL, ST(0) );
10656
10657     }
10658     XSRETURN(1);
10659 }
10660
10661
10662 XS(XS_Wx__Font_GetStyleString); /* prototype to pass -Wmissing-prototypes */
10663 XS(XS_Wx__Font_GetStyleString)
10664 {
10665 #ifdef dVAR
10666     dVAR; dXSARGS;
10667 #else
10668     dXSARGS;
10669 #endif
10670     if (items != 1)
10671        croak_xs_usage(cv,  "THIS");
10672     {
10673         wxFont *    THIS = (wxFont *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Font" );
10674         wxString        RETVAL;
10675
10676         RETVAL = THIS->GetStyleString();
10677         ST(0) = sv_newmortal();
10678     WXSTRING_OUTPUT( RETVAL, ST(0) );
10679
10680     }
10681     XSRETURN(1);
10682 }
10683
10684
10685 XS(XS_Wx__Font_GetWeightString); /* prototype to pass -Wmissing-prototypes */
10686 XS(XS_Wx__Font_GetWeightString)
10687 {
10688 #ifdef dVAR
10689     dVAR; dXSARGS;
10690 #else
10691     dXSARGS;
10692 #endif
10693     if (items != 1)
10694        croak_xs_usage(cv,  "THIS");
10695     {
10696         wxFont *    THIS = (wxFont *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Font" );
10697         wxString        RETVAL;
10698
10699         RETVAL = THIS->GetWeightString();
10700         ST(0) = sv_newmortal();
10701     WXSTRING_OUTPUT( RETVAL, ST(0) );
10702
10703     }
10704     XSRETURN(1);
10705 }
10706
10707
10708 XS(XS_Wx__Font_GetNativeFontInfoDesc); /* prototype to pass -Wmissing-prototypes */
10709 XS(XS_Wx__Font_GetNativeFontInfoDesc)
10710 {
10711 #ifdef dVAR
10712     dVAR; dXSARGS;
10713 #else
10714     dXSARGS;
10715 #endif
10716     if (items != 1)
10717        croak_xs_usage(cv,  "THIS");
10718     {
10719         wxFont *    THIS = (wxFont *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Font" );
10720         wxString        RETVAL;
10721
10722         RETVAL = THIS->GetNativeFontInfoDesc();
10723         ST(0) = sv_newmortal();
10724     WXSTRING_OUTPUT( RETVAL, ST(0) );
10725
10726     }
10727     XSRETURN(1);
10728 }
10729
10730
10731 XS(XS_Wx__Font_GetNativeFontInfoUserDesc); /* prototype to pass -Wmissing-prototypes */
10732 XS(XS_Wx__Font_GetNativeFontInfoUserDesc)
10733 {
10734 #ifdef dVAR
10735     dVAR; dXSARGS;
10736 #else
10737     dXSARGS;
10738 #endif
10739     if (items != 1)
10740        croak_xs_usage(cv,  "THIS");
10741     {
10742         wxFont *    THIS = (wxFont *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Font" );
10743         wxString        RETVAL;
10744
10745         RETVAL = THIS->GetNativeFontInfoUserDesc();
10746         ST(0) = sv_newmortal();
10747     WXSTRING_OUTPUT( RETVAL, ST(0) );
10748
10749     }
10750     XSRETURN(1);
10751 }
10752
10753 #if WXPERL_W_VERSION_GE( 2, 5, 3 )
10754 #define XSubPPtmpAACW 1
10755
10756
10757 XS(XS_Wx__Font_GetPixelSize); /* prototype to pass -Wmissing-prototypes */
10758 XS(XS_Wx__Font_GetPixelSize)
10759 {
10760 #ifdef dVAR
10761     dVAR; dXSARGS;
10762 #else
10763     dXSARGS;
10764 #endif
10765     if (items != 1)
10766        croak_xs_usage(cv,  "THIS");
10767     {
10768         wxFont *    THIS = (wxFont *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Font" );
10769         wxSize *        RETVAL;
10770     RETVAL = new wxSize( THIS->GetPixelSize() );
10771         ST(0) = sv_newmortal();
10772     wxPli_non_object_2_sv( aTHX_ ST(0), RETVAL, "Wx::Size" );
10773     wxPli_thread_sv_register( aTHX_ "Wx::Size", RETVAL, ST(0) );
10774
10775     }
10776     XSRETURN(1);
10777 }
10778
10779 #endif    
10780
10781 XS(XS_Wx__Font_GetEncoding); /* prototype to pass -Wmissing-prototypes */
10782 XS(XS_Wx__Font_GetEncoding)
10783 {
10784 #ifdef dVAR
10785     dVAR; dXSARGS;
10786 #else
10787     dXSARGS;
10788 #endif
10789     if (items != 1)
10790        croak_xs_usage(cv,  "THIS");
10791     {
10792         wxFont *    THIS = (wxFont *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Font" );
10793         wxFontEncoding  RETVAL;
10794         dXSTARG;
10795
10796         RETVAL = THIS->GetEncoding();
10797         XSprePUSH; PUSHi((IV)RETVAL);
10798     }
10799     XSRETURN(1);
10800 }
10801
10802
10803 XS(XS_Wx__Font_GetPointSize); /* prototype to pass -Wmissing-prototypes */
10804 XS(XS_Wx__Font_GetPointSize)
10805 {
10806 #ifdef dVAR
10807     dVAR; dXSARGS;
10808 #else
10809     dXSARGS;
10810 #endif
10811     if (items != 1)
10812        croak_xs_usage(cv,  "THIS");
10813     {
10814         wxFont *    THIS = (wxFont *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Font" );
10815         int     RETVAL;
10816         dXSTARG;
10817
10818         RETVAL = THIS->GetPointSize();
10819         XSprePUSH; PUSHi((IV)RETVAL);
10820     }
10821     XSRETURN(1);
10822 }
10823
10824
10825 XS(XS_Wx__Font_GetStyle); /* prototype to pass -Wmissing-prototypes */
10826 XS(XS_Wx__Font_GetStyle)
10827 {
10828 #ifdef dVAR
10829     dVAR; dXSARGS;
10830 #else
10831     dXSARGS;
10832 #endif
10833     if (items != 1)
10834        croak_xs_usage(cv,  "THIS");
10835     {
10836         wxFont *    THIS = (wxFont *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Font" );
10837         int     RETVAL;
10838         dXSTARG;
10839
10840         RETVAL = THIS->GetStyle();
10841         XSprePUSH; PUSHi((IV)RETVAL);
10842     }
10843     XSRETURN(1);
10844 }
10845
10846
10847 XS(XS_Wx__Font_GetUnderlined); /* prototype to pass -Wmissing-prototypes */
10848 XS(XS_Wx__Font_GetUnderlined)
10849 {
10850 #ifdef dVAR
10851     dVAR; dXSARGS;
10852 #else
10853     dXSARGS;
10854 #endif
10855     if (items != 1)
10856        croak_xs_usage(cv,  "THIS");
10857     {
10858         wxFont *    THIS = (wxFont *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Font" );
10859         bool    RETVAL;
10860
10861         RETVAL = THIS->GetUnderlined();
10862         ST(0) = boolSV(RETVAL);
10863         sv_2mortal(ST(0));
10864     }
10865     XSRETURN(1);
10866 }
10867
10868
10869 XS(XS_Wx__Font_GetWeight); /* prototype to pass -Wmissing-prototypes */
10870 XS(XS_Wx__Font_GetWeight)
10871 {
10872 #ifdef dVAR
10873     dVAR; dXSARGS;
10874 #else
10875     dXSARGS;
10876 #endif
10877     if (items != 1)
10878        croak_xs_usage(cv,  "THIS");
10879     {
10880         wxFont *    THIS = (wxFont *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Font" );
10881         int     RETVAL;
10882         dXSTARG;
10883
10884         RETVAL = THIS->GetWeight();
10885         XSprePUSH; PUSHi((IV)RETVAL);
10886     }
10887     XSRETURN(1);
10888 }
10889
10890
10891 XS(XS_Wx__Font_IsFixedWidth); /* prototype to pass -Wmissing-prototypes */
10892 XS(XS_Wx__Font_IsFixedWidth)
10893 {
10894 #ifdef dVAR
10895     dVAR; dXSARGS;
10896 #else
10897     dXSARGS;
10898 #endif
10899     if (items != 1)
10900        croak_xs_usage(cv,  "THIS");
10901     {
10902         wxFont *    THIS = (wxFont *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Font" );
10903         bool    RETVAL;
10904
10905         RETVAL = THIS->IsFixedWidth();
10906         ST(0) = boolSV(RETVAL);
10907         sv_2mortal(ST(0));
10908     }
10909     XSRETURN(1);
10910 }
10911
10912
10913 XS(XS_Wx__Font_Ok); /* prototype to pass -Wmissing-prototypes */
10914 XS(XS_Wx__Font_Ok)
10915 {
10916 #ifdef dVAR
10917     dVAR; dXSARGS;
10918 #else
10919     dXSARGS;
10920 #endif
10921     if (items != 1)
10922        croak_xs_usage(cv,  "THIS");
10923     {
10924         wxFont *    THIS = (wxFont *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Font" );
10925         bool    RETVAL;
10926
10927         RETVAL = THIS->Ok();
10928         ST(0) = boolSV(RETVAL);
10929         sv_2mortal(ST(0));
10930     }
10931     XSRETURN(1);
10932 }
10933
10934 #if WXPERL_W_VERSION_GE( 2, 7, 2 )
10935 #define XSubPPtmpAACX 1
10936
10937
10938 XS(XS_Wx__Font_IsOk); /* prototype to pass -Wmissing-prototypes */
10939 XS(XS_Wx__Font_IsOk)
10940 {
10941 #ifdef dVAR
10942     dVAR; dXSARGS;
10943 #else
10944     dXSARGS;
10945 #endif
10946     if (items != 1)
10947        croak_xs_usage(cv,  "THIS");
10948     {
10949         wxFont *    THIS = (wxFont *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Font" );
10950         bool    RETVAL;
10951
10952         RETVAL = THIS->IsOk();
10953         ST(0) = boolSV(RETVAL);
10954         sv_2mortal(ST(0));
10955     }
10956     XSRETURN(1);
10957 }
10958
10959 #endif
10960
10961 XS(XS_Wx__Font_SetDefaultEncoding); /* prototype to pass -Wmissing-prototypes */
10962 XS(XS_Wx__Font_SetDefaultEncoding)
10963 {
10964 #ifdef dVAR
10965     dVAR; dXSARGS;
10966 #else
10967     dXSARGS;
10968 #endif
10969     if (items != 1)
10970        croak_xs_usage(cv,  "encoding");
10971     {
10972         wxFontEncoding  encoding = (wxFontEncoding)SvIV(ST(0));
10973     wxFont::SetDefaultEncoding( encoding );
10974     }
10975     XSRETURN_EMPTY;
10976 }
10977
10978 #if WXPERL_W_VERSION_GE( 2, 7, 0 )
10979 #define XSubPPtmpAACY 1
10980
10981
10982 XS(XS_Wx__Font_SetFaceName); /* prototype to pass -Wmissing-prototypes */
10983 XS(XS_Wx__Font_SetFaceName)
10984 {
10985 #ifdef dVAR
10986     dVAR; dXSARGS;
10987 #else
10988     dXSARGS;
10989 #endif
10990     if (items != 2)
10991        croak_xs_usage(cv,  "THIS, faceName");
10992     {
10993         wxString        faceName;
10994         wxFont *    THIS = (wxFont *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Font" );
10995         bool    RETVAL;
10996
10997     WXSTRING_INPUT( faceName, wxString, ST(1) );
10998
10999         RETVAL = THIS->SetFaceName(faceName);
11000         ST(0) = boolSV(RETVAL);
11001         sv_2mortal(ST(0));
11002     }
11003     XSRETURN(1);
11004 }
11005
11006 #else
11007 #define XSubPPtmpAACZ 1
11008
11009
11010 XS(XS_Wx__Font_SetFaceName); /* prototype to pass -Wmissing-prototypes */
11011 XS(XS_Wx__Font_SetFaceName)
11012 {
11013 #ifdef dVAR
11014     dVAR; dXSARGS;
11015 #else
11016     dXSARGS;
11017 #endif
11018     if (items != 2)
11019        croak_xs_usage(cv,  "THIS, faceName");
11020     {
11021         wxString        faceName;
11022         wxFont *    THIS = (wxFont *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Font" );
11023
11024     WXSTRING_INPUT( faceName, wxString, ST(1) );
11025
11026         THIS->SetFaceName(faceName);
11027     }
11028     XSRETURN_EMPTY;
11029 }
11030
11031 #endif
11032
11033 XS(XS_Wx__Font_SetEncoding); /* prototype to pass -Wmissing-prototypes */
11034 XS(XS_Wx__Font_SetEncoding)
11035 {
11036 #ifdef dVAR
11037     dVAR; dXSARGS;
11038 #else
11039     dXSARGS;
11040 #endif
11041     if (items != 2)
11042        croak_xs_usage(cv,  "THIS, encoding");
11043     {
11044         wxFontEncoding  encoding = (wxFontEncoding)SvIV(ST(1));
11045         wxFont *    THIS = (wxFont *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Font" );
11046
11047         THIS->SetEncoding(encoding);
11048     }
11049     XSRETURN_EMPTY;
11050 }
11051
11052
11053 XS(XS_Wx__Font_SetFamily); /* prototype to pass -Wmissing-prototypes */
11054 XS(XS_Wx__Font_SetFamily)
11055 {
11056 #ifdef dVAR
11057     dVAR; dXSARGS;
11058 #else
11059     dXSARGS;
11060 #endif
11061     if (items != 2)
11062        croak_xs_usage(cv,  "THIS, family");
11063     {
11064         int     family = (int)SvIV(ST(1));
11065         wxFont *    THIS = (wxFont *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Font" );
11066
11067         THIS->SetFamily(family);
11068     }
11069     XSRETURN_EMPTY;
11070 }
11071
11072
11073 XS(XS_Wx__Font_SetNativeFontInfo); /* prototype to pass -Wmissing-prototypes */
11074 XS(XS_Wx__Font_SetNativeFontInfo)
11075 {
11076 #ifdef dVAR
11077     dVAR; dXSARGS;
11078 #else
11079     dXSARGS;
11080 #endif
11081     if (items != 2)
11082        croak_xs_usage(cv,  "THIS, info");
11083     {
11084         wxString        info;
11085         wxFont *    THIS = (wxFont *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Font" );
11086
11087     WXSTRING_INPUT( info, wxString, ST(1) );
11088     THIS->SetNativeFontInfo( info );
11089     }
11090     XSRETURN_EMPTY;
11091 }
11092
11093 #if WXPERL_W_VERSION_GE( 2, 5, 3 )
11094 #define XSubPPtmpAADA 1
11095
11096
11097 XS(XS_Wx__Font_SetPixelSize); /* prototype to pass -Wmissing-prototypes */
11098 XS(XS_Wx__Font_SetPixelSize)
11099 {
11100 #ifdef dVAR
11101     dVAR; dXSARGS;
11102 #else
11103     dXSARGS;
11104 #endif
11105     if (items != 2)
11106        croak_xs_usage(cv,  "THIS, pixelsize");
11107     {
11108         wxSize    pixelsize = wxPli_sv_2_wxsize( aTHX_ ST(1) );
11109         wxFont *    THIS = (wxFont *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Font" );
11110
11111         THIS->SetPixelSize(pixelsize);
11112     }
11113     XSRETURN_EMPTY;
11114 }
11115
11116
11117 XS(XS_Wx__Font_IsUsingSizeInPixels); /* prototype to pass -Wmissing-prototypes */
11118 XS(XS_Wx__Font_IsUsingSizeInPixels)
11119 {
11120 #ifdef dVAR
11121     dVAR; dXSARGS;
11122 #else
11123     dXSARGS;
11124 #endif
11125     if (items != 1)
11126        croak_xs_usage(cv,  "THIS");
11127     {
11128         wxFont *    THIS = (wxFont *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Font" );
11129         bool    RETVAL;
11130
11131         RETVAL = THIS->IsUsingSizeInPixels();
11132         ST(0) = boolSV(RETVAL);
11133         sv_2mortal(ST(0));
11134     }
11135     XSRETURN(1);
11136 }
11137
11138 #endif    
11139
11140 XS(XS_Wx__Font_SetPointSize); /* prototype to pass -Wmissing-prototypes */
11141 XS(XS_Wx__Font_SetPointSize)
11142 {
11143 #ifdef dVAR
11144     dVAR; dXSARGS;
11145 #else
11146     dXSARGS;
11147 #endif
11148     if (items != 2)
11149        croak_xs_usage(cv,  "THIS, pointsize");
11150     {
11151         int     pointsize = (int)SvIV(ST(1));
11152         wxFont *    THIS = (wxFont *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Font" );
11153
11154         THIS->SetPointSize(pointsize);
11155     }
11156     XSRETURN_EMPTY;
11157 }
11158
11159
11160 XS(XS_Wx__Font_SetStyle); /* prototype to pass -Wmissing-prototypes */
11161 XS(XS_Wx__Font_SetStyle)
11162 {
11163 #ifdef dVAR
11164     dVAR; dXSARGS;
11165 #else
11166     dXSARGS;
11167 #endif
11168     if (items != 2)
11169        croak_xs_usage(cv,  "THIS, style");
11170     {
11171         int     style = (int)SvIV(ST(1));
11172         wxFont *    THIS = (wxFont *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Font" );
11173
11174         THIS->SetStyle(style);
11175     }
11176     XSRETURN_EMPTY;
11177 }
11178
11179
11180 XS(XS_Wx__Font_SetUnderlined); /* prototype to pass -Wmissing-prototypes */
11181 XS(XS_Wx__Font_SetUnderlined)
11182 {
11183 #ifdef dVAR
11184     dVAR; dXSARGS;
11185 #else
11186     dXSARGS;
11187 #endif
11188     if (items != 2)
11189        croak_xs_usage(cv,  "THIS, underlined");
11190     {
11191         bool    underlined = (bool)SvTRUE(ST(1));
11192         wxFont *    THIS = (wxFont *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Font" );
11193
11194         THIS->SetUnderlined(underlined);
11195     }
11196     XSRETURN_EMPTY;
11197 }
11198
11199
11200 XS(XS_Wx__Font_SetWeight); /* prototype to pass -Wmissing-prototypes */
11201 XS(XS_Wx__Font_SetWeight)
11202 {
11203 #ifdef dVAR
11204     dVAR; dXSARGS;
11205 #else
11206     dXSARGS;
11207 #endif
11208     if (items != 2)
11209        croak_xs_usage(cv,  "THIS, weight");
11210     {
11211         int     weight = (int)SvIV(ST(1));
11212         wxFont *    THIS = (wxFont *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Font" );
11213
11214         THIS->SetWeight(weight);
11215     }
11216     XSRETURN_EMPTY;
11217 }
11218
11219
11220 /* INCLUDE: Returning to 'XS/ColourDatabase.xs' from 'XS/Font.xs' */
11221
11222
11223 XS(XS_Wx__ColourDatabase_AddColour); /* prototype to pass -Wmissing-prototypes */
11224 XS(XS_Wx__ColourDatabase_AddColour)
11225 {
11226 #ifdef dVAR
11227     dVAR; dXSARGS;
11228 #else
11229     dXSARGS;
11230 #endif
11231     if (items != 2)
11232        croak_xs_usage(cv,  "colourname, colour");
11233     {
11234         wxString        colourname;
11235         wxColour*    colour = (wxColour *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Colour" );
11236
11237     WXSTRING_INPUT( colourname, wxString, ST(0) );
11238     wxTheColourDatabase->AddColour( colourname, *colour );
11239     }
11240     XSRETURN_EMPTY;
11241 }
11242
11243
11244 XS(XS_Wx__ColourDatabase_Find); /* prototype to pass -Wmissing-prototypes */
11245 XS(XS_Wx__ColourDatabase_Find)
11246 {
11247 #ifdef dVAR
11248     dVAR; dXSARGS;
11249 #else
11250     dXSARGS;
11251 #endif
11252     if (items != 1)
11253        croak_xs_usage(cv,  "colourname");
11254     {
11255         wxString        colourname;
11256         wxColour *      RETVAL;
11257
11258     WXSTRING_INPUT( colourname, wxString, ST(0) );
11259     RETVAL = new wxColour( wxTheColourDatabase->Find( colourname ) );
11260         ST(0) = sv_newmortal();
11261     wxPli_non_object_2_sv( aTHX_ ST(0), RETVAL, "Wx::Colour" );
11262     wxPli_thread_sv_register( aTHX_ "Wx::Colour", RETVAL, ST(0) );
11263
11264     }
11265     XSRETURN(1);
11266 }
11267
11268
11269 XS(XS_Wx__ColourDatabase_FindName); /* prototype to pass -Wmissing-prototypes */
11270 XS(XS_Wx__ColourDatabase_FindName)
11271 {
11272 #ifdef dVAR
11273     dVAR; dXSARGS;
11274 #else
11275     dXSARGS;
11276 #endif
11277     if (items != 1)
11278        croak_xs_usage(cv,  "colour");
11279     {
11280         wxColour*    colour = (wxColour *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Colour" );
11281         wxString        RETVAL;
11282     RETVAL = wxTheColourDatabase->FindName( *colour );
11283         ST(0) = sv_newmortal();
11284     WXSTRING_OUTPUT( RETVAL, ST(0) );
11285
11286     }
11287     XSRETURN(1);
11288 }
11289
11290
11291 /* INCLUDE: Returning to 'XS/Colour.xs' from 'XS/ColourDatabase.xs' */
11292
11293
11294 XS(XS_Wx__Colour_new); /* prototype to pass -Wmissing-prototypes */
11295 XS(XS_Wx__Colour_new)
11296 {
11297 #ifdef dVAR
11298     dVAR; dXSARGS;
11299 #else
11300     dXSARGS;
11301 #endif
11302     if (items < 1)
11303        croak_xs_usage(cv,  "CLASS, ...");
11304     PERL_UNUSED_VAR(ax); /* -Wall */
11305     SP -= items;
11306     {
11307         char *  CLASS = (char *)SvPV_nolen(ST(0));
11308     BEGIN_OVERLOAD()
11309         MATCH_REDISP( wxPliOvl_n_n_n_n, newRGBA )
11310         MATCH_REDISP( wxPliOvl_n_n_n, newRGB )
11311         MATCH_REDISP( wxPliOvl_s, newName )
11312     END_OVERLOAD( Wx::Colour::new )
11313         PUTBACK;
11314         return;
11315     }
11316 }
11317
11318 #if WXPERL_W_VERSION_GE( 2, 7, 1 )
11319 #define XSubPPtmpAADB 1
11320
11321
11322 XS(XS_Wx__Colour_newRGBA); /* prototype to pass -Wmissing-prototypes */
11323 XS(XS_Wx__Colour_newRGBA)
11324 {
11325 #ifdef dVAR
11326     dVAR; dXSARGS;
11327 #else
11328     dXSARGS;
11329 #endif
11330     if (items < 4 || items > 5)
11331        croak_xs_usage(cv,  "CLASS, red, green, blue, alpha = wxALPHA_OPAQUE");
11332     {
11333         SV*     CLASS = ST(0);
11334         unsigned char   red = (unsigned char)SvUV(ST(1));
11335         unsigned char   green = (unsigned char)SvUV(ST(2));
11336         unsigned char   blue = (unsigned char)SvUV(ST(3));
11337         unsigned char   alpha;
11338         wxColour *      RETVAL;
11339
11340         if (items < 5)
11341             alpha = wxALPHA_OPAQUE;
11342         else {
11343             alpha = (unsigned char)SvUV(ST(4));
11344         }
11345     RETVAL = new wxColour( red, green, blue, alpha );
11346         ST(0) = sv_newmortal();
11347     wxPli_non_object_2_sv( aTHX_ ST(0), RETVAL, "Wx::Colour" );
11348     wxPli_thread_sv_register( aTHX_ "Wx::Colour", RETVAL, ST(0) );
11349
11350     }
11351     XSRETURN(1);
11352 }
11353
11354 #endif
11355
11356 XS(XS_Wx__Colour_newRGB); /* prototype to pass -Wmissing-prototypes */
11357 XS(XS_Wx__Colour_newRGB)
11358 {
11359 #ifdef dVAR
11360     dVAR; dXSARGS;
11361 #else
11362     dXSARGS;
11363 #endif
11364     if (items != 4)
11365        croak_xs_usage(cv,  "CLASS, red, green, blue");
11366     {
11367         SV*     CLASS = ST(0);
11368         unsigned char   red = (unsigned char)SvUV(ST(1));
11369         unsigned char   green = (unsigned char)SvUV(ST(2));
11370         unsigned char   blue = (unsigned char)SvUV(ST(3));
11371         wxColour *      RETVAL;
11372     RETVAL = new wxColour( red, green, blue );
11373         ST(0) = sv_newmortal();
11374     wxPli_non_object_2_sv( aTHX_ ST(0), RETVAL, "Wx::Colour" );
11375     wxPli_thread_sv_register( aTHX_ "Wx::Colour", RETVAL, ST(0) );
11376
11377     }
11378     XSRETURN(1);
11379 }
11380
11381
11382 XS(XS_Wx__Colour_newName); /* prototype to pass -Wmissing-prototypes */
11383 XS(XS_Wx__Colour_newName)
11384 {
11385 #ifdef dVAR
11386     dVAR; dXSARGS;
11387 #else
11388     dXSARGS;
11389 #endif
11390     if (items != 2)
11391        croak_xs_usage(cv,  "CLASS, name");
11392     {
11393         SV*     CLASS = ST(0);
11394         wxString        name;
11395         wxColour *      RETVAL;
11396
11397     WXSTRING_INPUT( name, wxString, ST(1) );
11398     RETVAL = new wxColour( name );
11399         ST(0) = sv_newmortal();
11400     wxPli_non_object_2_sv( aTHX_ ST(0), RETVAL, "Wx::Colour" );
11401     wxPli_thread_sv_register( aTHX_ "Wx::Colour", RETVAL, ST(0) );
11402
11403     }
11404     XSRETURN(1);
11405 }
11406
11407
11408 XS(XS_Wx__Colour_CLONE); /* prototype to pass -Wmissing-prototypes */
11409 XS(XS_Wx__Colour_CLONE)
11410 {
11411 #ifdef dVAR
11412     dVAR; dXSARGS;
11413 #else
11414     dXSARGS;
11415 #endif
11416     if (items != 1)
11417        croak_xs_usage(cv,  "CLASS");
11418     {
11419         char *  CLASS = (char *)SvPV_nolen(ST(0));
11420     wxPli_thread_sv_clone( aTHX_ CLASS, (wxPliCloneSV)wxPli_detach_object );
11421     }
11422     XSRETURN_EMPTY;
11423 }
11424
11425
11426 XS(XS_Wx__Colour_DESTROY); /* prototype to pass -Wmissing-prototypes */
11427 XS(XS_Wx__Colour_DESTROY)
11428 {
11429 #ifdef dVAR
11430     dVAR; dXSARGS;
11431 #else
11432     dXSARGS;
11433 #endif
11434     if (items != 1)
11435        croak_xs_usage(cv,  "THIS");
11436     {
11437         wxColour *    THIS = (wxColour *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Colour" );
11438     wxPli_thread_sv_unregister( aTHX_ "Wx::Colour", THIS, ST(0) );
11439     delete THIS;
11440     }
11441     XSRETURN_EMPTY;
11442 }
11443
11444
11445 XS(XS_Wx__Colour_Blue); /* prototype to pass -Wmissing-prototypes */
11446 XS(XS_Wx__Colour_Blue)
11447 {
11448 #ifdef dVAR
11449     dVAR; dXSARGS;
11450 #else
11451     dXSARGS;
11452 #endif
11453     if (items != 1)
11454        croak_xs_usage(cv,  "THIS");
11455     {
11456         wxColour *    THIS = (wxColour *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Colour" );
11457         unsigned char   RETVAL;
11458         dXSTARG;
11459
11460         RETVAL = THIS->Blue();
11461         XSprePUSH; PUSHu((UV)RETVAL);
11462     }
11463     XSRETURN(1);
11464 }
11465
11466
11467 XS(XS_Wx__Colour_Green); /* prototype to pass -Wmissing-prototypes */
11468 XS(XS_Wx__Colour_Green)
11469 {
11470 #ifdef dVAR
11471     dVAR; dXSARGS;
11472 #else
11473     dXSARGS;
11474 #endif
11475     if (items != 1)
11476        croak_xs_usage(cv,  "THIS");
11477     {
11478         wxColour *    THIS = (wxColour *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Colour" );
11479         unsigned char   RETVAL;
11480         dXSTARG;
11481
11482         RETVAL = THIS->Green();
11483         XSprePUSH; PUSHu((UV)RETVAL);
11484     }
11485     XSRETURN(1);
11486 }
11487
11488
11489 XS(XS_Wx__Colour_Ok); /* prototype to pass -Wmissing-prototypes */
11490 XS(XS_Wx__Colour_Ok)
11491 {
11492 #ifdef dVAR
11493     dVAR; dXSARGS;
11494 #else
11495     dXSARGS;
11496 #endif
11497     if (items != 1)
11498        croak_xs_usage(cv,  "THIS");
11499     {
11500         wxColour *    THIS = (wxColour *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Colour" );
11501         bool    RETVAL;
11502
11503         RETVAL = THIS->Ok();
11504         ST(0) = boolSV(RETVAL);
11505         sv_2mortal(ST(0));
11506     }
11507     XSRETURN(1);
11508 }
11509
11510 #if WXPERL_W_VERSION_GE( 2, 8, 0 )
11511 #define XSubPPtmpAADC 1
11512
11513
11514 XS(XS_Wx__Colour_IsOk); /* prototype to pass -Wmissing-prototypes */
11515 XS(XS_Wx__Colour_IsOk)
11516 {
11517 #ifdef dVAR
11518     dVAR; dXSARGS;
11519 #else
11520     dXSARGS;
11521 #endif
11522     if (items != 1)
11523        croak_xs_usage(cv,  "THIS");
11524     {
11525         wxColour *    THIS = (wxColour *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Colour" );
11526         bool    RETVAL;
11527
11528         RETVAL = THIS->IsOk();
11529         ST(0) = boolSV(RETVAL);
11530         sv_2mortal(ST(0));
11531     }
11532     XSRETURN(1);
11533 }
11534
11535 #endif
11536
11537 XS(XS_Wx__Colour_Red); /* prototype to pass -Wmissing-prototypes */
11538 XS(XS_Wx__Colour_Red)
11539 {
11540 #ifdef dVAR
11541     dVAR; dXSARGS;
11542 #else
11543     dXSARGS;
11544 #endif
11545     if (items != 1)
11546        croak_xs_usage(cv,  "THIS");
11547     {
11548         wxColour *    THIS = (wxColour *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Colour" );
11549         unsigned char   RETVAL;
11550         dXSTARG;
11551
11552         RETVAL = THIS->Red();
11553         XSprePUSH; PUSHu((UV)RETVAL);
11554     }
11555     XSRETURN(1);
11556 }
11557
11558 #if WXPERL_W_VERSION_GE( 2, 7, 1 )
11559 #define XSubPPtmpAADD 1
11560
11561
11562 XS(XS_Wx__Colour_Alpha); /* prototype to pass -Wmissing-prototypes */
11563 XS(XS_Wx__Colour_Alpha)
11564 {
11565 #ifdef dVAR
11566     dVAR; dXSARGS;
11567 #else
11568     dXSARGS;
11569 #endif
11570     if (items != 1)
11571        croak_xs_usage(cv,  "THIS");
11572     {
11573         wxColour *    THIS = (wxColour *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Colour" );
11574         unsigned char   RETVAL;
11575         dXSTARG;
11576
11577         RETVAL = THIS->Alpha();
11578         XSprePUSH; PUSHu((UV)RETVAL);
11579     }
11580     XSRETURN(1);
11581 }
11582
11583
11584 XS(XS_Wx__Colour_Set); /* prototype to pass -Wmissing-prototypes */
11585 XS(XS_Wx__Colour_Set)
11586 {
11587 #ifdef dVAR
11588     dVAR; dXSARGS;
11589 #else
11590     dXSARGS;
11591 #endif
11592     if (items != 5)
11593        croak_xs_usage(cv,  "THIS, red, green, blue, alpha");
11594     {
11595         unsigned char   red = (unsigned char)SvUV(ST(1));
11596         unsigned char   green = (unsigned char)SvUV(ST(2));
11597         unsigned char   blue = (unsigned char)SvUV(ST(3));
11598         unsigned char   alpha = (unsigned char)SvUV(ST(4));
11599         wxColour *    THIS = (wxColour *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Colour" );
11600
11601         THIS->Set(red, green, blue, alpha);
11602     }
11603     XSRETURN_EMPTY;
11604 }
11605
11606 #else
11607 #define XSubPPtmpAADE 1
11608
11609
11610 XS(XS_Wx__Colour_Set); /* prototype to pass -Wmissing-prototypes */
11611 XS(XS_Wx__Colour_Set)
11612 {
11613 #ifdef dVAR
11614     dVAR; dXSARGS;
11615 #else
11616     dXSARGS;
11617 #endif
11618     if (items != 4)
11619        croak_xs_usage(cv,  "THIS, red, green, blue");
11620     {
11621         unsigned char   red = (unsigned char)SvUV(ST(1));
11622         unsigned char   green = (unsigned char)SvUV(ST(2));
11623         unsigned char   blue = (unsigned char)SvUV(ST(3));
11624         wxColour *    THIS = (wxColour *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Colour" );
11625
11626         THIS->Set(red, green, blue);
11627     }
11628     XSRETURN_EMPTY;
11629 }
11630
11631 #endif
11632 #if WXPERL_W_VERSION_GE( 2, 7, 2 )
11633 #define XSubPPtmpAADF 1
11634
11635
11636 XS(XS_Wx__Colour_GetAsString); /* prototype to pass -Wmissing-prototypes */
11637 XS(XS_Wx__Colour_GetAsString)
11638 {
11639 #ifdef dVAR
11640     dVAR; dXSARGS;
11641 #else
11642     dXSARGS;
11643 #endif
11644     if (items != 2)
11645        croak_xs_usage(cv,  "THIS, flags");
11646     {
11647         wxColour *    THIS = (wxColour *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Colour" );
11648         wxString        RETVAL;
11649         long    flags = (long)SvIV(ST(1));
11650
11651         RETVAL = THIS->GetAsString(flags);
11652         ST(0) = sv_newmortal();
11653     WXSTRING_OUTPUT( RETVAL, ST(0) );
11654
11655     }
11656     XSRETURN(1);
11657 }
11658
11659 #endif
11660 #if !defined(__WXMAC__)
11661 #define XSubPPtmpAADG 1
11662
11663
11664 XS(XS_Wx__Colour_GetPixel); /* prototype to pass -Wmissing-prototypes */
11665 XS(XS_Wx__Colour_GetPixel)
11666 {
11667 #ifdef dVAR
11668     dVAR; dXSARGS;
11669 #else
11670     dXSARGS;
11671 #endif
11672     if (items != 1)
11673        croak_xs_usage(cv,  "THIS");
11674     {
11675         wxColour *    THIS = (wxColour *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Colour" );
11676         long    RETVAL;
11677         dXSTARG;
11678
11679         RETVAL = THIS->GetPixel();
11680         XSprePUSH; PUSHi((IV)RETVAL);
11681     }
11682     XSRETURN(1);
11683 }
11684
11685 #endif
11686
11687 /* INCLUDE: Returning to 'perl -MExtUtils::XSpp::Cmd -e xspp -- -t typemap.xsp XS/Animation.xsp |' from 'XS/Colour.xs' */
11688
11689 #if WXPERL_W_VERSION_GE( 2, 7, 2 )
11690 #include <wx/animate.h>
11691 #define XSubPPtmpAADH 1
11692
11693
11694 XS(XS_Wx__Animation_new); /* prototype to pass -Wmissing-prototypes */
11695 XS(XS_Wx__Animation_new)
11696 {
11697 #ifdef dVAR
11698     dVAR; dXSARGS;
11699 #else
11700     dXSARGS;
11701 #endif
11702     if (items != 1)
11703        croak_xs_usage(cv,  "CLASS");
11704     {
11705         char *  CLASS = (char *)SvPV_nolen(ST(0));
11706         wxAnimation *   RETVAL;
11707
11708         RETVAL = new wxAnimation();
11709         ST(0) = sv_newmortal();
11710     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
11711     wxPli_thread_sv_register( aTHX_ "Wx::Animation", RETVAL, ST(0) );
11712
11713     }
11714     XSRETURN(1);
11715 }
11716
11717
11718 XS(XS_Wx__Animation_CLONE); /* prototype to pass -Wmissing-prototypes */
11719 XS(XS_Wx__Animation_CLONE)
11720 {
11721 #ifdef dVAR
11722     dVAR; dXSARGS;
11723 #else
11724     dXSARGS;
11725 #endif
11726     if (items != 1)
11727        croak_xs_usage(cv,  "CLASS");
11728     {
11729         char *  CLASS = (char *)SvPV_nolen(ST(0));
11730     wxPli_thread_sv_clone( aTHX_ CLASS, (wxPliCloneSV)wxPli_detach_object );
11731     }
11732     XSRETURN_EMPTY;
11733 }
11734
11735
11736 XS(XS_Wx__Animation_DESTROY); /* prototype to pass -Wmissing-prototypes */
11737 XS(XS_Wx__Animation_DESTROY)
11738 {
11739 #ifdef dVAR
11740     dVAR; dXSARGS;
11741 #else
11742     dXSARGS;
11743 #endif
11744     if (items != 1)
11745        croak_xs_usage(cv,  "THIS");
11746     {
11747         wxAnimation *    THIS = (wxAnimation *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Animation" );
11748      wxPli_thread_sv_unregister( aTHX_ "Wx::Bitmap", THIS, ST(0) );
11749                 delete THIS;
11750     }
11751     XSRETURN_EMPTY;
11752 }
11753
11754
11755 XS(XS_Wx__Animation_IsOk); /* prototype to pass -Wmissing-prototypes */
11756 XS(XS_Wx__Animation_IsOk)
11757 {
11758 #ifdef dVAR
11759     dVAR; dXSARGS;
11760 #else
11761     dXSARGS;
11762 #endif
11763     if (items != 1)
11764        croak_xs_usage(cv,  "THIS");
11765     {
11766         wxAnimation *    THIS = (wxAnimation *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Animation" );
11767         bool    RETVAL;
11768
11769         RETVAL = THIS->IsOk();
11770         ST(0) = boolSV(RETVAL);
11771         sv_2mortal(ST(0));
11772     }
11773     XSRETURN(1);
11774 }
11775
11776
11777 XS(XS_Wx__Animation_GetDelay); /* prototype to pass -Wmissing-prototypes */
11778 XS(XS_Wx__Animation_GetDelay)
11779 {
11780 #ifdef dVAR
11781     dVAR; dXSARGS;
11782 #else
11783     dXSARGS;
11784 #endif
11785     if (items != 2)
11786        croak_xs_usage(cv,  "THIS, frame");
11787     {
11788         unsigned int    frame = (unsigned int)SvUV( ST(1) );
11789         wxAnimation *    THIS = (wxAnimation *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Animation" );
11790         int     RETVAL;
11791         dXSTARG;
11792
11793         RETVAL = THIS->GetDelay(frame);
11794         XSprePUSH; PUSHi((IV)RETVAL);
11795     }
11796     XSRETURN(1);
11797 }
11798
11799
11800 XS(XS_Wx__Animation_GetFrameCount); /* prototype to pass -Wmissing-prototypes */
11801 XS(XS_Wx__Animation_GetFrameCount)
11802 {
11803 #ifdef dVAR
11804     dVAR; dXSARGS;
11805 #else
11806     dXSARGS;
11807 #endif
11808     if (items != 1)
11809        croak_xs_usage(cv,  "THIS");
11810     {
11811         wxAnimation *    THIS = (wxAnimation *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Animation" );
11812         unsigned int    RETVAL;
11813         dXSTARG;
11814
11815         RETVAL = THIS->GetFrameCount();
11816         XSprePUSH; PUSHu((UV)RETVAL );
11817     }
11818     XSRETURN(1);
11819 }
11820
11821
11822 XS(XS_Wx__Animation_GetFrame); /* prototype to pass -Wmissing-prototypes */
11823 XS(XS_Wx__Animation_GetFrame)
11824 {
11825 #ifdef dVAR
11826     dVAR; dXSARGS;
11827 #else
11828     dXSARGS;
11829 #endif
11830     if (items != 2)
11831        croak_xs_usage(cv,  "THIS, frame");
11832     {
11833         unsigned int    frame = (unsigned int)SvUV( ST(1) );
11834         wxAnimation *    THIS = (wxAnimation *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Animation" );
11835         wxImage *       RETVAL;
11836     RETVAL = new wxImage( THIS->GetFrame( frame ) );
11837         ST(0) = sv_newmortal();
11838     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
11839     wxPli_thread_sv_register( aTHX_ "Wx::Image", RETVAL, ST(0) );
11840
11841     }
11842     XSRETURN(1);
11843 }
11844
11845
11846 XS(XS_Wx__Animation_GetSize); /* prototype to pass -Wmissing-prototypes */
11847 XS(XS_Wx__Animation_GetSize)
11848 {
11849 #ifdef dVAR
11850     dVAR; dXSARGS;
11851 #else
11852     dXSARGS;
11853 #endif
11854     if (items != 1)
11855        croak_xs_usage(cv,  "THIS");
11856     {
11857         wxAnimation *    THIS = (wxAnimation *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Animation" );
11858         wxSize  RETVAL;
11859
11860         RETVAL = THIS->GetSize();
11861         ST(0) = sv_newmortal();
11862     wxPli_non_object_2_sv( aTHX_ ST(0), new wxSize(RETVAL), "Wx::Size" );
11863
11864     }
11865     XSRETURN(1);
11866 }
11867
11868
11869 XS(XS_Wx__Animation_LoadFile); /* prototype to pass -Wmissing-prototypes */
11870 XS(XS_Wx__Animation_LoadFile)
11871 {
11872 #ifdef dVAR
11873     dVAR; dXSARGS;
11874 #else
11875     dXSARGS;
11876 #endif
11877     if (items < 2 || items > 3)
11878        croak_xs_usage(cv,  "THIS, name, type = wxANIMATION_TYPE_ANY");
11879     {
11880         wxString        name;
11881         wxAnimationType type;
11882         wxAnimation *    THIS = (wxAnimation *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Animation" );
11883         bool    RETVAL;
11884
11885     WXSTRING_INPUT( name, wxString, ST(1) );
11886
11887         if (items < 3)
11888             type = wxANIMATION_TYPE_ANY;
11889         else {
11890             type = (wxAnimationType)SvIV(ST(2));
11891         }
11892
11893         RETVAL = THIS->LoadFile(name, type);
11894         ST(0) = boolSV(RETVAL);
11895         sv_2mortal(ST(0));
11896     }
11897     XSRETURN(1);
11898 }
11899
11900
11901 XS(XS_Wx__Animation_Load); /* prototype to pass -Wmissing-prototypes */
11902 XS(XS_Wx__Animation_Load)
11903 {
11904 #ifdef dVAR
11905     dVAR; dXSARGS;
11906 #else
11907     dXSARGS;
11908 #endif
11909     if (items < 2 || items > 3)
11910        croak_xs_usage(cv,  "THIS, stream, type = wxANIMATION_TYPE_ANY");
11911     {
11912         wxPliInputStream        stream;
11913         wxAnimationType type;
11914         wxAnimation *    THIS = (wxAnimation *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Animation" );
11915         bool    RETVAL;
11916
11917     wxPli_sv_2_istream( aTHX_ ST(1), stream );
11918
11919         if (items < 3)
11920             type = wxANIMATION_TYPE_ANY;
11921         else {
11922             type = (wxAnimationType)SvIV(ST(2));
11923         }
11924
11925         RETVAL = THIS->Load(stream, type);
11926         ST(0) = boolSV(RETVAL);
11927         sv_2mortal(ST(0));
11928     }
11929     XSRETURN(1);
11930 }
11931
11932 #endif
11933
11934 /* INCLUDE: Returning to 'GDI.xs' from 'perl -MExtUtils::XSpp::Cmd -e xspp -- -t typemap.xsp XS/Animation.xsp |' */
11935
11936
11937 /* INCLUDE:  Including 'XS/GraphicsContext.xs' from 'GDI.xs' */
11938
11939
11940 /* INCLUDE:  Including 'XS/GraphicsPath.xs' from 'XS/GraphicsContext.xs' */
11941
11942
11943 /* INCLUDE:  Including 'XS/GraphicsMatrix.xs' from 'XS/GraphicsPath.xs' */
11944
11945
11946 /* INCLUDE:  Including 'XS/GraphicsObject.xs' from 'XS/GraphicsMatrix.xs' */
11947
11948
11949 /* INCLUDE:  Including 'perl -MExtUtils::XSpp::Cmd -e xspp -- -t typemap.xsp XS/GraphicsRenderer.xsp |' from 'XS/GraphicsObject.xs' */
11950
11951 #if wxUSE_GRAPHICS_CONTEXT
11952 #include <wx/graphics.h>
11953 #define XSubPPtmpAADI 1
11954
11955
11956 XS(XS_Wx__GraphicsRenderer_GetDefaultRenderer); /* prototype to pass -Wmissing-prototypes */
11957 XS(XS_Wx__GraphicsRenderer_GetDefaultRenderer)
11958 {
11959 #ifdef dVAR
11960     dVAR; dXSARGS;
11961 #else
11962     dXSARGS;
11963 #endif
11964     if (items != 0)
11965        croak_xs_usage(cv,  "");
11966     {
11967         wxGraphicsRenderer *    RETVAL;
11968     RETVAL = wxGraphicsRenderer::GetDefaultRenderer();
11969         ST(0) = sv_newmortal();
11970     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
11971
11972     }
11973     XSRETURN(1);
11974 }
11975
11976
11977 XS(XS_Wx__GraphicsRenderer_CreateContext); /* prototype to pass -Wmissing-prototypes */
11978 XS(XS_Wx__GraphicsRenderer_CreateContext)
11979 {
11980 #ifdef dVAR
11981     dVAR; dXSARGS;
11982 #else
11983     dXSARGS;
11984 #endif
11985     PERL_UNUSED_VAR(cv); /* -W */
11986     PERL_UNUSED_VAR(ax); /* -Wall */
11987     SP -= items;
11988     {
11989     BEGIN_OVERLOAD()
11990         MATCH_REDISP_FUNCTION( wxPliOvl_wwin, CreateFromWindow )
11991         MATCH_REDISP_FUNCTION( wxPliOvl_wdc, CreateFromDC )
11992     END_OVERLOAD( "Wx::GraphicsRenderer::CreateContext" )
11993         PUTBACK;
11994         return;
11995     }
11996 }
11997
11998
11999 XS(XS_Wx__GraphicsRenderer_CreateFromDC); /* prototype to pass -Wmissing-prototypes */
12000 XS(XS_Wx__GraphicsRenderer_CreateFromDC)
12001 {
12002 #ifdef dVAR
12003     dVAR; dXSARGS;
12004 #else
12005     dXSARGS;
12006 #endif
12007     if (items != 2)
12008        croak_xs_usage(cv,  "THIS, dc");
12009     {
12010         wxWindowDC*    dc = (wxWindowDC *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::WindowDC" );
12011         wxGraphicsRenderer *    THIS = (wxGraphicsRenderer *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsRenderer" );
12012         wxGraphicsContext *     RETVAL;
12013     RETVAL = THIS->CreateContext( *( dc ) );
12014         ST(0) = sv_newmortal();
12015     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
12016     wxPli_thread_sv_register( aTHX_ "Wx::GraphicsContext", RETVAL, ST(0) );
12017
12018     }
12019     XSRETURN(1);
12020 }
12021
12022
12023 XS(XS_Wx__GraphicsRenderer_CreateFromWindow); /* prototype to pass -Wmissing-prototypes */
12024 XS(XS_Wx__GraphicsRenderer_CreateFromWindow)
12025 {
12026 #ifdef dVAR
12027     dVAR; dXSARGS;
12028 #else
12029     dXSARGS;
12030 #endif
12031     if (items != 2)
12032        croak_xs_usage(cv,  "THIS, window");
12033     {
12034         wxWindow*    window = (wxWindow *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Window" );
12035         wxGraphicsRenderer *    THIS = (wxGraphicsRenderer *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsRenderer" );
12036         wxGraphicsContext *     RETVAL;
12037     RETVAL = THIS->CreateContext( window );
12038         ST(0) = sv_newmortal();
12039     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
12040     wxPli_thread_sv_register( aTHX_ "Wx::GraphicsContext", RETVAL, ST(0) );
12041
12042     }
12043     XSRETURN(1);
12044 }
12045
12046
12047 XS(XS_Wx__GraphicsRenderer_CreateMeasuringContext); /* prototype to pass -Wmissing-prototypes */
12048 XS(XS_Wx__GraphicsRenderer_CreateMeasuringContext)
12049 {
12050 #ifdef dVAR
12051     dVAR; dXSARGS;
12052 #else
12053     dXSARGS;
12054 #endif
12055     if (items != 1)
12056        croak_xs_usage(cv,  "THIS");
12057     {
12058         wxGraphicsRenderer *    THIS = (wxGraphicsRenderer *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsRenderer" );
12059         wxGraphicsContext *     RETVAL;
12060
12061         RETVAL = THIS->CreateMeasuringContext();
12062         ST(0) = sv_newmortal();
12063     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
12064     wxPli_thread_sv_register( aTHX_ "Wx::GraphicsContext", RETVAL, ST(0) );
12065
12066     }
12067     XSRETURN(1);
12068 }
12069
12070
12071 XS(XS_Wx__GraphicsRenderer_CreatePath); /* prototype to pass -Wmissing-prototypes */
12072 XS(XS_Wx__GraphicsRenderer_CreatePath)
12073 {
12074 #ifdef dVAR
12075     dVAR; dXSARGS;
12076 #else
12077     dXSARGS;
12078 #endif
12079     if (items != 1)
12080        croak_xs_usage(cv,  "THIS");
12081     {
12082         wxGraphicsRenderer *    THIS = (wxGraphicsRenderer *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsRenderer" );
12083         wxGraphicsPath *        RETVAL;
12084     RETVAL = new wxGraphicsPath( THIS->CreatePath() );
12085         ST(0) = sv_newmortal();
12086     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
12087     wxPli_thread_sv_register( aTHX_ "Wx::GraphicsPath", RETVAL, ST(0) );
12088
12089     }
12090     XSRETURN(1);
12091 }
12092
12093
12094 XS(XS_Wx__GraphicsRenderer_CreateMatrix); /* prototype to pass -Wmissing-prototypes */
12095 XS(XS_Wx__GraphicsRenderer_CreateMatrix)
12096 {
12097 #ifdef dVAR
12098     dVAR; dXSARGS;
12099 #else
12100     dXSARGS;
12101 #endif
12102     if (items < 1 || items > 7)
12103        croak_xs_usage(cv,  "THIS, a = 1.0, b = 0.0, c = 0.0, d = 1.0, tx = 0.0, ty = 0.0");
12104     {
12105         wxDouble        a;
12106         wxDouble        b;
12107         wxDouble        c;
12108         wxDouble        d;
12109         wxDouble        tx;
12110         wxDouble        ty;
12111         wxGraphicsRenderer *    THIS = (wxGraphicsRenderer *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsRenderer" );
12112         wxGraphicsMatrix *      RETVAL;
12113
12114         if (items < 2)
12115             a = 1.0;
12116         else {
12117             a = (double)SvNV(ST(1));
12118         }
12119
12120         if (items < 3)
12121             b = 0.0;
12122         else {
12123             b = (double)SvNV(ST(2));
12124         }
12125
12126         if (items < 4)
12127             c = 0.0;
12128         else {
12129             c = (double)SvNV(ST(3));
12130         }
12131
12132         if (items < 5)
12133             d = 1.0;
12134         else {
12135             d = (double)SvNV(ST(4));
12136         }
12137
12138         if (items < 6)
12139             tx = 0.0;
12140         else {
12141             tx = (double)SvNV(ST(5));
12142         }
12143
12144         if (items < 7)
12145             ty = 0.0;
12146         else {
12147             ty = (double)SvNV(ST(6));
12148         }
12149     RETVAL = new wxGraphicsMatrix( THIS->CreateMatrix( a, b, c, d, tx, ty ) );
12150         ST(0) = sv_newmortal();
12151     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
12152     wxPli_thread_sv_register( aTHX_ "Wx::GraphicsMatrix", RETVAL, ST(0) );
12153
12154     }
12155     XSRETURN(1);
12156 }
12157
12158
12159 XS(XS_Wx__GraphicsRenderer_CreatePen); /* prototype to pass -Wmissing-prototypes */
12160 XS(XS_Wx__GraphicsRenderer_CreatePen)
12161 {
12162 #ifdef dVAR
12163     dVAR; dXSARGS;
12164 #else
12165     dXSARGS;
12166 #endif
12167     if (items != 2)
12168        croak_xs_usage(cv,  "THIS, pen");
12169     {
12170         wxPen*    pen = (wxPen *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Pen" );
12171         wxGraphicsRenderer *    THIS = (wxGraphicsRenderer *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsRenderer" );
12172         wxGraphicsPen * RETVAL;
12173     RETVAL = new wxGraphicsPen( THIS->CreatePen( *( pen ) ) );
12174         ST(0) = sv_newmortal();
12175     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
12176     wxPli_thread_sv_register( aTHX_ "Wx::GraphicsPen", RETVAL, ST(0) );
12177
12178     }
12179     XSRETURN(1);
12180 }
12181
12182
12183 XS(XS_Wx__GraphicsRenderer_CreateBrush); /* prototype to pass -Wmissing-prototypes */
12184 XS(XS_Wx__GraphicsRenderer_CreateBrush)
12185 {
12186 #ifdef dVAR
12187     dVAR; dXSARGS;
12188 #else
12189     dXSARGS;
12190 #endif
12191     if (items != 2)
12192        croak_xs_usage(cv,  "THIS, brush");
12193     {
12194         wxBrush*    brush = (wxBrush *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Brush" );
12195         wxGraphicsRenderer *    THIS = (wxGraphicsRenderer *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsRenderer" );
12196         wxGraphicsBrush *       RETVAL;
12197     RETVAL = new wxGraphicsBrush( THIS->CreateBrush( *( brush ) ) );
12198         ST(0) = sv_newmortal();
12199     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
12200     wxPli_thread_sv_register( aTHX_ "Wx::GraphicsBrush", RETVAL, ST(0) );
12201
12202     }
12203     XSRETURN(1);
12204 }
12205
12206
12207 XS(XS_Wx__GraphicsRenderer_CreateLinearGradientBrush); /* prototype to pass -Wmissing-prototypes */
12208 XS(XS_Wx__GraphicsRenderer_CreateLinearGradientBrush)
12209 {
12210 #ifdef dVAR
12211     dVAR; dXSARGS;
12212 #else
12213     dXSARGS;
12214 #endif
12215     if (items != 7)
12216        croak_xs_usage(cv,  "THIS, x1, y1, x2, y2, c1, c2");
12217     {
12218         wxDouble        x1 = (double)SvNV(ST(1));
12219         wxDouble        y1 = (double)SvNV(ST(2));
12220         wxDouble        x2 = (double)SvNV(ST(3));
12221         wxDouble        y2 = (double)SvNV(ST(4));
12222         wxColour*    c1 = (wxColour *) wxPli_sv_2_object( aTHX_ ST(5), "Wx::Colour" );
12223         wxColour*    c2 = (wxColour *) wxPli_sv_2_object( aTHX_ ST(6), "Wx::Colour" );
12224         wxGraphicsRenderer *    THIS = (wxGraphicsRenderer *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsRenderer" );
12225         wxGraphicsBrush *       RETVAL;
12226     RETVAL = new wxGraphicsBrush( THIS->CreateLinearGradientBrush( x1, y1, x2, y2, *( c1 ), *( c2 ) ) );
12227         ST(0) = sv_newmortal();
12228     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
12229     wxPli_thread_sv_register( aTHX_ "Wx::GraphicsBrush", RETVAL, ST(0) );
12230
12231     }
12232     XSRETURN(1);
12233 }
12234
12235
12236 XS(XS_Wx__GraphicsRenderer_CreateRadialGradientBrush); /* prototype to pass -Wmissing-prototypes */
12237 XS(XS_Wx__GraphicsRenderer_CreateRadialGradientBrush)
12238 {
12239 #ifdef dVAR
12240     dVAR; dXSARGS;
12241 #else
12242     dXSARGS;
12243 #endif
12244     if (items != 8)
12245        croak_xs_usage(cv,  "THIS, xo, yo, xc, yc, radius, oColor, cColor");
12246     {
12247         wxDouble        xo = (double)SvNV(ST(1));
12248         wxDouble        yo = (double)SvNV(ST(2));
12249         wxDouble        xc = (double)SvNV(ST(3));
12250         wxDouble        yc = (double)SvNV(ST(4));
12251         wxDouble        radius = (double)SvNV(ST(5));
12252         wxColour*    oColor = (wxColour *) wxPli_sv_2_object( aTHX_ ST(6), "Wx::Colour" );
12253         wxColour*    cColor = (wxColour *) wxPli_sv_2_object( aTHX_ ST(7), "Wx::Colour" );
12254         wxGraphicsRenderer *    THIS = (wxGraphicsRenderer *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsRenderer" );
12255         wxGraphicsBrush *       RETVAL;
12256     RETVAL = new wxGraphicsBrush( THIS->CreateRadialGradientBrush( xo, yo, xc, yc, radius, *( oColor ), *( cColor ) ) );
12257         ST(0) = sv_newmortal();
12258     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
12259     wxPli_thread_sv_register( aTHX_ "Wx::GraphicsBrush", RETVAL, ST(0) );
12260
12261     }
12262     XSRETURN(1);
12263 }
12264
12265 #define wxBLACKPtr (wxColour*)wxBLACK
12266
12267 XS(XS_Wx__GraphicsRenderer_CreateFont); /* prototype to pass -Wmissing-prototypes */
12268 XS(XS_Wx__GraphicsRenderer_CreateFont)
12269 {
12270 #ifdef dVAR
12271     dVAR; dXSARGS;
12272 #else
12273     dXSARGS;
12274 #endif
12275     if (items < 2 || items > 3)
12276        croak_xs_usage(cv,  "THIS, font, col = wxBLACKPtr");
12277     {
12278         wxFont*    font = (wxFont *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Font" );
12279         wxColour*       col;
12280         wxGraphicsRenderer *    THIS = (wxGraphicsRenderer *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsRenderer" );
12281         wxGraphicsFont *        RETVAL;
12282
12283         if (items < 3)
12284             col = wxBLACKPtr;
12285         else {
12286     col = (wxColour *) wxPli_sv_2_object( aTHX_ ST(2), "Wx::Colour" );
12287         }
12288     RETVAL = new wxGraphicsFont( THIS->CreateFont( *( font ), *( col ) ) );
12289         ST(0) = sv_newmortal();
12290     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
12291     wxPli_thread_sv_register( aTHX_ "Wx::GraphicsFont", RETVAL, ST(0) );
12292
12293     }
12294     XSRETURN(1);
12295 }
12296
12297 #endif
12298
12299 /* INCLUDE: Returning to 'XS/GraphicsObject.xs' from 'perl -MExtUtils::XSpp::Cmd -e xspp -- -t typemap.xsp XS/GraphicsRenderer.xsp |' */
12300
12301 #if wxUSE_GRAPHICS_CONTEXT
12302 #include <wx/graphics.h>
12303 #define XSubPPtmpAADJ 1
12304
12305
12306 XS(XS_Wx__GraphicsObject_CLONE); /* prototype to pass -Wmissing-prototypes */
12307 XS(XS_Wx__GraphicsObject_CLONE)
12308 {
12309 #ifdef dVAR
12310     dVAR; dXSARGS;
12311 #else
12312     dXSARGS;
12313 #endif
12314     if (items != 1)
12315        croak_xs_usage(cv,  "CLASS");
12316     {
12317         char *  CLASS = (char *)SvPV_nolen(ST(0));
12318     wxPli_thread_sv_clone( aTHX_ CLASS, (wxPliCloneSV)wxPli_detach_object );
12319     }
12320     XSRETURN_EMPTY;
12321 }
12322
12323
12324 XS(XS_Wx__GraphicsObject_DESTROY); /* prototype to pass -Wmissing-prototypes */
12325 XS(XS_Wx__GraphicsObject_DESTROY)
12326 {
12327 #ifdef dVAR
12328     dVAR; dXSARGS;
12329 #else
12330     dXSARGS;
12331 #endif
12332     if (items != 1)
12333        croak_xs_usage(cv,  "THIS");
12334     {
12335         wxGraphicsObject *    THIS = (wxGraphicsObject *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsObject" );
12336     wxPli_thread_sv_unregister( aTHX_ wxPli_get_class( aTHX_ ST(0) ),
12337                                 THIS, ST(0) );
12338     delete THIS;
12339     }
12340     XSRETURN_EMPTY;
12341 }
12342
12343
12344 XS(XS_Wx__GraphicsObject_GetRenderer); /* prototype to pass -Wmissing-prototypes */
12345 XS(XS_Wx__GraphicsObject_GetRenderer)
12346 {
12347 #ifdef dVAR
12348     dVAR; dXSARGS;
12349 #else
12350     dXSARGS;
12351 #endif
12352     if (items != 1)
12353        croak_xs_usage(cv,  "THIS");
12354     {
12355         wxGraphicsObject *    THIS = (wxGraphicsObject *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsObject" );
12356         wxGraphicsRenderer *    RETVAL;
12357
12358         RETVAL = THIS->GetRenderer();
12359         ST(0) = sv_newmortal();
12360     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
12361
12362     }
12363     XSRETURN(1);
12364 }
12365
12366
12367 XS(XS_Wx__GraphicsObject_IsNull); /* prototype to pass -Wmissing-prototypes */
12368 XS(XS_Wx__GraphicsObject_IsNull)
12369 {
12370 #ifdef dVAR
12371     dVAR; dXSARGS;
12372 #else
12373     dXSARGS;
12374 #endif
12375     if (items != 1)
12376        croak_xs_usage(cv,  "THIS");
12377     {
12378         wxGraphicsObject *    THIS = (wxGraphicsObject *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsObject" );
12379         bool    RETVAL;
12380
12381         RETVAL = THIS->IsNull();
12382         ST(0) = boolSV(RETVAL);
12383         sv_2mortal(ST(0));
12384     }
12385     XSRETURN(1);
12386 }
12387
12388 #endif
12389
12390 /* INCLUDE: Returning to 'XS/GraphicsMatrix.xs' from 'XS/GraphicsObject.xs' */
12391
12392 #if wxUSE_GRAPHICS_CONTEXT
12393 #include <wx/graphics.h>
12394 #define XSubPPtmpAADK 1
12395
12396
12397 XS(XS_Wx__GraphicsMatrix_Concat); /* prototype to pass -Wmissing-prototypes */
12398 XS(XS_Wx__GraphicsMatrix_Concat)
12399 {
12400 #ifdef dVAR
12401     dVAR; dXSARGS;
12402 #else
12403     dXSARGS;
12404 #endif
12405     if (items != 2)
12406        croak_xs_usage(cv,  "THIS, t");
12407     {
12408         wxGraphicsMatrix*    t = (wxGraphicsMatrix *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::GraphicsMatrix" );
12409         wxGraphicsMatrix *    THIS = (wxGraphicsMatrix *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsMatrix" );
12410
12411         THIS->Concat(t);
12412     }
12413     XSRETURN_EMPTY;
12414 }
12415
12416
12417 XS(XS_Wx__GraphicsMatrix_Get); /* prototype to pass -Wmissing-prototypes */
12418 XS(XS_Wx__GraphicsMatrix_Get)
12419 {
12420 #ifdef dVAR
12421     dVAR; dXSARGS;
12422 #else
12423     dXSARGS;
12424 #endif
12425     if (items != 1)
12426        croak_xs_usage(cv,  "THIS");
12427     PERL_UNUSED_VAR(ax); /* -Wall */
12428     SP -= items;
12429     {
12430     wxDouble a, b, c, d, tx, ty;
12431         wxGraphicsMatrix *    THIS = (wxGraphicsMatrix *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsMatrix" );
12432     THIS->Get( &a, &b, &c, &d, &tx, &ty );
12433     EXTEND( SP, 6 );
12434     PUSHs( sv_2mortal( newSVnv( a ) ) );
12435     PUSHs( sv_2mortal( newSVnv( b ) ) );
12436     PUSHs( sv_2mortal( newSVnv( c ) ) );
12437     PUSHs( sv_2mortal( newSVnv( d ) ) );
12438     PUSHs( sv_2mortal( newSVnv( tx ) ) );
12439     PUSHs( sv_2mortal( newSVnv( ty ) ) );
12440         PUTBACK;
12441         return;
12442     }
12443 }
12444
12445
12446 XS(XS_Wx__GraphicsMatrix_Invert); /* prototype to pass -Wmissing-prototypes */
12447 XS(XS_Wx__GraphicsMatrix_Invert)
12448 {
12449 #ifdef dVAR
12450     dVAR; dXSARGS;
12451 #else
12452     dXSARGS;
12453 #endif
12454     if (items != 1)
12455        croak_xs_usage(cv,  "THIS");
12456     {
12457         wxGraphicsMatrix *    THIS = (wxGraphicsMatrix *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsMatrix" );
12458
12459         THIS->Invert();
12460     }
12461     XSRETURN_EMPTY;
12462 }
12463
12464
12465 XS(XS_Wx__GraphicsMatrix_IsEqual); /* prototype to pass -Wmissing-prototypes */
12466 XS(XS_Wx__GraphicsMatrix_IsEqual)
12467 {
12468 #ifdef dVAR
12469     dVAR; dXSARGS;
12470 #else
12471     dXSARGS;
12472 #endif
12473     if (items != 2)
12474        croak_xs_usage(cv,  "THIS, t");
12475     {
12476         wxGraphicsMatrix*    t = (wxGraphicsMatrix *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::GraphicsMatrix" );
12477         wxGraphicsMatrix *    THIS = (wxGraphicsMatrix *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsMatrix" );
12478         bool    RETVAL;
12479
12480         RETVAL = THIS->IsEqual(*t);
12481         ST(0) = boolSV(RETVAL);
12482         sv_2mortal(ST(0));
12483     }
12484     XSRETURN(1);
12485 }
12486
12487
12488 XS(XS_Wx__GraphicsMatrix_IsIdentity); /* prototype to pass -Wmissing-prototypes */
12489 XS(XS_Wx__GraphicsMatrix_IsIdentity)
12490 {
12491 #ifdef dVAR
12492     dVAR; dXSARGS;
12493 #else
12494     dXSARGS;
12495 #endif
12496     if (items != 1)
12497        croak_xs_usage(cv,  "THIS");
12498     {
12499         wxGraphicsMatrix *    THIS = (wxGraphicsMatrix *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsMatrix" );
12500         bool    RETVAL;
12501
12502         RETVAL = THIS->IsIdentity();
12503         ST(0) = boolSV(RETVAL);
12504         sv_2mortal(ST(0));
12505     }
12506     XSRETURN(1);
12507 }
12508
12509
12510 XS(XS_Wx__GraphicsMatrix_Rotate); /* prototype to pass -Wmissing-prototypes */
12511 XS(XS_Wx__GraphicsMatrix_Rotate)
12512 {
12513 #ifdef dVAR
12514     dVAR; dXSARGS;
12515 #else
12516     dXSARGS;
12517 #endif
12518     if (items != 2)
12519        croak_xs_usage(cv,  "THIS, angle");
12520     {
12521         wxDouble        angle = (double)SvNV(ST(1));
12522         wxGraphicsMatrix *    THIS = (wxGraphicsMatrix *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsMatrix" );
12523
12524         THIS->Rotate(angle);
12525     }
12526     XSRETURN_EMPTY;
12527 }
12528
12529
12530 XS(XS_Wx__GraphicsMatrix_Scale); /* prototype to pass -Wmissing-prototypes */
12531 XS(XS_Wx__GraphicsMatrix_Scale)
12532 {
12533 #ifdef dVAR
12534     dVAR; dXSARGS;
12535 #else
12536     dXSARGS;
12537 #endif
12538     if (items != 3)
12539        croak_xs_usage(cv,  "THIS, xScale, yScale");
12540     {
12541         wxDouble        xScale = (double)SvNV(ST(1));
12542         wxDouble        yScale = (double)SvNV(ST(2));
12543         wxGraphicsMatrix *    THIS = (wxGraphicsMatrix *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsMatrix" );
12544
12545         THIS->Scale(xScale, yScale);
12546     }
12547     XSRETURN_EMPTY;
12548 }
12549
12550
12551 XS(XS_Wx__GraphicsMatrix_Translate); /* prototype to pass -Wmissing-prototypes */
12552 XS(XS_Wx__GraphicsMatrix_Translate)
12553 {
12554 #ifdef dVAR
12555     dVAR; dXSARGS;
12556 #else
12557     dXSARGS;
12558 #endif
12559     if (items != 3)
12560        croak_xs_usage(cv,  "THIS, dx, dy");
12561     {
12562         wxDouble        dx = (double)SvNV(ST(1));
12563         wxDouble        dy = (double)SvNV(ST(2));
12564         wxGraphicsMatrix *    THIS = (wxGraphicsMatrix *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsMatrix" );
12565
12566         THIS->Translate(dx, dy);
12567     }
12568     XSRETURN_EMPTY;
12569 }
12570
12571
12572 XS(XS_Wx__GraphicsMatrix_Set); /* prototype to pass -Wmissing-prototypes */
12573 XS(XS_Wx__GraphicsMatrix_Set)
12574 {
12575 #ifdef dVAR
12576     dVAR; dXSARGS;
12577 #else
12578     dXSARGS;
12579 #endif
12580     if (items != 7)
12581        croak_xs_usage(cv,  "THIS, a, b, c, d, tx, ty");
12582     {
12583         wxDouble        a = (double)SvNV(ST(1));
12584         wxDouble        b = (double)SvNV(ST(2));
12585         wxDouble        c = (double)SvNV(ST(3));
12586         wxDouble        d = (double)SvNV(ST(4));
12587         wxDouble        tx = (double)SvNV(ST(5));
12588         wxDouble        ty = (double)SvNV(ST(6));
12589         wxGraphicsMatrix *    THIS = (wxGraphicsMatrix *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsMatrix" );
12590
12591         THIS->Set(a, b, c, d, tx, ty);
12592     }
12593     XSRETURN_EMPTY;
12594 }
12595
12596
12597 XS(XS_Wx__GraphicsMatrix_TransformPoint); /* prototype to pass -Wmissing-prototypes */
12598 XS(XS_Wx__GraphicsMatrix_TransformPoint)
12599 {
12600 #ifdef dVAR
12601     dVAR; dXSARGS;
12602 #else
12603     dXSARGS;
12604 #endif
12605     if (items != 3)
12606        croak_xs_usage(cv,  "THIS, x, y");
12607     PERL_UNUSED_VAR(ax); /* -Wall */
12608     SP -= items;
12609     {
12610         wxDouble        x = (double)SvNV(ST(1));
12611         wxDouble        y = (double)SvNV(ST(2));
12612     wxDouble x_out, y_out;
12613         wxGraphicsMatrix *    THIS = (wxGraphicsMatrix *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsMatrix" );
12614     x_out = x;
12615     y_out = y;
12616     THIS->TransformPoint( &x, &y );
12617     EXTEND( SP, 2 );
12618     PUSHs( sv_2mortal( newSVnv( x ) ) );
12619     PUSHs( sv_2mortal( newSVnv( y ) ) );
12620         PUTBACK;
12621         return;
12622     }
12623 }
12624
12625
12626 XS(XS_Wx__GraphicsMatrix_TransformDistance); /* prototype to pass -Wmissing-prototypes */
12627 XS(XS_Wx__GraphicsMatrix_TransformDistance)
12628 {
12629 #ifdef dVAR
12630     dVAR; dXSARGS;
12631 #else
12632     dXSARGS;
12633 #endif
12634     if (items != 3)
12635        croak_xs_usage(cv,  "THIS, dx, dy");
12636     PERL_UNUSED_VAR(ax); /* -Wall */
12637     SP -= items;
12638     {
12639         wxDouble        dx = (double)SvNV(ST(1));
12640         wxDouble        dy = (double)SvNV(ST(2));
12641     wxDouble dx_out, dy_out;
12642         wxGraphicsMatrix *    THIS = (wxGraphicsMatrix *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsMatrix" );
12643     dx_out = dx;
12644     dy_out = dy;
12645     THIS->TransformDistance( &dx, &dy );
12646     EXTEND( SP, 2 );
12647     PUSHs( sv_2mortal( newSVnv( dx ) ) );
12648     PUSHs( sv_2mortal( newSVnv( dy ) ) );
12649         PUTBACK;
12650         return;
12651     }
12652 }
12653
12654 #endif
12655
12656 /* INCLUDE: Returning to 'XS/GraphicsPath.xs' from 'XS/GraphicsMatrix.xs' */
12657
12658 #if wxUSE_GRAPHICS_CONTEXT
12659 #include <wx/graphics.h>
12660 #define XSubPPtmpAADL 1
12661
12662
12663 XS(XS_Wx__GraphicsPath_MoveToPoint); /* prototype to pass -Wmissing-prototypes */
12664 XS(XS_Wx__GraphicsPath_MoveToPoint)
12665 {
12666 #ifdef dVAR
12667     dVAR; dXSARGS;
12668 #else
12669     dXSARGS;
12670 #endif
12671     if (items != 3)
12672        croak_xs_usage(cv,  "THIS, x, y");
12673     {
12674         wxDouble        x = (double)SvNV(ST(1));
12675         wxDouble        y = (double)SvNV(ST(2));
12676         wxGraphicsPath *    THIS = (wxGraphicsPath *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsPath" );
12677
12678         THIS->MoveToPoint(x, y);
12679     }
12680     XSRETURN_EMPTY;
12681 }
12682
12683
12684 XS(XS_Wx__GraphicsPath_AddArc); /* prototype to pass -Wmissing-prototypes */
12685 XS(XS_Wx__GraphicsPath_AddArc)
12686 {
12687 #ifdef dVAR
12688     dVAR; dXSARGS;
12689 #else
12690     dXSARGS;
12691 #endif
12692     if (items != 7)
12693        croak_xs_usage(cv,  "THIS, x, y, r, startAngle, endAngle, clockwise");
12694     {
12695         wxDouble        x = (double)SvNV(ST(1));
12696         wxDouble        y = (double)SvNV(ST(2));
12697         wxDouble        r = (double)SvNV(ST(3));
12698         wxDouble        startAngle = (double)SvNV(ST(4));
12699         wxDouble        endAngle = (double)SvNV(ST(5));
12700         bool    clockwise = (bool)SvTRUE(ST(6));
12701         wxGraphicsPath *    THIS = (wxGraphicsPath *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsPath" );
12702
12703         THIS->AddArc(x, y, r, startAngle, endAngle, clockwise);
12704     }
12705     XSRETURN_EMPTY;
12706 }
12707
12708
12709 XS(XS_Wx__GraphicsPath_AddArcToPoint); /* prototype to pass -Wmissing-prototypes */
12710 XS(XS_Wx__GraphicsPath_AddArcToPoint)
12711 {
12712 #ifdef dVAR
12713     dVAR; dXSARGS;
12714 #else
12715     dXSARGS;
12716 #endif
12717     if (items != 6)
12718        croak_xs_usage(cv,  "THIS, x1, y1, x2, y2, r");
12719     {
12720         wxDouble        x1 = (double)SvNV(ST(1));
12721         wxDouble        y1 = (double)SvNV(ST(2));
12722         wxDouble        x2 = (double)SvNV(ST(3));
12723         wxDouble        y2 = (double)SvNV(ST(4));
12724         wxDouble        r = (double)SvNV(ST(5));
12725         wxGraphicsPath *    THIS = (wxGraphicsPath *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsPath" );
12726
12727         THIS->AddArcToPoint(x1, y1, x2, y2, r);
12728     }
12729     XSRETURN_EMPTY;
12730 }
12731
12732
12733 XS(XS_Wx__GraphicsPath_AddCircle); /* prototype to pass -Wmissing-prototypes */
12734 XS(XS_Wx__GraphicsPath_AddCircle)
12735 {
12736 #ifdef dVAR
12737     dVAR; dXSARGS;
12738 #else
12739     dXSARGS;
12740 #endif
12741     if (items != 4)
12742        croak_xs_usage(cv,  "THIS, x, y, r");
12743     {
12744         wxDouble        x = (double)SvNV(ST(1));
12745         wxDouble        y = (double)SvNV(ST(2));
12746         wxDouble        r = (double)SvNV(ST(3));
12747         wxGraphicsPath *    THIS = (wxGraphicsPath *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsPath" );
12748
12749         THIS->AddCircle(x, y, r);
12750     }
12751     XSRETURN_EMPTY;
12752 }
12753
12754
12755 XS(XS_Wx__GraphicsPath_AddCurveToPoint); /* prototype to pass -Wmissing-prototypes */
12756 XS(XS_Wx__GraphicsPath_AddCurveToPoint)
12757 {
12758 #ifdef dVAR
12759     dVAR; dXSARGS;
12760 #else
12761     dXSARGS;
12762 #endif
12763     if (items != 7)
12764        croak_xs_usage(cv,  "THIS, cx1, cy1, cx2, cy2, x, y");
12765     {
12766         wxDouble        cx1 = (double)SvNV(ST(1));
12767         wxDouble        cy1 = (double)SvNV(ST(2));
12768         wxDouble        cx2 = (double)SvNV(ST(3));
12769         wxDouble        cy2 = (double)SvNV(ST(4));
12770         wxDouble        x = (double)SvNV(ST(5));
12771         wxDouble        y = (double)SvNV(ST(6));
12772         wxGraphicsPath *    THIS = (wxGraphicsPath *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsPath" );
12773
12774         THIS->AddCurveToPoint(cx1, cy1, cx2, cy2, x, y);
12775     }
12776     XSRETURN_EMPTY;
12777 }
12778
12779
12780 XS(XS_Wx__GraphicsPath_AddEllipse); /* prototype to pass -Wmissing-prototypes */
12781 XS(XS_Wx__GraphicsPath_AddEllipse)
12782 {
12783 #ifdef dVAR
12784     dVAR; dXSARGS;
12785 #else
12786     dXSARGS;
12787 #endif
12788     if (items != 5)
12789        croak_xs_usage(cv,  "THIS, x, y, w, h");
12790     {
12791         wxDouble        x = (double)SvNV(ST(1));
12792         wxDouble        y = (double)SvNV(ST(2));
12793         wxDouble        w = (double)SvNV(ST(3));
12794         wxDouble        h = (double)SvNV(ST(4));
12795         wxGraphicsPath *    THIS = (wxGraphicsPath *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsPath" );
12796
12797         THIS->AddEllipse(x, y, w, h);
12798     }
12799     XSRETURN_EMPTY;
12800 }
12801
12802
12803 XS(XS_Wx__GraphicsPath_AddLineToPoint); /* prototype to pass -Wmissing-prototypes */
12804 XS(XS_Wx__GraphicsPath_AddLineToPoint)
12805 {
12806 #ifdef dVAR
12807     dVAR; dXSARGS;
12808 #else
12809     dXSARGS;
12810 #endif
12811     if (items != 3)
12812        croak_xs_usage(cv,  "THIS, x, y");
12813     {
12814         wxDouble        x = (double)SvNV(ST(1));
12815         wxDouble        y = (double)SvNV(ST(2));
12816         wxGraphicsPath *    THIS = (wxGraphicsPath *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsPath" );
12817
12818         THIS->AddLineToPoint(x, y);
12819     }
12820     XSRETURN_EMPTY;
12821 }
12822
12823
12824 XS(XS_Wx__GraphicsPath_AddPath); /* prototype to pass -Wmissing-prototypes */
12825 XS(XS_Wx__GraphicsPath_AddPath)
12826 {
12827 #ifdef dVAR
12828     dVAR; dXSARGS;
12829 #else
12830     dXSARGS;
12831 #endif
12832     if (items != 2)
12833        croak_xs_usage(cv,  "THIS, path");
12834     {
12835         wxGraphicsPath*    path = (wxGraphicsPath *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::GraphicsPath" );
12836         wxGraphicsPath *    THIS = (wxGraphicsPath *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsPath" );
12837     THIS->AddPath(*path);
12838     }
12839     XSRETURN_EMPTY;
12840 }
12841
12842
12843 XS(XS_Wx__GraphicsPath_AddQuadCurveToPoint); /* prototype to pass -Wmissing-prototypes */
12844 XS(XS_Wx__GraphicsPath_AddQuadCurveToPoint)
12845 {
12846 #ifdef dVAR
12847     dVAR; dXSARGS;
12848 #else
12849     dXSARGS;
12850 #endif
12851     if (items != 5)
12852        croak_xs_usage(cv,  "THIS, cx, cy, x, y");
12853     {
12854         wxDouble        cx = (double)SvNV(ST(1));
12855         wxDouble        cy = (double)SvNV(ST(2));
12856         wxDouble        x = (double)SvNV(ST(3));
12857         wxDouble        y = (double)SvNV(ST(4));
12858         wxGraphicsPath *    THIS = (wxGraphicsPath *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsPath" );
12859
12860         THIS->AddQuadCurveToPoint(cx, cy, x, y);
12861     }
12862     XSRETURN_EMPTY;
12863 }
12864
12865
12866 XS(XS_Wx__GraphicsPath_AddRectangle); /* prototype to pass -Wmissing-prototypes */
12867 XS(XS_Wx__GraphicsPath_AddRectangle)
12868 {
12869 #ifdef dVAR
12870     dVAR; dXSARGS;
12871 #else
12872     dXSARGS;
12873 #endif
12874     if (items != 5)
12875        croak_xs_usage(cv,  "THIS, x, y, w, h");
12876     {
12877         wxDouble        x = (double)SvNV(ST(1));
12878         wxDouble        y = (double)SvNV(ST(2));
12879         wxDouble        w = (double)SvNV(ST(3));
12880         wxDouble        h = (double)SvNV(ST(4));
12881         wxGraphicsPath *    THIS = (wxGraphicsPath *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsPath" );
12882
12883         THIS->AddRectangle(x, y, w, h);
12884     }
12885     XSRETURN_EMPTY;
12886 }
12887
12888
12889 XS(XS_Wx__GraphicsPath_AddRoundedRectangle); /* prototype to pass -Wmissing-prototypes */
12890 XS(XS_Wx__GraphicsPath_AddRoundedRectangle)
12891 {
12892 #ifdef dVAR
12893     dVAR; dXSARGS;
12894 #else
12895     dXSARGS;
12896 #endif
12897     if (items != 6)
12898        croak_xs_usage(cv,  "THIS, x, y, w, h, radius");
12899     {
12900         wxDouble        x = (double)SvNV(ST(1));
12901         wxDouble        y = (double)SvNV(ST(2));
12902         wxDouble        w = (double)SvNV(ST(3));
12903         wxDouble        h = (double)SvNV(ST(4));
12904         wxDouble        radius = (double)SvNV(ST(5));
12905         wxGraphicsPath *    THIS = (wxGraphicsPath *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsPath" );
12906
12907         THIS->AddRoundedRectangle(x, y, w, h, radius);
12908     }
12909     XSRETURN_EMPTY;
12910 }
12911
12912
12913 XS(XS_Wx__GraphicsPath_CloseSubpath); /* prototype to pass -Wmissing-prototypes */
12914 XS(XS_Wx__GraphicsPath_CloseSubpath)
12915 {
12916 #ifdef dVAR
12917     dVAR; dXSARGS;
12918 #else
12919     dXSARGS;
12920 #endif
12921     if (items != 1)
12922        croak_xs_usage(cv,  "THIS");
12923     {
12924         wxGraphicsPath *    THIS = (wxGraphicsPath *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsPath" );
12925
12926         THIS->CloseSubpath();
12927     }
12928     XSRETURN_EMPTY;
12929 }
12930
12931
12932 XS(XS_Wx__GraphicsPath_Contains); /* prototype to pass -Wmissing-prototypes */
12933 XS(XS_Wx__GraphicsPath_Contains)
12934 {
12935 #ifdef dVAR
12936     dVAR; dXSARGS;
12937 #else
12938     dXSARGS;
12939 #endif
12940     if (items < 3 || items > 4)
12941        croak_xs_usage(cv,  "THIS, x, y, fillStyle = wxODDEVEN_RULE");
12942     {
12943         wxDouble        x = (double)SvNV(ST(1));
12944         wxDouble        y = (double)SvNV(ST(2));
12945         wxPolygonFillMode       fillStyle;
12946         wxGraphicsPath *    THIS = (wxGraphicsPath *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsPath" );
12947         bool    RETVAL;
12948
12949         if (items < 4)
12950             fillStyle = wxODDEVEN_RULE;
12951         else {
12952             fillStyle = (wxPolygonFillMode)SvIV(ST(3));
12953         }
12954
12955         RETVAL = THIS->Contains(x, y, fillStyle);
12956         ST(0) = boolSV(RETVAL);
12957         sv_2mortal(ST(0));
12958     }
12959     XSRETURN(1);
12960 }
12961
12962
12963 XS(XS_Wx__GraphicsPath_GetBox); /* prototype to pass -Wmissing-prototypes */
12964 XS(XS_Wx__GraphicsPath_GetBox)
12965 {
12966 #ifdef dVAR
12967     dVAR; dXSARGS;
12968 #else
12969     dXSARGS;
12970 #endif
12971     if (items != 1)
12972        croak_xs_usage(cv,  "THIS");
12973     PERL_UNUSED_VAR(ax); /* -Wall */
12974     SP -= items;
12975     {
12976     wxDouble x, y, w, h;
12977         wxGraphicsPath *    THIS = (wxGraphicsPath *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsPath" );
12978     THIS->GetBox( &x, &y, &w, &h );
12979     EXTEND( SP, 4 );
12980     PUSHs( sv_2mortal( newSVnv( x ) ) );
12981     PUSHs( sv_2mortal( newSVnv( y ) ) );
12982     PUSHs( sv_2mortal( newSVnv( w ) ) );
12983     PUSHs( sv_2mortal( newSVnv( h ) ) );
12984         PUTBACK;
12985         return;
12986     }
12987 }
12988
12989
12990 XS(XS_Wx__GraphicsPath_GetCurrentPoint); /* prototype to pass -Wmissing-prototypes */
12991 XS(XS_Wx__GraphicsPath_GetCurrentPoint)
12992 {
12993 #ifdef dVAR
12994     dVAR; dXSARGS;
12995 #else
12996     dXSARGS;
12997 #endif
12998     if (items != 1)
12999        croak_xs_usage(cv,  "THIS");
13000     PERL_UNUSED_VAR(ax); /* -Wall */
13001     SP -= items;
13002     {
13003     wxDouble x, y;
13004         wxGraphicsPath *    THIS = (wxGraphicsPath *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsPath" );
13005     THIS->GetCurrentPoint( &x, &y );
13006     EXTEND( SP, 2 );
13007     PUSHs( sv_2mortal( newSVnv( x ) ) );
13008     PUSHs( sv_2mortal( newSVnv( y ) ) );
13009         PUTBACK;
13010         return;
13011     }
13012 }
13013
13014
13015 XS(XS_Wx__GraphicsPath_Transform); /* prototype to pass -Wmissing-prototypes */
13016 XS(XS_Wx__GraphicsPath_Transform)
13017 {
13018 #ifdef dVAR
13019     dVAR; dXSARGS;
13020 #else
13021     dXSARGS;
13022 #endif
13023     if (items != 2)
13024        croak_xs_usage(cv,  "THIS, matrix");
13025     {
13026         wxGraphicsMatrix*    matrix = (wxGraphicsMatrix *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::GraphicsMatrix" );
13027         wxGraphicsPath *    THIS = (wxGraphicsPath *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsPath" );
13028     THIS->Transform( *matrix );
13029     }
13030     XSRETURN_EMPTY;
13031 }
13032
13033 #endif
13034
13035 /* INCLUDE: Returning to 'XS/GraphicsContext.xs' from 'XS/GraphicsPath.xs' */
13036
13037 #if wxUSE_GRAPHICS_CONTEXT
13038 #include <wx/graphics.h>
13039 #include <wx/window.h>
13040 #include "cpp/streams.h"
13041 #include "cpp/overload.h"
13042 #define XSubPPtmpAADM 1
13043
13044
13045 XS(XS_Wx__GraphicsContext_Create); /* prototype to pass -Wmissing-prototypes */
13046 XS(XS_Wx__GraphicsContext_Create)
13047 {
13048 #ifdef dVAR
13049     dVAR; dXSARGS;
13050 #else
13051     dXSARGS;
13052 #endif
13053     PERL_UNUSED_VAR(cv); /* -W */
13054     PERL_UNUSED_VAR(ax); /* -Wall */
13055     SP -= items;
13056     {
13057     BEGIN_OVERLOAD()
13058         MATCH_REDISP_FUNCTION(wxPliOvl_wwin, Wx::GraphicsContext::createFromWindow)
13059         MATCH_REDISP_FUNCTION(wxPliOvl_wdc, Wx::GraphicsContext::createFromDC)
13060     END_OVERLOAD( "Wx::GraphicsContext::Create" )
13061         PUTBACK;
13062         return;
13063     }
13064 }
13065
13066
13067 XS(XS_Wx__GraphicsContext_createFromWindow); /* prototype to pass -Wmissing-prototypes */
13068 XS(XS_Wx__GraphicsContext_createFromWindow)
13069 {
13070 #ifdef dVAR
13071     dVAR; dXSARGS;
13072 #else
13073     dXSARGS;
13074 #endif
13075     if (items != 1)
13076        croak_xs_usage(cv,  "window");
13077     {
13078         wxWindow*    window = (wxWindow *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Window" );
13079         wxGraphicsContext *     RETVAL;
13080     RETVAL = wxGraphicsContext::Create( window );
13081         ST(0) = sv_newmortal();
13082     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
13083     wxPli_thread_sv_register( aTHX_ "Wx::GraphicsContext", RETVAL, ST(0) );
13084
13085     }
13086     XSRETURN(1);
13087 }
13088
13089
13090 XS(XS_Wx__GraphicsContext_createFromDC); /* prototype to pass -Wmissing-prototypes */
13091 XS(XS_Wx__GraphicsContext_createFromDC)
13092 {
13093 #ifdef dVAR
13094     dVAR; dXSARGS;
13095 #else
13096     dXSARGS;
13097 #endif
13098     if (items != 1)
13099        croak_xs_usage(cv,  "dc");
13100     {
13101         wxWindowDC*    dc = (wxWindowDC *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::WindowDC" );
13102         wxGraphicsContext *     RETVAL;
13103     RETVAL = wxGraphicsContext::Create(*dc);
13104         ST(0) = sv_newmortal();
13105     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
13106     wxPli_thread_sv_register( aTHX_ "Wx::GraphicsContext", RETVAL, ST(0) );
13107
13108     }
13109     XSRETURN(1);
13110 }
13111
13112
13113 XS(XS_Wx__GraphicsContext_CreatePen); /* prototype to pass -Wmissing-prototypes */
13114 XS(XS_Wx__GraphicsContext_CreatePen)
13115 {
13116 #ifdef dVAR
13117     dVAR; dXSARGS;
13118 #else
13119     dXSARGS;
13120 #endif
13121     if (items != 2)
13122        croak_xs_usage(cv,  "THIS, pen");
13123     {
13124         wxPen*    pen = (wxPen *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Pen" );
13125         wxGraphicsContext *    THIS = (wxGraphicsContext *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsContext" );
13126         wxGraphicsPen * RETVAL;
13127     RETVAL = new wxGraphicsPen( THIS->CreatePen(*pen) );
13128         ST(0) = sv_newmortal();
13129     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
13130     wxPli_thread_sv_register( aTHX_ "Wx::GraphicsPen", RETVAL, ST(0) );
13131
13132     }
13133     XSRETURN(1);
13134 }
13135
13136
13137 XS(XS_Wx__GraphicsContext_CreateBrush); /* prototype to pass -Wmissing-prototypes */
13138 XS(XS_Wx__GraphicsContext_CreateBrush)
13139 {
13140 #ifdef dVAR
13141     dVAR; dXSARGS;
13142 #else
13143     dXSARGS;
13144 #endif
13145     if (items != 2)
13146        croak_xs_usage(cv,  "THIS, brush");
13147     {
13148         wxBrush*    brush = (wxBrush *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Brush" );
13149         wxGraphicsContext *    THIS = (wxGraphicsContext *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsContext" );
13150         wxGraphicsBrush *       RETVAL;
13151     RETVAL = new wxGraphicsBrush( THIS->CreateBrush(*brush) );
13152         ST(0) = sv_newmortal();
13153     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
13154     wxPli_thread_sv_register( aTHX_ "Wx::GraphicsBrush", RETVAL, ST(0) );
13155
13156     }
13157     XSRETURN(1);
13158 }
13159
13160
13161 XS(XS_Wx__GraphicsContext_CreateRadialGradientBrush); /* prototype to pass -Wmissing-prototypes */
13162 XS(XS_Wx__GraphicsContext_CreateRadialGradientBrush)
13163 {
13164 #ifdef dVAR
13165     dVAR; dXSARGS;
13166 #else
13167     dXSARGS;
13168 #endif
13169     if (items != 8)
13170        croak_xs_usage(cv,  "THIS, xo, yo, xc, yc, radius, oColor, cColor");
13171     {
13172         wxDouble        xo = (double)SvNV(ST(1));
13173         wxDouble        yo = (double)SvNV(ST(2));
13174         wxDouble        xc = (double)SvNV(ST(3));
13175         wxDouble        yc = (double)SvNV(ST(4));
13176         wxDouble        radius = (double)SvNV(ST(5));
13177         wxColour*    oColor = (wxColour *) wxPli_sv_2_object( aTHX_ ST(6), "Wx::Colour" );
13178         wxColour*    cColor = (wxColour *) wxPli_sv_2_object( aTHX_ ST(7), "Wx::Colour" );
13179         wxGraphicsContext *    THIS = (wxGraphicsContext *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsContext" );
13180         wxGraphicsBrush *       RETVAL;
13181     RETVAL = new wxGraphicsBrush( THIS->CreateRadialGradientBrush(xo,yo,xc,yc,radius,*oColor,*cColor) );
13182         ST(0) = sv_newmortal();
13183     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
13184     wxPli_thread_sv_register( aTHX_ "Wx::GraphicsBrush", RETVAL, ST(0) );
13185
13186     }
13187     XSRETURN(1);
13188 }
13189
13190
13191 XS(XS_Wx__GraphicsContext_CreateLinearGradientBrush); /* prototype to pass -Wmissing-prototypes */
13192 XS(XS_Wx__GraphicsContext_CreateLinearGradientBrush)
13193 {
13194 #ifdef dVAR
13195     dVAR; dXSARGS;
13196 #else
13197     dXSARGS;
13198 #endif
13199     if (items != 7)
13200        croak_xs_usage(cv,  "THIS, x1, y1, x2, y2, c1, c2");
13201     {
13202         wxDouble        x1 = (double)SvNV(ST(1));
13203         wxDouble        y1 = (double)SvNV(ST(2));
13204         wxDouble        x2 = (double)SvNV(ST(3));
13205         wxDouble        y2 = (double)SvNV(ST(4));
13206         wxColour*    c1 = (wxColour *) wxPli_sv_2_object( aTHX_ ST(5), "Wx::Colour" );
13207         wxColour*    c2 = (wxColour *) wxPli_sv_2_object( aTHX_ ST(6), "Wx::Colour" );
13208         wxGraphicsContext *    THIS = (wxGraphicsContext *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsContext" );
13209         wxGraphicsBrush *       RETVAL;
13210     RETVAL = new wxGraphicsBrush( THIS->CreateLinearGradientBrush(x1,y1,x2,y2,*c1,*c2) );
13211         ST(0) = sv_newmortal();
13212     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
13213     wxPli_thread_sv_register( aTHX_ "Wx::GraphicsBrush", RETVAL, ST(0) );
13214
13215     }
13216     XSRETURN(1);
13217 }
13218
13219
13220 XS(XS_Wx__GraphicsContext_CreateFont); /* prototype to pass -Wmissing-prototypes */
13221 XS(XS_Wx__GraphicsContext_CreateFont)
13222 {
13223 #ifdef dVAR
13224     dVAR; dXSARGS;
13225 #else
13226     dXSARGS;
13227 #endif
13228     if (items < 2 || items > 3)
13229        croak_xs_usage(cv,  "THIS, font, col = (wxColour*)wxBLACK");
13230     {
13231         wxFont*    font = (wxFont *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Font" );
13232         wxColour*       col;
13233         wxGraphicsContext *    THIS = (wxGraphicsContext *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsContext" );
13234         wxGraphicsFont *        RETVAL;
13235
13236         if (items < 3)
13237             col = (wxColour*)wxBLACK;
13238         else {
13239     col = (wxColour *) wxPli_sv_2_object( aTHX_ ST(2), "Wx::Colour" );
13240         }
13241     RETVAL = new wxGraphicsFont( THIS->CreateFont(*font, *col) );
13242         ST(0) = sv_newmortal();
13243     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
13244     wxPli_thread_sv_register( aTHX_ "Wx::GraphicsFont", RETVAL, ST(0) );
13245
13246     }
13247     XSRETURN(1);
13248 }
13249
13250
13251 XS(XS_Wx__GraphicsContext_CreateMatrix); /* prototype to pass -Wmissing-prototypes */
13252 XS(XS_Wx__GraphicsContext_CreateMatrix)
13253 {
13254 #ifdef dVAR
13255     dVAR; dXSARGS;
13256 #else
13257     dXSARGS;
13258 #endif
13259     if (items < 1 || items > 7)
13260        croak_xs_usage(cv,  "THIS, a = 1.0, b = 0.0, c = 0.0, d = 1.0, tx = 0.0, ty = 0.0");
13261     {
13262         wxDouble        a;
13263         wxDouble        b;
13264         wxDouble        c;
13265         wxDouble        d;
13266         wxDouble        tx;
13267         wxDouble        ty;
13268         wxGraphicsContext *    THIS = (wxGraphicsContext *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsContext" );
13269         wxGraphicsMatrix *      RETVAL;
13270
13271         if (items < 2)
13272             a = 1.0;
13273         else {
13274             a = (double)SvNV(ST(1));
13275         }
13276
13277         if (items < 3)
13278             b = 0.0;
13279         else {
13280             b = (double)SvNV(ST(2));
13281         }
13282
13283         if (items < 4)
13284             c = 0.0;
13285         else {
13286             c = (double)SvNV(ST(3));
13287         }
13288
13289         if (items < 5)
13290             d = 1.0;
13291         else {
13292             d = (double)SvNV(ST(4));
13293         }
13294
13295         if (items < 6)
13296             tx = 0.0;
13297         else {
13298             tx = (double)SvNV(ST(5));
13299         }
13300
13301         if (items < 7)
13302             ty = 0.0;
13303         else {
13304             ty = (double)SvNV(ST(6));
13305         }
13306     RETVAL = new wxGraphicsMatrix( THIS->CreateMatrix(a,b,c,d,tx,ty) );
13307         ST(0) = sv_newmortal();
13308     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
13309     wxPli_thread_sv_register( aTHX_ "Wx::GraphicsMatrix", RETVAL, ST(0) );
13310
13311     }
13312     XSRETURN(1);
13313 }
13314
13315
13316 XS(XS_Wx__GraphicsContext_CreatePath); /* prototype to pass -Wmissing-prototypes */
13317 XS(XS_Wx__GraphicsContext_CreatePath)
13318 {
13319 #ifdef dVAR
13320     dVAR; dXSARGS;
13321 #else
13322     dXSARGS;
13323 #endif
13324     if (items != 1)
13325        croak_xs_usage(cv,  "THIS");
13326     {
13327         wxGraphicsContext *    THIS = (wxGraphicsContext *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsContext" );
13328         wxGraphicsPath *        RETVAL;
13329       RETVAL = new wxGraphicsPath( THIS->CreatePath() );
13330         ST(0) = sv_newmortal();
13331     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
13332     wxPli_thread_sv_register( aTHX_ "Wx::GraphicsPath", RETVAL, ST(0) );
13333
13334     }
13335     XSRETURN(1);
13336 }
13337
13338
13339 XS(XS_Wx__GraphicsContext_Clip); /* prototype to pass -Wmissing-prototypes */
13340 XS(XS_Wx__GraphicsContext_Clip)
13341 {
13342 #ifdef dVAR
13343     dVAR; dXSARGS;
13344 #else
13345     dXSARGS;
13346 #endif
13347     PERL_UNUSED_VAR(cv); /* -W */
13348     PERL_UNUSED_VAR(ax); /* -Wall */
13349     SP -= items;
13350     {
13351     BEGIN_OVERLOAD()
13352         MATCH_REDISP(wxPliOvl_n_n_n_n, ClipXYWH)
13353         MATCH_REDISP(wxPliOvl_wrgn, ClipRegion)
13354     END_OVERLOAD( "Wx::GraphicsContext::Clip" )
13355         PUTBACK;
13356         return;
13357     }
13358 }
13359
13360
13361 XS(XS_Wx__GraphicsContext_ClipXYWH); /* prototype to pass -Wmissing-prototypes */
13362 XS(XS_Wx__GraphicsContext_ClipXYWH)
13363 {
13364 #ifdef dVAR
13365     dVAR; dXSARGS;
13366 #else
13367     dXSARGS;
13368 #endif
13369     if (items != 5)
13370        croak_xs_usage(cv,  "THIS, x, y, w, h");
13371     {
13372         wxDouble        x = (double)SvNV(ST(1));
13373         wxDouble        y = (double)SvNV(ST(2));
13374         wxDouble        w = (double)SvNV(ST(3));
13375         wxDouble        h = (double)SvNV(ST(4));
13376         wxGraphicsContext *    THIS = (wxGraphicsContext *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsContext" );
13377     THIS->Clip (x, y, w, h);
13378     }
13379     XSRETURN_EMPTY;
13380 }
13381
13382
13383 XS(XS_Wx__GraphicsContext_ClipRegion); /* prototype to pass -Wmissing-prototypes */
13384 XS(XS_Wx__GraphicsContext_ClipRegion)
13385 {
13386 #ifdef dVAR
13387     dVAR; dXSARGS;
13388 #else
13389     dXSARGS;
13390 #endif
13391     if (items != 2)
13392        croak_xs_usage(cv,  "THIS, region");
13393     {
13394         wxRegion*    region = (wxRegion *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Region" );
13395         wxGraphicsContext *    THIS = (wxGraphicsContext *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsContext" );
13396     THIS->Clip (*region);
13397     }
13398     XSRETURN_EMPTY;
13399 }
13400
13401
13402 XS(XS_Wx__GraphicsContext_ResetClip); /* prototype to pass -Wmissing-prototypes */
13403 XS(XS_Wx__GraphicsContext_ResetClip)
13404 {
13405 #ifdef dVAR
13406     dVAR; dXSARGS;
13407 #else
13408     dXSARGS;
13409 #endif
13410     if (items != 1)
13411        croak_xs_usage(cv,  "THIS");
13412     {
13413         wxGraphicsContext *    THIS = (wxGraphicsContext *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsContext" );
13414
13415         THIS->ResetClip();
13416     }
13417     XSRETURN_EMPTY;
13418 }
13419
13420
13421 XS(XS_Wx__GraphicsContext_DrawBitmap); /* prototype to pass -Wmissing-prototypes */
13422 XS(XS_Wx__GraphicsContext_DrawBitmap)
13423 {
13424 #ifdef dVAR
13425     dVAR; dXSARGS;
13426 #else
13427     dXSARGS;
13428 #endif
13429     if (items != 6)
13430        croak_xs_usage(cv,  "THIS, bitmap, x, y, w, h");
13431     {
13432         wxBitmap*    bitmap = (wxBitmap *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Bitmap" );
13433         wxDouble        x = (double)SvNV(ST(2));
13434         wxDouble        y = (double)SvNV(ST(3));
13435         wxDouble        w = (double)SvNV(ST(4));
13436         wxDouble        h = (double)SvNV(ST(5));
13437         wxGraphicsContext *    THIS = (wxGraphicsContext *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsContext" );
13438     THIS->DrawBitmap( *bitmap, x, y, w, h );
13439     }
13440     XSRETURN_EMPTY;
13441 }
13442
13443
13444 XS(XS_Wx__GraphicsContext_DrawEllipse); /* prototype to pass -Wmissing-prototypes */
13445 XS(XS_Wx__GraphicsContext_DrawEllipse)
13446 {
13447 #ifdef dVAR
13448     dVAR; dXSARGS;
13449 #else
13450     dXSARGS;
13451 #endif
13452     if (items != 5)
13453        croak_xs_usage(cv,  "THIS, x, y, w, h");
13454     {
13455         wxDouble        x = (double)SvNV(ST(1));
13456         wxDouble        y = (double)SvNV(ST(2));
13457         wxDouble        w = (double)SvNV(ST(3));
13458         wxDouble        h = (double)SvNV(ST(4));
13459         wxGraphicsContext *    THIS = (wxGraphicsContext *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsContext" );
13460
13461         THIS->DrawEllipse(x, y, w, h);
13462     }
13463     XSRETURN_EMPTY;
13464 }
13465
13466
13467 XS(XS_Wx__GraphicsContext_DrawIcon); /* prototype to pass -Wmissing-prototypes */
13468 XS(XS_Wx__GraphicsContext_DrawIcon)
13469 {
13470 #ifdef dVAR
13471     dVAR; dXSARGS;
13472 #else
13473     dXSARGS;
13474 #endif
13475     if (items != 6)
13476        croak_xs_usage(cv,  "THIS, icon, x, y, w, h");
13477     {
13478         wxIcon*    icon = (wxIcon *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Icon" );
13479         wxDouble        x = (double)SvNV(ST(2));
13480         wxDouble        y = (double)SvNV(ST(3));
13481         wxDouble        w = (double)SvNV(ST(4));
13482         wxDouble        h = (double)SvNV(ST(5));
13483         wxGraphicsContext *    THIS = (wxGraphicsContext *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsContext" );
13484     THIS->DrawIcon( *icon, x, y, w, h );
13485     }
13486     XSRETURN_EMPTY;
13487 }
13488
13489
13490 XS(XS_Wx__GraphicsContext_DrawLines); /* prototype to pass -Wmissing-prototypes */
13491 XS(XS_Wx__GraphicsContext_DrawLines)
13492 {
13493 #ifdef dVAR
13494     dVAR; dXSARGS;
13495 #else
13496     dXSARGS;
13497 #endif
13498     if (items < 2 || items > 3)
13499        croak_xs_usage(cv,  "THIS, points, fillStyle = wxODDEVEN_RULE");
13500     {
13501         SV*     points = ST(1);
13502         wxPolygonFillMode       fillStyle;
13503         wxGraphicsContext *    THIS = (wxGraphicsContext *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsContext" );
13504
13505         if (items < 3)
13506             fillStyle = wxODDEVEN_RULE;
13507         else {
13508             fillStyle = (wxPolygonFillMode)SvIV(ST(2));
13509         }
13510     wxPliArrayGuard<wxPoint2DDouble> newPoints;
13511     int n = wxPli_av_2_point2ddoublearray(aTHX_ points, newPoints.lvalue());
13512     THIS->DrawLines(n,newPoints);
13513     }
13514     XSRETURN_EMPTY;
13515 }
13516
13517
13518 XS(XS_Wx__GraphicsContext_DrawPath); /* prototype to pass -Wmissing-prototypes */
13519 XS(XS_Wx__GraphicsContext_DrawPath)
13520 {
13521 #ifdef dVAR
13522     dVAR; dXSARGS;
13523 #else
13524     dXSARGS;
13525 #endif
13526     if (items < 2 || items > 3)
13527        croak_xs_usage(cv,  "THIS, path, fillStyle = wxODDEVEN_RULE");
13528     {
13529         wxGraphicsPath *    path = (wxGraphicsPath *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::GraphicsPath" );
13530         wxPolygonFillMode       fillStyle;
13531         wxGraphicsContext *    THIS = (wxGraphicsContext *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsContext" );
13532
13533         if (items < 3)
13534             fillStyle = wxODDEVEN_RULE;
13535         else {
13536             fillStyle = (wxPolygonFillMode)SvIV(ST(2));
13537         }
13538     THIS->DrawPath( *path, fillStyle );
13539     }
13540     XSRETURN_EMPTY;
13541 }
13542
13543
13544 XS(XS_Wx__GraphicsContext_DrawRectangle); /* prototype to pass -Wmissing-prototypes */
13545 XS(XS_Wx__GraphicsContext_DrawRectangle)
13546 {
13547 #ifdef dVAR
13548     dVAR; dXSARGS;
13549 #else
13550     dXSARGS;
13551 #endif
13552     if (items != 5)
13553        croak_xs_usage(cv,  "THIS, x, y, w, h");
13554     {
13555         wxDouble        x = (double)SvNV(ST(1));
13556         wxDouble        y = (double)SvNV(ST(2));
13557         wxDouble        w = (double)SvNV(ST(3));
13558         wxDouble        h = (double)SvNV(ST(4));
13559         wxGraphicsContext *    THIS = (wxGraphicsContext *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsContext" );
13560
13561         THIS->DrawRectangle(x, y, w, h);
13562     }
13563     XSRETURN_EMPTY;
13564 }
13565
13566
13567 XS(XS_Wx__GraphicsContext_DrawRoundedRectangle); /* prototype to pass -Wmissing-prototypes */
13568 XS(XS_Wx__GraphicsContext_DrawRoundedRectangle)
13569 {
13570 #ifdef dVAR
13571     dVAR; dXSARGS;
13572 #else
13573     dXSARGS;
13574 #endif
13575     if (items != 6)
13576        croak_xs_usage(cv,  "THIS, x, y, w, h, radius");
13577     {
13578         wxDouble        x = (double)SvNV(ST(1));
13579         wxDouble        y = (double)SvNV(ST(2));
13580         wxDouble        w = (double)SvNV(ST(3));
13581         wxDouble        h = (double)SvNV(ST(4));
13582         wxDouble        radius = (double)SvNV(ST(5));
13583         wxGraphicsContext *    THIS = (wxGraphicsContext *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsContext" );
13584
13585         THIS->DrawRoundedRectangle(x, y, w, h, radius);
13586     }
13587     XSRETURN_EMPTY;
13588 }
13589
13590
13591 XS(XS_Wx__GraphicsContext_DrawText); /* prototype to pass -Wmissing-prototypes */
13592 XS(XS_Wx__GraphicsContext_DrawText)
13593 {
13594 #ifdef dVAR
13595     dVAR; dXSARGS;
13596 #else
13597     dXSARGS;
13598 #endif
13599     if (items < 1)
13600        croak_xs_usage(cv,  "THIS, ...");
13601     PERL_UNUSED_VAR(ax); /* -Wall */
13602     SP -= items;
13603     {
13604         wxGraphicsContext *    THIS = (wxGraphicsContext *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsContext" );
13605     BEGIN_OVERLOAD()
13606       MATCH_REDISP(wxPliOvl_s_n_n_n, DrawTextAngle)
13607       MATCH_REDISP(wxPliOvl_s_n_n, DrawTextNoAngle)
13608     END_OVERLOAD( "Wx::GraphicsContext::DrawText" )
13609         PUTBACK;
13610         return;
13611     }
13612 }
13613
13614
13615 XS(XS_Wx__GraphicsContext_DrawTextAngle); /* prototype to pass -Wmissing-prototypes */
13616 XS(XS_Wx__GraphicsContext_DrawTextAngle)
13617 {
13618 #ifdef dVAR
13619     dVAR; dXSARGS;
13620 #else
13621     dXSARGS;
13622 #endif
13623     if (items != 5)
13624        croak_xs_usage(cv,  "THIS, string, x, y, angle");
13625     {
13626         wxString        string;
13627         wxDouble        x = (double)SvNV(ST(2));
13628         wxDouble        y = (double)SvNV(ST(3));
13629         wxDouble        angle = (double)SvNV(ST(4));
13630         wxGraphicsContext *    THIS = (wxGraphicsContext *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsContext" );
13631
13632     WXSTRING_INPUT( string, wxString, ST(1) );
13633     THIS->DrawText(string,x,y,angle);
13634     }
13635     XSRETURN_EMPTY;
13636 }
13637
13638
13639 XS(XS_Wx__GraphicsContext_DrawTextNoAngle); /* prototype to pass -Wmissing-prototypes */
13640 XS(XS_Wx__GraphicsContext_DrawTextNoAngle)
13641 {
13642 #ifdef dVAR
13643     dVAR; dXSARGS;
13644 #else
13645     dXSARGS;
13646 #endif
13647     if (items != 4)
13648        croak_xs_usage(cv,  "THIS, string, x, y");
13649     {
13650         wxString        string;
13651         wxDouble        x = (double)SvNV(ST(2));
13652         wxDouble        y = (double)SvNV(ST(3));
13653         wxGraphicsContext *    THIS = (wxGraphicsContext *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsContext" );
13654
13655     WXSTRING_INPUT( string, wxString, ST(1) );
13656     THIS->DrawText(string,x,y);
13657     }
13658     XSRETURN_EMPTY;
13659 }
13660
13661
13662 XS(XS_Wx__GraphicsContext_FillPath); /* prototype to pass -Wmissing-prototypes */
13663 XS(XS_Wx__GraphicsContext_FillPath)
13664 {
13665 #ifdef dVAR
13666     dVAR; dXSARGS;
13667 #else
13668     dXSARGS;
13669 #endif
13670     if (items < 2 || items > 3)
13671        croak_xs_usage(cv,  "THIS, path, fillStyle = wxODDEVEN_RULE");
13672     {
13673         wxGraphicsPath *    path = (wxGraphicsPath *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::GraphicsPath" );
13674         wxPolygonFillMode       fillStyle;
13675         wxGraphicsContext *    THIS = (wxGraphicsContext *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsContext" );
13676
13677         if (items < 3)
13678             fillStyle = wxODDEVEN_RULE;
13679         else {
13680             fillStyle = (wxPolygonFillMode)SvIV(ST(2));
13681         }
13682     THIS->FillPath ( *path, fillStyle );
13683     }
13684     XSRETURN_EMPTY;
13685 }
13686
13687
13688 XS(XS_Wx__GraphicsContext_StrokePath); /* prototype to pass -Wmissing-prototypes */
13689 XS(XS_Wx__GraphicsContext_StrokePath)
13690 {
13691 #ifdef dVAR
13692     dVAR; dXSARGS;
13693 #else
13694     dXSARGS;
13695 #endif
13696     if (items != 2)
13697        croak_xs_usage(cv,  "THIS, path");
13698     {
13699         wxGraphicsPath *    path = (wxGraphicsPath *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::GraphicsPath" );
13700         wxGraphicsContext *    THIS = (wxGraphicsContext *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsContext" );
13701     THIS->StrokePath ( *path );
13702     }
13703     XSRETURN_EMPTY;
13704 }
13705
13706
13707 XS(XS_Wx__GraphicsContext_GetTextExtent); /* prototype to pass -Wmissing-prototypes */
13708 XS(XS_Wx__GraphicsContext_GetTextExtent)
13709 {
13710 #ifdef dVAR
13711     dVAR; dXSARGS;
13712 #else
13713     dXSARGS;
13714 #endif
13715     if (items != 2)
13716        croak_xs_usage(cv,  "THIS, string");
13717     PERL_UNUSED_VAR(ax); /* -Wall */
13718     SP -= items;
13719     {
13720         wxString        string;
13721     wxDouble x, y, descent, externalLeading;
13722         wxGraphicsContext *    THIS = (wxGraphicsContext *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsContext" );
13723
13724     WXSTRING_INPUT( string, wxString, ST(1) );
13725     THIS->GetTextExtent( string, &x, &y, &descent, &externalLeading);
13726     EXTEND( SP, 4 );
13727     PUSHs( sv_2mortal( newSVnv( x ) ) );
13728     PUSHs( sv_2mortal( newSVnv( y ) ) );
13729     PUSHs( sv_2mortal( newSVnv( descent ) ) );
13730     PUSHs( sv_2mortal( newSVnv( externalLeading ) ) );
13731         PUTBACK;
13732         return;
13733     }
13734 }
13735
13736
13737 XS(XS_Wx__GraphicsContext_GetPartialTextExtents); /* prototype to pass -Wmissing-prototypes */
13738 XS(XS_Wx__GraphicsContext_GetPartialTextExtents)
13739 {
13740 #ifdef dVAR
13741     dVAR; dXSARGS;
13742 #else
13743     dXSARGS;
13744 #endif
13745     if (items != 2)
13746        croak_xs_usage(cv,  "THIS, string");
13747     PERL_UNUSED_VAR(ax); /* -Wall */
13748     SP -= items;
13749     {
13750         wxString        string;
13751     wxArrayDouble widths;
13752         wxGraphicsContext *    THIS = (wxGraphicsContext *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsContext" );
13753
13754     WXSTRING_INPUT( string, wxString, ST(1) );
13755     THIS->GetPartialTextExtents( string, widths );
13756     PUTBACK;
13757     wxPli_doublearray_push( aTHX_ widths );
13758     SPAGAIN;
13759         PUTBACK;
13760         return;
13761     }
13762 }
13763
13764
13765 XS(XS_Wx__GraphicsContext_Rotate); /* prototype to pass -Wmissing-prototypes */
13766 XS(XS_Wx__GraphicsContext_Rotate)
13767 {
13768 #ifdef dVAR
13769     dVAR; dXSARGS;
13770 #else
13771     dXSARGS;
13772 #endif
13773     if (items != 2)
13774        croak_xs_usage(cv,  "THIS, angle");
13775     {
13776         wxDouble        angle = (double)SvNV(ST(1));
13777         wxGraphicsContext *    THIS = (wxGraphicsContext *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsContext" );
13778
13779         THIS->Rotate(angle);
13780     }
13781     XSRETURN_EMPTY;
13782 }
13783
13784
13785 XS(XS_Wx__GraphicsContext_Scale); /* prototype to pass -Wmissing-prototypes */
13786 XS(XS_Wx__GraphicsContext_Scale)
13787 {
13788 #ifdef dVAR
13789     dVAR; dXSARGS;
13790 #else
13791     dXSARGS;
13792 #endif
13793     if (items != 3)
13794        croak_xs_usage(cv,  "THIS, x, y");
13795     {
13796         wxDouble        x = (double)SvNV(ST(1));
13797         wxDouble        y = (double)SvNV(ST(2));
13798         wxGraphicsContext *    THIS = (wxGraphicsContext *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsContext" );
13799
13800         THIS->Scale(x, y);
13801     }
13802     XSRETURN_EMPTY;
13803 }
13804
13805
13806 XS(XS_Wx__GraphicsContext_Translate); /* prototype to pass -Wmissing-prototypes */
13807 XS(XS_Wx__GraphicsContext_Translate)
13808 {
13809 #ifdef dVAR
13810     dVAR; dXSARGS;
13811 #else
13812     dXSARGS;
13813 #endif
13814     if (items != 3)
13815        croak_xs_usage(cv,  "THIS, x, y");
13816     {
13817         wxDouble        x = (double)SvNV(ST(1));
13818         wxDouble        y = (double)SvNV(ST(2));
13819         wxGraphicsContext *    THIS = (wxGraphicsContext *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsContext" );
13820
13821         THIS->Translate(x, y);
13822     }
13823     XSRETURN_EMPTY;
13824 }
13825
13826
13827 XS(XS_Wx__GraphicsContext_GetTransform); /* prototype to pass -Wmissing-prototypes */
13828 XS(XS_Wx__GraphicsContext_GetTransform)
13829 {
13830 #ifdef dVAR
13831     dVAR; dXSARGS;
13832 #else
13833     dXSARGS;
13834 #endif
13835     if (items != 1)
13836        croak_xs_usage(cv,  "THIS");
13837     {
13838         wxGraphicsContext *    THIS = (wxGraphicsContext *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsContext" );
13839         wxGraphicsMatrix *      RETVAL;
13840     RETVAL = new wxGraphicsMatrix( THIS->GetTransform() );
13841         ST(0) = sv_newmortal();
13842     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
13843     wxPli_thread_sv_register( aTHX_ "Wx::GraphicsMatrix", RETVAL, ST(0) );
13844
13845     }
13846     XSRETURN(1);
13847 }
13848
13849
13850 XS(XS_Wx__GraphicsContext_SetTransform); /* prototype to pass -Wmissing-prototypes */
13851 XS(XS_Wx__GraphicsContext_SetTransform)
13852 {
13853 #ifdef dVAR
13854     dVAR; dXSARGS;
13855 #else
13856     dXSARGS;
13857 #endif
13858     if (items != 2)
13859        croak_xs_usage(cv,  "THIS, matrix");
13860     {
13861         wxGraphicsMatrix*    matrix = (wxGraphicsMatrix *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::GraphicsMatrix" );
13862         wxGraphicsContext *    THIS = (wxGraphicsContext *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsContext" );
13863     THIS->SetTransform(*matrix);
13864     }
13865     XSRETURN_EMPTY;
13866 }
13867
13868
13869 XS(XS_Wx__GraphicsContext_ConcatTransform); /* prototype to pass -Wmissing-prototypes */
13870 XS(XS_Wx__GraphicsContext_ConcatTransform)
13871 {
13872 #ifdef dVAR
13873     dVAR; dXSARGS;
13874 #else
13875     dXSARGS;
13876 #endif
13877     if (items != 2)
13878        croak_xs_usage(cv,  "THIS, matrix");
13879     {
13880         wxGraphicsMatrix*    matrix = (wxGraphicsMatrix *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::GraphicsMatrix" );
13881         wxGraphicsContext *    THIS = (wxGraphicsContext *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsContext" );
13882     THIS->ConcatTransform(*matrix);
13883     }
13884     XSRETURN_EMPTY;
13885 }
13886
13887
13888 XS(XS_Wx__GraphicsContext_SetBrush); /* prototype to pass -Wmissing-prototypes */
13889 XS(XS_Wx__GraphicsContext_SetBrush)
13890 {
13891 #ifdef dVAR
13892     dVAR; dXSARGS;
13893 #else
13894     dXSARGS;
13895 #endif
13896     PERL_UNUSED_VAR(cv); /* -W */
13897     PERL_UNUSED_VAR(ax); /* -Wall */
13898     SP -= items;
13899     {
13900     BEGIN_OVERLOAD()
13901         MATCH_REDISP(wxPliOvl_wbru, SetBrushBrush)
13902         MATCH_REDISP(wxPliOvl_wgbr, SetBrushGraphics)
13903     END_OVERLOAD( "Wx::GraphicsContext::SetBrush" )
13904         PUTBACK;
13905         return;
13906     }
13907 }
13908
13909
13910 XS(XS_Wx__GraphicsContext_SetBrushBrush); /* prototype to pass -Wmissing-prototypes */
13911 XS(XS_Wx__GraphicsContext_SetBrushBrush)
13912 {
13913 #ifdef dVAR
13914     dVAR; dXSARGS;
13915 #else
13916     dXSARGS;
13917 #endif
13918     if (items != 2)
13919        croak_xs_usage(cv,  "THIS, brush");
13920     {
13921         wxBrush*    brush = (wxBrush *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Brush" );
13922         wxGraphicsContext *    THIS = (wxGraphicsContext *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsContext" );
13923     THIS->SetBrush( *brush );
13924     }
13925     XSRETURN_EMPTY;
13926 }
13927
13928
13929 XS(XS_Wx__GraphicsContext_SetBrushGraphics); /* prototype to pass -Wmissing-prototypes */
13930 XS(XS_Wx__GraphicsContext_SetBrushGraphics)
13931 {
13932 #ifdef dVAR
13933     dVAR; dXSARGS;
13934 #else
13935     dXSARGS;
13936 #endif
13937     if (items != 2)
13938        croak_xs_usage(cv,  "THIS, brush");
13939     {
13940         wxGraphicsBrush*    brush = (wxGraphicsBrush *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::GraphicsBrush" );
13941         wxGraphicsContext *    THIS = (wxGraphicsContext *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsContext" );
13942     THIS->SetBrush( *brush );
13943     }
13944     XSRETURN_EMPTY;
13945 }
13946
13947
13948 XS(XS_Wx__GraphicsContext_SetFont); /* prototype to pass -Wmissing-prototypes */
13949 XS(XS_Wx__GraphicsContext_SetFont)
13950 {
13951 #ifdef dVAR
13952     dVAR; dXSARGS;
13953 #else
13954     dXSARGS;
13955 #endif
13956     PERL_UNUSED_VAR(cv); /* -W */
13957     PERL_UNUSED_VAR(ax); /* -Wall */
13958     SP -= items;
13959     {
13960     BEGIN_OVERLOAD()
13961         MATCH_REDISP(wxPliOvl_wfon_wcol, SetFontFont)
13962         MATCH_REDISP(wxPliOvl_wgfo, SetFontGraphics)
13963     END_OVERLOAD( "Wx::GraphicsContext::SetFont" )
13964         PUTBACK;
13965         return;
13966     }
13967 }
13968
13969
13970 XS(XS_Wx__GraphicsContext_SetFontFont); /* prototype to pass -Wmissing-prototypes */
13971 XS(XS_Wx__GraphicsContext_SetFontFont)
13972 {
13973 #ifdef dVAR
13974     dVAR; dXSARGS;
13975 #else
13976     dXSARGS;
13977 #endif
13978     if (items != 3)
13979        croak_xs_usage(cv,  "THIS, font, colour");
13980     {
13981         wxFont*    font = (wxFont *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Font" );
13982         wxColour*    colour = (wxColour *) wxPli_sv_2_object( aTHX_ ST(2), "Wx::Colour" );
13983         wxGraphicsContext *    THIS = (wxGraphicsContext *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsContext" );
13984     THIS->SetFont(*font, *colour);
13985     }
13986     XSRETURN_EMPTY;
13987 }
13988
13989
13990 XS(XS_Wx__GraphicsContext_SetFontGraphics); /* prototype to pass -Wmissing-prototypes */
13991 XS(XS_Wx__GraphicsContext_SetFontGraphics)
13992 {
13993 #ifdef dVAR
13994     dVAR; dXSARGS;
13995 #else
13996     dXSARGS;
13997 #endif
13998     if (items != 2)
13999        croak_xs_usage(cv,  "THIS, font");
14000     {
14001         wxGraphicsFont*    font = (wxGraphicsFont *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::GraphicsFont" );
14002         wxGraphicsContext *    THIS = (wxGraphicsContext *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsContext" );
14003     THIS->SetFont(*font);
14004     }
14005     XSRETURN_EMPTY;
14006 }
14007
14008
14009 XS(XS_Wx__GraphicsContext_SetPen); /* prototype to pass -Wmissing-prototypes */
14010 XS(XS_Wx__GraphicsContext_SetPen)
14011 {
14012 #ifdef dVAR
14013     dVAR; dXSARGS;
14014 #else
14015     dXSARGS;
14016 #endif
14017     PERL_UNUSED_VAR(cv); /* -W */
14018     PERL_UNUSED_VAR(ax); /* -Wall */
14019     SP -= items;
14020     {
14021     BEGIN_OVERLOAD()
14022         MATCH_REDISP(wxPliOvl_wpen, SetPenPen)
14023         MATCH_REDISP(wxPliOvl_wgpe, SetPenGraphics)
14024     END_OVERLOAD( "Wx::GraphicsContext::SetPen" )
14025         PUTBACK;
14026         return;
14027     }
14028 }
14029
14030
14031 XS(XS_Wx__GraphicsContext_SetPenPen); /* prototype to pass -Wmissing-prototypes */
14032 XS(XS_Wx__GraphicsContext_SetPenPen)
14033 {
14034 #ifdef dVAR
14035     dVAR; dXSARGS;
14036 #else
14037     dXSARGS;
14038 #endif
14039     if (items != 2)
14040        croak_xs_usage(cv,  "THIS, pen");
14041     {
14042         wxPen*    pen = (wxPen *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Pen" );
14043         wxGraphicsContext *    THIS = (wxGraphicsContext *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsContext" );
14044     THIS->SetPen( *pen );
14045     }
14046     XSRETURN_EMPTY;
14047 }
14048
14049
14050 XS(XS_Wx__GraphicsContext_SetPenGraphics); /* prototype to pass -Wmissing-prototypes */
14051 XS(XS_Wx__GraphicsContext_SetPenGraphics)
14052 {
14053 #ifdef dVAR
14054     dVAR; dXSARGS;
14055 #else
14056     dXSARGS;
14057 #endif
14058     if (items != 2)
14059        croak_xs_usage(cv,  "THIS, pen");
14060     {
14061         wxGraphicsPen*    pen = (wxGraphicsPen *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::GraphicsPen" );
14062         wxGraphicsContext *    THIS = (wxGraphicsContext *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsContext" );
14063     THIS->SetPen( *pen );
14064     }
14065     XSRETURN_EMPTY;
14066 }
14067
14068
14069 XS(XS_Wx__GraphicsContext_StrokeLine); /* prototype to pass -Wmissing-prototypes */
14070 XS(XS_Wx__GraphicsContext_StrokeLine)
14071 {
14072 #ifdef dVAR
14073     dVAR; dXSARGS;
14074 #else
14075     dXSARGS;
14076 #endif
14077     if (items != 5)
14078        croak_xs_usage(cv,  "THIS, x1, y1, x2, y2");
14079     {
14080         wxDouble        x1 = (double)SvNV(ST(1));
14081         wxDouble        y1 = (double)SvNV(ST(2));
14082         wxDouble        x2 = (double)SvNV(ST(3));
14083         wxDouble        y2 = (double)SvNV(ST(4));
14084         wxGraphicsContext *    THIS = (wxGraphicsContext *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsContext" );
14085
14086         THIS->StrokeLine(x1, y1, x2, y2);
14087     }
14088     XSRETURN_EMPTY;
14089 }
14090
14091
14092 XS(XS_Wx__GraphicsContext_StrokeLines); /* prototype to pass -Wmissing-prototypes */
14093 XS(XS_Wx__GraphicsContext_StrokeLines)
14094 {
14095 #ifdef dVAR
14096     dVAR; dXSARGS;
14097 #else
14098     dXSARGS;
14099 #endif
14100     if (items < 1)
14101        croak_xs_usage(cv,  "THIS, ...");
14102     PERL_UNUSED_VAR(ax); /* -Wall */
14103     SP -= items;
14104     {
14105         wxGraphicsContext *    THIS = (wxGraphicsContext *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsContext" );
14106     BEGIN_OVERLOAD()
14107         MATCH_REDISP(wxPliOvl_wpoi_wpoi, StrokeLinesTwo)
14108         MATCH_REDISP(wxPliOvl_wpoi, StrokeLinesOne)
14109     END_OVERLOAD( "Wx::GraphicsContext::StrokeLines" )
14110         PUTBACK;
14111         return;
14112     }
14113 }
14114
14115
14116 XS(XS_Wx__GraphicsContext_StrokeLinesOne); /* prototype to pass -Wmissing-prototypes */
14117 XS(XS_Wx__GraphicsContext_StrokeLinesOne)
14118 {
14119 #ifdef dVAR
14120     dVAR; dXSARGS;
14121 #else
14122     dXSARGS;
14123 #endif
14124     if (items != 2)
14125        croak_xs_usage(cv,  "THIS, points");
14126     {
14127         SV*     points = ST(1);
14128         wxGraphicsContext *    THIS = (wxGraphicsContext *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsContext" );
14129     wxPliArrayGuard<wxPoint2DDouble> points2d;
14130     int n = wxPli_av_2_point2ddoublearray(aTHX_ points, points2d.lvalue());
14131     THIS->StrokeLines(n,points2d);
14132     }
14133     XSRETURN_EMPTY;
14134 }
14135
14136
14137 XS(XS_Wx__GraphicsContext_StrokeLinesTwo); /* prototype to pass -Wmissing-prototypes */
14138 XS(XS_Wx__GraphicsContext_StrokeLinesTwo)
14139 {
14140 #ifdef dVAR
14141     dVAR; dXSARGS;
14142 #else
14143     dXSARGS;
14144 #endif
14145     if (items != 3)
14146        croak_xs_usage(cv,  "THIS, beginPoints, endPoints");
14147     {
14148         SV*     beginPoints = ST(1);
14149         SV*     endPoints = ST(2);
14150         wxGraphicsContext *    THIS = (wxGraphicsContext *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GraphicsContext" );
14151     wxPliArrayGuard<wxPoint2DDouble> beginPoints2d, endPoints2d;
14152     int n1 = wxPli_av_2_point2ddoublearray(aTHX_ beginPoints, beginPoints2d.lvalue());
14153     int n2 = wxPli_av_2_point2ddoublearray(aTHX_ endPoints, endPoints2d.lvalue());
14154     THIS->StrokeLines(wxMin(n1, n2), beginPoints2d, endPoints2d);
14155     }
14156     XSRETURN_EMPTY;
14157 }
14158
14159 #endif
14160
14161 /* INCLUDE: Returning to 'GDI.xs' from 'XS/GraphicsContext.xs' */
14162
14163
14164 /* INCLUDE:  Including 'perl -MExtUtils::XSpp::Cmd -e xspp -- -t typemap.xsp XS/SVGFileDC.xsp |' from 'GDI.xs' */
14165
14166 #if WXPERL_W_VERSION_GE( 2, 9, 0 )
14167 #include <wx/dcsvg.h>
14168 #define XSubPPtmpAADN 1
14169
14170
14171 XS(XS_Wx__SVGFileDC_new); /* prototype to pass -Wmissing-prototypes */
14172 XS(XS_Wx__SVGFileDC_new)
14173 {
14174 #ifdef dVAR
14175     dVAR; dXSARGS;
14176 #else
14177     dXSARGS;
14178 #endif
14179     if (items < 2 || items > 5)
14180        croak_xs_usage(cv,  "CLASS, filename, width = 320, height = 240, dpi = 72.0");
14181     {
14182         wxString        filename;
14183         int     width;
14184         int     height;
14185         double  dpi;
14186         char *  CLASS = (char *)SvPV_nolen(ST(0));
14187         wxSVGFileDC *   RETVAL;
14188
14189     WXSTRING_INPUT( filename, wxString, ST(1) );
14190
14191         if (items < 3)
14192             width = 320;
14193         else {
14194             width = (int)SvIV(ST(2));
14195         }
14196
14197         if (items < 4)
14198             height = 240;
14199         else {
14200             height = (int)SvIV(ST(3));
14201         }
14202
14203         if (items < 5)
14204             dpi = 72.0;
14205         else {
14206             dpi = (double)SvNV(ST(4));
14207         }
14208
14209         RETVAL = new wxSVGFileDC(filename, width, height, dpi);
14210         ST(0) = sv_newmortal();
14211     wxPli_object_2_sv( aTHX_ ST(0), RETVAL );
14212     wxPli_thread_sv_register( aTHX_ "Wx::SVGFileDC", RETVAL, ST(0) );
14213
14214     }
14215     XSRETURN(1);
14216 }
14217
14218 #endif
14219
14220 /* INCLUDE: Returning to 'GDI.xs' from 'perl -MExtUtils::XSpp::Cmd -e xspp -- -t typemap.xsp XS/SVGFileDC.xsp |' */
14221
14222
14223 XS(XS_Wx_GetClientDisplayRect); /* prototype to pass -Wmissing-prototypes */
14224 XS(XS_Wx_GetClientDisplayRect)
14225 {
14226 #ifdef dVAR
14227     dVAR; dXSARGS;
14228 #else
14229     dXSARGS;
14230 #endif
14231     if (items != 0)
14232        croak_xs_usage(cv,  "");
14233     {
14234         wxRect *        RETVAL;
14235     RETVAL = new wxRect( wxGetClientDisplayRect() );
14236         ST(0) = sv_newmortal();
14237     wxPli_non_object_2_sv( aTHX_ ST(0), RETVAL, "Wx::Rect" );
14238     wxPli_thread_sv_register( aTHX_ "Wx::Rect", RETVAL, ST(0) );
14239
14240     }
14241     XSRETURN(1);
14242 }
14243
14244
14245 XS(XS_Wx_ColourDisplay); /* prototype to pass -Wmissing-prototypes */
14246 XS(XS_Wx_ColourDisplay)
14247 {
14248 #ifdef dVAR
14249     dVAR; dXSARGS;
14250 #else
14251     dXSARGS;
14252 #endif
14253     if (items != 0)
14254        croak_xs_usage(cv,  "");
14255     {
14256         bool    RETVAL;
14257     RETVAL = wxColourDisplay();
14258         ST(0) = boolSV(RETVAL);
14259         sv_2mortal(ST(0));
14260     }
14261     XSRETURN(1);
14262 }
14263
14264
14265 XS(XS_Wx_DisplayDepth); /* prototype to pass -Wmissing-prototypes */
14266 XS(XS_Wx_DisplayDepth)
14267 {
14268 #ifdef dVAR
14269     dVAR; dXSARGS;
14270 #else
14271     dXSARGS;
14272 #endif
14273     if (items != 0)
14274        croak_xs_usage(cv,  "");
14275     {
14276         int     RETVAL;
14277         dXSTARG;
14278     RETVAL = wxDisplayDepth();
14279         XSprePUSH; PUSHi((IV)RETVAL);
14280     }
14281     XSRETURN(1);
14282 }
14283
14284
14285 XS(XS_Wx_GetDisplaySizeMM); /* prototype to pass -Wmissing-prototypes */
14286 XS(XS_Wx_GetDisplaySizeMM)
14287 {
14288 #ifdef dVAR
14289     dVAR; dXSARGS;
14290 #else
14291     dXSARGS;
14292 #endif
14293     if (items != 0)
14294        croak_xs_usage(cv,  "");
14295     {
14296         wxSize *        RETVAL;
14297     RETVAL = new wxSize( wxGetDisplaySizeMM() );
14298         ST(0) = sv_newmortal();
14299     wxPli_non_object_2_sv( aTHX_ ST(0), RETVAL, "Wx::Size" );
14300     wxPli_thread_sv_register( aTHX_ "Wx::Size", RETVAL, ST(0) );
14301
14302     }
14303     XSRETURN(1);
14304 }
14305
14306
14307 XS(XS_Wx_GetDisplaySize); /* prototype to pass -Wmissing-prototypes */
14308 XS(XS_Wx_GetDisplaySize)
14309 {
14310 #ifdef dVAR
14311     dVAR; dXSARGS;
14312 #else
14313     dXSARGS;
14314 #endif
14315     if (items != 0)
14316        croak_xs_usage(cv,  "");
14317     {
14318         wxSize *        RETVAL;
14319     RETVAL = new wxSize( wxGetDisplaySize() );
14320         ST(0) = sv_newmortal();
14321     wxPli_non_object_2_sv( aTHX_ ST(0), RETVAL, "Wx::Size" );
14322     wxPli_thread_sv_register( aTHX_ "Wx::Size", RETVAL, ST(0) );
14323
14324     }
14325     XSRETURN(1);
14326 }
14327
14328 #ifdef __cplusplus
14329 extern "C"
14330 #endif
14331 XS(boot_Wx_GDI); /* prototype to pass -Wmissing-prototypes */
14332 XS(boot_Wx_GDI)
14333 {
14334 #ifdef dVAR
14335     dVAR; dXSARGS;
14336 #else
14337     dXSARGS;
14338 #endif
14339 #if (PERL_REVISION == 5 && PERL_VERSION < 9)
14340     char* file = __FILE__;
14341 #else
14342     const char* file = __FILE__;
14343 #endif
14344
14345     PERL_UNUSED_VAR(cv); /* -W */
14346     PERL_UNUSED_VAR(items); /* -W */
14347     XS_VERSION_BOOTCHECK ;
14348
14349         newXS("Wx::Palette::new", XS_Wx__Palette_new, file);
14350         newXS("Wx::Palette::CLONE", XS_Wx__Palette_CLONE, file);
14351         newXS("Wx::Palette::DESTROY", XS_Wx__Palette_DESTROY, file);
14352 #if XSubPPtmpAAAA
14353         newXS("Wx::Palette::GetColoursCount", XS_Wx__Palette_GetColoursCount, file);
14354 #endif
14355         newXS("Wx::Palette::GetPixel", XS_Wx__Palette_GetPixel, file);
14356         newXS("Wx::Palette::GetRGB", XS_Wx__Palette_GetRGB, file);
14357         newXS("Wx::Palette::Ok", XS_Wx__Palette_Ok, file);
14358 #if XSubPPtmpAAAB
14359         newXS("Wx::Palette::IsOk", XS_Wx__Palette_IsOk, file);
14360 #endif
14361         newXS("Wx::Image::new", XS_Wx__Image_new, file);
14362         newXS("Wx::Image::newNull", XS_Wx__Image_newNull, file);
14363         newXS("Wx::Image::newWH", XS_Wx__Image_newWH, file);
14364         newXS("Wx::Image::newData", XS_Wx__Image_newData, file);
14365 #if XSubPPtmpAAAC
14366         newXS("Wx::Image::newDataAlpha", XS_Wx__Image_newDataAlpha, file);
14367 #endif
14368         newXS("Wx::Image::newNameType", XS_Wx__Image_newNameType, file);
14369         newXS("Wx::Image::newNameMIME", XS_Wx__Image_newNameMIME, file);
14370         newXS("Wx::Image::newStreamType", XS_Wx__Image_newStreamType, file);
14371         newXS("Wx::Image::newStreamMIME", XS_Wx__Image_newStreamMIME, file);
14372         newXS("Wx::Image::newBitmap", XS_Wx__Image_newBitmap, file);
14373         newXS("Wx::Image::newIcon", XS_Wx__Image_newIcon, file);
14374         newXS("Wx::Image::CLONE", XS_Wx__Image_CLONE, file);
14375         newXS("Wx::Image::DESTROY", XS_Wx__Image_DESTROY, file);
14376         newXS("Wx::Image::AddHandler", XS_Wx__Image_AddHandler, file);
14377         newXS("Wx::Image::ConvertToMono", XS_Wx__Image_ConvertToMono, file);
14378 #if XSubPPtmpAAAD
14379         newXS("Wx::Image::ConvertAlphaToMask", XS_Wx__Image_ConvertAlphaToMask, file);
14380 #endif
14381 #if XSubPPtmpAAAE
14382         newXS("Wx::Image::ConvertColourToAlpha", XS_Wx__Image_ConvertColourToAlpha, file);
14383 #endif
14384 #if XSubPPtmpAAAF
14385         newXS("Wx::Image::ConvertToGreyscale", XS_Wx__Image_ConvertToGreyscale, file);
14386 #endif
14387         newXS("Wx::Image::Copy", XS_Wx__Image_Copy, file);
14388         newXS("Wx::Image::Create", XS_Wx__Image_Create, file);
14389         newXS("Wx::Image::Destroy", XS_Wx__Image_Destroy, file);
14390         newXS("Wx::Image::FindHandlerName", XS_Wx__Image_FindHandlerName, file);
14391         newXS("Wx::Image::FindHandlerExtType", XS_Wx__Image_FindHandlerExtType, file);
14392         newXS("Wx::Image::FindHandlerType", XS_Wx__Image_FindHandlerType, file);
14393         newXS("Wx::Image::FindHandlerMime", XS_Wx__Image_FindHandlerMime, file);
14394 #if XSubPPtmpAAAG
14395         newXS("Wx::Image::GetAlpha", XS_Wx__Image_GetAlpha, file);
14396         newXS("Wx::Image::GetAlphaXY", XS_Wx__Image_GetAlphaXY, file);
14397         newXS("Wx::Image::GetAlphaData", XS_Wx__Image_GetAlphaData, file);
14398 #endif
14399         newXS("Wx::Image::GetData", XS_Wx__Image_GetData, file);
14400         newXS("Wx::Image::GetBlue", XS_Wx__Image_GetBlue, file);
14401         newXS("Wx::Image::GetGreen", XS_Wx__Image_GetGreen, file);
14402         newXS("Wx::Image::GetRed", XS_Wx__Image_GetRed, file);
14403         newXS("Wx::Image::GetHeight", XS_Wx__Image_GetHeight, file);
14404         newXS("Wx::Image::GetMaskBlue", XS_Wx__Image_GetMaskBlue, file);
14405         newXS("Wx::Image::GetMaskGreen", XS_Wx__Image_GetMaskGreen, file);
14406         newXS("Wx::Image::GetMaskRed", XS_Wx__Image_GetMaskRed, file);
14407         newXS("Wx::Image::GetOption", XS_Wx__Image_GetOption, file);
14408         newXS("Wx::Image::GetOptionInt", XS_Wx__Image_GetOptionInt, file);
14409         newXS("Wx::Image::GetPalette", XS_Wx__Image_GetPalette, file);
14410         newXS("Wx::Image::GetSubImage", XS_Wx__Image_GetSubImage, file);
14411         newXS("Wx::Image::GetWidth", XS_Wx__Image_GetWidth, file);
14412 #if XSubPPtmpAAAH
14413         newXS("Wx::Image::HasAlpha", XS_Wx__Image_HasAlpha, file);
14414 #endif
14415 #if XSubPPtmpAAAI
14416         newXS("Wx::Image::InitAlpha", XS_Wx__Image_InitAlpha, file);
14417 #endif
14418 #if XSubPPtmpAAAJ
14419         newXS("Wx::Image::IsTransparent", XS_Wx__Image_IsTransparent, file);
14420 #endif
14421         newXS("Wx::Image::HasMask", XS_Wx__Image_HasMask, file);
14422         newXS("Wx::Image::HasOption", XS_Wx__Image_HasOption, file);
14423         newXS("Wx::Image::HasPalette", XS_Wx__Image_HasPalette, file);
14424         newXS("Wx::Image::InsertHandler", XS_Wx__Image_InsertHandler, file);
14425         newXS("Wx::Image::LoadFile", XS_Wx__Image_LoadFile, file);
14426         newXS("Wx::Image::LoadFileType", XS_Wx__Image_LoadFileType, file);
14427         newXS("Wx::Image::LoadFileMIME", XS_Wx__Image_LoadFileMIME, file);
14428         newXS("Wx::Image::LoadStreamType", XS_Wx__Image_LoadStreamType, file);
14429         newXS("Wx::Image::LoadStreamMIME", XS_Wx__Image_LoadStreamMIME, file);
14430         newXS("Wx::Image::Ok", XS_Wx__Image_Ok, file);
14431 #if XSubPPtmpAAAK
14432         newXS("Wx::Image::IsOk", XS_Wx__Image_IsOk, file);
14433 #endif
14434         newXS("Wx::Image::SaveFile", XS_Wx__Image_SaveFile, file);
14435         newXS("Wx::Image::SaveFileOnly", XS_Wx__Image_SaveFileOnly, file);
14436         newXS("Wx::Image::SaveFileType", XS_Wx__Image_SaveFileType, file);
14437         newXS("Wx::Image::SaveFileMIME", XS_Wx__Image_SaveFileMIME, file);
14438         newXS("Wx::Image::SaveStreamType", XS_Wx__Image_SaveStreamType, file);
14439         newXS("Wx::Image::SaveStreamMIME", XS_Wx__Image_SaveStreamMIME, file);
14440         newXS("Wx::Image::Mirror", XS_Wx__Image_Mirror, file);
14441         newXS("Wx::Image::Replace", XS_Wx__Image_Replace, file);
14442 #if XSubPPtmpAAAL
14443         newXS("Wx::Image::Rescale", XS_Wx__Image_Rescale, file);
14444 #endif
14445 #if XSubPPtmpAAAM
14446         newXS("Wx::Image::Rescale", XS_Wx__Image_Rescale, file);
14447 #endif
14448         newXS("Wx::Image::Rotate", XS_Wx__Image_Rotate, file);
14449 #if XSubPPtmpAAAN
14450         newXS("Wx::Image::RotateHue", XS_Wx__Image_RotateHue, file);
14451 #endif
14452         newXS("Wx::Image::Rotate90", XS_Wx__Image_Rotate90, file);
14453 #if XSubPPtmpAAAO
14454         newXS("Wx::Image::ShrinkBy", XS_Wx__Image_ShrinkBy, file);
14455 #endif
14456 #if XSubPPtmpAAAP
14457         newXS("Wx::Image::Scale", XS_Wx__Image_Scale, file);
14458 #endif
14459 #if XSubPPtmpAAAQ
14460         newXS("Wx::Image::Scale", XS_Wx__Image_Scale, file);
14461 #endif
14462 #if XSubPPtmpAAAR
14463         newXS("Wx::Image::SetAlpha", XS_Wx__Image_SetAlpha, file);
14464         newXS("Wx::Image::SetAlphaXY", XS_Wx__Image_SetAlphaXY, file);
14465         newXS("Wx::Image::SetAlphaData", XS_Wx__Image_SetAlphaData, file);
14466 #endif
14467         newXS("Wx::Image::SetData", XS_Wx__Image_SetData, file);
14468         newXS("Wx::Image::SetMask", XS_Wx__Image_SetMask, file);
14469         newXS("Wx::Image::SetMaskColour", XS_Wx__Image_SetMaskColour, file);
14470         newXS("Wx::Image::SetOption", XS_Wx__Image_SetOption, file);
14471         newXS("Wx::Image::SetOptionInt", XS_Wx__Image_SetOptionInt, file);
14472         newXS("Wx::Image::SetPalette", XS_Wx__Image_SetPalette, file);
14473 #if XSubPPtmpAAAS
14474         newXS("Wx::Image::SetRGB", XS_Wx__Image_SetRGB, file);
14475         newXS("Wx::Image::SetRGBpixel", XS_Wx__Image_SetRGBpixel, file);
14476         newXS("Wx::Image::SetRGBrect", XS_Wx__Image_SetRGBrect, file);
14477 #endif
14478 #if XSubPPtmpAAAT
14479         newXS("Wx::Image::SetRGB", XS_Wx__Image_SetRGB, file);
14480 #endif
14481 #if XSubPPtmpAAAU
14482         newXS("Wx::Image::Blur", XS_Wx__Image_Blur, file);
14483         newXS("Wx::Image::BlurHorizontal", XS_Wx__Image_BlurHorizontal, file);
14484         newXS("Wx::Image::BlurVertical", XS_Wx__Image_BlurVertical, file);
14485         newXS("Wx::Image::GetOrFindMaskColour", XS_Wx__Image_GetOrFindMaskColour, file);
14486 #endif
14487         newXS("Wx::ImageHandler::Destroy", XS_Wx__ImageHandler_Destroy, file);
14488         newXS("Wx::ImageHandler::GetImageCount", XS_Wx__ImageHandler_GetImageCount, file);
14489         newXS("Wx::ImageHandler::GetName", XS_Wx__ImageHandler_GetName, file);
14490         newXS("Wx::ImageHandler::GetExtension", XS_Wx__ImageHandler_GetExtension, file);
14491 #if XSubPPtmpAAAV
14492         newXS("Wx::ImageHandler::GetType", XS_Wx__ImageHandler_GetType, file);
14493 #endif
14494 #if XSubPPtmpAAAW
14495         newXS("Wx::ImageHandler::GetType", XS_Wx__ImageHandler_GetType, file);
14496 #endif
14497         newXS("Wx::ImageHandler::GetMimeType", XS_Wx__ImageHandler_GetMimeType, file);
14498         newXS("Wx::ImageHandler::LoadFile", XS_Wx__ImageHandler_LoadFile, file);
14499         newXS("Wx::ImageHandler::SaveFile", XS_Wx__ImageHandler_SaveFile, file);
14500         newXS("Wx::ImageHandler::SetName", XS_Wx__ImageHandler_SetName, file);
14501         newXS("Wx::ImageHandler::SetExtension", XS_Wx__ImageHandler_SetExtension, file);
14502         newXS("Wx::ImageHandler::SetMimeType", XS_Wx__ImageHandler_SetMimeType, file);
14503         newXS("Wx::ImageHandler::SetType", XS_Wx__ImageHandler_SetType, file);
14504         newXS("Wx::GIFHandler::new", XS_Wx__GIFHandler_new, file);
14505         newXS("Wx::BMPHandler::new", XS_Wx__BMPHandler_new, file);
14506         newXS("Wx::PNMHandler::new", XS_Wx__PNMHandler_new, file);
14507         newXS("Wx::PCXHandler::new", XS_Wx__PCXHandler_new, file);
14508         newXS("Wx::PNGHandler::new", XS_Wx__PNGHandler_new, file);
14509         newXS("Wx::JPEGHandler::new", XS_Wx__JPEGHandler_new, file);
14510 #if XSubPPtmpAAAX
14511         newXS("Wx::TIFFHandler::new", XS_Wx__TIFFHandler_new, file);
14512 #endif
14513         newXS("Wx::XPMHandler::new", XS_Wx__XPMHandler_new, file);
14514 #if XSubPPtmpAAAY
14515         newXS("Wx::IFFHandler::new", XS_Wx__IFFHandler_new, file);
14516 #endif
14517 #if XSubPPtmpAAAZ
14518         newXS("Wx::ICOHandler::new", XS_Wx__ICOHandler_new, file);
14519         newXS("Wx::CURHandler::new", XS_Wx__CURHandler_new, file);
14520         newXS("Wx::ANIHandler::new", XS_Wx__ANIHandler_new, file);
14521 #endif
14522 #if XSubPPtmpAABA
14523         newXS("Wx::TGAHandler::new", XS_Wx__TGAHandler_new, file);
14524 #endif
14525         newXS("Wx::InitAllImageHandlers", XS_Wx_InitAllImageHandlers, file);
14526         newXS("Wx::Brush::new", XS_Wx__Brush_new, file);
14527         newXS("Wx::Brush::newColour", XS_Wx__Brush_newColour, file);
14528         newXS("Wx::Brush::newName", XS_Wx__Brush_newName, file);
14529         newXS("Wx::Brush::newBitmap", XS_Wx__Brush_newBitmap, file);
14530         newXS("Wx::Brush::CLONE", XS_Wx__Brush_CLONE, file);
14531         newXS("Wx::Brush::DESTROY", XS_Wx__Brush_DESTROY, file);
14532         newXS("Wx::Brush::GetColour", XS_Wx__Brush_GetColour, file);
14533         newXS("Wx::Brush::GetStipple", XS_Wx__Brush_GetStipple, file);
14534         newXS("Wx::Brush::GetStyle", XS_Wx__Brush_GetStyle, file);
14535         newXS("Wx::Brush::Ok", XS_Wx__Brush_Ok, file);
14536 #if XSubPPtmpAABB
14537         newXS("Wx::Brush::IsOk", XS_Wx__Brush_IsOk, file);
14538 #endif
14539 #if XSubPPtmpAABC
14540         newXS("Wx::Brush::IsHatch", XS_Wx__Brush_IsHatch, file);
14541 #endif
14542         newXS("Wx::Brush::SetColour", XS_Wx__Brush_SetColour, file);
14543         newXS("Wx::Brush::SetColourColour", XS_Wx__Brush_SetColourColour, file);
14544         newXS("Wx::Brush::SetColourName", XS_Wx__Brush_SetColourName, file);
14545         newXS("Wx::Brush::SetColourRGB", XS_Wx__Brush_SetColourRGB, file);
14546         newXS("Wx::Brush::SetStipple", XS_Wx__Brush_SetStipple, file);
14547         newXS("Wx::Brush::SetStyle", XS_Wx__Brush_SetStyle, file);
14548         newXS("Wx::Pen::new", XS_Wx__Pen_new, file);
14549         newXS("Wx::Pen::newColour", XS_Wx__Pen_newColour, file);
14550         newXS("Wx::Pen::newString", XS_Wx__Pen_newString, file);
14551 #if XSubPPtmpAABD
14552         newXS("Wx::Pen::newBitmap", XS_Wx__Pen_newBitmap, file);
14553 #endif
14554         newXS("Wx::Pen::CLONE", XS_Wx__Pen_CLONE, file);
14555         newXS("Wx::Pen::DESTROY", XS_Wx__Pen_DESTROY, file);
14556         newXS("Wx::Pen::GetCap", XS_Wx__Pen_GetCap, file);
14557         newXS("Wx::Pen::GetColour", XS_Wx__Pen_GetColour, file);
14558         newXS("Wx::Pen::GetDashes", XS_Wx__Pen_GetDashes, file);
14559         newXS("Wx::Pen::GetJoin", XS_Wx__Pen_GetJoin, file);
14560 #if XSubPPtmpAABE
14561         newXS("Wx::Pen::GetStipple", XS_Wx__Pen_GetStipple, file);
14562 #endif
14563         newXS("Wx::Pen::GetStyle", XS_Wx__Pen_GetStyle, file);
14564         newXS("Wx::Pen::GetWidth", XS_Wx__Pen_GetWidth, file);
14565         newXS("Wx::Pen::Ok", XS_Wx__Pen_Ok, file);
14566 #if XSubPPtmpAABF
14567         newXS("Wx::Pen::IsOk", XS_Wx__Pen_IsOk, file);
14568 #endif
14569         newXS("Wx::Pen::SetCap", XS_Wx__Pen_SetCap, file);
14570         newXS("Wx::Pen::SetColour", XS_Wx__Pen_SetColour, file);
14571         newXS("Wx::Pen::SetColourColour", XS_Wx__Pen_SetColourColour, file);
14572         newXS("Wx::Pen::SetColourName", XS_Wx__Pen_SetColourName, file);
14573         newXS("Wx::Pen::SetColourRGB", XS_Wx__Pen_SetColourRGB, file);
14574         newXS("Wx::Pen::SetDashes", XS_Wx__Pen_SetDashes, file);
14575         newXS("Wx::Pen::SetJoin", XS_Wx__Pen_SetJoin, file);
14576 #if XSubPPtmpAABG
14577         newXS("Wx::Pen::SetStipple", XS_Wx__Pen_SetStipple, file);
14578 #endif
14579         newXS("Wx::Pen::SetStyle", XS_Wx__Pen_SetStyle, file);
14580         newXS("Wx::Pen::SetWidth", XS_Wx__Pen_SetWidth, file);
14581         newXS("Wx::DC::CLONE", XS_Wx__DC_CLONE, file);
14582         newXS("Wx::DC::DESTROY", XS_Wx__DC_DESTROY, file);
14583 #if XSubPPtmpAABH
14584         newXS("Wx::DC::BeginDrawing", XS_Wx__DC_BeginDrawing, file);
14585 #endif
14586         newXS("Wx::DC::Blit", XS_Wx__DC_Blit, file);
14587 #if XSubPPtmpAABI
14588         newXS("Wx::DC::StretchBlit", XS_Wx__DC_StretchBlit, file);
14589 #endif
14590         newXS("Wx::DC::CalcBoundingBox", XS_Wx__DC_CalcBoundingBox, file);
14591         newXS("Wx::DC::Clear", XS_Wx__DC_Clear, file);
14592         newXS("Wx::DC::CrossHair", XS_Wx__DC_CrossHair, file);
14593         newXS("Wx::DC::DestroyClippingRegion", XS_Wx__DC_DestroyClippingRegion, file);
14594         newXS("Wx::DC::DeviceToLogicalX", XS_Wx__DC_DeviceToLogicalX, file);
14595         newXS("Wx::DC::DeviceToLogicalXRel", XS_Wx__DC_DeviceToLogicalXRel, file);
14596         newXS("Wx::DC::DeviceToLogicalY", XS_Wx__DC_DeviceToLogicalY, file);
14597         newXS("Wx::DC::DeviceToLogicalYRel", XS_Wx__DC_DeviceToLogicalYRel, file);
14598         newXS("Wx::DC::DrawArc", XS_Wx__DC_DrawArc, file);
14599         newXS("Wx::DC::DrawBitmap", XS_Wx__DC_DrawBitmap, file);
14600         newXS("Wx::DC::DrawCheckMark", XS_Wx__DC_DrawCheckMark, file);
14601         newXS("Wx::DC::DrawCheckMarkXYWH", XS_Wx__DC_DrawCheckMarkXYWH, file);
14602         newXS("Wx::DC::DrawCheckMarkRect", XS_Wx__DC_DrawCheckMarkRect, file);
14603         newXS("Wx::DC::DrawCircle", XS_Wx__DC_DrawCircle, file);
14604         newXS("Wx::DC::DrawEllipse", XS_Wx__DC_DrawEllipse, file);
14605         newXS("Wx::DC::DrawEllipticArc", XS_Wx__DC_DrawEllipticArc, file);
14606         newXS("Wx::DC::DrawIcon", XS_Wx__DC_DrawIcon, file);
14607         newXS("Wx::DC::DrawLine", XS_Wx__DC_DrawLine, file);
14608         newXS("Wx::DC::DrawLines", XS_Wx__DC_DrawLines, file);
14609         newXS("Wx::DC::DrawPoint", XS_Wx__DC_DrawPoint, file);
14610         newXS("Wx::DC::DrawPolygon", XS_Wx__DC_DrawPolygon, file);
14611         newXS("Wx::DC::DrawRectangle", XS_Wx__DC_DrawRectangle, file);
14612         newXS("Wx::DC::DrawRotatedText", XS_Wx__DC_DrawRotatedText, file);
14613         newXS("Wx::DC::DrawRoundedRectangle", XS_Wx__DC_DrawRoundedRectangle, file);
14614         newXS("Wx::DC::DrawSpline", XS_Wx__DC_DrawSpline, file);
14615         newXS("Wx::DC::DrawText", XS_Wx__DC_DrawText, file);
14616         newXS("Wx::DC::EndDoc", XS_Wx__DC_EndDoc, file);
14617 #if XSubPPtmpAABJ
14618         newXS("Wx::DC::EndDrawing", XS_Wx__DC_EndDrawing, file);
14619 #endif
14620         newXS("Wx::DC::EndPage", XS_Wx__DC_EndPage, file);
14621         newXS("Wx::DC::FloodFill", XS_Wx__DC_FloodFill, file);
14622 #if XSubPPtmpAABK
14623         newXS("Wx::DC::GetAsBitmap", XS_Wx__DC_GetAsBitmap, file);
14624 #endif
14625         newXS("Wx::DC::GetBackground", XS_Wx__DC_GetBackground, file);
14626         newXS("Wx::DC::GetBackgroundMode", XS_Wx__DC_GetBackgroundMode, file);
14627         newXS("Wx::DC::GetBrush", XS_Wx__DC_GetBrush, file);
14628         newXS("Wx::DC::GetCharHeight", XS_Wx__DC_GetCharHeight, file);
14629         newXS("Wx::DC::GetCharWidth", XS_Wx__DC_GetCharWidth, file);
14630         newXS("Wx::DC::GetClippingBox", XS_Wx__DC_GetClippingBox, file);
14631         newXS("Wx::DC::GetFont", XS_Wx__DC_GetFont, file);
14632         newXS("Wx::DC::GetLogicalFunction", XS_Wx__DC_GetLogicalFunction, file);
14633         newXS("Wx::DC::GetMapMode", XS_Wx__DC_GetMapMode, file);
14634 #if XSubPPtmpAABL
14635         newXS("Wx::DC::GetOptimization", XS_Wx__DC_GetOptimization, file);
14636 #endif
14637         newXS("Wx::DC::GetPen", XS_Wx__DC_GetPen, file);
14638         newXS("Wx::DC::GetPixel", XS_Wx__DC_GetPixel, file);
14639         newXS("Wx::DC::GetSize", XS_Wx__DC_GetSize, file);
14640         newXS("Wx::DC::GetSizeWH", XS_Wx__DC_GetSizeWH, file);
14641         newXS("Wx::DC::GetSizeMM", XS_Wx__DC_GetSizeMM, file);
14642         newXS("Wx::DC::GetSizeMMWH", XS_Wx__DC_GetSizeMMWH, file);
14643         newXS("Wx::DC::GetPPI", XS_Wx__DC_GetPPI, file);
14644         newXS("Wx::DC::GetTextBackground", XS_Wx__DC_GetTextBackground, file);
14645         newXS("Wx::DC::GetTextExtent", XS_Wx__DC_GetTextExtent, file);
14646         newXS("Wx::DC::GetPartialTextExtents", XS_Wx__DC_GetPartialTextExtents, file);
14647         newXS("Wx::DC::GetMultiLineTextExtent", XS_Wx__DC_GetMultiLineTextExtent, file);
14648         newXS("Wx::DC::GetTextForeground", XS_Wx__DC_GetTextForeground, file);
14649         newXS("Wx::DC::GetUserScale", XS_Wx__DC_GetUserScale, file);
14650 #if XSubPPtmpAABM
14651         newXS("Wx::DC::GradientFillLinear", XS_Wx__DC_GradientFillLinear, file);
14652 #endif
14653         newXS("Wx::DC::LogicalToDeviceX", XS_Wx__DC_LogicalToDeviceX, file);
14654         newXS("Wx::DC::LogicalToDeviceXRel", XS_Wx__DC_LogicalToDeviceXRel, file);
14655         newXS("Wx::DC::LogicalToDeviceY", XS_Wx__DC_LogicalToDeviceY, file);
14656         newXS("Wx::DC::LogicalToDeviceYRel", XS_Wx__DC_LogicalToDeviceYRel, file);
14657         newXS("Wx::DC::MaxX", XS_Wx__DC_MaxX, file);
14658         newXS("Wx::DC::MaxY", XS_Wx__DC_MaxY, file);
14659         newXS("Wx::DC::MinX", XS_Wx__DC_MinX, file);
14660         newXS("Wx::DC::MinY", XS_Wx__DC_MinY, file);
14661 #if XSubPPtmpAABN
14662         newXS("Wx::DC::IsOk", XS_Wx__DC_IsOk, file);
14663         newXS("Wx::DC::Ok", XS_Wx__DC_Ok, file);
14664 #endif
14665 #if XSubPPtmpAABO
14666         newXS("Wx::DC::Ok", XS_Wx__DC_Ok, file);
14667 #endif
14668         newXS("Wx::DC::ResetBoundingBox", XS_Wx__DC_ResetBoundingBox, file);
14669         newXS("Wx::DC::SetAxisOrientation", XS_Wx__DC_SetAxisOrientation, file);
14670         newXS("Wx::DC::GetDepth", XS_Wx__DC_GetDepth, file);
14671         newXS("Wx::DC::GetDeviceOrigin", XS_Wx__DC_GetDeviceOrigin, file);
14672         newXS("Wx::DC::SetDeviceOrigin", XS_Wx__DC_SetDeviceOrigin, file);
14673         newXS("Wx::DC::SetBackground", XS_Wx__DC_SetBackground, file);
14674         newXS("Wx::DC::SetBackgroundMode", XS_Wx__DC_SetBackgroundMode, file);
14675         newXS("Wx::DC::SetBrush", XS_Wx__DC_SetBrush, file);
14676         newXS("Wx::DC::SetClippingRegion", XS_Wx__DC_SetClippingRegion, file);
14677         newXS("Wx::DC::SetClippingRegionXYWH", XS_Wx__DC_SetClippingRegionXYWH, file);
14678         newXS("Wx::DC::SetClippingRegionRegion", XS_Wx__DC_SetClippingRegionRegion, file);
14679         newXS("Wx::DC::SetFont", XS_Wx__DC_SetFont, file);
14680         newXS("Wx::DC::SetLogicalFunction", XS_Wx__DC_SetLogicalFunction, file);
14681         newXS("Wx::DC::SetMapMode", XS_Wx__DC_SetMapMode, file);
14682 #if XSubPPtmpAABP
14683         newXS("Wx::DC::SetOptimization", XS_Wx__DC_SetOptimization, file);
14684 #endif
14685         newXS("Wx::DC::SetPalette", XS_Wx__DC_SetPalette, file);
14686         newXS("Wx::DC::SetPen", XS_Wx__DC_SetPen, file);
14687         newXS("Wx::DC::SetTextBackground", XS_Wx__DC_SetTextBackground, file);
14688         newXS("Wx::DC::SetTextForeground", XS_Wx__DC_SetTextForeground, file);
14689         newXS("Wx::DC::SetUserScale", XS_Wx__DC_SetUserScale, file);
14690         newXS("Wx::DC::StartDoc", XS_Wx__DC_StartDoc, file);
14691         newXS("Wx::DC::StartPage", XS_Wx__DC_StartPage, file);
14692         newXS("Wx::DC::GetLogicalScale", XS_Wx__DC_GetLogicalScale, file);
14693         newXS("Wx::DC::SetLogicalScale", XS_Wx__DC_SetLogicalScale, file);
14694 #if XSubPPtmpAABQ
14695         newXS("Wx::DC::GetLayoutDirection", XS_Wx__DC_GetLayoutDirection, file);
14696         newXS("Wx::DC::SetLayoutDirection", XS_Wx__DC_SetLayoutDirection, file);
14697 #endif
14698         newXS("Wx::ScreenDC::new", XS_Wx__ScreenDC_new, file);
14699         newXS("Wx::ScreenDC::EndDrawingOnTop", XS_Wx__ScreenDC_EndDrawingOnTop, file);
14700         newXS("Wx::ScreenDC::StartDrawingOnTop", XS_Wx__ScreenDC_StartDrawingOnTop, file);
14701         newXS("Wx::ScreenDC::StartDrawingOnTopWindow", XS_Wx__ScreenDC_StartDrawingOnTopWindow, file);
14702         newXS("Wx::ScreenDC::StartDrawingOnTopRect", XS_Wx__ScreenDC_StartDrawingOnTopRect, file);
14703         newXS("Wx::WindowDC::new", XS_Wx__WindowDC_new, file);
14704         newXS("Wx::PaintDC::new", XS_Wx__PaintDC_new, file);
14705         newXS("Wx::MemoryDC::new", XS_Wx__MemoryDC_new, file);
14706         newXS("Wx::MemoryDC::SelectObject", XS_Wx__MemoryDC_SelectObject, file);
14707 #if XSubPPtmpAABR
14708         newXS("Wx::MemoryDC::SelectObjectAsSource", XS_Wx__MemoryDC_SelectObjectAsSource, file);
14709 #endif
14710         newXS("Wx::ClientDC::new", XS_Wx__ClientDC_new, file);
14711         newXS("Wx::BufferedDC::newDefault", XS_Wx__BufferedDC_newDefault, file);
14712 #if XSubPPtmpAABS
14713         newXS("Wx::BufferedDC::newBitmap", XS_Wx__BufferedDC_newBitmap, file);
14714         newXS("Wx::BufferedDC::newSize", XS_Wx__BufferedDC_newSize, file);
14715         newXS("Wx::BufferedDC::InitBitmap", XS_Wx__BufferedDC_InitBitmap, file);
14716         newXS("Wx::BufferedDC::InitSize", XS_Wx__BufferedDC_InitSize, file);
14717 #endif
14718 #if XSubPPtmpAABT
14719         newXS("Wx::BufferedDC::newBitmap", XS_Wx__BufferedDC_newBitmap, file);
14720         newXS("Wx::BufferedDC::newSize", XS_Wx__BufferedDC_newSize, file);
14721         newXS("Wx::BufferedDC::InitBitmap", XS_Wx__BufferedDC_InitBitmap, file);
14722         newXS("Wx::BufferedDC::InitSize", XS_Wx__BufferedDC_InitSize, file);
14723 #endif
14724         newXS("Wx::BufferedDC::new", XS_Wx__BufferedDC_new, file);
14725         newXS("Wx::BufferedDC::Init", XS_Wx__BufferedDC_Init, file);
14726         newXS("Wx::BufferedDC::UnMask", XS_Wx__BufferedDC_UnMask, file);
14727 #if XSubPPtmpAABU
14728         newXS("Wx::BufferedDC::SetStyle", XS_Wx__BufferedDC_SetStyle, file);
14729         newXS("Wx::BufferedDC::GetStyle", XS_Wx__BufferedDC_GetStyle, file);
14730 #endif
14731 #if XSubPPtmpAABV
14732         newXS("Wx::BufferedPaintDC::newBitmap", XS_Wx__BufferedPaintDC_newBitmap, file);
14733         newXS("Wx::BufferedPaintDC::newWindow", XS_Wx__BufferedPaintDC_newWindow, file);
14734 #endif
14735 #if XSubPPtmpAABW
14736         newXS("Wx::BufferedPaintDC::newBitmap", XS_Wx__BufferedPaintDC_newBitmap, file);
14737         newXS("Wx::BufferedPaintDC::newWindow", XS_Wx__BufferedPaintDC_newWindow, file);
14738 #endif
14739         newXS("Wx::BufferedPaintDC::new", XS_Wx__BufferedPaintDC_new, file);
14740 #if XSubPPtmpAABX
14741         newXS("Wx::AutoBufferedPaintDC::new", XS_Wx__AutoBufferedPaintDC_new, file);
14742         newXS("Wx::AutoBufferedPaintDCFactory", XS_Wx_AutoBufferedPaintDCFactory, file);
14743         newXS("Wx::MirrorDC::new", XS_Wx__MirrorDC_new, file);
14744         newXS("Wx::DCClipper::new", XS_Wx__DCClipper_new, file);
14745         newXS("Wx::DCClipper::newRegion", XS_Wx__DCClipper_newRegion, file);
14746         newXS("Wx::DCClipper::newRect", XS_Wx__DCClipper_newRect, file);
14747         newXS("Wx::DCClipper::newXYWH", XS_Wx__DCClipper_newXYWH, file);
14748         newXS("Wx::DCClipper::CLONE", XS_Wx__DCClipper_CLONE, file);
14749         newXS("Wx::DCClipper::DESTROY", XS_Wx__DCClipper_DESTROY, file);
14750 #endif
14751         newXS("Wx::Cursor::new", XS_Wx__Cursor_new, file);
14752 #if XSubPPtmpAABY
14753         newXS("Wx::Cursor::newFile", XS_Wx__Cursor_newFile, file);
14754 #endif
14755         newXS("Wx::Cursor::newId", XS_Wx__Cursor_newId, file);
14756 #if XSubPPtmpAABZ
14757         newXS("Wx::Cursor::newImage", XS_Wx__Cursor_newImage, file);
14758 #endif
14759 #if XSubPPtmpAACA
14760         newXS("Wx::Cursor::newData", XS_Wx__Cursor_newData, file);
14761 #endif
14762         newXS("Wx::Cursor::CLONE", XS_Wx__Cursor_CLONE, file);
14763         newXS("Wx::Cursor::DESTROY", XS_Wx__Cursor_DESTROY, file);
14764         newXS("Wx::Cursor::Ok", XS_Wx__Cursor_Ok, file);
14765 #if XSubPPtmpAACB
14766         newXS("Wx::Cursor::IsOk", XS_Wx__Cursor_IsOk, file);
14767 #endif
14768         newXS("Wx::GetWxPerlIcon", XS_Wx_GetWxPerlIcon, file);
14769         newXS("Wx::Icon::new", XS_Wx__Icon_new, file);
14770         newXS("Wx::Icon::newNull", XS_Wx__Icon_newNull, file);
14771         newXS("Wx::Icon::newFile", XS_Wx__Icon_newFile, file);
14772         newXS("Wx::Icon::newFromXPM", XS_Wx__Icon_newFromXPM, file);
14773 #if XSubPPtmpAACC
14774         newXS("Wx::Icon::newLocation", XS_Wx__Icon_newLocation, file);
14775 #endif
14776         newXS("Wx::Icon::CLONE", XS_Wx__Icon_CLONE, file);
14777         newXS("Wx::Icon::DESTROY", XS_Wx__Icon_DESTROY, file);
14778         newXS("Wx::Icon::LoadFile", XS_Wx__Icon_LoadFile, file);
14779         newXS("Wx::Icon::Ok", XS_Wx__Icon_Ok, file);
14780 #if XSubPPtmpAACD
14781         newXS("Wx::Icon::IsOk", XS_Wx__Icon_IsOk, file);
14782 #endif
14783         newXS("Wx::Icon::CopyFromBitmap", XS_Wx__Icon_CopyFromBitmap, file);
14784 #if XSubPPtmpAACE
14785         newXS("Wx::Icon::GetDepth", XS_Wx__Icon_GetDepth, file);
14786         newXS("Wx::Icon::GetHeight", XS_Wx__Icon_GetHeight, file);
14787         newXS("Wx::Icon::GetWidth", XS_Wx__Icon_GetWidth, file);
14788         newXS("Wx::Icon::SetDepth", XS_Wx__Icon_SetDepth, file);
14789         newXS("Wx::Icon::SetHeight", XS_Wx__Icon_SetHeight, file);
14790         newXS("Wx::Icon::SetWidth", XS_Wx__Icon_SetWidth, file);
14791 #endif
14792         newXS("Wx::Mask::new", XS_Wx__Mask_new, file);
14793         newXS("Wx::Mask::newBitmap", XS_Wx__Mask_newBitmap, file);
14794         newXS("Wx::Mask::newBitmapColour", XS_Wx__Mask_newBitmapColour, file);
14795         newXS("Wx::Mask::newBitmapIndex", XS_Wx__Mask_newBitmapIndex, file);
14796         newXS("Wx::Mask::Destroy", XS_Wx__Mask_Destroy, file);
14797 #if XSubPPtmpAACF
14798         newXS("Wx::Bitmap::bmp_spaceship", XS_Wx__Bitmap_bmp_spaceship, file);
14799 #endif
14800         newXS("Wx::Bitmap::new", XS_Wx__Bitmap_new, file);
14801         newXS("Wx::Bitmap::newEmpty", XS_Wx__Bitmap_newEmpty, file);
14802         newXS("Wx::Bitmap::newFile", XS_Wx__Bitmap_newFile, file);
14803         newXS("Wx::Bitmap::newIcon", XS_Wx__Bitmap_newIcon, file);
14804         newXS("Wx::Bitmap::newFromBits", XS_Wx__Bitmap_newFromBits, file);
14805         newXS("Wx::Bitmap::newFromXPM", XS_Wx__Bitmap_newFromXPM, file);
14806         newXS("Wx::Bitmap::newImage", XS_Wx__Bitmap_newImage, file);
14807         newXS("Wx::Bitmap::CLONE", XS_Wx__Bitmap_CLONE, file);
14808         newXS("Wx::Bitmap::DESTROY", XS_Wx__Bitmap_DESTROY, file);
14809         newXS("Wx::Bitmap::ConvertToImage", XS_Wx__Bitmap_ConvertToImage, file);
14810         newXS("Wx::Bitmap::CopyFromIcon", XS_Wx__Bitmap_CopyFromIcon, file);
14811 #if XSubPPtmpAACG
14812         newXS("Wx::Bitmap::AddHandler", XS_Wx__Bitmap_AddHandler, file);
14813 #endif
14814 #if XSubPPtmpAACH
14815         newXS("Wx::Bitmap::FindHandlerName", XS_Wx__Bitmap_FindHandlerName, file);
14816         newXS("Wx::Bitmap::FindHandlerExtType", XS_Wx__Bitmap_FindHandlerExtType, file);
14817         newXS("Wx::Bitmap::FindHandlerType", XS_Wx__Bitmap_FindHandlerType, file);
14818 #endif
14819         newXS("Wx::Bitmap::GetDepth", XS_Wx__Bitmap_GetDepth, file);
14820 #if XSubPPtmpAACI
14821         newXS("Wx::Bitmap::GetHandlers", XS_Wx__Bitmap_GetHandlers, file);
14822 #endif
14823         newXS("Wx::Bitmap::GetHeight", XS_Wx__Bitmap_GetHeight, file);
14824         newXS("Wx::Bitmap::GetPalette", XS_Wx__Bitmap_GetPalette, file);
14825         newXS("Wx::Bitmap::GetMask", XS_Wx__Bitmap_GetMask, file);
14826         newXS("Wx::Bitmap::GetWidth", XS_Wx__Bitmap_GetWidth, file);
14827         newXS("Wx::Bitmap::GetSubBitmap", XS_Wx__Bitmap_GetSubBitmap, file);
14828 #if XSubPPtmpAACJ
14829         newXS("Wx::Bitmap::InitStandardHandlers", XS_Wx__Bitmap_InitStandardHandlers, file);
14830         newXS("Wx::Bitmap::InsertHandler", XS_Wx__Bitmap_InsertHandler, file);
14831 #endif
14832 #if XSubPPtmpAACK
14833         newXS("Wx::Bitmap::LoadFile", XS_Wx__Bitmap_LoadFile, file);
14834 #endif
14835 #if XSubPPtmpAACL
14836         newXS("Wx::Bitmap::LoadFile", XS_Wx__Bitmap_LoadFile, file);
14837 #endif
14838         newXS("Wx::Bitmap::Ok", XS_Wx__Bitmap_Ok, file);
14839 #if XSubPPtmpAACM
14840         newXS("Wx::Bitmap::IsOk", XS_Wx__Bitmap_IsOk, file);
14841 #endif
14842 #if XSubPPtmpAACN
14843         newXS("Wx::Bitmap::RemoveHandler", XS_Wx__Bitmap_RemoveHandler, file);
14844 #endif
14845         newXS("Wx::Bitmap::SaveFile", XS_Wx__Bitmap_SaveFile, file);
14846         newXS("Wx::Bitmap::SetDepth", XS_Wx__Bitmap_SetDepth, file);
14847         newXS("Wx::Bitmap::SetHeight", XS_Wx__Bitmap_SetHeight, file);
14848         newXS("Wx::Bitmap::SetMask", XS_Wx__Bitmap_SetMask, file);
14849 #if XSubPPtmpAACO
14850         newXS("Wx::Bitmap::SetPalette", XS_Wx__Bitmap_SetPalette, file);
14851 #endif
14852         newXS("Wx::Bitmap::SetWidth", XS_Wx__Bitmap_SetWidth, file);
14853         newXS("Wx::ImageList::new", XS_Wx__ImageList_new, file);
14854         newXS("Wx::ImageList::AddBitmap", XS_Wx__ImageList_AddBitmap, file);
14855         newXS("Wx::ImageList::AddWithColourMask", XS_Wx__ImageList_AddWithColourMask, file);
14856         newXS("Wx::ImageList::AddIcon", XS_Wx__ImageList_AddIcon, file);
14857         newXS("Wx::ImageList::Draw", XS_Wx__ImageList_Draw, file);
14858         newXS("Wx::ImageList::GetImageCount", XS_Wx__ImageList_GetImageCount, file);
14859         newXS("Wx::ImageList::Remove", XS_Wx__ImageList_Remove, file);
14860         newXS("Wx::ImageList::RemoveAll", XS_Wx__ImageList_RemoveAll, file);
14861 #if XSubPPtmpAACP
14862         newXS("Wx::ImageList::ReplaceBitmap", XS_Wx__ImageList_ReplaceBitmap, file);
14863 #endif
14864 #if XSubPPtmpAACQ
14865         newXS("Wx::ImageList::ReplaceBitmap", XS_Wx__ImageList_ReplaceBitmap, file);
14866 #endif
14867         newXS("Wx::ImageList::ReplaceIcon", XS_Wx__ImageList_ReplaceIcon, file);
14868 #if XSubPPtmpAACR
14869         newXS("Wx::ImageList::GetBitmap", XS_Wx__ImageList_GetBitmap, file);
14870         newXS("Wx::ImageList::GetIcon", XS_Wx__ImageList_GetIcon, file);
14871 #endif
14872         newXS("Wx::ImageList::CLONE", XS_Wx__ImageList_CLONE, file);
14873         newXS("Wx::ImageList::DESTROY", XS_Wx__ImageList_DESTROY, file);
14874         newXS("Wx::ImageList::Add", XS_Wx__ImageList_Add, file);
14875         newXS("Wx::ImageList::GetSize", XS_Wx__ImageList_GetSize, file);
14876         newXS("Wx::ImageList::Replace", XS_Wx__ImageList_Replace, file);
14877         newXS("Wx::NativeFontInfo::new", XS_Wx__NativeFontInfo_new, file);
14878         newXS("Wx::NativeFontInfo::CLONE", XS_Wx__NativeFontInfo_CLONE, file);
14879         newXS("Wx::NativeFontInfo::DESTROY", XS_Wx__NativeFontInfo_DESTROY, file);
14880         newXS("Wx::NativeFontInfo::FromString", XS_Wx__NativeFontInfo_FromString, file);
14881         newXS("Wx::NativeFontInfo::ToString", XS_Wx__NativeFontInfo_ToString, file);
14882         newXS("Wx::NativeFontInfo::FromUserString", XS_Wx__NativeFontInfo_FromUserString, file);
14883         newXS("Wx::NativeFontInfo::ToUserString", XS_Wx__NativeFontInfo_ToUserString, file);
14884         newXS("Wx::Font::new", XS_Wx__Font_new, file);
14885         newXS("Wx::Font::newNativeInfo", XS_Wx__Font_newNativeInfo, file);
14886         newXS("Wx::Font::newFont", XS_Wx__Font_newFont, file);
14887         newXS("Wx::Font::newLong", XS_Wx__Font_newLong, file);
14888 #if XSubPPtmpAACS
14889         newXS("Wx::Font::newSize", XS_Wx__Font_newSize, file);
14890 #endif
14891         newXS("Wx::Font::New", XS_Wx__Font_New, file);
14892         newXS("Wx::Font::NewPoint", XS_Wx__Font_NewPoint, file);
14893         newXS("Wx::Font::NewPointFlags", XS_Wx__Font_NewPointFlags, file);
14894 #if XSubPPtmpAACT
14895         newXS("Wx::Font::NewSize", XS_Wx__Font_NewSize, file);
14896         newXS("Wx::Font::NewSizeFlags", XS_Wx__Font_NewSizeFlags, file);
14897 #endif
14898         newXS("Wx::Font::CLONE", XS_Wx__Font_CLONE, file);
14899         newXS("Wx::Font::DESTROY", XS_Wx__Font_DESTROY, file);
14900         newXS("Wx::Font::font_spaceship", XS_Wx__Font_font_spaceship, file);
14901         newXS("Wx::Font::GetDefaultEncoding", XS_Wx__Font_GetDefaultEncoding, file);
14902         newXS("Wx::Font::GetFaceName", XS_Wx__Font_GetFaceName, file);
14903         newXS("Wx::Font::GetFamily", XS_Wx__Font_GetFamily, file);
14904 #if XSubPPtmpAACU
14905         newXS("Wx::Font::GetNativeFontInfo", XS_Wx__Font_GetNativeFontInfo, file);
14906 #endif
14907 #if XSubPPtmpAACV
14908         newXS("Wx::Font::GetNativeFontInfo", XS_Wx__Font_GetNativeFontInfo, file);
14909 #endif
14910         newXS("Wx::Font::SetNativeFontInfoUserDesc", XS_Wx__Font_SetNativeFontInfoUserDesc, file);
14911         newXS("Wx::Font::GetFamilyString", XS_Wx__Font_GetFamilyString, file);
14912         newXS("Wx::Font::GetStyleString", XS_Wx__Font_GetStyleString, file);
14913         newXS("Wx::Font::GetWeightString", XS_Wx__Font_GetWeightString, file);
14914         newXS("Wx::Font::GetNativeFontInfoDesc", XS_Wx__Font_GetNativeFontInfoDesc, file);
14915         newXS("Wx::Font::GetNativeFontInfoUserDesc", XS_Wx__Font_GetNativeFontInfoUserDesc, file);
14916 #if XSubPPtmpAACW
14917         newXS("Wx::Font::GetPixelSize", XS_Wx__Font_GetPixelSize, file);
14918 #endif
14919         newXS("Wx::Font::GetEncoding", XS_Wx__Font_GetEncoding, file);
14920         newXS("Wx::Font::GetPointSize", XS_Wx__Font_GetPointSize, file);
14921         newXS("Wx::Font::GetStyle", XS_Wx__Font_GetStyle, file);
14922         newXS("Wx::Font::GetUnderlined", XS_Wx__Font_GetUnderlined, file);
14923         newXS("Wx::Font::GetWeight", XS_Wx__Font_GetWeight, file);
14924         newXS("Wx::Font::IsFixedWidth", XS_Wx__Font_IsFixedWidth, file);
14925         newXS("Wx::Font::Ok", XS_Wx__Font_Ok, file);
14926 #if XSubPPtmpAACX
14927         newXS("Wx::Font::IsOk", XS_Wx__Font_IsOk, file);
14928 #endif
14929         newXS("Wx::Font::SetDefaultEncoding", XS_Wx__Font_SetDefaultEncoding, file);
14930 #if XSubPPtmpAACY
14931         newXS("Wx::Font::SetFaceName", XS_Wx__Font_SetFaceName, file);
14932 #endif
14933 #if XSubPPtmpAACZ
14934         newXS("Wx::Font::SetFaceName", XS_Wx__Font_SetFaceName, file);
14935 #endif
14936         newXS("Wx::Font::SetEncoding", XS_Wx__Font_SetEncoding, file);
14937         newXS("Wx::Font::SetFamily", XS_Wx__Font_SetFamily, file);
14938         newXS("Wx::Font::SetNativeFontInfo", XS_Wx__Font_SetNativeFontInfo, file);
14939 #if XSubPPtmpAADA
14940         newXS("Wx::Font::SetPixelSize", XS_Wx__Font_SetPixelSize, file);
14941         newXS("Wx::Font::IsUsingSizeInPixels", XS_Wx__Font_IsUsingSizeInPixels, file);
14942 #endif
14943         newXS("Wx::Font::SetPointSize", XS_Wx__Font_SetPointSize, file);
14944         newXS("Wx::Font::SetStyle", XS_Wx__Font_SetStyle, file);
14945         newXS("Wx::Font::SetUnderlined", XS_Wx__Font_SetUnderlined, file);
14946         newXS("Wx::Font::SetWeight", XS_Wx__Font_SetWeight, file);
14947         newXS("Wx::ColourDatabase::AddColour", XS_Wx__ColourDatabase_AddColour, file);
14948         newXS("Wx::ColourDatabase::Find", XS_Wx__ColourDatabase_Find, file);
14949         newXS("Wx::ColourDatabase::FindName", XS_Wx__ColourDatabase_FindName, file);
14950         newXS("Wx::Colour::new", XS_Wx__Colour_new, file);
14951 #if XSubPPtmpAADB
14952         newXS("Wx::Colour::newRGBA", XS_Wx__Colour_newRGBA, file);
14953 #endif
14954         newXS("Wx::Colour::newRGB", XS_Wx__Colour_newRGB, file);
14955         newXS("Wx::Colour::newName", XS_Wx__Colour_newName, file);
14956         newXS("Wx::Colour::CLONE", XS_Wx__Colour_CLONE, file);
14957         newXS("Wx::Colour::DESTROY", XS_Wx__Colour_DESTROY, file);
14958         newXS("Wx::Colour::Blue", XS_Wx__Colour_Blue, file);
14959         newXS("Wx::Colour::Green", XS_Wx__Colour_Green, file);
14960         newXS("Wx::Colour::Ok", XS_Wx__Colour_Ok, file);
14961 #if XSubPPtmpAADC
14962         newXS("Wx::Colour::IsOk", XS_Wx__Colour_IsOk, file);
14963 #endif
14964         newXS("Wx::Colour::Red", XS_Wx__Colour_Red, file);
14965 #if XSubPPtmpAADD
14966         newXS("Wx::Colour::Alpha", XS_Wx__Colour_Alpha, file);
14967         newXS("Wx::Colour::Set", XS_Wx__Colour_Set, file);
14968 #endif
14969 #if XSubPPtmpAADE
14970         newXS("Wx::Colour::Set", XS_Wx__Colour_Set, file);
14971 #endif
14972 #if XSubPPtmpAADF
14973         newXS("Wx::Colour::GetAsString", XS_Wx__Colour_GetAsString, file);
14974 #endif
14975 #if XSubPPtmpAADG
14976         newXS("Wx::Colour::GetPixel", XS_Wx__Colour_GetPixel, file);
14977 #endif
14978 #if XSubPPtmpAADH
14979         newXS("Wx::Animation::new", XS_Wx__Animation_new, file);
14980         newXS("Wx::Animation::CLONE", XS_Wx__Animation_CLONE, file);
14981         newXS("Wx::Animation::DESTROY", XS_Wx__Animation_DESTROY, file);
14982         newXS("Wx::Animation::IsOk", XS_Wx__Animation_IsOk, file);
14983         newXS("Wx::Animation::GetDelay", XS_Wx__Animation_GetDelay, file);
14984         newXS("Wx::Animation::GetFrameCount", XS_Wx__Animation_GetFrameCount, file);
14985         newXS("Wx::Animation::GetFrame", XS_Wx__Animation_GetFrame, file);
14986         newXS("Wx::Animation::GetSize", XS_Wx__Animation_GetSize, file);
14987         newXS("Wx::Animation::LoadFile", XS_Wx__Animation_LoadFile, file);
14988         newXS("Wx::Animation::Load", XS_Wx__Animation_Load, file);
14989 #endif
14990 #if XSubPPtmpAADI
14991         newXS("Wx::GraphicsRenderer::GetDefaultRenderer", XS_Wx__GraphicsRenderer_GetDefaultRenderer, file);
14992         newXS("Wx::GraphicsRenderer::CreateContext", XS_Wx__GraphicsRenderer_CreateContext, file);
14993         newXS("Wx::GraphicsRenderer::CreateFromDC", XS_Wx__GraphicsRenderer_CreateFromDC, file);
14994         newXS("Wx::GraphicsRenderer::CreateFromWindow", XS_Wx__GraphicsRenderer_CreateFromWindow, file);
14995         newXS("Wx::GraphicsRenderer::CreateMeasuringContext", XS_Wx__GraphicsRenderer_CreateMeasuringContext, file);
14996         newXS("Wx::GraphicsRenderer::CreatePath", XS_Wx__GraphicsRenderer_CreatePath, file);
14997         newXS("Wx::GraphicsRenderer::CreateMatrix", XS_Wx__GraphicsRenderer_CreateMatrix, file);
14998         newXS("Wx::GraphicsRenderer::CreatePen", XS_Wx__GraphicsRenderer_CreatePen, file);
14999         newXS("Wx::GraphicsRenderer::CreateBrush", XS_Wx__GraphicsRenderer_CreateBrush, file);
15000         newXS("Wx::GraphicsRenderer::CreateLinearGradientBrush", XS_Wx__GraphicsRenderer_CreateLinearGradientBrush, file);
15001         newXS("Wx::GraphicsRenderer::CreateRadialGradientBrush", XS_Wx__GraphicsRenderer_CreateRadialGradientBrush, file);
15002         newXS("Wx::GraphicsRenderer::CreateFont", XS_Wx__GraphicsRenderer_CreateFont, file);
15003 #endif
15004 #if XSubPPtmpAADJ
15005         newXS("Wx::GraphicsObject::CLONE", XS_Wx__GraphicsObject_CLONE, file);
15006         newXS("Wx::GraphicsObject::DESTROY", XS_Wx__GraphicsObject_DESTROY, file);
15007         newXS("Wx::GraphicsObject::GetRenderer", XS_Wx__GraphicsObject_GetRenderer, file);
15008         newXS("Wx::GraphicsObject::IsNull", XS_Wx__GraphicsObject_IsNull, file);
15009 #endif
15010 #if XSubPPtmpAADK
15011         newXS("Wx::GraphicsMatrix::Concat", XS_Wx__GraphicsMatrix_Concat, file);
15012         newXS("Wx::GraphicsMatrix::Get", XS_Wx__GraphicsMatrix_Get, file);
15013         newXS("Wx::GraphicsMatrix::Invert", XS_Wx__GraphicsMatrix_Invert, file);
15014         newXS("Wx::GraphicsMatrix::IsEqual", XS_Wx__GraphicsMatrix_IsEqual, file);
15015         newXS("Wx::GraphicsMatrix::IsIdentity", XS_Wx__GraphicsMatrix_IsIdentity, file);
15016         newXS("Wx::GraphicsMatrix::Rotate", XS_Wx__GraphicsMatrix_Rotate, file);
15017         newXS("Wx::GraphicsMatrix::Scale", XS_Wx__GraphicsMatrix_Scale, file);
15018         newXS("Wx::GraphicsMatrix::Translate", XS_Wx__GraphicsMatrix_Translate, file);
15019         newXS("Wx::GraphicsMatrix::Set", XS_Wx__GraphicsMatrix_Set, file);
15020         newXS("Wx::GraphicsMatrix::TransformPoint", XS_Wx__GraphicsMatrix_TransformPoint, file);
15021         newXS("Wx::GraphicsMatrix::TransformDistance", XS_Wx__GraphicsMatrix_TransformDistance, file);
15022 #endif
15023 #if XSubPPtmpAADL
15024         newXS("Wx::GraphicsPath::MoveToPoint", XS_Wx__GraphicsPath_MoveToPoint, file);
15025         newXS("Wx::GraphicsPath::AddArc", XS_Wx__GraphicsPath_AddArc, file);
15026         newXS("Wx::GraphicsPath::AddArcToPoint", XS_Wx__GraphicsPath_AddArcToPoint, file);
15027         newXS("Wx::GraphicsPath::AddCircle", XS_Wx__GraphicsPath_AddCircle, file);
15028         newXS("Wx::GraphicsPath::AddCurveToPoint", XS_Wx__GraphicsPath_AddCurveToPoint, file);
15029         newXS("Wx::GraphicsPath::AddEllipse", XS_Wx__GraphicsPath_AddEllipse, file);
15030         newXS("Wx::GraphicsPath::AddLineToPoint", XS_Wx__GraphicsPath_AddLineToPoint, file);
15031         newXS("Wx::GraphicsPath::AddPath", XS_Wx__GraphicsPath_AddPath, file);
15032         newXS("Wx::GraphicsPath::AddQuadCurveToPoint", XS_Wx__GraphicsPath_AddQuadCurveToPoint, file);
15033         newXS("Wx::GraphicsPath::AddRectangle", XS_Wx__GraphicsPath_AddRectangle, file);
15034         newXS("Wx::GraphicsPath::AddRoundedRectangle", XS_Wx__GraphicsPath_AddRoundedRectangle, file);
15035         newXS("Wx::GraphicsPath::CloseSubpath", XS_Wx__GraphicsPath_CloseSubpath, file);
15036         newXS("Wx::GraphicsPath::Contains", XS_Wx__GraphicsPath_Contains, file);
15037         newXS("Wx::GraphicsPath::GetBox", XS_Wx__GraphicsPath_GetBox, file);
15038         newXS("Wx::GraphicsPath::GetCurrentPoint", XS_Wx__GraphicsPath_GetCurrentPoint, file);
15039         newXS("Wx::GraphicsPath::Transform", XS_Wx__GraphicsPath_Transform, file);
15040 #endif
15041 #if XSubPPtmpAADM
15042         newXS("Wx::GraphicsContext::Create", XS_Wx__GraphicsContext_Create, file);
15043         newXS("Wx::GraphicsContext::createFromWindow", XS_Wx__GraphicsContext_createFromWindow, file);
15044         newXS("Wx::GraphicsContext::createFromDC", XS_Wx__GraphicsContext_createFromDC, file);
15045         newXS("Wx::GraphicsContext::CreatePen", XS_Wx__GraphicsContext_CreatePen, file);
15046         newXS("Wx::GraphicsContext::CreateBrush", XS_Wx__GraphicsContext_CreateBrush, file);
15047         newXS("Wx::GraphicsContext::CreateRadialGradientBrush", XS_Wx__GraphicsContext_CreateRadialGradientBrush, file);
15048         newXS("Wx::GraphicsContext::CreateLinearGradientBrush", XS_Wx__GraphicsContext_CreateLinearGradientBrush, file);
15049         newXS("Wx::GraphicsContext::CreateFont", XS_Wx__GraphicsContext_CreateFont, file);
15050         newXS("Wx::GraphicsContext::CreateMatrix", XS_Wx__GraphicsContext_CreateMatrix, file);
15051         newXS("Wx::GraphicsContext::CreatePath", XS_Wx__GraphicsContext_CreatePath, file);
15052         newXS("Wx::GraphicsContext::Clip", XS_Wx__GraphicsContext_Clip, file);
15053         newXS("Wx::GraphicsContext::ClipXYWH", XS_Wx__GraphicsContext_ClipXYWH, file);
15054         newXS("Wx::GraphicsContext::ClipRegion", XS_Wx__GraphicsContext_ClipRegion, file);
15055         newXS("Wx::GraphicsContext::ResetClip", XS_Wx__GraphicsContext_ResetClip, file);
15056         newXS("Wx::GraphicsContext::DrawBitmap", XS_Wx__GraphicsContext_DrawBitmap, file);
15057         newXS("Wx::GraphicsContext::DrawEllipse", XS_Wx__GraphicsContext_DrawEllipse, file);
15058         newXS("Wx::GraphicsContext::DrawIcon", XS_Wx__GraphicsContext_DrawIcon, file);
15059         newXS("Wx::GraphicsContext::DrawLines", XS_Wx__GraphicsContext_DrawLines, file);
15060         newXS("Wx::GraphicsContext::DrawPath", XS_Wx__GraphicsContext_DrawPath, file);
15061         newXS("Wx::GraphicsContext::DrawRectangle", XS_Wx__GraphicsContext_DrawRectangle, file);
15062         newXS("Wx::GraphicsContext::DrawRoundedRectangle", XS_Wx__GraphicsContext_DrawRoundedRectangle, file);
15063         newXS("Wx::GraphicsContext::DrawText", XS_Wx__GraphicsContext_DrawText, file);
15064         newXS("Wx::GraphicsContext::DrawTextAngle", XS_Wx__GraphicsContext_DrawTextAngle, file);
15065         newXS("Wx::GraphicsContext::DrawTextNoAngle", XS_Wx__GraphicsContext_DrawTextNoAngle, file);
15066         newXS("Wx::GraphicsContext::FillPath", XS_Wx__GraphicsContext_FillPath, file);
15067         newXS("Wx::GraphicsContext::StrokePath", XS_Wx__GraphicsContext_StrokePath, file);
15068         newXS("Wx::GraphicsContext::GetTextExtent", XS_Wx__GraphicsContext_GetTextExtent, file);
15069         newXS("Wx::GraphicsContext::GetPartialTextExtents", XS_Wx__GraphicsContext_GetPartialTextExtents, file);
15070         newXS("Wx::GraphicsContext::Rotate", XS_Wx__GraphicsContext_Rotate, file);
15071         newXS("Wx::GraphicsContext::Scale", XS_Wx__GraphicsContext_Scale, file);
15072         newXS("Wx::GraphicsContext::Translate", XS_Wx__GraphicsContext_Translate, file);
15073         newXS("Wx::GraphicsContext::GetTransform", XS_Wx__GraphicsContext_GetTransform, file);
15074         newXS("Wx::GraphicsContext::SetTransform", XS_Wx__GraphicsContext_SetTransform, file);
15075         newXS("Wx::GraphicsContext::ConcatTransform", XS_Wx__GraphicsContext_ConcatTransform, file);
15076         newXS("Wx::GraphicsContext::SetBrush", XS_Wx__GraphicsContext_SetBrush, file);
15077         newXS("Wx::GraphicsContext::SetBrushBrush", XS_Wx__GraphicsContext_SetBrushBrush, file);
15078         newXS("Wx::GraphicsContext::SetBrushGraphics", XS_Wx__GraphicsContext_SetBrushGraphics, file);
15079         newXS("Wx::GraphicsContext::SetFont", XS_Wx__GraphicsContext_SetFont, file);
15080         newXS("Wx::GraphicsContext::SetFontFont", XS_Wx__GraphicsContext_SetFontFont, file);
15081         newXS("Wx::GraphicsContext::SetFontGraphics", XS_Wx__GraphicsContext_SetFontGraphics, file);
15082         newXS("Wx::GraphicsContext::SetPen", XS_Wx__GraphicsContext_SetPen, file);
15083         newXS("Wx::GraphicsContext::SetPenPen", XS_Wx__GraphicsContext_SetPenPen, file);
15084         newXS("Wx::GraphicsContext::SetPenGraphics", XS_Wx__GraphicsContext_SetPenGraphics, file);
15085         newXS("Wx::GraphicsContext::StrokeLine", XS_Wx__GraphicsContext_StrokeLine, file);
15086         newXS("Wx::GraphicsContext::StrokeLines", XS_Wx__GraphicsContext_StrokeLines, file);
15087         newXS("Wx::GraphicsContext::StrokeLinesOne", XS_Wx__GraphicsContext_StrokeLinesOne, file);
15088         newXS("Wx::GraphicsContext::StrokeLinesTwo", XS_Wx__GraphicsContext_StrokeLinesTwo, file);
15089 #endif
15090 #if XSubPPtmpAADN
15091         newXS("Wx::SVGFileDC::new", XS_Wx__SVGFileDC_new, file);
15092 #endif
15093         newXS("Wx::GetClientDisplayRect", XS_Wx_GetClientDisplayRect, file);
15094         newXS("Wx::ColourDisplay", XS_Wx_ColourDisplay, file);
15095         newXS("Wx::DisplayDepth", XS_Wx_DisplayDepth, file);
15096         newXS("Wx::GetDisplaySizeMM", XS_Wx_GetDisplaySizeMM, file);
15097         newXS("Wx::GetDisplaySize", XS_Wx_GetDisplaySize, file);
15098
15099     /* Initialisation Section */
15100
15101 #if XSubPPtmpAAAA
15102 #endif
15103 #if XSubPPtmpAAAB
15104 #endif
15105 #if XSubPPtmpAAAC
15106 #endif
15107 #if XSubPPtmpAAAD
15108 #endif
15109 #if XSubPPtmpAAAE
15110 #endif
15111 #if XSubPPtmpAAAF
15112 #endif
15113 #if XSubPPtmpAAAG
15114 #endif
15115 #if XSubPPtmpAAAH
15116 #endif
15117 #if XSubPPtmpAAAI
15118 #endif
15119 #if XSubPPtmpAAAJ
15120 #endif
15121 #if XSubPPtmpAAAK
15122 #endif
15123 #if XSubPPtmpAAAL
15124 #endif
15125 #if XSubPPtmpAAAM
15126 #endif
15127 #if XSubPPtmpAAAN
15128 #endif
15129 #if XSubPPtmpAAAO
15130 #endif
15131 #if XSubPPtmpAAAP
15132 #endif
15133 #if XSubPPtmpAAAQ
15134 #endif
15135 #if XSubPPtmpAAAR
15136 #endif
15137 #if XSubPPtmpAAAS
15138 #endif
15139 #if XSubPPtmpAAAT
15140 #endif
15141 #if XSubPPtmpAAAU
15142 #endif
15143 #if XSubPPtmpAAAV
15144 #endif
15145 #if XSubPPtmpAAAW
15146 #endif
15147 #if XSubPPtmpAAAX
15148 #endif
15149 #if XSubPPtmpAAAY
15150 #endif
15151 #if XSubPPtmpAAAZ
15152 #endif
15153 #if XSubPPtmpAABA
15154 #endif
15155 #if XSubPPtmpAABB
15156 #endif
15157 #if XSubPPtmpAABC
15158 #endif
15159 #if XSubPPtmpAABD
15160 #endif
15161 #if XSubPPtmpAABE
15162 #endif
15163 #if XSubPPtmpAABF
15164 #endif
15165 #if XSubPPtmpAABG
15166 #endif
15167 #if XSubPPtmpAABH
15168 #endif
15169 #if XSubPPtmpAABI
15170 #endif
15171 #if XSubPPtmpAABJ
15172 #endif
15173 #if XSubPPtmpAABK
15174 #endif
15175 #if XSubPPtmpAABL
15176 #endif
15177 #if XSubPPtmpAABM
15178 #endif
15179 #if XSubPPtmpAABN
15180 #endif
15181 #if XSubPPtmpAABO
15182 #endif
15183 #if XSubPPtmpAABP
15184 #endif
15185 #if XSubPPtmpAABQ
15186 #endif
15187 #if XSubPPtmpAABR
15188 #endif
15189 #if XSubPPtmpAABS
15190 #endif
15191 #if XSubPPtmpAABT
15192 #endif
15193 #if XSubPPtmpAABU
15194 #endif
15195 #if XSubPPtmpAABV
15196 #endif
15197 #if XSubPPtmpAABW
15198 #endif
15199 #if XSubPPtmpAABX
15200 #endif
15201 #if XSubPPtmpAABY
15202 #endif
15203 #if XSubPPtmpAABZ
15204 #endif
15205 #if XSubPPtmpAACA
15206 #endif
15207 #if XSubPPtmpAACB
15208 #endif
15209 #if XSubPPtmpAACC
15210 #endif
15211 #if XSubPPtmpAACD
15212 #endif
15213 #if XSubPPtmpAACE
15214 #endif
15215 #if XSubPPtmpAACF
15216 #endif
15217 #if XSubPPtmpAACG
15218 #endif
15219 #if XSubPPtmpAACH
15220 #endif
15221 #if XSubPPtmpAACI
15222 #endif
15223 #if XSubPPtmpAACJ
15224 #endif
15225 #if XSubPPtmpAACK
15226 #endif
15227 #if XSubPPtmpAACL
15228 #endif
15229 #if XSubPPtmpAACM
15230 #endif
15231 #if XSubPPtmpAACN
15232 #endif
15233 #if XSubPPtmpAACO
15234 #endif
15235 #if XSubPPtmpAACP
15236 #endif
15237 #if XSubPPtmpAACQ
15238 #endif
15239 #if XSubPPtmpAACR
15240 #endif
15241 #if XSubPPtmpAACS
15242 #endif
15243 #if XSubPPtmpAACT
15244 #endif
15245 #if XSubPPtmpAACU
15246 #endif
15247 #if XSubPPtmpAACV
15248 #endif
15249 #if XSubPPtmpAACW
15250 #endif
15251 #if XSubPPtmpAACX
15252 #endif
15253 #if XSubPPtmpAACY
15254 #endif
15255 #if XSubPPtmpAACZ
15256 #endif
15257 #if XSubPPtmpAADA
15258 #endif
15259 #if XSubPPtmpAADB
15260 #endif
15261 #if XSubPPtmpAADC
15262 #endif
15263 #if XSubPPtmpAADD
15264 #endif
15265 #if XSubPPtmpAADE
15266 #endif
15267 #if XSubPPtmpAADF
15268 #endif
15269 #if XSubPPtmpAADG
15270 #endif
15271 #if XSubPPtmpAADH
15272 #endif
15273 #if XSubPPtmpAADI
15274 #endif
15275 #if XSubPPtmpAADJ
15276 #endif
15277 #if XSubPPtmpAADK
15278 #endif
15279 #if XSubPPtmpAADL
15280 #endif
15281 #if XSubPPtmpAADM
15282 #endif
15283 #if XSubPPtmpAADN
15284 #endif
15285
15286     /* End of Initialisation Section */
15287
15288 #if (PERL_REVISION == 5 && PERL_VERSION >= 9)
15289   if (PL_unitcheckav)
15290        call_list(PL_scopestack_ix, PL_unitcheckav);
15291 #endif
15292     XSRETURN_YES;
15293 }
15294