Wx::Api(3p)

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>