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 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 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>