NAME¶
API - wxPerl extension API documentation
DESCRIPTION¶
WXPL_API_VERSION¶
An integer value used to differentiate wxPerl versions, it is guaranteed to be
non-decreasing. wxPerl 0.15 value is 0150; wxPerl 1.00 value will be 1000,
wxPerl 2.12 value will be 2120.
Introduced in wxPerl 0.15
wxPli_create_evthandler¶
SV* wxPli_create_evthandler( pTHX_ wxEvtHandler* object,
const char* classname );
Creates a new hash reference, blessed into "classname", and
binds"object" to it.
Introduced in wxPerl 0.16
wxPli_evthandler_2_sv¶
SV* wxPli_evthandler_2_sv( pTHX_ SV* var, wxEvtHandler* evth );
Same as wxPli_object_2_sv, but works with "wxEvtHandler"-derived
classes, which includes all "wxWindow"-derived classes.
Introduced in wxPerl 0.16
wxPli_get_class¶
const char* wxPli_get_class( pTHX_ SV* ref );
The C++ equivalent of "$class = ref( $obj ) || $obj"; the pointer
returned by the function is potentially temporary.
wxPli_non_object_2_sv¶
SV* wxPli_non_object_2_sv( pTHX_ SV* var, void* data, const char* package );
Binds a generic pointer to an "SV*", and returns it; the new binding
is blessed into the given "package".
Introduced before wxPerl 0.14
wxPli_object_2_sv¶
SV* wxPli_object_2_sv( pTHX_ SV* var, wxObject* object );
Binds a "wxObject*" pointer to an "SV*", and returns it. If
the object is already bound to an "SV*", returns a reference to the
existing "SV*", otherwise, it creates a new binding; in the latter
case, the new "SV*" is blessed into a package obtained through the
wxWidgets RTTI system.
Introduced before wxPerl 0.14
wxPli_push_arguments¶
void wxPli_push_arguments( pTHX_ SV*** stack, const char* argtypes, ... );
// example
wxPli_push_arguments( aTHX_ SP, "iP", 12, "foo" );
Pushes a variable number of arguments on the perl stack, it is useful for
passing parameters to a Perl function. The "argtypes" string
describes the types of subsequent arguments, each character of the string
specifying the type of a single argument. Possible values are:
- b
- a "bool" value
- i
- an "int" value
- l
- a "long" value
- L
- an "unsigned long" value
- d
- a "double" value
- p
- a "char*" value
- w
- a "wxChar*" value
- P
- a "wxString*" value
- S
- a "SV*", a copy of the SV is pushed on the stack
- s
- a "SV*", the pointer itself is pushed on the stack
- O
- a "wxObject*", the function will internally call
"wxPli_object_2_sv" and push the result on the stack.
- o
- this is the only type that uses 2 parameters: the first is a
"void*", the second a "char*"; the function will
internally call "wxPli_non_object_2_sv" and push the result on
the stack.
Introduced before wxPerl 0.14
wxPli_sv_2_object¶
void* wxPli_sv_2_object( pTHX_ SV* scalar, const char* classname );
Extracts a bound pointer from a perl reference, checking that the reference
belongs to the correct class (
die()s on failure), and returns it. If
"classname" is "NULL", the check is not done.
Introduced before wxPerl 0.14
wxPli_wxChar_2_sv¶
SV* wxPli_wxChar_2_sv( pTHX_ const wxChar* str, SV* out );
Stores a string into a "SV*", and returns the "SV*".
Introduced before wxPerl 0.14
wxPli_wxString_2_sv¶
SV* wxPli_wxString_2_sv( pTHX_ const wxString& str, SV* out );
Stores a string into a "SV*", and returns the "SV*".
Introduced before wxPerl 0.14
AUTHOR¶
Mattia Barbon <mbarbon at cpan dot org>