/*
 * This file was generated automatically by ExtUtils::ParseXS version 3.44 from the
 * contents of Wx.xs. Do not edit this file, edit Wx.xs instead.
 *
 *    ANY CHANGES MADE HERE WILL BE LOST!
 *
 */

/////////////////////////////////////////////////////////////////////////////
// Name:        Wx.xs
// Purpose:     main XS module
// Author:      Mattia Barbon
// Modified by:
// Created:     01/10/2000
// RCS-ID:      $Id: Wx.xs 3486 2013-04-16 17:39:27Z mdootson $
// Copyright:   (c) 2000-2002, 2004-2013 Mattia Barbon
// Licence:     This program is free software; you can redistribute it and/or
//              modify it under the same terms as Perl itself
/////////////////////////////////////////////////////////////////////////////

#undef bool
#define PERL_NO_GET_CONTEXT

#include <stddef.h>
#include "cpp/compat.h"

// THIS IS AN HACK!
#if defined(_MSC_VER)
#define STRICT
#endif

#include "cpp/wxapi.h"

#include <wx/window.h>
#include <wx/module.h>
#include <wx/log.h>
// FIXME hack
#if WXPERL_W_VERSION_GE( 2, 5, 2 ) \
    && defined(__DARWIN__)
#define HACK
#include <wx/html/htmlwin.h>
#if wxUSE_MEDIACTRL
#include <wx/mediactrl.h>
#endif
#endif

#if defined(__WXMSW__)
#include <wx/msw/private.h>
#endif

#if defined(__WXMAC__)
#include <ApplicationServices/ApplicationServices.h>
#endif

#if WXPERL_W_VERSION_GE( 2, 5, 1 )
    #include <wx/init.h>
#else
#if defined(__WXGTK__)
int  WXDLLEXPORT wxEntryStart( int& argc, char** argv );
#else
int  WXDLLEXPORT wxEntryStart( int argc, char** argv );
#endif
int  WXDLLEXPORT wxEntryInitGui();
void WXDLLEXPORT wxEntryCleanup();
#endif

#include "cpp/v_cback.h"

// to declare wxPliUserDataCD
#include "cpp/helpers.h"
#include "cpp/helpers.cpp"
#include "cpp/v_cback.cpp"
#include "cpp/overload.cpp"
#include "cpp/ovl_const.cpp"

//
// our App
//
#include <wx/app.h>
#include "cpp/app.h"

IMPLEMENT_APP_NO_MAIN(wxPliApp);
static bool wxPerlAppCreated = false;
static bool wxPerlInitialized = false;
#if !wxUSE_UNICODE
bool wxPli_always_utf8;
#endif

#undef THIS

#ifdef __cplusplus
extern "C" {
#endif
    XS( boot_Wx_Const );
    XS( boot_Wx_Ctrl );
    XS( boot_Wx_Evt );
    XS( boot_Wx_Win );
    XS( boot_Wx_Wnd );
    XS( boot_Wx_GDI );
#if defined( WXPL_STATIC )
    XS( boot_Wx__DocView );
#if wxPERL_USE_STC
    XS( boot_Wx__STC );
#endif
#if wxPERL_USE_XRC
    XS( boot_Wx__XRC );
#endif
    XS( boot_Wx__Print );
    XS( boot_Wx__MDI );
    XS( boot_Wx__Html );
    XS( boot_Wx__Help );
    XS( boot_Wx__Grid );
    XS( boot_Wx__FS );
    XS( boot_Wx__DND );
#endif
#ifdef __cplusplus
}
#endif

extern void SetConstants();
extern void SetConstantsOnce();

static int call_oninit( pTHX_ SV* This, SV* sub )
{
    dSP;

    ENTER;
    SAVETMPS;

    PUSHMARK( SP );
    XPUSHs( This );
    PUTBACK;

    int count = call_sv( sub, G_SCALAR|G_EVAL );
    int retval = 0;

    SPAGAIN;

    if( SvTRUE( ERRSV ) )
    {
        croak( Nullch );
    }
    else if( count == 1 )
    {
        retval = POPi;
    }

    PUTBACK;

    FREETMPS;
    LEAVE;

    return retval;
}


#if defined(__WXMOTIF__) && WXPERL_W_VERSION_LT( 2, 5, 1 )

#include <wx/app.h>
#include <wx/log.h>

int wxEntryStart( int argc, char** argv )
{
    // This seems to be necessary since there are 'rogue'
    // objects present at this point (perhaps global objects?)
    // Setting a checkpoint will ignore them as far as the
    // memory checking facility is concerned.
    // Of course you may argue that memory allocated in globals should be
    // checked, but this is a reasonable compromise.
#if WXPERL_W_VERSION_GE( 2, 9, 3 )
#if ( ( wxDEBUG_LEVEL > 1 ) && wxUSE_MEMORY_TRACING ) || wxUSE_DEBUG_CONTEXT
    wxDebugContext::SetCheckpoint();
#endif
#else
#if (defined(__WXDEBUG__) && wxUSE_MEMORY_TRACING ) || wxUSE_DEBUG_CONTEXT
    wxDebugContext::SetCheckpoint();
#endif
#endif
    if (!wxApp::Initialize())
        return -1;

    return 0;
}

int wxEntryInitGui()
{
    int retValue = 0;

    // GUI-specific initialization, such as creating an app context.
    if( !wxTheApp->OnInitGui() )
        retValue = -1;

    return retValue;
}

void wxEntryCleanup()
{
#if wxUSE_LOG
    // flush the logged messages if any
    wxLog *pLog = wxLog::GetActiveTarget();
    if ( pLog != NULL && pLog->HasPendingMessages() )
        pLog->Flush();

    delete wxLog::SetActiveTarget(new wxLogStderr); // So dialog boxes aren't used
    // for further messages
#endif

    wxApp::CleanUp();

    // some code moved to _wxApp destructor
    // since at this point the app is already destroyed
}

#endif

DEFINE_PLI_HELPERS( st_wxPliHelpers );

#include <wx/confbase.h>
typedef wxConfigBase::EntryType EntryType;

WXPLI_BOOT_ONCE_EXP(Wx);
#define boot_Wx wxPli_boot_Wx

extern bool Wx_booted, Wx_Const_booted, Wx_Ctrl_booted,
    Wx_Evt_booted, Wx_Wnd_booted, Wx_GDI_booted, Wx_Win_booted;

#if WXPERL_W_VERSION_LT( 2, 9, 0 )
typedef int wxPolygonFillMode;
#endif

#ifndef PERL_UNUSED_VAR
#  define PERL_UNUSED_VAR(var) if (0) var = var
#endif

#ifndef dVAR
#  define dVAR		dNOOP
#endif


/* This stuff is not part of the API! You have been warned. */
#ifndef PERL_VERSION_DECIMAL
#  define PERL_VERSION_DECIMAL(r,v,s) (r*1000000 + v*1000 + s)
#endif
#ifndef PERL_DECIMAL_VERSION
#  define PERL_DECIMAL_VERSION \
	  PERL_VERSION_DECIMAL(PERL_REVISION,PERL_VERSION,PERL_SUBVERSION)
#endif
#ifndef PERL_VERSION_GE
#  define PERL_VERSION_GE(r,v,s) \
	  (PERL_DECIMAL_VERSION >= PERL_VERSION_DECIMAL(r,v,s))
#endif
#ifndef PERL_VERSION_LE
#  define PERL_VERSION_LE(r,v,s) \
	  (PERL_DECIMAL_VERSION <= PERL_VERSION_DECIMAL(r,v,s))
#endif

/* XS_INTERNAL is the explicit static-linkage variant of the default
 * XS macro.
 *
 * XS_EXTERNAL is the same as XS_INTERNAL except it does not include
 * "STATIC", ie. it exports XSUB symbols. You probably don't want that
 * for anything but the BOOT XSUB.
 *
 * See XSUB.h in core!
 */


/* TODO: This might be compatible further back than 5.10.0. */
#if PERL_VERSION_GE(5, 10, 0) && PERL_VERSION_LE(5, 15, 1)
#  undef XS_EXTERNAL
#  undef XS_INTERNAL
#  if defined(__CYGWIN__) && defined(USE_DYNAMIC_LOADING)
#    define XS_EXTERNAL(name) __declspec(dllexport) XSPROTO(name)
#    define XS_INTERNAL(name) STATIC XSPROTO(name)
#  endif
#  if defined(__SYMBIAN32__)
#    define XS_EXTERNAL(name) EXPORT_C XSPROTO(name)
#    define XS_INTERNAL(name) EXPORT_C STATIC XSPROTO(name)
#  endif
#  ifndef XS_EXTERNAL
#    if defined(HASATTRIBUTE_UNUSED) && !defined(__cplusplus)
#      define XS_EXTERNAL(name) void name(pTHX_ CV* cv __attribute__unused__)
#      define XS_INTERNAL(name) STATIC void name(pTHX_ CV* cv __attribute__unused__)
#    else
#      ifdef __cplusplus
#        define XS_EXTERNAL(name) extern "C" XSPROTO(name)
#        define XS_INTERNAL(name) static XSPROTO(name)
#      else
#        define XS_EXTERNAL(name) XSPROTO(name)
#        define XS_INTERNAL(name) STATIC XSPROTO(name)
#      endif
#    endif
#  endif
#endif

/* perl >= 5.10.0 && perl <= 5.15.1 */


/* The XS_EXTERNAL macro is used for functions that must not be static
 * like the boot XSUB of a module. If perl didn't have an XS_EXTERNAL
 * macro defined, the best we can do is assume XS is the same.
 * Dito for XS_INTERNAL.
 */
#ifndef XS_EXTERNAL
#  define XS_EXTERNAL(name) XS(name)
#endif
#ifndef XS_INTERNAL
#  define XS_INTERNAL(name) XS(name)
#endif

/* Now, finally, after all this mess, we want an ExtUtils::ParseXS
 * internal macro that we're free to redefine for varying linkage due
 * to the EXPORT_XSUB_SYMBOLS XS keyword. This is internal, use
 * XS_EXTERNAL(name) or XS_INTERNAL(name) in your code if you need to!
 */

#undef XS_EUPXS
#if defined(PERL_EUPXS_ALWAYS_EXPORT)
#  define XS_EUPXS(name) XS_EXTERNAL(name)
#else
   /* default to internal */
#  define XS_EUPXS(name) XS_INTERNAL(name)
#endif

#ifndef PERL_ARGS_ASSERT_CROAK_XS_USAGE
#define PERL_ARGS_ASSERT_CROAK_XS_USAGE assert(cv); assert(params)

/* prototype to pass -Wmissing-prototypes */
STATIC void
S_croak_xs_usage(const CV *const cv, const char *const params);

STATIC void
S_croak_xs_usage(const CV *const cv, const char *const params)
{
    const GV *const gv = CvGV(cv);

    PERL_ARGS_ASSERT_CROAK_XS_USAGE;

    if (gv) {
        const char *const gvname = GvNAME(gv);
        const HV *const stash = GvSTASH(gv);
        const char *const hvname = stash ? HvNAME(stash) : NULL;

        if (hvname)
	    Perl_croak_nocontext("Usage: %s::%s(%s)", hvname, gvname, params);
        else
	    Perl_croak_nocontext("Usage: %s(%s)", gvname, params);
    } else {
        /* Pants. I don't think that it should be possible to get here. */
	Perl_croak_nocontext("Usage: CODE(0x%" UVxf ")(%s)", PTR2UV(cv), params);
    }
}
#undef  PERL_ARGS_ASSERT_CROAK_XS_USAGE

#define croak_xs_usage        S_croak_xs_usage

#endif

/* NOTE: the prototype of newXSproto() is different in versions of perls,
 * so we define a portable version of newXSproto()
 */
#ifdef newXS_flags
#define newXSproto_portable(name, c_impl, file, proto) newXS_flags(name, c_impl, file, proto, 0)
#else
#define newXSproto_portable(name, c_impl, file, proto) (PL_Sv=(SV*)newXS(name, c_impl, file), sv_setpv(PL_Sv, proto), (CV*)PL_Sv)
#endif /* !defined(newXS_flags) */

#if PERL_VERSION_LE(5, 21, 5)
#  define newXS_deffile(a,b) Perl_newXS(aTHX_ a,b,file)
#else
#  define newXS_deffile(a,b) Perl_newXS_deffile(aTHX_ a,b)
#endif

#if WXPERL_W_VERSION_GE( 2, 5, 1 )
#define wxPliEntryStart( argc, argv ) wxEntryStart( (argc), (argv) )
#else
#define wxPliEntryStart( argc, argv ) ( wxEntryStart( (argc), (argv) ) == 0 )
#endif

XS_EUPXS(XS_Wx_EnableDefaultAssertHandler); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_EnableDefaultAssertHandler)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
	bool	RETVAL;
#if WXPERL_W_VERSION_GE( 2, 9, 3 )
    wxSetDefaultAssertHandler();
    RETVAL = 1;
#else
    RETVAL = 0;
#endif
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx_DisableAssertHandler); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_DisableAssertHandler)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
	bool	RETVAL;
#if WXPERL_W_VERSION_GE( 2, 9, 3 )
    wxDisableAsserts();
    RETVAL = 1;
#else
    RETVAL = 0;
#endif
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx_Load); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_Load)
{
    dVAR; dXSARGS;
    if (items < 0 || items > 1)
       croak_xs_usage(cv,  "croak_on_error= false");
    {
	bool	RETVAL;
	bool	croak_on_error;

	if (items < 1)
	    croak_on_error = false;
	else {
	    croak_on_error = (bool)SvTRUE(ST(0))
;
	}
    wxPerlAppCreated = wxTheApp != NULL;
    if( wxPerlInitialized )
        XSRETURN( true );
    wxPerlInitialized = true;

    NV ver = wxMAJOR_VERSION + wxMINOR_VERSION / 1000.0 + 
        wxRELEASE_NUMBER / 1000000.0;
    // set up version as soon as possible
    SV* tmp = get_sv( "Wx::_wx_version", 1 );
    sv_setnv( tmp, ver );
    tmp = get_sv( "Wx::wxVERSION", 1 );
    sv_setnv( tmp, ver );

    int platform;
    // change App.pm whenever these change
#if defined(__WXMSW__)
    platform = 1;
#elif defined(__WXGTK__)
    platform = 2;
#elif defined(__WXMOTIF__)
    platform = 3;
#elif defined(__WXMAC__)
    platform = 4;
#elif defined(__WXX11__)
    platform = 5;
#else
#endif

    tmp = get_sv( "Wx::_platform", 1 );
    sv_setiv( tmp, platform );

    if( wxPerlAppCreated || wxTopLevelWindows.GetCount() > 0 )
        XSRETURN( true );
#if defined(DEBUGGING) && !defined(PERL_USE_SAFE_PUTENV)
    // avoid crash on exit in Fedora (and other DEBUGGING Perls)
    PL_use_safe_putenv = 1;
#endif

    int argc = 0;
#if wxUSE_UNICODE && WXPERL_W_VERSION_GE( 2, 5, 3 )
    wxChar** argv = 0;

    argc = wxPli_get_args_argc_argv( (void***) &argv, 1 );
    wxPerlInitialized = wxPliEntryStart( argc, argv );
#if WXPERL_W_VERSION_LE( 2, 5, 2 )
    wxPli_delete_argv( (void***) &argv, 1 );
#endif
#else
    char** argv = 0;

    argc = wxPli_get_args_argc_argv( (void***) &argv, 0 );
    wxPerlInitialized = wxPliEntryStart( argc, argv );
#if WXPERL_W_VERSION_LE( 2, 5, 2 )
    wxPli_delete_argv( (void***) &argv, 0 );
#endif
#endif
    RETVAL = wxPerlInitialized;

    if( !RETVAL && croak_on_error )
    {
#if wxUSE_LOG
        wxLog::FlushActive();
#endif
        require_pv( "Carp.pm" );
        const char* argv[2] = { "Failed to initialize wxWidgets", NULL };
        call_argv( "Carp::croak", G_VOID|G_DISCARD, (char**) argv );
    }
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}

#if defined(__WXMAC__)
#define XSubPPtmpAAAA 1


XS_EUPXS(XS_Wx__MacSetFrontProcess); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MacSetFrontProcess)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
    ProcessSerialNumber kCurrentPSN = { 0, kCurrentProcess };
    TransformProcessType( &kCurrentPSN, kProcessTransformToForegroundApplication );
    SetFrontProcess( &kCurrentPSN );
    }
    XSRETURN_EMPTY;
}

#endif

XS_EUPXS(XS_Wx_SetConstants); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_SetConstants)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
    // this is after wxEntryStart, since
    // wxInitializeStockObjects needs to be called
    // (for colours, cursors, pens, etc...)
    SetConstants();
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx_SetConstantsOnce); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_SetConstantsOnce)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {

	SetConstantsOnce();
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx_SetOvlConstants); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_SetOvlConstants)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {

	SetOvlConstants();
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx_UnLoad); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_UnLoad)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
    wxPerlAppCreated = wxTheApp != NULL;
    Wx_booted = Wx_Const_booted = Wx_Ctrl_booted =
        Wx_Evt_booted = Wx_Wnd_booted = Wx_GDI_booted = Wx_Win_booted = false;
    if( wxPerlInitialized && !wxPerlAppCreated )
        wxEntryCleanup();
    wxPerlInitialized = false;
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx_SetAlwaysUTF8); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_SetAlwaysUTF8)
{
    dVAR; dXSARGS;
    if (items < 0 || items > 1)
       croak_xs_usage(cv,  "always_utf8 = true");
    {
	bool	always_utf8;

	if (items < 1)
	    always_utf8 = true;
	else {
	    always_utf8 = (bool)SvTRUE(ST(0))
;
	}
#if !wxUSE_UNICODE
    wxPli_always_utf8 = always_utf8;
#endif
    }
    XSRETURN_EMPTY;
}

#if WXPERL_W_VERSION_GE( 2, 5, 1 )
#include <wx/dynload.h>
#define XSubPPtmpAAAB 1


XS_EUPXS(XS_Wx__load_plugin); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__load_plugin)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "string, flags= 0 /* to be compatible with dl_load_file */");
    {
	wxString	string;
	IV	RETVAL;
	dXSTARG;
	int	flags;

    WXSTRING_INPUT( string, wxString, ST(0) )
;

	if (items < 2)
	    flags = 0 /* to be compatible with dl_load_file */;
	else {
	    flags = (int)SvIV(ST(1))
;
	}
#ifdef HACK
    delete new wxHtmlWindow();
#if wxUSE_MEDIACTRL
    delete new wxMediaCtrl();
#endif
#endif
    wxDynamicLibrary *lib = wxPluginManager::LoadLibrary( string, wxDL_VERBATIM );
    RETVAL = PTR2IV( lib->GetLibHandle() );
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__unload_plugin); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__unload_plugin)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "string");
    {
	wxString	string;
	bool	RETVAL;

    WXSTRING_INPUT( string, wxString, ST(0) )
;
    RETVAL = wxPluginManager::UnloadLibrary( string );
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}

#endif

XS_EUPXS(XS_Wx__xsmatch); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__xsmatch)
{
    dVAR; dXSARGS;
    if (items < 2 || items > 4)
       croak_xs_usage(cv,  "avref, proto, required = -1, allowmore = false");
    {
	SV*	avref = ST(0)
;
	SV*	proto = ST(1)
;
	int	required;
	bool	allowmore;
    AV* av;
    wxPliPrototype* prototype;
    int n, len;
	bool	RETVAL;

	if (items < 3)
	    required = -1;
	else {
	    required = (int)SvIV(ST(2))
;
	}

	if (items < 4)
	    allowmore = false;
	else {
	    allowmore = (bool)SvTRUE(ST(3))
;
	}
    av = wxPli_avref_2_av( avref );
    if( !av ) croak( "first parameter must be an ARRAY reference" );
    prototype = INT2PTR( wxPliPrototype*, SvIV( proto ) );
    len = av_len( av ) + 1;
    EXTEND(SP, len);
    PUSHMARK(SP);
    for( int i = 0; i < len; ++i )
        PUSHs( *av_fetch( av, i, 0 ) );
    PUTBACK;
    RETVAL = wxPli_match_arguments( aTHX_ *prototype, required, allowmore );
    SPAGAIN;
    POPMARK; // wxPli_match_* does a PUSHMARK
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__wx_optmod_ribbon); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__wx_optmod_ribbon)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
	bool	RETVAL;
#if wxPERL_USE_RIBBON && wxUSE_RIBBON && WXPERL_W_VERSION_GE( 2, 9, 3 )
    RETVAL = TRUE;
#else
    RETVAL = FALSE;
#endif
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__wx_optmod_propgrid); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__wx_optmod_propgrid)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
	bool	RETVAL;
#if wxPERL_USE_PROPGRID && wxUSE_PROPGRID && WXPERL_W_VERSION_GE( 2, 9, 3 )
    RETVAL = TRUE;
#else
    RETVAL = FALSE;
#endif
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__wx_optmod_media); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__wx_optmod_media)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
	bool	RETVAL;
#if wxPERL_USE_MEDIA && wxUSE_MEDIACTRL
    RETVAL = TRUE;
#else
    RETVAL = FALSE;
#endif
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__wx_optmod_webview); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__wx_optmod_webview)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
	bool	RETVAL;
#if wxPERL_USE_WEBVIEW && wxUSE_WEBVIEW && WXPERL_W_VERSION_GE( 2, 9, 3 )
    RETVAL = TRUE;
#else
    RETVAL = FALSE;
#endif
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__wx_optmod_ipc); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__wx_optmod_ipc)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
	bool	RETVAL;
#if wxPERL_USE_IPC && wxUSE_IPC
    RETVAL = TRUE;
#else
    RETVAL = FALSE;
#endif
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx_looks_like_number); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_looks_like_number)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "sval");
    {
	SV*	sval = ST(0)
;
	I32	RETVAL;
	dXSTARG;
    RETVAL = my_looks_like_number( aTHX_ sval );
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx_CLONE); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_CLONE)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "CLASS");
    {
	char*	CLASS = (char *)SvPV_nolen(ST(0))
;
    SetConstants();
    }
    XSRETURN_EMPTY;
}


/* INCLUDE:  Including 'XS/App.xs' from 'Wx.xs' */


/* INCLUDE:  Including 'XS/Caret.xs' from 'XS/App.xs' */


/* INCLUDE:  Including 'XS/Geom.xs' from 'XS/Caret.xs' */


/* INCLUDE:  Including 'XS/Menu.xs' from 'XS/Geom.xs' */


/* INCLUDE:  Including 'XS/Log.xs' from 'XS/Menu.xs' */


/* INCLUDE:  Including 'XS/ToolTip.xs' from 'XS/Log.xs' */


/* INCLUDE:  Including 'XS/Locale.xs' from 'XS/ToolTip.xs' */


/* INCLUDE:  Including 'XS/Utils.xs' from 'XS/Locale.xs' */


/* INCLUDE:  Including 'XS/Timer.xs' from 'XS/Utils.xs' */


/* INCLUDE:  Including 'XS/Stream.xs' from 'XS/Timer.xs' */


/* INCLUDE:  Including 'XS/TaskBarIcon.xs' from 'XS/Stream.xs' */


/* INCLUDE:  Including 'XS/Config.xs' from 'XS/TaskBarIcon.xs' */


/* INCLUDE:  Including 'XS/Process.xs' from 'XS/Config.xs' */


/* INCLUDE:  Including 'XS/FontMapper.xs' from 'XS/Process.xs' */


/* INCLUDE:  Including 'XS/Wave.xs' from 'XS/FontMapper.xs' */

#if wxPERL_USE_WAVE
#include <wx/wave.h>
#define XSubPPtmpAAAC 1


XS_EUPXS(XS_Wx__Wave_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Wave_new)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "CLASS, fileName");
    {
	wxString	fileName;
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxWave *	RETVAL;

    WXSTRING_INPUT( fileName, wxString, ST(1) )
;

	RETVAL = new wxWave(fileName);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::Wave" );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Wave_IsOk); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Wave_IsOk)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxWave *    THIS = (wxWave *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Wave" )
;
	bool	RETVAL;

	RETVAL = THIS->IsOk();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Wave_Play); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Wave_Play)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 3)
       croak_xs_usage(cv,  "THIS, async = true, looped = false");
    {
	bool	async;
	bool	looped;
	wxWave *    THIS = (wxWave *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Wave" )
;
	bool	RETVAL;

	if (items < 2)
	    async = true;
	else {
	    async = (bool)SvTRUE(ST(1))
;
	}

	if (items < 3)
	    looped = false;
	else {
	    looped = (bool)SvTRUE(ST(2))
;
	}

	RETVAL = THIS->Play(async, looped);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}

#endif

/* INCLUDE: Returning to 'XS/FontMapper.xs' from 'XS/Wave.xs' */

#include <wx/fontmap.h>

XS_EUPXS(XS_Wx__FontMapper_Get); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__FontMapper_Get)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
	wxFontMapper *	RETVAL;
    RETVAL = wxFontMapper::Get();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::FontMapper" );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__FontMapper_GetAltForEncoding); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__FontMapper_GetAltForEncoding)
{
    dVAR; dXSARGS;
    if (items < 2 || items > 4)
       croak_xs_usage(cv,  "THIS, encoding, facename = wxEmptyString, interactive = true");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	wxFontEncoding	encoding = (wxFontEncoding)SvIV(ST(1))
;
	wxString	facename;
	bool	interactive;
    wxFontEncoding retval;
    bool result;
	wxFontMapper *    THIS = (wxFontMapper *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::FontMapper" )
;

	if (items < 3)
	    facename = wxEmptyString;
	else {
    WXSTRING_INPUT( facename, wxString, ST(2) )
;
	}

	if (items < 4)
	    interactive = true;
	else {
	    interactive = (bool)SvTRUE(ST(3))
;
	}
    result = THIS->GetAltForEncoding( encoding, &retval, facename,
                                      interactive );
    EXTEND( SP, 2 );
    PUSHs( boolSV( result ) );
    PUSHs( sv_2mortal( newSViv( retval ) ) );
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__FontMapper_IsEncodingAvailable); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__FontMapper_IsEncodingAvailable)
{
    dVAR; dXSARGS;
    if (items < 2 || items > 3)
       croak_xs_usage(cv,  "THIS, encoding, facename = wxEmptyString");
    {
	wxFontEncoding	encoding = (wxFontEncoding)SvIV(ST(1))
;
	wxString	facename;
	wxFontMapper *    THIS = (wxFontMapper *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::FontMapper" )
;
	bool	RETVAL;

	if (items < 3)
	    facename = wxEmptyString;
	else {
    WXSTRING_INPUT( facename, wxString, ST(2) )
;
	}

	RETVAL = THIS->IsEncodingAvailable(encoding, facename);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__FontMapper_CharsetToEncoding); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__FontMapper_CharsetToEncoding)
{
    dVAR; dXSARGS;
    if (items < 2 || items > 3)
       croak_xs_usage(cv,  "THIS, charset, interactive = true");
    {
	wxString	charset;
	bool	interactive;
	wxFontMapper *    THIS = (wxFontMapper *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::FontMapper" )
;
	wxFontEncoding	RETVAL;
	dXSTARG;

    WXSTRING_INPUT( charset, wxString, ST(1) )
;

	if (items < 3)
	    interactive = true;
	else {
	    interactive = (bool)SvTRUE(ST(2))
;
	}

	RETVAL = THIS->CharsetToEncoding(charset, interactive);
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__FontMapper_GetEncodingName); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__FontMapper_GetEncodingName)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "encoding");
    {
	wxFontEncoding	encoding = (wxFontEncoding)SvIV(ST(0))
;
	wxString	RETVAL;
    RETVAL = wxFontMapper::GetEncodingName( encoding );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__FontMapper_GetEncodingDescription); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__FontMapper_GetEncodingDescription)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "encoding");
    {
	wxFontEncoding	encoding = (wxFontEncoding)SvIV(ST(0))
;
	wxString	RETVAL;
    RETVAL = wxFontMapper::GetEncodingDescription( encoding );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#if WXPERL_W_VERSION_GE( 2, 7, 2 )
#define XSubPPtmpAAAD 1


XS_EUPXS(XS_Wx__FontMapper_GetAllEncodingNames); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__FontMapper_GetAllEncodingNames)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "encoding");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	wxFontEncoding	encoding = (wxFontEncoding)SvIV(ST(0))
;
    const wxChar** encodings = wxFontMapper::GetAllEncodingNames( encoding );
    if( !encodings )
        return;
    while( *encodings )
    {
        XPUSHs( wxPli_wxChar_2_sv( aTHX_ *encodings, sv_newmortal() ) );
        ++encodings;        
    }
	PUTBACK;
	return;
    }
}

#endif

XS_EUPXS(XS_Wx__FontMapper_GetEncoding); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__FontMapper_GetEncoding)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, n");
    {
	size_t    n = (size_t)SvUV( ST(1) )
;
	wxFontMapper *    THIS = (wxFontMapper *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::FontMapper" )
;
	wxFontEncoding	RETVAL;
	dXSTARG;
    RETVAL = wxFontMapper::GetEncoding( n );
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__FontMapper_GetEncodingFromName); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__FontMapper_GetEncodingFromName)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, encoding");
    {
	wxString	encoding;
	wxFontMapper *    THIS = (wxFontMapper *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::FontMapper" )
;
	wxFontEncoding	RETVAL;
	dXSTARG;

    WXSTRING_INPUT( encoding, wxString, ST(1) )
;
    RETVAL = wxFontMapper::GetEncodingFromName( encoding );
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__FontMapper_GetSupportedEncodingsCount); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__FontMapper_GetSupportedEncodingsCount)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxFontMapper *    THIS = (wxFontMapper *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::FontMapper" )
;
	size_t	RETVAL;
	dXSTARG;
    RETVAL = wxFontMapper::GetSupportedEncodingsCount();
	XSprePUSH;
	PUSHu((UV)RETVAL );
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__FontMapper_SetDialogParent); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__FontMapper_SetDialogParent)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, parent");
    {
	wxWindow*    parent = (wxWindow *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Window" )
;
	wxFontMapper *    THIS = (wxFontMapper *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::FontMapper" )
;

	THIS->SetDialogParent(parent);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__FontMapper_SetDialogTitle); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__FontMapper_SetDialogTitle)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, title");
    {
	wxString	title;
	wxFontMapper *    THIS = (wxFontMapper *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::FontMapper" )
;

    WXSTRING_INPUT( title, wxString, ST(1) )
;

	THIS->SetDialogTitle(title);
    }
    XSRETURN_EMPTY;
}

#if WXPERL_W_VERSION_LT( 2, 7, 0 )
#define XSubPPtmpAAAE 1


XS_EUPXS(XS_Wx__FontMapper_SetConfig); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__FontMapper_SetConfig)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, config");
    {
	wxConfigBase*    config = (wxConfigBase *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::ConfigBase" )
;
	wxFontMapper *    THIS = (wxFontMapper *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::FontMapper" )
;

	THIS->SetConfig(config);
    }
    XSRETURN_EMPTY;
}

#endif

XS_EUPXS(XS_Wx__FontMapper_SetConfigPath); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__FontMapper_SetConfigPath)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, path");
    {
	wxString	path;
	wxFontMapper *    THIS = (wxFontMapper *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::FontMapper" )
;

    WXSTRING_INPUT( path, wxString, ST(1) )
;

	THIS->SetConfigPath(path);
    }
    XSRETURN_EMPTY;
}


/* INCLUDE: Returning to 'XS/Process.xs' from 'XS/FontMapper.xs' */

#include <wx/process.h>
#include "cpp/process.h"
#include <wx/utils.h>

XS_EUPXS(XS_Wx__ProcessEvent_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ProcessEvent_new)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 4)
       croak_xs_usage(cv,  "CLASS, id = 0, pid = 0, status = 0");
    {
	int	id;
	int	pid;
	int	status;
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxProcessEvent *	RETVAL;

	if (items < 2)
	    id = 0;
	else {
	    id = (int)SvIV(ST(1))
;
	}

	if (items < 3)
	    pid = 0;
	else {
	    pid = (int)SvIV(ST(2))
;
	}

	if (items < 4)
	    status = 0;
	else {
	    status = (int)SvIV(ST(3))
;
	}

	RETVAL = new wxProcessEvent(id, pid, status);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
    wxPli_thread_sv_register( aTHX_ "Wx::ProcessEvent", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__ProcessEvent_GetPid); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ProcessEvent_GetPid)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxProcessEvent *    THIS = (wxProcessEvent *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ProcessEvent" )
;
	int	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetPid();
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__ProcessEvent_GetExitCode); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ProcessEvent_GetExitCode)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxProcessEvent *    THIS = (wxProcessEvent *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ProcessEvent" )
;
	int	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetExitCode();
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Process_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Process_new)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 3)
       croak_xs_usage(cv,  "CLASS, parent = 0, id = -1");
    {
	wxEvtHandler*	parent;
	int	id;
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxProcess *	RETVAL;

	if (items < 2)
	    parent = 0;
	else {
    parent = (wxEvtHandler *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::EvtHandler" )
;
	}

	if (items < 3)
	    id = -1;
	else {
	    id = (int)SvIV(ST(2))
;
	}
    RETVAL = new wxPliProcess( CLASS, parent, id );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Process_Destroy); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Process_Destroy)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxProcess *    THIS = (wxProcess *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Process" )
;
    delete THIS;
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Process_CloseOutput); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Process_CloseOutput)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxProcess *    THIS = (wxProcess *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Process" )
;

	THIS->CloseOutput();
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Process_Detach); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Process_Detach)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxProcess *    THIS = (wxProcess *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Process" )
;

	THIS->Detach();
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Process_GetErrorStream); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Process_GetErrorStream)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxProcess *    THIS = (wxProcess *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Process" )
;
	wxInputStream *	RETVAL;

	RETVAL = THIS->GetErrorStream();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_stream_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::InputStream" );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Process_GetInputStream); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Process_GetInputStream)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxProcess *    THIS = (wxProcess *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Process" )
;
	wxInputStream *	RETVAL;

	RETVAL = THIS->GetInputStream();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_stream_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::InputStream" );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Process_GetOutputStream); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Process_GetOutputStream)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxProcess *    THIS = (wxProcess *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Process" )
;
	wxOutputStream *	RETVAL;

	RETVAL = THIS->GetOutputStream();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_stream_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::OutputStream" );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Process_IsErrorAvailable); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Process_IsErrorAvailable)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxProcess *    THIS = (wxProcess *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Process" )
;
	bool	RETVAL;

	RETVAL = THIS->IsErrorAvailable();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Process_IsInputAvailable); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Process_IsInputAvailable)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxProcess *    THIS = (wxProcess *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Process" )
;
	bool	RETVAL;

	RETVAL = THIS->IsInputAvailable();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Process_IsInputOpened); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Process_IsInputOpened)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxProcess *    THIS = (wxProcess *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Process" )
;
	bool	RETVAL;

	RETVAL = THIS->IsInputOpened();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}

#if WXPERL_W_VERSION_LT( 2, 5, 4 )
#define wxKILL_NOCHILDREN 0
#endif

XS_EUPXS(XS_Wx__Process_Kill); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Process_Kill)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 3)
       croak_xs_usage(cv,  "pid, signal = wxSIGNONE, flags = wxKILL_NOCHILDREN");
    {
	int	pid = (int)SvIV(ST(0))
;
	wxSignal	signal;
	int	flags;
	wxKillError	RETVAL;
	dXSTARG;

	if (items < 2)
	    signal = wxSIGNONE;
	else {
	    signal = (wxSignal)SvIV(ST(1))
;
	}

	if (items < 3)
	    flags = wxKILL_NOCHILDREN;
	else {
	    flags = (int)SvIV(ST(2))
;
	}
#if WXPERL_W_VERSION_GE( 2, 5, 4 )
    RETVAL = wxProcess::Kill( pid, signal, flags );
#else
    RETVAL = wxProcess::Kill( pid, signal );
#endif
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Process_Exists); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Process_Exists)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "pid");
    {
	int	pid = (int)SvIV(ST(0))
;
	bool	RETVAL;
    RETVAL = wxProcess::Exists( pid );
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Process_OnTerminate); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Process_OnTerminate)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, pid, status");
    {
	int	pid = (int)SvIV(ST(1))
;
	int	status = (int)SvIV(ST(2))
;
	wxProcess *    THIS = (wxProcess *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Process" )
;
    THIS->wxProcess::OnTerminate( pid, status );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Process_Redirect); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Process_Redirect)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxProcess *    THIS = (wxProcess *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Process" )
;

	THIS->Redirect();
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Process_Open); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Process_Open)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "cmd, flags = wxEXEC_ASYNC");
    {
	wxString	cmd;
	int	flags;
	wxProcess *	RETVAL;

    WXSTRING_INPUT( cmd, wxString, ST(0) )
;

	if (items < 2)
	    flags = wxEXEC_ASYNC;
	else {
	    flags = (int)SvIV(ST(1))
;
	}
    RETVAL = wxProcess::Open( cmd, flags );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#if WXPERL_W_VERSION_GE( 2, 7, 2 )
#define XSubPPtmpAAAF 1


XS_EUPXS(XS_Wx__Process_GetPid); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Process_GetPid)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxProcess *    THIS = (wxProcess *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Process" )
;
	int	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetPid();
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}

#endif

XS_EUPXS(XS_Wx_ExecuteCommand); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_ExecuteCommand)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 3)
       croak_xs_usage(cv,  "command, sync = wxEXEC_ASYNC, callback = 0");
    {
	wxString	command;
	int	sync;
	wxProcess*	callback;
	long	RETVAL;
	dXSTARG;

    WXSTRING_INPUT( command, wxString, ST(0) )
;

	if (items < 2)
	    sync = wxEXEC_ASYNC;
	else {
	    sync = (int)SvIV(ST(1))
;
	}

	if (items < 3)
	    callback = 0;
	else {
    callback = (wxProcess *) wxPli_sv_2_object( aTHX_ ST(2), "Wx::Process" )
;
	}
    RETVAL = wxExecute( command, sync, callback );
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}

#if wxUSE_UNICODE
#define XSubPPtmpAAAG 1


XS_EUPXS(XS_Wx_ExecuteArgs); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_ExecuteArgs)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 3)
       croak_xs_usage(cv,  "args, sync = wxEXEC_ASYNC, callback = 0");
    {
	SV*	args = ST(0)
;
	int	sync;
	wxProcess*	callback;
    wxChar** argv;
    wxChar** t;
    int n, i;
	long	RETVAL;
	dXSTARG;

	if (items < 2)
	    sync = wxEXEC_ASYNC;
	else {
	    sync = (int)SvIV(ST(1))
;
	}

	if (items < 3)
	    callback = 0;
	else {
    callback = (wxProcess *) wxPli_sv_2_object( aTHX_ ST(2), "Wx::Process" )
;
	}
    n = wxPli_av_2_wxcharparray( aTHX_ args, &t );
    argv = new wxChar*[n+1];
    memcpy( argv, t, n*sizeof(char*) );
    argv[n] = 0;
    RETVAL = wxExecute( argv, sync, callback );
    for( i = 0; i < n; ++i )
        delete argv[i];
    delete[] argv;
    delete[] t;
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}

#else
#define XSubPPtmpAAAH 1


XS_EUPXS(XS_Wx_ExecuteArgs); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_ExecuteArgs)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 3)
       croak_xs_usage(cv,  "args, sync = wxEXEC_ASYNC, callback = 0");
    {
	SV*	args = ST(0)
;
	int	sync;
	wxProcess*	callback;
    char** argv;
    char** t;
    int n, i;
	long	RETVAL;
	dXSTARG;

	if (items < 2)
	    sync = wxEXEC_ASYNC;
	else {
	    sync = (int)SvIV(ST(1))
;
	}

	if (items < 3)
	    callback = 0;
	else {
    callback = (wxProcess *) wxPli_sv_2_object( aTHX_ ST(2), "Wx::Process" )
;
	}
    n = wxPli_av_2_charparray( aTHX_ args, &t );
    argv = new char*[n+1];
    memcpy( argv, t, n*sizeof(char*) );
    argv[n] = 0;
    RETVAL = wxExecute( argv, sync, callback );
    for( i = 0; i < n; ++i )
        delete argv[i];
    delete[] argv;
    delete[] t;
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}

#endif

XS_EUPXS(XS_Wx_ExecuteStdout); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_ExecuteStdout)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "command, flags = 0");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	wxString	command;
	int	flags;
    wxArrayString out;
    AV* ret;
    long code;

    WXSTRING_INPUT( command, wxString, ST(0) )
;

	if (items < 2)
	    flags = 0;
	else {
	    flags = (int)SvIV(ST(1))
;
	}
    code = wxExecute( command, out, flags );
    ret = wxPli_stringarray_2_av( aTHX_ out );
    EXTEND( SP, 2 );
    PUSHs( sv_2mortal( newSViv( code ) ) );
    PUSHs( sv_2mortal( newRV_noinc( (SV*)ret ) ) );
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx_ExecuteStdoutStderr); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_ExecuteStdoutStderr)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "command, flags = 0");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	wxString	command;
	int	flags;
    wxArrayString out, err;
    AV *rout, *rerr;
    long code;

    WXSTRING_INPUT( command, wxString, ST(0) )
;

	if (items < 2)
	    flags = 0;
	else {
	    flags = (int)SvIV(ST(1))
;
	}
    code = wxExecute( command, out, err, flags );
    rout = wxPli_stringarray_2_av( aTHX_ out );
    rerr = wxPli_stringarray_2_av( aTHX_ err );
    EXTEND( SP, 3 );
    PUSHs( sv_2mortal( newSViv( code ) ) );
    PUSHs( sv_2mortal( newRV_noinc( (SV*)rout ) ) );
    PUSHs( sv_2mortal( newRV_noinc( (SV*)rerr ) ) );
	PUTBACK;
	return;
    }
}


/* INCLUDE: Returning to 'XS/Config.xs' from 'XS/Process.xs' */

#include <wx/confbase.h>

XS_EUPXS(XS_Wx__ConfigBase_Destroy); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ConfigBase_Destroy)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxConfigBase *    THIS = (wxConfigBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ConfigBase" )
;
    delete THIS;
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__ConfigBase_Create); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ConfigBase_Create)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
	wxConfigBase *	RETVAL;
    RETVAL = wxConfigBase::Create();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::ConfigBase" );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__ConfigBase_DontCreateOnDemand); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ConfigBase_DontCreateOnDemand)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
    wxConfigBase::DontCreateOnDemand();
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__ConfigBase_DeleteAll); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ConfigBase_DeleteAll)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxConfigBase *    THIS = (wxConfigBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ConfigBase" )
;
	bool	RETVAL;

	RETVAL = THIS->DeleteAll();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__ConfigBase_DeleteEntry); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ConfigBase_DeleteEntry)
{
    dVAR; dXSARGS;
    if (items < 2 || items > 3)
       croak_xs_usage(cv,  "THIS, key, deleteGroupIfEmpty = true");
    {
	wxString	key;
	bool	deleteGroupIfEmpty;
	wxConfigBase *    THIS = (wxConfigBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ConfigBase" )
;
	bool	RETVAL;

    WXSTRING_INPUT( key, wxString, ST(1) )
;

	if (items < 3)
	    deleteGroupIfEmpty = true;
	else {
	    deleteGroupIfEmpty = (bool)SvTRUE(ST(2))
;
	}

	RETVAL = THIS->DeleteEntry(key, deleteGroupIfEmpty);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__ConfigBase_DeleteGroup); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ConfigBase_DeleteGroup)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, key");
    {
	wxString	key;
	wxConfigBase *    THIS = (wxConfigBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ConfigBase" )
;
	bool	RETVAL;

    WXSTRING_INPUT( key, wxString, ST(1) )
;

	RETVAL = THIS->DeleteGroup(key);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__ConfigBase_Exists); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ConfigBase_Exists)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, key");
    {
	wxString	key;
	wxConfigBase *    THIS = (wxConfigBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ConfigBase" )
;
	bool	RETVAL;

    WXSTRING_INPUT( key, wxString, ST(1) )
;

	RETVAL = THIS->Exists(key);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__ConfigBase_Flush); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ConfigBase_Flush)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "THIS, currentOnly = false");
    {
	bool	currentOnly;
	wxConfigBase *    THIS = (wxConfigBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ConfigBase" )
;
	bool	RETVAL;

	if (items < 2)
	    currentOnly = false;
	else {
	    currentOnly = (bool)SvTRUE(ST(1))
;
	}

	RETVAL = THIS->Flush(currentOnly);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__ConfigBase_Get); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ConfigBase_Get)
{
    dVAR; dXSARGS;
    if (items < 0 || items > 1)
       croak_xs_usage(cv,  "createOnDemand = true");
    {
	bool	createOnDemand;
	wxConfigBase *	RETVAL;

	if (items < 1)
	    createOnDemand = true;
	else {
	    createOnDemand = (bool)SvTRUE(ST(0))
;
	}
    RETVAL = wxConfigBase::Get( createOnDemand );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::ConfigBase" );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__ConfigBase_GetAppName); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ConfigBase_GetAppName)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxConfigBase *    THIS = (wxConfigBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ConfigBase" )
;
	wxString	RETVAL;

	RETVAL = THIS->GetAppName();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__ConfigBase_GetEntryType); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ConfigBase_GetEntryType)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, name");
    {
	wxString	name;
	wxConfigBase *    THIS = (wxConfigBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ConfigBase" )
;
	EntryType	RETVAL;
	dXSTARG;

    WXSTRING_INPUT( name, wxString, ST(1) )
;

	RETVAL = THIS->GetEntryType(name);
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__ConfigBase_GetFirstEntry); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ConfigBase_GetFirstEntry)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
    wxString name;
    long index;
    bool ret;
	wxConfigBase *    THIS = (wxConfigBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ConfigBase" )
;
    ret = THIS->GetFirstEntry( name, index );
    EXTEND( SP, 3 );
    PUSHs( sv_2mortal( newSViv( ret ) ) );
    SV* tmp = newSViv( 0 );
    WXSTRING_OUTPUT( name, tmp );
    PUSHs( sv_2mortal( tmp ) );
    PUSHs( sv_2mortal( newSViv( index ) ) );
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__ConfigBase_GetFirstGroup); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ConfigBase_GetFirstGroup)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
    wxString name;
    long index;
    bool ret;
	wxConfigBase *    THIS = (wxConfigBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ConfigBase" )
;
    ret = THIS->GetFirstGroup( name, index );
    EXTEND( SP, 3 );
    PUSHs( sv_2mortal( newSViv( ret ) ) );
    SV* tmp = newSViv( 0 );
    WXSTRING_OUTPUT( name, tmp );
    PUSHs( sv_2mortal( tmp ) );
    PUSHs( sv_2mortal( newSViv( index ) ) );
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__ConfigBase_GetNextEntry); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ConfigBase_GetNextEntry)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, index");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	long	index = (long)SvIV(ST(1))
;
    wxString name;
    bool ret;
	wxConfigBase *    THIS = (wxConfigBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ConfigBase" )
;
    ret = THIS->GetNextEntry( name, index );
    EXTEND( SP, 3 );
    PUSHs( sv_2mortal( newSViv( ret ) ) );
    SV* tmp = newSViv( 0 );
    WXSTRING_OUTPUT( name, tmp );
    PUSHs( sv_2mortal( tmp ) );
    PUSHs( sv_2mortal( newSViv( index ) ) );
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__ConfigBase_GetNextGroup); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ConfigBase_GetNextGroup)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, index");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	long	index = (long)SvIV(ST(1))
;
    wxString name;
    bool ret;
	wxConfigBase *    THIS = (wxConfigBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ConfigBase" )
;
    ret = THIS->GetNextGroup( name, index );
    EXTEND( SP, 3 );
    PUSHs( sv_2mortal( newSViv( ret ) ) );
    SV* tmp = newSViv( 0 );
    WXSTRING_OUTPUT( name, tmp );
    PUSHs( sv_2mortal( tmp ) );
    PUSHs( sv_2mortal( newSViv( index ) ) );
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__ConfigBase_GetNumberOfEntries); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ConfigBase_GetNumberOfEntries)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "THIS, recursive = false");
    {
	bool	recursive;
	wxConfigBase *    THIS = (wxConfigBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ConfigBase" )
;
	unsigned int	RETVAL;
	dXSTARG;

	if (items < 2)
	    recursive = false;
	else {
	    recursive = (bool)SvTRUE(ST(1))
;
	}

	RETVAL = THIS->GetNumberOfEntries(recursive);
	XSprePUSH;
	PUSHu((UV)RETVAL );
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__ConfigBase_GetNumberOfGroups); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ConfigBase_GetNumberOfGroups)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "THIS, recursive = false");
    {
	bool	recursive;
	wxConfigBase *    THIS = (wxConfigBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ConfigBase" )
;
	unsigned int	RETVAL;
	dXSTARG;

	if (items < 2)
	    recursive = false;
	else {
	    recursive = (bool)SvTRUE(ST(1))
;
	}

	RETVAL = THIS->GetNumberOfGroups(recursive);
	XSprePUSH;
	PUSHu((UV)RETVAL );
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__ConfigBase_GetPath); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ConfigBase_GetPath)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxConfigBase *    THIS = (wxConfigBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ConfigBase" )
;
	wxString	RETVAL;

	RETVAL = THIS->GetPath();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__ConfigBase_GetVendorName); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ConfigBase_GetVendorName)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxConfigBase *    THIS = (wxConfigBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ConfigBase" )
;
	wxString	RETVAL;

	RETVAL = THIS->GetVendorName();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__ConfigBase_HasEntry); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ConfigBase_HasEntry)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, name");
    {
	wxString	name;
	wxConfigBase *    THIS = (wxConfigBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ConfigBase" )
;
	bool	RETVAL;

    WXSTRING_INPUT( name, wxString, ST(1) )
;

	RETVAL = THIS->HasEntry(name);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__ConfigBase_HasGroup); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ConfigBase_HasGroup)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, name");
    {
	wxString	name;
	wxConfigBase *    THIS = (wxConfigBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ConfigBase" )
;
	bool	RETVAL;

    WXSTRING_INPUT( name, wxString, ST(1) )
;

	RETVAL = THIS->HasGroup(name);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__ConfigBase_IsExpandingEnvVars); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ConfigBase_IsExpandingEnvVars)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxConfigBase *    THIS = (wxConfigBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ConfigBase" )
;
	bool	RETVAL;

	RETVAL = THIS->IsExpandingEnvVars();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__ConfigBase_IsRecordingDefaults); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ConfigBase_IsRecordingDefaults)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxConfigBase *    THIS = (wxConfigBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ConfigBase" )
;
	bool	RETVAL;

	RETVAL = THIS->IsRecordingDefaults();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__ConfigBase_Read); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ConfigBase_Read)
{
    dVAR; dXSARGS;
    if (items < 2 || items > 3)
       croak_xs_usage(cv,  "THIS, key, def = wxEmptyString");
    {
	wxString	key;
	wxString	def;
	wxConfigBase *    THIS = (wxConfigBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ConfigBase" )
;
	wxString	RETVAL;

    WXSTRING_INPUT( key, wxString, ST(1) )
;

	if (items < 3)
	    def = wxEmptyString;
	else {
    WXSTRING_INPUT( def, wxString, ST(2) )
;
	}
    THIS->Read( key, &RETVAL, def );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__ConfigBase_ReadInt); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ConfigBase_ReadInt)
{
    dVAR; dXSARGS;
    if (items < 2 || items > 3)
       croak_xs_usage(cv,  "THIS, key, def = 0");
    {
	wxString	key;
	long	def;
	wxConfigBase *    THIS = (wxConfigBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ConfigBase" )
;
	long	RETVAL;
	dXSTARG;

    WXSTRING_INPUT( key, wxString, ST(1) )
;

	if (items < 3)
	    def = 0;
	else {
	    def = (long)SvIV(ST(2))
;
	}
    THIS->Read( key, &RETVAL, def );
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}

#if WXPERL_W_VERSION_GE( 2, 9, 0 )
#define XSubPPtmpAAAI 1


XS_EUPXS(XS_Wx__ConfigBase_ReadLong); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ConfigBase_ReadLong)
{
    dVAR; dXSARGS;
    if (items < 2 || items > 3)
       croak_xs_usage(cv,  "THIS, key, def = 0");
    {
	wxString	key;
	long	def;
	wxConfigBase *    THIS = (wxConfigBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ConfigBase" )
;
	long	RETVAL;
	dXSTARG;

    WXSTRING_INPUT( key, wxString, ST(1) )
;

	if (items < 3)
	    def = 0;
	else {
	    def = (long)SvIV(ST(2))
;
	}

	RETVAL = THIS->ReadLong(key, def);
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__ConfigBase_ReadDouble); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ConfigBase_ReadDouble)
{
    dVAR; dXSARGS;
    if (items < 2 || items > 3)
       croak_xs_usage(cv,  "THIS, key, def = 0.0");
    {
	wxString	key;
	double	def;
	wxConfigBase *    THIS = (wxConfigBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ConfigBase" )
;
	double	RETVAL;
	dXSTARG;

    WXSTRING_INPUT( key, wxString, ST(1) )
;

	if (items < 3)
	    def = 0.0;
	else {
	    def = (double)SvNV(ST(2))
;
	}

	RETVAL = THIS->ReadDouble(key, def);
	XSprePUSH;
	PUSHn((double)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__ConfigBase_ReadBool); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ConfigBase_ReadBool)
{
    dVAR; dXSARGS;
    if (items < 2 || items > 3)
       croak_xs_usage(cv,  "THIS, key, def = false");
    {
	wxString	key;
	bool	def;
	wxConfigBase *    THIS = (wxConfigBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ConfigBase" )
;
	bool	RETVAL;

    WXSTRING_INPUT( key, wxString, ST(1) )
;

	if (items < 3)
	    def = false;
	else {
	    def = (bool)SvTRUE(ST(2))
;
	}

	RETVAL = THIS->ReadBool(key, def);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}

#else
#define XSubPPtmpAAAJ 1


XS_EUPXS(XS_Wx__ConfigBase_ReadBool); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ConfigBase_ReadBool)
{
    dVAR; dXSARGS;
    if (items < 2 || items > 3)
       croak_xs_usage(cv,  "THIS, key, def = false");
    {
	wxString	key;
	bool	def;
	wxConfigBase *    THIS = (wxConfigBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ConfigBase" )
;
	bool	RETVAL;

    WXSTRING_INPUT( key, wxString, ST(1) )
;

	if (items < 3)
	    def = false;
	else {
	    def = (bool)SvTRUE(ST(2))
;
	}
    THIS->Read( key, &RETVAL, def );
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}

#endif
#if WXPERL_W_VERSION_GE( 2, 9, 0 ) && wxUSE_BASE64
#define XSubPPtmpAAAK 1


XS_EUPXS(XS_Wx__ConfigBase_ReadBinary); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ConfigBase_ReadBinary)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, key");
    {
	wxString	key;
	wxConfigBase *    THIS = (wxConfigBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ConfigBase" )
;
	SV *	RETVAL;

    WXSTRING_INPUT( key, wxString, ST(1) )
;
    wxMemoryBuffer data;
    THIS->Read( key, &data );
    RETVAL = newSVpvn( (const char*)data.GetData(), data.GetDataLen() );
	RETVAL = sv_2mortal(RETVAL);
	ST(0) = RETVAL;
    }
    XSRETURN(1);
}

#endif

XS_EUPXS(XS_Wx__ConfigBase_RenameEntry); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ConfigBase_RenameEntry)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, oldName, newName");
    {
	wxString	oldName;
	wxString	newName;
	wxConfigBase *    THIS = (wxConfigBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ConfigBase" )
;
	bool	RETVAL;

    WXSTRING_INPUT( oldName, wxString, ST(1) )
;

    WXSTRING_INPUT( newName, wxString, ST(2) )
;

	RETVAL = THIS->RenameEntry(oldName, newName);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__ConfigBase_RenameGroup); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ConfigBase_RenameGroup)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, oldName, newName");
    {
	wxString	oldName;
	wxString	newName;
	wxConfigBase *    THIS = (wxConfigBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ConfigBase" )
;
	bool	RETVAL;

    WXSTRING_INPUT( oldName, wxString, ST(1) )
;

    WXSTRING_INPUT( newName, wxString, ST(2) )
;

	RETVAL = THIS->RenameGroup(oldName, newName);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__ConfigBase_Set); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ConfigBase_Set)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "config");
    {
	wxConfigBase*    config = (wxConfigBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ConfigBase" )
;
    wxConfigBase::Set( config );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__ConfigBase_SetExpandEnvVars); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ConfigBase_SetExpandEnvVars)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "THIS, doIt = true");
    {
	bool	doIt;
	wxConfigBase *    THIS = (wxConfigBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ConfigBase" )
;

	if (items < 2)
	    doIt = true;
	else {
	    doIt = (bool)SvTRUE(ST(1))
;
	}

	THIS->SetExpandEnvVars(doIt);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__ConfigBase_SetPath); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ConfigBase_SetPath)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, path");
    {
	wxString	path;
	wxConfigBase *    THIS = (wxConfigBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ConfigBase" )
;

    WXSTRING_INPUT( path, wxString, ST(1) )
;

	THIS->SetPath(path);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__ConfigBase_SetRecordDefaults); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ConfigBase_SetRecordDefaults)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "THIS, doIt = true");
    {
	bool	doIt;
	wxConfigBase *    THIS = (wxConfigBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ConfigBase" )
;

	if (items < 2)
	    doIt = true;
	else {
	    doIt = (bool)SvTRUE(ST(1))
;
	}

	THIS->SetRecordDefaults(doIt);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__ConfigBase_Write); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ConfigBase_Write)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, key, value");
    {
	wxString	key;
	wxString	value;
	wxConfigBase *    THIS = (wxConfigBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ConfigBase" )
;

    WXSTRING_INPUT( key, wxString, ST(1) )
;

    WXSTRING_INPUT( value, wxString, ST(2) )
;
    THIS->Write( key, value );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__ConfigBase_WriteInt); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ConfigBase_WriteInt)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, key, value");
    {
	wxString	key;
	long	value = (long)SvIV(ST(2))
;
	wxConfigBase *    THIS = (wxConfigBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ConfigBase" )
;

    WXSTRING_INPUT( key, wxString, ST(1) )
;
    THIS->Write( key, value );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__ConfigBase_WriteFloat); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ConfigBase_WriteFloat)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, key, value");
    {
	wxString	key;
	double	value = (double)SvNV(ST(2))
;
	wxConfigBase *    THIS = (wxConfigBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ConfigBase" )
;

    WXSTRING_INPUT( key, wxString, ST(1) )
;
    THIS->Write( key, value );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__ConfigBase_WriteBool); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ConfigBase_WriteBool)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, key, value");
    {
	wxString	key;
	bool	value = (bool)SvTRUE(ST(2))
;
	wxConfigBase *    THIS = (wxConfigBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ConfigBase" )
;

    WXSTRING_INPUT( key, wxString, ST(1) )
;
    THIS->Write( key, value );
    }
    XSRETURN_EMPTY;
}

#if WXPERL_W_VERSION_GE( 2, 9, 0 ) && wxUSE_BASE64
#define XSubPPtmpAAAL 1


XS_EUPXS(XS_Wx__ConfigBase_WriteBinary); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ConfigBase_WriteBinary)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, key, value");
    {
	wxString	key;
	SV*	value = ST(2)
;
	wxConfigBase *    THIS = (wxConfigBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ConfigBase" )
;

    WXSTRING_INPUT( key, wxString, ST(1) )
;
    STRLEN len;
    char* buffer = SvPV( value, len );
    wxMemoryBuffer data( len );
    data.SetDataLen( len );
    memcpy( data.GetData(), buffer, len );
    THIS->Write( key, data );
    }
    XSRETURN_EMPTY;
}

#endif
#if defined(__WXMSW__)
#include <wx/msw/regconf.h>
#define XSubPPtmpAAAM 1


XS_EUPXS(XS_Wx__RegConfig_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__RegConfig_new)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 6)
       croak_xs_usage(cv,  "CLASS, appName = wxEmptyString, vendorName = wxEmptyString, localFilename = wxEmptyString, globalFilename = wxEmptyString, style = 0");
    {
	wxString	appName;
	wxString	vendorName;
	wxString	localFilename;
	wxString	globalFilename;
	long	style;
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxConfigBase *	RETVAL;

	if (items < 2)
	    appName = wxEmptyString;
	else {
    WXSTRING_INPUT( appName, wxString, ST(1) )
;
	}

	if (items < 3)
	    vendorName = wxEmptyString;
	else {
    WXSTRING_INPUT( vendorName, wxString, ST(2) )
;
	}

	if (items < 4)
	    localFilename = wxEmptyString;
	else {
    WXSTRING_INPUT( localFilename, wxString, ST(3) )
;
	}

	if (items < 5)
	    globalFilename = wxEmptyString;
	else {
    WXSTRING_INPUT( globalFilename, wxString, ST(4) )
;
	}

	if (items < 6)
	    style = 0;
	else {
	    style = (long)SvIV(ST(5))
;
	}

	RETVAL = new wxRegConfig(appName, vendorName, localFilename, globalFilename, style);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::ConfigBase" );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#endif
#include <wx/fileconf.h>

XS_EUPXS(XS_Wx__FileConfig_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__FileConfig_new)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 6)
       croak_xs_usage(cv,  "CLASS, appName = wxEmptyString, vendorName = wxEmptyString, localFilename = wxEmptyString, globalFilename = wxEmptyString, style = 0");
    {
	wxString	appName;
	wxString	vendorName;
	wxString	localFilename;
	wxString	globalFilename;
	long	style;
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxConfigBase *	RETVAL;

	if (items < 2)
	    appName = wxEmptyString;
	else {
    WXSTRING_INPUT( appName, wxString, ST(1) )
;
	}

	if (items < 3)
	    vendorName = wxEmptyString;
	else {
    WXSTRING_INPUT( vendorName, wxString, ST(2) )
;
	}

	if (items < 4)
	    localFilename = wxEmptyString;
	else {
    WXSTRING_INPUT( localFilename, wxString, ST(3) )
;
	}

	if (items < 5)
	    globalFilename = wxEmptyString;
	else {
    WXSTRING_INPUT( globalFilename, wxString, ST(4) )
;
	}

	if (items < 6)
	    style = 0;
	else {
	    style = (long)SvIV(ST(5))
;
	}

	RETVAL = new wxFileConfig(appName, vendorName, localFilename, globalFilename, style);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::ConfigBase" );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__FileConfig_SetUmask); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__FileConfig_SetUmask)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, mode");
    {
	int	mode = (int)SvIV(ST(1))
;
	wxFileConfig *    THIS = (wxFileConfig *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::FileConfig" )
;

	THIS->SetUmask(mode);
    }
    XSRETURN_EMPTY;
}


/* INCLUDE: Returning to 'XS/TaskBarIcon.xs' from 'XS/Config.xs' */

#if defined(__WXMSW__) || \
    ( WXPERL_W_VERSION_GE( 2, 5, 2 ) && defined( wxHAS_TASK_BAR_ICON ) )
#include <wx/taskbar.h>
#define XSubPPtmpAAAN 1


XS_EUPXS(XS_Wx__TaskBarIcon_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__TaskBarIcon_new)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "CLASS");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxTaskBarIcon *	RETVAL;

	RETVAL = new wxTaskBarIcon();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__TaskBarIcon_Destroy); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__TaskBarIcon_Destroy)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxTaskBarIcon *    THIS = (wxTaskBarIcon *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::TaskBarIcon" )
;
    delete THIS;
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__TaskBarIcon_IsOk); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__TaskBarIcon_IsOk)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxTaskBarIcon *    THIS = (wxTaskBarIcon *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::TaskBarIcon" )
;
	bool	RETVAL;

	RETVAL = THIS->IsOk();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__TaskBarIcon_IsIconInstalled); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__TaskBarIcon_IsIconInstalled)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxTaskBarIcon *    THIS = (wxTaskBarIcon *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::TaskBarIcon" )
;
	bool	RETVAL;

	RETVAL = THIS->IsIconInstalled();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__TaskBarIcon_SetIcon); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__TaskBarIcon_SetIcon)
{
    dVAR; dXSARGS;
    if (items < 2 || items > 3)
       croak_xs_usage(cv,  "THIS, icon, tooltip = wxEmptyString");
    {
	wxIcon*    icon = (wxIcon *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Icon" )
;
	wxString	tooltip;
	wxTaskBarIcon *    THIS = (wxTaskBarIcon *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::TaskBarIcon" )
;
	bool	RETVAL;

	if (items < 3)
	    tooltip = wxEmptyString;
	else {
    WXSTRING_INPUT( tooltip, wxString, ST(2) )
;
	}
    RETVAL = THIS->SetIcon( *icon, tooltip );
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__TaskBarIcon_RemoveIcon); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__TaskBarIcon_RemoveIcon)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxTaskBarIcon *    THIS = (wxTaskBarIcon *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::TaskBarIcon" )
;
	bool	RETVAL;

	RETVAL = THIS->RemoveIcon();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__TaskBarIcon_PopupMenu); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__TaskBarIcon_PopupMenu)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, menu");
    {
	wxMenu*    menu = (wxMenu *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Menu" )
;
	wxTaskBarIcon *    THIS = (wxTaskBarIcon *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::TaskBarIcon" )
;
	bool	RETVAL;

	RETVAL = THIS->PopupMenu(menu);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__TaskBarIconEvent_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__TaskBarIconEvent_new)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "CLASS, evtType, tbIcon");
    {
	wxEventType	evtType = (wxEventType)SvIV(ST(1))
;
	wxTaskBarIcon *    tbIcon = (wxTaskBarIcon *) wxPli_sv_2_object( aTHX_ ST(2), "Wx::TaskBarIcon" )
;
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxTaskBarIconEvent *	RETVAL;

	RETVAL = new wxTaskBarIconEvent(evtType, tbIcon);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
    wxPli_thread_sv_register( aTHX_ "Wx::TaskBarIconEvent", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#endif

/* INCLUDE: Returning to 'XS/Stream.xs' from 'XS/TaskBarIcon.xs' */

#include <wx/wfstream.h>

XS_EUPXS(XS_Wx__Stream_TIEHANDLE); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Stream_TIEHANDLE)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "package, var");
    {
	const char*	package = (const char *)SvPV_nolen(ST(0))
;
	void*	var = INT2PTR(void *,SvIV(ST(1)))
;
	SV *	RETVAL;
    RETVAL = newSViv( 0 ); // as usual: XSUBpp mortalizes it for us...
    sv_setref_pv( RETVAL, CHAR_P package, var );
	RETVAL = sv_2mortal(RETVAL);
	ST(0) = RETVAL;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__InputStream_READ); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__InputStream_READ)
{
    dVAR; dXSARGS;
    if (items < 3 || items > 4)
       croak_xs_usage(cv,  "THIS, buf, len, offset = 0");
    {
	SV*	buf = ST(1)
;
	IV	len = (IV)SvIV(ST(2))
;
	IV	offset;
    IV maxlen;
	Wx_InputStream *    THIS = (wxInputStream *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::InputStream" )
;
	size_t	RETVAL;
	dXSTARG;

	if (items < 4)
	    offset = 0;
	else {
	    offset = (IV)SvIV(ST(3))
;
	}
    if( THIS->Eof() ) { SvOK_off( buf ); XSRETURN_IV( 0 ); }

    maxlen = SvPOK( buf ) ? SvCUR( buf ) : 0;

    if( offset < 0 )
    {
        if( ( (offset) >= 0 ? (offset) : -(offset) ) > maxlen )
        {
            XSRETURN_IV( 0 );
        }
        offset = maxlen + offset;
    }

    char* buffer = SvGROW( buf, (UV)offset + len + 1 );
    SvPOK_on( buf );
    if( offset > maxlen )
        Zero( buffer + maxlen, offset - maxlen, char );
    buffer += offset;
    RETVAL = THIS->Read( buffer, len ).LastRead();
    SvCUR_set( buf, offset + RETVAL );
	XSprePUSH;
	PUSHu((UV)RETVAL );
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__InputStream_GETC); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__InputStream_GETC)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	Wx_InputStream *    THIS = (wxInputStream *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::InputStream" )
;
	SV *	RETVAL;
    char value = THIS->GetC();
    RETVAL = newSVpvn( &value, 1 );
	RETVAL = sv_2mortal(RETVAL);
	ST(0) = RETVAL;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__InputStream_SEEK); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__InputStream_SEEK)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, position, whence");
    {
	off_t	position = (off_t)SvIV(ST(1))
;
	int	whence = (int)SvIV(ST(2))
;
    static wxSeekMode s_whence[] = { wxFromStart, wxFromCurrent, wxFromEnd };
	Wx_InputStream *    THIS = (wxInputStream *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::InputStream" )
;
	SV *	RETVAL;
    if( whence < 0 || whence > 2 )
        RETVAL = &PL_sv_undef;
    off_t offset = THIS->SeekI( position, s_whence[whence] );
    RETVAL = newSViv( offset );
	RETVAL = sv_2mortal(RETVAL);
	ST(0) = RETVAL;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__InputStream_TELL); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__InputStream_TELL)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	Wx_InputStream *    THIS = (wxInputStream *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::InputStream" )
;
	SV *	RETVAL;
    off_t offset = THIS->TellI();
    RETVAL = newSViv( offset );
	RETVAL = sv_2mortal(RETVAL);
	ST(0) = RETVAL;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__InputStream_READLINE); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__InputStream_READLINE)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
    char c;
    size_t off = 0;
    char* buff;
	Wx_InputStream *    THIS = (wxInputStream *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::InputStream" )
;
	SV *	RETVAL;
    if( THIS->Eof() ) { XSRETURN_UNDEF; }
    RETVAL = newSViv( 0 );
    buff = SvPV_nolen( RETVAL );

    while( THIS->CanRead() && THIS->Read( &c, 1 ).LastRead() != 0 )
    {
        if( SvLEN( RETVAL ) <= off )
        {
            buff = SvGROW( RETVAL, off + 15 );
        }
        buff[off] = c;
        ++off;
        if( c == '\n' ) break;
    }
    SvCUR_set( RETVAL, off );
	RETVAL = sv_2mortal(RETVAL);
	ST(0) = RETVAL;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__OutputStream_WRITE); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__OutputStream_WRITE)
{
    dVAR; dXSARGS;
    if (items < 2 || items > 4)
       croak_xs_usage(cv,  "THIS, buf, len = -1, offset = 0");
    {
	SV*	buf = ST(1)
;
	IV	len;
	IV	offset;
    IV maxlen = sv_len( buf );
    const char* buffer = SvPV_nolen( buf );
	Wx_OutputStream *    THIS = (wxOutputStream *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::OutputStream" )
;
	size_t	RETVAL;
	dXSTARG;

	if (items < 3)
	    len = -1;
	else {
	    len = (IV)SvIV(ST(2))
;
	}

	if (items < 4)
	    offset = 0;
	else {
	    offset = (IV)SvIV(ST(3))
;
	}
    if( ( (offset) >= 0 ? (offset) : -(offset) ) > maxlen )
        RETVAL = 0;
    else
    {
        if( offset >=0 )
        {
            buffer += offset;
            maxlen -= offset;
        }
        else
        {
            buffer += maxlen + offset;
            maxlen = -offset;
        }

        len = ( len >= maxlen ) ? maxlen : len;

        RETVAL = THIS->Write( buffer, len ).LastWrite();
    }
	XSprePUSH;
	PUSHu((UV)RETVAL );
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__OutputStream_SEEK); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__OutputStream_SEEK)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, position, whence");
    {
	off_t	position = (off_t)SvIV(ST(1))
;
	int	whence = (int)SvIV(ST(2))
;
    static wxSeekMode s_whence[] = { wxFromStart, wxFromCurrent, wxFromEnd };
	Wx_OutputStream *    THIS = (wxOutputStream *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::OutputStream" )
;
	SV *	RETVAL;
    if( whence < 0 || whence > 2 )
        RETVAL = &PL_sv_undef;
    off_t offset = THIS->SeekO( position, s_whence[whence] );
    RETVAL = newSViv( offset );
	RETVAL = sv_2mortal(RETVAL);
	ST(0) = RETVAL;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__OutputStream_TELL); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__OutputStream_TELL)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	Wx_OutputStream *    THIS = (wxOutputStream *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::OutputStream" )
;
	SV *	RETVAL;
    off_t offset = THIS->TellO();
    RETVAL = newSViv( offset );
	RETVAL = sv_2mortal(RETVAL);
	ST(0) = RETVAL;
    }
    XSRETURN(1);
}


/* INCLUDE: Returning to 'XS/Timer.xs' from 'XS/Stream.xs' */

#include <wx/timer.h>
#include "cpp/timer.h"

XS_EUPXS(XS_Wx__TimerEvent_GetInterval); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__TimerEvent_GetInterval)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxTimerEvent *    THIS = (wxTimerEvent *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::TimerEvent" )
;
	int	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetInterval();
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}

#if WXPERL_W_VERSION_GE( 2, 9, 0 )
#define XSubPPtmpAAAO 1


XS_EUPXS(XS_Wx__TimerEvent_GetTimer); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__TimerEvent_GetTimer)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxTimerEvent *    THIS = (wxTimerEvent *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::TimerEvent" )
;
	wxTimer *	RETVAL;
    RETVAL = &THIS->GetTimer();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#endif

XS_EUPXS(XS_Wx__Timer_newDefault); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Timer_newDefault)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "Class");
    {
	SV*	Class = ST(0)
;
    const char* CLASS = wxPli_get_class( aTHX_ Class );
	wxTimer *	RETVAL;
    RETVAL = new wxPliTimer( CLASS );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Timer_newEH); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Timer_newEH)
{
    dVAR; dXSARGS;
    if (items < 2 || items > 3)
       croak_xs_usage(cv,  "Class, owner, id = wxID_ANY");
    {
	SV*	Class = ST(0)
;
	wxEvtHandler*    owner = (wxEvtHandler *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::EvtHandler" )
;
	int	id;
    const char* CLASS = wxPli_get_class( aTHX_ Class );
	wxTimer *	RETVAL;

	if (items < 3)
	    id = wxID_ANY;
	else {
	    id = (int)SvIV(ST(2))
;
	}
    RETVAL = new wxPliTimer( CLASS, owner, id );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Timer_Destroy); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Timer_Destroy)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxTimer *    THIS = (wxTimer *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Timer" )
;
    delete THIS;
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Timer_GetInterval); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Timer_GetInterval)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxTimer *    THIS = (wxTimer *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Timer" )
;
	int	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetInterval();
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}

#if WXPERL_W_VERSION_GE( 2, 5, 1 )
#define XSubPPtmpAAAP 1


XS_EUPXS(XS_Wx__Timer_GetId); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Timer_GetId)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxTimer *    THIS = (wxTimer *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Timer" )
;
	int	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetId();
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}

#endif

XS_EUPXS(XS_Wx__Timer_IsOneShot); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Timer_IsOneShot)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxTimer *    THIS = (wxTimer *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Timer" )
;
	bool	RETVAL;

	RETVAL = THIS->IsOneShot();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Timer_IsRunning); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Timer_IsRunning)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxTimer *    THIS = (wxTimer *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Timer" )
;
	bool	RETVAL;

	RETVAL = THIS->IsRunning();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Timer_SetOwner); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Timer_SetOwner)
{
    dVAR; dXSARGS;
    if (items < 2 || items > 3)
       croak_xs_usage(cv,  "THIS, owner, id = -1");
    {
	wxEvtHandler*    owner = (wxEvtHandler *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::EvtHandler" )
;
	int	id;
	wxTimer *    THIS = (wxTimer *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Timer" )
;

	if (items < 3)
	    id = -1;
	else {
	    id = (int)SvIV(ST(2))
;
	}

	THIS->SetOwner(owner, id);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Timer_Start); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Timer_Start)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 3)
       croak_xs_usage(cv,  "THIS, milliseconds = -1, oneshot = false");
    {
	int	milliseconds;
	bool	oneshot;
	wxTimer *    THIS = (wxTimer *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Timer" )
;
	bool	RETVAL;

	if (items < 2)
	    milliseconds = -1;
	else {
	    milliseconds = (int)SvIV(ST(1))
;
	}

	if (items < 3)
	    oneshot = false;
	else {
	    oneshot = (bool)SvTRUE(ST(2))
;
	}

	RETVAL = THIS->Start(milliseconds, oneshot);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}

#if WXPERL_W_VERSION_GE( 2, 9, 5 )
#define XSubPPtmpAAAQ 1


XS_EUPXS(XS_Wx__Timer_StartOnce); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Timer_StartOnce)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "THIS, milliseconds = -1");
    {
	int	milliseconds;
	wxTimer *    THIS = (wxTimer *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Timer" )
;
	bool	RETVAL;

	if (items < 2)
	    milliseconds = -1;
	else {
	    milliseconds = (int)SvIV(ST(1))
;
	}

	RETVAL = THIS->StartOnce(milliseconds);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}

#endif

XS_EUPXS(XS_Wx__Timer_Stop); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Timer_Stop)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxTimer *    THIS = (wxTimer *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Timer" )
;

	THIS->Stop();
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Timer_Notify); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Timer_Notify)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxTimer *    THIS = (wxTimer *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Timer" )
;
    THIS->wxTimer::Notify();
    }
    XSRETURN_EMPTY;
}


/* INCLUDE: Returning to 'XS/Utils.xs' from 'XS/Timer.xs' */

#include <wx/busyinfo.h>
#include <wx/settings.h>
#include <wx/caret.h>
#include <wx/snglinst.h>
#include <wx/splash.h>
#include <wx/utils.h>
#include <wx/debug.h>
#include <wx/tipdlg.h>
#if WXPERL_W_VERSION_GE( 2, 8, 0 )
#include <wx/sysopt.h>
#endif
#if WXPERL_W_VERSION_GE( 2, 5, 3 )
#ifdef __WXGTK20__
#define __WXGTK20__DEFINED
#undef __WXGTK20__
#endif
#include <wx/stockitem.h>
#ifdef __WXGTK20__DEFINED
#define __WXGTK20__
#endif
#endif
#include "cpp/tipprovider.h"

XS_EUPXS(XS_Wx__CaretSuspend_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__CaretSuspend_new)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "CLASS, window");
    {
	wxWindow*    window = (wxWindow *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Window" )
;
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxCaretSuspend *	RETVAL;

	RETVAL = new wxCaretSuspend(window);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::CaretSuspend" );
    wxPli_thread_sv_register( aTHX_ "Wx::CaretSuspend", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__CaretSuspend_CLONE); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__CaretSuspend_CLONE)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "CLASS");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
    wxPli_thread_sv_clone( aTHX_ CLASS, (wxPliCloneSV)wxPli_detach_object );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__CaretSuspend_DESTROY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__CaretSuspend_DESTROY)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxCaretSuspend *    THIS = (wxCaretSuspend *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::CaretSuspend" )
;
    wxPli_thread_sv_unregister( aTHX_ "Wx::CaretSuspend", THIS, ST(0) );
    delete THIS;
    }
    XSRETURN_EMPTY;
}

#ifndef wxFRAME_FLOAT_ON_PARENT
#define wxFRAME_FLOAT_ON_PARENT 0
#endif
#ifndef wxFRAME_TOOL_WINDOW
#define wxFRAME_TOOL_WINDOW 0
#endif

XS_EUPXS(XS_Wx__SplashScreen_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__SplashScreen_new)
{
    dVAR; dXSARGS;
    if (items < 5 || items > 9)
       croak_xs_usage(cv,  "CLASS, bitmap, splashStyle, milliseconds, parent, id = wxID_ANY, pos = wxDefaultPosition, size = wxDefaultSize, style = wxSIMPLE_BORDER|wxFRAME_NO_TASKBAR|wxSTAY_ON_TOP");
    {
	wxBitmap*    bitmap = (wxBitmap *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Bitmap" )
;
	long	splashStyle = (long)SvIV(ST(2))
;
	int	milliseconds = (int)SvIV(ST(3))
;
	wxWindow*    parent = (wxWindow *) wxPli_sv_2_object( aTHX_ ST(4), "Wx::Window" )
;
	wxWindowID	id;
	wxPoint	pos;
	wxSize	size;
	long	style;
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxSplashScreen *	RETVAL;

	if (items < 6)
	    id = wxID_ANY;
	else {
    id = wxPli_get_wxwindowid( aTHX_ ST(5) )
;
	}

	if (items < 7)
	    pos = wxDefaultPosition;
	else {
    pos = wxPli_sv_2_wxpoint( aTHX_ ST(6) )
;
	}

	if (items < 8)
	    size = wxDefaultSize;
	else {
    size = wxPli_sv_2_wxsize( aTHX_ ST(7) )
;
	}

	if (items < 9)
	    style = wxSIMPLE_BORDER|wxFRAME_NO_TASKBAR|wxSTAY_ON_TOP;
	else {
	    style = (long)SvIV(ST(8))
;
	}
    RETVAL = new wxSplashScreen( *bitmap, splashStyle, milliseconds, parent,
        id, pos, size, style );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__SplashScreen_GetSplashStyle); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__SplashScreen_GetSplashStyle)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxSplashScreen *    THIS = (wxSplashScreen *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::SplashScreen" )
;
	long	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetSplashStyle();
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__SplashScreen_GetSplashWindow); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__SplashScreen_GetSplashWindow)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxSplashScreen *    THIS = (wxSplashScreen *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::SplashScreen" )
;
	wxSplashScreenWindow *	RETVAL;

	RETVAL = THIS->GetSplashWindow();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__SplashScreen_GetTimeout); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__SplashScreen_GetTimeout)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxSplashScreen *    THIS = (wxSplashScreen *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::SplashScreen" )
;
	int	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetTimeout();
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}

#if WXPERL_W_VERSION_GE( 2, 9, 2 )
#define XSubPPtmpAAAR 1


XS_EUPXS(XS_Wx__WindowDisabler_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__WindowDisabler_new)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
    BEGIN_OVERLOAD()
        MATCH_VOIDM_REDISP( newBool )
        MATCH_REDISP( wxPliOvl_wwin, newWindow )
        MATCH_REDISP( wxPliOvl_n, newBool )
    END_OVERLOAD( "Wx::WindowDisabler::new" )
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__WindowDisabler_newWindow); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__WindowDisabler_newWindow)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "CLASS, skip");
    {
	SV*	CLASS = ST(0)
;
	wxWindow*    skip = (wxWindow *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Window" )
;
	wxWindowDisabler *	RETVAL;
    RETVAL = new wxWindowDisabler( skip );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::WindowDisabler" );
    wxPli_thread_sv_register( aTHX_ "Wx::WindowDisabler", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__WindowDisabler_newBool); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__WindowDisabler_newBool)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "CLASS, disable = true");
    {
	SV*	CLASS = ST(0)
;
	bool	disable;
	wxWindowDisabler *	RETVAL;

	if (items < 2)
	    disable = true;
	else {
	    disable = (bool)SvTRUE(ST(1))
;
	}
    RETVAL = new wxWindowDisabler( disable );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::WindowDisabler" );
    wxPli_thread_sv_register( aTHX_ "Wx::WindowDisabler", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#else
#define XSubPPtmpAAAS 1


XS_EUPXS(XS_Wx__WindowDisabler_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__WindowDisabler_new)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "CLASS, skip = 0");
    {
	wxWindow*	skip;
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxWindowDisabler *	RETVAL;

	if (items < 2)
	    skip = 0;
	else {
    skip = (wxWindow *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Window" )
;
	}

	RETVAL = new wxWindowDisabler(skip);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::WindowDisabler" );
    wxPli_thread_sv_register( aTHX_ "Wx::WindowDisabler", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#endif

XS_EUPXS(XS_Wx__WindowDisabler_CLONE); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__WindowDisabler_CLONE)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "CLASS");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
    wxPli_thread_sv_clone( aTHX_ CLASS, (wxPliCloneSV)wxPli_detach_object );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__WindowDisabler_DESTROY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__WindowDisabler_DESTROY)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxWindowDisabler *    THIS = (wxWindowDisabler *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::WindowDisabler" )
;
    wxPli_thread_sv_unregister( aTHX_ "Wx::WindowDisabler", THIS, ST(0) );
    delete THIS;
    }
    XSRETURN_EMPTY;
}

#if WXPERL_W_VERSION_GE( 2, 7, 0 )
#define XSubPPtmpAAAT 1


XS_EUPXS(XS_Wx__BusyCursor_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__BusyCursor_new)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "CLASS, cursor = wxHOURGLASS_CURSOR");
    {
	const wxCursor*	cursor;
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxBusyCursor *	RETVAL;

	if (items < 2)
	    cursor = wxHOURGLASS_CURSOR;
	else {
    cursor = (const wxCursor *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Cursor" )
;
	}

	RETVAL = new wxBusyCursor(cursor);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::BusyCursor" );
    wxPli_thread_sv_register( aTHX_ "Wx::BusyCursor", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#else
#define XSubPPtmpAAAU 1


XS_EUPXS(XS_Wx__BusyCursor_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__BusyCursor_new)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "CLASS, cursor = wxHOURGLASS_CURSOR");
    {
	wxCursor*	cursor;
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxBusyCursor *	RETVAL;

	if (items < 2)
	    cursor = wxHOURGLASS_CURSOR;
	else {
    cursor = (wxCursor *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Cursor" )
;
	}

	RETVAL = new wxBusyCursor(cursor);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::BusyCursor" );
    wxPli_thread_sv_register( aTHX_ "Wx::BusyCursor", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#endif

XS_EUPXS(XS_Wx__BusyCursor_CLONE); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__BusyCursor_CLONE)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "CLASS");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
    wxPli_thread_sv_clone( aTHX_ CLASS, (wxPliCloneSV)wxPli_detach_object );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__BusyCursor_DESTROY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__BusyCursor_DESTROY)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxBusyCursor *    THIS = (wxBusyCursor *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::BusyCursor" )
;
    wxPli_thread_sv_unregister( aTHX_ "Wx::BusyCursor", THIS, ST(0) );
    delete THIS;
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__BusyInfo_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__BusyInfo_new)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "CLASS, message");
    {
	wxString	message;
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxBusyInfo *	RETVAL;

    WXSTRING_INPUT( message, wxString, ST(1) )
;

	RETVAL = new wxBusyInfo(message);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::BusyInfo" );
    wxPli_thread_sv_register( aTHX_ "Wx::BusyInfo", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__BusyInfo_CLONE); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__BusyInfo_CLONE)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "CLASS");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
    wxPli_thread_sv_clone( aTHX_ CLASS, (wxPliCloneSV)wxPli_detach_object );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__BusyInfo_DESTROY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__BusyInfo_DESTROY)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxBusyInfo *    THIS = (wxBusyInfo *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::BusyInfo" )
;
    wxPli_thread_sv_unregister( aTHX_ "Wx::BusyInfo", THIS, ST(0) );
    delete THIS;
    }
    XSRETURN_EMPTY;
}

#ifdef Pause
#undef Pause
#endif

XS_EUPXS(XS_Wx__StopWatch_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__StopWatch_new)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "CLASS");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxStopWatch *	RETVAL;

	RETVAL = new wxStopWatch();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::StopWatch" );
    wxPli_thread_sv_register( aTHX_ "Wx::StopWatch", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__StopWatch_CLONE); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__StopWatch_CLONE)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "CLASS");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
    wxPli_thread_sv_clone( aTHX_ CLASS, (wxPliCloneSV)wxPli_detach_object );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__StopWatch_DESTROY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__StopWatch_DESTROY)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxStopWatch *    THIS = (wxStopWatch *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::StopWatch" )
;
    wxPli_thread_sv_unregister( aTHX_ "Wx::StopWatch", THIS, ST(0) );
    delete THIS;
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__StopWatch_Pause); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__StopWatch_Pause)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxStopWatch *    THIS = (wxStopWatch *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::StopWatch" )
;

	THIS->Pause();
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__StopWatch_Start); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__StopWatch_Start)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "THIS, milliseconds = 0");
    {
	long	milliseconds;
	wxStopWatch *    THIS = (wxStopWatch *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::StopWatch" )
;

	if (items < 2)
	    milliseconds = 0;
	else {
	    milliseconds = (long)SvIV(ST(1))
;
	}

	THIS->Start(milliseconds);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__StopWatch_Resume); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__StopWatch_Resume)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxStopWatch *    THIS = (wxStopWatch *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::StopWatch" )
;

	THIS->Resume();
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__StopWatch_Time); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__StopWatch_Time)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxStopWatch *    THIS = (wxStopWatch *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::StopWatch" )
;
	long	RETVAL;
	dXSTARG;

	RETVAL = THIS->Time();
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}

#if wxUSE_SNGLINST_CHECKER
#define XSubPPtmpAAAV 1


XS_EUPXS(XS_Wx__SingleInstanceChecker_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__SingleInstanceChecker_new)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "CLASS");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxSingleInstanceChecker *	RETVAL;

	RETVAL = new wxSingleInstanceChecker();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::SingleInstanceChecker" );
    wxPli_thread_sv_register( aTHX_ "Wx::SingleInstanceChecker", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__SingleInstanceChecker_CLONE); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__SingleInstanceChecker_CLONE)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "CLASS");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
    wxPli_thread_sv_clone( aTHX_ CLASS, (wxPliCloneSV)wxPli_detach_object );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__SingleInstanceChecker_DESTROY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__SingleInstanceChecker_DESTROY)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxSingleInstanceChecker *    THIS = (wxSingleInstanceChecker *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::SingleInstanceChecker" )
;
    wxPli_thread_sv_unregister( aTHX_ "Wx::SingleInstanceChecker", THIS, ST(0) );
    delete THIS;
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__SingleInstanceChecker_Create); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__SingleInstanceChecker_Create)
{
    dVAR; dXSARGS;
    if (items < 2 || items > 3)
       croak_xs_usage(cv,  "THIS, name, path = wxEmptyString");
    {
	wxString	name;
	wxString	path;
	wxSingleInstanceChecker *    THIS = (wxSingleInstanceChecker *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::SingleInstanceChecker" )
;
	bool	RETVAL;

    WXSTRING_INPUT( name, wxString, ST(1) )
;

	if (items < 3)
	    path = wxEmptyString;
	else {
    WXSTRING_INPUT( path, wxString, ST(2) )
;
	}

	RETVAL = THIS->Create(name, path);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__SingleInstanceChecker_IsAnotherRunning); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__SingleInstanceChecker_IsAnotherRunning)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxSingleInstanceChecker *    THIS = (wxSingleInstanceChecker *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::SingleInstanceChecker" )
;
	bool	RETVAL;

	RETVAL = THIS->IsAnotherRunning();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}

#endif
#if WXPERL_W_VERSION_GE( 2, 8, 0 )
#define wxSystemOptions_SetOption wxSystemOptions::SetOption
#define wxSystemOptions_GetOption wxSystemOptions::GetOption
#define wxSystemOptions_GetOptionInt wxSystemOptions::GetOptionInt
#define wxSystemOptions_HasOption wxSystemOptions::HasOption
#define wxSystemOptions_IsFalse wxSystemOptions::IsFalse
#define XSubPPtmpAAAW 1


XS_EUPXS(XS_Wx__SystemOptions_SetOption); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__SystemOptions_SetOption)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "name, value");
    {
	wxString	name;
	wxString	value;

    WXSTRING_INPUT( name, wxString, ST(0) )
;

    WXSTRING_INPUT( value, wxString, ST(1) )
;
    wxSystemOptions_SetOption( name, value);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__SystemOptions_SetOptionInt); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__SystemOptions_SetOptionInt)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "name, value");
    {
	wxString	name;
	int	value = (int)SvIV(ST(1))
;

    WXSTRING_INPUT( name, wxString, ST(0) )
;
    wxSystemOptions_SetOption( name, value);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__SystemOptions_GetOption); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__SystemOptions_GetOption)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "name");
    {
	wxString	name;
	wxString	RETVAL;

    WXSTRING_INPUT( name, wxString, ST(0) )
;
    RETVAL = wxSystemOptions_GetOption( name );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__SystemOptions_GetOptionInt); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__SystemOptions_GetOptionInt)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "name");
    {
	wxString	name;
	int	RETVAL;
	dXSTARG;

    WXSTRING_INPUT( name, wxString, ST(0) )
;
    RETVAL = wxSystemOptions_GetOptionInt( name );
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__SystemOptions_HasOption); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__SystemOptions_HasOption)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "name");
    {
	wxString	name;
	bool	RETVAL;

    WXSTRING_INPUT( name, wxString, ST(0) )
;
    RETVAL = wxSystemOptions_HasOption( name );
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__SystemOptions_IsFalse); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__SystemOptions_IsFalse)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "name");
    {
	wxString	name;
	bool	RETVAL;

    WXSTRING_INPUT( name, wxString, ST(0) )
;
    RETVAL = wxSystemOptions_IsFalse( name );
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}

#endif
#if WXPERL_W_VERSION_GE( 2, 5, 2 )
#define wxSystemSettings_GetSystemColour wxSystemSettings::GetColour
#define wxSystemSettings_GetSystemFont wxSystemSettings::GetFont
#define wxSystemSettings_GetSystemMetric wxSystemSettings::GetMetric
#else
#define wxSystemSettings_GetSystemColour wxSystemSettings::GetSystemColour
#define wxSystemSettings_GetSystemFont wxSystemSettings::GetSystemFont
#define wxSystemSettings_GetSystemMetric wxSystemSettings::GetSystemMetric
#endif

XS_EUPXS(XS_Wx__SystemSettings_GetColour); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__SystemSettings_GetColour)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "index");
    {
	wxSystemColour	index = (wxSystemColour)SvIV(ST(0))
;
	wxColour *	RETVAL;
    RETVAL = new wxColour( wxSystemSettings_GetSystemColour( index ) );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::Colour" );
    wxPli_thread_sv_register( aTHX_ "Wx::Colour", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__SystemSettings_GetSystemColour); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__SystemSettings_GetSystemColour)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "index");
    {
	wxSystemColour	index = (wxSystemColour)SvIV(ST(0))
;
	wxColour *	RETVAL;
    RETVAL = new wxColour( wxSystemSettings_GetSystemColour( index ) );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::Colour" );
    wxPli_thread_sv_register( aTHX_ "Wx::Colour", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__SystemSettings_GetFont); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__SystemSettings_GetFont)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "index");
    {
	wxSystemFont	index = (wxSystemFont)SvIV(ST(0))
;
	wxFont *	RETVAL;
    RETVAL = new wxFont( wxSystemSettings_GetSystemFont( index ) );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
    wxPli_thread_sv_register( aTHX_ "Wx::Font", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__SystemSettings_GetSystemFont); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__SystemSettings_GetSystemFont)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "index");
    {
	wxSystemFont	index = (wxSystemFont)SvIV(ST(0))
;
	wxFont *	RETVAL;
    RETVAL = new wxFont( wxSystemSettings_GetSystemFont( index ) );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
    wxPli_thread_sv_register( aTHX_ "Wx::Font", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__SystemSettings_GetMetric); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__SystemSettings_GetMetric)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "index");
    {
	wxSystemMetric	index = (wxSystemMetric)SvIV(ST(0))
;
	int	RETVAL;
	dXSTARG;
    RETVAL = wxSystemSettings_GetSystemMetric( index );
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__SystemSettings_GetSystemMetric); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__SystemSettings_GetSystemMetric)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "index");
    {
	wxSystemMetric	index = (wxSystemMetric)SvIV(ST(0))
;
	int	RETVAL;
	dXSTARG;
    RETVAL = wxSystemSettings_GetSystemMetric( index );
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__SystemSettings_GetScreenType); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__SystemSettings_GetScreenType)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
	wxSystemScreenType	RETVAL;
	dXSTARG;
    RETVAL = wxSystemSettings::GetScreenType();
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__TipProvider_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__TipProvider_new)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "CLASS, currentTip");
    {
	size_t    currentTip = (size_t)SvUV( ST(1) )
;
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxTipProvider *	RETVAL;
    RETVAL = new wxPliTipProvider( CLASS, currentTip );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::TipProvider" );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__TipProvider_Destroy); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__TipProvider_Destroy)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxTipProvider *    THIS = (wxTipProvider *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::TipProvider" )
;
    delete THIS;
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__TipProvider_GetCurrentTip); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__TipProvider_GetCurrentTip)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxTipProvider *    THIS = (wxTipProvider *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::TipProvider" )
;
	size_t	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetCurrentTip();
	XSprePUSH;
	PUSHu((UV)RETVAL );
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__TipProvider_GetTip); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__TipProvider_GetTip)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxTipProvider *    THIS = (wxTipProvider *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::TipProvider" )
;
	wxString	RETVAL;

	RETVAL = THIS->GetTip();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__TipProvider_PreprocessTip); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__TipProvider_PreprocessTip)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, tip");
    {
	wxString	tip;
	wxTipProvider *    THIS = (wxTipProvider *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::TipProvider" )
;
	wxString	RETVAL;

    WXSTRING_INPUT( tip, wxString, ST(1) )
;

	RETVAL = THIS->PreprocessTip(tip);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__TipProvider_SetCurrentTip); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__TipProvider_SetCurrentTip)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, number");
    {
	size_t    number = (size_t)SvUV( ST(1) )
;
	wxTipProvider *    THIS = (wxTipProvider *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::TipProvider" )
;
    ((wxPliTipProvider*)THIS)->SetCurrentTip( number );
    }
    XSRETURN_EMPTY;
}

#if wxUSE_THREADS
#include <wx/thread.h>
#define XSubPPtmpAAAX 1


XS_EUPXS(XS_Wx__Thread_IsMain); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Thread_IsMain)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
	bool	RETVAL;
    RETVAL = wxThread::IsMain();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}

#endif
#if WXPERL_W_VERSION_GE( 2, 5, 3 )
#define XSubPPtmpAAAY 1


XS_EUPXS(XS_Wx_IsStockID); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_IsStockID)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "id");
    {
	bool	RETVAL;
	wxWindowID    id = wxPli_get_wxwindowid( aTHX_ ST(0) )
;

	RETVAL = wxIsStockID(id);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx_IsStockLabel); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_IsStockLabel)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "id, label");
    {
	bool	RETVAL;
	wxWindowID    id = wxPli_get_wxwindowid( aTHX_ ST(0) )
;
	wxString	label;

    WXSTRING_INPUT( label, wxString, ST(1) )
;

	RETVAL = wxIsStockLabel(id, label);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}

#if WXPERL_W_VERSION_GE( 2, 6, 3 )
#if WXPERL_W_VERSION_GE( 2, 7, 1 )
#define XSubPPtmpAAAZ 1


XS_EUPXS(XS_Wx_GetStockLabel); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_GetStockLabel)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "id, flags= wxSTOCK_WITH_MNEMONIC");
    {
	wxString	RETVAL;
	wxWindowID    id = wxPli_get_wxwindowid( aTHX_ ST(0) )
;
	long	flags;

	if (items < 2)
	    flags = wxSTOCK_WITH_MNEMONIC;
	else {
	    flags = (long)SvIV(ST(1))
;
	}

	RETVAL = wxGetStockLabel(id, flags);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#else
#define XSubPPtmpAABA 1


XS_EUPXS(XS_Wx_GetStockLabel); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_GetStockLabel)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 3)
       croak_xs_usage(cv,  "id, withCodes= true, accelerator= wxEmptyString");
    {
	wxString	RETVAL;
	wxWindowID    id = wxPli_get_wxwindowid( aTHX_ ST(0) )
;
	bool	withCodes;
	wxString	accelerator;

	if (items < 2)
	    withCodes = true;
	else {
	    withCodes = (bool)SvTRUE(ST(1))
;
	}

	if (items < 3)
	    accelerator = wxEmptyString;
	else {
    WXSTRING_INPUT( accelerator, wxString, ST(2) )
;
	}

	RETVAL = wxGetStockLabel(id, withCodes, accelerator);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#endif
#else
#define XSubPPtmpAABB 1


XS_EUPXS(XS_Wx_GetStockLabel); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_GetStockLabel)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "id");
    {
	wxString	RETVAL;
	wxWindowID    id = wxPli_get_wxwindowid( aTHX_ ST(0) )
;

	RETVAL = wxGetStockLabel(id);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#endif
#endif
#if WXPERL_W_VERSION_GE( 2, 7, 1 )
#define XSubPPtmpAABC 1


XS_EUPXS(XS_Wx_GetStockAccelerator); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_GetStockAccelerator)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "id");
    {
	wxAcceleratorEntry *	RETVAL;
	wxWindowID    id = wxPli_get_wxwindowid( aTHX_ ST(0) )
;
    RETVAL = new wxAcceleratorEntry( wxGetStockAccelerator( id ) );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::AcceleratorEntry" );
    wxPli_thread_sv_register( aTHX_ "Wx::AcceleratorEntry", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx_GetStockHelpString); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_GetStockHelpString)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "id, client= wxSTOCK_MENU");
    {
	wxString	RETVAL;
	wxWindowID    id = wxPli_get_wxwindowid( aTHX_ ST(0) )
;
	wxStockHelpStringClient	client;

	if (items < 2)
	    client = wxSTOCK_MENU;
	else {
	    client = (wxStockHelpStringClient)SvIV(ST(1))
;
	}

	RETVAL = wxGetStockHelpString(id, client);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#endif
#if WXPERL_W_VERSION_GE( 2, 7, 0 )
#define XSubPPtmpAABD 1


XS_EUPXS(XS_Wx_LaunchDefaultBrowser); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_LaunchDefaultBrowser)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "url, flags = 0");
    {
	wxString	url;
	int	flags;
	bool	RETVAL;

    WXSTRING_INPUT( url, wxString, ST(0) )
;

	if (items < 2)
	    flags = 0;
	else {
	    flags = (int)SvIV(ST(1))
;
	}

	RETVAL = wxLaunchDefaultBrowser(url, flags);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}

#else
#if WXPERL_W_VERSION_GE( 2, 6, 1 )
#define XSubPPtmpAABE 1


XS_EUPXS(XS_Wx_LaunchDefaultBrowser); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_LaunchDefaultBrowser)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "url");
    {
	wxString	url;
	bool	RETVAL;

    WXSTRING_INPUT( url, wxString, ST(0) )
;

	RETVAL = wxLaunchDefaultBrowser(url);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}

#endif
#endif

XS_EUPXS(XS_Wx_ShowTip); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_ShowTip)
{
    dVAR; dXSARGS;
    if (items < 2 || items > 3)
       croak_xs_usage(cv,  "parent, tipProvider, showAtStartup = true");
    {
	wxWindow*    parent = (wxWindow *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Window" )
;
	wxTipProvider*    tipProvider = (wxTipProvider *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::TipProvider" )
;
	bool	showAtStartup;
	bool	RETVAL;

	if (items < 3)
	    showAtStartup = true;
	else {
	    showAtStartup = (bool)SvTRUE(ST(2))
;
	}

	RETVAL = wxShowTip(parent, tipProvider, showAtStartup);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx_CreateFileTipProvider); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_CreateFileTipProvider)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "filename, currentTip");
    {
	wxString	filename;
	size_t    currentTip = (size_t)SvUV( ST(1) )
;
	wxTipProvider *	RETVAL;

    WXSTRING_INPUT( filename, wxString, ST(0) )
;

	RETVAL = wxCreateFileTipProvider(filename, currentTip);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::TipProvider" );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx_Usleep); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_Usleep)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "ms");
    {
	unsigned long    ms = (unsigned long)SvUV( ST(0) )
;
#if WXPERL_W_VERSION_LE( 2, 5, 2 )
    wxUsleep( ms );
#else
    wxMilliSleep( ms );
#endif
    }
    XSRETURN_EMPTY;
}

#if WXPERL_W_VERSION_GE( 2, 5, 3 )
#define XSubPPtmpAABF 1


XS_EUPXS(XS_Wx_MicroSleep); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_MicroSleep)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "ms");
    {
	unsigned long    ms = (unsigned long)SvUV( ST(0) )
;

	wxMicroSleep(ms);
    }
    XSRETURN_EMPTY;
}

#endif

XS_EUPXS(XS_Wx_MilliSleep); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_MilliSleep)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "ms");
    {
	unsigned long    ms = (unsigned long)SvUV( ST(0) )
;
#if WXPERL_W_VERSION_LE( 2, 5, 2 )
    wxUsleep( ms );
#else
    wxMilliSleep( ms );
#endif
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx_Sleep); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_Sleep)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "sec");
    {
	int	sec = (int)SvIV(ST(0))
;

	wxSleep(sec);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx_Yield); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_Yield)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
	bool	RETVAL;

	RETVAL = wxYield();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx_SafeYield); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_SafeYield)
{
    dVAR; dXSARGS;
    if (items < 0 || items > 2)
       croak_xs_usage(cv,  "window = 0, onlyIfNeeded = false");
    {
	wxWindow*	window;
	bool	onlyIfNeeded;
	bool	RETVAL;

	if (items < 1)
	    window = 0;
	else {
    window = (wxWindow *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Window" )
;
	}

	if (items < 2)
	    onlyIfNeeded = false;
	else {
	    onlyIfNeeded = (bool)SvTRUE(ST(1))
;
	}

	RETVAL = wxSafeYield(window, onlyIfNeeded);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx_YieldIfNeeded); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_YieldIfNeeded)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
	bool	RETVAL;

	RETVAL = wxYieldIfNeeded();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx_Trap); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_Trap)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {

	wxTrap();
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx_GetOsDescription); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_GetOsDescription)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
	wxString	RETVAL;

	RETVAL = wxGetOsDescription();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx_NewId); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_NewId)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
	long	RETVAL;
	dXSTARG;

	RETVAL = wxNewId();
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx_NewEventType); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_NewEventType)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
	wxEventType	RETVAL;
	dXSTARG;

	RETVAL = wxNewEventType();
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx_RegisterId); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_RegisterId)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "id");
    {
	long	id = (long)SvIV(ST(0))
;

	wxRegisterId(id);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx_Bell); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_Bell)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {

	wxBell();
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx_Exit); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_Exit)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {

	wxExit();
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx_Shell); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_Shell)
{
    dVAR; dXSARGS;
    if (items < 0 || items > 1)
       croak_xs_usage(cv,  "command = wxEmptyString");
    {
	wxString	command;
	bool	RETVAL;

	if (items < 1)
	    command = wxEmptyString;
	else {
    WXSTRING_INPUT( command, wxString, ST(0) )
;
	}

	RETVAL = wxShell(command);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}

#if WXPERL_W_VERSION_GE( 2, 6, 0 )
#define XSubPPtmpAABG 1


XS_EUPXS(XS_Wx_GetKeyState); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_GetKeyState)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "key");
    {
	wxKeyCode    key = wxPli_sv_2_keycode( aTHX_ ST(0) )
;
	bool	RETVAL;

	RETVAL = wxGetKeyState(key);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}

#endif

XS_EUPXS(XS_Wx_SetCursor); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_SetCursor)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "cursor");
    {
	wxCursor*    cursor = (wxCursor *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Cursor" )
;

	wxSetCursor(*cursor);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__utf8_on); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__utf8_on)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "sv");
    {
	SV*	sv = ST(0)
;
    SvUTF8_on( sv );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__utf8_off); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__utf8_off)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "sv");
    {
	SV*	sv = ST(0)
;
    SvUTF8_off( sv );
    }
    XSRETURN_EMPTY;
}


/* INCLUDE: Returning to 'XS/Locale.xs' from 'XS/Utils.xs' */

#include <wx/intl.h>

XS_EUPXS(XS_Wx__LanguageInfo_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__LanguageInfo_new)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "CLASS, language, canonicalName, winLang, winSublang, descr");
    {
	int	language = (int)SvIV(ST(1))
;
	wxString	canonicalName;
	int	winLang = (int)SvIV(ST(3))
;
	int	winSublang = (int)SvIV(ST(4))
;
	wxString	descr;
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxLanguageInfo *	RETVAL;

    WXSTRING_INPUT( canonicalName, wxString, ST(2) )
;

    WXSTRING_INPUT( descr, wxString, ST(5) )
;
    RETVAL = new wxLanguageInfo;
    RETVAL->Language = language;
    RETVAL->CanonicalName = canonicalName;
#if defined( __WXMSW__ )
    RETVAL->WinLang = winLang;
    RETVAL->WinSublang = winSublang;
#endif
    RETVAL->Description = descr;
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::LanguageInfo" );
    wxPli_thread_sv_register( aTHX_ "Wx::LanguageInfo", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__LanguageInfo_CLONE); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__LanguageInfo_CLONE)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "CLASS");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
    wxPli_thread_sv_clone( aTHX_ CLASS, (wxPliCloneSV)wxPli_detach_object );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__LanguageInfo_DESTROY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__LanguageInfo_DESTROY)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxLanguageInfo *    THIS = (wxLanguageInfo *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::LanguageInfo" )
;
    if( wxPli_object_is_deleteable( aTHX_ ST(0) ) )
        delete THIS;
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__LanguageInfo_GetLanguage); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__LanguageInfo_GetLanguage)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxLanguageInfo *    THIS = (wxLanguageInfo *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::LanguageInfo" )
;
	int	RETVAL;
	dXSTARG;
    RETVAL = THIS->Language;
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__LanguageInfo_GetCanonicalName); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__LanguageInfo_GetCanonicalName)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxLanguageInfo *    THIS = (wxLanguageInfo *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::LanguageInfo" )
;
	wxString	RETVAL;
    RETVAL = THIS->CanonicalName;
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__LanguageInfo_GetWinLang); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__LanguageInfo_GetWinLang)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxLanguageInfo *    THIS = (wxLanguageInfo *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::LanguageInfo" )
;
	unsigned int	RETVAL;
	dXSTARG;
#if defined( __WXMSW__ )
    RETVAL = THIS->WinLang;
#else
    RETVAL = 0;
#endif
	XSprePUSH;
	PUSHu((UV)RETVAL );
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__LanguageInfo_GetWinSublang); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__LanguageInfo_GetWinSublang)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxLanguageInfo *    THIS = (wxLanguageInfo *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::LanguageInfo" )
;
	unsigned int	RETVAL;
	dXSTARG;
#if defined( __WXMSW__ )
    RETVAL = THIS->WinSublang;
#else
    RETVAL = 0;
#endif
	XSprePUSH;
	PUSHu((UV)RETVAL );
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__LanguageInfo_GetDescription); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__LanguageInfo_GetDescription)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxLanguageInfo *    THIS = (wxLanguageInfo *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::LanguageInfo" )
;
	wxString	RETVAL;
    RETVAL = THIS->Description;
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#if WXPERL_W_VERSION_GE( 2, 9, 1 )
#define wxPL_LOCALE_CTOR_FLAGS wxLOCALE_LOAD_DEFAULT
#define wxPL_LOCALE_CONVERT_ENCODING true
#else
#define wxPL_LOCALE_CTOR_FLAGS wxLOCALE_LOAD_DEFAULT|wxLOCALE_CONV_ENCODING
#define wxPL_LOCALE_CONVERT_ENCODING false
#endif

XS_EUPXS(XS_Wx__Locale_newLong); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Locale_newLong)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 5)
       croak_xs_usage(cv,  "name, shorts = NULL, locale = NULL, loaddefault = true, convertencoding = wxPL_LOCALE_CONVERT_ENCODING");
    {
	const wxChar*	name;
	const wxChar*	shorts;
	const wxChar*	locale;
	bool	loaddefault;
	bool	convertencoding;
	wxLocale *	RETVAL;

    WXCHAR_INPUT( name, wxChar*, ST(0) )
;

	if (items < 4)
	    loaddefault = true;
	else {
	    loaddefault = (bool)SvTRUE(ST(3))
;
	}

	if (items < 5)
	    convertencoding = wxPL_LOCALE_CONVERT_ENCODING;
	else {
	    convertencoding = (bool)SvTRUE(ST(4))
;
	}
    wxString shorts_tmp, locale_tmp;

    if( items < 2 ) shorts = NULL;
    else
    {
        WXSTRING_INPUT( shorts_tmp, const char*, ST(1) );
        shorts = shorts_tmp.c_str();
    }

    if( items < 3 ) locale = NULL;
    else
    {
        WXSTRING_INPUT( locale_tmp, const char*, ST(2) );
        locale = locale_tmp.c_str();
    }

    RETVAL = new wxLocale( name, shorts,
        ( locale && wxStrlen( locale ) ) ? locale : NULL,
        loaddefault, convertencoding );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::Locale" );
    wxPli_thread_sv_register( aTHX_ "Wx::Locale", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Locale_newShort); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Locale_newShort)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "language, flags = wxPL_LOCALE_CTOR_FLAGS");
    {
	int	language = (int)SvIV(ST(0))
;
	int	flags;
	wxLocale *	RETVAL;

	if (items < 2)
	    flags = wxPL_LOCALE_CTOR_FLAGS;
	else {
	    flags = (int)SvIV(ST(1))
;
	}
    RETVAL = new wxLocale( language, flags );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::Locale" );
    wxPli_thread_sv_register( aTHX_ "Wx::Locale", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Locale_CLONE); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Locale_CLONE)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "CLASS");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
    wxPli_thread_sv_clone( aTHX_ CLASS, (wxPliCloneSV)wxPli_detach_object );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Locale_DESTROY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Locale_DESTROY)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxLocale *    THIS = (wxLocale *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Locale" )
;
    wxPli_thread_sv_unregister( aTHX_ "Wx::Locale", THIS, ST(0) );
    delete THIS;
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Locale_AddCatalog); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Locale_AddCatalog)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, domain");
    {
	wxString	domain;
	wxLocale *    THIS = (wxLocale *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Locale" )
;
	bool	RETVAL;

    WXSTRING_INPUT( domain, wxString, ST(1) )
;

	RETVAL = THIS->AddCatalog(domain);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Locale_AddCatalogLookupPathPrefix); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Locale_AddCatalogLookupPathPrefix)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, prefix");
    {
	wxString	prefix;
	wxLocale *    THIS = (wxLocale *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Locale" )
;

    WXSTRING_INPUT( prefix, wxString, ST(1) )
;

	THIS->AddCatalogLookupPathPrefix(prefix);
    }
    XSRETURN_EMPTY;
}

#if WXPERL_W_VERSION_GE( 2, 7, 2 )
#define XSubPPtmpAABH 1


XS_EUPXS(XS_Wx__Locale_IsAvailable); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Locale_IsAvailable)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "lang");
    {
	int	lang = (int)SvIV(ST(0))
;
	bool	RETVAL;
    RETVAL = wxLocale::IsAvailable( lang );
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}

#endif

XS_EUPXS(XS_Wx__Locale_AddLanguage); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Locale_AddLanguage)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "info");
    {
	wxLanguageInfo*    info = (wxLanguageInfo *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::LanguageInfo" )
;
    wxLocale::AddLanguage( *info );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Locale_GetLocale); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Locale_GetLocale)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxLocale *    THIS = (wxLocale *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Locale" )
;
	const wxChar *	RETVAL;

	RETVAL = THIS->GetLocale();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXCHAR_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Locale_GetName); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Locale_GetName)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxLocale *    THIS = (wxLocale *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Locale" )
;
	wxString	RETVAL;

	RETVAL = THIS->GetName();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Locale_GetString); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Locale_GetString)
{
    dVAR; dXSARGS;
    if (items < 2 || items > 3)
       croak_xs_usage(cv,  "THIS, string, domain = NULL");
    {
	const wxChar*	string;
	const wxChar*	domain;
	wxLocale *    THIS = (wxLocale *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Locale" )
;
	const wxChar *	RETVAL;

    WXCHAR_INPUT( string, wxChar*, ST(1) )
;

	if (items < 3)
	    domain = NULL;
	else {
    WXCHAR_INPUT( domain, wxChar*, ST(2) )
;
	}

	RETVAL = THIS->GetString(string, domain);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXCHAR_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#if WXPERL_W_VERSION_GE( 2, 5, 3 )
#define XSubPPtmpAABI 1


XS_EUPXS(XS_Wx__Locale_GetHeaderValue); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Locale_GetHeaderValue)
{
    dVAR; dXSARGS;
    if (items < 2 || items > 3)
       croak_xs_usage(cv,  "THIS, header, domain = NULL");
    {
	const wxChar*	header;
	const wxChar*	domain;
	wxLocale *    THIS = (wxLocale *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Locale" )
;
	wxString	RETVAL;

    WXCHAR_INPUT( header, wxChar*, ST(1) )
;

	if (items < 3)
	    domain = NULL;
	else {
    WXCHAR_INPUT( domain, wxChar*, ST(2) )
;
	}

	RETVAL = THIS->GetHeaderValue(header, domain);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#endif

XS_EUPXS(XS_Wx__Locale_GetSystemLanguage); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Locale_GetSystemLanguage)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
	int	RETVAL;
	dXSTARG;
    RETVAL = wxLocale::GetSystemLanguage();
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Locale_GetLanguage); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Locale_GetLanguage)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxLocale *    THIS = (wxLocale *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Locale" )
;
	int	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetLanguage();
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}

#if WXPERL_W_VERSION_GE( 2, 5, 1 )
#define XSubPPtmpAABJ 1


XS_EUPXS(XS_Wx__Locale_GetLanguageName); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Locale_GetLanguageName)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, lang");
    {
	int	lang = (int)SvIV(ST(1))
;
	wxLocale *    THIS = (wxLocale *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Locale" )
;
	wxString	RETVAL;

	RETVAL = THIS->GetLanguageName(lang);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#endif

XS_EUPXS(XS_Wx__Locale_GetSysName); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Locale_GetSysName)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxLocale *    THIS = (wxLocale *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Locale" )
;
	wxString	RETVAL;

	RETVAL = THIS->GetSysName();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Locale_GetCanonicalName); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Locale_GetCanonicalName)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxLocale *    THIS = (wxLocale *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Locale" )
;
	wxString	RETVAL;

	RETVAL = THIS->GetCanonicalName();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Locale_GetSystemEncoding); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Locale_GetSystemEncoding)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
	wxFontEncoding	RETVAL;
	dXSTARG;
    RETVAL = wxLocale::GetSystemEncoding();
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Locale_GetSystemEncodingName); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Locale_GetSystemEncodingName)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
	wxString	RETVAL;
    RETVAL = wxLocale::GetSystemEncodingName();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Locale_IsLoaded); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Locale_IsLoaded)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, domain");
    {
	const wxChar*	domain;
	wxLocale *    THIS = (wxLocale *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Locale" )
;
	bool	RETVAL;

    WXCHAR_INPUT( domain, wxChar*, ST(1) )
;

	RETVAL = THIS->IsLoaded(domain);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Locale_IsOk); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Locale_IsOk)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxLocale *    THIS = (wxLocale *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Locale" )
;
	bool	RETVAL;

	RETVAL = THIS->IsOk();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Locale_FindLanguageInfo); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Locale_FindLanguageInfo)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "name");
    {
	wxString	name;
	const wxLanguageInfo *	RETVAL;

    WXSTRING_INPUT( name, wxString, ST(0) )
;
    RETVAL = wxLocale::FindLanguageInfo( name );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::LanguageInfo" );
    wxPli_thread_sv_register( aTHX_ "Wx::LanguageInfo", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    if( ST(0) != NULL )
    	wxPli_object_set_deleteable( aTHX_ ST(0), false );
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Locale_Init); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Locale_Init)
{
    dVAR; dXSARGS;
    if (items < 2 || items > 3)
       croak_xs_usage(cv,  "THIS, language, flags = wxLOCALE_LOAD_DEFAULT|wxLOCALE_CONV_ENCODING");
    {
	int	language = (int)SvIV(ST(1))
;
	int	flags;
	wxLocale *    THIS = (wxLocale *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Locale" )
;
	bool	RETVAL;

	if (items < 3)
	    flags = wxLOCALE_LOAD_DEFAULT|wxLOCALE_CONV_ENCODING;
	else {
	    flags = (int)SvIV(ST(2))
;
	}

	RETVAL = THIS->Init(language, flags);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Locale_GetLanguageInfo); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Locale_GetLanguageInfo)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "language");
    {
	int	language = (int)SvIV(ST(0))
;
	const wxLanguageInfo *	RETVAL;
    RETVAL = wxLocale::GetLanguageInfo( language );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::LanguageInfo" );
    wxPli_thread_sv_register( aTHX_ "Wx::LanguageInfo", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    if( ST(0) != NULL )
    	wxPli_object_set_deleteable( aTHX_ ST(0), false );
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx_GetTranslation); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_GetTranslation)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
    BEGIN_OVERLOAD()
        MATCH_REDISP_FUNCTION( wxPliOvl_s, Wx::GetTranslationNormal )   
        MATCH_REDISP_FUNCTION( wxPliOvl_s_s_n, Wx::GetTranslationPlural )
    END_OVERLOAD( "Wx::GetTranslation" )
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx_GetTranslationNormal); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_GetTranslationNormal)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "string");
    {
	const wxChar*	string;
	const wxChar *	RETVAL;

    WXCHAR_INPUT( string, wxChar*, ST(0) )
;
    RETVAL = wxGetTranslation( string );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXCHAR_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx_GetTranslationPlural); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_GetTranslationPlural)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "string, plural, n");
    {
	const wxChar*	string;
	const wxChar*	plural;
	size_t    n = (size_t)SvUV( ST(2) )
;
	const wxChar *	RETVAL;

    WXCHAR_INPUT( string, wxChar*, ST(0) )
;

    WXCHAR_INPUT( plural, wxChar*, ST(1) )
;
    RETVAL = wxGetTranslation( string, plural, n );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXCHAR_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


/* INCLUDE: Returning to 'XS/ToolTip.xs' from 'XS/Locale.xs' */

#if wxPERL_USE_TOOLTIPS
#include <wx/tooltip.h>
#define XSubPPtmpAABK 1


XS_EUPXS(XS_Wx__ToolTip_Enable); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ToolTip_Enable)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "enable");
    {
	bool	enable = (bool)SvTRUE(ST(0))
;
    wxToolTip::Enable( enable );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__ToolTip_SetDelay); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ToolTip_SetDelay)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "msecs");
    {
	long	msecs = (long)SvIV(ST(0))
;
    wxToolTip::SetDelay( msecs );
    }
    XSRETURN_EMPTY;
}

#if WXPERL_W_VERSION_GE( 2, 9, 0 )
#define XSubPPtmpAABL 1


XS_EUPXS(XS_Wx__ToolTip_SetAutoPop); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ToolTip_SetAutoPop)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "msecs");
    {
	long	msecs = (long)SvIV(ST(0))
;
    wxToolTip::SetAutoPop( msecs );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__ToolTip_SetReshow); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ToolTip_SetReshow)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "msecs");
    {
	long	msecs = (long)SvIV(ST(0))
;
    wxToolTip::SetReshow( msecs );
    }
    XSRETURN_EMPTY;
}

#endif

XS_EUPXS(XS_Wx__ToolTip_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ToolTip_new)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "CLASS, string");
    {
	wxString	string;
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxToolTip *	RETVAL;

    WXSTRING_INPUT( string, wxString, ST(1) )
;

	RETVAL = new wxToolTip(string);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__ToolTip_SetTip); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ToolTip_SetTip)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, tip");
    {
	wxString	tip;
	wxToolTip *    THIS = (wxToolTip *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ToolTip" )
;

    WXSTRING_INPUT( tip, wxString, ST(1) )
;

	THIS->SetTip(tip);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__ToolTip_GetTip); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ToolTip_GetTip)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxToolTip *    THIS = (wxToolTip *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ToolTip" )
;
	wxString	RETVAL;

	RETVAL = THIS->GetTip();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__ToolTip_GetWindow); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ToolTip_GetWindow)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxToolTip *    THIS = (wxToolTip *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ToolTip" )
;
	wxWindow *	RETVAL;

	RETVAL = THIS->GetWindow();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#endif

/* INCLUDE: Returning to 'XS/Log.xs' from 'XS/ToolTip.xs' */

#include <wx/log.h>
#include "cpp/log.h"

XS_EUPXS(XS_Wx__Log_Destroy); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Log_Destroy)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxLog *    THIS = (wxLog *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Log" )
;
    delete THIS;
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Log_IsEnabled); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Log_IsEnabled)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
	bool	RETVAL;
    RETVAL = wxLog::IsEnabled();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Log_EnableLogging); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Log_EnableLogging)
{
    dVAR; dXSARGS;
    if (items < 0 || items > 1)
       croak_xs_usage(cv,  "enable = true");
    {
	bool	enable;
	bool	RETVAL;

	if (items < 1)
	    enable = true;
	else {
	    enable = (bool)SvTRUE(ST(0))
;
	}
    RETVAL = wxLog::EnableLogging( enable );
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}

#if WXPERL_W_VERSION_GE( 2, 8, 5 )
#define XSubPPtmpAABM 1


XS_EUPXS(XS_Wx__Log_SetRepetitionCounting); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Log_SetRepetitionCounting)
{
    dVAR; dXSARGS;
    if (items < 0 || items > 1)
       croak_xs_usage(cv,  "RepetCounting = true");
    {
	bool	RepetCounting;

	if (items < 1)
	    RepetCounting = true;
	else {
	    RepetCounting = (bool)SvTRUE(ST(0))
;
	}
    wxLog::SetRepetitionCounting( RepetCounting );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Log_GetRepetitionCounting); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Log_GetRepetitionCounting)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
	bool	RETVAL;
    RETVAL = wxLog::GetRepetitionCounting();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Log_DoCreateOnDemand); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Log_DoCreateOnDemand)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
    wxLog::DoCreateOnDemand();
    }
    XSRETURN_EMPTY;
}

#endif

XS_EUPXS(XS_Wx__Log_AddTraceMask); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Log_AddTraceMask)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "mask");
    {
	wxString	mask;

    WXSTRING_INPUT( mask, wxString, ST(0) )
;
    wxLog::AddTraceMask( mask );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Log_ClearTraceMasks); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Log_ClearTraceMasks)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
    wxLog::ClearTraceMasks();
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Log_RemoveTraceMask); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Log_RemoveTraceMask)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "mask");
    {
	wxString	mask;

    WXSTRING_INPUT( mask, wxString, ST(0) )
;
    wxLog::RemoveTraceMask( mask );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Log_IsAllowedTraceMask); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Log_IsAllowedTraceMask)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "mask");
    {
	wxString	mask;
	bool	RETVAL;

    WXSTRING_INPUT( mask, wxString, ST(0) )
;
    RETVAL = wxLog::IsAllowedTraceMask( mask );
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Log_GetTraceMasks); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Log_GetTraceMasks)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
    const wxArrayString& masksallowed = wxLog::GetTraceMasks();
    PUTBACK;
    wxPli_stringarray_push( aTHX_  masksallowed );
    SPAGAIN;
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__Log_GetActiveTarget); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Log_GetActiveTarget)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
	wxLog *	RETVAL;
    RETVAL = wxLog::GetActiveTarget();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::Log" );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Log_SetActiveTarget); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Log_SetActiveTarget)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "target");
    {
	wxLog*    target = (wxLog *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Log" )
;
	wxLog *	RETVAL;
    RETVAL = wxLog::SetActiveTarget( target );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::Log" );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Log_DontCreateOnDemand); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Log_DontCreateOnDemand)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
    wxLog::DontCreateOnDemand();
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Log_Suspend); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Log_Suspend)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
    wxLog::Suspend();
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Log_Resume); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Log_Resume)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
    wxLog::Resume();
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Log_GetLogLevel); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Log_GetLogLevel)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
	wxLogLevel	RETVAL;
	dXSTARG;
    RETVAL = wxLog::GetLogLevel();
	XSprePUSH;
	PUSHu((UV)RETVAL );
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Log_SetLogLevel); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Log_SetLogLevel)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "loglevel");
    {
	wxLogLevel    loglevel = (wxLogLevel)SvUV( ST(0) )
;
    wxLog::SetLogLevel( loglevel );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Log_Flush); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Log_Flush)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxLog *    THIS = (wxLog *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Log" )
;

	THIS->Flush();
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Log_FlushActive); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Log_FlushActive)
{
    dVAR; dXSARGS;
    if (items < 0 || items > 1)
       croak_xs_usage(cv,  "myLog = NULL");
    {
	wxLog*	myLog;

	if (items < 1)
	    myLog = NULL;
	else {
    myLog = (wxLog *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Log" )
;
	}
    wxLog::FlushActive();
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Log_HasPendingMessages); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Log_HasPendingMessages)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxLog *    THIS = (wxLog *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Log" )
;
	bool	RETVAL;

	RETVAL = THIS->HasPendingMessages();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Log_SetVerbose); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Log_SetVerbose)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
    BEGIN_OVERLOAD()
        MATCH_VOIDM_REDISP_FUNCTION( Wx::Log::SetVerboseFunctionDefault )
        MATCH_REDISP_COUNT_FUNCTION(wxPliOvl_wlog, Wx::Log::SetVerboseMethodDefault, 1 )
        MATCH_REDISP_COUNT_FUNCTION(wxPliOvl_n, Wx::Log::SetVerboseFunctionParam, 1)
        MATCH_REDISP_COUNT_FUNCTION(wxPliOvl_wlog_n, Wx::Log::SetVerboseMethodParam, 2)
    END_OVERLOAD( "Wx::Log::SetVerbose" )
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__Log_SetVerboseFunctionDefault); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Log_SetVerboseFunctionDefault)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
    wxLog::SetVerbose( true );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Log_SetVerboseMethodDefault); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Log_SetVerboseMethodDefault)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "myLog");
    {
	wxLog*    myLog = (wxLog *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Log" )
;
    wxLog::SetVerbose( true );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Log_SetVerboseFunctionParam); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Log_SetVerboseFunctionParam)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "enable");
    {
	bool	enable = (bool)SvTRUE(ST(0))
;
    wxLog::SetVerbose( enable );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Log_SetVerboseMethodParam); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Log_SetVerboseMethodParam)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "myLog, enable");
    {
	wxLog*    myLog = (wxLog *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Log" )
;
	bool	enable = (bool)SvTRUE(ST(1))
;
    wxLog::SetVerbose( enable );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Log_GetVerbose); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Log_GetVerbose)
{
    dVAR; dXSARGS;
    if (items < 0 || items > 1)
       croak_xs_usage(cv,  "myLog = NULL");
    {
	wxLog*	myLog;
	bool	RETVAL;

	if (items < 1)
	    myLog = NULL;
	else {
    myLog = (wxLog *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Log" )
;
	}
    RETVAL = wxLog::GetVerbose();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}

#if WXPERL_W_VERSION_GE( 2, 9, 0 )
#define XSubPPtmpAABN 1


XS_EUPXS(XS_Wx__Log__SetTimestamp); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Log__SetTimestamp)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "format, buffer");
    {
	wxString	format;
	SV*	buffer = ST(1)
;

    WXSTRING_INPUT( format, wxString, ST(0) )
;
    wxLog::SetTimestamp( format );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Log_GetTimestamp); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Log_GetTimestamp)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxLog *    THIS = (wxLog *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Log" )
;
	wxString	RETVAL;

	RETVAL = THIS->GetTimestamp();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#else
#define XSubPPtmpAABO 1


XS_EUPXS(XS_Wx__Log__SetTimestamp); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Log__SetTimestamp)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "format, buffer");
    {
	SV*	format = ST(0)
;
	SV*	buffer = ST(1)
;
    if( SvOK( ST(0) ) ) {
        const wxString format_tmp = ( SvUTF8( format ) ) ?
                  ( wxString( SvPVutf8_nolen( format ), wxConvUTF8 ) )
                : ( wxString( SvPV_nolen( format ), wxConvLibc ) );
        const wxChar* fmt = (const wxChar*)format_tmp.c_str();
        STRLEN size = wxStrlen( fmt ) * sizeof(wxChar) + sizeof(wxChar);
        SvUPGRADE( buffer, SVt_PV );
        wxLog::SetTimestamp( wxStrcpy( (wxChar*)SvGROW( buffer, size ),
                             fmt ) );
    } else {
        wxLog::SetTimestamp( NULL );
    }
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Log_GetTimestamp); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Log_GetTimestamp)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxLog *    THIS = (wxLog *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Log" )
;
	const wxChar *	RETVAL;

	RETVAL = THIS->GetTimestamp();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXCHAR_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#endif
#if WXPERL_W_VERSION_GE( 2, 9, 0 )
#define XSubPPtmpAABP 1


XS_EUPXS(XS_Wx__Log_SetComponentLevel); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Log_SetComponentLevel)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "component, level");
    {
	wxString	component;
	wxLogLevel    level = (wxLogLevel)SvUV( ST(1) )
;

    WXSTRING_INPUT( component, wxString, ST(0) )
;
    wxLog::SetComponentLevel( component, level );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Log_GetComponentLevel); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Log_GetComponentLevel)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "component");
    {
	wxString	component;
	wxLogLevel	RETVAL;
	dXSTARG;

    WXSTRING_INPUT( component, wxString, ST(0) )
;
    RETVAL = wxLog::GetComponentLevel( component );
	XSprePUSH;
	PUSHu((UV)RETVAL );
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Log_IsLevelEnabled); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Log_IsLevelEnabled)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "level, component");
    {
	wxLogLevel    level = (wxLogLevel)SvUV( ST(0) )
;
	wxString	component;
	bool	RETVAL;

    WXSTRING_INPUT( component, wxString, ST(1) )
;
    RETVAL = wxLog::IsLevelEnabled( level, component );
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}

#endif
#if WXPERL_W_VERSION_LT( 2, 9, 0 ) || WXWIN_COMPATIBILITY_2_8
#define XSubPPtmpAABQ 1


XS_EUPXS(XS_Wx__Log_SetTraceMask); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Log_SetTraceMask)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "mask");
    {
	wxTraceMask    mask = (wxTraceMask)SvUV( ST(0) )
;
    wxLog::SetTraceMask( mask );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Log_GetTraceMask); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Log_GetTraceMask)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
	wxTraceMask	RETVAL;
	dXSTARG;
    RETVAL = wxLog::GetTraceMask();
	XSprePUSH;
	PUSHu((UV)RETVAL );
    }
    XSRETURN(1);
}

#endif

XS_EUPXS(XS_Wx__PlLog_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__PlLog_new)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "CLASS");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxPlLog *	RETVAL;
    RETVAL = new wxPlLog( CLASS );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::PlLog" );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__LogTextCtrl_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__LogTextCtrl_new)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "CLASS, ctrl");
    {
	wxTextCtrl*    ctrl = (wxTextCtrl *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::TextCtrl" )
;
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxLogTextCtrl *	RETVAL;

	RETVAL = new wxLogTextCtrl(ctrl);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::LogTextCtrl" );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__LogNull_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__LogNull_new)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "CLASS");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxLogNull *	RETVAL;

	RETVAL = new wxLogNull();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::LogNull" );
    wxPli_thread_sv_register( aTHX_ "Wx::LogNull", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__LogNull_CLONE); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__LogNull_CLONE)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "CLASS");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
    wxPli_thread_sv_clone( aTHX_ CLASS, (wxPliCloneSV)wxPli_detach_object );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__LogNull_DESTROY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__LogNull_DESTROY)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxLogNull *    THIS = (wxLogNull *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::LogNull" )
;
    wxPli_thread_sv_unregister( aTHX_ "Wx::LogNull", THIS, ST(0) );
    delete THIS;
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__LogGui_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__LogGui_new)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "CLASS");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxLogGui *	RETVAL;

	RETVAL = new wxLogGui();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::LogGui" );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__LogWindow_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__LogWindow_new)
{
    dVAR; dXSARGS;
    if (items < 3 || items > 5)
       croak_xs_usage(cv,  "CLASS, parent, title, show = true, passtoold = true");
    {
	wxFrame*    parent = (wxFrame *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Frame" )
;
	wxString	title;
	bool	show;
	bool	passtoold;
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxLogWindow *	RETVAL;

    WXSTRING_INPUT( title, wxString, ST(2) )
;

	if (items < 4)
	    show = true;
	else {
	    show = (bool)SvTRUE(ST(3))
;
	}

	if (items < 5)
	    passtoold = true;
	else {
	    passtoold = (bool)SvTRUE(ST(4))
;
	}

	RETVAL = new wxLogWindow(parent, title, show, passtoold);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::LogWindow" );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#if 0
#define XSINTERFACE__wxstring( _ret, _cv, _f ) \
  ( ( void (*)( const wxString& ) ) _f)
#define XSINTERFACE__wxstring_SET( _cv, _f ) \
  ( CvXSUBANY( _cv ).any_ptr = (void*) _f ) 
#undef dXSFUNCTION
#define dXSFUNCTION( a ) \
  void (*XSFUNCTION)( const wxString& )
#define XSubPPtmpAABR 1


XS_EUPXS(XS_Wx_interface__wxstring); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_interface__wxstring)
{
    dVAR; dXSARGS;
    dXSFUNCTION(void);
    if (items != 1)
       croak_xs_usage(cv,  "string");
    {
	wxString	string;

    WXSTRING_INPUT( string, wxString, ST(0) )
;
    XSFUNCTION = XSINTERFACE__wxstring(void,cv,XSANY.any_dptr);

	XSFUNCTION(string);
    }
    XSRETURN_EMPTY;
}

#else
#if WXPERL_W_VERSION_GE( 2, 9, 0 )
#define XSubPPtmpAABS 1


XS_EUPXS(XS_Wx_wxLogError); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_wxLogError)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "string");
    {
	wxString	string;

    WXSTRING_INPUT( string, wxString, ST(0) )
;

	wxLogError(string);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx_wxLogFatalError); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_wxLogFatalError)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "string");
    {
	wxString	string;

    WXSTRING_INPUT( string, wxString, ST(0) )
;

	wxLogFatalError(string);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx_wxLogWarning); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_wxLogWarning)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "string");
    {
	wxString	string;

    WXSTRING_INPUT( string, wxString, ST(0) )
;

	wxLogWarning(string);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx_wxLogMessage); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_wxLogMessage)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "string");
    {
	wxString	string;

    WXSTRING_INPUT( string, wxString, ST(0) )
;

	wxLogMessage(string);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx_wxLogVerbose); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_wxLogVerbose)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "string");
    {
	wxString	string;

    WXSTRING_INPUT( string, wxString, ST(0) )
;

	wxLogVerbose(string);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx_wxLogDebug); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_wxLogDebug)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "string");
    {
	wxString	string;

    WXSTRING_INPUT( string, wxString, ST(0) )
;

	wxLogDebug(string);
    }
    XSRETURN_EMPTY;
}

#else
#define XSubPPtmpAABT 1


XS_EUPXS(XS_Wx_wxLogError); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_wxLogError)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "string");
    {
	const wxChar*	string;

    WXCHAR_INPUT( string, wxChar*, ST(0) )
;

	wxLogError(string);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx_wxLogFatalError); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_wxLogFatalError)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "string");
    {
	const wxChar*	string;

    WXCHAR_INPUT( string, wxChar*, ST(0) )
;

	wxLogFatalError(string);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx_wxLogWarning); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_wxLogWarning)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "string");
    {
	const wxChar*	string;

    WXCHAR_INPUT( string, wxChar*, ST(0) )
;

	wxLogWarning(string);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx_wxLogMessage); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_wxLogMessage)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "string");
    {
	const wxChar*	string;

    WXCHAR_INPUT( string, wxChar*, ST(0) )
;

	wxLogMessage(string);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx_wxLogVerbose); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_wxLogVerbose)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "string");
    {
	const wxChar*	string;

    WXCHAR_INPUT( string, wxChar*, ST(0) )
;

	wxLogVerbose(string);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx_wxLogDebug); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_wxLogDebug)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "string");
    {
	const wxChar*	string;

    WXCHAR_INPUT( string, wxChar*, ST(0) )
;

	wxLogDebug(string);
    }
    XSRETURN_EMPTY;
}

#endif
#endif

XS_EUPXS(XS_Wx_wxLogStatusFrame); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_wxLogStatusFrame)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "frame, string");
    {
	wxFrame*    frame = (wxFrame *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Frame" )
;
	const wxChar*	string;

    WXCHAR_INPUT( string, wxChar*, ST(1) )
;
    wxLogStatus( frame, string );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx_wxLogStatus); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_wxLogStatus)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "string");
    {
	const wxChar*	string;

    WXCHAR_INPUT( string, wxChar*, ST(0) )
;

	wxLogStatus(string);
    }
    XSRETURN_EMPTY;
}

#if WXPERL_W_VERSION_LE( 2, 5, 0 )
#define XSubPPtmpAABU 1


XS_EUPXS(XS_Wx_wxLogTrace); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_wxLogTrace)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "string");
    {
	const wxChar*	string;

    WXCHAR_INPUT( string, wxChar*, ST(0) )
;

	wxLogTrace(string);
    }
    XSRETURN_EMPTY;
}

#endif

XS_EUPXS(XS_Wx_wxLogTraceMask); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_wxLogTraceMask)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "mask, string");
    {
	const wxChar*	mask;
	const wxChar*	string;

    WXCHAR_INPUT( mask, wxChar*, ST(0) )
;

    WXCHAR_INPUT( string, wxChar*, ST(1) )
;
    wxLogTrace( mask, string );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx_wxLogSysError); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_wxLogSysError)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "string");
    {
	const wxChar*	string;

    WXCHAR_INPUT( string, wxChar*, ST(0) )
;

	wxLogSysError(string);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx_SysErrorCode); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_SysErrorCode)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
	unsigned long	RETVAL;
	dXSTARG;

	RETVAL = wxSysErrorCode();
	XSprePUSH;
	PUSHu((UV)RETVAL );
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx_SysErrorMsg); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_SysErrorMsg)
{
    dVAR; dXSARGS;
    if (items < 0 || items > 1)
       croak_xs_usage(cv,  "errCode = 0");
    {
	unsigned long	errCode;
	const wxChar *	RETVAL;

	if (items < 1)
	    errCode = 0;
	else {
    errCode = (unsigned long)SvUV( ST(0) )
;
	}

	RETVAL = wxSysErrorMsg(errCode);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXCHAR_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__LogChain_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__LogChain_new)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "CLASS, logger");
    {
	wxLog*    logger = (wxLog *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Log" )
;
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxLogChain *	RETVAL;

	RETVAL = new wxLogChain(logger);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::LogChain" );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__LogChain_GetOldLog); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__LogChain_GetOldLog)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxLogChain *    THIS = (wxLogChain *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::LogChain" )
;
	wxLog *	RETVAL;

	RETVAL = THIS->GetOldLog();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::Log" );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#if WXPERL_W_VERSION_GE( 2, 8, 5 )
#define XSubPPtmpAABV 1


XS_EUPXS(XS_Wx__LogChain_DetachOldLog); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__LogChain_DetachOldLog)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxLogChain *    THIS = (wxLogChain *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::LogChain" )
;

	THIS->DetachOldLog();
    }
    XSRETURN_EMPTY;
}

#endif

XS_EUPXS(XS_Wx__LogChain_IsPassingMessages); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__LogChain_IsPassingMessages)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxLogChain *    THIS = (wxLogChain *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::LogChain" )
;
	bool	RETVAL;

	RETVAL = THIS->IsPassingMessages();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__LogChain_PassMessages); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__LogChain_PassMessages)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, passMessages");
    {
	bool	passMessages = (bool)SvTRUE(ST(1))
;
	wxLogChain *    THIS = (wxLogChain *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::LogChain" )
;

	THIS->PassMessages(passMessages);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__LogChain_SetLog); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__LogChain_SetLog)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, logger");
    {
	wxLog*    logger = (wxLog *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Log" )
;
	wxLogChain *    THIS = (wxLogChain *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::LogChain" )
;

	THIS->SetLog(logger);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__LogPassThrough_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__LogPassThrough_new)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "CLASS");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxLogPassThrough *	RETVAL;

	RETVAL = new wxLogPassThrough();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::LogPassThrough" );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__PlLogPassThrough_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__PlLogPassThrough_new)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "CLASS");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxPlLogPassThrough *	RETVAL;
    RETVAL = new wxPlLogPassThrough( CLASS );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::PlLogPassThrough" );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__LogStderr_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__LogStderr_new)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "CLASS, fp = NULL");
    {
	FILE*	fp;
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxLogStderr *	RETVAL;

	if (items < 2)
	    fp = NULL;
	else {
	    fp = PerlIO_findFILE(IoIFP(sv_2io(ST(1))))
;
	}

	RETVAL = new wxLogStderr(fp);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::LogStderr" );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#if WXPERL_W_VERSION_GE( 2, 9, 0 )
#define XSubPPtmpAABW 1


XS_EUPXS(XS_Wx__PlLogFormatter_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__PlLogFormatter_new)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "CLASS");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxPlLogFormatter *	RETVAL;
    RETVAL = new wxPlLogFormatter( CLASS );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::PlLogFormatter" );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__PlLogFormatter_Destroy); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__PlLogFormatter_Destroy)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxPlLogFormatter *    THIS = (wxPlLogFormatter *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::PlLogFormatter" )
;
    delete THIS;
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__LogFormatter_Destroy); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__LogFormatter_Destroy)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxLogFormatter *    THIS = (wxLogFormatter *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::LogFormatter" )
;
    delete THIS;
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__LogRecordInfo_filename); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__LogRecordInfo_filename)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxLogRecordInfo *    THIS = (wxLogRecordInfo *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::LogRecordInfo" )
;
	const char *	RETVAL;
	dXSTARG;
    RETVAL = THIS->filename;
	sv_setpv(TARG, RETVAL);
	XSprePUSH;
	PUSHTARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__LogRecordInfo_line); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__LogRecordInfo_line)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxLogRecordInfo *    THIS = (wxLogRecordInfo *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::LogRecordInfo" )
;
	int	RETVAL;
	dXSTARG;
    RETVAL = THIS->line;
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__LogRecordInfo_func); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__LogRecordInfo_func)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxLogRecordInfo *    THIS = (wxLogRecordInfo *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::LogRecordInfo" )
;
	const char *	RETVAL;
	dXSTARG;
    RETVAL = THIS->func;
	sv_setpv(TARG, RETVAL);
	XSprePUSH;
	PUSHTARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__LogRecordInfo_component); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__LogRecordInfo_component)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxLogRecordInfo *    THIS = (wxLogRecordInfo *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::LogRecordInfo" )
;
	const char *	RETVAL;
	dXSTARG;
    RETVAL = THIS->filename;
	sv_setpv(TARG, RETVAL);
	XSprePUSH;
	PUSHTARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__LogRecordInfo_timestamp); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__LogRecordInfo_timestamp)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxLogRecordInfo *    THIS = (wxLogRecordInfo *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::LogRecordInfo" )
;
	time_t	RETVAL;
	dXSTARG;
    RETVAL = THIS->timestamp;
	XSprePUSH;
	PUSHn((NV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__LogRecordInfo_StoreValue); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__LogRecordInfo_StoreValue)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
    BEGIN_OVERLOAD()
        MATCH_REDISP_COUNT(wxPliOvl_s_n, Wx::LogRecordInfo::StoreNumValue, 2 )
        MATCH_REDISP_COUNT(wxPliOvl_s_s, Wx::LogRecordInfo::StoreStrValue, 2 )
    END_OVERLOAD( "Wx::LogRecordInfo::StoreValue" )
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__LogRecordInfo_StoreNumValue); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__LogRecordInfo_StoreNumValue)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, key, val");
    {
	wxString	key;
	wxUIntPtr    val = (wxUIntPtr)SvUV( ST(2) )
;
	wxLogRecordInfo *    THIS = (wxLogRecordInfo *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::LogRecordInfo" )
;

    WXSTRING_INPUT( key, wxString, ST(1) )
;
    THIS->StoreValue( key, val );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__LogRecordInfo_StoreStrValue); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__LogRecordInfo_StoreStrValue)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, key, val");
    {
	wxString	key;
	wxString	val;
	wxLogRecordInfo *    THIS = (wxLogRecordInfo *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::LogRecordInfo" )
;

    WXSTRING_INPUT( key, wxString, ST(1) )
;

    WXSTRING_INPUT( val, wxString, ST(2) )
;
    THIS->StoreValue( key, val );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__LogRecordInfo_GetNumValue); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__LogRecordInfo_GetNumValue)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, key");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	wxString	key;
    wxUIntPtr val;
	wxLogRecordInfo *    THIS = (wxLogRecordInfo *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::LogRecordInfo" )
;

    WXSTRING_INPUT( key, wxString, ST(1) )
;
    bool result = THIS->GetNumValue( key, &val);
    EXTEND( SP, 1 );
    if(result) {
        PUSHs( sv_2mortal( newSVuv( val ) ) );
    } else {
        PUSHs( &PL_sv_undef );
    }
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__LogRecordInfo_GetStrValue); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__LogRecordInfo_GetStrValue)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, key");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	wxString	key;
    wxString val;
	wxLogRecordInfo *    THIS = (wxLogRecordInfo *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::LogRecordInfo" )
;

    WXSTRING_INPUT( key, wxString, ST(1) )
;
    bool result = THIS->GetStrValue( key, &val);
    EXTEND( SP, 1 );
    if(result) {
        SV* sv = sv_newmortal();
        wxPli_wxString_2_sv( aTHX_ val, sv );
    } else {
        PUSHs( &PL_sv_undef );
    }
	PUTBACK;
	return;
    }
}

#endif

/* INCLUDE: Returning to 'XS/Menu.xs' from 'XS/Log.xs' */

#include <wx/menu.h>

XS_EUPXS(XS_Wx__Menu_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Menu_new)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 3)
       croak_xs_usage(cv,  "CLASS, title = wxEmptyString, style = 0");
    {
	wxString	title;
	long	style;
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxMenu *	RETVAL;

	if (items < 2)
	    title = wxEmptyString;
	else {
    WXSTRING_INPUT( title, wxString, ST(1) )
;
	}

	if (items < 3)
	    style = 0;
	else {
	    style = (long)SvIV(ST(2))
;
	}

	RETVAL = new wxMenu(title, style);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#if WXPERL_W_VERSION_GE( 2, 7, 0 )
#define XSubPPtmpAABX 1


XS_EUPXS(XS_Wx__Menu_AppendSubMenu); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Menu_AppendSubMenu)
{
    dVAR; dXSARGS;
    if (items < 3 || items > 4)
       croak_xs_usage(cv,  "THIS, submenu, text, help = wxEmptyString");
    {
	wxMenu*    submenu = (wxMenu *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Menu" )
;
	wxString	text;
	wxString	help;
	wxMenu *    THIS = (wxMenu *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Menu" )
;
	wxMenuItem *	RETVAL;

    WXSTRING_INPUT( text, wxString, ST(2) )
;

	if (items < 4)
	    help = wxEmptyString;
	else {
    WXSTRING_INPUT( help, wxString, ST(3) )
;
	}

	RETVAL = THIS->AppendSubMenu(submenu, text, help);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#endif

XS_EUPXS(XS_Wx__Menu_AppendString); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Menu_AppendString)
{
    dVAR; dXSARGS;
    if (items < 2 || items > 5)
       croak_xs_usage(cv,  "THIS, id, item = wxEmptyString, help = wxEmptyString, kind = wxITEM_NORMAL");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	int	id = (int)SvIV(ST(1))
;
	wxString	item;
	wxString	help;
	wxItemKind	kind;
	wxMenu *    THIS = (wxMenu *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Menu" )
;

	if (items < 3)
	    item = wxEmptyString;
	else {
    WXSTRING_INPUT( item, wxString, ST(2) )
;
	}

	if (items < 4)
	    help = wxEmptyString;
	else {
    WXSTRING_INPUT( help, wxString, ST(3) )
;
	}

	if (items < 5)
	    kind = wxITEM_NORMAL;
	else {
	    kind = (wxItemKind)SvIV(ST(4))
;
	}
#if WXPERL_W_VERSION_GE( 2, 5, 1 )
    XPUSHs( wxPli_object_2_sv( aTHX_ sv_newmortal(),
            THIS->Append( id, item, help, kind ) ) );
#else
    THIS->Append( id, item, help, kind );
#endif
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__Menu_AppendSubMenu_); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Menu_AppendSubMenu_)
{
    dVAR; dXSARGS;
    if (items < 4 || items > 5)
       croak_xs_usage(cv,  "THIS, id, item, subMenu, helpString = wxEmptyString");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	int	id = (int)SvIV(ST(1))
;
	wxString	item;
	wxMenu*    subMenu = (wxMenu *) wxPli_sv_2_object( aTHX_ ST(3), "Wx::Menu" )
;
	wxString	helpString;
	wxMenu *    THIS = (wxMenu *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Menu" )
;

    WXSTRING_INPUT( item, wxString, ST(2) )
;

	if (items < 5)
	    helpString = wxEmptyString;
	else {
    WXSTRING_INPUT( helpString, wxString, ST(4) )
;
	}
#if WXPERL_W_VERSION_GE( 2, 5, 1 )
    XPUSHs( wxPli_object_2_sv( aTHX_ sv_newmortal(),
            THIS->Append( id, item, subMenu, helpString ) ) );
#else
    THIS->Append( id, item, subMenu, helpString );
#endif
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__Menu_AppendItem); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Menu_AppendItem)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, menuItem");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	wxMenuItem*    menuItem = (wxMenuItem *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::MenuItem" )
;
	wxMenu *    THIS = (wxMenu *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Menu" )
;
#if WXPERL_W_VERSION_GE( 2, 5, 1 )
    XPUSHs( wxPli_object_2_sv( aTHX_ sv_newmortal(),
            THIS->Append( menuItem ) ) );
#else
    THIS->Append( menuItem );
#endif
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__Menu_AppendCheckItem); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Menu_AppendCheckItem)
{
    dVAR; dXSARGS;
    if (items < 3 || items > 4)
       croak_xs_usage(cv,  "THIS, id, item, helpString = wxEmptyString");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	int	id = (int)SvIV(ST(1))
;
	wxString	item;
	wxString	helpString;
	wxMenu *    THIS = (wxMenu *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Menu" )
;

    WXSTRING_INPUT( item, wxString, ST(2) )
;

	if (items < 4)
	    helpString = wxEmptyString;
	else {
    WXSTRING_INPUT( helpString, wxString, ST(3) )
;
	}
#if WXPERL_W_VERSION_GE( 2, 5, 1 )
    XPUSHs( wxPli_object_2_sv( aTHX_ sv_newmortal(),
            THIS->AppendCheckItem( id, item, helpString ) ) );
#else
    THIS->AppendCheckItem( id, item, helpString );
#endif
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__Menu_AppendRadioItem); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Menu_AppendRadioItem)
{
    dVAR; dXSARGS;
    if (items < 3 || items > 4)
       croak_xs_usage(cv,  "THIS, id, item, helpString = wxEmptyString");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	int	id = (int)SvIV(ST(1))
;
	wxString	item;
	wxString	helpString;
	wxMenu *    THIS = (wxMenu *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Menu" )
;

    WXSTRING_INPUT( item, wxString, ST(2) )
;

	if (items < 4)
	    helpString = wxEmptyString;
	else {
    WXSTRING_INPUT( helpString, wxString, ST(3) )
;
	}
#if WXPERL_W_VERSION_GE( 2, 5, 1 )
    XPUSHs( wxPli_object_2_sv( aTHX_ sv_newmortal(),
            THIS->AppendRadioItem( id, item, helpString ) ) );
#else
    THIS->AppendRadioItem( id, item, helpString );
#endif
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__Menu_AppendSeparator); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Menu_AppendSeparator)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	wxMenu *    THIS = (wxMenu *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Menu" )
;
#if WXPERL_W_VERSION_GE( 2, 5, 1 )
    XPUSHs( wxPli_object_2_sv( aTHX_ sv_newmortal(),
            THIS->AppendSeparator() ) );
#else
    THIS->AppendSeparator();
#endif
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__Menu_Break); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Menu_Break)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxMenu *    THIS = (wxMenu *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Menu" )
;

	THIS->Break();
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Menu_Check); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Menu_Check)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, id, check");
    {
	int	id = (int)SvIV(ST(1))
;
	bool	check = (bool)SvTRUE(ST(2))
;
	wxMenu *    THIS = (wxMenu *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Menu" )
;

	THIS->Check(id, check);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Menu_DeleteId); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Menu_DeleteId)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, id");
    {
	int	id = (int)SvIV(ST(1))
;
	wxMenu *    THIS = (wxMenu *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Menu" )
;
    THIS->Delete( id );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Menu_DeleteItem); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Menu_DeleteItem)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, item");
    {
	wxMenuItem*    item = (wxMenuItem *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::MenuItem" )
;
	wxMenu *    THIS = (wxMenu *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Menu" )
;
    THIS->Delete( item );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Menu_DestroyMenu); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Menu_DestroyMenu)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxMenu *    THIS = (wxMenu *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Menu" )
;
    delete THIS;
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Menu_DestroyId); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Menu_DestroyId)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, id");
    {
	int	id = (int)SvIV(ST(1))
;
	wxMenu *    THIS = (wxMenu *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Menu" )
;
    THIS->Destroy( id );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Menu_DestroyItem); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Menu_DestroyItem)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, item");
    {
	wxMenuItem*    item = (wxMenuItem *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::MenuItem" )
;
	wxMenu *    THIS = (wxMenu *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Menu" )
;
    THIS->Destroy( item );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Menu_Enable); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Menu_Enable)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, id, enable");
    {
	int	id = (int)SvIV(ST(1))
;
	bool	enable = (bool)SvTRUE(ST(2))
;
	wxMenu *    THIS = (wxMenu *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Menu" )
;

	THIS->Enable(id, enable);
    }
    XSRETURN_EMPTY;
}

#if WXPERL_W_VERSION_GE( 2, 5, 1 )
#define XSubPPtmpAABY 1


XS_EUPXS(XS_Wx__Menu_FindItemByPosition); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Menu_FindItemByPosition)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, pos");
    {
	size_t    pos = (size_t)SvUV( ST(1) )
;
	wxMenu *    THIS = (wxMenu *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Menu" )
;
	wxMenuItem *	RETVAL;

	RETVAL = THIS->FindItemByPosition(pos);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#endif

XS_EUPXS(XS_Wx__Menu_FindItem); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Menu_FindItem)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, item");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	SV*	item = ST(1)
;
	wxMenu *    THIS = (wxMenu *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Menu" )
;
    if( looks_like_number( item ) ) {
      int id = SvIV( item );
      wxMenu* submenu;
      wxMenuItem* ret;

      ret = THIS->FindItem( id, &submenu );

      SV* mi = sv_newmortal();

      if( GIMME_V == G_ARRAY ) {
        EXTEND( SP, 2 );
        SV* sm = sv_newmortal();

        PUSHs( wxPli_object_2_sv( aTHX_ mi, ret ) );
        PUSHs( wxPli_object_2_sv( aTHX_ sm, submenu ) );
      }
      else {
        EXTEND( SP, 1 );
        PUSHs( wxPli_object_2_sv( aTHX_ mi, ret ) );
      }
    }
    else {
      wxString string;
      WXSTRING_INPUT( string, const char*, item );
      int id = THIS->FindItem( string );

      EXTEND( SP, 1 );
      PUSHs( sv_2mortal( newSViv( id ) ) );
    }
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__Menu_GetHelpString); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Menu_GetHelpString)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, id");
    {
	int	id = (int)SvIV(ST(1))
;
	wxMenu *    THIS = (wxMenu *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Menu" )
;
	wxString	RETVAL;

	RETVAL = THIS->GetHelpString(id);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Menu_GetLabel); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Menu_GetLabel)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, id");
    {
	int	id = (int)SvIV(ST(1))
;
	wxMenu *    THIS = (wxMenu *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Menu" )
;
	wxString	RETVAL;

	RETVAL = THIS->GetLabel(id);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#if WXPERL_W_VERSION_GE( 2, 8, 5 )
#define XSubPPtmpAABZ 1


XS_EUPXS(XS_Wx__Menu_GetLabelText); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Menu_GetLabelText)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, id");
    {
	int	id = (int)SvIV(ST(1))
;
	wxMenu *    THIS = (wxMenu *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Menu" )
;
	wxString	RETVAL;

	RETVAL = THIS->GetLabelText(id);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#endif

XS_EUPXS(XS_Wx__Menu_GetMenuItemCount); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Menu_GetMenuItemCount)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxMenu *    THIS = (wxMenu *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Menu" )
;
	int	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetMenuItemCount();
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Menu_GetMenuItems); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Menu_GetMenuItems)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	wxMenu *    THIS = (wxMenu *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Menu" )
;
    wxMenuItemList& data = THIS->GetMenuItems();
    wxMenuItemList::compatibility_iterator node;

    EXTEND( SP, (IV) data.GetCount() );
    for( node = data.GetFirst(); node; node = node->GetNext() )
    {
      PUSHs( wxPli_object_2_sv( aTHX_ sv_newmortal(), node->GetData() ) );
    }
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__Menu_GetTitle); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Menu_GetTitle)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxMenu *    THIS = (wxMenu *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Menu" )
;
	wxString	RETVAL;

	RETVAL = THIS->GetTitle();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Menu_InsertItem); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Menu_InsertItem)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, pos, item");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	int	pos = (int)SvIV(ST(1))
;
	wxMenuItem*    item = (wxMenuItem *) wxPli_sv_2_object( aTHX_ ST(2), "Wx::MenuItem" )
;
	wxMenu *    THIS = (wxMenu *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Menu" )
;
#if WXPERL_W_VERSION_GE( 2, 5, 1 )
    XPUSHs( wxPli_object_2_sv( aTHX_ sv_newmortal(),
            THIS->Insert( pos, item ) ) );
#else
    XPUSHs( THIS->Insert( pos, item ) ? &PL_sv_yes : &PL_sv_no );
#endif
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__Menu_InsertString); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Menu_InsertString)
{
    dVAR; dXSARGS;
    if (items < 3 || items > 6)
       croak_xs_usage(cv,  "THIS, pos, id, item = wxEmptyString, helpString = wxEmptyString, kind = wxITEM_NORMAL");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	int	pos = (int)SvIV(ST(1))
;
	int	id = (int)SvIV(ST(2))
;
	wxString	item;
	wxString	helpString;
	wxItemKind	kind;
	wxMenu *    THIS = (wxMenu *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Menu" )
;

	if (items < 4)
	    item = wxEmptyString;
	else {
    WXSTRING_INPUT( item, wxString, ST(3) )
;
	}

	if (items < 5)
	    helpString = wxEmptyString;
	else {
    WXSTRING_INPUT( helpString, wxString, ST(4) )
;
	}

	if (items < 6)
	    kind = wxITEM_NORMAL;
	else {
	    kind = (wxItemKind)SvIV(ST(5))
;
	}
#if WXPERL_W_VERSION_GE( 2, 5, 1 )
    XPUSHs( wxPli_object_2_sv( aTHX_ sv_newmortal(),
            THIS->Insert( pos, id, item, helpString, kind ) ) );
#else
    THIS->Insert( pos, id, item, helpString, kind );
#endif
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__Menu_InsertSubMenu); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Menu_InsertSubMenu)
{
    dVAR; dXSARGS;
    if (items < 5 || items > 6)
       croak_xs_usage(cv,  "THIS, pos, id, text, submenu, help = wxEmptyString");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	int	pos = (int)SvIV(ST(1))
;
	int	id = (int)SvIV(ST(2))
;
	wxString	text;
	wxMenu*    submenu = (wxMenu *) wxPli_sv_2_object( aTHX_ ST(4), "Wx::Menu" )
;
	wxString	help;
	wxMenu *    THIS = (wxMenu *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Menu" )
;

    WXSTRING_INPUT( text, wxString, ST(3) )
;

	if (items < 6)
	    help = wxEmptyString;
	else {
    WXSTRING_INPUT( help, wxString, ST(5) )
;
	}
#if WXPERL_W_VERSION_GE( 2, 5, 1 )
    XPUSHs( wxPli_object_2_sv( aTHX_ sv_newmortal(),
            THIS->Insert( pos, id, text, submenu, help ) ) );
#else
    THIS->Insert( pos, id, text, submenu, help );
#endif
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__Menu_InsertCheckItem); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Menu_InsertCheckItem)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "THIS, pos, id, item, helpString");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	size_t    pos = (size_t)SvUV( ST(1) )
;
	int	id = (int)SvIV(ST(2))
;
	wxString	item;
	wxString	helpString;
	wxMenu *    THIS = (wxMenu *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Menu" )
;

    WXSTRING_INPUT( item, wxString, ST(3) )
;

    WXSTRING_INPUT( helpString, wxString, ST(4) )
;
#if WXPERL_W_VERSION_GE( 2, 5, 1 )
    XPUSHs( wxPli_object_2_sv( aTHX_ sv_newmortal(),
            THIS->InsertCheckItem( pos, id, item, helpString ) ) );
#else
    THIS->InsertCheckItem( pos, id, item, helpString );
#endif
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__Menu_InsertRadioItem); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Menu_InsertRadioItem)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "THIS, pos, id, item, helpString");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	size_t    pos = (size_t)SvUV( ST(1) )
;
	int	id = (int)SvIV(ST(2))
;
	wxString	item;
	wxString	helpString;
	wxMenu *    THIS = (wxMenu *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Menu" )
;

    WXSTRING_INPUT( item, wxString, ST(3) )
;

    WXSTRING_INPUT( helpString, wxString, ST(4) )
;
#if WXPERL_W_VERSION_GE( 2, 5, 1 )
    XPUSHs( wxPli_object_2_sv( aTHX_ sv_newmortal(),
            THIS->InsertRadioItem( pos, id, item, helpString ) ) );
#else
    THIS->InsertRadioItem( pos, id, item, helpString );
#endif
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__Menu_InsertSeparator); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Menu_InsertSeparator)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, pos");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	size_t    pos = (size_t)SvUV( ST(1) )
;
	wxMenu *    THIS = (wxMenu *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Menu" )
;
#if WXPERL_W_VERSION_GE( 2, 5, 1 )
    XPUSHs( wxPli_object_2_sv( aTHX_ sv_newmortal(),
            THIS->InsertSeparator( pos ) ) );
#else
    THIS->InsertSeparator( pos );
#endif
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__Menu_IsChecked); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Menu_IsChecked)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, id");
    {
	int	id = (int)SvIV(ST(1))
;
	wxMenu *    THIS = (wxMenu *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Menu" )
;
	bool	RETVAL;

	RETVAL = THIS->IsChecked(id);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Menu_IsEnabled); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Menu_IsEnabled)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, id");
    {
	int	id = (int)SvIV(ST(1))
;
	wxMenu *    THIS = (wxMenu *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Menu" )
;
	bool	RETVAL;

	RETVAL = THIS->IsEnabled(id);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Menu_PrependString); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Menu_PrependString)
{
    dVAR; dXSARGS;
    if (items < 2 || items > 5)
       croak_xs_usage(cv,  "THIS, id, item = wxEmptyString, help = wxEmptyString, kind = wxITEM_NORMAL");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	int	id = (int)SvIV(ST(1))
;
	wxString	item;
	wxString	help;
	wxItemKind	kind;
	wxMenu *    THIS = (wxMenu *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Menu" )
;

	if (items < 3)
	    item = wxEmptyString;
	else {
    WXSTRING_INPUT( item, wxString, ST(2) )
;
	}

	if (items < 4)
	    help = wxEmptyString;
	else {
    WXSTRING_INPUT( help, wxString, ST(3) )
;
	}

	if (items < 5)
	    kind = wxITEM_NORMAL;
	else {
	    kind = (wxItemKind)SvIV(ST(4))
;
	}
#if WXPERL_W_VERSION_GE( 2, 5, 1 )
    XPUSHs( wxPli_object_2_sv( aTHX_ sv_newmortal(),
            THIS->Prepend( id, item, help, kind ) ) );
#else
    THIS->Prepend( id, item, help, kind );
#endif
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__Menu_PrependItem); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Menu_PrependItem)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, menuItem");
    {
	wxMenuItem*    menuItem = (wxMenuItem *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::MenuItem" )
;
	wxMenu *    THIS = (wxMenu *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Menu" )
;
#if WXPERL_W_VERSION_GE( 2, 5, 1 )
    XPUSHs( wxPli_object_2_sv( aTHX_ sv_newmortal(),
            THIS->Prepend( menuItem ) ) );
#else
    THIS->Prepend( menuItem );
#endif
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Menu_PrependSubMenu); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Menu_PrependSubMenu)
{
    dVAR; dXSARGS;
    if (items < 4 || items > 5)
       croak_xs_usage(cv,  "THIS, id, item, subMenu, helpString = wxEmptyString");
    {
	int	id = (int)SvIV(ST(1))
;
	wxString	item;
	wxMenu*    subMenu = (wxMenu *) wxPli_sv_2_object( aTHX_ ST(3), "Wx::Menu" )
;
	wxString	helpString;
	wxMenu *    THIS = (wxMenu *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Menu" )
;

    WXSTRING_INPUT( item, wxString, ST(2) )
;

	if (items < 5)
	    helpString = wxEmptyString;
	else {
    WXSTRING_INPUT( helpString, wxString, ST(4) )
;
	}
#if WXPERL_W_VERSION_GE( 2, 5, 1 )
    XPUSHs( wxPli_object_2_sv( aTHX_ sv_newmortal(),
            THIS->Prepend( id, item, subMenu, helpString ) ) );
#else
    THIS->Prepend( id, item, subMenu, helpString );
#endif
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Menu_PrependCheckItem); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Menu_PrependCheckItem)
{
    dVAR; dXSARGS;
    if (items < 3 || items > 4)
       croak_xs_usage(cv,  "THIS, id, item, helpString = wxEmptyString");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	int	id = (int)SvIV(ST(1))
;
	wxString	item;
	wxString	helpString;
	wxMenu *    THIS = (wxMenu *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Menu" )
;

    WXSTRING_INPUT( item, wxString, ST(2) )
;

	if (items < 4)
	    helpString = wxEmptyString;
	else {
    WXSTRING_INPUT( helpString, wxString, ST(3) )
;
	}
#if WXPERL_W_VERSION_GE( 2, 5, 1 )
    XPUSHs( wxPli_object_2_sv( aTHX_ sv_newmortal(),
            THIS->PrependCheckItem( id, item, helpString ) ) );
#else
   THIS->PrependCheckItem( id, item, helpString );
#endif
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__Menu_PrependRadioItem); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Menu_PrependRadioItem)
{
    dVAR; dXSARGS;
    if (items < 3 || items > 4)
       croak_xs_usage(cv,  "THIS, id, item, helpString = wxEmptyString");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	int	id = (int)SvIV(ST(1))
;
	wxString	item;
	wxString	helpString;
	wxMenu *    THIS = (wxMenu *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Menu" )
;

    WXSTRING_INPUT( item, wxString, ST(2) )
;

	if (items < 4)
	    helpString = wxEmptyString;
	else {
    WXSTRING_INPUT( helpString, wxString, ST(3) )
;
	}
#if WXPERL_W_VERSION_GE( 2, 5, 1 )
    XPUSHs( wxPli_object_2_sv( aTHX_ sv_newmortal(),
            THIS->PrependRadioItem( id, item, helpString ) ) );
#else
    THIS->PrependRadioItem( id, item, helpString );
#endif
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__Menu_PrependSeparator); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Menu_PrependSeparator)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	wxMenu *    THIS = (wxMenu *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Menu" )
;
#if WXPERL_W_VERSION_GE( 2, 5, 1 )
    XPUSHs( wxPli_object_2_sv( aTHX_ sv_newmortal(),
            THIS->PrependSeparator() ) );
#else
    THIS->PrependSeparator();
#endif
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__Menu_RemoveId); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Menu_RemoveId)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, id");
    {
	int	id = (int)SvIV(ST(1))
;
	wxMenu *    THIS = (wxMenu *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Menu" )
;
	wxMenuItem *	RETVAL;
    RETVAL = THIS->Remove( id );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Menu_RemoveItem); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Menu_RemoveItem)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, item");
    {
	wxMenuItem*    item = (wxMenuItem *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::MenuItem" )
;
	wxMenu *    THIS = (wxMenu *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Menu" )
;
	wxMenuItem *	RETVAL;
    RETVAL = THIS->Remove( item );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Menu_SetHelpString); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Menu_SetHelpString)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, id, helpString");
    {
	int	id = (int)SvIV(ST(1))
;
	wxString	helpString;
	wxMenu *    THIS = (wxMenu *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Menu" )
;

    WXSTRING_INPUT( helpString, wxString, ST(2) )
;

	THIS->SetHelpString(id, helpString);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Menu_SetLabel); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Menu_SetLabel)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, id, label");
    {
	int	id = (int)SvIV(ST(1))
;
	wxString	label;
	wxMenu *    THIS = (wxMenu *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Menu" )
;

    WXSTRING_INPUT( label, wxString, ST(2) )
;

	THIS->SetLabel(id, label);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Menu_SetTitle); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Menu_SetTitle)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, title");
    {
	wxString	title;
	wxMenu *    THIS = (wxMenu *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Menu" )
;

    WXSTRING_INPUT( title, wxString, ST(1) )
;

	THIS->SetTitle(title);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Menu_UpdateUI); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Menu_UpdateUI)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "THIS, source = 0");
    {
	wxEvtHandler*	source;
	wxMenu *    THIS = (wxMenu *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Menu" )
;

	if (items < 2)
	    source = 0;
	else {
    source = (wxEvtHandler *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::EvtHandler" )
;
	}

	THIS->UpdateUI(source);
    }
    XSRETURN_EMPTY;
}

#if defined(__WXGTK__) && WXPERL_W_VERSION_GE( 2, 7, 1 )
#define XSubPPtmpAACA 1


XS_EUPXS(XS_Wx__Menu_GetLayoutDirection); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Menu_GetLayoutDirection)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxMenu *    THIS = (wxMenu *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Menu" )
;
	wxLayoutDirection	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetLayoutDirection();
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Menu_SetLayoutDirection); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Menu_SetLayoutDirection)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, direction");
    {
	wxLayoutDirection	direction = (wxLayoutDirection)SvIV(ST(1))
;
	wxMenu *    THIS = (wxMenu *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Menu" )
;

	THIS->SetLayoutDirection(direction);
    }
    XSRETURN_EMPTY;
}

#endif

XS_EUPXS(XS_Wx__MenuBar_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuBar_new)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "CLASS, style = 0");
    {
	long	style;
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxMenuBar *	RETVAL;

	if (items < 2)
	    style = 0;
	else {
	    style = (long)SvIV(ST(1))
;
	}

	RETVAL = new wxMenuBar(style);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__MenuBar_Append); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuBar_Append)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, menu, title");
    {
	wxMenu*    menu = (wxMenu *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Menu" )
;
	wxString	title;
	wxMenuBar *    THIS = (wxMenuBar *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MenuBar" )
;
	bool	RETVAL;

    WXSTRING_INPUT( title, wxString, ST(2) )
;

	RETVAL = THIS->Append(menu, title);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__MenuBar_Check); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuBar_Check)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, id, check");
    {
	int	id = (int)SvIV(ST(1))
;
	bool	check = (bool)SvTRUE(ST(2))
;
	wxMenuBar *    THIS = (wxMenuBar *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MenuBar" )
;

	THIS->Check(id, check);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__MenuBar_Enable); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuBar_Enable)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, id, enable");
    {
	int	id = (int)SvIV(ST(1))
;
	bool	enable = (bool)SvTRUE(ST(2))
;
	wxMenuBar *    THIS = (wxMenuBar *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MenuBar" )
;

	THIS->Enable(id, enable);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__MenuBar_EnableTop); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuBar_EnableTop)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, pos, enable");
    {
	int	pos = (int)SvIV(ST(1))
;
	bool	enable = (bool)SvTRUE(ST(2))
;
	wxMenuBar *    THIS = (wxMenuBar *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MenuBar" )
;

	THIS->EnableTop(pos, enable);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__MenuBar_FindItem); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuBar_FindItem)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, id");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	int	id = (int)SvIV(ST(1))
;
	wxMenuBar *    THIS = (wxMenuBar *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MenuBar" )
;
    wxMenu* submenu;
    wxMenuItem* ret;

    ret = THIS->FindItem( id, &submenu );

    SV* mi = sv_newmortal();

    if( GIMME_V == G_ARRAY ) {
      EXTEND( SP, 2 );
      SV* sm = sv_newmortal();

      PUSHs( wxPli_object_2_sv( aTHX_ mi, ret ) );
      PUSHs( wxPli_object_2_sv( aTHX_ sm, submenu ) );
    }
    else {
      EXTEND( SP, 1 );
      PUSHs( wxPli_object_2_sv( aTHX_ mi, ret ) );
    }
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__MenuBar_FindMenu); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuBar_FindMenu)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, title");
    {
	wxString	title;
	wxMenuBar *    THIS = (wxMenuBar *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MenuBar" )
;
	int	RETVAL;
	dXSTARG;

    WXSTRING_INPUT( title, wxString, ST(1) )
;

	RETVAL = THIS->FindMenu(title);
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__MenuBar_FindMenuItem); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuBar_FindMenuItem)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, menuString, itemString");
    {
	wxString	menuString;
	wxString	itemString;
	wxMenuBar *    THIS = (wxMenuBar *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MenuBar" )
;
	int	RETVAL;
	dXSTARG;

    WXSTRING_INPUT( menuString, wxString, ST(1) )
;

    WXSTRING_INPUT( itemString, wxString, ST(2) )
;

	RETVAL = THIS->FindMenuItem(menuString, itemString);
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__MenuBar_GetHelpString); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuBar_GetHelpString)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, id");
    {
	int	id = (int)SvIV(ST(1))
;
	wxMenuBar *    THIS = (wxMenuBar *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MenuBar" )
;
	wxString	RETVAL;

	RETVAL = THIS->GetHelpString(id);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__MenuBar_GetLabel); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuBar_GetLabel)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, id");
    {
	int	id = (int)SvIV(ST(1))
;
	wxMenuBar *    THIS = (wxMenuBar *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MenuBar" )
;
	wxString	RETVAL;

	RETVAL = THIS->GetLabel(id);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#if !WXPERL_W_VERSION_GE( 2, 9, 0 ) || WXWIN_COMPATIBILITY_2_8
#define XSubPPtmpAACB 1


XS_EUPXS(XS_Wx__MenuBar_GetLabelTop); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuBar_GetLabelTop)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, id");
    {
	int	id = (int)SvIV(ST(1))
;
	wxMenuBar *    THIS = (wxMenuBar *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MenuBar" )
;
	wxString	RETVAL;

	RETVAL = THIS->GetLabelTop(id);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#endif
#if WXPERL_W_VERSION_GE( 2, 8, 5 )
#define XSubPPtmpAACC 1


XS_EUPXS(XS_Wx__MenuBar_GetMenuLabel); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuBar_GetMenuLabel)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, id");
    {
	int	id = (int)SvIV(ST(1))
;
	wxMenuBar *    THIS = (wxMenuBar *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MenuBar" )
;
	wxString	RETVAL;

	RETVAL = THIS->GetMenuLabel(id);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__MenuBar_GetMenuLabelText); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuBar_GetMenuLabelText)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, id");
    {
	int	id = (int)SvIV(ST(1))
;
	wxMenuBar *    THIS = (wxMenuBar *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MenuBar" )
;
	wxString	RETVAL;

	RETVAL = THIS->GetMenuLabelText(id);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#endif

XS_EUPXS(XS_Wx__MenuBar_GetMenu); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuBar_GetMenu)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, index");
    {
	int	index = (int)SvIV(ST(1))
;
	wxMenuBar *    THIS = (wxMenuBar *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MenuBar" )
;
	wxMenu *	RETVAL;

	RETVAL = THIS->GetMenu(index);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__MenuBar_GetMenuCount); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuBar_GetMenuCount)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxMenuBar *    THIS = (wxMenuBar *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MenuBar" )
;
	int	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetMenuCount();
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__MenuBar_Insert); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuBar_Insert)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "THIS, pos, menu, title");
    {
	int	pos = (int)SvIV(ST(1))
;
	wxMenu*    menu = (wxMenu *) wxPli_sv_2_object( aTHX_ ST(2), "Wx::Menu" )
;
	wxString	title;
	wxMenuBar *    THIS = (wxMenuBar *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MenuBar" )
;
	bool	RETVAL;

    WXSTRING_INPUT( title, wxString, ST(3) )
;

	RETVAL = THIS->Insert(pos, menu, title);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__MenuBar_IsChecked); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuBar_IsChecked)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, id");
    {
	int	id = (int)SvIV(ST(1))
;
	wxMenuBar *    THIS = (wxMenuBar *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MenuBar" )
;
	bool	RETVAL;

	RETVAL = THIS->IsChecked(id);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__MenuBar_IsEnabled); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuBar_IsEnabled)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, id");
    {
	int	id = (int)SvIV(ST(1))
;
	wxMenuBar *    THIS = (wxMenuBar *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MenuBar" )
;
	bool	RETVAL;

	RETVAL = THIS->IsEnabled(id);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__MenuBar_Refresh); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuBar_Refresh)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxMenuBar *    THIS = (wxMenuBar *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MenuBar" )
;

	THIS->Refresh();
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__MenuBar_Remove); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuBar_Remove)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, pos");
    {
	int	pos = (int)SvIV(ST(1))
;
	wxMenuBar *    THIS = (wxMenuBar *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MenuBar" )
;
	wxMenu *	RETVAL;

	RETVAL = THIS->Remove(pos);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__MenuBar_Replace); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuBar_Replace)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "THIS, pos, menu, title");
    {
	int	pos = (int)SvIV(ST(1))
;
	wxMenu*    menu = (wxMenu *) wxPli_sv_2_object( aTHX_ ST(2), "Wx::Menu" )
;
	wxString	title;
	wxMenuBar *    THIS = (wxMenuBar *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MenuBar" )
;
	wxMenu *	RETVAL;

    WXSTRING_INPUT( title, wxString, ST(3) )
;

	RETVAL = THIS->Replace(pos, menu, title);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__MenuBar_SetHelpString); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuBar_SetHelpString)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, id, helpString");
    {
	int	id = (int)SvIV(ST(1))
;
	wxString	helpString;
	wxMenuBar *    THIS = (wxMenuBar *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MenuBar" )
;

    WXSTRING_INPUT( helpString, wxString, ST(2) )
;

	THIS->SetHelpString(id, helpString);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__MenuBar_SetLabel); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuBar_SetLabel)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, id, label");
    {
	int	id = (int)SvIV(ST(1))
;
	wxString	label;
	wxMenuBar *    THIS = (wxMenuBar *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MenuBar" )
;

    WXSTRING_INPUT( label, wxString, ST(2) )
;

	THIS->SetLabel(id, label);
    }
    XSRETURN_EMPTY;
}

#if !WXPERL_W_VERSION_GE( 2, 9, 0 ) || WXWIN_COMPATIBILITY_2_8
#define XSubPPtmpAACD 1


XS_EUPXS(XS_Wx__MenuBar_SetLabelTop); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuBar_SetLabelTop)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, pos, label");
    {
	int	pos = (int)SvIV(ST(1))
;
	wxString	label;
	wxMenuBar *    THIS = (wxMenuBar *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MenuBar" )
;

    WXSTRING_INPUT( label, wxString, ST(2) )
;

	THIS->SetLabelTop(pos, label);
    }
    XSRETURN_EMPTY;
}

#endif
#if WXPERL_W_VERSION_GE( 2, 8, 5 )
#define XSubPPtmpAACE 1


XS_EUPXS(XS_Wx__MenuBar_SetMenuLabel); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuBar_SetMenuLabel)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, pos, label");
    {
	int	pos = (int)SvIV(ST(1))
;
	wxString	label;
	wxMenuBar *    THIS = (wxMenuBar *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MenuBar" )
;

    WXSTRING_INPUT( label, wxString, ST(2) )
;

	THIS->SetMenuLabel(pos, label);
    }
    XSRETURN_EMPTY;
}

#endif

XS_EUPXS(XS_Wx__MenuBar_IsEnabledTop); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuBar_IsEnabledTop)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, id");
    {
	int	id = (int)SvIV(ST(1))
;
	wxMenuBar *    THIS = (wxMenuBar *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MenuBar" )
;
	bool	RETVAL;

	RETVAL = THIS->IsEnabledTop(id);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}

#if defined(__WXGTK__) && WXPERL_W_VERSION_GE( 2, 7, 1 )
#define XSubPPtmpAACF 1


XS_EUPXS(XS_Wx__MenuBar_GetLayoutDirection); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuBar_GetLayoutDirection)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxMenuBar *    THIS = (wxMenuBar *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MenuBar" )
;
	wxLayoutDirection	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetLayoutDirection();
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__MenuBar_SetLayoutDirection); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuBar_SetLayoutDirection)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, direction");
    {
	wxLayoutDirection	direction = (wxLayoutDirection)SvIV(ST(1))
;
	wxMenuBar *    THIS = (wxMenuBar *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MenuBar" )
;

	THIS->SetLayoutDirection(direction);
    }
    XSRETURN_EMPTY;
}

#endif
#if defined( __WXMAC__ )
#define XSubPPtmpAACG 1


XS_EUPXS(XS_Wx__MenuBar_MacInstallMenuBar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuBar_MacInstallMenuBar)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxMenuBar *    THIS = (wxMenuBar *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MenuBar" )
;

	THIS->MacInstallMenuBar();
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__MenuBar_MacGetInstalledMenuBar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuBar_MacGetInstalledMenuBar)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
	wxMenuBar *	RETVAL;
    RETVAL = wxMenuBar::MacGetInstalledMenuBar();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__MenuBar_MacSetCommonMenuBar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuBar_MacSetCommonMenuBar)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "menubar");
    {
	wxMenuBar*    menubar = (wxMenuBar *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MenuBar" )
;
    wxMenuBar::MacSetCommonMenuBar( menubar );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__MenuBar_MacGetCommonMenuBar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuBar_MacGetCommonMenuBar)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
	wxMenuBar *	RETVAL;
    RETVAL = wxMenuBar::MacGetCommonMenuBar();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#endif

XS_EUPXS(XS_Wx__MenuItem_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuItem_new)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 7)
       croak_xs_usage(cv,  "CLASS, parentMenu = 0, id = wxID_ANY, text = wxEmptyString, helpString = wxEmptyString, itemType = wxITEM_NORMAL, subMenu = 0");
    {
	wxMenu*	parentMenu;
	int	id;
	wxString	text;
	wxString	helpString;
	wxItemKind	itemType;
	wxMenu*	subMenu;
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxMenuItem *	RETVAL;

	if (items < 2)
	    parentMenu = 0;
	else {
    parentMenu = (wxMenu *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Menu" )
;
	}

	if (items < 3)
	    id = wxID_ANY;
	else {
	    id = (int)SvIV(ST(2))
;
	}

	if (items < 4)
	    text = wxEmptyString;
	else {
    WXSTRING_INPUT( text, wxString, ST(3) )
;
	}

	if (items < 5)
	    helpString = wxEmptyString;
	else {
    WXSTRING_INPUT( helpString, wxString, ST(4) )
;
	}

	if (items < 6)
	    itemType = wxITEM_NORMAL;
	else {
	    itemType = (wxItemKind)SvIV(ST(5))
;
	}

	if (items < 7)
	    subMenu = 0;
	else {
    subMenu = (wxMenu *) wxPli_sv_2_object( aTHX_ ST(6), "Wx::Menu" )
;
	}

	RETVAL = new wxMenuItem(parentMenu, id, text, helpString, itemType, subMenu);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__MenuItem_Check); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuItem_Check)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, check");
    {
	bool	check = (bool)SvTRUE(ST(1))
;
	wxMenuItem *    THIS = (wxMenuItem *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MenuItem" )
;

	THIS->Check(check);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__MenuItem_Enable); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuItem_Enable)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, enable");
    {
	bool	enable = (bool)SvTRUE(ST(1))
;
	wxMenuItem *    THIS = (wxMenuItem *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MenuItem" )
;

	THIS->Enable(enable);
    }
    XSRETURN_EMPTY;
}

#if defined( __WXMSW__ ) && !defined( __WXWINCE__ )
#define XSubPPtmpAACH 1


XS_EUPXS(XS_Wx__MenuItem_GetBackgroundColour); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuItem_GetBackgroundColour)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxMenuItem *    THIS = (wxMenuItem *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MenuItem" )
;
	wxColour *	RETVAL;
    RETVAL = new wxColour( THIS->GetBackgroundColour() );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::Colour" );
    wxPli_thread_sv_register( aTHX_ "Wx::Colour", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__MenuItem_GetFont); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuItem_GetFont)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxMenuItem *    THIS = (wxMenuItem *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MenuItem" )
;
	wxFont *	RETVAL;
    RETVAL = new wxFont( THIS->GetFont() );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
    wxPli_thread_sv_register( aTHX_ "Wx::Font", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#endif
#if ( defined( __WXMSW__ ) && !defined( __WXWINCE__ ) ) || \
    defined( __WXGTK__ )
#define XSubPPtmpAACI 1


XS_EUPXS(XS_Wx__MenuItem_GetBitmap); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuItem_GetBitmap)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxMenuItem *    THIS = (wxMenuItem *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MenuItem" )
;
	wxBitmap *	RETVAL;
    RETVAL = new wxBitmap( THIS->GetBitmap() );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
    wxPli_thread_sv_register( aTHX_ "Wx::Bitmap", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#endif

XS_EUPXS(XS_Wx__MenuItem_GetHelp); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuItem_GetHelp)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxMenuItem *    THIS = (wxMenuItem *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MenuItem" )
;
	wxString	RETVAL;

	RETVAL = THIS->GetHelp();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#if WXPERL_W_VERSION_LT( 2, 9, 0 ) && !defined(__WXMSW__)
#define XSubPPtmpAACJ 1


XS_EUPXS(XS_Wx__MenuItem_GetName); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuItem_GetName)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxMenuItem *    THIS = (wxMenuItem *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MenuItem" )
;
	wxString	RETVAL;

	RETVAL = THIS->GetName();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#endif

XS_EUPXS(XS_Wx__MenuItem_GetId); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuItem_GetId)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxMenuItem *    THIS = (wxMenuItem *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MenuItem" )
;
	int	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetId();
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__MenuItem_GetKind); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuItem_GetKind)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxMenuItem *    THIS = (wxMenuItem *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MenuItem" )
;
	wxItemKind	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetKind();
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}

#if !WXPERL_W_VERSION_GE( 2, 9, 0 ) || WXWIN_COMPATIBILITY_2_8
#define XSubPPtmpAACK 1


XS_EUPXS(XS_Wx__MenuItem_GetLabel); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuItem_GetLabel)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxMenuItem *    THIS = (wxMenuItem *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MenuItem" )
;
	wxString	RETVAL;

	RETVAL = THIS->GetLabel();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__MenuItem_GetLabelFromText); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuItem_GetLabelFromText)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "text");
    {
	wxString	text;
	wxString	RETVAL;

    WXSTRING_INPUT( text, wxString, ST(0) )
;
    RETVAL = wxMenuItem::GetLabelFromText( text );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#endif
#if WXPERL_W_VERSION_GE( 2, 9, 0 )
#define XSubPPtmpAACL 1


XS_EUPXS(XS_Wx__MenuItem_GetItemLabel); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuItem_GetItemLabel)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxMenuItem *    THIS = (wxMenuItem *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MenuItem" )
;
	wxString	RETVAL;

	RETVAL = THIS->GetItemLabel();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__MenuItem_GetItemLabelText); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuItem_GetItemLabelText)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxMenuItem *    THIS = (wxMenuItem *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MenuItem" )
;
	wxString	RETVAL;

	RETVAL = THIS->GetItemLabelText();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__MenuItem_GetLabelText); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuItem_GetLabelText)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "text");
    {
	wxString	text;
	wxString	RETVAL;

    WXSTRING_INPUT( text, wxString, ST(0) )
;
    RETVAL = wxMenuItem::GetLabelText( text );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#endif

XS_EUPXS(XS_Wx__MenuItem_GetMenu); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuItem_GetMenu)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxMenuItem *    THIS = (wxMenuItem *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MenuItem" )
;
	wxMenu *	RETVAL;

	RETVAL = THIS->GetMenu();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#if defined( __WXMSW__ ) && !defined( __WXWINCE__ )
#define XSubPPtmpAACM 1


XS_EUPXS(XS_Wx__MenuItem_GetMarginWidth); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuItem_GetMarginWidth)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxMenuItem *    THIS = (wxMenuItem *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MenuItem" )
;
	int	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetMarginWidth();
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}

#endif
#if !WXPERL_W_VERSION_GE( 2, 9, 0 ) || WXWIN_COMPATIBILITY_2_8
#define XSubPPtmpAACN 1


XS_EUPXS(XS_Wx__MenuItem_GetText); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuItem_GetText)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxMenuItem *    THIS = (wxMenuItem *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MenuItem" )
;
	wxString	RETVAL;

	RETVAL = THIS->GetText();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#endif

XS_EUPXS(XS_Wx__MenuItem_GetSubMenu); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuItem_GetSubMenu)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxMenuItem *    THIS = (wxMenuItem *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MenuItem" )
;
	wxMenu *	RETVAL;

	RETVAL = THIS->GetSubMenu();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#if defined( __WXMSW__ ) && !defined( __WXWINCE__ )
#define XSubPPtmpAACO 1


XS_EUPXS(XS_Wx__MenuItem_GetTextColour); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuItem_GetTextColour)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxMenuItem *    THIS = (wxMenuItem *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MenuItem" )
;
	wxColour *	RETVAL;
    RETVAL = new wxColour( THIS->GetTextColour() );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::Colour" );
    wxPli_thread_sv_register( aTHX_ "Wx::Colour", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#endif 

XS_EUPXS(XS_Wx__MenuItem_IsCheckable); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuItem_IsCheckable)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxMenuItem *    THIS = (wxMenuItem *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MenuItem" )
;
	bool	RETVAL;

	RETVAL = THIS->IsCheckable();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__MenuItem_IsChecked); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuItem_IsChecked)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxMenuItem *    THIS = (wxMenuItem *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MenuItem" )
;
	bool	RETVAL;

	RETVAL = THIS->IsChecked();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__MenuItem_IsEnabled); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuItem_IsEnabled)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxMenuItem *    THIS = (wxMenuItem *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MenuItem" )
;
	bool	RETVAL;

	RETVAL = THIS->IsEnabled();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__MenuItem_IsSeparator); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuItem_IsSeparator)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxMenuItem *    THIS = (wxMenuItem *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MenuItem" )
;
	bool	RETVAL;

	RETVAL = THIS->IsSeparator();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__MenuItem_IsSubMenu); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuItem_IsSubMenu)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxMenuItem *    THIS = (wxMenuItem *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MenuItem" )
;
	bool	RETVAL;

	RETVAL = THIS->IsSubMenu();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}

#if defined( __WXMSW__ ) && !defined( __WXWINCE__ )
#define XSubPPtmpAACP 1


XS_EUPXS(XS_Wx__MenuItem_SetBackgroundColour); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuItem_SetBackgroundColour)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, colour");
    {
	wxColour*    colour = (wxColour *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Colour" )
;
	wxMenuItem *    THIS = (wxMenuItem *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MenuItem" )
;
    THIS->SetBackgroundColour( *colour );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__MenuItem_SetFont); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuItem_SetFont)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, font");
    {
	wxFont*    font = (wxFont *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Font" )
;
	wxMenuItem *    THIS = (wxMenuItem *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MenuItem" )
;
    THIS->SetFont( *font );
    }
    XSRETURN_EMPTY;
}

#endif

XS_EUPXS(XS_Wx__MenuItem_SetHelp); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuItem_SetHelp)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, helpString");
    {
	wxString	helpString;
	wxMenuItem *    THIS = (wxMenuItem *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MenuItem" )
;

    WXSTRING_INPUT( helpString, wxString, ST(1) )
;

	THIS->SetHelp(helpString);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__MenuItem_SetMenu); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuItem_SetMenu)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, menu");
    {
	wxMenu*    menu = (wxMenu *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Menu" )
;
	wxMenuItem *    THIS = (wxMenuItem *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MenuItem" )
;

	THIS->SetMenu(menu);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__MenuItem_SetSubMenu); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuItem_SetSubMenu)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, menu");
    {
	wxMenu*    menu = (wxMenu *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Menu" )
;
	wxMenuItem *    THIS = (wxMenuItem *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MenuItem" )
;

	THIS->SetSubMenu(menu);
    }
    XSRETURN_EMPTY;
}

#if !WXPERL_W_VERSION_GE( 2, 9, 0 ) || WXWIN_COMPATIBILITY_2_8
#define XSubPPtmpAACQ 1


XS_EUPXS(XS_Wx__MenuItem_SetText); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuItem_SetText)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, text");
    {
	wxString	text;
	wxMenuItem *    THIS = (wxMenuItem *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MenuItem" )
;

    WXSTRING_INPUT( text, wxString, ST(1) )
;

	THIS->SetText(text);
    }
    XSRETURN_EMPTY;
}

#endif
#if WXPERL_W_VERSION_GE( 2, 9, 0 )
#define XSubPPtmpAACR 1


XS_EUPXS(XS_Wx__MenuItem_SetItemLabel); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuItem_SetItemLabel)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, label");
    {
	wxString	label;
	wxMenuItem *    THIS = (wxMenuItem *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MenuItem" )
;

    WXSTRING_INPUT( label, wxString, ST(1) )
;

	THIS->SetItemLabel(label);
    }
    XSRETURN_EMPTY;
}

#endif
#if defined( __WXMSW__ ) && !defined( __WXWINCE__ )
#define XSubPPtmpAACS 1


XS_EUPXS(XS_Wx__MenuItem_SetMarginWidth); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuItem_SetMarginWidth)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, width");
    {
	int	width = (int)SvIV(ST(1))
;
	wxMenuItem *    THIS = (wxMenuItem *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MenuItem" )
;

	THIS->SetMarginWidth(width);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__MenuItem_SetTextColour); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuItem_SetTextColour)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, colour");
    {
	wxColour*    colour = (wxColour *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Colour" )
;
	wxMenuItem *    THIS = (wxMenuItem *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MenuItem" )
;
    THIS->SetTextColour( *colour );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__MenuItem_SetBitmaps); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuItem_SetBitmaps)
{
    dVAR; dXSARGS;
    if (items < 2 || items > 3)
       croak_xs_usage(cv,  "THIS, checked, unchecked = (wxBitmap*)&wxNullBitmap");
    {
	wxBitmap*    checked = (wxBitmap *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Bitmap" )
;
	wxBitmap*	unchecked;
	wxMenuItem *    THIS = (wxMenuItem *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MenuItem" )
;

	if (items < 3)
	    unchecked = (wxBitmap*)&wxNullBitmap;
	else {
    unchecked = (wxBitmap *) wxPli_sv_2_object( aTHX_ ST(2), "Wx::Bitmap" )
;
	}
    THIS->SetBitmaps( *checked, *unchecked );
    }
    XSRETURN_EMPTY;
}

#endif
#if !defined( __WXWINCE__ )
#define XSubPPtmpAACT 1


XS_EUPXS(XS_Wx__MenuItem_SetBitmap); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MenuItem_SetBitmap)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, bitmap");
    {
	wxBitmap*    bitmap = (wxBitmap *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Bitmap" )
;
	wxMenuItem *    THIS = (wxMenuItem *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MenuItem" )
;
    THIS->SetBitmap( *bitmap );
    }
    XSRETURN_EMPTY;
}

#endif

/* INCLUDE: Returning to 'XS/Geom.xs' from 'XS/Menu.xs' */


XS_EUPXS(XS_Wx__Size_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Size_new)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 3)
       croak_xs_usage(cv,  "CLASS, width = 0, height = 0");
    {
	int	width;
	int	height;
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxSize *	RETVAL;

	if (items < 2)
	    width = 0;
	else {
	    width = (int)SvIV(ST(1))
;
	}

	if (items < 3)
	    height = 0;
	else {
	    height = (int)SvIV(ST(2))
;
	}

	RETVAL = new wxSize(width, height);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::Size" );
    wxPli_thread_sv_register( aTHX_ "Wx::Size", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Size_CLONE); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Size_CLONE)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "CLASS");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
    wxPli_thread_sv_clone( aTHX_ CLASS, (wxPliCloneSV)wxPli_detach_object );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Size_DESTROY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Size_DESTROY)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxSize *    THIS = (wxSize *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Size" )
;
    wxPli_thread_sv_unregister( aTHX_ "Wx::Size", THIS, ST(0) );
    delete THIS;
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Size_width); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Size_width)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "THIS, ...");
    {
	wxSize *    THIS = (wxSize *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Size" )
;
	int	RETVAL;
	dXSTARG;
    if( items > 1 )
      THIS->x = SvIV( ST(1) );
    RETVAL = THIS->x;
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Size_height); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Size_height)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "THIS, ...");
    {
	wxSize *    THIS = (wxSize *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Size" )
;
	int	RETVAL;
	dXSTARG;
    if( items > 1 )
      THIS->y = SvIV( ST(1) );
    RETVAL = THIS->y;
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Size_GetHeight); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Size_GetHeight)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxSize *    THIS = (wxSize *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Size" )
;
	int	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetHeight();
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Size_GetWidth); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Size_GetWidth)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxSize *    THIS = (wxSize *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Size" )
;
	int	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetWidth();
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Size_Set); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Size_Set)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, width, height");
    {
	int	width = (int)SvIV(ST(1))
;
	int	height = (int)SvIV(ST(2))
;
	wxSize *    THIS = (wxSize *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Size" )
;

	THIS->Set(width, height);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Size_SetHeight); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Size_SetHeight)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, height");
    {
	int	height = (int)SvIV(ST(1))
;
	wxSize *    THIS = (wxSize *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Size" )
;

	THIS->SetHeight(height);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Size_SetWidth); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Size_SetWidth)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, width");
    {
	int	width = (int)SvIV(ST(1))
;
	wxSize *    THIS = (wxSize *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Size" )
;

	THIS->SetWidth(width);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Size_IncTo); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Size_IncTo)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, size");
    {
	wxSize    size = wxPli_sv_2_wxsize( aTHX_ ST(1) )
;
	wxSize *    THIS = (wxSize *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Size" )
;

	THIS->IncTo(size);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Size_DecTo); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Size_DecTo)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, size");
    {
	wxSize    size = wxPli_sv_2_wxsize( aTHX_ ST(1) )
;
	wxSize *    THIS = (wxSize *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Size" )
;

	THIS->DecTo(size);
    }
    XSRETURN_EMPTY;
}

#if WXPERL_W_VERSION_GE( 2, 7, 2 )
#define XSubPPtmpAACU 1


XS_EUPXS(XS_Wx__Size_Scale); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Size_Scale)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, xscale, yscale");
    {
	float	xscale = (float)SvNV(ST(1))
;
	float	yscale = (float)SvNV(ST(2))
;
	wxSize *    THIS = (wxSize *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Size" )
;
	SV *	RETVAL;
    THIS->Scale( xscale, yscale );
    RETVAL = ST(0);
	RETVAL = sv_2mortal(RETVAL);
	ST(0) = RETVAL;
    }
    XSRETURN(1);
}

#endif

XS_EUPXS(XS_Wx__Size_IsFullySpecified); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Size_IsFullySpecified)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxSize *    THIS = (wxSize *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Size" )
;
	bool	RETVAL;

	RETVAL = THIS->IsFullySpecified();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Size_SetDefaults); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Size_SetDefaults)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, size");
    {
	wxSize    size = wxPli_sv_2_wxsize( aTHX_ ST(1) )
;
	wxSize *    THIS = (wxSize *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Size" )
;

	THIS->SetDefaults(size);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Point_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Point_new)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 3)
       croak_xs_usage(cv,  "CLASS, x = 0, y = 0");
    {
	int	x;
	int	y;
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxPoint *	RETVAL;

	if (items < 2)
	    x = 0;
	else {
	    x = (int)SvIV(ST(1))
;
	}

	if (items < 3)
	    y = 0;
	else {
	    y = (int)SvIV(ST(2))
;
	}

	RETVAL = new wxPoint(x, y);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::Point" );
    wxPli_thread_sv_register( aTHX_ "Wx::Point", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Point_CLONE); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Point_CLONE)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "CLASS");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
    wxPli_thread_sv_clone( aTHX_ CLASS, (wxPliCloneSV)wxPli_detach_object );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Point_DESTROY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Point_DESTROY)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxPoint *    THIS = (wxPoint *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Point" )
;
    wxPli_thread_sv_unregister( aTHX_ "Wx::Point", THIS, ST(0) );
    delete THIS;
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Point_x); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Point_x)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "THIS, ...");
    {
	wxPoint *    THIS = (wxPoint *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Point" )
;
	int	RETVAL;
	dXSTARG;
    if( items > 1 )
      THIS->x = SvIV( ST(1) );
    RETVAL = THIS->x;
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Point_y); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Point_y)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "THIS, ...");
    {
	wxPoint *    THIS = (wxPoint *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Point" )
;
	int	RETVAL;
	dXSTARG;
    if( items > 1 )
      THIS->y = SvIV( ST(1) );
    RETVAL = THIS->y;
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Rect_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Rect_new)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "CLASS, ...");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
    BEGIN_OVERLOAD()
        MATCH_REDISP( wxPliOvl_n_n_n_n, newXYWH )
        MATCH_REDISP( wxPliOvl_wpoi_wsiz, newPS )
        MATCH_REDISP( wxPliOvl_wpoi_wpoi, newPP )
    END_OVERLOAD( Wx::Rect::new )
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__Rect_newXYWH); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Rect_newXYWH)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "CLASS, x, y, width, height");
    {
	SV*	CLASS = ST(0)
;
	int	x = (int)SvIV(ST(1))
;
	int	y = (int)SvIV(ST(2))
;
	int	width = (int)SvIV(ST(3))
;
	int	height = (int)SvIV(ST(4))
;
	wxRect *	RETVAL;
    RETVAL = new wxRect( x, y, width, height );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::Rect" );
    wxPli_thread_sv_register( aTHX_ "Wx::Rect", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Rect_newPP); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Rect_newPP)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "CLASS, tl, br");
    {
	SV*	CLASS = ST(0)
;
	wxPoint    tl = wxPli_sv_2_wxpoint( aTHX_ ST(1) )
;
	wxPoint    br = wxPli_sv_2_wxpoint( aTHX_ ST(2) )
;
	wxRect *	RETVAL;
    RETVAL = new wxRect( tl, br );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::Rect" );
    wxPli_thread_sv_register( aTHX_ "Wx::Rect", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Rect_newPS); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Rect_newPS)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "CLASS, pos, size");
    {
	SV*	CLASS = ST(0)
;
	wxPoint    pos = wxPli_sv_2_wxpoint( aTHX_ ST(1) )
;
	wxSize    size = wxPli_sv_2_wxsize( aTHX_ ST(2) )
;
	wxRect *	RETVAL;
    RETVAL = new wxRect( pos, size );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::Rect" );
    wxPli_thread_sv_register( aTHX_ "Wx::Rect", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Rect_CLONE); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Rect_CLONE)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "CLASS");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
    wxPli_thread_sv_clone( aTHX_ CLASS, (wxPliCloneSV)wxPli_detach_object );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Rect_DESTROY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Rect_DESTROY)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxRect *    THIS = (wxRect *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Rect" )
;
    wxPli_thread_sv_unregister( aTHX_ "Wx::Rect", THIS, ST(0) );
    delete THIS;
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Rect_x); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Rect_x)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "THIS, ...");
    {
	wxRect *    THIS = (wxRect *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Rect" )
;
	int	RETVAL;
	dXSTARG;
    if( items > 1 )
      THIS->x = SvIV( ST(1) );
    RETVAL = THIS->x;
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Rect_y); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Rect_y)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "THIS, ...");
    {
	wxRect *    THIS = (wxRect *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Rect" )
;
	int	RETVAL;
	dXSTARG;
    if( items > 1 )
      THIS->y = SvIV( ST(1) );
    RETVAL = THIS->y;
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Rect_width); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Rect_width)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "THIS, ...");
    {
	wxRect *    THIS = (wxRect *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Rect" )
;
	int	RETVAL;
	dXSTARG;
    if( items > 1 )
      THIS->width = SvIV( ST(1) );
    RETVAL = THIS->width;
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Rect_height); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Rect_height)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "THIS, ...");
    {
	wxRect *    THIS = (wxRect *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Rect" )
;
	int	RETVAL;
	dXSTARG;
    if( items > 1 )
      THIS->height = SvIV( ST(1) );
    RETVAL = THIS->height;
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Rect_GetBottom); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Rect_GetBottom)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxRect *    THIS = (wxRect *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Rect" )
;
	int	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetBottom();
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Rect_GetHeight); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Rect_GetHeight)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxRect *    THIS = (wxRect *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Rect" )
;
	int	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetHeight();
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Rect_GetLeft); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Rect_GetLeft)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxRect *    THIS = (wxRect *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Rect" )
;
	int	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetLeft();
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Rect_GetPosition); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Rect_GetPosition)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxRect *    THIS = (wxRect *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Rect" )
;
	wxPoint *	RETVAL;
    RETVAL = new wxPoint( THIS->GetPosition() );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::Point" );
    wxPli_thread_sv_register( aTHX_ "Wx::Point", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Rect_GetTopLeft); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Rect_GetTopLeft)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxRect *    THIS = (wxRect *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Rect" )
;
	wxPoint *	RETVAL;
    RETVAL = new wxPoint( THIS->GetTopLeft() );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::Point" );
    wxPli_thread_sv_register( aTHX_ "Wx::Point", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Rect_GetBottomRight); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Rect_GetBottomRight)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxRect *    THIS = (wxRect *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Rect" )
;
	wxPoint *	RETVAL;
    RETVAL = new wxPoint( THIS->GetBottomRight() );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::Point" );
    wxPli_thread_sv_register( aTHX_ "Wx::Point", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#if WXPERL_W_VERSION_GE( 2, 8, 0 )
#define XSubPPtmpAACV 1


XS_EUPXS(XS_Wx__Rect_GetBottomLeft); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Rect_GetBottomLeft)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxRect *    THIS = (wxRect *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Rect" )
;
	wxPoint *	RETVAL;
    RETVAL = new wxPoint( THIS->GetBottomLeft() );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::Point" );
    wxPli_thread_sv_register( aTHX_ "Wx::Point", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Rect_GetTopRight); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Rect_GetTopRight)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxRect *    THIS = (wxRect *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Rect" )
;
	wxPoint *	RETVAL;
    RETVAL = new wxPoint( THIS->GetTopRight() );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::Point" );
    wxPli_thread_sv_register( aTHX_ "Wx::Point", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Rect_IsEmpty); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Rect_IsEmpty)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxRect *    THIS = (wxRect *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Rect" )
;
	bool	RETVAL;

	RETVAL = THIS->IsEmpty();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Rect_Union); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Rect_Union)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, rec");
    {
	wxRect *    THIS = (wxRect *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Rect" )
;
	wxRect *	RETVAL;
	wxRect*    rec = (wxRect *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Rect" )
;
    RETVAL = new wxRect( THIS->Union( *rec ) );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::Rect" );
    wxPli_thread_sv_register( aTHX_ "Wx::Rect", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#endif    

XS_EUPXS(XS_Wx__Rect_GetRight); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Rect_GetRight)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxRect *    THIS = (wxRect *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Rect" )
;
	int	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetRight();
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Rect_GetSize); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Rect_GetSize)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxRect *    THIS = (wxRect *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Rect" )
;
	wxSize *	RETVAL;
    RETVAL = new wxSize( THIS->GetSize() );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::Size" );
    wxPli_thread_sv_register( aTHX_ "Wx::Size", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Rect_GetTop); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Rect_GetTop)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxRect *    THIS = (wxRect *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Rect" )
;
	int	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetTop();
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Rect_GetWidth); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Rect_GetWidth)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxRect *    THIS = (wxRect *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Rect" )
;
	int	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetWidth();
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Rect_GetX); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Rect_GetX)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxRect *    THIS = (wxRect *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Rect" )
;
	int	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetX();
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Rect_GetY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Rect_GetY)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxRect *    THIS = (wxRect *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Rect" )
;
	int	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetY();
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Rect_Deflate); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Rect_Deflate)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, x, y");
    {
	wxCoord	x = (wxCoord)SvIV(ST(1))
;
	wxCoord	y;
	wxRect *    THIS = (wxRect *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Rect" )
;
    if( items == 2 )
      y = x;
    else
      y = SvIV( ST(2) );
    THIS->Deflate( x, y );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Rect_Inflate); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Rect_Inflate)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, x, y");
    {
	wxCoord	x = (wxCoord)SvIV(ST(1))
;
	wxCoord	y;
	wxRect *    THIS = (wxRect *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Rect" )
;
    if( items == 2 )
      y = x;
    else
      y = SvIV( ST(2) );
    THIS->Inflate( x, y );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Rect_Intersect); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Rect_Intersect)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, rect");
    {
	wxRect*    rect = (wxRect *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Rect" )
;
	wxRect *    THIS = (wxRect *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Rect" )
;
	wxRect *	RETVAL;
    RETVAL = new wxRect( THIS->Intersect( *rect ) );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::Rect" );
    wxPli_thread_sv_register( aTHX_ "Wx::Rect", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Rect_Intersects); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Rect_Intersects)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, rec");
    {
	wxRect *    THIS = (wxRect *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Rect" )
;
	bool	RETVAL;
	wxRect*    rec = (wxRect *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Rect" )
;
    RETVAL = THIS->Intersects( *rec );
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Rect_SetHeight); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Rect_SetHeight)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, height");
    {
	int	height = (int)SvIV(ST(1))
;
	wxRect *    THIS = (wxRect *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Rect" )
;

	THIS->SetHeight(height);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Rect_SetWidth); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Rect_SetWidth)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, width");
    {
	int	width = (int)SvIV(ST(1))
;
	wxRect *    THIS = (wxRect *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Rect" )
;

	THIS->SetWidth(width);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Rect_SetX); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Rect_SetX)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, x");
    {
	int	x = (int)SvIV(ST(1))
;
	wxRect *    THIS = (wxRect *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Rect" )
;

	THIS->SetX(x);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Rect_SetY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Rect_SetY)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, y");
    {
	int	y = (int)SvIV(ST(1))
;
	wxRect *    THIS = (wxRect *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Rect" )
;

	THIS->SetY(y);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Rect_SetPosition); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Rect_SetPosition)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, pos");
    {
	wxPoint    pos = wxPli_sv_2_wxpoint( aTHX_ ST(1) )
;
	wxRect *    THIS = (wxRect *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Rect" )
;

	THIS->SetPosition(pos);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Rect_SetSize); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Rect_SetSize)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, size");
    {
	wxSize    size = wxPli_sv_2_wxsize( aTHX_ ST(1) )
;
	wxRect *    THIS = (wxRect *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Rect" )
;

	THIS->SetSize(size);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Rect_Offset); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Rect_Offset)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, x, y");
    {
	wxCoord	x = (wxCoord)SvIV(ST(1))
;
	wxCoord	y = (wxCoord)SvIV(ST(2))
;
	wxRect *    THIS = (wxRect *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Rect" )
;
   THIS->Offset( x, y);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Rect_Contains); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Rect_Contains)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "THIS, ...");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	wxRect *    THIS = (wxRect *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Rect" )
;
    BEGIN_OVERLOAD()
        MATCH_REDISP( wxPliOvl_n_n, ContainsXY )
        MATCH_REDISP( wxPliOvl_wpoi, ContainsPoint )
        MATCH_REDISP( wxPliOvl_wrec, ContainsRect )
    END_OVERLOAD( Wx::Rect::Contains )
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__Rect_Inside); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Rect_Inside)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "THIS, ...");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	wxRect *    THIS = (wxRect *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Rect" )
;
    BEGIN_OVERLOAD()
        MATCH_REDISP( wxPliOvl_n_n, ContainsXY )
        MATCH_REDISP( wxPliOvl_wpoi, ContainsPoint )
#if WXPERL_W_VERSION_GE( 2, 7, 0 )
        MATCH_REDISP( wxPliOvl_wrec, ContainsRect )
#endif
    END_OVERLOAD( Wx::Rect::Inside )
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__Rect_ContainsXY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Rect_ContainsXY)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, x, y");
    {
	wxRect *    THIS = (wxRect *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Rect" )
;
	bool	RETVAL;
	int	x = (int)SvIV(ST(1))
;
	int	y = (int)SvIV(ST(2))
;
#if WXPERL_W_VERSION_GE( 2, 7, 1 )
    RETVAL = THIS->Contains( x, y );
#else
    RETVAL = THIS->Inside( x, y );
#endif
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Rect_ContainsPoint); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Rect_ContainsPoint)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, pt");
    {
	wxRect *    THIS = (wxRect *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Rect" )
;
	bool	RETVAL;
	wxPoint    pt = wxPli_sv_2_wxpoint( aTHX_ ST(1) )
;
#if WXPERL_W_VERSION_GE( 2, 7, 1 )
    RETVAL = THIS->Contains( pt );
#else
    RETVAL = THIS->Inside( pt );
#endif
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}

#if WXPERL_W_VERSION_GE( 2, 7, 1 )
#define XSubPPtmpAACW 1


XS_EUPXS(XS_Wx__Rect_ContainsRect); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Rect_ContainsRect)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, rec");
    {
	wxRect *    THIS = (wxRect *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Rect" )
;
	bool	RETVAL;
	wxRect*    rec = (wxRect *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Rect" )
;
    RETVAL = THIS->Contains( *rec );
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Rect_CentreIn); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Rect_CentreIn)
{
    dVAR; dXSARGS;
    if (items < 2 || items > 3)
       croak_xs_usage(cv,  "THIS, rec, dir= wxBOTH");
    {
	wxRect *    THIS = (wxRect *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Rect" )
;
	wxRect *	RETVAL;
	wxRect*    rec = (wxRect *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Rect" )
;
	int	dir;

	if (items < 3)
	    dir = wxBOTH;
	else {
	    dir = (int)SvIV(ST(2))
;
	}
    RETVAL = new wxRect( THIS->CentreIn( *rec, dir ) );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::Rect" );
    wxPli_thread_sv_register( aTHX_ "Wx::Rect", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#endif

XS_EUPXS(XS_Wx__Region_newEmpty); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Region_newEmpty)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "CLASS");
    {
	SV*	CLASS = ST(0)
;
	wxRegion *	RETVAL;
    RETVAL = new wxRegion();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
    wxPli_thread_sv_register( aTHX_ "Wx::Region", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Region_newXYWH); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Region_newXYWH)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "CLASS, x, y, width, height");
    {
	SV*	CLASS = ST(0)
;
	wxCoord	x = (wxCoord)SvIV(ST(1))
;
	wxCoord	y = (wxCoord)SvIV(ST(2))
;
	wxCoord	width = (wxCoord)SvIV(ST(3))
;
	wxCoord	height = (wxCoord)SvIV(ST(4))
;
	wxRegion *	RETVAL;
    RETVAL = new wxRegion( x, y, width, height );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
    wxPli_thread_sv_register( aTHX_ "Wx::Region", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Region_newPP); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Region_newPP)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "CLASS, topLeft, bottomRight");
    {
	SV*	CLASS = ST(0)
;
	wxPoint    topLeft = wxPli_sv_2_wxpoint( aTHX_ ST(1) )
;
	wxPoint    bottomRight = wxPli_sv_2_wxpoint( aTHX_ ST(2) )
;
	wxRegion *	RETVAL;
    RETVAL = new wxRegion( topLeft, bottomRight );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
    wxPli_thread_sv_register( aTHX_ "Wx::Region", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Region_newRect); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Region_newRect)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "CLASS, rect");
    {
	SV*	CLASS = ST(0)
;
	wxRect*    rect = (wxRect *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Rect" )
;
	wxRegion *	RETVAL;
    RETVAL = new wxRegion( *rect );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
    wxPli_thread_sv_register( aTHX_ "Wx::Region", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#if !defined( __WXMAC__ ) && !defined( __WXMOTIF__ )
#define XSubPPtmpAACX 1


XS_EUPXS(XS_Wx__Region_newPolygon); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Region_newPolygon)
{
    dVAR; dXSARGS;
    if (items < 2 || items > 3)
       croak_xs_usage(cv,  "CLASS, list, fillStyle = wxODDEVEN_RULE");
    {
	SV*	CLASS = ST(0)
;
	SV*	list = ST(1)
;
	wxPolygonFillMode	fillStyle;
    wxPoint* points;
    size_t n;
	wxRegion *	RETVAL;

	if (items < 3)
	    fillStyle = wxODDEVEN_RULE;
	else {
	    fillStyle = (wxPolygonFillMode)SvIV(ST(2))
;
	}
    n = wxPli_av_2_pointarray( aTHX_ list, &points );
    RETVAL = new wxRegion( n, points, fillStyle );
    delete [] points;
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
    wxPli_thread_sv_register( aTHX_ "Wx::Region", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#endif
#if !defined( __WXOSX_COCOA__ )
#define XSubPPtmpAACY 1


XS_EUPXS(XS_Wx__Region_newBitmap); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Region_newBitmap)
{
    dVAR; dXSARGS;
    if (items < 3 || items > 4)
       croak_xs_usage(cv,  "CLASS, bitmap, colour, tolerance = 0");
    {
	SV*	CLASS = ST(0)
;
	wxBitmap*    bitmap = (wxBitmap *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Bitmap" )
;
	wxColour    colour = *(wxColour *) wxPli_sv_2_object( aTHX_ ST(2), "Wx::Colour" )
;
	int	tolerance;
	wxRegion *	RETVAL;

	if (items < 4)
	    tolerance = 0;
	else {
	    tolerance = (int)SvIV(ST(3))
;
	}
    RETVAL = new wxRegion( *bitmap, colour, tolerance );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
    wxPli_thread_sv_register( aTHX_ "Wx::Region", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Region_newBitmapOnly); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Region_newBitmapOnly)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "CLASS, bitmap");
    {
	SV*	CLASS = ST(0)
;
	wxBitmap*    bitmap = (wxBitmap *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Bitmap" )
;
	wxRegion *	RETVAL;
    RETVAL = new wxRegion( *bitmap );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
    wxPli_thread_sv_register( aTHX_ "Wx::Region", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#endif

XS_EUPXS(XS_Wx__Region_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Region_new)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "CLASS, ...");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
    BEGIN_OVERLOAD()
        MATCH_VOIDM_REDISP( newEmpty )
        MATCH_REDISP( wxPliOvl_n_n_n_n, newXYWH )
        MATCH_REDISP( wxPliOvl_wpoi_wpoi, newPP )
        MATCH_REDISP( wxPliOvl_wrec, newRect )
        MATCH_REDISP_COUNT_ALLOWMORE( wxPliOvl_wbmp_wcol_n, newBitmap, 2 )
        MATCH_REDISP( wxPliOvl_wbmp, newBitmapOnly )
        MATCH_REDISP_COUNT_ALLOWMORE( wxPliOvl_arr, newPolygon, 1 )
    END_OVERLOAD( Wx::Region::new )
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__Region_CLONE); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Region_CLONE)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "CLASS");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
    wxPli_thread_sv_clone( aTHX_ CLASS, (wxPliCloneSV)wxPli_detach_object );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Region_DESTROY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Region_DESTROY)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxRegion *    THIS = (wxRegion *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Region" )
;
    wxPli_thread_sv_unregister( aTHX_ "Wx::Region", THIS, ST(0) );
    delete THIS;
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Region_Clear); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Region_Clear)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxRegion *    THIS = (wxRegion *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Region" )
;

	THIS->Clear();
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Region_ContainsXY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Region_ContainsXY)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, x, y");
    {
	wxCoord	x = (wxCoord)SvIV(ST(1))
;
	wxCoord	y = (wxCoord)SvIV(ST(2))
;
	wxRegion *    THIS = (wxRegion *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Region" )
;
	wxRegionContain	RETVAL;
	dXSTARG;
    RETVAL = THIS->Contains( x, y );
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Region_ContainsPoint); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Region_ContainsPoint)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, point");
    {
	wxPoint    point = wxPli_sv_2_wxpoint( aTHX_ ST(1) )
;
	wxRegion *    THIS = (wxRegion *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Region" )
;
	wxRegionContain	RETVAL;
	dXSTARG;
    RETVAL = THIS->Contains( point );
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Region_ContainsXYWH); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Region_ContainsXYWH)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "THIS, x, y, w, h");
    {
	wxCoord	x = (wxCoord)SvIV(ST(1))
;
	wxCoord	y = (wxCoord)SvIV(ST(2))
;
	wxCoord	w = (wxCoord)SvIV(ST(3))
;
	wxCoord	h = (wxCoord)SvIV(ST(4))
;
	wxRegion *    THIS = (wxRegion *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Region" )
;
	wxRegionContain	RETVAL;
	dXSTARG;
    RETVAL = THIS->Contains( x, y, w, h );
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Region_ContainsRect); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Region_ContainsRect)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, rect");
    {
	wxRect*    rect = (wxRect *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Rect" )
;
	wxRegion *    THIS = (wxRegion *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Region" )
;
	wxRegionContain	RETVAL;
	dXSTARG;
    RETVAL = THIS->Contains( *rect );
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Region_Contains); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Region_Contains)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "THIS, ...");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	wxRegion *    THIS = (wxRegion *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Region" )
;
    BEGIN_OVERLOAD()
        MATCH_REDISP( wxPliOvl_n_n_n_n, ContainsXYWH )
        MATCH_REDISP( wxPliOvl_n_n, ContainsXY )
        MATCH_REDISP( wxPliOvl_wpoi, ContainsPoint )
        MATCH_REDISP( wxPliOvl_wrec, ContainsRect )
    END_OVERLOAD( Wx::Region::Contains )
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__Region_ConvertToBitmap); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Region_ConvertToBitmap)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxRegion *    THIS = (wxRegion *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Region" )
;
	wxBitmap *	RETVAL;
    RETVAL = new wxBitmap( THIS->ConvertToBitmap() );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
    wxPli_thread_sv_register( aTHX_ "Wx::Bitmap", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Region_GetBox); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Region_GetBox)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxRegion *    THIS = (wxRegion *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Region" )
;
	wxRect *	RETVAL;
    RETVAL = new wxRect( THIS->GetBox() );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::Rect" );
    wxPli_thread_sv_register( aTHX_ "Wx::Rect", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Region_GetBoxXYWH); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Region_GetBoxXYWH)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
    int x;
    int y;
    int w;
    int h;
	wxRegion *    THIS = (wxRegion *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Region" )
;
    THIS->GetBox( x, y, w, h );
    EXTEND( SP, 4 );
    PUSHs( sv_2mortal( newSViv( (IV) x ) ) );
    PUSHs( sv_2mortal( newSViv( (IV) y ) ) );
    PUSHs( sv_2mortal( newSViv( (IV) w ) ) );
    PUSHs( sv_2mortal( newSViv( (IV) h ) ) );
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__Region_IntersectXYWH); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Region_IntersectXYWH)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "THIS, x, y, w, h");
    {
	wxCoord	x = (wxCoord)SvIV(ST(1))
;
	wxCoord	y = (wxCoord)SvIV(ST(2))
;
	wxCoord	w = (wxCoord)SvIV(ST(3))
;
	wxCoord	h = (wxCoord)SvIV(ST(4))
;
	wxRegion *    THIS = (wxRegion *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Region" )
;
	bool	RETVAL;
    RETVAL = THIS->Intersect( x, y, w, h );
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Region_IntersectRect); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Region_IntersectRect)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, rect");
    {
	wxRect*    rect = (wxRect *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Rect" )
;
	wxRegion *    THIS = (wxRegion *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Region" )
;
	bool	RETVAL;
    RETVAL = THIS->Intersect( *rect );
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Region_IntersectRegion); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Region_IntersectRegion)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, region");
    {
	wxRegion*    region = (wxRegion *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Region" )
;
	wxRegion *    THIS = (wxRegion *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Region" )
;
	bool	RETVAL;
    RETVAL = THIS->Intersect( *region );
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Region_Intersect); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Region_Intersect)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "THIS, ...");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	wxRegion *    THIS = (wxRegion *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Region" )
;
    BEGIN_OVERLOAD()
        MATCH_REDISP( wxPliOvl_n_n_n_n, IntersectXYWH )
        MATCH_REDISP( wxPliOvl_wrec, IntersectRect )
        MATCH_REDISP( wxPliOvl_wreg, IntersectRegion )
    END_OVERLOAD( Wx::Region::Intersect )
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__Region_IsEmpty); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Region_IsEmpty)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxRegion *    THIS = (wxRegion *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Region" )
;
	bool	RETVAL;

	RETVAL = THIS->IsEmpty();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}

#if WXPERL_W_VERSION_GE( 2, 7, 2 )
#define XSubPPtmpAACZ 1


XS_EUPXS(XS_Wx__Region_IsEqual); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Region_IsEqual)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, region");
    {
	wxRegion*    region = (wxRegion *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Region" )
;
	wxRegion *    THIS = (wxRegion *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Region" )
;
	bool	RETVAL;

	RETVAL = THIS->IsEqual(*region);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}

#endif

XS_EUPXS(XS_Wx__Region_SubtractRect); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Region_SubtractRect)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, rect");
    {
	wxRect*    rect = (wxRect *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Rect" )
;
	wxRegion *    THIS = (wxRegion *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Region" )
;
	bool	RETVAL;
    RETVAL = THIS->Subtract( *rect );
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}

#if !defined(__WXMOTIF__) && !defined(__WXMAC__)
#define XSubPPtmpAADA 1


XS_EUPXS(XS_Wx__Region_Offset); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Region_Offset)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, x, y");
    {
	wxCoord	x = (wxCoord)SvIV(ST(1))
;
	wxCoord	y = (wxCoord)SvIV(ST(2))
;
	wxRegion *    THIS = (wxRegion *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Region" )
;
	bool	RETVAL;

	RETVAL = THIS->Offset(x, y);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}

#endif

XS_EUPXS(XS_Wx__Region_SubtractRegion); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Region_SubtractRegion)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, region");
    {
	wxRegion*    region = (wxRegion *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Region" )
;
	wxRegion *    THIS = (wxRegion *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Region" )
;
	bool	RETVAL;
    RETVAL = THIS->Subtract( *region );
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Region_Subtract); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Region_Subtract)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "THIS, ...");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	wxRegion *    THIS = (wxRegion *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Region" )
;
    BEGIN_OVERLOAD()
        MATCH_REDISP( wxPliOvl_wrec, SubtractRect )
        MATCH_REDISP( wxPliOvl_wreg, SubtractRegion )
    END_OVERLOAD( Wx::Region::Subtract )
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__Region_UnionXYWH); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Region_UnionXYWH)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "THIS, x, y, w, h");
    {
	wxCoord	x = (wxCoord)SvIV(ST(1))
;
	wxCoord	y = (wxCoord)SvIV(ST(2))
;
	wxCoord	w = (wxCoord)SvIV(ST(3))
;
	wxCoord	h = (wxCoord)SvIV(ST(4))
;
	wxRegion *    THIS = (wxRegion *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Region" )
;
	bool	RETVAL;
    RETVAL = THIS->Union( x, y, w, h );
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Region_UnionRect); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Region_UnionRect)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, rect");
    {
	wxRect*    rect = (wxRect *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Rect" )
;
	wxRegion *    THIS = (wxRegion *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Region" )
;
	bool	RETVAL;
    RETVAL = THIS->Union( *rect );
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Region_UnionRegion); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Region_UnionRegion)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, region");
    {
	wxRegion*    region = (wxRegion *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Region" )
;
	wxRegion *    THIS = (wxRegion *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Region" )
;
	bool	RETVAL;
    RETVAL = THIS->Union( *region );
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Region_UnionBitmapOnly); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Region_UnionBitmapOnly)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, bitmap");
    {
	wxBitmap*    bitmap = (wxBitmap *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Bitmap" )
;
	wxRegion *    THIS = (wxRegion *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Region" )
;
	bool	RETVAL;
    RETVAL = THIS->Union( *bitmap );
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Region_UnionBitmap); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Region_UnionBitmap)
{
    dVAR; dXSARGS;
    if (items < 3 || items > 4)
       croak_xs_usage(cv,  "THIS, bitmap, colour, tolerance = 0");
    {
	wxBitmap*    bitmap = (wxBitmap *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Bitmap" )
;
	wxColour    colour = *(wxColour *) wxPli_sv_2_object( aTHX_ ST(2), "Wx::Colour" )
;
	int	tolerance;
	wxRegion *    THIS = (wxRegion *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Region" )
;
	bool	RETVAL;

	if (items < 4)
	    tolerance = 0;
	else {
	    tolerance = (int)SvIV(ST(3))
;
	}
    RETVAL = THIS->Union( *bitmap, colour, tolerance );
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Region_Union); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Region_Union)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "THIS, ...");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	wxRegion *    THIS = (wxRegion *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Region" )
;
    BEGIN_OVERLOAD()
        MATCH_REDISP( wxPliOvl_n_n_n_n, UnionXYWH )
        MATCH_REDISP( wxPliOvl_wrec, UnionRect )
        MATCH_REDISP( wxPliOvl_wreg, UnionRegion )
        MATCH_REDISP_COUNT_ALLOWMORE( wxPliOvl_wbmp_wcol_n, UnionBitmap, 2 )
        MATCH_REDISP( wxPliOvl_wbmp, UnionBitmapOnly )
    END_OVERLOAD( Wx::Region::Union )
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__Region_XorXYWH); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Region_XorXYWH)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "THIS, x, y, w, h");
    {
	wxCoord	x = (wxCoord)SvIV(ST(1))
;
	wxCoord	y = (wxCoord)SvIV(ST(2))
;
	wxCoord	w = (wxCoord)SvIV(ST(3))
;
	wxCoord	h = (wxCoord)SvIV(ST(4))
;
	wxRegion *    THIS = (wxRegion *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Region" )
;
	bool	RETVAL;
    RETVAL = THIS->Xor( x, y, w, h );
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Region_XorRect); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Region_XorRect)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, rect");
    {
	wxRect*    rect = (wxRect *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Rect" )
;
	wxRegion *    THIS = (wxRegion *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Region" )
;
	bool	RETVAL;
    RETVAL = THIS->Xor( *rect );
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Region_XorRegion); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Region_XorRegion)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, region");
    {
	wxRegion*    region = (wxRegion *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Region" )
;
	wxRegion *    THIS = (wxRegion *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Region" )
;
	bool	RETVAL;
    RETVAL = THIS->Xor( *region );
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Region_Xor); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Region_Xor)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "THIS, ...");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	wxRegion *    THIS = (wxRegion *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Region" )
;
    BEGIN_OVERLOAD()
        MATCH_REDISP( wxPliOvl_n_n_n_n, XorXYWH )
        MATCH_REDISP( wxPliOvl_wrec, XorRect )
        MATCH_REDISP( wxPliOvl_wreg, XorRegion )
    END_OVERLOAD( Wx::Region::Xor )
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__RegionIterator_newDefault); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__RegionIterator_newDefault)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "CLASS");
    {
	SV*	CLASS = ST(0)
;
	wxRegionIterator *	RETVAL;
    RETVAL = new wxRegionIterator();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
    wxPli_thread_sv_register( aTHX_ "Wx::RegionIterator", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__RegionIterator_newRegion); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__RegionIterator_newRegion)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "CLASS, region");
    {
	SV*	CLASS = ST(0)
;
	wxRegion*    region = (wxRegion *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Region" )
;
	wxRegionIterator *	RETVAL;
    RETVAL = new wxRegionIterator( *region );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
    wxPli_thread_sv_register( aTHX_ "Wx::RegionIterator", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__RegionIterator_newCopy); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__RegionIterator_newCopy)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "CLASS, ri");
    {
	SV*	CLASS = ST(0)
;
	wxRegionIterator*    ri = (wxRegionIterator *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::RegionIterator" )
;
	wxRegionIterator *	RETVAL;
    RETVAL = new wxRegionIterator( *ri );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
    wxPli_thread_sv_register( aTHX_ "Wx::RegionIterator", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__RegionIterator_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__RegionIterator_new)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "CLASS, ...");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
    BEGIN_OVERLOAD()
        MATCH_VOIDM_REDISP( newDefault )
        MATCH_REDISP( wxPliOvl_wreg, newRegion )
        MATCH_REDISP( wxPliOvl_writ, newCopy )
    END_OVERLOAD( Wx::RegionIterator::new )
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__RegionIterator_CLONE); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__RegionIterator_CLONE)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "CLASS");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
    wxPli_thread_sv_clone( aTHX_ CLASS, (wxPliCloneSV)wxPli_detach_object );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__RegionIterator_DESTROY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__RegionIterator_DESTROY)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxRegionIterator *    THIS = (wxRegionIterator *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::RegionIterator" )
;
    wxPli_thread_sv_unregister( aTHX_ "Wx::RegionIterator", THIS, ST(0) );
    delete THIS;
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__RegionIterator_ResetVoid); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__RegionIterator_ResetVoid)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxRegionIterator *    THIS = (wxRegionIterator *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::RegionIterator" )
;
    THIS->Reset();
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__RegionIterator_ResetRegion); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__RegionIterator_ResetRegion)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, region");
    {
	wxRegion*    region = (wxRegion *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Region" )
;
	wxRegionIterator *    THIS = (wxRegionIterator *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::RegionIterator" )
;
    THIS->Reset( *region );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__RegionIterator_Reset); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__RegionIterator_Reset)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "THIS, ...");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	wxRegionIterator *    THIS = (wxRegionIterator *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::RegionIterator" )
;
    BEGIN_OVERLOAD()
        MATCH_VOIDM_REDISP( ResetVoid )
        MATCH_REDISP( wxPliOvl_wreg, ResetRegion )
    END_OVERLOAD( Wx::RegionIterator::Reset )
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__RegionIterator_HaveRects); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__RegionIterator_HaveRects)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxRegionIterator *    THIS = (wxRegionIterator *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::RegionIterator" )
;
	bool	RETVAL;

	RETVAL = THIS->HaveRects();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__RegionIterator_GetX); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__RegionIterator_GetX)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxRegionIterator *    THIS = (wxRegionIterator *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::RegionIterator" )
;
	wxCoord	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetX();
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__RegionIterator_GetY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__RegionIterator_GetY)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxRegionIterator *    THIS = (wxRegionIterator *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::RegionIterator" )
;
	wxCoord	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetY();
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__RegionIterator_GetW); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__RegionIterator_GetW)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxRegionIterator *    THIS = (wxRegionIterator *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::RegionIterator" )
;
	wxCoord	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetW();
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__RegionIterator_GetWidth); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__RegionIterator_GetWidth)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxRegionIterator *    THIS = (wxRegionIterator *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::RegionIterator" )
;
	wxCoord	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetWidth();
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__RegionIterator_GetH); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__RegionIterator_GetH)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxRegionIterator *    THIS = (wxRegionIterator *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::RegionIterator" )
;
	wxCoord	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetH();
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__RegionIterator_GetHeight); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__RegionIterator_GetHeight)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxRegionIterator *    THIS = (wxRegionIterator *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::RegionIterator" )
;
	wxCoord	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetHeight();
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__RegionIterator_GetRect); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__RegionIterator_GetRect)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxRegionIterator *    THIS = (wxRegionIterator *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::RegionIterator" )
;
	wxRect *	RETVAL;
    RETVAL = new wxRect( THIS->GetRect() );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::Rect" );
    wxPli_thread_sv_register( aTHX_ "Wx::Rect", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#if WXPERL_W_VERSION_GE( 2, 9, 0 )
#include <wx/position.h>
#define XSubPPtmpAADB 1


XS_EUPXS(XS_Wx__Position_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Position_new)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 3)
       croak_xs_usage(cv,  "CLASS, row = 0, column = 0");
    {
	int	row;
	int	column;
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxPosition *	RETVAL;

	if (items < 2)
	    row = 0;
	else {
	    row = (int)SvIV(ST(1))
;
	}

	if (items < 3)
	    column = 0;
	else {
	    column = (int)SvIV(ST(2))
;
	}

	RETVAL = new wxPosition(row, column);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::Position" );
    wxPli_thread_sv_register( aTHX_ "Wx::Position", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Position_CLONE); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Position_CLONE)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "CLASS");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
    wxPli_thread_sv_clone( aTHX_ CLASS, (wxPliCloneSV)wxPli_detach_object );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Position_DESTROY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Position_DESTROY)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxPosition *    THIS = (wxPosition *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Position" )
;
    wxPli_thread_sv_unregister( aTHX_ "Wx::Position", THIS, ST(0) );
    delete THIS;
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Position_row); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Position_row)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "THIS, ...");
    {
	wxPosition *    THIS = (wxPosition *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Position" )
;
	int	RETVAL;
	dXSTARG;
    if( items > 1 )
      THIS->SetRow( SvIV( ST(1) ) );
    RETVAL = THIS->GetRow();
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Position_col); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Position_col)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "THIS, ...");
    {
	wxPosition *    THIS = (wxPosition *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Position" )
;
	int	RETVAL;
	dXSTARG;
    if( items > 1 )
      THIS->SetCol( SvIV( ST(1) ) );
    RETVAL = THIS->GetCol();
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Position_column); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Position_column)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "THIS, ...");
    {
	wxPosition *    THIS = (wxPosition *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Position" )
;
	int	RETVAL;
	dXSTARG;
    if( items > 1 )
      THIS->SetColumn( SvIV( ST(1) ) );
    RETVAL = THIS->GetColumn();
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Position_GetRow); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Position_GetRow)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxPosition *    THIS = (wxPosition *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Position" )
;
	int	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetRow();
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Position_GetCol); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Position_GetCol)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxPosition *    THIS = (wxPosition *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Position" )
;
	int	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetCol();
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Position_GetColumn); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Position_GetColumn)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxPosition *    THIS = (wxPosition *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Position" )
;
	int	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetColumn();
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Position_SetRow); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Position_SetRow)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, height");
    {
	int	height = (int)SvIV(ST(1))
;
	wxPosition *    THIS = (wxPosition *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Position" )
;

	THIS->SetRow(height);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Position_SetCol); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Position_SetCol)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, width");
    {
	int	width = (int)SvIV(ST(1))
;
	wxPosition *    THIS = (wxPosition *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Position" )
;

	THIS->SetCol(width);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Position_SetColumn); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Position_SetColumn)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, width");
    {
	int	width = (int)SvIV(ST(1))
;
	wxPosition *    THIS = (wxPosition *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Position" )
;

	THIS->SetColumn(width);
    }
    XSRETURN_EMPTY;
}

#endif

/* INCLUDE: Returning to 'XS/Caret.xs' from 'XS/Geom.xs' */

#include <wx/caret.h>

XS_EUPXS(XS_Wx__Caret_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Caret_new)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "CLASS, ...");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
    BEGIN_OVERLOAD()
        MATCH_REDISP( wxPliOvl_wwin_n_n, newWH )
        MATCH_REDISP( wxPliOvl_wwin_wsiz, newSize )
        MATCH_VOIDM_REDISP( newDefault )
    END_OVERLOAD( Wx::Caret::new )
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__Caret_newDefault); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Caret_newDefault)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "CLASS, window, width, height");
    {
	SV*	CLASS = ST(0)
;
	wxCaret *	RETVAL;
    RETVAL = new wxCaret();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::Caret" );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Caret_newSize); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Caret_newSize)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "CLASS, window, size");
    {
	SV*	CLASS = ST(0)
;
	wxWindow*    window = (wxWindow *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Window" )
;
	wxSize    size = wxPli_sv_2_wxsize( aTHX_ ST(2) )
;
	wxCaret *	RETVAL;
    RETVAL = new wxCaret( window, size );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::Caret" );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Caret_newWH); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Caret_newWH)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "CLASS, window, width, height");
    {
	SV*	CLASS = ST(0)
;
	wxWindow*    window = (wxWindow *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Window" )
;
	int	width = (int)SvIV(ST(2))
;
	int	height = (int)SvIV(ST(3))
;
	wxCaret *	RETVAL;
    RETVAL = new wxCaret( window, width, height );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::Caret" );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Caret_Create); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Caret_Create)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "THIS, ...");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	wxCaret *    THIS = (wxCaret *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Caret" )
;
    BEGIN_OVERLOAD()
        MATCH_REDISP( wxPliOvl_wwin_n_n, CreateWH )
        MATCH_REDISP( wxPliOvl_wwin_wsiz, CreateSize )
    END_OVERLOAD( Wx::Caret::Create )
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__Caret_CreateSize); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Caret_CreateSize)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, window, size");
    {
	wxWindow*    window = (wxWindow *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Window" )
;
	wxSize    size = wxPli_sv_2_wxsize( aTHX_ ST(2) )
;
	wxCaret *    THIS = (wxCaret *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Caret" )
;
	bool	RETVAL;
    RETVAL = THIS->Create( window, size );
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Caret_CreateWH); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Caret_CreateWH)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "THIS, window, width, height");
    {
	wxWindow*    window = (wxWindow *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Window" )
;
	int	width = (int)SvIV(ST(2))
;
	int	height = (int)SvIV(ST(3))
;
	wxCaret *    THIS = (wxCaret *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Caret" )
;
	bool	RETVAL;
    RETVAL = THIS->Create( window, width, height );
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Caret_Destroy); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Caret_Destroy)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxCaret *    THIS = (wxCaret *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Caret" )
;
    delete THIS;
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Caret_GetBlinkTime); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Caret_GetBlinkTime)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
	int	RETVAL;
	dXSTARG;
    RETVAL = wxCaret::GetBlinkTime();
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Caret_GetSizeWH); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Caret_GetSizeWH)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
    int w;
    int h;
	wxCaret *    THIS = (wxCaret *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Caret" )
;
    THIS->GetPosition( &w, &h );
    EXTEND( SP, 2 );
    PUSHs( sv_2mortal( newSViv( w ) ) );
    PUSHs( sv_2mortal( newSViv( h ) ) );
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__Caret_GetSize); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Caret_GetSize)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxCaret *    THIS = (wxCaret *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Caret" )
;
	wxSize *	RETVAL;
    RETVAL = new wxSize( THIS->GetSize() );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::Size" );
    wxPli_thread_sv_register( aTHX_ "Wx::Size", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Caret_GetPositionXY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Caret_GetPositionXY)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
    int x;
    int y;
	wxCaret *    THIS = (wxCaret *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Caret" )
;
    THIS->GetPosition( &x, &y );
    EXTEND( SP, 2 );
    PUSHs( sv_2mortal( newSViv( x ) ) );
    PUSHs( sv_2mortal( newSViv( y ) ) );
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__Caret_GetPosition); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Caret_GetPosition)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxCaret *    THIS = (wxCaret *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Caret" )
;
	wxPoint *	RETVAL;
    RETVAL = new wxPoint( THIS->GetPosition() );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::Point" );
    wxPli_thread_sv_register( aTHX_ "Wx::Point", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Caret_GetWindow); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Caret_GetWindow)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxCaret *    THIS = (wxCaret *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Caret" )
;
	wxWindow *	RETVAL;

	RETVAL = THIS->GetWindow();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Caret_Hide); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Caret_Hide)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxCaret *    THIS = (wxCaret *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Caret" )
;

	THIS->Hide();
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Caret_IsOk); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Caret_IsOk)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxCaret *    THIS = (wxCaret *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Caret" )
;
	bool	RETVAL;

	RETVAL = THIS->IsOk();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Caret_IsVisible); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Caret_IsVisible)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxCaret *    THIS = (wxCaret *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Caret" )
;
	bool	RETVAL;

	RETVAL = THIS->IsVisible();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Caret_Move); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Caret_Move)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "THIS, ...");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	wxCaret *    THIS = (wxCaret *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Caret" )
;
    BEGIN_OVERLOAD()
        MATCH_REDISP( wxPliOvl_wpoi, MovePoint )
        MATCH_REDISP( wxPliOvl_n_n, MoveXY )
    END_OVERLOAD( Wx::Caret::Move )
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__Caret_MovePoint); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Caret_MovePoint)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, point");
    {
	wxPoint    point = wxPli_sv_2_wxpoint( aTHX_ ST(1) )
;
	wxCaret *    THIS = (wxCaret *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Caret" )
;
    THIS->Move( point );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Caret_MoveXY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Caret_MoveXY)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, x, y");
    {
	int	x = (int)SvIV(ST(1))
;
	int	y = (int)SvIV(ST(2))
;
	wxCaret *    THIS = (wxCaret *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Caret" )
;
    THIS->Move( x, y );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Caret_SetBlinkTime); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Caret_SetBlinkTime)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "milliseconds");
    {
	int	milliseconds = (int)SvIV(ST(0))
;
    wxCaret::SetBlinkTime( milliseconds );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Caret_SetSize); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Caret_SetSize)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "THIS, ...");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	wxCaret *    THIS = (wxCaret *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Caret" )
;
    BEGIN_OVERLOAD()
      MATCH_REDISP( wxPliOvl_wsiz, SetSizeSize )
      MATCH_REDISP( wxPliOvl_n_n, SetSizeWH )
    END_OVERLOAD( Wx::Caret::SetSize )
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__Caret_SetSizeSize); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Caret_SetSizeSize)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, size");
    {
	wxSize    size = wxPli_sv_2_wxsize( aTHX_ ST(1) )
;
	wxCaret *    THIS = (wxCaret *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Caret" )
;
    THIS->SetSize( size );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Caret_SetSizeWH); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Caret_SetSizeWH)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, w, h");
    {
	int	w = (int)SvIV(ST(1))
;
	int	h = (int)SvIV(ST(2))
;
	wxCaret *    THIS = (wxCaret *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Caret" )
;
    THIS->SetSize( w, h );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Caret_Show); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Caret_Show)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "THIS, show = true");
    {
	bool	show;
	wxCaret *    THIS = (wxCaret *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Caret" )
;

	if (items < 2)
	    show = true;
	else {
	    show = (bool)SvTRUE(ST(1))
;
	}

	THIS->Show(show);
    }
    XSRETURN_EMPTY;
}


/* INCLUDE: Returning to 'XS/App.xs' from 'XS/Caret.xs' */

#include <wx/app.h>
#include <wx/artprov.h>

XS_EUPXS(XS_Wx_PostEvent); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_PostEvent)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "evthnd, event");
    {
	wxEvtHandler*    evthnd = (wxEvtHandler *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::EvtHandler" )
;
	wxEvent*    event = (wxEvent *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Event" )
;
    wxPostEvent( evthnd, *event );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx_WakeUpIdle); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_WakeUpIdle)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {

	wxWakeUpIdle();
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx___App_Start); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx___App_Start)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "app, sub");
    {
	wxApp*    app = (wxApp *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::App" )
;
	SV*	sub = ST(1)
;
	int	RETVAL;
	dXSTARG;
    // for Wx::Perl::SplashFast
    if( !SvROK( sub ) || SvTYPE( SvRV( sub ) ) != SVt_PVCV )
      croak( "sub must be a CODE reference" );
#if WXPERL_W_VERSION_LE( 2, 5, 1 )
    app->argc = wxPli_get_args_argc_argv( (void***) &app->argv, 1 );
#endif
#ifdef __WXMOTIF__
    app->SetClassName( app->argv[0] );
    app->SetAppName( app->argv[0] );
#endif
#if WXPERL_W_VERSION_LE( 2, 5, 0 )
    if( !wxPerlAppCreated )
        wxEntryInitGui();
#endif

    PUTBACK;
    RETVAL = call_oninit( aTHX_ ST(0), sub );
    SPAGAIN;
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx___App_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx___App_new)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "CLASS");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxApp *	RETVAL;
    if( !wxTheApp )
#if WXPERL_W_VERSION_LT( 2, 5, 1 )
        wxTheApp = new wxPliApp();
#else
        wxAppConsole::SetInstance( new wxPliApp() );
#endif
    RETVAL = wxTheApp;
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__App_Dispatch); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__App_Dispatch)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxApp *    THIS = (wxApp *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::App" )
;

	THIS->Dispatch();
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__App_GetAppName); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__App_GetAppName)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxApp *    THIS = (wxApp *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::App" )
;
	wxString	RETVAL;

	RETVAL = THIS->GetAppName();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#if WXPERL_W_VERSION_GE( 2, 9, 0 )
#define XSubPPtmpAADC 1


XS_EUPXS(XS_Wx__App_GetAppDisplayName); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__App_GetAppDisplayName)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxApp *    THIS = (wxApp *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::App" )
;
	wxString	RETVAL;

	RETVAL = THIS->GetAppDisplayName();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#endif
#if defined( __WXMSW__ ) && WXPERL_W_VERSION_LT( 2, 5, 1 )
#define XSubPPtmpAADD 1


XS_EUPXS(XS_Wx__App_GetAuto3D); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__App_GetAuto3D)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxApp *    THIS = (wxApp *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::App" )
;
	bool	RETVAL;

	RETVAL = THIS->GetAuto3D();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}

#endif

XS_EUPXS(XS_Wx__App_GetClassName); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__App_GetClassName)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxApp *    THIS = (wxApp *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::App" )
;
	wxString	RETVAL;

	RETVAL = THIS->GetClassName();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__App_GetExitOnFrameDelete); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__App_GetExitOnFrameDelete)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxApp *    THIS = (wxApp *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::App" )
;
	bool	RETVAL;

	RETVAL = THIS->GetExitOnFrameDelete();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__App_GetStdIcon); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__App_GetStdIcon)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, which");
    {
	int	which = (int)SvIV(ST(1))
;
	wxApp *    THIS = (wxApp *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::App" )
;
	wxIcon *	RETVAL;
    wxString id;
    switch( which )
    {
    case wxICON_EXCLAMATION:
        id = wxART_WARNING;
        break;
    case wxICON_HAND:
        id = wxART_ERROR; 
        break;
    case wxICON_QUESTION:
        id = wxART_QUESTION;
        break;
    case wxICON_INFORMATION:
        id = wxART_INFORMATION;
        break;
    };

    RETVAL = new wxIcon( wxArtProvider::GetIcon( id, wxART_MESSAGE_BOX ) );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
    wxPli_thread_sv_register( aTHX_ "Wx::Icon", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__App_GetTopWindow); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__App_GetTopWindow)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxApp *    THIS = (wxApp *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::App" )
;
	wxWindow *	RETVAL;

	RETVAL = THIS->GetTopWindow();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__App_GetUseBestVisual); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__App_GetUseBestVisual)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxApp *    THIS = (wxApp *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::App" )
;
	bool	RETVAL;

	RETVAL = THIS->GetUseBestVisual();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__App_GetVendorName); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__App_GetVendorName)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxApp *    THIS = (wxApp *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::App" )
;
	wxString	RETVAL;

	RETVAL = THIS->GetVendorName();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#if WXPERL_W_VERSION_GE( 2, 9, 0 )
#define XSubPPtmpAADE 1


XS_EUPXS(XS_Wx__App_GetVendorDisplayName); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__App_GetVendorDisplayName)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxApp *    THIS = (wxApp *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::App" )
;
	wxString	RETVAL;

	RETVAL = THIS->GetVendorDisplayName();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#endif

XS_EUPXS(XS_Wx__App_ExitMainLoop); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__App_ExitMainLoop)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxApp *    THIS = (wxApp *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::App" )
;

	THIS->ExitMainLoop();
    }
    XSRETURN_EMPTY;
}

#if WXPERL_W_VERSION_LT( 2, 7, 0 )
#define XSubPPtmpAADF 1


XS_EUPXS(XS_Wx__App_Initialized); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__App_Initialized)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxApp *    THIS = (wxApp *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::App" )
;
	bool	RETVAL;

	RETVAL = THIS->Initialized();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}

#endif

XS_EUPXS(XS_Wx__App_MainLoop); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__App_MainLoop)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxApp *    THIS = (wxApp *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::App" )
;
	int	RETVAL;
	dXSTARG;
    RETVAL = THIS->MainLoop();
    // hack for embedded case...
#if defined( __WXMSW__ ) && WXPERL_W_VERSION_LT( 2, 5, 0 )
    wxPliApp::SetKeepGoing( (wxPliApp*) THIS, true );
#endif
    wxPliApp::DeletePendingObjects( THIS );
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__App_Pending); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__App_Pending)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxApp *    THIS = (wxApp *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::App" )
;
	bool	RETVAL;

	RETVAL = THIS->Pending();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__App_ProcessPendingEvents); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__App_ProcessPendingEvents)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxApp *    THIS = (wxApp *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::App" )
;

	THIS->ProcessPendingEvents();
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__App_SetAppName); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__App_SetAppName)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, name");
    {
	wxString	name;
	wxApp *    THIS = (wxApp *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::App" )
;

    WXSTRING_INPUT( name, wxString, ST(1) )
;

	THIS->SetAppName(name);
    }
    XSRETURN_EMPTY;
}

#if WXPERL_W_VERSION_GE( 2, 9, 0 )
#define XSubPPtmpAADG 1


XS_EUPXS(XS_Wx__App_SetAppDisplayName); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__App_SetAppDisplayName)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, name");
    {
	wxString	name;
	wxApp *    THIS = (wxApp *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::App" )
;

    WXSTRING_INPUT( name, wxString, ST(1) )
;

	THIS->SetAppDisplayName(name);
    }
    XSRETURN_EMPTY;
}

#endif
#if defined( __WXMSW__ ) && WXPERL_W_VERSION_LT( 2, 5, 0 )
#define XSubPPtmpAADH 1


XS_EUPXS(XS_Wx__App_SetAuto3D); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__App_SetAuto3D)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, auto3d");
    {
	bool	auto3d = (bool)SvTRUE(ST(1))
;
	wxApp *    THIS = (wxApp *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::App" )
;

	THIS->SetAuto3D(auto3d);
    }
    XSRETURN_EMPTY;
}

#endif

XS_EUPXS(XS_Wx__App_SetClassName); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__App_SetClassName)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, name");
    {
	wxString	name;
	wxApp *    THIS = (wxApp *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::App" )
;

    WXSTRING_INPUT( name, wxString, ST(1) )
;

	THIS->SetClassName(name);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__App_SetExitOnFrameDelete); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__App_SetExitOnFrameDelete)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, flag");
    {
	bool	flag = (bool)SvTRUE(ST(1))
;
	wxApp *    THIS = (wxApp *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::App" )
;

	THIS->SetExitOnFrameDelete(flag);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__App_SetTopWindow); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__App_SetTopWindow)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, window");
    {
	wxWindow*    window = (wxWindow *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Window" )
;
	wxApp *    THIS = (wxApp *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::App" )
;

	THIS->SetTopWindow(window);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__App_SetVendorName); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__App_SetVendorName)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, name");
    {
	wxString	name;
	wxApp *    THIS = (wxApp *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::App" )
;

    WXSTRING_INPUT( name, wxString, ST(1) )
;

	THIS->SetVendorName(name);
    }
    XSRETURN_EMPTY;
}

#if WXPERL_W_VERSION_GE( 2, 9, 0 )
#define XSubPPtmpAADI 1


XS_EUPXS(XS_Wx__App_SetVendorDisplayName); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__App_SetVendorDisplayName)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, name");
    {
	wxString	name;
	wxApp *    THIS = (wxApp *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::App" )
;

    WXSTRING_INPUT( name, wxString, ST(1) )
;

	THIS->SetVendorDisplayName(name);
    }
    XSRETURN_EMPTY;
}

#endif

XS_EUPXS(XS_Wx__App_SetUseBestVisual); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__App_SetUseBestVisual)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, flag");
    {
	bool	flag = (bool)SvTRUE(ST(1))
;
	wxApp *    THIS = (wxApp *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::App" )
;

	THIS->SetUseBestVisual(flag);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__App_Yield); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__App_Yield)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "THIS, onlyifneeded = false");
    {
	bool	onlyifneeded;
	wxApp *    THIS = (wxApp *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::App" )
;

	if (items < 2)
	    onlyifneeded = false;
	else {
	    onlyifneeded = (bool)SvTRUE(ST(1))
;
	}
    THIS->wxApp::Yield( onlyifneeded );
    }
    XSRETURN_EMPTY;
}

#if defined( __WXMSW__ ) && WXPERL_W_VERSION_GE( 2, 5, 0 )
#define XSubPPtmpAADJ 1


XS_EUPXS(XS_Wx__App_GetComCtl32Version); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__App_GetComCtl32Version)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
	int	RETVAL;
	dXSTARG;
    RETVAL = wxApp::GetComCtl32Version();
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}

#endif
#if WXPERL_W_VERSION_GE( 2, 5, 2 )
#define XSubPPtmpAADK 1


XS_EUPXS(XS_Wx__App_Exit); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__App_Exit)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxApp *    THIS = (wxApp *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::App" )
;

	THIS->Exit();
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__App_ProcessIdle); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__App_ProcessIdle)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxApp *    THIS = (wxApp *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::App" )
;
	bool	RETVAL;

	RETVAL = THIS->ProcessIdle();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}

#if WXPERL_W_VERSION_LT( 2, 9, 2 )
#define XSubPPtmpAADL 1


XS_EUPXS(XS_Wx__App_SendIdleEvents); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__App_SendIdleEvents)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, window, event");
    {
	wxWindow*    window = (wxWindow *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Window" )
;
	wxIdleEvent*    event = (wxIdleEvent *) wxPli_sv_2_object( aTHX_ ST(2), "Wx::IdleEvent" )
;
	wxApp *    THIS = (wxApp *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::App" )
;
	bool	RETVAL;

	RETVAL = THIS->SendIdleEvents(window, *event);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}

#endif

XS_EUPXS(XS_Wx__App_IsActive); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__App_IsActive)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxApp *    THIS = (wxApp *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::App" )
;
	bool	RETVAL;

	RETVAL = THIS->IsActive();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}

#endif
#if WXPERL_W_VERSION_GE( 2, 7, 1 )
#define XSubPPtmpAADM 1


XS_EUPXS(XS_Wx__App_GetLayoutDirection); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__App_GetLayoutDirection)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxApp *    THIS = (wxApp *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::App" )
;
	wxLayoutDirection	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetLayoutDirection();
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}

#endif

XS_EUPXS(XS_Wx__App_GetInstance); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__App_GetInstance)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
	wxApp *	RETVAL;
    RETVAL = (wxApp*)wxApp::GetInstance();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__App_SetInstance); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__App_SetInstance)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "app");
    {
	wxApp*    app = (wxApp *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::App" )
;
    wxApp::SetInstance( app );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__App_IsMainLoopRunning); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__App_IsMainLoopRunning)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxApp *    THIS = (wxApp *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::App" )
;
	bool	RETVAL;

	RETVAL = THIS->IsMainLoopRunning();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}

#if ( WXPERL_W_VERSION_GE( 2, 9, 1 ) && wxDEBUG_LEVEL > 0 ) || ( WXPERL_W_VERSION_LE( 2, 9, 0) && defined(__WXDEBUG__) )
#define XSubPPtmpAADN 1


XS_EUPXS(XS_Wx__App_OnAssertFailure); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__App_OnAssertFailure)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "THIS, file, line, func, cond, msg");
    {
	wxChar*	file;
	int	line = (int)SvIV(ST(2))
;
	wxChar*	func;
	wxChar*	cond;
	wxChar*	msg;
	wxApp *    THIS = (wxApp *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::App" )
;

    WXCHAR_INPUT( file, wxChar*, ST(1) )
;

    WXCHAR_INPUT( func, wxChar*, ST(3) )
;

    WXCHAR_INPUT( cond, wxChar*, ST(4) )
;

    WXCHAR_INPUT( msg, wxChar*, ST(5) )
;
    THIS->wxApp::OnAssertFailure( file, line, func, cond, msg );
    }
    XSRETURN_EMPTY;
}

#endif
#if ( WXPERL_W_VERSION_GE( 2, 9, 4 ) )
#define XSubPPtmpAADO 1


XS_EUPXS(XS_Wx__App_HasPendingEvents); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__App_HasPendingEvents)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxApp *    THIS = (wxApp *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::App" )
;
	bool	RETVAL;

	RETVAL = THIS->HasPendingEvents();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__App_IsScheduledForDestruction); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__App_IsScheduledForDestruction)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, obj");
    {
	wxObject*    obj = (wxObject *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Object" )
;
	wxApp *    THIS = (wxApp *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::App" )
;
	bool	RETVAL;

	RETVAL = THIS->IsScheduledForDestruction(obj);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__App_ResumeProcessingOfPendingEvents); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__App_ResumeProcessingOfPendingEvents)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxApp *    THIS = (wxApp *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::App" )
;

	THIS->ResumeProcessingOfPendingEvents();
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__App_SuspendProcessingOfPendingEvents); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__App_SuspendProcessingOfPendingEvents)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxApp *    THIS = (wxApp *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::App" )
;

	THIS->SuspendProcessingOfPendingEvents();
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__App_ScheduleForDestruction); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__App_ScheduleForDestruction)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, obj");
    {
	wxObject*    obj = (wxObject *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Object" )
;
	wxApp *    THIS = (wxApp *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::App" )
;

	THIS->ScheduleForDestruction(obj);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__App_SafeYield); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__App_SafeYield)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, win, onlyIfNeeded");
    {
	wxWindow*    win = (wxWindow *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Window" )
;
	bool	onlyIfNeeded = (bool)SvTRUE(ST(2))
;
	wxApp *    THIS = (wxApp *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::App" )
;
	bool	RETVAL;

	RETVAL = THIS->SafeYield(win, onlyIfNeeded);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__App_SafeYieldFor); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__App_SafeYieldFor)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, win, eventsToProcess");
    {
	wxWindow*    win = (wxWindow *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Window" )
;
	long	eventsToProcess = (long)SvIV(ST(2))
;
	wxApp *    THIS = (wxApp *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::App" )
;
	bool	RETVAL;

	RETVAL = THIS->SafeYieldFor(win, eventsToProcess);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__App_SetNativeTheme); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__App_SetNativeTheme)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, theme");
    {
	wxString	theme;
	wxApp *    THIS = (wxApp *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::App" )
;
	bool	RETVAL;

    WXSTRING_INPUT( theme, wxString, ST(1) )
;

	RETVAL = THIS->SetNativeTheme(theme);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}

#if defined(__WXOSX_COCOA__)
#define XSubPPtmpAADP 1


XS_EUPXS(XS_Wx__App_MacOpenFiles); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__App_MacOpenFiles)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, fileNames");
    {
	wxArrayString	fileNames;
	wxApp *    THIS = (wxApp *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::App" )
;

    wxPli_av_2_arraystring( aTHX_ ST(1), & fileNames )
;

	THIS->MacOpenFiles(fileNames);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__App_MacOpenFile); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__App_MacOpenFile)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, fileName");
    {
	wxString	fileName;
	wxApp *    THIS = (wxApp *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::App" )
;

    WXSTRING_INPUT( fileName, wxString, ST(1) )
;

	THIS->MacOpenFile(fileName);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__App_MacOpenURL); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__App_MacOpenURL)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, url");
    {
	wxString	url;
	wxApp *    THIS = (wxApp *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::App" )
;

    WXSTRING_INPUT( url, wxString, ST(1) )
;

	THIS->MacOpenURL(url);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__App_MacPrintFile); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__App_MacPrintFile)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, fileName");
    {
	wxString	fileName;
	wxApp *    THIS = (wxApp *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::App" )
;

    WXSTRING_INPUT( fileName, wxString, ST(1) )
;

	THIS->MacPrintFile(fileName);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__App_MacNewFile); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__App_MacNewFile)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxApp *    THIS = (wxApp *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::App" )
;

	THIS->MacNewFile();
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__App_MacReopenApp); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__App_MacReopenApp)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxApp *    THIS = (wxApp *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::App" )
;

	THIS->MacReopenApp();
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__App_MacHideApp); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__App_MacHideApp)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxApp *    THIS = (wxApp *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::App" )
;

	THIS->MacHideApp();
    }
    XSRETURN_EMPTY;
}

#endif
#endif

/* INCLUDE: Returning to 'Wx.xs' from 'XS/App.xs' */


/* INCLUDE_COMMAND:  Including output of '/usr/bin/perl -I./ -MExtUtils::XSpp::Cmd -e xspp -- -t typemap.xsp XS/FontEnumerator.xsp' from 'Wx.xs' */

#include <exception>

#undef  xsp_constructor_class
#define xsp_constructor_class(c) (c)
#include <wx/fontenum.h>
#include "xspp/wxplfontenumerator.h"

XS_EUPXS(XS_Wx__FontEnumerator_CLONE); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__FontEnumerator_CLONE)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "CLASS");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
    wxPli_thread_sv_clone( aTHX_ CLASS, (wxPliCloneSV)wxPli_detach_object );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__FontEnumerator_EnumerateFacenames); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__FontEnumerator_EnumerateFacenames)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 3)
       croak_xs_usage(cv,  "THIS, encoding= wxFONTENCODING_SYSTEM, fixedWidthOnly= false");
    {
	wxFontEnumerator *    THIS = (wxFontEnumerator *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::FontEnumerator" )
;
	bool	RETVAL;
	wxFontEncoding	encoding;
	bool	fixedWidthOnly;

	if (items < 2)
	    encoding = wxFONTENCODING_SYSTEM;
	else {
	    encoding = (wxFontEncoding)SvIV(ST(1))
;
	}

	if (items < 3)
	    fixedWidthOnly = false;
	else {
	    fixedWidthOnly = (bool)SvTRUE(ST(2))
;
	}
    try {
      RETVAL = THIS->EnumerateFacenames( encoding, fixedWidthOnly );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__FontEnumerator_EnumerateEncodings); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__FontEnumerator_EnumerateEncodings)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "THIS, facename= wxEmptyString");
    {
	wxFontEnumerator *    THIS = (wxFontEnumerator *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::FontEnumerator" )
;
	bool	RETVAL;
	wxString	facename;

	if (items < 2)
	    facename = wxEmptyString;
	else {
    WXSTRING_INPUT( facename, wxString, ST(1) )
;
	}
    try {
      RETVAL = THIS->EnumerateEncodings( facename );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__FontEnumerator_OnFacename); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__FontEnumerator_OnFacename)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, facename");
    {
	wxFontEnumerator *    THIS = (wxFontEnumerator *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::FontEnumerator" )
;
	bool	RETVAL;
	wxString	facename;

    WXSTRING_INPUT( facename, wxString, ST(1) )
;
    try {
      RETVAL = THIS->OnFacename( facename );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__FontEnumerator_OnFontEncoding); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__FontEnumerator_OnFontEncoding)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, facename, encoding");
    {
	wxFontEnumerator *    THIS = (wxFontEnumerator *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::FontEnumerator" )
;
	bool	RETVAL;
	wxString	facename;
	wxString	encoding;

    WXSTRING_INPUT( facename, wxString, ST(1) )
;

    WXSTRING_INPUT( encoding, wxString, ST(2) )
;
    try {
      RETVAL = THIS->OnFontEncoding( facename, encoding );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__FontEnumerator_IsValidFacename); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__FontEnumerator_IsValidFacename)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "str");
    {
	bool	RETVAL;
	wxString	str;

    WXSTRING_INPUT( str, wxString, ST(0) )
;
    try {
      RETVAL = wxFontEnumerator::IsValidFacename( str );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__FontEnumerator_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__FontEnumerator_new)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "CLASS");
    {
	PlClassName    CLASS = wxPli_get_class( aTHX_ ST(0) )
;
	wxPlFontEnumerator *	RETVAL;
    RETVAL = new wxPlFontEnumerator( CLASS );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    if( RETVAL == 0 )
    {
       RETVALSV = &PL_sv_undef;
    } else {
       SvSetSV_nosteal( RETVALSV, RETVAL->GetSelf() );
       wxPli_thread_sv_register( aTHX_ "Wx::PlFontEnumerator", RETVAL, RETVALSV );
    }
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__FontEnumerator_GetEncodings); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__FontEnumerator_GetEncodings)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
    BEGIN_OVERLOAD()
        MATCH_REDISP_COUNT_ALLOWMORE_FUNCTION( wxPliOvl_s, Wx::FontEnumerator::GetEncodingsStatic, 0 )
        MATCH_REDISP_COUNT_ALLOWMORE( wxPliOvl_s, GetEncodingsMethod, 0 )
    END_OVERLOAD( Wx::FontEnumerator::GetEncodings )
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__FontEnumerator_GetEncodingsMethod); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__FontEnumerator_GetEncodingsMethod)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "THIS, facename = wxEmptyString");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	wxString	facename;
    wxArrayString enc;
	wxFontEnumerator *    THIS = (wxFontEnumerator *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::FontEnumerator" )
;

	if (items < 2)
	    facename = wxEmptyString;
	else {
    WXSTRING_INPUT( facename, wxString, ST(1) )
;
	}
    enc = THIS->GetEncodings( facename );
    PUTBACK;
    wxPli_stringarray_push( aTHX_ enc );
    SPAGAIN;
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__FontEnumerator_GetEncodingsStatic); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__FontEnumerator_GetEncodingsStatic)
{
    dVAR; dXSARGS;
    if (items < 0 || items > 1)
       croak_xs_usage(cv,  "facename = wxEmptyString");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	wxString	facename;
    wxArrayString enc;

	if (items < 1)
	    facename = wxEmptyString;
	else {
    WXSTRING_INPUT( facename, wxString, ST(0) )
;
	}
    enc = wxFontEnumerator::GetEncodings( facename );
    PUTBACK;
    wxPli_stringarray_push( aTHX_ enc );
    SPAGAIN;
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__FontEnumerator_GetFacenames); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__FontEnumerator_GetFacenames)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
    BEGIN_OVERLOAD()
        MATCH_REDISP_COUNT_ALLOWMORE_FUNCTION( wxPliOvl_n_b, Wx::FontEnumerator::GetFacenamesStatic, 0 )
        MATCH_REDISP_COUNT_ALLOWMORE( wxPliOvl_n_b, GetFacenamesMethod, 0 )
    END_OVERLOAD( Wx::FontEnumerator::GetFaceNames )
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__FontEnumerator_GetFacenamesMethod); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__FontEnumerator_GetFacenamesMethod)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 3)
       croak_xs_usage(cv,  "THIS, encoding = wxFONTENCODING_SYSTEM, fixedWidthOnly = 0");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	wxFontEncoding	encoding;
	bool	fixedWidthOnly;
    wxArrayString fnames;
	wxFontEnumerator *    THIS = (wxFontEnumerator *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::FontEnumerator" )
;

	if (items < 2)
	    encoding = wxFONTENCODING_SYSTEM;
	else {
	    encoding = (wxFontEncoding)SvIV(ST(1))
;
	}

	if (items < 3)
	    fixedWidthOnly = 0;
	else {
	    fixedWidthOnly = (bool)SvTRUE(ST(2))
;
	}
    fnames = THIS->GetFacenames( encoding, fixedWidthOnly );
    PUTBACK;
    wxPli_stringarray_push( aTHX_ fnames );
    SPAGAIN;
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__FontEnumerator_GetFacenamesStatic); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__FontEnumerator_GetFacenamesStatic)
{
    dVAR; dXSARGS;
    if (items < 0 || items > 2)
       croak_xs_usage(cv,  "encoding = wxFONTENCODING_SYSTEM, fixedWidthOnly = 0");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	wxFontEncoding	encoding;
	bool	fixedWidthOnly;
    wxArrayString fnames;

	if (items < 1)
	    encoding = wxFONTENCODING_SYSTEM;
	else {
	    encoding = (wxFontEncoding)SvIV(ST(0))
;
	}

	if (items < 2)
	    fixedWidthOnly = 0;
	else {
	    fixedWidthOnly = (bool)SvTRUE(ST(1))
;
	}
    fnames = wxFontEnumerator::GetFacenames( encoding, fixedWidthOnly );
    PUTBACK;
    wxPli_stringarray_push( aTHX_ fnames );
    SPAGAIN;
	PUTBACK;
	return;
    }
}

#if 1
#undef  xsp_constructor_class
#define xsp_constructor_class(c) (CLASS)
#define XSubPPtmpAADQ 1


XS_EUPXS(XS_Wx__PlFontEnumerator_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__PlFontEnumerator_new)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "CLASS");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxPlFontEnumerator *	RETVAL;
    RETVAL = new wxPlFontEnumerator( CLASS   );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    if( RETVAL == 0 )
    {
       RETVALSV = &PL_sv_undef;
    } else {
       SvSetSV_nosteal( RETVALSV, RETVAL->GetSelf() );
       wxPli_thread_sv_register( aTHX_ "Wx::PlFontEnumerator", RETVAL, RETVALSV );
    }
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#undef  xsp_constructor_class
#define xsp_constructor_class(c) (c)
#if 1
#define XSubPPtmpAADR 1


XS_EUPXS(XS_Wx__PlFontEnumerator_OnFacename); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__PlFontEnumerator_OnFacename)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, facename");
    {
	wxPlFontEnumerator *    THIS = (wxPlFontEnumerator *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::PlFontEnumerator" )
;
	wxString	facename;

    WXSTRING_INPUT( facename, wxString, ST(1) )
;
    try {
      THIS->base_OnFacename( facename );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
    }
    XSRETURN_EMPTY;
}

#endif // 1
#if 1
#define XSubPPtmpAADS 1


XS_EUPXS(XS_Wx__PlFontEnumerator_OnFontEncoding); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__PlFontEnumerator_OnFontEncoding)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, facename, encoding");
    {
	wxPlFontEnumerator *    THIS = (wxPlFontEnumerator *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::PlFontEnumerator" )
;
	wxString	facename;
	wxString	encoding;

    WXSTRING_INPUT( facename, wxString, ST(1) )
;

    WXSTRING_INPUT( encoding, wxString, ST(2) )
;
    try {
      THIS->base_OnFontEncoding( facename, encoding );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
    }
    XSRETURN_EMPTY;
}

#endif // 1

XS_EUPXS(XS_Wx__PlFontEnumerator_DESTROY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__PlFontEnumerator_DESTROY)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxPlFontEnumerator *    THIS = (wxPlFontEnumerator *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::PlFontEnumerator" )
;
      wxPli_thread_sv_unregister( aTHX_ wxPli_get_class( aTHX_ ST(0) ), THIS, ST(0) );
             delete THIS;
    }
    XSRETURN_EMPTY;
}

#endif // 1

/* INCLUDE: Returning to 'Wx.xs' from '/usr/bin/perl -I./ -MExtUtils::XSpp::Cmd -e xspp -- -t typemap.xsp XS/FontEnumerator.xsp' */


/* INCLUDE_COMMAND:  Including output of '/usr/bin/perl -I./ -MExtUtils::XSpp::Cmd -e xspp -- -t typemap.xsp XS/ArtProvider.xsp' from 'Wx.xs' */

#include <exception>

#undef  xsp_constructor_class
#define xsp_constructor_class(c) (c)
#if WXPERL_W_VERSION_GE( 2, 5, 2 )
#include <wx/artprov.h>
#include "xspp/artprov.h"
#define XSubPPtmpAADT 1


XS_EUPXS(XS_Wx__ArtProvider_GetBitmap); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ArtProvider_GetBitmap)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 3)
       croak_xs_usage(cv,  "id, client = wxART_OTHER, size = wxDefaultSize");
    {
	wxString	id;
	wxString	client;
	wxSize	size;
	wxBitmap *	RETVAL;

    WXSTRING_INPUT( id, wxString, ST(0) )
;

	if (items < 2)
	    client = wxART_OTHER;
	else {
    WXSTRING_INPUT( client, wxString, ST(1) )
;
	}

	if (items < 3)
	    size = wxDefaultSize;
	else {
    size = wxPli_sv_2_wxsize( aTHX_ ST(2) )
;
	}
    RETVAL = new wxBitmap( wxArtProvider::GetBitmap( id, client, size ) );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
    wxPli_thread_sv_register( aTHX_ "Wx::Bitmap", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__ArtProvider_GetIcon); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ArtProvider_GetIcon)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 3)
       croak_xs_usage(cv,  "id, client = wxART_OTHER, size = wxDefaultSize");
    {
	wxString	id;
	wxString	client;
	wxSize	size;
	wxIcon *	RETVAL;

    WXSTRING_INPUT( id, wxString, ST(0) )
;

	if (items < 2)
	    client = wxART_OTHER;
	else {
    WXSTRING_INPUT( client, wxString, ST(1) )
;
	}

	if (items < 3)
	    size = wxDefaultSize;
	else {
    size = wxPli_sv_2_wxsize( aTHX_ ST(2) )
;
	}
    RETVAL = new wxIcon( wxArtProvider::GetIcon( id, client, size ) );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
    wxPli_thread_sv_register( aTHX_ "Wx::Icon", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#if WXPERL_W_VERSION_GE( 2, 9, 0 )
#define XSubPPtmpAADU 1


XS_EUPXS(XS_Wx__ArtProvider_GetIconBundle); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ArtProvider_GetIconBundle)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "id, client = wxART_OTHER");
    {
	wxString	id;
	wxString	client;
	wxIconBundle *	RETVAL;

    WXSTRING_INPUT( id, wxString, ST(0) )
;

	if (items < 2)
	    client = wxART_OTHER;
	else {
    WXSTRING_INPUT( client, wxString, ST(1) )
;
	}
    RETVAL = new wxIconBundle( wxArtProvider::GetIconBundle( id, client ) );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::IconBundle" );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#endif

XS_EUPXS(XS_Wx__ArtProvider_PopProvider); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ArtProvider_PopProvider)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
	bool	RETVAL;
#if WXPERL_W_VERSION_GE( 2, 7, 1 )
    RETVAL = wxArtProvider::Pop();
#else
    RETVAL = wxArtProvider::PopProvider();
#endif
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__ArtProvider_PushProvider); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ArtProvider_PushProvider)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "provider");
    {
	wxArtProvider*    provider = (wxArtProvider *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ArtProvider" )
;
#if WXPERL_W_VERSION_GE( 2, 7, 1 )
    wxArtProvider::Push( provider);
#else
    wxArtProvider::PushProvider( provider);
#endif
    }
    XSRETURN_EMPTY;
}

#if WXPERL_W_VERSION_GE( 2, 7, 1 )
#define XSubPPtmpAADV 1


XS_EUPXS(XS_Wx__ArtProvider_InsertProvider); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ArtProvider_InsertProvider)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "provider");
    {
	wxArtProvider*    provider = (wxArtProvider *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ArtProvider" )
;
#if WXPERL_W_VERSION_GE( 2, 9, 0 )
    wxArtProvider::PushBack( provider);
#else
    wxArtProvider::Insert( provider);
#endif
    }
    XSRETURN_EMPTY;
}

#endif

XS_EUPXS(XS_Wx__ArtProvider_RemoveProvider); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ArtProvider_RemoveProvider)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "provider");
    {
	wxArtProvider*    provider = (wxArtProvider *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ArtProvider" )
;
	bool	RETVAL;
#if WXPERL_W_VERSION_GE( 2, 7, 1 )
    RETVAL = wxArtProvider::Remove( provider );
#else
    RETVAL = wxArtProvider::RemoveProvider( provider );
#endif
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}

#if WXPERL_W_VERSION_GE( 2, 7, 2 )
#define XSubPPtmpAADW 1


XS_EUPXS(XS_Wx__ArtProvider_DeleteProvider); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ArtProvider_DeleteProvider)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "provider");
    {
	wxArtProvider*    provider = (wxArtProvider *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ArtProvider" )
;
	bool	RETVAL;
    RETVAL = wxArtProvider::Delete( provider );
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}

#endif

XS_EUPXS(XS_Wx__PlArtProvider_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__PlArtProvider_new)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "CLASS");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxPlArtProvider *	RETVAL;
    RETVAL = new wxPlArtProvider( CLASS );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__PlArtProvider_CreateBitmap); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__PlArtProvider_CreateBitmap)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "THIS, id, client, size");
    {
	wxPlArtProvider *    THIS = (wxPlArtProvider *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::PlArtProvider" )
;
	wxBitmap *	RETVAL;
	wxString	id;
	wxString	client;
	wxSize    size = wxPli_sv_2_wxsize( aTHX_ ST(3) )
;

    WXSTRING_INPUT( id, wxString, ST(1) )
;

    WXSTRING_INPUT( client, wxString, ST(2) )
;
    try {
      RETVAL = new wxBitmap( THIS->CreateBitmap( id, client, size ) );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
    wxPli_thread_sv_register( aTHX_ "Wx::Bitmap", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#endif

/* INCLUDE: Returning to 'Wx.xs' from '/usr/bin/perl -I./ -MExtUtils::XSpp::Cmd -e xspp -- -t typemap.xsp XS/ArtProvider.xsp' */


/* INCLUDE_COMMAND:  Including output of '/usr/bin/perl -I./ -MExtUtils::XSpp::Cmd -e xspp -- -t typemap.xsp XS/MimeTypes.xsp' from 'Wx.xs' */

#include <exception>

#undef  xsp_constructor_class
#define xsp_constructor_class(c) (c)
#if wxUSE_MIMETYPE
#include <wx/mimetype.h>
#if WXPERL_W_VERSION_GE( 2, 5, 2 )
#define XSpp_faf692ca_045765
#define XSubPPtmpAADX 1


XS_EUPXS(XS_Wx__IconLocation_IsOk); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__IconLocation_IsOk)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxIconLocation *    THIS = (wxIconLocation *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::IconLocation" )
;
	bool	RETVAL;
    try {
      RETVAL = THIS->IsOk();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}

#endif
#define XSubPPtmpAADY 1


XS_EUPXS(XS_Wx__FileTypeInfo_IsValid); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__FileTypeInfo_IsValid)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxFileTypeInfo *    THIS = (wxFileTypeInfo *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::FileTypeInfo" )
;
	bool	RETVAL;
    try {
      RETVAL = THIS->IsValid();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__FileTypeInfo_SetIcon); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__FileTypeInfo_SetIcon)
{
    dVAR; dXSARGS;
    if (items < 2 || items > 3)
       croak_xs_usage(cv,  "THIS, iconFile, iconIndex= 0");
    {
	wxFileTypeInfo *    THIS = (wxFileTypeInfo *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::FileTypeInfo" )
;
	wxString	iconFile;
	int	iconIndex;

    WXSTRING_INPUT( iconFile, wxString, ST(1) )
;

	if (items < 3)
	    iconIndex = 0;
	else {
	    iconIndex = (int)SvIV(ST(2))
;
	}
    try {
      THIS->SetIcon( iconFile, iconIndex );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__FileTypeInfo_SetShortDesc); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__FileTypeInfo_SetShortDesc)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, shortDesc");
    {
	wxFileTypeInfo *    THIS = (wxFileTypeInfo *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::FileTypeInfo" )
;
	wxString	shortDesc;

    WXSTRING_INPUT( shortDesc, wxString, ST(1) )
;
    try {
      THIS->SetShortDesc( shortDesc );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__FileTypeInfo_GetMimeType); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__FileTypeInfo_GetMimeType)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxFileTypeInfo *    THIS = (wxFileTypeInfo *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::FileTypeInfo" )
;
	wxString	RETVAL;
    try {
      RETVAL = THIS->GetMimeType();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__FileTypeInfo_GetOpenCommand); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__FileTypeInfo_GetOpenCommand)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxFileTypeInfo *    THIS = (wxFileTypeInfo *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::FileTypeInfo" )
;
	wxString	RETVAL;
    try {
      RETVAL = THIS->GetOpenCommand();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__FileTypeInfo_GetPrintCommand); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__FileTypeInfo_GetPrintCommand)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxFileTypeInfo *    THIS = (wxFileTypeInfo *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::FileTypeInfo" )
;
	wxString	RETVAL;
    try {
      RETVAL = THIS->GetPrintCommand();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__FileTypeInfo_GetShortDesc); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__FileTypeInfo_GetShortDesc)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxFileTypeInfo *    THIS = (wxFileTypeInfo *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::FileTypeInfo" )
;
	wxString	RETVAL;
    try {
      RETVAL = THIS->GetShortDesc();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__FileTypeInfo_GetDescription); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__FileTypeInfo_GetDescription)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxFileTypeInfo *    THIS = (wxFileTypeInfo *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::FileTypeInfo" )
;
	wxString	RETVAL;
    try {
      RETVAL = THIS->GetDescription();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__FileTypeInfo_GetExtensionsCount); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__FileTypeInfo_GetExtensionsCount)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxFileTypeInfo *    THIS = (wxFileTypeInfo *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::FileTypeInfo" )
;
	int	RETVAL;
	dXSTARG;
    try {
      RETVAL = THIS->GetExtensionsCount();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__FileTypeInfo_GetIconFile); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__FileTypeInfo_GetIconFile)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxFileTypeInfo *    THIS = (wxFileTypeInfo *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::FileTypeInfo" )
;
	wxString	RETVAL;
    try {
      RETVAL = THIS->GetIconFile();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__FileTypeInfo_GetIconIndex); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__FileTypeInfo_GetIconIndex)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxFileTypeInfo *    THIS = (wxFileTypeInfo *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::FileTypeInfo" )
;
	int	RETVAL;
	dXSTARG;
    try {
      RETVAL = THIS->GetIconIndex();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__FileTypeInfo_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__FileTypeInfo_new)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "CLASS, strings");
    {
	wxArrayString	strings;
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxFileTypeInfo *	RETVAL;

    wxPli_av_2_arraystring( aTHX_ ST(1), & strings )
;

	RETVAL = new wxFileTypeInfo(strings);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::FileTypeInfo" );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__FileTypeInfo_GetExtensions); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__FileTypeInfo_GetExtensions)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	wxFileTypeInfo *    THIS = (wxFileTypeInfo *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::FileTypeInfo" )
;
    const wxArrayString& extensions = THIS->GetExtensions();
    PUTBACK;
    wxPli_stringarray_push( aTHX_ extensions );
    SPAGAIN;
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__FileType_GetMimeTypes); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__FileType_GetMimeTypes)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
    wxArrayString mimeTypes;
	wxFileType *    THIS = (wxFileType *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::FileType" )
;
    bool ok = THIS->GetMimeTypes( mimeTypes );
    if( ok )
    {
        PUTBACK;
        wxPli_stringarray_push( aTHX_ mimeTypes );
        SPAGAIN;
    }
    else
        XSRETURN_EMPTY;
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__FileType_GetMimeType); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__FileType_GetMimeType)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
    wxString mimeType;
	wxFileType *    THIS = (wxFileType *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::FileType" )
;
    bool ok = THIS->GetMimeType( &mimeType );
    if( ok )
    {
        XPUSHs( wxPli_wxString_2_sv( aTHX_ mimeType, sv_newmortal() ) );
    }
    else
        XSRETURN_EMPTY;
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__FileType_GetExtensions); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__FileType_GetExtensions)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
    wxArrayString extensions;
	wxFileType *    THIS = (wxFileType *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::FileType" )
;
    bool ok = THIS->GetExtensions( extensions );
    if( ok )
    {
        PUTBACK;
        wxPli_stringarray_push( aTHX_ extensions );
        SPAGAIN;
    }
    else
        XSRETURN_EMPTY;
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__FileType_GetIcon); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__FileType_GetIcon)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
#if WXPERL_W_VERSION_GE( 2, 5, 2 )
    wxIconLocation iconLoc;
#else
    wxIcon iconLoc;
#endif
	wxFileType *    THIS = (wxFileType *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::FileType" )
;
    bool ok = THIS->GetIcon( &iconLoc );
    if( ok )
    {
#if WXPERL_W_VERSION_GE( 2, 5, 2 )
        XPUSHs( wxPli_non_object_2_sv( aTHX_ sv_newmortal(),
                                       new wxIconLocation( iconLoc ),
                                       "Wx::IconLocation" ) );
#else
        XPUSHs( wxPli_non_object_2_sv( aTHX_ sv_newmortal(),
                                       new wxIcon( iconLoc ),
                                       "Wx::Icon" ) );
#endif
    }
    else
        XSRETURN_EMPTY;
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__FileType_GetDescription); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__FileType_GetDescription)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
    wxString desc;
	wxFileType *    THIS = (wxFileType *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::FileType" )
;
    bool ok = THIS->GetDescription( &desc );
    if( ok )
    {
        XPUSHs( wxPli_wxString_2_sv( aTHX_ desc, sv_newmortal() ) );
    }
    else
        XSRETURN_EMPTY;
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__FileType_GetOpenCommand); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__FileType_GetOpenCommand)
{
    dVAR; dXSARGS;
    if (items < 2 || items > 3)
       croak_xs_usage(cv,  "THIS, file, mimeType = wxEmptyString");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	wxString	file;
	wxString	mimeType;
    wxString command;
	wxFileType *    THIS = (wxFileType *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::FileType" )
;

    WXSTRING_INPUT( file, wxString, ST(1) )
;

	if (items < 3)
	    mimeType = wxEmptyString;
	else {
    WXSTRING_INPUT( mimeType, wxString, ST(2) )
;
	}
    bool ok = THIS->GetOpenCommand( &command,
                                    wxFileType::MessageParameters
                                        ( file, mimeType ) );
    if( ok )
        XPUSHs( wxPli_wxString_2_sv( aTHX_ command, sv_newmortal() ) );
    else
        XSRETURN_EMPTY;
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__FileType_GetPrintCommand); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__FileType_GetPrintCommand)
{
    dVAR; dXSARGS;
    if (items < 2 || items > 3)
       croak_xs_usage(cv,  "THIS, file, mimeType = wxEmptyString");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	wxString	file;
	wxString	mimeType;
    wxString command;
	wxFileType *    THIS = (wxFileType *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::FileType" )
;

    WXSTRING_INPUT( file, wxString, ST(1) )
;

	if (items < 3)
	    mimeType = wxEmptyString;
	else {
    WXSTRING_INPUT( mimeType, wxString, ST(2) )
;
	}
    bool ok = THIS->GetPrintCommand( &command,
                                     wxFileType::MessageParameters
                                         ( file, mimeType ) );
    if( ok )
        XPUSHs( wxPli_wxString_2_sv( aTHX_ command, sv_newmortal() ) );
    else
        XSRETURN_EMPTY;
	PUTBACK;
	return;
    }
}

#undef  xsp_constructor_class
#define xsp_constructor_class(c) (CLASS)

XS_EUPXS(XS_Wx__MimeTypesManager_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MimeTypesManager_new)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "CLASS");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxMimeTypesManager *	RETVAL;
    try {
      RETVAL = new wxMimeTypesManager();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::MimeTypesManager" );
    wxPli_thread_sv_register( aTHX_ "Wx::MimeTypesManager", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#undef  xsp_constructor_class
#define xsp_constructor_class(c) (c)

XS_EUPXS(XS_Wx__MimeTypesManager_CLONE); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MimeTypesManager_CLONE)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "CLASS");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
    wxPli_thread_sv_clone( aTHX_ CLASS, (wxPliCloneSV)wxPli_detach_object );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__MimeTypesManager_DESTROY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MimeTypesManager_DESTROY)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxMimeTypesManager *    THIS = (wxMimeTypesManager *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MimeTypesManager" )
;
     wxPli_thread_sv_unregister( aTHX_ "Wx::MimeTypesManager", THIS, ST(0) );
                delete THIS;
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__MimeTypesManager_AddFallbacks); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MimeTypesManager_AddFallbacks)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, fallbacks");
    {
	wxMimeTypesManager *    THIS = (wxMimeTypesManager *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MimeTypesManager" )
;
	wxFileTypeInfo*    fallbacks = (wxFileTypeInfo *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::FileTypeInfo" )
;
    try {
      THIS->AddFallbacks( fallbacks );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__MimeTypesManager_GetFileTypeFromExtension); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MimeTypesManager_GetFileTypeFromExtension)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, extension");
    {
	wxMimeTypesManager *    THIS = (wxMimeTypesManager *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MimeTypesManager" )
;
	wxFileType *	RETVAL;
	wxString	extension;

    WXSTRING_INPUT( extension, wxString, ST(1) )
;
    try {
      RETVAL = THIS->GetFileTypeFromExtension( extension );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::FileType" );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__MimeTypesManager_GetFileTypeFromMimeType); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MimeTypesManager_GetFileTypeFromMimeType)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, mimeType");
    {
	wxMimeTypesManager *    THIS = (wxMimeTypesManager *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MimeTypesManager" )
;
	wxFileType *	RETVAL;
	wxString	mimeType;

    WXSTRING_INPUT( mimeType, wxString, ST(1) )
;
    try {
      RETVAL = THIS->GetFileTypeFromMimeType( mimeType );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::FileType" );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__MimeTypesManager_IsOfType); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MimeTypesManager_IsOfType)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, mimeType, wildcard");
    {
	wxMimeTypesManager *    THIS = (wxMimeTypesManager *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MimeTypesManager" )
;
	bool	RETVAL;
	wxString	mimeType;
	wxString	wildcard;

    WXSTRING_INPUT( mimeType, wxString, ST(1) )
;

    WXSTRING_INPUT( wildcard, wxString, ST(2) )
;
    try {
      RETVAL = THIS->IsOfType( mimeType, wildcard );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}

#if WXPERL_W_VERSION_LT( 2, 9, 0 )
#define XSpp_faf692ca_075199
#define XSubPPtmpAADZ 1


XS_EUPXS(XS_Wx__MimeTypesManager_ReadMailcap); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MimeTypesManager_ReadMailcap)
{
    dVAR; dXSARGS;
    if (items < 2 || items > 3)
       croak_xs_usage(cv,  "THIS, filename, fallback= false");
    {
	wxMimeTypesManager *    THIS = (wxMimeTypesManager *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MimeTypesManager" )
;
	bool	RETVAL;
	wxString	filename;
	bool	fallback;

    WXSTRING_INPUT( filename, wxString, ST(1) )
;

	if (items < 3)
	    fallback = false;
	else {
	    fallback = (bool)SvTRUE(ST(2))
;
	}
    try {
      RETVAL = THIS->ReadMailcap( filename, fallback );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__MimeTypesManager_ReadMimeTypes); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__MimeTypesManager_ReadMimeTypes)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, filename");
    {
	wxMimeTypesManager *    THIS = (wxMimeTypesManager *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::MimeTypesManager" )
;
	bool	RETVAL;
	wxString	filename;

    WXSTRING_INPUT( filename, wxString, ST(1) )
;
    try {
      RETVAL = THIS->ReadMimeTypes( filename );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}

#endif
#endif // wxUSE_MIMETYPE

/* INCLUDE: Returning to 'Wx.xs' from '/usr/bin/perl -I./ -MExtUtils::XSpp::Cmd -e xspp -- -t typemap.xsp XS/MimeTypes.xsp' */


/* INCLUDE_COMMAND:  Including output of '/usr/bin/perl -I./ -MExtUtils::XSpp::Cmd -e xspp -- -t typemap.xsp XS/Sound.xsp' from 'Wx.xs' */

#include <exception>

#undef  xsp_constructor_class
#define xsp_constructor_class(c) (c)
#if WXPERL_W_VERSION_GE( 2, 5, 1 )
#include <wx/sound.h>
#undef  xsp_constructor_class
#define xsp_constructor_class(c) (CLASS)
#define XSubPPtmpAAEA 1


XS_EUPXS(XS_Wx__Sound_newDefault); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Sound_newDefault)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "CLASS");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxSound *	RETVAL;
    try {
      RETVAL = new wxSound();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::Sound" );
    wxPli_thread_sv_register( aTHX_ "Wx::Sound", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#undef  xsp_constructor_class
#define xsp_constructor_class(c) (c)
#undef  xsp_constructor_class
#define xsp_constructor_class(c) (CLASS)

XS_EUPXS(XS_Wx__Sound_newFile); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Sound_newFile)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "CLASS, fileName");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxSound *	RETVAL;
	wxString	fileName;

    WXSTRING_INPUT( fileName, wxString, ST(1) )
;
    try {
      RETVAL = new wxSound( fileName );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::Sound" );
    wxPli_thread_sv_register( aTHX_ "Wx::Sound", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#undef  xsp_constructor_class
#define xsp_constructor_class(c) (c)

XS_EUPXS(XS_Wx__Sound_CLONE); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Sound_CLONE)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "CLASS");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
    wxPli_thread_sv_clone( aTHX_ CLASS, (wxPliCloneSV)wxPli_detach_object );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Sound_DESTROY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Sound_DESTROY)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxSound *    THIS = (wxSound *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Sound" )
;
     wxPli_thread_sv_unregister( aTHX_ "Wx::Sound", THIS, ST(0) );
                delete THIS;
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Sound_Create); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Sound_Create)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, fileName");
    {
	wxSound *    THIS = (wxSound *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Sound" )
;
	bool	RETVAL;
	wxString	fileName;

    WXSTRING_INPUT( fileName, wxString, ST(1) )
;
    try {
      RETVAL = THIS->Create( fileName );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Sound_Play); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Sound_Play)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "THIS, flags= wxSOUND_ASYNC");
    {
	wxSound *    THIS = (wxSound *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Sound" )
;
	bool	RETVAL;
	unsigned int	flags;

	if (items < 2)
	    flags = wxSOUND_ASYNC;
	else {
    flags = (unsigned int)SvUV( ST(1) )
;
	}
    try {
      RETVAL = THIS->Play( flags );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Sound_IsOk); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Sound_IsOk)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxSound *    THIS = (wxSound *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Sound" )
;
	bool	RETVAL;
    try {
      RETVAL = THIS->IsOk();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Sound_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Sound_new)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
    BEGIN_OVERLOAD()
        MATCH_VOIDM_REDISP( newDefault )
        MATCH_ANY_REDISP( newFile )
    END_OVERLOAD( "Wx::Choicebook::new" )
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__Sound_newData); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Sound_newData)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, data");
    {
	SV*	data = ST(1)
;
	wxSound *    THIS = (wxSound *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Sound" )
;
	wxSound *	RETVAL;
    STRLEN len;
    const wxByte* buffer = (wxByte*) SvPV( data, len );
    RETVAL = new wxSound( len, buffer );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::Sound" );
    wxPli_thread_sv_register( aTHX_ "Wx::Sound", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#if !defined(__WXMAC__)
#define XSubPPtmpAAEB 1


XS_EUPXS(XS_Wx__Sound_CreateData); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Sound_CreateData)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, data");
    {
	SV*	data = ST(1)
;
	wxSound *    THIS = (wxSound *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Sound" )
;
	bool	RETVAL;
    STRLEN len;
    const wxByte* buffer = (wxByte*) SvPV( data, len );
    RETVAL = THIS->Create( len, buffer );
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}

#endif

XS_EUPXS(XS_Wx__Sound_Stop); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Sound_Stop)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
    wxSound::Stop();
    }
    XSRETURN_EMPTY;
}

#if !defined( __WXMSW__ )
#define XSubPPtmpAAEC 1


XS_EUPXS(XS_Wx__Sound_IsPlaying); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Sound_IsPlaying)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
	bool	RETVAL;
    RETVAL = wxSound::IsPlaying();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}

#endif
#endif

/* INCLUDE: Returning to 'Wx.xs' from '/usr/bin/perl -I./ -MExtUtils::XSpp::Cmd -e xspp -- -t typemap.xsp XS/Sound.xsp' */


/* INCLUDE_COMMAND:  Including output of '/usr/bin/perl -I./ -MExtUtils::XSpp::Cmd -e xspp -- -t typemap.xsp XS/Power.xsp' from 'Wx.xs' */

#include <exception>

#undef  xsp_constructor_class
#define xsp_constructor_class(c) (c)
#if WXPERL_W_VERSION_GE( 2, 7, 0 )
#include <wx/power.h>
#ifdef wxHAS_POWER_EVENTS
#define XSubPPtmpAAED 1


XS_EUPXS(XS_Wx__PowerEvent_Veto); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__PowerEvent_Veto)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxPowerEvent *    THIS = (wxPowerEvent *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::PowerEvent" )
;
    try {
      THIS->Veto();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__PowerEvent_IsVetoed); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__PowerEvent_IsVetoed)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxPowerEvent *    THIS = (wxPowerEvent *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::PowerEvent" )
;
	bool	RETVAL;
    try {
      RETVAL = THIS->IsVetoed();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}

#endif
#define XSubPPtmpAAEE 1


XS_EUPXS(XS_Wx_GetPowerType); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_GetPowerType)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
	wxPowerType	RETVAL;
	dXSTARG;
    try {
      RETVAL = wxGetPowerType();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx_GetBatteryState); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx_GetBatteryState)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
	wxBatteryState	RETVAL;
	dXSTARG;
    try {
      RETVAL = wxGetBatteryState();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}

#endif

/* INCLUDE: Returning to 'Wx.xs' from '/usr/bin/perl -I./ -MExtUtils::XSpp::Cmd -e xspp -- -t typemap.xsp XS/Power.xsp' */


/* INCLUDE_COMMAND:  Including output of '/usr/bin/perl -I./ -MExtUtils::XSpp::Cmd -e xspp -- -t typemap.xsp XS/ClassInfo.xsp' from 'Wx.xs' */

#include <exception>

#undef  xsp_constructor_class
#define xsp_constructor_class(c) (c)

XS_EUPXS(XS_Wx__ClassInfo_FindClass); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ClassInfo_FindClass)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "name");
    {
	wxString	name;
	wxClassInfo *	RETVAL;

    WXSTRING_INPUT( name, wxString, ST(0) )
;
    RETVAL = wxClassInfo::FindClass( name );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::ClassInfo" );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__ClassInfo_GetBaseClassName1); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ClassInfo_GetBaseClassName1)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxClassInfo *    THIS = (wxClassInfo *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ClassInfo" )
;
	const wxChar *	RETVAL;

	RETVAL = THIS->GetBaseClassName1();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXCHAR_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__ClassInfo_GetBaseClassName2); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ClassInfo_GetBaseClassName2)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxClassInfo *    THIS = (wxClassInfo *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ClassInfo" )
;
	const wxChar *	RETVAL;

	RETVAL = THIS->GetBaseClassName2();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXCHAR_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__ClassInfo_GetClassName); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ClassInfo_GetClassName)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxClassInfo *    THIS = (wxClassInfo *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ClassInfo" )
;
	const wxChar *	RETVAL;

	RETVAL = THIS->GetClassName();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXCHAR_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__ClassInfo_GetNext); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ClassInfo_GetNext)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxClassInfo *    THIS = (wxClassInfo *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ClassInfo" )
;
	wxClassInfo *	RETVAL;
    RETVAL = (wxClassInfo*)THIS->GetNext();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::ClassInfo" );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__ClassInfo_GetFirst); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ClassInfo_GetFirst)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
	wxClassInfo *	RETVAL;
    RETVAL = (wxClassInfo*)wxClassInfo::GetFirst();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::ClassInfo" );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#if wxUSE_EXTENDED_RTTI
#define XSpp_8b41e7b5_014289
#define XSubPPtmpAAEF 1


XS_EUPXS(XS_Wx__ClassInfo_GetParents); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ClassInfo_GetParents)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	wxClassInfo *    THIS = (wxClassInfo *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ClassInfo" )
;
    const wxClassInfo** parents = THIS->GetParents();
    while( *parents )
        XPUSHs( wxPli_non_object_2_sv( aTHX_ sv_newmortal(),
                                       *parents, "Wx::ClassInfo" ) );
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__ClassInfo_GetFirstProperty); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ClassInfo_GetFirstProperty)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxClassInfo *    THIS = (wxClassInfo *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ClassInfo" )
;
	const wxPropertyInfo *	RETVAL;
    try {
      RETVAL = THIS->GetFirstProperty();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::PropertyInfo" );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__ClassInfo_FindPropertyInfo); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ClassInfo_FindPropertyInfo)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, name");
    {
	wxClassInfo *    THIS = (wxClassInfo *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ClassInfo" )
;
	const wxPropertyInfo *	RETVAL;
	const wxChar*	name;

    WXCHAR_INPUT( name, wxChar*, ST(1) )
;
    try {
      RETVAL = THIS->FindPropertyInfo( name );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::PropertyInfo" );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__ClassInfo_FindPropertyInfoInThisClass); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__ClassInfo_FindPropertyInfoInThisClass)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, name");
    {
	wxClassInfo *    THIS = (wxClassInfo *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::ClassInfo" )
;
	const wxPropertyInfo *	RETVAL;
	const wxChar*	name;

    WXCHAR_INPUT( name, wxChar*, ST(1) )
;
    try {
      RETVAL = THIS->FindPropertyInfoInThisClass( name );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::PropertyInfo" );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__PropertyInfo_GetDeclaringClass); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__PropertyInfo_GetDeclaringClass)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxPropertyInfo *    THIS = (wxPropertyInfo *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::PropertyInfo" )
;
	const wxClassInfo *	RETVAL;
    try {
      RETVAL = THIS->GetDeclaringClass();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::ClassInfo" );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__PropertyInfo_GetName); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__PropertyInfo_GetName)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxPropertyInfo *    THIS = (wxPropertyInfo *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::PropertyInfo" )
;
	wxString	RETVAL;
    try {
      RETVAL = THIS->GetName();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__PropertyInfo_GetFlags); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__PropertyInfo_GetFlags)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxPropertyInfo *    THIS = (wxPropertyInfo *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::PropertyInfo" )
;
	wxPropertyInfoFlags	RETVAL;
	dXSTARG;
    try {
      RETVAL = THIS->GetFlags();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__PropertyInfo_GetHelpString); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__PropertyInfo_GetHelpString)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxPropertyInfo *    THIS = (wxPropertyInfo *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::PropertyInfo" )
;
	wxString	RETVAL;
    try {
      RETVAL = THIS->GetHelpString();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__PropertyInfo_GetGroupString); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__PropertyInfo_GetGroupString)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxPropertyInfo *    THIS = (wxPropertyInfo *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::PropertyInfo" )
;
	wxString	RETVAL;
    try {
      RETVAL = THIS->GetGroupString();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__PropertyInfo_GetCollectionElementTypeInfo); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__PropertyInfo_GetCollectionElementTypeInfo)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxPropertyInfo *    THIS = (wxPropertyInfo *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::PropertyInfo" )
;
	const wxTypeInfo *	RETVAL;
    try {
      RETVAL = THIS->GetCollectionElementTypeInfo();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::TypeInfo" );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__PropertyInfo_GetTypeInfo); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__PropertyInfo_GetTypeInfo)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxPropertyInfo *    THIS = (wxPropertyInfo *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::PropertyInfo" )
;
	const wxTypeInfo *	RETVAL;
    try {
      RETVAL = THIS->GetTypeInfo();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::TypeInfo" );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__PropertyInfo_GetAccessor); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__PropertyInfo_GetAccessor)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxPropertyInfo *    THIS = (wxPropertyInfo *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::PropertyInfo" )
;
	wxPropertyAccessor *	RETVAL;
    try {
      RETVAL = THIS->GetAccessor();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::PropertyAccessor" );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__PropertyInfo_GetNext); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__PropertyInfo_GetNext)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxPropertyInfo *    THIS = (wxPropertyInfo *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::PropertyInfo" )
;
	wxPropertyInfo *	RETVAL;
    try {
      RETVAL = THIS->GetNext();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::PropertyInfo" );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__TypeInfo_GetKind); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__TypeInfo_GetKind)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxTypeInfo *    THIS = (wxTypeInfo *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::TypeInfo" )
;
	wxTypeKind	RETVAL;
	dXSTARG;
    try {
      RETVAL = THIS->GetKind();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__TypeInfo_GetTypeName); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__TypeInfo_GetTypeName)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxTypeInfo *    THIS = (wxTypeInfo *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::TypeInfo" )
;
	wxString	RETVAL;
    try {
      RETVAL = THIS->GetTypeName();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__TypeInfo_IsDelegateType); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__TypeInfo_IsDelegateType)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxTypeInfo *    THIS = (wxTypeInfo *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::TypeInfo" )
;
	bool	RETVAL;
    try {
      RETVAL = THIS->IsDelegateType();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__TypeInfo_IsCustomType); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__TypeInfo_IsCustomType)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxTypeInfo *    THIS = (wxTypeInfo *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::TypeInfo" )
;
	bool	RETVAL;
    try {
      RETVAL = THIS->IsCustomType();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__TypeInfo_IsObjectType); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__TypeInfo_IsObjectType)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxTypeInfo *    THIS = (wxTypeInfo *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::TypeInfo" )
;
	bool	RETVAL;
    try {
      RETVAL = THIS->IsObjectType();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__PropertyAccessor_HasSetter); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__PropertyAccessor_HasSetter)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxPropertyAccessor *    THIS = (wxPropertyAccessor *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::PropertyAccessor" )
;
	bool	RETVAL;
    try {
      RETVAL = THIS->HasSetter();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__PropertyAccessor_HasCollectionGetter); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__PropertyAccessor_HasCollectionGetter)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxPropertyAccessor *    THIS = (wxPropertyAccessor *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::PropertyAccessor" )
;
	bool	RETVAL;
    try {
      RETVAL = THIS->HasCollectionGetter();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__PropertyAccessor_HasGetter); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__PropertyAccessor_HasGetter)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxPropertyAccessor *    THIS = (wxPropertyAccessor *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::PropertyAccessor" )
;
	bool	RETVAL;
    try {
      RETVAL = THIS->HasGetter();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__PropertyAccessor_HasAdder); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__PropertyAccessor_HasAdder)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxPropertyAccessor *    THIS = (wxPropertyAccessor *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::PropertyAccessor" )
;
	bool	RETVAL;
    try {
      RETVAL = THIS->HasAdder();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__PropertyAccessor_GetCollectionGetterName); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__PropertyAccessor_GetCollectionGetterName)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxPropertyAccessor *    THIS = (wxPropertyAccessor *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::PropertyAccessor" )
;
	wxString	RETVAL;
    try {
      RETVAL = THIS->GetCollectionGetterName();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__PropertyAccessor_GetGetterName); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__PropertyAccessor_GetGetterName)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxPropertyAccessor *    THIS = (wxPropertyAccessor *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::PropertyAccessor" )
;
	wxString	RETVAL;
    try {
      RETVAL = THIS->GetGetterName();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__PropertyAccessor_GetSetterName); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__PropertyAccessor_GetSetterName)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxPropertyAccessor *    THIS = (wxPropertyAccessor *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::PropertyAccessor" )
;
	wxString	RETVAL;
    try {
      RETVAL = THIS->GetSetterName();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__PropertyAccessor_GetAdderName); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__PropertyAccessor_GetAdderName)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxPropertyAccessor *    THIS = (wxPropertyAccessor *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::PropertyAccessor" )
;
	wxString	RETVAL;
    try {
      RETVAL = THIS->GetAdderName();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#endif

/* INCLUDE: Returning to 'Wx.xs' from '/usr/bin/perl -I./ -MExtUtils::XSpp::Cmd -e xspp -- -t typemap.xsp XS/ClassInfo.xsp' */


/* INCLUDE_COMMAND:  Including output of '/usr/bin/perl -I./ -MExtUtils::XSpp::Cmd -e xspp -- -t typemap.xsp XS/Display.xsp' from 'Wx.xs' */

#include <exception>

#undef  xsp_constructor_class
#define xsp_constructor_class(c) (c)
#include <wx/vidmode.h>
#include <wx/display.h>
#define wxDefaultVideoModePtr (wxVideoMode*)&wxDefaultVideoMode
#undef  xsp_constructor_class
#define xsp_constructor_class(c) (CLASS)

XS_EUPXS(XS_Wx__VideoMode_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__VideoMode_new)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 5)
       croak_xs_usage(cv,  "CLASS, width= 0, height= 0, depth= 0, freq= 0");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxVideoMode *	RETVAL;
	int	width;
	int	height;
	int	depth;
	int	freq;

	if (items < 2)
	    width = 0;
	else {
	    width = (int)SvIV(ST(1))
;
	}

	if (items < 3)
	    height = 0;
	else {
	    height = (int)SvIV(ST(2))
;
	}

	if (items < 4)
	    depth = 0;
	else {
	    depth = (int)SvIV(ST(3))
;
	}

	if (items < 5)
	    freq = 0;
	else {
	    freq = (int)SvIV(ST(4))
;
	}
    try {
      RETVAL = new wxVideoMode( width, height, depth, freq );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::VideoMode" );
    wxPli_thread_sv_register( aTHX_ "Wx::VideoMode", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#undef  xsp_constructor_class
#define xsp_constructor_class(c) (c)

XS_EUPXS(XS_Wx__VideoMode_CLONE); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__VideoMode_CLONE)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "CLASS");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
    wxPli_thread_sv_clone( aTHX_ CLASS, (wxPliCloneSV)wxPli_detach_object );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__VideoMode_DESTROY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__VideoMode_DESTROY)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxVideoMode *    THIS = (wxVideoMode *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::VideoMode" )
;
      wxPli_thread_sv_unregister( aTHX_ "Wx::VideoMode", THIS, ST(0) );
                 delete THIS;
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__VideoMode_Matches); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__VideoMode_Matches)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, other");
    {
	wxVideoMode *    THIS = (wxVideoMode *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::VideoMode" )
;
	bool	RETVAL;
	wxVideoMode*    other = (wxVideoMode *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::VideoMode" )
;
    try {
      RETVAL = THIS->Matches( *( other ) );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__VideoMode_GetWidth); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__VideoMode_GetWidth)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxVideoMode *    THIS = (wxVideoMode *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::VideoMode" )
;
	int	RETVAL;
	dXSTARG;
    try {
      RETVAL = THIS->GetWidth();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__VideoMode_GetHeight); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__VideoMode_GetHeight)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxVideoMode *    THIS = (wxVideoMode *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::VideoMode" )
;
	int	RETVAL;
	dXSTARG;
    try {
      RETVAL = THIS->GetHeight();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__VideoMode_GetDepth); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__VideoMode_GetDepth)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxVideoMode *    THIS = (wxVideoMode *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::VideoMode" )
;
	int	RETVAL;
	dXSTARG;
    try {
      RETVAL = THIS->GetDepth();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__VideoMode_IsOk); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__VideoMode_IsOk)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxVideoMode *    THIS = (wxVideoMode *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::VideoMode" )
;
	bool	RETVAL;
    try {
      RETVAL = THIS->IsOk();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}

#undef  xsp_constructor_class
#define xsp_constructor_class(c) (CLASS)

XS_EUPXS(XS_Wx__Display_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Display_new)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "CLASS, n= 0");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxDisplay *	RETVAL;
	unsigned int	n;

	if (items < 2)
	    n = 0;
	else {
    n = (unsigned int)SvUV( ST(1) )
;
	}
    try {
      RETVAL = new wxDisplay( n );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::Display" );
    wxPli_thread_sv_register( aTHX_ "Wx::Display", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#undef  xsp_constructor_class
#define xsp_constructor_class(c) (c)

XS_EUPXS(XS_Wx__Display_CLONE); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Display_CLONE)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "CLASS");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
    wxPli_thread_sv_clone( aTHX_ CLASS, (wxPliCloneSV)wxPli_detach_object );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Display_DESTROY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Display_DESTROY)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxDisplay *    THIS = (wxDisplay *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Display" )
;
      wxPli_thread_sv_unregister( aTHX_ "Wx::Display", THIS, ST(0) );
                 delete THIS;
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Display_GetCount); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Display_GetCount)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
	int	RETVAL;
	dXSTARG;
    RETVAL = wxDisplay::GetCount();
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Display_GetFromPoint); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Display_GetFromPoint)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "point");
    {
	wxPoint    point = wxPli_sv_2_wxpoint( aTHX_ ST(0) )
;
	int	RETVAL;
	dXSTARG;
    RETVAL = wxDisplay::GetFromPoint( point );
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}

#if WXPERL_W_VERSION_GE( 2, 7, 0 )
#define XSubPPtmpAAEG 1


XS_EUPXS(XS_Wx__Display_GetFromWindow); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Display_GetFromWindow)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "window");
    {
	wxWindow*    window = (wxWindow *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Window" )
;
	int	RETVAL;
	dXSTARG;
    RETVAL = wxDisplay::GetFromWindow( window );
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}

#endif

XS_EUPXS(XS_Wx__Display_IsOk); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Display_IsOk)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxDisplay *    THIS = (wxDisplay *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Display" )
;
	bool	RETVAL;
    try {
      RETVAL = THIS->IsOk();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Display_GetGeometry); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Display_GetGeometry)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxDisplay *    THIS = (wxDisplay *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Display" )
;
	wxRect *	RETVAL;
    try {
      RETVAL = new wxRect( THIS->GetGeometry() );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::Rect" );
    wxPli_thread_sv_register( aTHX_ "Wx::Rect", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#if WXPERL_W_VERSION_GE( 2, 7, 2 )
#define XSpp_100d8d9d_012340
#define XSubPPtmpAAEH 1


XS_EUPXS(XS_Wx__Display_GetClientArea); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Display_GetClientArea)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxDisplay *    THIS = (wxDisplay *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Display" )
;
	wxRect *	RETVAL;
    try {
      RETVAL = new wxRect( THIS->GetClientArea() );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::Rect" );
    wxPli_thread_sv_register( aTHX_ "Wx::Rect", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#endif

XS_EUPXS(XS_Wx__Display_GetName); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Display_GetName)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxDisplay *    THIS = (wxDisplay *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Display" )
;
	wxString	RETVAL;
    try {
      RETVAL = THIS->GetName();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Display_IsPrimary); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Display_IsPrimary)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxDisplay *    THIS = (wxDisplay *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Display" )
;
	bool	RETVAL;
    try {
      RETVAL = THIS->IsPrimary();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}

#if wxUSE_DISPLAY
#define XSpp_100d8d9d_081991
#define XSubPPtmpAAEI 1


XS_EUPXS(XS_Wx__Display_GetModes); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Display_GetModes)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "THIS, videoMode = wxDefaultVideoModePtr");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	wxVideoMode*	videoMode;
	wxDisplay *    THIS = (wxDisplay *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Display" )
;

	if (items < 2)
	    videoMode = wxDefaultVideoModePtr;
	else {
    videoMode = (wxVideoMode *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::VideoMode" )
;
	}
    wxArrayVideoModes modes = THIS->GetModes( *videoMode );
    size_t mx = modes.GetCount();
    EXTEND( SP, int(mx) );
    for( size_t i = 0; i < mx; ++i )
    {
        wxVideoMode* mode = new wxVideoMode( modes[i] );
        PUSHs( wxPli_non_object_2_sv( aTHX_ sv_newmortal(),
                                      mode, "Wx::VideoMode" ) );
    }
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__Display_GetCurrentMode); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Display_GetCurrentMode)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxDisplay *    THIS = (wxDisplay *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Display" )
;
	wxVideoMode *	RETVAL;
    try {
      RETVAL = new wxVideoMode( THIS->GetCurrentMode() );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::VideoMode" );
    wxPli_thread_sv_register( aTHX_ "Wx::VideoMode", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Display_ChangeMode); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Display_ChangeMode)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "THIS, mode= wxDefaultVideoModePtr");
    {
	wxDisplay *    THIS = (wxDisplay *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Display" )
;
	bool	RETVAL;
	wxVideoMode*	mode;

	if (items < 2)
	    mode = wxDefaultVideoModePtr;
	else {
    mode = (wxVideoMode *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::VideoMode" )
;
	}
    try {
      RETVAL = THIS->ChangeMode( *( mode ) );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Display_ResetMode); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Display_ResetMode)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxDisplay *    THIS = (wxDisplay *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Display" )
;
    try {
      THIS->ResetMode();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
    }
    XSRETURN_EMPTY;
}

#endif // wxUSE_DISPLAY

/* INCLUDE: Returning to 'Wx.xs' from '/usr/bin/perl -I./ -MExtUtils::XSpp::Cmd -e xspp -- -t typemap.xsp XS/Display.xsp' */


/* INCLUDE_COMMAND:  Including output of '/usr/bin/perl -I./ -MExtUtils::XSpp::Cmd -e xspp -- -t typemap.xsp XS/StandardPaths.xsp' from 'Wx.xs' */

#include <exception>

#undef  xsp_constructor_class
#define xsp_constructor_class(c) (c)
#if WXPERL_W_VERSION_GE( 2, 6, 0 )
#define XSpp_f6a99762_018353
#include <wx/stdpaths.h>
#define ResourceCat wxStandardPathsBase::ResourceCat
#if WXPERL_W_VERSION_GE( 2, 8, 0 )
#define XSpp_f6a99762_037187
#define XSubPPtmpAAEJ 1


XS_EUPXS(XS_Wx__StandardPaths_GetExecutablePath); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__StandardPaths_GetExecutablePath)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxStandardPaths *    THIS = (wxStandardPaths *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::StandardPaths" )
;
	wxString	RETVAL;
    try {
      RETVAL = THIS->GetExecutablePath();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#endif
#define XSubPPtmpAAEK 1


XS_EUPXS(XS_Wx__StandardPaths_GetConfigDir); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__StandardPaths_GetConfigDir)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxStandardPaths *    THIS = (wxStandardPaths *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::StandardPaths" )
;
	wxString	RETVAL;
    try {
      RETVAL = THIS->GetConfigDir();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__StandardPaths_GetUserConfigDir); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__StandardPaths_GetUserConfigDir)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxStandardPaths *    THIS = (wxStandardPaths *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::StandardPaths" )
;
	wxString	RETVAL;
    try {
      RETVAL = THIS->GetUserConfigDir();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__StandardPaths_GetDataDir); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__StandardPaths_GetDataDir)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxStandardPaths *    THIS = (wxStandardPaths *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::StandardPaths" )
;
	wxString	RETVAL;
    try {
      RETVAL = THIS->GetDataDir();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__StandardPaths_GetLocalDataDir); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__StandardPaths_GetLocalDataDir)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxStandardPaths *    THIS = (wxStandardPaths *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::StandardPaths" )
;
	wxString	RETVAL;
    try {
      RETVAL = THIS->GetLocalDataDir();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__StandardPaths_GetUserDataDir); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__StandardPaths_GetUserDataDir)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxStandardPaths *    THIS = (wxStandardPaths *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::StandardPaths" )
;
	wxString	RETVAL;
    try {
      RETVAL = THIS->GetUserDataDir();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__StandardPaths_GetUserLocalDataDir); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__StandardPaths_GetUserLocalDataDir)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxStandardPaths *    THIS = (wxStandardPaths *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::StandardPaths" )
;
	wxString	RETVAL;
    try {
      RETVAL = THIS->GetUserLocalDataDir();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__StandardPaths_GetPluginsDir); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__StandardPaths_GetPluginsDir)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxStandardPaths *    THIS = (wxStandardPaths *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::StandardPaths" )
;
	wxString	RETVAL;
    try {
      RETVAL = THIS->GetPluginsDir();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#if WXPERL_W_VERSION_GE( 2, 7, 2 )
#define XSpp_f6a99762_038304
#define XSubPPtmpAAEL 1


XS_EUPXS(XS_Wx__StandardPaths_GetResourcesDir); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__StandardPaths_GetResourcesDir)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxStandardPaths *    THIS = (wxStandardPaths *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::StandardPaths" )
;
	wxString	RETVAL;
    try {
      RETVAL = THIS->GetResourcesDir();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__StandardPaths_GetLocalizedResourcesDir); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__StandardPaths_GetLocalizedResourcesDir)
{
    dVAR; dXSARGS;
    if (items < 2 || items > 3)
       croak_xs_usage(cv,  "THIS, lang, category= wxStandardPathsBase::ResourceCat_None");
    {
	wxStandardPaths *    THIS = (wxStandardPaths *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::StandardPaths" )
;
	wxString	RETVAL;
	wxString	lang;
	ResourceCat	category;

    WXSTRING_INPUT( lang, wxString, ST(1) )
;

	if (items < 3)
	    category = wxStandardPathsBase::ResourceCat_None;
	else {
	    category = (ResourceCat)SvIV(ST(2))
;
	}
    try {
      RETVAL = THIS->GetLocalizedResourcesDir( lang, category );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__StandardPaths_GetDocumentsDir); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__StandardPaths_GetDocumentsDir)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxStandardPaths *    THIS = (wxStandardPaths *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::StandardPaths" )
;
	wxString	RETVAL;
    try {
      RETVAL = THIS->GetDocumentsDir();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__StandardPaths_GetTempDir); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__StandardPaths_GetTempDir)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxStandardPaths *    THIS = (wxStandardPaths *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::StandardPaths" )
;
	wxString	RETVAL;
    try {
      RETVAL = THIS->GetTempDir();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#endif
#if WXPERL_W_VERSION_GE( 2, 9, 0 )
#define XSpp_f6a99762_007130
#define XSubPPtmpAAEM 1


XS_EUPXS(XS_Wx__StandardPaths_UseAppInfo); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__StandardPaths_UseAppInfo)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, info");
    {
	wxStandardPaths *    THIS = (wxStandardPaths *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::StandardPaths" )
;
	int	info = (int)SvIV(ST(1))
;
    try {
      THIS->UseAppInfo( info );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
    }
    XSRETURN_EMPTY;
}

#endif

XS_EUPXS(XS_Wx__StandardPaths_Get); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__StandardPaths_Get)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
	wxStandardPaths *	RETVAL;
    RETVAL = (wxStandardPaths*)&wxStandardPaths::Get();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::StandardPaths" );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#endif

/* INCLUDE: Returning to 'Wx.xs' from '/usr/bin/perl -I./ -MExtUtils::XSpp::Cmd -e xspp -- -t typemap.xsp XS/StandardPaths.xsp' */


/* INCLUDE_COMMAND:  Including output of '/usr/bin/perl -I./ -MExtUtils::XSpp::Cmd -e xspp -- -t typemap.xsp XS/Variant.xsp' from 'Wx.xs' */

#include <exception>

#undef  xsp_constructor_class
#define xsp_constructor_class(c) (c)
#include <wx/variant.h>
#undef  xsp_constructor_class
#define xsp_constructor_class(c) (CLASS)

XS_EUPXS(XS_Wx__Variant_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Variant_new)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "CLASS, sv");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxVariant *	RETVAL;
	SV*	sv = ST(1)
;
     RETVAL = new wxVariant( wxPli_sv_2_wxvariant( aTHX_ sv ) );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::Variant" );
    wxPli_thread_sv_register( aTHX_ "Wx::Variant", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#undef  xsp_constructor_class
#define xsp_constructor_class(c) (c)

XS_EUPXS(XS_Wx__Variant_CLONE); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Variant_CLONE)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "CLASS");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
    wxPli_thread_sv_clone( aTHX_ CLASS, (wxPliCloneSV)wxPli_detach_object );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Variant_DESTROY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Variant_DESTROY)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxVariant *    THIS = (wxVariant *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Variant" )
;
    wxPli_thread_sv_unregister( aTHX_ "Wx::Variant", THIS, ST(0) );
    if( wxPli_object_is_deleteable( aTHX_ ST(0) ) )
        delete THIS;
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Variant_Append); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Variant_Append)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, variant");
    {
	wxVariant *    THIS = (wxVariant *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Variant" )
;
	wxVariant*    variant = (wxVariant *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Variant" )
;
    try {
      THIS->Append( *( variant ) );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
    }
    XSRETURN_EMPTY;
}

#if WXPERL_W_VERSION_GE( 2, 7, 0 )
#define XSpp_f0f4d7ee_098394
#define XSubPPtmpAAEN 1


XS_EUPXS(XS_Wx__Variant_Clear); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Variant_Clear)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxVariant *    THIS = (wxVariant *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Variant" )
;
    try {
      THIS->Clear();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
    }
    XSRETURN_EMPTY;
}

#endif

XS_EUPXS(XS_Wx__Variant_ClearList); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Variant_ClearList)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxVariant *    THIS = (wxVariant *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Variant" )
;
    try {
      THIS->ClearList();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Variant_Delete); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Variant_Delete)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, item");
    {
	wxVariant *    THIS = (wxVariant *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Variant" )
;
	bool	RETVAL;
	size_t    item = (size_t)SvUV( ST(1) )
;
    try {
      RETVAL = THIS->Delete( item );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Variant_GetCount); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Variant_GetCount)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxVariant *    THIS = (wxVariant *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Variant" )
;
	size_t	RETVAL;
	dXSTARG;
    try {
      RETVAL = THIS->GetCount();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	XSprePUSH;
	PUSHu((UV)RETVAL );
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Variant_GetBool); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Variant_GetBool)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxVariant *    THIS = (wxVariant *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Variant" )
;
	bool	RETVAL;
    try {
      RETVAL = THIS->GetBool();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Variant_GetChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Variant_GetChar)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxVariant *    THIS = (wxVariant *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Variant" )
;
	wxChar	RETVAL;
	dXSTARG;
    try {
      RETVAL = THIS->GetChar();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Variant_GetDateTime); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Variant_GetDateTime)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxVariant *    THIS = (wxVariant *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Variant" )
;
	wxDateTime *	RETVAL;
    try {
      RETVAL = new wxDateTime( THIS->GetDateTime() );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::DateTime" );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Variant_GetString); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Variant_GetString)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxVariant *    THIS = (wxVariant *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Variant" )
;
	wxString	RETVAL;
    try {
      RETVAL = THIS->GetString();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Variant_GetType); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Variant_GetType)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxVariant *    THIS = (wxVariant *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Variant" )
;
	wxString	RETVAL;
    try {
      RETVAL = THIS->GetType();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Variant_GetLong); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Variant_GetLong)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxVariant *    THIS = (wxVariant *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Variant" )
;
	long	RETVAL;
	dXSTARG;
    try {
      RETVAL = THIS->GetLong();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Variant_GetDouble); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Variant_GetDouble)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxVariant *    THIS = (wxVariant *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Variant" )
;
	double	RETVAL;
	dXSTARG;
    try {
      RETVAL = THIS->GetDouble();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	XSprePUSH;
	PUSHn((double)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Variant_GetWxObjectPtr); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Variant_GetWxObjectPtr)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxVariant *    THIS = (wxVariant *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Variant" )
;
	wxObject *	RETVAL;
    try {
      RETVAL = THIS->GetWxObjectPtr();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Variant_GetArrayString); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Variant_GetArrayString)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	wxVariant *    THIS = (wxVariant *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Variant" )
;
    PUTBACK;
    wxPli_stringarray_push( aTHX_ THIS->GetArrayString() );
    SPAGAIN;
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__Variant_GetList); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Variant_GetList)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	wxVariant *    THIS = (wxVariant *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Variant" )
;
#if WXPERL_W_VERSION_GE( 2, 9, 0 )
    const wxVariantList& lst = THIS->GetList();
#else
    const wxList& lst = THIS->GetList();
#endif
    PUTBACK;
    wxPli_objlist_push( aTHX_ lst );
    SPAGAIN;
    for( int i = lst.GetCount() - 0; i >= 0; --i )
        wxPli_object_set_deleteable( aTHX_ SP[-i], false );
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__Variant_IsNull); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Variant_IsNull)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxVariant *    THIS = (wxVariant *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Variant" )
;
	bool	RETVAL;
    try {
      RETVAL = THIS->IsNull();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Variant_IsType); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Variant_IsType)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, type");
    {
	wxVariant *    THIS = (wxVariant *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Variant" )
;
	bool	RETVAL;
	wxString	type;

    WXSTRING_INPUT( type, wxString, ST(1) )
;
    try {
      RETVAL = THIS->IsType( type );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Variant_IsValueKindOf); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Variant_IsValueKindOf)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, type");
    {
	wxVariant *    THIS = (wxVariant *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Variant" )
;
	bool	RETVAL;
	const wxClassInfo*    type = (const wxClassInfo *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::ClassInfo" )
;
    try {
      RETVAL = THIS->IsValueKindOf( type );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Variant_MakeNull); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Variant_MakeNull)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxVariant *    THIS = (wxVariant *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Variant" )
;
    try {
      THIS->MakeNull();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Variant_MakeString); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Variant_MakeString)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxVariant *    THIS = (wxVariant *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Variant" )
;
	wxString	RETVAL;
    try {
      RETVAL = THIS->MakeString();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Variant_Member); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Variant_Member)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, value");
    {
	wxVariant *    THIS = (wxVariant *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Variant" )
;
	bool	RETVAL;
	wxVariant*    value = (wxVariant *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Variant" )
;
    try {
      RETVAL = THIS->Member( *( value ) );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Variant_NullList); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Variant_NullList)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxVariant *    THIS = (wxVariant *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Variant" )
;
    try {
      THIS->NullList();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Variant_Insert); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Variant_Insert)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, value");
    {
	wxVariant *    THIS = (wxVariant *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Variant" )
;
	wxVariant*    value = (wxVariant *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Variant" )
;
    try {
      THIS->Insert( *( value ) );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Variant_SetBool); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Variant_SetBool)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, value");
    {
	wxVariant *    THIS = (wxVariant *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Variant" )
;
	bool	value = (bool)SvTRUE(ST(1))
;
     *THIS = value; 
    }
    XSRETURN_EMPTY;
}

#if WXPERL_W_VERSION_GE( 2, 7, 0 )
#define XSpp_f0f4d7ee_030359
#define XSubPPtmpAAEO 1


XS_EUPXS(XS_Wx__Variant_SetChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Variant_SetChar)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, value");
    {
	wxVariant *    THIS = (wxVariant *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Variant" )
;
	wxChar	value = (wxChar)SvIV(ST(1))
;
     *THIS = value; 
    }
    XSRETURN_EMPTY;
}

#endif

XS_EUPXS(XS_Wx__Variant_SetDateTime); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Variant_SetDateTime)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, value");
    {
	wxVariant *    THIS = (wxVariant *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Variant" )
;
	wxDateTime*    value = (wxDateTime *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::DateTime" )
;
     *THIS = *value; 
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Variant_SetString); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Variant_SetString)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, string");
    {
	wxVariant *    THIS = (wxVariant *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Variant" )
;
	wxString	string;

    WXSTRING_INPUT( string, wxString, ST(1) )
;
     *THIS = string; 
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Variant_SetLong); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Variant_SetLong)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, value");
    {
	wxVariant *    THIS = (wxVariant *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Variant" )
;
	long	value = (long)SvIV(ST(1))
;
     *THIS = value; 
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Variant_SetDouble); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Variant_SetDouble)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, value");
    {
	wxVariant *    THIS = (wxVariant *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Variant" )
;
	double	value = (double)SvNV(ST(1))
;
     *THIS = value; 
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Variant_SetWxObjectPtr); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Variant_SetWxObjectPtr)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, value");
    {
	wxVariant *    THIS = (wxVariant *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Variant" )
;
	wxObject*    value = (wxObject *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Object" )
;
     *THIS = value; 
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Variant_SetVariant); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Variant_SetVariant)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, value");
    {
	wxVariant *    THIS = (wxVariant *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Variant" )
;
	wxVariant*    value = (wxVariant *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Variant" )
;
     *THIS = *value; 
    }
    XSRETURN_EMPTY;
}

#if WXPERL_W_VERSION_GE( 2, 9, 0 )
#define XSpp_f0f4d7ee_047561
#define XSubPPtmpAAEP 1


XS_EUPXS(XS_Wx__Variant_Unshare); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Variant_Unshare)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxVariant *    THIS = (wxVariant *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Variant" )
;
	bool	RETVAL;
    try {
      RETVAL = THIS->Unshare();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}

#endif

/* INCLUDE: Returning to 'Wx.xs' from '/usr/bin/perl -I./ -MExtUtils::XSpp::Cmd -e xspp -- -t typemap.xsp XS/Variant.xsp' */


/* INCLUDE_COMMAND:  Including output of '/usr/bin/perl -I./ -MExtUtils::XSpp::Cmd -e xspp -- -t typemap.xsp XS/NotificationMessage.xsp' from 'Wx.xs' */

#include <exception>

#undef  xsp_constructor_class
#define xsp_constructor_class(c) (c)
#if WXPERL_W_VERSION_GE( 2, 9, 0 )
#define XSpp_24371fad_059298
#include <wx/notifmsg.h>
#define XSubPPtmpAAEQ 1


XS_EUPXS(XS_Wx__NotificationMessage_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__NotificationMessage_new)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
    BEGIN_OVERLOAD()
        MATCH_VOIDM_REDISP( newDefault )
        MATCH_ANY_REDISP( newFull )
    END_OVERLOAD( "Wx::NotificationMessage::new" )
	PUTBACK;
	return;
    }
}

#undef  xsp_constructor_class
#define xsp_constructor_class(c) (CLASS)

XS_EUPXS(XS_Wx__NotificationMessage_newDefault); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__NotificationMessage_newDefault)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "CLASS");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxNotificationMessage *	RETVAL;
    try {
      RETVAL = new wxNotificationMessage();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::NotificationMessage" );
    wxPli_thread_sv_register( aTHX_ "Wx::NotificationMessage", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#undef  xsp_constructor_class
#define xsp_constructor_class(c) (c)
#ifdef __WXMSW__
#define XSpp_24371fad_062166
#undef  xsp_constructor_class
#define xsp_constructor_class(c) (CLASS)
#define XSubPPtmpAAER 1


XS_EUPXS(XS_Wx__NotificationMessage_newFull); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__NotificationMessage_newFull)
{
    dVAR; dXSARGS;
    if (items < 2 || items > 5)
       croak_xs_usage(cv,  "CLASS, title, message= wxEmptyString, parent= NULL, flags= wxICON_INFORMATION");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxNotificationMessage *	RETVAL;
	wxString	title;
	wxString	message;
	wxWindow*	parent;
	int	flags;

    WXSTRING_INPUT( title, wxString, ST(1) )
;

	if (items < 3)
	    message = wxEmptyString;
	else {
    WXSTRING_INPUT( message, wxString, ST(2) )
;
	}

	if (items < 4)
	    parent = NULL;
	else {
    parent = (wxWindow *) wxPli_sv_2_object( aTHX_ ST(3), "Wx::Window" )
;
	}

	if (items < 5)
	    flags = wxICON_INFORMATION;
	else {
	    flags = (int)SvIV(ST(4))
;
	}
     RETVAL = new wxNotificationMessage( title, message, parent );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::NotificationMessage" );
    wxPli_thread_sv_register( aTHX_ "Wx::NotificationMessage", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#undef  xsp_constructor_class
#define xsp_constructor_class(c) (c)
#else
#define XSpp_24371fad_061434
#undef  xsp_constructor_class
#define xsp_constructor_class(c) (CLASS)
#define XSubPPtmpAAES 1


XS_EUPXS(XS_Wx__NotificationMessage_newFull); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__NotificationMessage_newFull)
{
    dVAR; dXSARGS;
    if (items < 2 || items > 5)
       croak_xs_usage(cv,  "CLASS, title, message= wxEmptyString, parent= NULL, flags= wxICON_INFORMATION");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxNotificationMessage *	RETVAL;
	wxString	title;
	wxString	message;
	wxWindow*	parent;
	int	flags;

    WXSTRING_INPUT( title, wxString, ST(1) )
;

	if (items < 3)
	    message = wxEmptyString;
	else {
    WXSTRING_INPUT( message, wxString, ST(2) )
;
	}

	if (items < 4)
	    parent = NULL;
	else {
    parent = (wxWindow *) wxPli_sv_2_object( aTHX_ ST(3), "Wx::Window" )
;
	}

	if (items < 5)
	    flags = wxICON_INFORMATION;
	else {
	    flags = (int)SvIV(ST(4))
;
	}
    try {
      RETVAL = new wxNotificationMessage( title, message, parent, flags );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::NotificationMessage" );
    wxPli_thread_sv_register( aTHX_ "Wx::NotificationMessage", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#undef  xsp_constructor_class
#define xsp_constructor_class(c) (c)
#endif

XS_EUPXS(XS_Wx__NotificationMessage_CLONE); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__NotificationMessage_CLONE)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "CLASS");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
    wxPli_thread_sv_clone( aTHX_ CLASS, (wxPliCloneSV)wxPli_detach_object );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__NotificationMessage_DESTROY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__NotificationMessage_DESTROY)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxNotificationMessage *    THIS = (wxNotificationMessage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::NotificationMessage" )
;
     wxPli_thread_sv_unregister( aTHX_ "Wx::NotificationMessage", THIS, ST(0) );
                delete THIS;
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__NotificationMessage_Show); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__NotificationMessage_Show)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "THIS, timeout= -1");
    {
	wxNotificationMessage *    THIS = (wxNotificationMessage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::NotificationMessage" )
;
	bool	RETVAL;
	int	timeout;

	if (items < 2)
	    timeout = -1;
	else {
	    timeout = (int)SvIV(ST(1))
;
	}
    try {
      RETVAL = THIS->Show( timeout );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__NotificationMessage_Close); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__NotificationMessage_Close)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxNotificationMessage *    THIS = (wxNotificationMessage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::NotificationMessage" )
;
	bool	RETVAL;
    try {
      RETVAL = THIS->Close();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__NotificationMessage_SetFlags); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__NotificationMessage_SetFlags)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, flags");
    {
	wxNotificationMessage *    THIS = (wxNotificationMessage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::NotificationMessage" )
;
	int	flags = (int)SvIV(ST(1))
;
    try {
      THIS->SetFlags( flags );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__NotificationMessage_SetTitle); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__NotificationMessage_SetTitle)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, title");
    {
	wxNotificationMessage *    THIS = (wxNotificationMessage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::NotificationMessage" )
;
	wxString	title;

    WXSTRING_INPUT( title, wxString, ST(1) )
;
    try {
      THIS->SetTitle( title );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__NotificationMessage_SetMessage); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__NotificationMessage_SetMessage)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, message");
    {
	wxNotificationMessage *    THIS = (wxNotificationMessage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::NotificationMessage" )
;
	wxString	message;

    WXSTRING_INPUT( message, wxString, ST(1) )
;
    try {
      THIS->SetMessage( message );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__NotificationMessage_SetParent); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__NotificationMessage_SetParent)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, parent");
    {
	wxNotificationMessage *    THIS = (wxNotificationMessage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::NotificationMessage" )
;
	wxWindow*    parent = (wxWindow *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Window" )
;
    try {
      THIS->SetParent( parent );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
    }
    XSRETURN_EMPTY;
}

#ifdef __WXMSW__
#define XSpp_24371fad_077390
#if ( ( defined(__VISUALC__) && (__VISUALC__ >= 1300) ) || defined(__MINGW32__) )
#define XSpp_24371fad_077985
#define XSubPPtmpAAET 1


XS_EUPXS(XS_Wx__NotificationMessage_UseTaskBarIcon); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__NotificationMessage_UseTaskBarIcon)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "icon");
    {
	wxTaskBarIcon*    icon = (wxTaskBarIcon *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::TaskBarIcon" )
;
	wxTaskBarIcon *	RETVAL;
    RETVAL = wxNotificationMessage::UseTaskBarIcon( icon );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__NotificationMessage_AlwaysUseGeneric); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__NotificationMessage_AlwaysUseGeneric)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "alwaysUseGeneric");
    {
	bool	alwaysUseGeneric = (bool)SvTRUE(ST(0))
;
    wxNotificationMessage::AlwaysUseGeneric( alwaysUseGeneric );
    }
    XSRETURN_EMPTY;
}

#endif
#endif
#endif

/* INCLUDE: Returning to 'Wx.xs' from '/usr/bin/perl -I./ -MExtUtils::XSpp::Cmd -e xspp -- -t typemap.xsp XS/NotificationMessage.xsp' */


/* INCLUDE_COMMAND:  Including output of '/usr/bin/perl -I./ -MExtUtils::XSpp::Cmd -e xspp -- -t typemap.xsp XS/EventFilter.xsp' from 'Wx.xs' */

#include <exception>

#undef  xsp_constructor_class
#define xsp_constructor_class(c) (c)
#if WXPERL_W_VERSION_GE( 2, 9, 3 )
#define XSpp_8a9fd8db_003526
#include <wx/eventfilter.h>
#include "cpp/e_cback.h"
#include "xspp/eventfilter.h"
#define XSubPPtmpAAEU 1


XS_EUPXS(XS_Wx__EventFilter_CLONE); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__EventFilter_CLONE)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "CLASS");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
    wxPli_thread_sv_clone( aTHX_ CLASS, (wxPliCloneSV)wxPli_detach_object );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__EventFilter_Destroy); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__EventFilter_Destroy)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxEventFilter *    THIS = (wxEventFilter *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::EventFilter" )
;
      wxPli_thread_sv_unregister( aTHX_ "Wx::EventFilter", THIS, ST(0) );
                 delete THIS;
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__EventFilter_FilterEvent); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__EventFilter_FilterEvent)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, event");
    {
	wxEventFilter *    THIS = (wxEventFilter *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::EventFilter" )
;
	int	RETVAL;
	dXSTARG;
	wxEvent*    event = (wxEvent *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Event" )
;
     RETVAL = -1; 
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}

#undef  xsp_constructor_class
#define xsp_constructor_class(c) (CLASS)

XS_EUPXS(XS_Wx__PlEventFilter_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__PlEventFilter_new)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "CLASS");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxPlEventFilter *	RETVAL;
     RETVAL = new wxPlEventFilter( CLASS ); 
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::PlEventFilter" );
    wxPli_thread_sv_register( aTHX_ "Wx::PlEventFilter", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#undef  xsp_constructor_class
#define xsp_constructor_class(c) (c)
#endif

/* INCLUDE: Returning to 'Wx.xs' from '/usr/bin/perl -I./ -MExtUtils::XSpp::Cmd -e xspp -- -t typemap.xsp XS/EventFilter.xsp' */


/* INCLUDE_COMMAND:  Including output of '/usr/bin/perl -I./ -MExtUtils::XSpp::Cmd -e xspp -- -t typemap.xsp interface/wx/uiaction.h' from 'Wx.xs' */

#include <exception>

#undef  xsp_constructor_class
#define xsp_constructor_class(c) (c)
#if WXPERL_W_VERSION_GE( 2, 9, 2 )
#define XSpp_f6a9e7d1_013839
#include <wx/uiaction.h>
#define XSubPPtmpAAEV 1


XS_EUPXS(XS_Wx__UIActionSimulator_CLONE); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__UIActionSimulator_CLONE)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "CLASS");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
    wxPli_thread_sv_clone( aTHX_ CLASS, (wxPliCloneSV)wxPli_detach_object );
    }
    XSRETURN_EMPTY;
}

#undef  xsp_constructor_class
#define xsp_constructor_class(c) (CLASS)

XS_EUPXS(XS_Wx__UIActionSimulator_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__UIActionSimulator_new)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "CLASS");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxUIActionSimulator *	RETVAL;
    try {
      RETVAL = new wxUIActionSimulator();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::UIActionSimulator" );
    wxPli_thread_sv_register( aTHX_ "Wx::UIActionSimulator", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#undef  xsp_constructor_class
#define xsp_constructor_class(c) (c)

XS_EUPXS(XS_Wx__UIActionSimulator_DESTROY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__UIActionSimulator_DESTROY)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxUIActionSimulator *    THIS = (wxUIActionSimulator *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::UIActionSimulator" )
;
      wxPli_thread_sv_unregister( aTHX_ "Wx::UIActionSimulator", THIS, ST(0) );
                 delete THIS;
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__UIActionSimulator_MouseMoveCoords); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__UIActionSimulator_MouseMoveCoords)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, x, y");
    {
	wxUIActionSimulator *    THIS = (wxUIActionSimulator *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::UIActionSimulator" )
;
	bool	RETVAL;
	long	x = (long)SvIV(ST(1))
;
	long	y = (long)SvIV(ST(2))
;
    try {
      RETVAL = THIS->MouseMove( x, y );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__UIActionSimulator_MouseMovePoint); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__UIActionSimulator_MouseMovePoint)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, point");
    {
	wxUIActionSimulator *    THIS = (wxUIActionSimulator *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::UIActionSimulator" )
;
	bool	RETVAL;
	wxPoint    point = wxPli_sv_2_wxpoint( aTHX_ ST(1) )
;
    try {
      RETVAL = THIS->MouseMove( point );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__UIActionSimulator_MouseDown); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__UIActionSimulator_MouseDown)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "THIS, button= wxMOUSE_BTN_LEFT");
    {
	wxUIActionSimulator *    THIS = (wxUIActionSimulator *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::UIActionSimulator" )
;
	bool	RETVAL;
	int	button;

	if (items < 2)
	    button = wxMOUSE_BTN_LEFT;
	else {
	    button = (int)SvIV(ST(1))
;
	}
    try {
      RETVAL = THIS->MouseDown( button );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__UIActionSimulator_MouseUp); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__UIActionSimulator_MouseUp)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "THIS, button= wxMOUSE_BTN_LEFT");
    {
	wxUIActionSimulator *    THIS = (wxUIActionSimulator *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::UIActionSimulator" )
;
	bool	RETVAL;
	int	button;

	if (items < 2)
	    button = wxMOUSE_BTN_LEFT;
	else {
	    button = (int)SvIV(ST(1))
;
	}
    try {
      RETVAL = THIS->MouseUp( button );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__UIActionSimulator_MouseClick); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__UIActionSimulator_MouseClick)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "THIS, button= wxMOUSE_BTN_LEFT");
    {
	wxUIActionSimulator *    THIS = (wxUIActionSimulator *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::UIActionSimulator" )
;
	bool	RETVAL;
	int	button;

	if (items < 2)
	    button = wxMOUSE_BTN_LEFT;
	else {
	    button = (int)SvIV(ST(1))
;
	}
    try {
      RETVAL = THIS->MouseClick( button );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__UIActionSimulator_MouseDblClick); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__UIActionSimulator_MouseDblClick)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "THIS, button= wxMOUSE_BTN_LEFT");
    {
	wxUIActionSimulator *    THIS = (wxUIActionSimulator *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::UIActionSimulator" )
;
	bool	RETVAL;
	int	button;

	if (items < 2)
	    button = wxMOUSE_BTN_LEFT;
	else {
	    button = (int)SvIV(ST(1))
;
	}
    try {
      RETVAL = THIS->MouseDblClick( button );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__UIActionSimulator_MouseDragDrop); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__UIActionSimulator_MouseDragDrop)
{
    dVAR; dXSARGS;
    if (items < 5 || items > 6)
       croak_xs_usage(cv,  "THIS, x1, y1, x2, y2, button= wxMOUSE_BTN_LEFT");
    {
	wxUIActionSimulator *    THIS = (wxUIActionSimulator *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::UIActionSimulator" )
;
	bool	RETVAL;
	long	x1 = (long)SvIV(ST(1))
;
	long	y1 = (long)SvIV(ST(2))
;
	long	x2 = (long)SvIV(ST(3))
;
	long	y2 = (long)SvIV(ST(4))
;
	int	button;

	if (items < 6)
	    button = wxMOUSE_BTN_LEFT;
	else {
	    button = (int)SvIV(ST(5))
;
	}
    try {
      RETVAL = THIS->MouseDragDrop( x1, y1, x2, y2, button );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__UIActionSimulator_KeyDown); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__UIActionSimulator_KeyDown)
{
    dVAR; dXSARGS;
    if (items < 2 || items > 3)
       croak_xs_usage(cv,  "THIS, keycode, modifiers= wxMOD_NONE");
    {
	wxUIActionSimulator *    THIS = (wxUIActionSimulator *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::UIActionSimulator" )
;
	bool	RETVAL;
	int	keycode = (int)SvIV(ST(1))
;
	int	modifiers;

	if (items < 3)
	    modifiers = wxMOD_NONE;
	else {
	    modifiers = (int)SvIV(ST(2))
;
	}
    try {
      RETVAL = THIS->KeyDown( keycode, modifiers );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__UIActionSimulator_KeyUp); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__UIActionSimulator_KeyUp)
{
    dVAR; dXSARGS;
    if (items < 2 || items > 3)
       croak_xs_usage(cv,  "THIS, keycode, modifiers= wxMOD_NONE");
    {
	wxUIActionSimulator *    THIS = (wxUIActionSimulator *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::UIActionSimulator" )
;
	bool	RETVAL;
	int	keycode = (int)SvIV(ST(1))
;
	int	modifiers;

	if (items < 3)
	    modifiers = wxMOD_NONE;
	else {
	    modifiers = (int)SvIV(ST(2))
;
	}
    try {
      RETVAL = THIS->KeyUp( keycode, modifiers );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__UIActionSimulator_Char); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__UIActionSimulator_Char)
{
    dVAR; dXSARGS;
    if (items < 2 || items > 3)
       croak_xs_usage(cv,  "THIS, keycode, modifiers= wxMOD_NONE");
    {
	wxUIActionSimulator *    THIS = (wxUIActionSimulator *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::UIActionSimulator" )
;
	bool	RETVAL;
	int	keycode = (int)SvIV(ST(1))
;
	int	modifiers;

	if (items < 3)
	    modifiers = wxMOD_NONE;
	else {
	    modifiers = (int)SvIV(ST(2))
;
	}
    try {
      RETVAL = THIS->Char( keycode, modifiers );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__UIActionSimulator_Text); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__UIActionSimulator_Text)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, text");
    {
	wxUIActionSimulator *    THIS = (wxUIActionSimulator *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::UIActionSimulator" )
;
	bool	RETVAL;
	wxString	text;

    WXSTRING_INPUT( text, wxString, ST(1) )
;
    try {
      RETVAL = THIS->Text( text );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}

#include "cpp/overload.h"
#if defined( XSpp_f6a9e7d1_013839 )
#define XSubPPtmpAAEW 1


XS_EUPXS(XS_Wx__UIActionSimulator_MouseMove); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__UIActionSimulator_MouseMove)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "THIS, ...");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	wxUIActionSimulator *    THIS = (wxUIActionSimulator *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::UIActionSimulator" )
;
#if defined( XSpp_f6a9e7d1_013839 )
    static const char *MouseMovePoint_types[] = { wxPliOvlwpoi };
    static wxPliPrototype MouseMovePoint_proto( MouseMovePoint_types, sizeof( MouseMovePoint_types ) / sizeof( MouseMovePoint_types[0] ) );
#endif // defined( XSpp_f6a9e7d1_013839 )
#if defined( XSpp_f6a9e7d1_013839 )
    static const char *MouseMoveCoords_types[] = { wxPliOvlnum, wxPliOvlnum };
    static wxPliPrototype MouseMoveCoords_proto( MouseMoveCoords_types, sizeof( MouseMoveCoords_types ) / sizeof( MouseMoveCoords_types[0] ) );
#endif // defined( XSpp_f6a9e7d1_013839 )
    static wxPliPrototype *wxPliOvl_all_prototypes[] = {
#if defined( XSpp_f6a9e7d1_013839 )
        &MouseMovePoint_proto,
#endif // defined( XSpp_f6a9e7d1_013839 )
#if defined( XSpp_f6a9e7d1_013839 )
        &MouseMoveCoords_proto,
#endif // defined( XSpp_f6a9e7d1_013839 )
        NULL };
    BEGIN_OVERLOAD()
#if defined( XSpp_f6a9e7d1_013839 )
        MATCH_REDISP_COUNT( MouseMovePoint_proto, MouseMovePoint, 1 )
#endif // defined( XSpp_f6a9e7d1_013839 )
#if defined( XSpp_f6a9e7d1_013839 )
        MATCH_REDISP_COUNT( MouseMoveCoords_proto, MouseMoveCoords, 2 )
#endif // defined( XSpp_f6a9e7d1_013839 )
    END_OVERLOAD_MESSAGE( Wx::UIActionSimulator::MouseMove, wxPliOvl_all_prototypes )
	PUTBACK;
	return;
    }
}

#endif // defined( XSpp_f6a9e7d1_013839 )
#endif

/* INCLUDE: Returning to 'Wx.xs' from '/usr/bin/perl -I./ -MExtUtils::XSpp::Cmd -e xspp -- -t typemap.xsp interface/wx/uiaction.h' */

#ifdef __cplusplus
extern "C"
#endif
XS_EXTERNAL(boot_Wx); /* prototype to pass -Wmissing-prototypes */
XS_EXTERNAL(boot_Wx)
{
#if PERL_VERSION_LE(5, 21, 5)
    dVAR; dXSARGS;
#else
    dVAR; dXSBOOTARGSXSAPIVERCHK;
#endif
#if PERL_VERSION_LE(5, 8, 999) /* PERL_VERSION_LT is 5.33+ */
    char* file = __FILE__;
#else
    const char* file = __FILE__;
#endif

    PERL_UNUSED_VAR(file);

    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
#if PERL_VERSION_LE(5, 21, 5)
    XS_VERSION_BOOTCHECK;
#  ifdef XS_APIVERSION_BOOTCHECK
    XS_APIVERSION_BOOTCHECK;
#  endif
#endif

    {
        CV * cv;

        newXS_deffile("Wx::EnableDefaultAssertHandler", XS_Wx_EnableDefaultAssertHandler);
        newXS_deffile("Wx::DisableAssertHandler", XS_Wx_DisableAssertHandler);
        newXS_deffile("Wx::Load", XS_Wx_Load);
#if XSubPPtmpAAAA
        newXS_deffile("Wx::_MacSetFrontProcess", XS_Wx__MacSetFrontProcess);
#endif
        newXS_deffile("Wx::SetConstants", XS_Wx_SetConstants);
        newXS_deffile("Wx::SetConstantsOnce", XS_Wx_SetConstantsOnce);
        newXS_deffile("Wx::SetOvlConstants", XS_Wx_SetOvlConstants);
        newXS_deffile("Wx::UnLoad", XS_Wx_UnLoad);
        newXS_deffile("Wx::SetAlwaysUTF8", XS_Wx_SetAlwaysUTF8);
#if XSubPPtmpAAAB
        newXS_deffile("Wx::_load_plugin", XS_Wx__load_plugin);
        newXS_deffile("Wx::_unload_plugin", XS_Wx__unload_plugin);
#endif
        (void)newXSproto_portable("Wx::_xsmatch", XS_Wx__xsmatch, file, "\\@$;$$");
        newXS_deffile("Wx::_wx_optmod_ribbon", XS_Wx__wx_optmod_ribbon);
        newXS_deffile("Wx::_wx_optmod_propgrid", XS_Wx__wx_optmod_propgrid);
        newXS_deffile("Wx::_wx_optmod_media", XS_Wx__wx_optmod_media);
        newXS_deffile("Wx::_wx_optmod_webview", XS_Wx__wx_optmod_webview);
        newXS_deffile("Wx::_wx_optmod_ipc", XS_Wx__wx_optmod_ipc);
        newXS_deffile("Wx::looks_like_number", XS_Wx_looks_like_number);
        newXS_deffile("Wx::CLONE", XS_Wx_CLONE);
#if XSubPPtmpAAAC
        newXS_deffile("Wx::Wave::new", XS_Wx__Wave_new);
        newXS_deffile("Wx::Wave::IsOk", XS_Wx__Wave_IsOk);
        newXS_deffile("Wx::Wave::Play", XS_Wx__Wave_Play);
#endif
        newXS_deffile("Wx::FontMapper::Get", XS_Wx__FontMapper_Get);
        newXS_deffile("Wx::FontMapper::GetAltForEncoding", XS_Wx__FontMapper_GetAltForEncoding);
        newXS_deffile("Wx::FontMapper::IsEncodingAvailable", XS_Wx__FontMapper_IsEncodingAvailable);
        newXS_deffile("Wx::FontMapper::CharsetToEncoding", XS_Wx__FontMapper_CharsetToEncoding);
        newXS_deffile("Wx::FontMapper::GetEncodingName", XS_Wx__FontMapper_GetEncodingName);
        newXS_deffile("Wx::FontMapper::GetEncodingDescription", XS_Wx__FontMapper_GetEncodingDescription);
#if XSubPPtmpAAAD
        newXS_deffile("Wx::FontMapper::GetAllEncodingNames", XS_Wx__FontMapper_GetAllEncodingNames);
#endif
        newXS_deffile("Wx::FontMapper::GetEncoding", XS_Wx__FontMapper_GetEncoding);
        newXS_deffile("Wx::FontMapper::GetEncodingFromName", XS_Wx__FontMapper_GetEncodingFromName);
        newXS_deffile("Wx::FontMapper::GetSupportedEncodingsCount", XS_Wx__FontMapper_GetSupportedEncodingsCount);
        newXS_deffile("Wx::FontMapper::SetDialogParent", XS_Wx__FontMapper_SetDialogParent);
        newXS_deffile("Wx::FontMapper::SetDialogTitle", XS_Wx__FontMapper_SetDialogTitle);
#if XSubPPtmpAAAE
        newXS_deffile("Wx::FontMapper::SetConfig", XS_Wx__FontMapper_SetConfig);
#endif
        newXS_deffile("Wx::FontMapper::SetConfigPath", XS_Wx__FontMapper_SetConfigPath);
        newXS_deffile("Wx::ProcessEvent::new", XS_Wx__ProcessEvent_new);
        newXS_deffile("Wx::ProcessEvent::GetPid", XS_Wx__ProcessEvent_GetPid);
        newXS_deffile("Wx::ProcessEvent::GetExitCode", XS_Wx__ProcessEvent_GetExitCode);
        newXS_deffile("Wx::Process::new", XS_Wx__Process_new);
        newXS_deffile("Wx::Process::Destroy", XS_Wx__Process_Destroy);
        newXS_deffile("Wx::Process::CloseOutput", XS_Wx__Process_CloseOutput);
        newXS_deffile("Wx::Process::Detach", XS_Wx__Process_Detach);
        newXS_deffile("Wx::Process::GetErrorStream", XS_Wx__Process_GetErrorStream);
        newXS_deffile("Wx::Process::GetInputStream", XS_Wx__Process_GetInputStream);
        newXS_deffile("Wx::Process::GetOutputStream", XS_Wx__Process_GetOutputStream);
        newXS_deffile("Wx::Process::IsErrorAvailable", XS_Wx__Process_IsErrorAvailable);
        newXS_deffile("Wx::Process::IsInputAvailable", XS_Wx__Process_IsInputAvailable);
        newXS_deffile("Wx::Process::IsInputOpened", XS_Wx__Process_IsInputOpened);
        newXS_deffile("Wx::Process::Kill", XS_Wx__Process_Kill);
        newXS_deffile("Wx::Process::Exists", XS_Wx__Process_Exists);
        newXS_deffile("Wx::Process::OnTerminate", XS_Wx__Process_OnTerminate);
        newXS_deffile("Wx::Process::Redirect", XS_Wx__Process_Redirect);
        newXS_deffile("Wx::Process::Open", XS_Wx__Process_Open);
#if XSubPPtmpAAAF
        newXS_deffile("Wx::Process::GetPid", XS_Wx__Process_GetPid);
#endif
        newXS_deffile("Wx::ExecuteCommand", XS_Wx_ExecuteCommand);
#if XSubPPtmpAAAG
        newXS_deffile("Wx::ExecuteArgs", XS_Wx_ExecuteArgs);
#endif
#if XSubPPtmpAAAH
        newXS_deffile("Wx::ExecuteArgs", XS_Wx_ExecuteArgs);
#endif
        newXS_deffile("Wx::ExecuteStdout", XS_Wx_ExecuteStdout);
        newXS_deffile("Wx::ExecuteStdoutStderr", XS_Wx_ExecuteStdoutStderr);
        newXS_deffile("Wx::ConfigBase::Destroy", XS_Wx__ConfigBase_Destroy);
        newXS_deffile("Wx::ConfigBase::Create", XS_Wx__ConfigBase_Create);
        newXS_deffile("Wx::ConfigBase::DontCreateOnDemand", XS_Wx__ConfigBase_DontCreateOnDemand);
        newXS_deffile("Wx::ConfigBase::DeleteAll", XS_Wx__ConfigBase_DeleteAll);
        newXS_deffile("Wx::ConfigBase::DeleteEntry", XS_Wx__ConfigBase_DeleteEntry);
        newXS_deffile("Wx::ConfigBase::DeleteGroup", XS_Wx__ConfigBase_DeleteGroup);
        newXS_deffile("Wx::ConfigBase::Exists", XS_Wx__ConfigBase_Exists);
        newXS_deffile("Wx::ConfigBase::Flush", XS_Wx__ConfigBase_Flush);
        newXS_deffile("Wx::ConfigBase::Get", XS_Wx__ConfigBase_Get);
        newXS_deffile("Wx::ConfigBase::GetAppName", XS_Wx__ConfigBase_GetAppName);
        newXS_deffile("Wx::ConfigBase::GetEntryType", XS_Wx__ConfigBase_GetEntryType);
        newXS_deffile("Wx::ConfigBase::GetFirstEntry", XS_Wx__ConfigBase_GetFirstEntry);
        newXS_deffile("Wx::ConfigBase::GetFirstGroup", XS_Wx__ConfigBase_GetFirstGroup);
        newXS_deffile("Wx::ConfigBase::GetNextEntry", XS_Wx__ConfigBase_GetNextEntry);
        newXS_deffile("Wx::ConfigBase::GetNextGroup", XS_Wx__ConfigBase_GetNextGroup);
        newXS_deffile("Wx::ConfigBase::GetNumberOfEntries", XS_Wx__ConfigBase_GetNumberOfEntries);
        newXS_deffile("Wx::ConfigBase::GetNumberOfGroups", XS_Wx__ConfigBase_GetNumberOfGroups);
        newXS_deffile("Wx::ConfigBase::GetPath", XS_Wx__ConfigBase_GetPath);
        newXS_deffile("Wx::ConfigBase::GetVendorName", XS_Wx__ConfigBase_GetVendorName);
        newXS_deffile("Wx::ConfigBase::HasEntry", XS_Wx__ConfigBase_HasEntry);
        newXS_deffile("Wx::ConfigBase::HasGroup", XS_Wx__ConfigBase_HasGroup);
        newXS_deffile("Wx::ConfigBase::IsExpandingEnvVars", XS_Wx__ConfigBase_IsExpandingEnvVars);
        newXS_deffile("Wx::ConfigBase::IsRecordingDefaults", XS_Wx__ConfigBase_IsRecordingDefaults);
        newXS_deffile("Wx::ConfigBase::Read", XS_Wx__ConfigBase_Read);
        newXS_deffile("Wx::ConfigBase::ReadInt", XS_Wx__ConfigBase_ReadInt);
#if XSubPPtmpAAAI
        newXS_deffile("Wx::ConfigBase::ReadLong", XS_Wx__ConfigBase_ReadLong);
        newXS_deffile("Wx::ConfigBase::ReadDouble", XS_Wx__ConfigBase_ReadDouble);
        newXS_deffile("Wx::ConfigBase::ReadBool", XS_Wx__ConfigBase_ReadBool);
#endif
#if XSubPPtmpAAAJ
        newXS_deffile("Wx::ConfigBase::ReadBool", XS_Wx__ConfigBase_ReadBool);
#endif
#if XSubPPtmpAAAK
        newXS_deffile("Wx::ConfigBase::ReadBinary", XS_Wx__ConfigBase_ReadBinary);
#endif
        newXS_deffile("Wx::ConfigBase::RenameEntry", XS_Wx__ConfigBase_RenameEntry);
        newXS_deffile("Wx::ConfigBase::RenameGroup", XS_Wx__ConfigBase_RenameGroup);
        newXS_deffile("Wx::ConfigBase::Set", XS_Wx__ConfigBase_Set);
        newXS_deffile("Wx::ConfigBase::SetExpandEnvVars", XS_Wx__ConfigBase_SetExpandEnvVars);
        newXS_deffile("Wx::ConfigBase::SetPath", XS_Wx__ConfigBase_SetPath);
        newXS_deffile("Wx::ConfigBase::SetRecordDefaults", XS_Wx__ConfigBase_SetRecordDefaults);
        newXS_deffile("Wx::ConfigBase::Write", XS_Wx__ConfigBase_Write);
        newXS_deffile("Wx::ConfigBase::WriteInt", XS_Wx__ConfigBase_WriteInt);
        newXS_deffile("Wx::ConfigBase::WriteFloat", XS_Wx__ConfigBase_WriteFloat);
        newXS_deffile("Wx::ConfigBase::WriteBool", XS_Wx__ConfigBase_WriteBool);
#if XSubPPtmpAAAL
        newXS_deffile("Wx::ConfigBase::WriteBinary", XS_Wx__ConfigBase_WriteBinary);
#endif
#if XSubPPtmpAAAM
        newXS_deffile("Wx::RegConfig::new", XS_Wx__RegConfig_new);
#endif
        newXS_deffile("Wx::FileConfig::new", XS_Wx__FileConfig_new);
        newXS_deffile("Wx::FileConfig::SetUmask", XS_Wx__FileConfig_SetUmask);
#if XSubPPtmpAAAN
        newXS_deffile("Wx::TaskBarIcon::new", XS_Wx__TaskBarIcon_new);
        newXS_deffile("Wx::TaskBarIcon::Destroy", XS_Wx__TaskBarIcon_Destroy);
        newXS_deffile("Wx::TaskBarIcon::IsOk", XS_Wx__TaskBarIcon_IsOk);
        newXS_deffile("Wx::TaskBarIcon::IsIconInstalled", XS_Wx__TaskBarIcon_IsIconInstalled);
        newXS_deffile("Wx::TaskBarIcon::SetIcon", XS_Wx__TaskBarIcon_SetIcon);
        newXS_deffile("Wx::TaskBarIcon::RemoveIcon", XS_Wx__TaskBarIcon_RemoveIcon);
        newXS_deffile("Wx::TaskBarIcon::PopupMenu", XS_Wx__TaskBarIcon_PopupMenu);
        newXS_deffile("Wx::TaskBarIconEvent::new", XS_Wx__TaskBarIconEvent_new);
#endif
        newXS_deffile("Wx::Stream::TIEHANDLE", XS_Wx__Stream_TIEHANDLE);
        newXS_deffile("Wx::InputStream::READ", XS_Wx__InputStream_READ);
        newXS_deffile("Wx::InputStream::GETC", XS_Wx__InputStream_GETC);
        newXS_deffile("Wx::InputStream::SEEK", XS_Wx__InputStream_SEEK);
        newXS_deffile("Wx::InputStream::TELL", XS_Wx__InputStream_TELL);
        newXS_deffile("Wx::InputStream::READLINE", XS_Wx__InputStream_READLINE);
        newXS_deffile("Wx::OutputStream::WRITE", XS_Wx__OutputStream_WRITE);
        newXS_deffile("Wx::OutputStream::SEEK", XS_Wx__OutputStream_SEEK);
        newXS_deffile("Wx::OutputStream::TELL", XS_Wx__OutputStream_TELL);
        newXS_deffile("Wx::TimerEvent::GetInterval", XS_Wx__TimerEvent_GetInterval);
#if XSubPPtmpAAAO
        newXS_deffile("Wx::TimerEvent::GetTimer", XS_Wx__TimerEvent_GetTimer);
#endif
        newXS_deffile("Wx::Timer::newDefault", XS_Wx__Timer_newDefault);
        newXS_deffile("Wx::Timer::newEH", XS_Wx__Timer_newEH);
        newXS_deffile("Wx::Timer::Destroy", XS_Wx__Timer_Destroy);
        newXS_deffile("Wx::Timer::GetInterval", XS_Wx__Timer_GetInterval);
#if XSubPPtmpAAAP
        newXS_deffile("Wx::Timer::GetId", XS_Wx__Timer_GetId);
#endif
        newXS_deffile("Wx::Timer::IsOneShot", XS_Wx__Timer_IsOneShot);
        newXS_deffile("Wx::Timer::IsRunning", XS_Wx__Timer_IsRunning);
        newXS_deffile("Wx::Timer::SetOwner", XS_Wx__Timer_SetOwner);
        newXS_deffile("Wx::Timer::Start", XS_Wx__Timer_Start);
#if XSubPPtmpAAAQ
        newXS_deffile("Wx::Timer::StartOnce", XS_Wx__Timer_StartOnce);
#endif
        newXS_deffile("Wx::Timer::Stop", XS_Wx__Timer_Stop);
        newXS_deffile("Wx::Timer::Notify", XS_Wx__Timer_Notify);
        newXS_deffile("Wx::CaretSuspend::new", XS_Wx__CaretSuspend_new);
        newXS_deffile("Wx::CaretSuspend::CLONE", XS_Wx__CaretSuspend_CLONE);
        newXS_deffile("Wx::CaretSuspend::DESTROY", XS_Wx__CaretSuspend_DESTROY);
        newXS_deffile("Wx::SplashScreen::new", XS_Wx__SplashScreen_new);
        newXS_deffile("Wx::SplashScreen::GetSplashStyle", XS_Wx__SplashScreen_GetSplashStyle);
        newXS_deffile("Wx::SplashScreen::GetSplashWindow", XS_Wx__SplashScreen_GetSplashWindow);
        newXS_deffile("Wx::SplashScreen::GetTimeout", XS_Wx__SplashScreen_GetTimeout);
#if XSubPPtmpAAAR
        newXS_deffile("Wx::WindowDisabler::new", XS_Wx__WindowDisabler_new);
        newXS_deffile("Wx::WindowDisabler::newWindow", XS_Wx__WindowDisabler_newWindow);
        newXS_deffile("Wx::WindowDisabler::newBool", XS_Wx__WindowDisabler_newBool);
#endif
#if XSubPPtmpAAAS
        newXS_deffile("Wx::WindowDisabler::new", XS_Wx__WindowDisabler_new);
#endif
        newXS_deffile("Wx::WindowDisabler::CLONE", XS_Wx__WindowDisabler_CLONE);
        newXS_deffile("Wx::WindowDisabler::DESTROY", XS_Wx__WindowDisabler_DESTROY);
#if XSubPPtmpAAAT
        newXS_deffile("Wx::BusyCursor::new", XS_Wx__BusyCursor_new);
#endif
#if XSubPPtmpAAAU
        newXS_deffile("Wx::BusyCursor::new", XS_Wx__BusyCursor_new);
#endif
        newXS_deffile("Wx::BusyCursor::CLONE", XS_Wx__BusyCursor_CLONE);
        newXS_deffile("Wx::BusyCursor::DESTROY", XS_Wx__BusyCursor_DESTROY);
        newXS_deffile("Wx::BusyInfo::new", XS_Wx__BusyInfo_new);
        newXS_deffile("Wx::BusyInfo::CLONE", XS_Wx__BusyInfo_CLONE);
        newXS_deffile("Wx::BusyInfo::DESTROY", XS_Wx__BusyInfo_DESTROY);
        newXS_deffile("Wx::StopWatch::new", XS_Wx__StopWatch_new);
        newXS_deffile("Wx::StopWatch::CLONE", XS_Wx__StopWatch_CLONE);
        newXS_deffile("Wx::StopWatch::DESTROY", XS_Wx__StopWatch_DESTROY);
        newXS_deffile("Wx::StopWatch::Pause", XS_Wx__StopWatch_Pause);
        newXS_deffile("Wx::StopWatch::Start", XS_Wx__StopWatch_Start);
        newXS_deffile("Wx::StopWatch::Resume", XS_Wx__StopWatch_Resume);
        newXS_deffile("Wx::StopWatch::Time", XS_Wx__StopWatch_Time);
#if XSubPPtmpAAAV
        newXS_deffile("Wx::SingleInstanceChecker::new", XS_Wx__SingleInstanceChecker_new);
        newXS_deffile("Wx::SingleInstanceChecker::CLONE", XS_Wx__SingleInstanceChecker_CLONE);
        newXS_deffile("Wx::SingleInstanceChecker::DESTROY", XS_Wx__SingleInstanceChecker_DESTROY);
        newXS_deffile("Wx::SingleInstanceChecker::Create", XS_Wx__SingleInstanceChecker_Create);
        newXS_deffile("Wx::SingleInstanceChecker::IsAnotherRunning", XS_Wx__SingleInstanceChecker_IsAnotherRunning);
#endif
#if XSubPPtmpAAAW
        newXS_deffile("Wx::SystemOptions::SetOption", XS_Wx__SystemOptions_SetOption);
        newXS_deffile("Wx::SystemOptions::SetOptionInt", XS_Wx__SystemOptions_SetOptionInt);
        newXS_deffile("Wx::SystemOptions::GetOption", XS_Wx__SystemOptions_GetOption);
        newXS_deffile("Wx::SystemOptions::GetOptionInt", XS_Wx__SystemOptions_GetOptionInt);
        newXS_deffile("Wx::SystemOptions::HasOption", XS_Wx__SystemOptions_HasOption);
        newXS_deffile("Wx::SystemOptions::IsFalse", XS_Wx__SystemOptions_IsFalse);
#endif
        newXS_deffile("Wx::SystemSettings::GetColour", XS_Wx__SystemSettings_GetColour);
        newXS_deffile("Wx::SystemSettings::GetSystemColour", XS_Wx__SystemSettings_GetSystemColour);
        newXS_deffile("Wx::SystemSettings::GetFont", XS_Wx__SystemSettings_GetFont);
        newXS_deffile("Wx::SystemSettings::GetSystemFont", XS_Wx__SystemSettings_GetSystemFont);
        newXS_deffile("Wx::SystemSettings::GetMetric", XS_Wx__SystemSettings_GetMetric);
        newXS_deffile("Wx::SystemSettings::GetSystemMetric", XS_Wx__SystemSettings_GetSystemMetric);
        newXS_deffile("Wx::SystemSettings::GetScreenType", XS_Wx__SystemSettings_GetScreenType);
        newXS_deffile("Wx::TipProvider::new", XS_Wx__TipProvider_new);
        newXS_deffile("Wx::TipProvider::Destroy", XS_Wx__TipProvider_Destroy);
        newXS_deffile("Wx::TipProvider::GetCurrentTip", XS_Wx__TipProvider_GetCurrentTip);
        newXS_deffile("Wx::TipProvider::GetTip", XS_Wx__TipProvider_GetTip);
        newXS_deffile("Wx::TipProvider::PreprocessTip", XS_Wx__TipProvider_PreprocessTip);
        newXS_deffile("Wx::TipProvider::SetCurrentTip", XS_Wx__TipProvider_SetCurrentTip);
#if XSubPPtmpAAAX
        newXS_deffile("Wx::Thread::IsMain", XS_Wx__Thread_IsMain);
#endif
#if XSubPPtmpAAAY
        newXS_deffile("Wx::IsStockID", XS_Wx_IsStockID);
        newXS_deffile("Wx::IsStockLabel", XS_Wx_IsStockLabel);
#if XSubPPtmpAAAZ
        newXS_deffile("Wx::GetStockLabel", XS_Wx_GetStockLabel);
#endif
#if XSubPPtmpAABA
        newXS_deffile("Wx::GetStockLabel", XS_Wx_GetStockLabel);
#endif
#if XSubPPtmpAABB
        newXS_deffile("Wx::GetStockLabel", XS_Wx_GetStockLabel);
#endif
#endif
#if XSubPPtmpAABC
        newXS_deffile("Wx::GetStockAccelerator", XS_Wx_GetStockAccelerator);
        newXS_deffile("Wx::GetStockHelpString", XS_Wx_GetStockHelpString);
#endif
#if XSubPPtmpAABD
        newXS_deffile("Wx::LaunchDefaultBrowser", XS_Wx_LaunchDefaultBrowser);
#endif
#if XSubPPtmpAABE
        newXS_deffile("Wx::LaunchDefaultBrowser", XS_Wx_LaunchDefaultBrowser);
#endif
        newXS_deffile("Wx::ShowTip", XS_Wx_ShowTip);
        newXS_deffile("Wx::CreateFileTipProvider", XS_Wx_CreateFileTipProvider);
        newXS_deffile("Wx::Usleep", XS_Wx_Usleep);
#if XSubPPtmpAABF
        newXS_deffile("Wx::MicroSleep", XS_Wx_MicroSleep);
#endif
        newXS_deffile("Wx::MilliSleep", XS_Wx_MilliSleep);
        newXS_deffile("Wx::Sleep", XS_Wx_Sleep);
        newXS_deffile("Wx::Yield", XS_Wx_Yield);
        newXS_deffile("Wx::SafeYield", XS_Wx_SafeYield);
        newXS_deffile("Wx::YieldIfNeeded", XS_Wx_YieldIfNeeded);
        newXS_deffile("Wx::Trap", XS_Wx_Trap);
        newXS_deffile("Wx::GetOsDescription", XS_Wx_GetOsDescription);
        newXS_deffile("Wx::NewId", XS_Wx_NewId);
        newXS_deffile("Wx::NewEventType", XS_Wx_NewEventType);
        newXS_deffile("Wx::RegisterId", XS_Wx_RegisterId);
        newXS_deffile("Wx::Bell", XS_Wx_Bell);
        newXS_deffile("Wx::Exit", XS_Wx_Exit);
        newXS_deffile("Wx::Shell", XS_Wx_Shell);
#if XSubPPtmpAABG
        newXS_deffile("Wx::GetKeyState", XS_Wx_GetKeyState);
#endif
        newXS_deffile("Wx::SetCursor", XS_Wx_SetCursor);
        newXS_deffile("Wx::_utf8_on", XS_Wx__utf8_on);
        newXS_deffile("Wx::_utf8_off", XS_Wx__utf8_off);
        newXS_deffile("Wx::LanguageInfo::new", XS_Wx__LanguageInfo_new);
        newXS_deffile("Wx::LanguageInfo::CLONE", XS_Wx__LanguageInfo_CLONE);
        newXS_deffile("Wx::LanguageInfo::DESTROY", XS_Wx__LanguageInfo_DESTROY);
        newXS_deffile("Wx::LanguageInfo::GetLanguage", XS_Wx__LanguageInfo_GetLanguage);
        newXS_deffile("Wx::LanguageInfo::GetCanonicalName", XS_Wx__LanguageInfo_GetCanonicalName);
        newXS_deffile("Wx::LanguageInfo::GetWinLang", XS_Wx__LanguageInfo_GetWinLang);
        newXS_deffile("Wx::LanguageInfo::GetWinSublang", XS_Wx__LanguageInfo_GetWinSublang);
        newXS_deffile("Wx::LanguageInfo::GetDescription", XS_Wx__LanguageInfo_GetDescription);
        newXS_deffile("Wx::Locale::newLong", XS_Wx__Locale_newLong);
        newXS_deffile("Wx::Locale::newShort", XS_Wx__Locale_newShort);
        newXS_deffile("Wx::Locale::CLONE", XS_Wx__Locale_CLONE);
        newXS_deffile("Wx::Locale::DESTROY", XS_Wx__Locale_DESTROY);
        newXS_deffile("Wx::Locale::AddCatalog", XS_Wx__Locale_AddCatalog);
        newXS_deffile("Wx::Locale::AddCatalogLookupPathPrefix", XS_Wx__Locale_AddCatalogLookupPathPrefix);
#if XSubPPtmpAABH
        newXS_deffile("Wx::Locale::IsAvailable", XS_Wx__Locale_IsAvailable);
#endif
        newXS_deffile("Wx::Locale::AddLanguage", XS_Wx__Locale_AddLanguage);
        newXS_deffile("Wx::Locale::GetLocale", XS_Wx__Locale_GetLocale);
        newXS_deffile("Wx::Locale::GetName", XS_Wx__Locale_GetName);
        newXS_deffile("Wx::Locale::GetString", XS_Wx__Locale_GetString);
#if XSubPPtmpAABI
        newXS_deffile("Wx::Locale::GetHeaderValue", XS_Wx__Locale_GetHeaderValue);
#endif
        newXS_deffile("Wx::Locale::GetSystemLanguage", XS_Wx__Locale_GetSystemLanguage);
        newXS_deffile("Wx::Locale::GetLanguage", XS_Wx__Locale_GetLanguage);
#if XSubPPtmpAABJ
        newXS_deffile("Wx::Locale::GetLanguageName", XS_Wx__Locale_GetLanguageName);
#endif
        newXS_deffile("Wx::Locale::GetSysName", XS_Wx__Locale_GetSysName);
        newXS_deffile("Wx::Locale::GetCanonicalName", XS_Wx__Locale_GetCanonicalName);
        newXS_deffile("Wx::Locale::GetSystemEncoding", XS_Wx__Locale_GetSystemEncoding);
        newXS_deffile("Wx::Locale::GetSystemEncodingName", XS_Wx__Locale_GetSystemEncodingName);
        newXS_deffile("Wx::Locale::IsLoaded", XS_Wx__Locale_IsLoaded);
        newXS_deffile("Wx::Locale::IsOk", XS_Wx__Locale_IsOk);
        newXS_deffile("Wx::Locale::FindLanguageInfo", XS_Wx__Locale_FindLanguageInfo);
        newXS_deffile("Wx::Locale::Init", XS_Wx__Locale_Init);
        newXS_deffile("Wx::Locale::GetLanguageInfo", XS_Wx__Locale_GetLanguageInfo);
        newXS_deffile("Wx::GetTranslation", XS_Wx_GetTranslation);
        newXS_deffile("Wx::GetTranslationNormal", XS_Wx_GetTranslationNormal);
        newXS_deffile("Wx::GetTranslationPlural", XS_Wx_GetTranslationPlural);
#if XSubPPtmpAABK
        newXS_deffile("Wx::ToolTip::Enable", XS_Wx__ToolTip_Enable);
        newXS_deffile("Wx::ToolTip::SetDelay", XS_Wx__ToolTip_SetDelay);
#if XSubPPtmpAABL
        newXS_deffile("Wx::ToolTip::SetAutoPop", XS_Wx__ToolTip_SetAutoPop);
        newXS_deffile("Wx::ToolTip::SetReshow", XS_Wx__ToolTip_SetReshow);
#endif
        newXS_deffile("Wx::ToolTip::new", XS_Wx__ToolTip_new);
        newXS_deffile("Wx::ToolTip::SetTip", XS_Wx__ToolTip_SetTip);
        newXS_deffile("Wx::ToolTip::GetTip", XS_Wx__ToolTip_GetTip);
        newXS_deffile("Wx::ToolTip::GetWindow", XS_Wx__ToolTip_GetWindow);
#endif
        newXS_deffile("Wx::Log::Destroy", XS_Wx__Log_Destroy);
        newXS_deffile("Wx::Log::IsEnabled", XS_Wx__Log_IsEnabled);
        newXS_deffile("Wx::Log::EnableLogging", XS_Wx__Log_EnableLogging);
#if XSubPPtmpAABM
        newXS_deffile("Wx::Log::SetRepetitionCounting", XS_Wx__Log_SetRepetitionCounting);
        newXS_deffile("Wx::Log::GetRepetitionCounting", XS_Wx__Log_GetRepetitionCounting);
        newXS_deffile("Wx::Log::DoCreateOnDemand", XS_Wx__Log_DoCreateOnDemand);
#endif
        newXS_deffile("Wx::Log::AddTraceMask", XS_Wx__Log_AddTraceMask);
        newXS_deffile("Wx::Log::ClearTraceMasks", XS_Wx__Log_ClearTraceMasks);
        newXS_deffile("Wx::Log::RemoveTraceMask", XS_Wx__Log_RemoveTraceMask);
        newXS_deffile("Wx::Log::IsAllowedTraceMask", XS_Wx__Log_IsAllowedTraceMask);
        newXS_deffile("Wx::Log::GetTraceMasks", XS_Wx__Log_GetTraceMasks);
        newXS_deffile("Wx::Log::GetActiveTarget", XS_Wx__Log_GetActiveTarget);
        newXS_deffile("Wx::Log::SetActiveTarget", XS_Wx__Log_SetActiveTarget);
        newXS_deffile("Wx::Log::DontCreateOnDemand", XS_Wx__Log_DontCreateOnDemand);
        newXS_deffile("Wx::Log::Suspend", XS_Wx__Log_Suspend);
        newXS_deffile("Wx::Log::Resume", XS_Wx__Log_Resume);
        newXS_deffile("Wx::Log::GetLogLevel", XS_Wx__Log_GetLogLevel);
        newXS_deffile("Wx::Log::SetLogLevel", XS_Wx__Log_SetLogLevel);
        newXS_deffile("Wx::Log::Flush", XS_Wx__Log_Flush);
        newXS_deffile("Wx::Log::FlushActive", XS_Wx__Log_FlushActive);
        newXS_deffile("Wx::Log::HasPendingMessages", XS_Wx__Log_HasPendingMessages);
        newXS_deffile("Wx::Log::SetVerbose", XS_Wx__Log_SetVerbose);
        newXS_deffile("Wx::Log::SetVerboseFunctionDefault", XS_Wx__Log_SetVerboseFunctionDefault);
        newXS_deffile("Wx::Log::SetVerboseMethodDefault", XS_Wx__Log_SetVerboseMethodDefault);
        newXS_deffile("Wx::Log::SetVerboseFunctionParam", XS_Wx__Log_SetVerboseFunctionParam);
        newXS_deffile("Wx::Log::SetVerboseMethodParam", XS_Wx__Log_SetVerboseMethodParam);
        newXS_deffile("Wx::Log::GetVerbose", XS_Wx__Log_GetVerbose);
#if XSubPPtmpAABN
        newXS_deffile("Wx::Log::_SetTimestamp", XS_Wx__Log__SetTimestamp);
        newXS_deffile("Wx::Log::GetTimestamp", XS_Wx__Log_GetTimestamp);
#endif
#if XSubPPtmpAABO
        newXS_deffile("Wx::Log::_SetTimestamp", XS_Wx__Log__SetTimestamp);
        newXS_deffile("Wx::Log::GetTimestamp", XS_Wx__Log_GetTimestamp);
#endif
#if XSubPPtmpAABP
        newXS_deffile("Wx::Log::SetComponentLevel", XS_Wx__Log_SetComponentLevel);
        newXS_deffile("Wx::Log::GetComponentLevel", XS_Wx__Log_GetComponentLevel);
        newXS_deffile("Wx::Log::IsLevelEnabled", XS_Wx__Log_IsLevelEnabled);
#endif
#if XSubPPtmpAABQ
        newXS_deffile("Wx::Log::SetTraceMask", XS_Wx__Log_SetTraceMask);
        newXS_deffile("Wx::Log::GetTraceMask", XS_Wx__Log_GetTraceMask);
#endif
        newXS_deffile("Wx::PlLog::new", XS_Wx__PlLog_new);
        newXS_deffile("Wx::LogTextCtrl::new", XS_Wx__LogTextCtrl_new);
        newXS_deffile("Wx::LogNull::new", XS_Wx__LogNull_new);
        newXS_deffile("Wx::LogNull::CLONE", XS_Wx__LogNull_CLONE);
        newXS_deffile("Wx::LogNull::DESTROY", XS_Wx__LogNull_DESTROY);
        newXS_deffile("Wx::LogGui::new", XS_Wx__LogGui_new);
        newXS_deffile("Wx::LogWindow::new", XS_Wx__LogWindow_new);
#if XSubPPtmpAABR
        cv = newXS_deffile("Wx::wxLogDebug", XS_Wx_interface__wxstring);
        XSINTERFACE__wxstring_SET(cv,wxLogDebug);
        cv = newXS_deffile("Wx::wxLogError", XS_Wx_interface__wxstring);
        XSINTERFACE__wxstring_SET(cv,wxLogError);
        cv = newXS_deffile("Wx::wxLogFatalError", XS_Wx_interface__wxstring);
        XSINTERFACE__wxstring_SET(cv,wxLogFatalError);
        cv = newXS_deffile("Wx::wxLogMessage", XS_Wx_interface__wxstring);
        XSINTERFACE__wxstring_SET(cv,wxLogMessage);
        cv = newXS_deffile("Wx::wxLogVerbose", XS_Wx_interface__wxstring);
        XSINTERFACE__wxstring_SET(cv,wxLogVerbose);
        cv = newXS_deffile("Wx::wxLogWarning", XS_Wx_interface__wxstring);
        XSINTERFACE__wxstring_SET(cv,wxLogWarning);
#endif
#if XSubPPtmpAABS
        newXS_deffile("Wx::wxLogError", XS_Wx_wxLogError);
        newXS_deffile("Wx::wxLogFatalError", XS_Wx_wxLogFatalError);
        newXS_deffile("Wx::wxLogWarning", XS_Wx_wxLogWarning);
        newXS_deffile("Wx::wxLogMessage", XS_Wx_wxLogMessage);
        newXS_deffile("Wx::wxLogVerbose", XS_Wx_wxLogVerbose);
        newXS_deffile("Wx::wxLogDebug", XS_Wx_wxLogDebug);
#endif
#if XSubPPtmpAABT
        newXS_deffile("Wx::wxLogError", XS_Wx_wxLogError);
        newXS_deffile("Wx::wxLogFatalError", XS_Wx_wxLogFatalError);
        newXS_deffile("Wx::wxLogWarning", XS_Wx_wxLogWarning);
        newXS_deffile("Wx::wxLogMessage", XS_Wx_wxLogMessage);
        newXS_deffile("Wx::wxLogVerbose", XS_Wx_wxLogVerbose);
        newXS_deffile("Wx::wxLogDebug", XS_Wx_wxLogDebug);
#endif
        newXS_deffile("Wx::wxLogStatusFrame", XS_Wx_wxLogStatusFrame);
        newXS_deffile("Wx::wxLogStatus", XS_Wx_wxLogStatus);
#if XSubPPtmpAABU
        newXS_deffile("Wx::wxLogTrace", XS_Wx_wxLogTrace);
#endif
        newXS_deffile("Wx::wxLogTraceMask", XS_Wx_wxLogTraceMask);
        newXS_deffile("Wx::wxLogSysError", XS_Wx_wxLogSysError);
        newXS_deffile("Wx::SysErrorCode", XS_Wx_SysErrorCode);
        newXS_deffile("Wx::SysErrorMsg", XS_Wx_SysErrorMsg);
        newXS_deffile("Wx::LogChain::new", XS_Wx__LogChain_new);
        newXS_deffile("Wx::LogChain::GetOldLog", XS_Wx__LogChain_GetOldLog);
#if XSubPPtmpAABV
        newXS_deffile("Wx::LogChain::DetachOldLog", XS_Wx__LogChain_DetachOldLog);
#endif
        newXS_deffile("Wx::LogChain::IsPassingMessages", XS_Wx__LogChain_IsPassingMessages);
        newXS_deffile("Wx::LogChain::PassMessages", XS_Wx__LogChain_PassMessages);
        newXS_deffile("Wx::LogChain::SetLog", XS_Wx__LogChain_SetLog);
        newXS_deffile("Wx::LogPassThrough::new", XS_Wx__LogPassThrough_new);
        newXS_deffile("Wx::PlLogPassThrough::new", XS_Wx__PlLogPassThrough_new);
        newXS_deffile("Wx::LogStderr::new", XS_Wx__LogStderr_new);
#if XSubPPtmpAABW
        newXS_deffile("Wx::PlLogFormatter::new", XS_Wx__PlLogFormatter_new);
        newXS_deffile("Wx::PlLogFormatter::Destroy", XS_Wx__PlLogFormatter_Destroy);
        newXS_deffile("Wx::LogFormatter::Destroy", XS_Wx__LogFormatter_Destroy);
        newXS_deffile("Wx::LogRecordInfo::filename", XS_Wx__LogRecordInfo_filename);
        newXS_deffile("Wx::LogRecordInfo::line", XS_Wx__LogRecordInfo_line);
        newXS_deffile("Wx::LogRecordInfo::func", XS_Wx__LogRecordInfo_func);
        newXS_deffile("Wx::LogRecordInfo::component", XS_Wx__LogRecordInfo_component);
        newXS_deffile("Wx::LogRecordInfo::timestamp", XS_Wx__LogRecordInfo_timestamp);
        newXS_deffile("Wx::LogRecordInfo::StoreValue", XS_Wx__LogRecordInfo_StoreValue);
        newXS_deffile("Wx::LogRecordInfo::StoreNumValue", XS_Wx__LogRecordInfo_StoreNumValue);
        newXS_deffile("Wx::LogRecordInfo::StoreStrValue", XS_Wx__LogRecordInfo_StoreStrValue);
        newXS_deffile("Wx::LogRecordInfo::GetNumValue", XS_Wx__LogRecordInfo_GetNumValue);
        newXS_deffile("Wx::LogRecordInfo::GetStrValue", XS_Wx__LogRecordInfo_GetStrValue);
#endif
        newXS_deffile("Wx::Menu::new", XS_Wx__Menu_new);
#if XSubPPtmpAABX
        newXS_deffile("Wx::Menu::AppendSubMenu", XS_Wx__Menu_AppendSubMenu);
#endif
        newXS_deffile("Wx::Menu::AppendString", XS_Wx__Menu_AppendString);
        newXS_deffile("Wx::Menu::AppendSubMenu_", XS_Wx__Menu_AppendSubMenu_);
        newXS_deffile("Wx::Menu::AppendItem", XS_Wx__Menu_AppendItem);
        newXS_deffile("Wx::Menu::AppendCheckItem", XS_Wx__Menu_AppendCheckItem);
        newXS_deffile("Wx::Menu::AppendRadioItem", XS_Wx__Menu_AppendRadioItem);
        newXS_deffile("Wx::Menu::AppendSeparator", XS_Wx__Menu_AppendSeparator);
        newXS_deffile("Wx::Menu::Break", XS_Wx__Menu_Break);
        newXS_deffile("Wx::Menu::Check", XS_Wx__Menu_Check);
        newXS_deffile("Wx::Menu::DeleteId", XS_Wx__Menu_DeleteId);
        newXS_deffile("Wx::Menu::DeleteItem", XS_Wx__Menu_DeleteItem);
        newXS_deffile("Wx::Menu::DestroyMenu", XS_Wx__Menu_DestroyMenu);
        newXS_deffile("Wx::Menu::DestroyId", XS_Wx__Menu_DestroyId);
        newXS_deffile("Wx::Menu::DestroyItem", XS_Wx__Menu_DestroyItem);
        newXS_deffile("Wx::Menu::Enable", XS_Wx__Menu_Enable);
#if XSubPPtmpAABY
        newXS_deffile("Wx::Menu::FindItemByPosition", XS_Wx__Menu_FindItemByPosition);
#endif
        newXS_deffile("Wx::Menu::FindItem", XS_Wx__Menu_FindItem);
        newXS_deffile("Wx::Menu::GetHelpString", XS_Wx__Menu_GetHelpString);
        newXS_deffile("Wx::Menu::GetLabel", XS_Wx__Menu_GetLabel);
#if XSubPPtmpAABZ
        newXS_deffile("Wx::Menu::GetLabelText", XS_Wx__Menu_GetLabelText);
#endif
        newXS_deffile("Wx::Menu::GetMenuItemCount", XS_Wx__Menu_GetMenuItemCount);
        newXS_deffile("Wx::Menu::GetMenuItems", XS_Wx__Menu_GetMenuItems);
        newXS_deffile("Wx::Menu::GetTitle", XS_Wx__Menu_GetTitle);
        newXS_deffile("Wx::Menu::InsertItem", XS_Wx__Menu_InsertItem);
        newXS_deffile("Wx::Menu::InsertString", XS_Wx__Menu_InsertString);
        newXS_deffile("Wx::Menu::InsertSubMenu", XS_Wx__Menu_InsertSubMenu);
        newXS_deffile("Wx::Menu::InsertCheckItem", XS_Wx__Menu_InsertCheckItem);
        newXS_deffile("Wx::Menu::InsertRadioItem", XS_Wx__Menu_InsertRadioItem);
        newXS_deffile("Wx::Menu::InsertSeparator", XS_Wx__Menu_InsertSeparator);
        newXS_deffile("Wx::Menu::IsChecked", XS_Wx__Menu_IsChecked);
        newXS_deffile("Wx::Menu::IsEnabled", XS_Wx__Menu_IsEnabled);
        newXS_deffile("Wx::Menu::PrependString", XS_Wx__Menu_PrependString);
        newXS_deffile("Wx::Menu::PrependItem", XS_Wx__Menu_PrependItem);
        newXS_deffile("Wx::Menu::PrependSubMenu", XS_Wx__Menu_PrependSubMenu);
        newXS_deffile("Wx::Menu::PrependCheckItem", XS_Wx__Menu_PrependCheckItem);
        newXS_deffile("Wx::Menu::PrependRadioItem", XS_Wx__Menu_PrependRadioItem);
        newXS_deffile("Wx::Menu::PrependSeparator", XS_Wx__Menu_PrependSeparator);
        newXS_deffile("Wx::Menu::RemoveId", XS_Wx__Menu_RemoveId);
        newXS_deffile("Wx::Menu::RemoveItem", XS_Wx__Menu_RemoveItem);
        newXS_deffile("Wx::Menu::SetHelpString", XS_Wx__Menu_SetHelpString);
        newXS_deffile("Wx::Menu::SetLabel", XS_Wx__Menu_SetLabel);
        newXS_deffile("Wx::Menu::SetTitle", XS_Wx__Menu_SetTitle);
        newXS_deffile("Wx::Menu::UpdateUI", XS_Wx__Menu_UpdateUI);
#if XSubPPtmpAACA
        newXS_deffile("Wx::Menu::GetLayoutDirection", XS_Wx__Menu_GetLayoutDirection);
        newXS_deffile("Wx::Menu::SetLayoutDirection", XS_Wx__Menu_SetLayoutDirection);
#endif
        newXS_deffile("Wx::MenuBar::new", XS_Wx__MenuBar_new);
        newXS_deffile("Wx::MenuBar::Append", XS_Wx__MenuBar_Append);
        newXS_deffile("Wx::MenuBar::Check", XS_Wx__MenuBar_Check);
        newXS_deffile("Wx::MenuBar::Enable", XS_Wx__MenuBar_Enable);
        newXS_deffile("Wx::MenuBar::EnableTop", XS_Wx__MenuBar_EnableTop);
        newXS_deffile("Wx::MenuBar::FindItem", XS_Wx__MenuBar_FindItem);
        newXS_deffile("Wx::MenuBar::FindMenu", XS_Wx__MenuBar_FindMenu);
        newXS_deffile("Wx::MenuBar::FindMenuItem", XS_Wx__MenuBar_FindMenuItem);
        newXS_deffile("Wx::MenuBar::GetHelpString", XS_Wx__MenuBar_GetHelpString);
        newXS_deffile("Wx::MenuBar::GetLabel", XS_Wx__MenuBar_GetLabel);
#if XSubPPtmpAACB
        newXS_deffile("Wx::MenuBar::GetLabelTop", XS_Wx__MenuBar_GetLabelTop);
#endif
#if XSubPPtmpAACC
        newXS_deffile("Wx::MenuBar::GetMenuLabel", XS_Wx__MenuBar_GetMenuLabel);
        newXS_deffile("Wx::MenuBar::GetMenuLabelText", XS_Wx__MenuBar_GetMenuLabelText);
#endif
        newXS_deffile("Wx::MenuBar::GetMenu", XS_Wx__MenuBar_GetMenu);
        newXS_deffile("Wx::MenuBar::GetMenuCount", XS_Wx__MenuBar_GetMenuCount);
        newXS_deffile("Wx::MenuBar::Insert", XS_Wx__MenuBar_Insert);
        newXS_deffile("Wx::MenuBar::IsChecked", XS_Wx__MenuBar_IsChecked);
        newXS_deffile("Wx::MenuBar::IsEnabled", XS_Wx__MenuBar_IsEnabled);
        newXS_deffile("Wx::MenuBar::Refresh", XS_Wx__MenuBar_Refresh);
        newXS_deffile("Wx::MenuBar::Remove", XS_Wx__MenuBar_Remove);
        newXS_deffile("Wx::MenuBar::Replace", XS_Wx__MenuBar_Replace);
        newXS_deffile("Wx::MenuBar::SetHelpString", XS_Wx__MenuBar_SetHelpString);
        newXS_deffile("Wx::MenuBar::SetLabel", XS_Wx__MenuBar_SetLabel);
#if XSubPPtmpAACD
        newXS_deffile("Wx::MenuBar::SetLabelTop", XS_Wx__MenuBar_SetLabelTop);
#endif
#if XSubPPtmpAACE
        newXS_deffile("Wx::MenuBar::SetMenuLabel", XS_Wx__MenuBar_SetMenuLabel);
#endif
        newXS_deffile("Wx::MenuBar::IsEnabledTop", XS_Wx__MenuBar_IsEnabledTop);
#if XSubPPtmpAACF
        newXS_deffile("Wx::MenuBar::GetLayoutDirection", XS_Wx__MenuBar_GetLayoutDirection);
        newXS_deffile("Wx::MenuBar::SetLayoutDirection", XS_Wx__MenuBar_SetLayoutDirection);
#endif
#if XSubPPtmpAACG
        newXS_deffile("Wx::MenuBar::MacInstallMenuBar", XS_Wx__MenuBar_MacInstallMenuBar);
        newXS_deffile("Wx::MenuBar::MacGetInstalledMenuBar", XS_Wx__MenuBar_MacGetInstalledMenuBar);
        newXS_deffile("Wx::MenuBar::MacSetCommonMenuBar", XS_Wx__MenuBar_MacSetCommonMenuBar);
        newXS_deffile("Wx::MenuBar::MacGetCommonMenuBar", XS_Wx__MenuBar_MacGetCommonMenuBar);
#endif
        newXS_deffile("Wx::MenuItem::new", XS_Wx__MenuItem_new);
        newXS_deffile("Wx::MenuItem::Check", XS_Wx__MenuItem_Check);
        newXS_deffile("Wx::MenuItem::Enable", XS_Wx__MenuItem_Enable);
#if XSubPPtmpAACH
        newXS_deffile("Wx::MenuItem::GetBackgroundColour", XS_Wx__MenuItem_GetBackgroundColour);
        newXS_deffile("Wx::MenuItem::GetFont", XS_Wx__MenuItem_GetFont);
#endif
#if XSubPPtmpAACI
        newXS_deffile("Wx::MenuItem::GetBitmap", XS_Wx__MenuItem_GetBitmap);
#endif
        newXS_deffile("Wx::MenuItem::GetHelp", XS_Wx__MenuItem_GetHelp);
#if XSubPPtmpAACJ
        newXS_deffile("Wx::MenuItem::GetName", XS_Wx__MenuItem_GetName);
#endif
        newXS_deffile("Wx::MenuItem::GetId", XS_Wx__MenuItem_GetId);
        newXS_deffile("Wx::MenuItem::GetKind", XS_Wx__MenuItem_GetKind);
#if XSubPPtmpAACK
        newXS_deffile("Wx::MenuItem::GetLabel", XS_Wx__MenuItem_GetLabel);
        newXS_deffile("Wx::MenuItem::GetLabelFromText", XS_Wx__MenuItem_GetLabelFromText);
#endif
#if XSubPPtmpAACL
        newXS_deffile("Wx::MenuItem::GetItemLabel", XS_Wx__MenuItem_GetItemLabel);
        newXS_deffile("Wx::MenuItem::GetItemLabelText", XS_Wx__MenuItem_GetItemLabelText);
        newXS_deffile("Wx::MenuItem::GetLabelText", XS_Wx__MenuItem_GetLabelText);
#endif
        newXS_deffile("Wx::MenuItem::GetMenu", XS_Wx__MenuItem_GetMenu);
#if XSubPPtmpAACM
        newXS_deffile("Wx::MenuItem::GetMarginWidth", XS_Wx__MenuItem_GetMarginWidth);
#endif
#if XSubPPtmpAACN
        newXS_deffile("Wx::MenuItem::GetText", XS_Wx__MenuItem_GetText);
#endif
        newXS_deffile("Wx::MenuItem::GetSubMenu", XS_Wx__MenuItem_GetSubMenu);
#if XSubPPtmpAACO
        newXS_deffile("Wx::MenuItem::GetTextColour", XS_Wx__MenuItem_GetTextColour);
#endif
        newXS_deffile("Wx::MenuItem::IsCheckable", XS_Wx__MenuItem_IsCheckable);
        newXS_deffile("Wx::MenuItem::IsChecked", XS_Wx__MenuItem_IsChecked);
        newXS_deffile("Wx::MenuItem::IsEnabled", XS_Wx__MenuItem_IsEnabled);
        newXS_deffile("Wx::MenuItem::IsSeparator", XS_Wx__MenuItem_IsSeparator);
        newXS_deffile("Wx::MenuItem::IsSubMenu", XS_Wx__MenuItem_IsSubMenu);
#if XSubPPtmpAACP
        newXS_deffile("Wx::MenuItem::SetBackgroundColour", XS_Wx__MenuItem_SetBackgroundColour);
        newXS_deffile("Wx::MenuItem::SetFont", XS_Wx__MenuItem_SetFont);
#endif
        newXS_deffile("Wx::MenuItem::SetHelp", XS_Wx__MenuItem_SetHelp);
        newXS_deffile("Wx::MenuItem::SetMenu", XS_Wx__MenuItem_SetMenu);
        newXS_deffile("Wx::MenuItem::SetSubMenu", XS_Wx__MenuItem_SetSubMenu);
#if XSubPPtmpAACQ
        newXS_deffile("Wx::MenuItem::SetText", XS_Wx__MenuItem_SetText);
#endif
#if XSubPPtmpAACR
        newXS_deffile("Wx::MenuItem::SetItemLabel", XS_Wx__MenuItem_SetItemLabel);
#endif
#if XSubPPtmpAACS
        newXS_deffile("Wx::MenuItem::SetMarginWidth", XS_Wx__MenuItem_SetMarginWidth);
        newXS_deffile("Wx::MenuItem::SetTextColour", XS_Wx__MenuItem_SetTextColour);
        newXS_deffile("Wx::MenuItem::SetBitmaps", XS_Wx__MenuItem_SetBitmaps);
#endif
#if XSubPPtmpAACT
        newXS_deffile("Wx::MenuItem::SetBitmap", XS_Wx__MenuItem_SetBitmap);
#endif
        newXS_deffile("Wx::Size::new", XS_Wx__Size_new);
        newXS_deffile("Wx::Size::CLONE", XS_Wx__Size_CLONE);
        newXS_deffile("Wx::Size::DESTROY", XS_Wx__Size_DESTROY);
        newXS_deffile("Wx::Size::width", XS_Wx__Size_width);
        newXS_deffile("Wx::Size::height", XS_Wx__Size_height);
        newXS_deffile("Wx::Size::GetHeight", XS_Wx__Size_GetHeight);
        newXS_deffile("Wx::Size::GetWidth", XS_Wx__Size_GetWidth);
        newXS_deffile("Wx::Size::Set", XS_Wx__Size_Set);
        newXS_deffile("Wx::Size::SetHeight", XS_Wx__Size_SetHeight);
        newXS_deffile("Wx::Size::SetWidth", XS_Wx__Size_SetWidth);
        newXS_deffile("Wx::Size::IncTo", XS_Wx__Size_IncTo);
        newXS_deffile("Wx::Size::DecTo", XS_Wx__Size_DecTo);
#if XSubPPtmpAACU
        newXS_deffile("Wx::Size::Scale", XS_Wx__Size_Scale);
#endif
        newXS_deffile("Wx::Size::IsFullySpecified", XS_Wx__Size_IsFullySpecified);
        newXS_deffile("Wx::Size::SetDefaults", XS_Wx__Size_SetDefaults);
        newXS_deffile("Wx::Point::new", XS_Wx__Point_new);
        newXS_deffile("Wx::Point::CLONE", XS_Wx__Point_CLONE);
        newXS_deffile("Wx::Point::DESTROY", XS_Wx__Point_DESTROY);
        newXS_deffile("Wx::Point::x", XS_Wx__Point_x);
        newXS_deffile("Wx::Point::y", XS_Wx__Point_y);
        newXS_deffile("Wx::Rect::new", XS_Wx__Rect_new);
        newXS_deffile("Wx::Rect::newXYWH", XS_Wx__Rect_newXYWH);
        newXS_deffile("Wx::Rect::newPP", XS_Wx__Rect_newPP);
        newXS_deffile("Wx::Rect::newPS", XS_Wx__Rect_newPS);
        newXS_deffile("Wx::Rect::CLONE", XS_Wx__Rect_CLONE);
        newXS_deffile("Wx::Rect::DESTROY", XS_Wx__Rect_DESTROY);
        newXS_deffile("Wx::Rect::x", XS_Wx__Rect_x);
        newXS_deffile("Wx::Rect::y", XS_Wx__Rect_y);
        newXS_deffile("Wx::Rect::width", XS_Wx__Rect_width);
        newXS_deffile("Wx::Rect::height", XS_Wx__Rect_height);
        newXS_deffile("Wx::Rect::GetBottom", XS_Wx__Rect_GetBottom);
        newXS_deffile("Wx::Rect::GetHeight", XS_Wx__Rect_GetHeight);
        newXS_deffile("Wx::Rect::GetLeft", XS_Wx__Rect_GetLeft);
        newXS_deffile("Wx::Rect::GetPosition", XS_Wx__Rect_GetPosition);
        newXS_deffile("Wx::Rect::GetTopLeft", XS_Wx__Rect_GetTopLeft);
        newXS_deffile("Wx::Rect::GetBottomRight", XS_Wx__Rect_GetBottomRight);
#if XSubPPtmpAACV
        newXS_deffile("Wx::Rect::GetBottomLeft", XS_Wx__Rect_GetBottomLeft);
        newXS_deffile("Wx::Rect::GetTopRight", XS_Wx__Rect_GetTopRight);
        newXS_deffile("Wx::Rect::IsEmpty", XS_Wx__Rect_IsEmpty);
        newXS_deffile("Wx::Rect::Union", XS_Wx__Rect_Union);
#endif
        newXS_deffile("Wx::Rect::GetRight", XS_Wx__Rect_GetRight);
        newXS_deffile("Wx::Rect::GetSize", XS_Wx__Rect_GetSize);
        newXS_deffile("Wx::Rect::GetTop", XS_Wx__Rect_GetTop);
        newXS_deffile("Wx::Rect::GetWidth", XS_Wx__Rect_GetWidth);
        newXS_deffile("Wx::Rect::GetX", XS_Wx__Rect_GetX);
        newXS_deffile("Wx::Rect::GetY", XS_Wx__Rect_GetY);
        newXS_deffile("Wx::Rect::Deflate", XS_Wx__Rect_Deflate);
        newXS_deffile("Wx::Rect::Inflate", XS_Wx__Rect_Inflate);
        newXS_deffile("Wx::Rect::Intersect", XS_Wx__Rect_Intersect);
        newXS_deffile("Wx::Rect::Intersects", XS_Wx__Rect_Intersects);
        newXS_deffile("Wx::Rect::SetHeight", XS_Wx__Rect_SetHeight);
        newXS_deffile("Wx::Rect::SetWidth", XS_Wx__Rect_SetWidth);
        newXS_deffile("Wx::Rect::SetX", XS_Wx__Rect_SetX);
        newXS_deffile("Wx::Rect::SetY", XS_Wx__Rect_SetY);
        newXS_deffile("Wx::Rect::SetPosition", XS_Wx__Rect_SetPosition);
        newXS_deffile("Wx::Rect::SetSize", XS_Wx__Rect_SetSize);
        newXS_deffile("Wx::Rect::Offset", XS_Wx__Rect_Offset);
        newXS_deffile("Wx::Rect::Contains", XS_Wx__Rect_Contains);
        newXS_deffile("Wx::Rect::Inside", XS_Wx__Rect_Inside);
        newXS_deffile("Wx::Rect::ContainsXY", XS_Wx__Rect_ContainsXY);
        newXS_deffile("Wx::Rect::ContainsPoint", XS_Wx__Rect_ContainsPoint);
#if XSubPPtmpAACW
        newXS_deffile("Wx::Rect::ContainsRect", XS_Wx__Rect_ContainsRect);
        newXS_deffile("Wx::Rect::CentreIn", XS_Wx__Rect_CentreIn);
#endif
        newXS_deffile("Wx::Region::newEmpty", XS_Wx__Region_newEmpty);
        newXS_deffile("Wx::Region::newXYWH", XS_Wx__Region_newXYWH);
        newXS_deffile("Wx::Region::newPP", XS_Wx__Region_newPP);
        newXS_deffile("Wx::Region::newRect", XS_Wx__Region_newRect);
#if XSubPPtmpAACX
        newXS_deffile("Wx::Region::newPolygon", XS_Wx__Region_newPolygon);
#endif
#if XSubPPtmpAACY
        newXS_deffile("Wx::Region::newBitmap", XS_Wx__Region_newBitmap);
        newXS_deffile("Wx::Region::newBitmapOnly", XS_Wx__Region_newBitmapOnly);
#endif
        newXS_deffile("Wx::Region::new", XS_Wx__Region_new);
        newXS_deffile("Wx::Region::CLONE", XS_Wx__Region_CLONE);
        newXS_deffile("Wx::Region::DESTROY", XS_Wx__Region_DESTROY);
        newXS_deffile("Wx::Region::Clear", XS_Wx__Region_Clear);
        newXS_deffile("Wx::Region::ContainsXY", XS_Wx__Region_ContainsXY);
        newXS_deffile("Wx::Region::ContainsPoint", XS_Wx__Region_ContainsPoint);
        newXS_deffile("Wx::Region::ContainsXYWH", XS_Wx__Region_ContainsXYWH);
        newXS_deffile("Wx::Region::ContainsRect", XS_Wx__Region_ContainsRect);
        newXS_deffile("Wx::Region::Contains", XS_Wx__Region_Contains);
        newXS_deffile("Wx::Region::ConvertToBitmap", XS_Wx__Region_ConvertToBitmap);
        newXS_deffile("Wx::Region::GetBox", XS_Wx__Region_GetBox);
        newXS_deffile("Wx::Region::GetBoxXYWH", XS_Wx__Region_GetBoxXYWH);
        newXS_deffile("Wx::Region::IntersectXYWH", XS_Wx__Region_IntersectXYWH);
        newXS_deffile("Wx::Region::IntersectRect", XS_Wx__Region_IntersectRect);
        newXS_deffile("Wx::Region::IntersectRegion", XS_Wx__Region_IntersectRegion);
        newXS_deffile("Wx::Region::Intersect", XS_Wx__Region_Intersect);
        newXS_deffile("Wx::Region::IsEmpty", XS_Wx__Region_IsEmpty);
#if XSubPPtmpAACZ
        newXS_deffile("Wx::Region::IsEqual", XS_Wx__Region_IsEqual);
#endif
        newXS_deffile("Wx::Region::SubtractRect", XS_Wx__Region_SubtractRect);
#if XSubPPtmpAADA
        newXS_deffile("Wx::Region::Offset", XS_Wx__Region_Offset);
#endif
        newXS_deffile("Wx::Region::SubtractRegion", XS_Wx__Region_SubtractRegion);
        newXS_deffile("Wx::Region::Subtract", XS_Wx__Region_Subtract);
        newXS_deffile("Wx::Region::UnionXYWH", XS_Wx__Region_UnionXYWH);
        newXS_deffile("Wx::Region::UnionRect", XS_Wx__Region_UnionRect);
        newXS_deffile("Wx::Region::UnionRegion", XS_Wx__Region_UnionRegion);
        newXS_deffile("Wx::Region::UnionBitmapOnly", XS_Wx__Region_UnionBitmapOnly);
        newXS_deffile("Wx::Region::UnionBitmap", XS_Wx__Region_UnionBitmap);
        newXS_deffile("Wx::Region::Union", XS_Wx__Region_Union);
        newXS_deffile("Wx::Region::XorXYWH", XS_Wx__Region_XorXYWH);
        newXS_deffile("Wx::Region::XorRect", XS_Wx__Region_XorRect);
        newXS_deffile("Wx::Region::XorRegion", XS_Wx__Region_XorRegion);
        newXS_deffile("Wx::Region::Xor", XS_Wx__Region_Xor);
        newXS_deffile("Wx::RegionIterator::newDefault", XS_Wx__RegionIterator_newDefault);
        newXS_deffile("Wx::RegionIterator::newRegion", XS_Wx__RegionIterator_newRegion);
        newXS_deffile("Wx::RegionIterator::newCopy", XS_Wx__RegionIterator_newCopy);
        newXS_deffile("Wx::RegionIterator::new", XS_Wx__RegionIterator_new);
        newXS_deffile("Wx::RegionIterator::CLONE", XS_Wx__RegionIterator_CLONE);
        newXS_deffile("Wx::RegionIterator::DESTROY", XS_Wx__RegionIterator_DESTROY);
        newXS_deffile("Wx::RegionIterator::ResetVoid", XS_Wx__RegionIterator_ResetVoid);
        newXS_deffile("Wx::RegionIterator::ResetRegion", XS_Wx__RegionIterator_ResetRegion);
        newXS_deffile("Wx::RegionIterator::Reset", XS_Wx__RegionIterator_Reset);
        newXS_deffile("Wx::RegionIterator::HaveRects", XS_Wx__RegionIterator_HaveRects);
        newXS_deffile("Wx::RegionIterator::GetX", XS_Wx__RegionIterator_GetX);
        newXS_deffile("Wx::RegionIterator::GetY", XS_Wx__RegionIterator_GetY);
        newXS_deffile("Wx::RegionIterator::GetW", XS_Wx__RegionIterator_GetW);
        newXS_deffile("Wx::RegionIterator::GetWidth", XS_Wx__RegionIterator_GetWidth);
        newXS_deffile("Wx::RegionIterator::GetH", XS_Wx__RegionIterator_GetH);
        newXS_deffile("Wx::RegionIterator::GetHeight", XS_Wx__RegionIterator_GetHeight);
        newXS_deffile("Wx::RegionIterator::GetRect", XS_Wx__RegionIterator_GetRect);
#if XSubPPtmpAADB
        newXS_deffile("Wx::Position::new", XS_Wx__Position_new);
        newXS_deffile("Wx::Position::CLONE", XS_Wx__Position_CLONE);
        newXS_deffile("Wx::Position::DESTROY", XS_Wx__Position_DESTROY);
        newXS_deffile("Wx::Position::row", XS_Wx__Position_row);
        newXS_deffile("Wx::Position::col", XS_Wx__Position_col);
        newXS_deffile("Wx::Position::column", XS_Wx__Position_column);
        newXS_deffile("Wx::Position::GetRow", XS_Wx__Position_GetRow);
        newXS_deffile("Wx::Position::GetCol", XS_Wx__Position_GetCol);
        newXS_deffile("Wx::Position::GetColumn", XS_Wx__Position_GetColumn);
        newXS_deffile("Wx::Position::SetRow", XS_Wx__Position_SetRow);
        newXS_deffile("Wx::Position::SetCol", XS_Wx__Position_SetCol);
        newXS_deffile("Wx::Position::SetColumn", XS_Wx__Position_SetColumn);
#endif
        newXS_deffile("Wx::Caret::new", XS_Wx__Caret_new);
        newXS_deffile("Wx::Caret::newDefault", XS_Wx__Caret_newDefault);
        newXS_deffile("Wx::Caret::newSize", XS_Wx__Caret_newSize);
        newXS_deffile("Wx::Caret::newWH", XS_Wx__Caret_newWH);
        newXS_deffile("Wx::Caret::Create", XS_Wx__Caret_Create);
        newXS_deffile("Wx::Caret::CreateSize", XS_Wx__Caret_CreateSize);
        newXS_deffile("Wx::Caret::CreateWH", XS_Wx__Caret_CreateWH);
        newXS_deffile("Wx::Caret::Destroy", XS_Wx__Caret_Destroy);
        newXS_deffile("Wx::Caret::GetBlinkTime", XS_Wx__Caret_GetBlinkTime);
        newXS_deffile("Wx::Caret::GetSizeWH", XS_Wx__Caret_GetSizeWH);
        newXS_deffile("Wx::Caret::GetSize", XS_Wx__Caret_GetSize);
        newXS_deffile("Wx::Caret::GetPositionXY", XS_Wx__Caret_GetPositionXY);
        newXS_deffile("Wx::Caret::GetPosition", XS_Wx__Caret_GetPosition);
        newXS_deffile("Wx::Caret::GetWindow", XS_Wx__Caret_GetWindow);
        newXS_deffile("Wx::Caret::Hide", XS_Wx__Caret_Hide);
        newXS_deffile("Wx::Caret::IsOk", XS_Wx__Caret_IsOk);
        newXS_deffile("Wx::Caret::IsVisible", XS_Wx__Caret_IsVisible);
        newXS_deffile("Wx::Caret::Move", XS_Wx__Caret_Move);
        newXS_deffile("Wx::Caret::MovePoint", XS_Wx__Caret_MovePoint);
        newXS_deffile("Wx::Caret::MoveXY", XS_Wx__Caret_MoveXY);
        newXS_deffile("Wx::Caret::SetBlinkTime", XS_Wx__Caret_SetBlinkTime);
        newXS_deffile("Wx::Caret::SetSize", XS_Wx__Caret_SetSize);
        newXS_deffile("Wx::Caret::SetSizeSize", XS_Wx__Caret_SetSizeSize);
        newXS_deffile("Wx::Caret::SetSizeWH", XS_Wx__Caret_SetSizeWH);
        newXS_deffile("Wx::Caret::Show", XS_Wx__Caret_Show);
        newXS_deffile("Wx::PostEvent", XS_Wx_PostEvent);
        newXS_deffile("Wx::WakeUpIdle", XS_Wx_WakeUpIdle);
        newXS_deffile("Wx::_App::Start", XS_Wx___App_Start);
        newXS_deffile("Wx::_App::new", XS_Wx___App_new);
        newXS_deffile("Wx::App::Dispatch", XS_Wx__App_Dispatch);
        newXS_deffile("Wx::App::GetAppName", XS_Wx__App_GetAppName);
#if XSubPPtmpAADC
        newXS_deffile("Wx::App::GetAppDisplayName", XS_Wx__App_GetAppDisplayName);
#endif
#if XSubPPtmpAADD
        newXS_deffile("Wx::App::GetAuto3D", XS_Wx__App_GetAuto3D);
#endif
        newXS_deffile("Wx::App::GetClassName", XS_Wx__App_GetClassName);
        newXS_deffile("Wx::App::GetExitOnFrameDelete", XS_Wx__App_GetExitOnFrameDelete);
        newXS_deffile("Wx::App::GetStdIcon", XS_Wx__App_GetStdIcon);
        newXS_deffile("Wx::App::GetTopWindow", XS_Wx__App_GetTopWindow);
        newXS_deffile("Wx::App::GetUseBestVisual", XS_Wx__App_GetUseBestVisual);
        newXS_deffile("Wx::App::GetVendorName", XS_Wx__App_GetVendorName);
#if XSubPPtmpAADE
        newXS_deffile("Wx::App::GetVendorDisplayName", XS_Wx__App_GetVendorDisplayName);
#endif
        newXS_deffile("Wx::App::ExitMainLoop", XS_Wx__App_ExitMainLoop);
#if XSubPPtmpAADF
        newXS_deffile("Wx::App::Initialized", XS_Wx__App_Initialized);
#endif
        newXS_deffile("Wx::App::MainLoop", XS_Wx__App_MainLoop);
        newXS_deffile("Wx::App::Pending", XS_Wx__App_Pending);
        newXS_deffile("Wx::App::ProcessPendingEvents", XS_Wx__App_ProcessPendingEvents);
        newXS_deffile("Wx::App::SetAppName", XS_Wx__App_SetAppName);
#if XSubPPtmpAADG
        newXS_deffile("Wx::App::SetAppDisplayName", XS_Wx__App_SetAppDisplayName);
#endif
#if XSubPPtmpAADH
        newXS_deffile("Wx::App::SetAuto3D", XS_Wx__App_SetAuto3D);
#endif
        newXS_deffile("Wx::App::SetClassName", XS_Wx__App_SetClassName);
        newXS_deffile("Wx::App::SetExitOnFrameDelete", XS_Wx__App_SetExitOnFrameDelete);
        newXS_deffile("Wx::App::SetTopWindow", XS_Wx__App_SetTopWindow);
        newXS_deffile("Wx::App::SetVendorName", XS_Wx__App_SetVendorName);
#if XSubPPtmpAADI
        newXS_deffile("Wx::App::SetVendorDisplayName", XS_Wx__App_SetVendorDisplayName);
#endif
        newXS_deffile("Wx::App::SetUseBestVisual", XS_Wx__App_SetUseBestVisual);
        newXS_deffile("Wx::App::Yield", XS_Wx__App_Yield);
#if XSubPPtmpAADJ
        newXS_deffile("Wx::App::GetComCtl32Version", XS_Wx__App_GetComCtl32Version);
#endif
#if XSubPPtmpAADK
        newXS_deffile("Wx::App::Exit", XS_Wx__App_Exit);
        newXS_deffile("Wx::App::ProcessIdle", XS_Wx__App_ProcessIdle);
#if XSubPPtmpAADL
        newXS_deffile("Wx::App::SendIdleEvents", XS_Wx__App_SendIdleEvents);
#endif
        newXS_deffile("Wx::App::IsActive", XS_Wx__App_IsActive);
#endif
#if XSubPPtmpAADM
        newXS_deffile("Wx::App::GetLayoutDirection", XS_Wx__App_GetLayoutDirection);
#endif
        newXS_deffile("Wx::App::GetInstance", XS_Wx__App_GetInstance);
        newXS_deffile("Wx::App::SetInstance", XS_Wx__App_SetInstance);
        newXS_deffile("Wx::App::IsMainLoopRunning", XS_Wx__App_IsMainLoopRunning);
#if XSubPPtmpAADN
        newXS_deffile("Wx::App::OnAssertFailure", XS_Wx__App_OnAssertFailure);
#endif
#if XSubPPtmpAADO
        newXS_deffile("Wx::App::HasPendingEvents", XS_Wx__App_HasPendingEvents);
        newXS_deffile("Wx::App::IsScheduledForDestruction", XS_Wx__App_IsScheduledForDestruction);
        newXS_deffile("Wx::App::ResumeProcessingOfPendingEvents", XS_Wx__App_ResumeProcessingOfPendingEvents);
        newXS_deffile("Wx::App::SuspendProcessingOfPendingEvents", XS_Wx__App_SuspendProcessingOfPendingEvents);
        newXS_deffile("Wx::App::ScheduleForDestruction", XS_Wx__App_ScheduleForDestruction);
        newXS_deffile("Wx::App::SafeYield", XS_Wx__App_SafeYield);
        newXS_deffile("Wx::App::SafeYieldFor", XS_Wx__App_SafeYieldFor);
        newXS_deffile("Wx::App::SetNativeTheme", XS_Wx__App_SetNativeTheme);
#if XSubPPtmpAADP
        newXS_deffile("Wx::App::MacOpenFiles", XS_Wx__App_MacOpenFiles);
        newXS_deffile("Wx::App::MacOpenFile", XS_Wx__App_MacOpenFile);
        newXS_deffile("Wx::App::MacOpenURL", XS_Wx__App_MacOpenURL);
        newXS_deffile("Wx::App::MacPrintFile", XS_Wx__App_MacPrintFile);
        newXS_deffile("Wx::App::MacNewFile", XS_Wx__App_MacNewFile);
        newXS_deffile("Wx::App::MacReopenApp", XS_Wx__App_MacReopenApp);
        newXS_deffile("Wx::App::MacHideApp", XS_Wx__App_MacHideApp);
#endif
#endif
        newXS_deffile("Wx::FontEnumerator::CLONE", XS_Wx__FontEnumerator_CLONE);
        newXS_deffile("Wx::FontEnumerator::EnumerateFacenames", XS_Wx__FontEnumerator_EnumerateFacenames);
        newXS_deffile("Wx::FontEnumerator::EnumerateEncodings", XS_Wx__FontEnumerator_EnumerateEncodings);
        newXS_deffile("Wx::FontEnumerator::OnFacename", XS_Wx__FontEnumerator_OnFacename);
        newXS_deffile("Wx::FontEnumerator::OnFontEncoding", XS_Wx__FontEnumerator_OnFontEncoding);
        newXS_deffile("Wx::FontEnumerator::IsValidFacename", XS_Wx__FontEnumerator_IsValidFacename);
        newXS_deffile("Wx::FontEnumerator::new", XS_Wx__FontEnumerator_new);
        newXS_deffile("Wx::FontEnumerator::GetEncodings", XS_Wx__FontEnumerator_GetEncodings);
        newXS_deffile("Wx::FontEnumerator::GetEncodingsMethod", XS_Wx__FontEnumerator_GetEncodingsMethod);
        newXS_deffile("Wx::FontEnumerator::GetEncodingsStatic", XS_Wx__FontEnumerator_GetEncodingsStatic);
        newXS_deffile("Wx::FontEnumerator::GetFacenames", XS_Wx__FontEnumerator_GetFacenames);
        newXS_deffile("Wx::FontEnumerator::GetFacenamesMethod", XS_Wx__FontEnumerator_GetFacenamesMethod);
        newXS_deffile("Wx::FontEnumerator::GetFacenamesStatic", XS_Wx__FontEnumerator_GetFacenamesStatic);
#if XSubPPtmpAADQ
        newXS_deffile("Wx::PlFontEnumerator::new", XS_Wx__PlFontEnumerator_new);
#if XSubPPtmpAADR
        newXS_deffile("Wx::PlFontEnumerator::OnFacename", XS_Wx__PlFontEnumerator_OnFacename);
#endif
#if XSubPPtmpAADS
        newXS_deffile("Wx::PlFontEnumerator::OnFontEncoding", XS_Wx__PlFontEnumerator_OnFontEncoding);
#endif
        newXS_deffile("Wx::PlFontEnumerator::DESTROY", XS_Wx__PlFontEnumerator_DESTROY);
#endif
#if XSubPPtmpAADT
        newXS_deffile("Wx::ArtProvider::GetBitmap", XS_Wx__ArtProvider_GetBitmap);
        newXS_deffile("Wx::ArtProvider::GetIcon", XS_Wx__ArtProvider_GetIcon);
#if XSubPPtmpAADU
        newXS_deffile("Wx::ArtProvider::GetIconBundle", XS_Wx__ArtProvider_GetIconBundle);
#endif
        newXS_deffile("Wx::ArtProvider::PopProvider", XS_Wx__ArtProvider_PopProvider);
        newXS_deffile("Wx::ArtProvider::PushProvider", XS_Wx__ArtProvider_PushProvider);
#if XSubPPtmpAADV
        newXS_deffile("Wx::ArtProvider::InsertProvider", XS_Wx__ArtProvider_InsertProvider);
#endif
        newXS_deffile("Wx::ArtProvider::RemoveProvider", XS_Wx__ArtProvider_RemoveProvider);
#if XSubPPtmpAADW
        newXS_deffile("Wx::ArtProvider::DeleteProvider", XS_Wx__ArtProvider_DeleteProvider);
#endif
        newXS_deffile("Wx::PlArtProvider::new", XS_Wx__PlArtProvider_new);
        newXS_deffile("Wx::PlArtProvider::CreateBitmap", XS_Wx__PlArtProvider_CreateBitmap);
#endif
#if XSubPPtmpAADX
        newXS_deffile("Wx::IconLocation::IsOk", XS_Wx__IconLocation_IsOk);
#endif
#if XSubPPtmpAADY
        newXS_deffile("Wx::FileTypeInfo::IsValid", XS_Wx__FileTypeInfo_IsValid);
        newXS_deffile("Wx::FileTypeInfo::SetIcon", XS_Wx__FileTypeInfo_SetIcon);
        newXS_deffile("Wx::FileTypeInfo::SetShortDesc", XS_Wx__FileTypeInfo_SetShortDesc);
        newXS_deffile("Wx::FileTypeInfo::GetMimeType", XS_Wx__FileTypeInfo_GetMimeType);
        newXS_deffile("Wx::FileTypeInfo::GetOpenCommand", XS_Wx__FileTypeInfo_GetOpenCommand);
        newXS_deffile("Wx::FileTypeInfo::GetPrintCommand", XS_Wx__FileTypeInfo_GetPrintCommand);
        newXS_deffile("Wx::FileTypeInfo::GetShortDesc", XS_Wx__FileTypeInfo_GetShortDesc);
        newXS_deffile("Wx::FileTypeInfo::GetDescription", XS_Wx__FileTypeInfo_GetDescription);
        newXS_deffile("Wx::FileTypeInfo::GetExtensionsCount", XS_Wx__FileTypeInfo_GetExtensionsCount);
        newXS_deffile("Wx::FileTypeInfo::GetIconFile", XS_Wx__FileTypeInfo_GetIconFile);
        newXS_deffile("Wx::FileTypeInfo::GetIconIndex", XS_Wx__FileTypeInfo_GetIconIndex);
        newXS_deffile("Wx::FileTypeInfo::new", XS_Wx__FileTypeInfo_new);
        newXS_deffile("Wx::FileTypeInfo::GetExtensions", XS_Wx__FileTypeInfo_GetExtensions);
        newXS_deffile("Wx::FileType::GetMimeTypes", XS_Wx__FileType_GetMimeTypes);
        newXS_deffile("Wx::FileType::GetMimeType", XS_Wx__FileType_GetMimeType);
        newXS_deffile("Wx::FileType::GetExtensions", XS_Wx__FileType_GetExtensions);
        newXS_deffile("Wx::FileType::GetIcon", XS_Wx__FileType_GetIcon);
        newXS_deffile("Wx::FileType::GetDescription", XS_Wx__FileType_GetDescription);
        newXS_deffile("Wx::FileType::GetOpenCommand", XS_Wx__FileType_GetOpenCommand);
        newXS_deffile("Wx::FileType::GetPrintCommand", XS_Wx__FileType_GetPrintCommand);
        newXS_deffile("Wx::MimeTypesManager::new", XS_Wx__MimeTypesManager_new);
        newXS_deffile("Wx::MimeTypesManager::CLONE", XS_Wx__MimeTypesManager_CLONE);
        newXS_deffile("Wx::MimeTypesManager::DESTROY", XS_Wx__MimeTypesManager_DESTROY);
        newXS_deffile("Wx::MimeTypesManager::AddFallbacks", XS_Wx__MimeTypesManager_AddFallbacks);
        newXS_deffile("Wx::MimeTypesManager::GetFileTypeFromExtension", XS_Wx__MimeTypesManager_GetFileTypeFromExtension);
        newXS_deffile("Wx::MimeTypesManager::GetFileTypeFromMimeType", XS_Wx__MimeTypesManager_GetFileTypeFromMimeType);
        newXS_deffile("Wx::MimeTypesManager::IsOfType", XS_Wx__MimeTypesManager_IsOfType);
#if XSubPPtmpAADZ
        newXS_deffile("Wx::MimeTypesManager::ReadMailcap", XS_Wx__MimeTypesManager_ReadMailcap);
        newXS_deffile("Wx::MimeTypesManager::ReadMimeTypes", XS_Wx__MimeTypesManager_ReadMimeTypes);
#endif
#endif
#if XSubPPtmpAAEA
        newXS_deffile("Wx::Sound::newDefault", XS_Wx__Sound_newDefault);
        newXS_deffile("Wx::Sound::newFile", XS_Wx__Sound_newFile);
        newXS_deffile("Wx::Sound::CLONE", XS_Wx__Sound_CLONE);
        newXS_deffile("Wx::Sound::DESTROY", XS_Wx__Sound_DESTROY);
        newXS_deffile("Wx::Sound::Create", XS_Wx__Sound_Create);
        newXS_deffile("Wx::Sound::Play", XS_Wx__Sound_Play);
        newXS_deffile("Wx::Sound::IsOk", XS_Wx__Sound_IsOk);
        newXS_deffile("Wx::Sound::new", XS_Wx__Sound_new);
        newXS_deffile("Wx::Sound::newData", XS_Wx__Sound_newData);
#if XSubPPtmpAAEB
        newXS_deffile("Wx::Sound::CreateData", XS_Wx__Sound_CreateData);
#endif
        newXS_deffile("Wx::Sound::Stop", XS_Wx__Sound_Stop);
#if XSubPPtmpAAEC
        newXS_deffile("Wx::Sound::IsPlaying", XS_Wx__Sound_IsPlaying);
#endif
#endif
#if XSubPPtmpAAED
        newXS_deffile("Wx::PowerEvent::Veto", XS_Wx__PowerEvent_Veto);
        newXS_deffile("Wx::PowerEvent::IsVetoed", XS_Wx__PowerEvent_IsVetoed);
#endif
#if XSubPPtmpAAEE
        newXS_deffile("Wx::GetPowerType", XS_Wx_GetPowerType);
        newXS_deffile("Wx::GetBatteryState", XS_Wx_GetBatteryState);
#endif
        newXS_deffile("Wx::ClassInfo::FindClass", XS_Wx__ClassInfo_FindClass);
        newXS_deffile("Wx::ClassInfo::GetBaseClassName1", XS_Wx__ClassInfo_GetBaseClassName1);
        newXS_deffile("Wx::ClassInfo::GetBaseClassName2", XS_Wx__ClassInfo_GetBaseClassName2);
        newXS_deffile("Wx::ClassInfo::GetClassName", XS_Wx__ClassInfo_GetClassName);
        newXS_deffile("Wx::ClassInfo::GetNext", XS_Wx__ClassInfo_GetNext);
        newXS_deffile("Wx::ClassInfo::GetFirst", XS_Wx__ClassInfo_GetFirst);
#if XSubPPtmpAAEF
        newXS_deffile("Wx::ClassInfo::GetParents", XS_Wx__ClassInfo_GetParents);
        newXS_deffile("Wx::ClassInfo::GetFirstProperty", XS_Wx__ClassInfo_GetFirstProperty);
        newXS_deffile("Wx::ClassInfo::FindPropertyInfo", XS_Wx__ClassInfo_FindPropertyInfo);
        newXS_deffile("Wx::ClassInfo::FindPropertyInfoInThisClass", XS_Wx__ClassInfo_FindPropertyInfoInThisClass);
        newXS_deffile("Wx::PropertyInfo::GetDeclaringClass", XS_Wx__PropertyInfo_GetDeclaringClass);
        newXS_deffile("Wx::PropertyInfo::GetName", XS_Wx__PropertyInfo_GetName);
        newXS_deffile("Wx::PropertyInfo::GetFlags", XS_Wx__PropertyInfo_GetFlags);
        newXS_deffile("Wx::PropertyInfo::GetHelpString", XS_Wx__PropertyInfo_GetHelpString);
        newXS_deffile("Wx::PropertyInfo::GetGroupString", XS_Wx__PropertyInfo_GetGroupString);
        newXS_deffile("Wx::PropertyInfo::GetCollectionElementTypeInfo", XS_Wx__PropertyInfo_GetCollectionElementTypeInfo);
        newXS_deffile("Wx::PropertyInfo::GetTypeInfo", XS_Wx__PropertyInfo_GetTypeInfo);
        newXS_deffile("Wx::PropertyInfo::GetAccessor", XS_Wx__PropertyInfo_GetAccessor);
        newXS_deffile("Wx::PropertyInfo::GetNext", XS_Wx__PropertyInfo_GetNext);
        newXS_deffile("Wx::TypeInfo::GetKind", XS_Wx__TypeInfo_GetKind);
        newXS_deffile("Wx::TypeInfo::GetTypeName", XS_Wx__TypeInfo_GetTypeName);
        newXS_deffile("Wx::TypeInfo::IsDelegateType", XS_Wx__TypeInfo_IsDelegateType);
        newXS_deffile("Wx::TypeInfo::IsCustomType", XS_Wx__TypeInfo_IsCustomType);
        newXS_deffile("Wx::TypeInfo::IsObjectType", XS_Wx__TypeInfo_IsObjectType);
        newXS_deffile("Wx::PropertyAccessor::HasSetter", XS_Wx__PropertyAccessor_HasSetter);
        newXS_deffile("Wx::PropertyAccessor::HasCollectionGetter", XS_Wx__PropertyAccessor_HasCollectionGetter);
        newXS_deffile("Wx::PropertyAccessor::HasGetter", XS_Wx__PropertyAccessor_HasGetter);
        newXS_deffile("Wx::PropertyAccessor::HasAdder", XS_Wx__PropertyAccessor_HasAdder);
        newXS_deffile("Wx::PropertyAccessor::GetCollectionGetterName", XS_Wx__PropertyAccessor_GetCollectionGetterName);
        newXS_deffile("Wx::PropertyAccessor::GetGetterName", XS_Wx__PropertyAccessor_GetGetterName);
        newXS_deffile("Wx::PropertyAccessor::GetSetterName", XS_Wx__PropertyAccessor_GetSetterName);
        newXS_deffile("Wx::PropertyAccessor::GetAdderName", XS_Wx__PropertyAccessor_GetAdderName);
#endif
        newXS_deffile("Wx::VideoMode::new", XS_Wx__VideoMode_new);
        newXS_deffile("Wx::VideoMode::CLONE", XS_Wx__VideoMode_CLONE);
        newXS_deffile("Wx::VideoMode::DESTROY", XS_Wx__VideoMode_DESTROY);
        newXS_deffile("Wx::VideoMode::Matches", XS_Wx__VideoMode_Matches);
        newXS_deffile("Wx::VideoMode::GetWidth", XS_Wx__VideoMode_GetWidth);
        newXS_deffile("Wx::VideoMode::GetHeight", XS_Wx__VideoMode_GetHeight);
        newXS_deffile("Wx::VideoMode::GetDepth", XS_Wx__VideoMode_GetDepth);
        newXS_deffile("Wx::VideoMode::IsOk", XS_Wx__VideoMode_IsOk);
        newXS_deffile("Wx::Display::new", XS_Wx__Display_new);
        newXS_deffile("Wx::Display::CLONE", XS_Wx__Display_CLONE);
        newXS_deffile("Wx::Display::DESTROY", XS_Wx__Display_DESTROY);
        newXS_deffile("Wx::Display::GetCount", XS_Wx__Display_GetCount);
        newXS_deffile("Wx::Display::GetFromPoint", XS_Wx__Display_GetFromPoint);
#if XSubPPtmpAAEG
        newXS_deffile("Wx::Display::GetFromWindow", XS_Wx__Display_GetFromWindow);
#endif
        newXS_deffile("Wx::Display::IsOk", XS_Wx__Display_IsOk);
        newXS_deffile("Wx::Display::GetGeometry", XS_Wx__Display_GetGeometry);
#if XSubPPtmpAAEH
        newXS_deffile("Wx::Display::GetClientArea", XS_Wx__Display_GetClientArea);
#endif
        newXS_deffile("Wx::Display::GetName", XS_Wx__Display_GetName);
        newXS_deffile("Wx::Display::IsPrimary", XS_Wx__Display_IsPrimary);
#if XSubPPtmpAAEI
        newXS_deffile("Wx::Display::GetModes", XS_Wx__Display_GetModes);
        newXS_deffile("Wx::Display::GetCurrentMode", XS_Wx__Display_GetCurrentMode);
        newXS_deffile("Wx::Display::ChangeMode", XS_Wx__Display_ChangeMode);
        newXS_deffile("Wx::Display::ResetMode", XS_Wx__Display_ResetMode);
#endif
#if XSubPPtmpAAEJ
        newXS_deffile("Wx::StandardPaths::GetExecutablePath", XS_Wx__StandardPaths_GetExecutablePath);
#endif
#if XSubPPtmpAAEK
        newXS_deffile("Wx::StandardPaths::GetConfigDir", XS_Wx__StandardPaths_GetConfigDir);
        newXS_deffile("Wx::StandardPaths::GetUserConfigDir", XS_Wx__StandardPaths_GetUserConfigDir);
        newXS_deffile("Wx::StandardPaths::GetDataDir", XS_Wx__StandardPaths_GetDataDir);
        newXS_deffile("Wx::StandardPaths::GetLocalDataDir", XS_Wx__StandardPaths_GetLocalDataDir);
        newXS_deffile("Wx::StandardPaths::GetUserDataDir", XS_Wx__StandardPaths_GetUserDataDir);
        newXS_deffile("Wx::StandardPaths::GetUserLocalDataDir", XS_Wx__StandardPaths_GetUserLocalDataDir);
        newXS_deffile("Wx::StandardPaths::GetPluginsDir", XS_Wx__StandardPaths_GetPluginsDir);
#if XSubPPtmpAAEL
        newXS_deffile("Wx::StandardPaths::GetResourcesDir", XS_Wx__StandardPaths_GetResourcesDir);
        newXS_deffile("Wx::StandardPaths::GetLocalizedResourcesDir", XS_Wx__StandardPaths_GetLocalizedResourcesDir);
        newXS_deffile("Wx::StandardPaths::GetDocumentsDir", XS_Wx__StandardPaths_GetDocumentsDir);
        newXS_deffile("Wx::StandardPaths::GetTempDir", XS_Wx__StandardPaths_GetTempDir);
#endif
#if XSubPPtmpAAEM
        newXS_deffile("Wx::StandardPaths::UseAppInfo", XS_Wx__StandardPaths_UseAppInfo);
#endif
        newXS_deffile("Wx::StandardPaths::Get", XS_Wx__StandardPaths_Get);
#endif
        newXS_deffile("Wx::Variant::new", XS_Wx__Variant_new);
        newXS_deffile("Wx::Variant::CLONE", XS_Wx__Variant_CLONE);
        newXS_deffile("Wx::Variant::DESTROY", XS_Wx__Variant_DESTROY);
        newXS_deffile("Wx::Variant::Append", XS_Wx__Variant_Append);
#if XSubPPtmpAAEN
        newXS_deffile("Wx::Variant::Clear", XS_Wx__Variant_Clear);
#endif
        newXS_deffile("Wx::Variant::ClearList", XS_Wx__Variant_ClearList);
        newXS_deffile("Wx::Variant::Delete", XS_Wx__Variant_Delete);
        newXS_deffile("Wx::Variant::GetCount", XS_Wx__Variant_GetCount);
        newXS_deffile("Wx::Variant::GetBool", XS_Wx__Variant_GetBool);
        newXS_deffile("Wx::Variant::GetChar", XS_Wx__Variant_GetChar);
        newXS_deffile("Wx::Variant::GetDateTime", XS_Wx__Variant_GetDateTime);
        newXS_deffile("Wx::Variant::GetString", XS_Wx__Variant_GetString);
        newXS_deffile("Wx::Variant::GetType", XS_Wx__Variant_GetType);
        newXS_deffile("Wx::Variant::GetLong", XS_Wx__Variant_GetLong);
        newXS_deffile("Wx::Variant::GetDouble", XS_Wx__Variant_GetDouble);
        newXS_deffile("Wx::Variant::GetWxObjectPtr", XS_Wx__Variant_GetWxObjectPtr);
        newXS_deffile("Wx::Variant::GetArrayString", XS_Wx__Variant_GetArrayString);
        newXS_deffile("Wx::Variant::GetList", XS_Wx__Variant_GetList);
        newXS_deffile("Wx::Variant::IsNull", XS_Wx__Variant_IsNull);
        newXS_deffile("Wx::Variant::IsType", XS_Wx__Variant_IsType);
        newXS_deffile("Wx::Variant::IsValueKindOf", XS_Wx__Variant_IsValueKindOf);
        newXS_deffile("Wx::Variant::MakeNull", XS_Wx__Variant_MakeNull);
        newXS_deffile("Wx::Variant::MakeString", XS_Wx__Variant_MakeString);
        newXS_deffile("Wx::Variant::Member", XS_Wx__Variant_Member);
        newXS_deffile("Wx::Variant::NullList", XS_Wx__Variant_NullList);
        newXS_deffile("Wx::Variant::Insert", XS_Wx__Variant_Insert);
        newXS_deffile("Wx::Variant::SetBool", XS_Wx__Variant_SetBool);
#if XSubPPtmpAAEO
        newXS_deffile("Wx::Variant::SetChar", XS_Wx__Variant_SetChar);
#endif
        newXS_deffile("Wx::Variant::SetDateTime", XS_Wx__Variant_SetDateTime);
        newXS_deffile("Wx::Variant::SetString", XS_Wx__Variant_SetString);
        newXS_deffile("Wx::Variant::SetLong", XS_Wx__Variant_SetLong);
        newXS_deffile("Wx::Variant::SetDouble", XS_Wx__Variant_SetDouble);
        newXS_deffile("Wx::Variant::SetWxObjectPtr", XS_Wx__Variant_SetWxObjectPtr);
        newXS_deffile("Wx::Variant::SetVariant", XS_Wx__Variant_SetVariant);
#if XSubPPtmpAAEP
        newXS_deffile("Wx::Variant::Unshare", XS_Wx__Variant_Unshare);
#endif
#if XSubPPtmpAAEQ
        newXS_deffile("Wx::NotificationMessage::new", XS_Wx__NotificationMessage_new);
        newXS_deffile("Wx::NotificationMessage::newDefault", XS_Wx__NotificationMessage_newDefault);
#if XSubPPtmpAAER
        newXS_deffile("Wx::NotificationMessage::newFull", XS_Wx__NotificationMessage_newFull);
#endif
#if XSubPPtmpAAES
        newXS_deffile("Wx::NotificationMessage::newFull", XS_Wx__NotificationMessage_newFull);
#endif
        newXS_deffile("Wx::NotificationMessage::CLONE", XS_Wx__NotificationMessage_CLONE);
        newXS_deffile("Wx::NotificationMessage::DESTROY", XS_Wx__NotificationMessage_DESTROY);
        newXS_deffile("Wx::NotificationMessage::Show", XS_Wx__NotificationMessage_Show);
        newXS_deffile("Wx::NotificationMessage::Close", XS_Wx__NotificationMessage_Close);
        newXS_deffile("Wx::NotificationMessage::SetFlags", XS_Wx__NotificationMessage_SetFlags);
        newXS_deffile("Wx::NotificationMessage::SetTitle", XS_Wx__NotificationMessage_SetTitle);
        newXS_deffile("Wx::NotificationMessage::SetMessage", XS_Wx__NotificationMessage_SetMessage);
        newXS_deffile("Wx::NotificationMessage::SetParent", XS_Wx__NotificationMessage_SetParent);
#if XSubPPtmpAAET
        newXS_deffile("Wx::NotificationMessage::UseTaskBarIcon", XS_Wx__NotificationMessage_UseTaskBarIcon);
        newXS_deffile("Wx::NotificationMessage::AlwaysUseGeneric", XS_Wx__NotificationMessage_AlwaysUseGeneric);
#endif
#endif
#if XSubPPtmpAAEU
        newXS_deffile("Wx::EventFilter::CLONE", XS_Wx__EventFilter_CLONE);
        newXS_deffile("Wx::EventFilter::Destroy", XS_Wx__EventFilter_Destroy);
        newXS_deffile("Wx::EventFilter::FilterEvent", XS_Wx__EventFilter_FilterEvent);
        newXS_deffile("Wx::PlEventFilter::new", XS_Wx__PlEventFilter_new);
#endif
#if XSubPPtmpAAEV
        newXS_deffile("Wx::UIActionSimulator::CLONE", XS_Wx__UIActionSimulator_CLONE);
        newXS_deffile("Wx::UIActionSimulator::new", XS_Wx__UIActionSimulator_new);
        newXS_deffile("Wx::UIActionSimulator::DESTROY", XS_Wx__UIActionSimulator_DESTROY);
        newXS_deffile("Wx::UIActionSimulator::MouseMoveCoords", XS_Wx__UIActionSimulator_MouseMoveCoords);
        newXS_deffile("Wx::UIActionSimulator::MouseMovePoint", XS_Wx__UIActionSimulator_MouseMovePoint);
        newXS_deffile("Wx::UIActionSimulator::MouseDown", XS_Wx__UIActionSimulator_MouseDown);
        newXS_deffile("Wx::UIActionSimulator::MouseUp", XS_Wx__UIActionSimulator_MouseUp);
        newXS_deffile("Wx::UIActionSimulator::MouseClick", XS_Wx__UIActionSimulator_MouseClick);
        newXS_deffile("Wx::UIActionSimulator::MouseDblClick", XS_Wx__UIActionSimulator_MouseDblClick);
        newXS_deffile("Wx::UIActionSimulator::MouseDragDrop", XS_Wx__UIActionSimulator_MouseDragDrop);
        newXS_deffile("Wx::UIActionSimulator::KeyDown", XS_Wx__UIActionSimulator_KeyDown);
        newXS_deffile("Wx::UIActionSimulator::KeyUp", XS_Wx__UIActionSimulator_KeyUp);
        newXS_deffile("Wx::UIActionSimulator::Char", XS_Wx__UIActionSimulator_Char);
        newXS_deffile("Wx::UIActionSimulator::Text", XS_Wx__UIActionSimulator_Text);
#if XSubPPtmpAAEW
        newXS_deffile("Wx::UIActionSimulator::MouseMove", XS_Wx__UIActionSimulator_MouseMove);
#endif
#endif
    }

    /* Initialisation Section */

  newXSproto( "Wx::_boot_Constant", boot_Wx_Const, file, "$$" );
  newXSproto( "Wx::_boot_Controls", boot_Wx_Ctrl, file, "$$" );
  newXSproto( "Wx::_boot_Events", boot_Wx_Evt, file, "$$" );
  newXSproto( "Wx::_boot_Window", boot_Wx_Win, file, "$$" );
  newXSproto( "Wx::_boot_Frames", boot_Wx_Wnd, file, "$$" );
  newXSproto( "Wx::_boot_GDI", boot_Wx_GDI, file, "$$" );
#if defined( WXPL_STATIC )
  newXSproto( "Wx::_boot_Wx__DocView", boot_Wx__DocView, file, "$$" );
#if wxPERL_USE_STC
  newXSproto( "Wx::_boot_Wx__STC", boot_Wx__STC, file, "$$" );
#endif
#if wxPERL_USE_XRC
  newXSproto( "Wx::_boot_Wx__XRC", boot_Wx__XRC, file, "$$" );
#endif
  newXSproto( "Wx::_boot_Wx__Print", boot_Wx__Print, file, "$$" );
  newXSproto( "Wx::_boot_Wx__MDI", boot_Wx__MDI, file, "$$" );
  newXSproto( "Wx::_boot_Wx__Html", boot_Wx__Html, file, "$$" );
  newXSproto( "Wx::_boot_Wx__Help", boot_Wx__Help, file, "$$" );
  newXSproto( "Wx::_boot_Wx__Grid", boot_Wx__Grid, file, "$$" );
  newXSproto( "Wx::_boot_Wx__FS", boot_Wx__FS, file, "$$" );
  newXSproto( "Wx::_boot_Wx__DND", boot_Wx__DND, file, "$$" );
#endif
  SV* tmp = get_sv( "Wx::_exports", 1 );
  sv_setiv( tmp, (IV)(void*)&st_wxPliHelpers );

#if XSubPPtmpAAAA
#endif
#if XSubPPtmpAAAB
#endif
#if XSubPPtmpAAAC
#endif
#if XSubPPtmpAAAD
#endif
#if XSubPPtmpAAAE
#endif
#if XSubPPtmpAAAF
#endif
#if XSubPPtmpAAAG
#endif
#if XSubPPtmpAAAH
#endif
#if XSubPPtmpAAAI
#endif
#if XSubPPtmpAAAJ
#endif
#if XSubPPtmpAAAK
#endif
#if XSubPPtmpAAAL
#endif
#if XSubPPtmpAAAM
#endif
#if XSubPPtmpAAAN
#endif
#if XSubPPtmpAAAO
#endif
#if XSubPPtmpAAAP
#endif
#if XSubPPtmpAAAQ
#endif
#if XSubPPtmpAAAR
#endif
#if XSubPPtmpAAAS
#endif
#if XSubPPtmpAAAT
#endif
#if XSubPPtmpAAAU
#endif
#if XSubPPtmpAAAV
#endif
#if XSubPPtmpAAAW
#endif
#if XSubPPtmpAAAX
#endif
#if XSubPPtmpAAAY
#if XSubPPtmpAAAZ
#endif
#if XSubPPtmpAABA
#endif
#if XSubPPtmpAABB
#endif
#endif
#if XSubPPtmpAABC
#endif
#if XSubPPtmpAABD
#endif
#if XSubPPtmpAABE
#endif
#if XSubPPtmpAABF
#endif
#if XSubPPtmpAABG
#endif
#if XSubPPtmpAABH
#endif
#if XSubPPtmpAABI
#endif
#if XSubPPtmpAABJ
#endif
#if XSubPPtmpAABK
#if XSubPPtmpAABL
#endif
#endif
#if XSubPPtmpAABM
#endif
#if XSubPPtmpAABN
#endif
#if XSubPPtmpAABO
#endif
#if XSubPPtmpAABP
#endif
#if XSubPPtmpAABQ
#endif
#if XSubPPtmpAABR
#endif
#if XSubPPtmpAABS
#endif
#if XSubPPtmpAABT
#endif
#if XSubPPtmpAABU
#endif
#if XSubPPtmpAABV
#endif
#if XSubPPtmpAABW
#endif
#if XSubPPtmpAABX
#endif
#if XSubPPtmpAABY
#endif
#if XSubPPtmpAABZ
#endif
#if XSubPPtmpAACA
#endif
#if XSubPPtmpAACB
#endif
#if XSubPPtmpAACC
#endif
#if XSubPPtmpAACD
#endif
#if XSubPPtmpAACE
#endif
#if XSubPPtmpAACF
#endif
#if XSubPPtmpAACG
#endif
#if XSubPPtmpAACH
#endif
#if XSubPPtmpAACI
#endif
#if XSubPPtmpAACJ
#endif
#if XSubPPtmpAACK
#endif
#if XSubPPtmpAACL
#endif
#if XSubPPtmpAACM
#endif
#if XSubPPtmpAACN
#endif
#if XSubPPtmpAACO
#endif
#if XSubPPtmpAACP
#endif
#if XSubPPtmpAACQ
#endif
#if XSubPPtmpAACR
#endif
#if XSubPPtmpAACS
#endif
#if XSubPPtmpAACT
#endif
#if XSubPPtmpAACU
#endif
#if XSubPPtmpAACV
#endif
#if XSubPPtmpAACW
#endif
#if XSubPPtmpAACX
#endif
#if XSubPPtmpAACY
#endif
#if XSubPPtmpAACZ
#endif
#if XSubPPtmpAADA
#endif
#if XSubPPtmpAADB
#endif
#if XSubPPtmpAADC
#endif
#if XSubPPtmpAADD
#endif
#if XSubPPtmpAADE
#endif
#if XSubPPtmpAADF
#endif
#if XSubPPtmpAADG
#endif
#if XSubPPtmpAADH
#endif
#if XSubPPtmpAADI
#endif
#if XSubPPtmpAADJ
#endif
#if XSubPPtmpAADK
#if XSubPPtmpAADL
#endif
#endif
#if XSubPPtmpAADM
#endif
#if XSubPPtmpAADN
#endif
#if XSubPPtmpAADO
#if XSubPPtmpAADP
#endif
#endif
#if XSubPPtmpAADQ
#if XSubPPtmpAADR
#endif
#if XSubPPtmpAADS
#endif
    {
        AV* isa = get_av( "Wx::PlFontEnumerator::ISA", 1 );
        av_store( isa, 0, newSVpv( "Wx::FontEnumerator", 0 ) );
    } // blank line here is important

#endif
#if XSubPPtmpAADT
#if XSubPPtmpAADU
#endif
#if XSubPPtmpAADV
#endif
#if XSubPPtmpAADW
#endif
#endif
#if XSubPPtmpAADX
#endif
#if XSubPPtmpAADY
#if XSubPPtmpAADZ
#endif
#endif
#if XSubPPtmpAAEA
#if XSubPPtmpAAEB
#endif
#if XSubPPtmpAAEC
#endif
#endif
#if XSubPPtmpAAED
#endif
#if XSubPPtmpAAEE
#endif
#if XSubPPtmpAAEF
#endif
#if XSubPPtmpAAEG
#endif
#if XSubPPtmpAAEH
#endif
#if XSubPPtmpAAEI
#endif
#if XSubPPtmpAAEJ
#endif
#if XSubPPtmpAAEK
#if XSubPPtmpAAEL
#endif
#if XSubPPtmpAAEM
#endif
#endif
#if XSubPPtmpAAEN
#endif
#if XSubPPtmpAAEO
#endif
#if XSubPPtmpAAEP
#endif
#if XSubPPtmpAAEQ
#if XSubPPtmpAAER
#endif
#if XSubPPtmpAAES
#endif
#if XSubPPtmpAAET
#endif
#endif
#if XSubPPtmpAAEU
    {
#ifdef XSpp_8a9fd8db_003526
        AV* isa = get_av( "Wx::PlEventFilter::ISA", 1 );
        av_store( isa, 0, newSVpv( "Wx::EventFilter", 0 ) );
#endif // XSpp_8a9fd8db_003526
    } // blank line here is important

#endif
#if XSubPPtmpAAEV
#if XSubPPtmpAAEW
#endif
#endif

    /* End of Initialisation Section */

#if PERL_VERSION_LE(5, 21, 5)
#  if PERL_VERSION_GE(5, 9, 0)
    if (PL_unitcheckav)
        call_list(PL_scopestack_ix, PL_unitcheckav);
#  endif
    XSRETURN_YES;
#else
    Perl_xs_boot_epilog(aTHX_ ax);
#endif
}

