4 #include "cpp/v_cback.h"
6 #define DEC_V_CBACK_WXBITMAP__WXARTID_WXARTCLIENT_WXSIZE_pure( METHOD ) \
7 wxBitmap METHOD( const wxArtID& id, const wxArtClient& client, const wxSize& size )
9 #define DEF_V_CBACK_WXBITMAP__WXARTID_WXARTCLIENT_WXSIZE_pure( CLASS, BASE, METHOD ) \
10 wxBitmap CLASS::METHOD( const wxArtID& id, const wxArtClient& client, \
11 const wxSize& size ) \
14 if( wxPliVirtualCallback_FindCallback( aTHX_ &m_callback, #METHOD ) ) \
16 wxAutoSV ret( aTHX_ wxPliCCback( aTHX_ &m_callback, \
17 G_SCALAR, "PPo", &id, &client, new wxSize( size ) ) );\
18 return *(wxBitmap*)wxPli_sv_2_object( aTHX_ ret, "Wx::Bitmap" ); \
20 return wxNullBitmap; \
23 #define DEC_V_CBACK_WXICONBUNDLE__WXARTID_WXARTCLIENT_pure( METHOD ) \
24 wxIconBundle METHOD( const wxArtID& id, const wxArtClient& client )
26 #define DEF_V_CBACK_WXICONBUNDLE__WXARTID_WXARTCLIENT_pure( CLASS, BASE, METHOD ) \
27 wxIconBundle CLASS::METHOD( const wxArtID& id, const wxArtClient& client ) \
30 if( wxPliVirtualCallback_FindCallback( aTHX_ &m_callback, #METHOD ) ) \
32 wxAutoSV ret( aTHX_ wxPliCCback( aTHX_ &m_callback, \
33 G_SCALAR, "PP", &id, &client ) ); \
34 return *(wxIconBundle*)wxPli_sv_2_object( aTHX_ ret, "Wx::IconBundle" ); \
36 return wxNullIconBundle; \
39 class wxPlArtProvider : public wxArtProvider
41 WXPLI_DECLARE_DYNAMIC_CLASS( wxPlArtProvider );
42 WXPLI_DECLARE_V_CBACK();
44 wxPlArtProvider( const char* package )
45 : m_callback( "Wx::ArtProvider" )
47 m_callback.SetSelf( wxPli_make_object( this, package ), true );
50 DEC_V_CBACK_WXBITMAP__WXARTID_WXARTCLIENT_WXSIZE_pure( CreateBitmap );
51 #if WXPERL_W_VERSION_GE( 2, 9, 0 )
52 DEC_V_CBACK_WXICONBUNDLE__WXARTID_WXARTCLIENT_pure( CreateIconBundle );
56 DEF_V_CBACK_WXBITMAP__WXARTID_WXARTCLIENT_WXSIZE_pure( wxPlArtProvider,
57 wxArtProvider, CreateBitmap );
58 #if WXPERL_W_VERSION_GE( 2, 9, 0 )
59 DEF_V_CBACK_WXICONBUNDLE__WXARTID_WXARTCLIENT_pure( wxPlArtProvider,
60 wxArtProvider, CreateIconBundle );
63 #if WXPERL_W_VERSION_GE( 2, 5, 1 )
64 WXPLI_IMPLEMENT_DYNAMIC_CLASS( wxPlArtProvider, wxArtProvider );
66 WXPLI_IMPLEMENT_DYNAMIC_CLASS( wxPlArtProvider, wxObject );