logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

API - wxPerl extension API documentation

Author

       Mattia Barbon <mbarbon at cpan dot org>

perl v5.40.1                                       2025-05-05                                       Wx::Api(3pm)

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.

       IntroducedinwxPerl0.15wxPli_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.

       IntroducedinwxPerl0.16wxPli_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.

       IntroducedinwxPerl0.16wxPli_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".

       IntroducedbeforewxPerl0.14wxPli_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.

       IntroducedbeforewxPerl0.14wxPli_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.

       IntroducedbeforewxPerl0.14wxPli_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.

       IntroducedbeforewxPerl0.14wxPli_wxChar_2_sv
         SV* wxPli_wxChar_2_sv( pTHX_ const wxChar* str, SV* out );

       Stores a string into a "SV*", and returns the "SV*".

       IntroducedbeforewxPerl0.14wxPli_wxString_2_sv
         SV* wxPli_wxString_2_sv( pTHX_ const wxString& str, SV* out );

       Stores a string into a "SV*", and returns the "SV*".

       IntroducedbeforewxPerl0.14

Name

       API - wxPerl extension API documentation

See Also