NAME
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 bindsobject
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 callwxPli_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 achar*
; the function will internally callwxPli_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>