Add libwx-perl
[pkg-perl] / deb-src / libwx-perl / libwx-perl-0.96 / typemap
1 #############################################################################
2 ## Name:        typemap
3 ## Purpose:     typemap template
4 ## Author:      Mattia Barbon
5 ## Modified by:
6 ## Created:     29/10/2000
7 ## RCS-ID:      $Id: typemap 2626 2009-10-18 22:48:17Z mbarbon $
8 ## Copyright:   (c) 2000-2009 Mattia Barbon
9 ## Licence:     This program is free software; you can redistribute it and/or
10 ##              modify it under the same terms as Perl itself
11 #############################################################################
12
13 TYPEMAP
14 wxFlexSizerGrowMode     T_ENUM
15 wxEdge                  T_ENUM
16 wxRelationship          T_ENUM
17 wxWindowID              T_WINDOWID
18 wxStockCursor           T_ENUM
19 wxEventType             T_ENUM
20 wxCheckBoxState         T_ENUM
21 wxBitmapType            T_ENUM
22 const char *            T_PV
23 wxCoord                 T_IV
24 float                   T_NV
25 wxFontEncoding          T_ENUM
26 wxFontFamily            T_ENUM
27 wxFontStyle             T_ENUM
28 wxFontWeight            T_ENUM
29 wxRegionContain         T_ENUM
30 wxSashEdgePosition      T_ENUM
31 wxSashDragStatus        T_ENUM
32 wxListColumnFormat      T_ENUM
33 wxRasterOperationMode   T_ENUM
34 wxPolygonFillMode       T_ENUM
35 wxFloodFillStyle        T_ENUM
36 wxMappingMode           T_ENUM
37 off_t                   T_IV
38 ResourceCat             T_ENUM
39 wxSeekMode              T_ENUM
40 WXCOLORREF              T_IV
41 EntryType               T_ENUM
42 wxKillError             T_ENUM
43 wxSignal                T_ENUM
44 wxItemKind              T_ENUM
45 wxLayoutDirection       T_ENUM
46 PlClassName             T_CLASSNAME
47 wxUint32                T_IV
48 wxByte                  T_U_CHAR
49 wxTextCtrlHitTestResult T_ENUM
50 wxArrayString           T_ARRAYSTRING
51 wxPliUserDataCD **      T_ARRAYUSERDATA
52 wxArrayInt              T_ARRAYINT
53 wxTextPos               T_IV
54 wxTextAttrAlignment     T_ENUM
55 wxIdleMode              T_ENUM
56 wxDouble                T_DOUBLE
57 wxAnimationType         T_ENUM
58 wxUpdateUIMode          T_ENUM
59 wxWindowVariant         T_ENUM
60 wxImageResizeQuality    T_ENUM
61
62 wxFindReplaceDialogStyles T_ENUM
63 wxFindReplaceFlags      T_ENUM
64
65 wxBackgroundStyle       T_ENUM
66 wxSystemColour          T_ENUM
67 wxSystemFont            T_ENUM
68 wxSystemMetric          T_ENUM
69 wxSystemScreenType      T_ENUM
70 wxOrientation           T_ENUM
71 wxBatteryState          T_ENUM
72 wxPowerType             T_ENUM
73 wxDirection             T_ENUM
74 wxPenStyle              T_ENUM
75 wxPenCap                T_ENUM
76 wxPenJoin               T_ENUM
77 wxBrushStyle            T_ENUM
78
79 wxDialogLayoutAdaptationMode T_ENUM
80
81 wxLogTraceMask          T_UV 
82 wxLogLevel              T_UV 
83 wxTraceMask             T_UV
84 wxTreeItemIdValue       T_UV
85 wxTreeItemIcon          T_UV
86
87 wxKeyCode               T_KEYCODE
88 wxChar                  T_IV
89
90 wxStockHelpStringClient T_ENUM
91
92 wxDateTime *            O_NON_WXOBJECT
93
94 Wx_UserDataCD *         O_USERDATACD
95 wxPliUserDataCD *       O_USERDATACD
96
97 Wx_UserDataO *          O_USERDATAO
98 wxPliUserDataO *        O_USERDATAO
99
100 SV_null *               T_SV_NULL
101
102 wxClassInfo *           O_NON_WXOBJECT
103 wxPropertyInfo *        O_NON_WXOBJECT
104 const wxClassInfo *     O_NON_WXOBJECT
105 const wxPropertyInfo *  O_NON_WXOBJECT
106 const wxTypeInfo *      O_NON_WXOBJECT
107 wxTypeInfo *            O_NON_WXOBJECT
108 wxPropertyAccessor *    O_NON_WXOBJECT
109 wxTypeKind              T_ENUM
110 wxPropertyInfoFlags     T_ENUM
111
112 wxObject *              O_WXOBJECT
113
114 wxApp *                 O_WXOBJECT
115 wxStandardPaths *       O_NON_WXOBJECT
116 wxWindow *              O_WXOBJECT
117 wxPlWindow *            O_WXOBJECT
118 wxPlControl *           O_WXOBJECT
119 wxFrame *               O_WXOBJECT
120 wxTopLevelWindow *      O_WXOBJECT
121 wxEvtHandler *          O_WXOBJECT
122 wxMiniFrame *           O_WXOBJECT
123 wxPopupWindow *         O_WXOBJECT
124 wxPopupTransientWindow * O_WXOBJECT
125 wxPlPopupTransientWindow * O_WXOBJECT
126 wxDisplay *             O_NON_WXOBJECT_THR
127 wxVideoMode *           O_NON_WXOBJECT_THR
128 wxEventBlocker *        O_NON_WXOBJECT_THR
129 wxWindowUpdateLocker *  O_NON_WXOBJECT_THR
130
131 wxMenuBar *             O_WXOBJECT
132 wxMenu *                O_WXOBJECT
133 wxMenuItem *            O_WXOBJECT
134
135 wxDirFilterListCtrl *   O_WXEVTHANDLER
136 wxDirCtrl *             O_WXEVTHANDLER
137 wxFileCtrl *            O_WXEVTHANDLER
138 wxGenericDirCtrl *      O_WXEVTHANDLER
139 wxAnimationCtrl *       O_WXEVTHANDLER
140 wxStatusBar *           O_WXEVTHANDLER
141 wxToolBar *             O_WXEVTHANDLER
142 wxToolBarBase *         O_WXEVTHANDLER
143 wxToolBarSimple *       O_WXEVTHANDLER
144 wxPanel *               O_WXOBJECT
145 wxDialog *              O_WXOBJECT
146 wxControl *             O_WXOBJECT
147 wxButton *              O_WXEVTHANDLER
148 wxStaticText *          O_WXEVTHANDLER
149 wxStaticLine *          O_WXEVTHANDLER
150 wxTextCtrl *            O_WXOBJECT
151 wxTextCtrlBase *        O_WXOBJECT
152 wxPropertySheetDialog * O_WXEVTHANDLER
153 wxPlValidator *         O_WXOBJECT
154 wxValidator *           O_WXOBJECT
155 wxCheckBox *            O_WXEVTHANDLER
156 wxChoice *              O_WXEVTHANDLER
157 wxComboBox *            O_WXEVTHANDLER
158 wxComboCtrl *           O_WXEVTHANDLER
159 wxComboCtrlBase *       O_WXEVTHANDLER
160 wxComboPopup *          O_NON_WXOBJECT
161 wxPlComboPopup *        O_NON_WXOBJECT
162 wxOwnerDrawnComboBox *  O_WXEVTHANDLER
163 wxPlOwnerDrawnComboBox * O_WXEVTHANDLER
164 wxControlWithItems *    O_WXOBJECT
165 wxEditableListBox *     O_WXOBJECT
166 wxListBox *             O_WXEVTHANDLER
167 wxStaticBox *           O_WXEVTHANDLER
168 wxRadioButton *         O_WXEVTHANDLER
169 wxRadioBox *            O_WXEVTHANDLER
170 wxScrollBar *           O_WXEVTHANDLER
171 wxNotebook *            O_WXEVTHANDLER
172 wxBookCtrl *            O_WXEVTHANDLER
173 wxBookCtrlBase *        O_WXEVTHANDLER
174 wxCheckListBox *        O_WXEVTHANDLER
175 wxGauge *               O_WXEVTHANDLER
176 wxBitmapButton *        O_WXEVTHANDLER
177 wxTreeCtrl *            O_WXOBJECT
178 wxListCtrl *            O_WXOBJECT
179 wxListView *            O_WXEVTHANDLER
180 wxStaticBitmap *        O_WXEVTHANDLER
181 wxSpinButton *          O_WXEVTHANDLER
182 wxSpinCtrl *            O_WXEVTHANDLER
183 wxSlider *              O_WXEVTHANDLER
184 wxScrolledWindow *      O_WXOBJECT
185 wxVScrolledWindow *     O_WXEVTHANDLER
186 wxHScrolledWindow *     O_WXEVTHANDLER
187 wxHVScrolledWindow *    O_WXEVTHANDLER
188 wxPlVScrolledWindow *   O_WXEVTHANDLER
189 wxPlHScrolledWindow *   O_WXEVTHANDLER
190 wxPlHVScrolledWindow *  O_WXEVTHANDLER
191 wxVListBox *            O_WXEVTHANDLER
192 wxPlVListBox *          O_WXEVTHANDLER
193 wxSplitterWindow *      O_WXEVTHANDLER
194 wxSearchCtrl *          O_WXEVTHANDLER
195 wxSashWindow *          O_WXEVTHANDLER
196 wxToggleButton *        O_WXEVTHANDLER
197 wxBitmapToggleButton *  O_WXEVTHANDLER
198 wxSplashScreen *        O_WXOBJECT
199 wxSplashScreenWindow *  O_WXOBJECT
200 wxListbook *            O_WXEVTHANDLER
201 wxChoicebook *          O_WXEVTHANDLER
202 wxToolbook *            O_WXEVTHANDLER
203 wxTreebook *            O_WXEVTHANDLER
204 wxHyperlinkCtrl *       O_WXEVTHANDLER
205 wxPickerBase *          O_WXEVTHANDLER
206 wxColourPickerCtrl *    O_WXEVTHANDLER
207 wxFilePickerCtrl *      O_WXEVTHANDLER
208 wxDirPickerCtrl *       O_WXEVTHANDLER
209 wxFontPickerCtrl *      O_WXEVTHANDLER
210 wxCollapsiblePane *     O_WXEVTHANDLER
211 wxBitmapComboBox *      O_WXEVTHANDLER
212
213 wxWizard *              O_WXOBJECT
214 wxWizardPage *          O_WXOBJECT
215 wxWizardPageSimple *    O_WXOBJECT
216
217 wxColourDialog *        O_WXOBJECT
218 wxFileDialog *          O_WXOBJECT
219 wxDirDialog *           O_NON_WXOBJECT
220 wxNumberEntryDialog *   O_WXOBJECT
221 wxMultiChoiceDialog *   O_WXOBJECT
222 wxSingleChoiceDialog *  O_WXOBJECT
223 wxMultipleChoiceDialog* O_WXOBJECT
224 wxTextEntryDialog *     O_WXOBJECT
225 wxPasswordEntryDialog * O_WXOBJECT
226 wxFontDialog *          O_WXOBJECT
227 wxPageSetupDialog *     O_WXOBJECT
228 wxPrintDialog *         O_WXOBJECT
229 wxMessageDialog *       O_WXOBJECT
230 wxProgressDialog *      O_WXOBJECT
231 wxFindReplaceDialog *   O_WXOBJECT
232 wxPropertySheetDialog * O_WXOBJECT
233
234 wxFindReplaceData *     O_NON_WXOBJECT
235 wxColourData *          O_WXOBJECT_THR
236 wxFontData *            O_WXOBJECT_THR
237
238 wxSizer *               O_WXOBJECT
239 wxPlSizer *             O_WXOBJECT
240 wxBoxSizer *            O_WXOBJECT
241 wxStaticBoxSizer *      O_WXOBJECT
242 wxNotebookSizer *       O_WXOBJECT
243 wxGridSizer *           O_WXOBJECT
244 wxFlexGridSizer *       O_WXOBJECT
245 wxSizerItem *           O_WXOBJECT
246 wxGridBagSizer *        O_WXOBJECT
247 wxGBPosition *          O_NON_WXOBJECT
248 wxGBSpan *              O_NON_WXOBJECT
249 wxGBPosition            O_GBPOSITION
250 wxGBSpan                O_GBSPAN
251 wxGBPosition &          O_GBPOSITION
252 wxGBSpan &              O_GBSPAN
253 wxGBSizerItem *         O_WXOBJECT
254 wxStdDialogButtonSizer * O_WXOBJECT
255 wxWrapSizer *           O_WXOBJECT
256
257 wxDC *                  O_WXOBJECT_THR
258 wxMemoryDC *            O_WXOBJECT_THR
259 wxWindowDC *            O_WXOBJECT_THR
260 wxClientDC *            O_WXOBJECT_THR
261 wxPaintDC *             O_WXOBJECT_THR
262 wxScreenDC *            O_WXOBJECT_THR
263 wxBufferedDC *          O_WXOBJECT_THR
264 wxBufferedPaintDC *     O_WXOBJECT_THR
265 wxAutoBufferedPaintDC * O_WXOBJECT_THR
266 wxMirrorDC *            O_WXOBJECT_THR
267 wxSVGFileDC *           O_WXOBJECT_THR
268 wxDCClipper *           O_NON_WXOBJECT_THR
269
270 wxTaskBarIcon *         O_WXOBJECT
271 wxNotificationMessage * O_NON_WXOBJECT_THR
272
273 wxTextAttr *            O_NON_WXOBJECT_THR
274
275 wxLog *                 O_NON_WXOBJECT
276 wxLogTextCtrl *         O_NON_WXOBJECT
277 wxLogNull *             O_NON_WXOBJECT_THR
278 wxLogGui *              O_NON_WXOBJECT
279 wxLogWindow *           O_NON_WXOBJECT
280 wxLogChain *            O_NON_WXOBJECT
281 wxLogPassThrough *      O_NON_WXOBJECT
282 wxLogStderr *           O_NON_WXOBJECT
283 wxPlLog *               O_NON_WXOBJECT
284 wxPlLogPassThrough *    O_NON_WXOBJECT
285
286 wxLocale *              O_NON_WXOBJECT_THR
287 wxLanguageInfo *        O_NON_WXOBJECT_THR
288 const wxLanguageInfo *  O_NON_WXOBJECT_THR
289
290 wxStopWatch *           O_NON_WXOBJECT_THR
291
292 wxAboutDialogInfo *     O_NON_WXOBJECT
293
294 wxPoint                 O_POINT
295 wxSize                  O_SIZE
296 wxPosition              O_POSITION
297 wxColour                O_NON_WXOBJECT_VAL
298 wxPoint &               O_POINT
299 wxSize &                O_SIZE
300 wxPosition &            O_POSITION
301 wxColour &              O_NON_WXOBJECT_VAL
302
303 wxVariant*              O_NON_WXOBJECT_THR
304 wxVariant               O_VARIANT
305
306 wxProcess *             O_WXOBJECT
307 wxSound *               O_NON_WXOBJECT_THR
308
309 wxTipProvider *         O_NON_WXOBJECT
310
311 wxDrawObject *          O_NON_WXOBJECT
312 wxSize *                O_NON_WXOBJECT_THR
313 wxPoint *               O_NON_WXOBJECT_THR
314 wxRect *                O_NON_WXOBJECT_THR
315 wxPosition *            O_NON_WXOBJECT_THR
316 wxColour *              O_NON_WXOBJECT_THR
317 wxCaret *               O_NON_WXOBJECT
318 wxCaretSuspend *        O_NON_WXOBJECT_THR
319 wxWindowDisabler *      O_NON_WXOBJECT_THR
320 wxBusyCursor *          O_NON_WXOBJECT_THR
321 wxBusyInfo *            O_NON_WXOBJECT_THR
322
323 wxLayoutConstraints *   O_WXOBJECT
324 wxIndividualLayoutConstraint * O_WXOBJECT
325
326 wxDropTarget *          O_NON_WXOBJECT
327 wxListItem *            O_NON_WXOBJECT_THR
328 wxListItemAttr *        O_NON_WXOBJECT_THR
329 wxPliTreeItemData *     O_NON_WXOBJECT
330 wxTreeItemData *        O_NON_WXOBJECT
331 wxTreeItemId *          O_NON_WXOBJECT_THR
332
333 wxAnimation *           O_WXOBJECT_THR
334 wxFontMapper *          O_NON_WXOBJECT
335 wxFontEnumerator *      O_NON_WXOBJECT_THR
336 wxNativeFontInfo *      O_NON_WXOBJECT_THR
337 wxFont *                O_WXOBJECT_THR
338 wxRegion *              O_WXOBJECT_THR
339 wxIcon *                O_WXOBJECT_THR
340 wxIconBundle *          O_NON_WXOBJECT
341 wxIconLocation *        O_NON_WXOBJECT
342 wxBitmap *              O_WXOBJECT_THR
343 wxCursor *              O_WXOBJECT_THR
344 const wxCursor *        O_WXOBJECT_THR
345 wxToolTip *             O_WXOBJECT
346 wxPen *                 O_WXOBJECT_THR
347 wxMask *                O_WXOBJECT
348 wxBrush *               O_WXOBJECT_THR
349 wxBitmapHandler *       O_WXOBJECT
350 wxPalette *             O_WXOBJECT_THR
351 wxMimeTypesManager *    O_NON_WXOBJECT_THR
352 wxFileType *            O_NON_WXOBJECT
353 wxFileTypeInfo *        O_NON_WXOBJECT
354
355 wxImage *               O_WXOBJECT_THR
356 wxImageHandler *        O_WXOBJECT
357 wxBMPHandler *          O_WXOBJECT
358 wxGIFHandler *          O_WXOBJECT
359 wxPCXHandler *          O_WXOBJECT
360 wxPNMHandler *          O_WXOBJECT
361 wxTIFFHandler *         O_WXOBJECT
362 wxJPEGHandler *         O_WXOBJECT
363 wxPNGHandler *          O_WXOBJECT
364 wxXPMHandler *          O_WXOBJECT
365 wxIFFHandler *          O_WXOBJECT
366 wxICOHandler *          O_WXOBJECT
367 wxCURHandler *          O_WXOBJECT
368 wxANIHandler *          O_WXOBJECT
369 wxTGAHandler *          O_WXOBJECT
370
371 wxImageList *           O_WXOBJECT_THR
372
373 wxToolBarToolBase *     O_NON_WXOBJECT
374
375 wxAcceleratorEntry *    O_NON_WXOBJECT_THR
376 wxAcceleratorTable *    O_WXOBJECT_THR
377
378 wxTimer *               O_WXOBJECT
379
380 wxSingleInstanceChecker * O_NON_WXOBJECT_THR
381
382 wxWave *                O_NON_WXOBJECT
383
384 wxGraphicsRenderer *    O_WXOBJECT
385 wxGraphicsBrush *       O_WXOBJECT_THR
386 wxGraphicsContext *     O_WXOBJECT_THR
387 wxGraphicsFont *        O_WXOBJECT_THR
388 wxGraphicsMatrix *      O_WXOBJECT_THR
389 wxGraphicsObject *      O_WXOBJECT_THR
390 wxGraphicsPath *        O_WXOBJECT_THR
391 wxGraphicsPen *         O_WXOBJECT_THR
392
393 # events
394 wxEvent *               O_WXOBJECT_THR
395 wxActivateEvent *       O_WXOBJECT_THR
396 wxBookCtrlEvent *       O_WXOBJECT_THR
397 wxClipboardTextEvent *  O_WXOBJECT_THR
398 wxCloseEvent *          O_WXOBJECT_THR
399 wxCommandEvent *        O_WXOBJECT_THR
400 wxContextMenuEvent *    O_WXOBJECT_THR
401 wxEraseEvent *          O_WXOBJECT_THR
402 wxFindDialogEvent *     O_WXOBJECT_THR
403 wxFocusEvent *          O_WXOBJECT_THR
404 wxFileCtrlEvent *       O_WXOBJECT_THR
405 wxKeyEvent *            O_WXOBJECT_THR
406 wxHelpEvent *           O_WXOBJECT_THR
407 wxIconizeEvent *        O_WXOBJECT_THR
408 wxIdleEvent *           O_WXOBJECT_THR
409 wxInitDialogEvent *     O_WXOBJECT_THR
410 wxJoystickEvent *       O_WXOBJECT_THR
411 wxListbookEvent *       O_WXOBJECT_THR
412 wxListEvent *           O_WXOBJECT_THR
413 wxMaximizeEvent *       O_WXOBJECT_THR
414 wxMenuEvent *           O_WXOBJECT_THR
415 wxMouseCaptureChangedEvent * O_WXOBJECT_THR
416 wxMouseCaptureLostEvent * O_WXOBJECT_THR
417 wxMouseEvent *          O_WXOBJECT_THR
418 wxMoveEvent *           O_WXOBJECT_THR
419 wxNotebookEvent *       O_WXOBJECT_THR
420 wxNotifyEvent *         O_WXOBJECT_THR
421 wxPaintEvent *          O_WXOBJECT_THR
422 wxQueryLayoutInfo *     O_WXOBJECT_THR
423 wxSashEvent *           O_WXOBJECT_THR
424 wxSizeEvent *           O_WXOBJECT_THR
425 wxScrollEvent *         O_WXOBJECT_THR
426 wxScrollWinEvent *      O_WXOBJECT_THR
427 wxSpinEvent *           O_WXOBJECT_THR
428 wxSplitterEvent *       O_WXOBJECT_THR
429 wxSetCursorEvent *      O_WXOBJECT_THR
430 wxSysColourChangedEvent * O_WXOBJECT_THR
431 wxTaskBarIconEvent *    O_WXOBJECT_THR
432 wxTimerEvent *          O_WXOBJECT_THR
433 wxTreeEvent *           O_WXOBJECT_THR
434 wxUpdateUIEvent *       O_WXOBJECT_THR
435 wxTextUrlEvent *        O_WXOBJECT_THR
436 wxProcessEvent *        O_WXOBJECT_THR
437 wxWizardEvent *         O_WXOBJECT_THR
438 wxTreebookEvent *       O_WXOBJECT_THR
439 wxNavigationKeyEvent *  O_WXOBJECT_THR
440 wxChildFocusEvent *     O_WXOBJECT_THR
441 wxHyperlinkEvent *      O_WXOBJECT_THR
442 wxPowerEvent *          O_WXOBJECT_THR
443 wxColourPickerEvent *   O_WXOBJECT_THR
444 wxFileDirPickerEvent *  O_WXOBJECT_THR
445 wxFontPickerEvent *     O_WXOBJECT_THR
446 wxWindowCreateEvent *   O_WXOBJECT_THR
447 wxWindowDestroyEvent *  O_WXOBJECT_THR
448 wxCollapsiblePaneEvent * O_WXOBJECT_THR
449
450 wxPlEvent *             O_WXOBJECT_THR
451 wxPlCommandEvent *      O_WXOBJECT_THR
452 wxPlThreadEvent *       O_WXOBJECT_THR
453
454 wxConfigBase *          O_NON_WXOBJECT
455 wxConfig *              O_NON_WXOBJECT
456 wxFileConfig *          O_NON_WXOBJECT
457
458 wxArtProvider *         O_WXOBJECT
459 wxPlArtProvider *       O_WXOBJECT
460
461 OUTPUT
462 O_WXOBJECT
463     wxPli_object_2_sv( aTHX_ $arg, $var );
464
465 O_WXOBJECT_THR
466     wxPli_object_2_sv( aTHX_ $arg, $var );
467     wxPli_thread_sv_register( aTHX_ ${(my $ntt=$ntype)=~s/^(?:const\s+)?(?:Wx_|wx)(.*?)(?:Ptr)?$/$1/g;$ntt=qq{\"Wx::$ntt\"};\$ntt}, $var, $arg );
468
469 O_WXEVTHANDLER
470     wxPli_evthandler_2_sv( aTHX_ $arg, $var );
471
472 O_WXCLIENTDATACONTAINER
473     wxPli_clientdatacontainer_2_sv( aTHX_ $arg, $var, ${(my $ntt=$ntype)=~s/^(?:const\s+)?(?:Wx_|wx)(.*?)(?:Ptr)?$/$1/g;$ntt=qq{\"Wx::$ntt\"};\$ntt} );
474
475 O_WXCLIENTDATACONTAINER_THR_SV
476     wxPli_clientdatacontainer_2_sv( aTHX_ $arg, $var, ${(my $ntt=$ntype)=~s/^(?:const\s+)?(?:Wx_|wx)(.*?)(?:Ptr)?$/$1/g;$ntt=qq{\"Wx::$ntt\"};\$ntt} );
477     wxPli_thread_sv_register( aTHX_ ${(my $ntt=$ntype)=~s/^(?:const\s+)?(?:Wx_|wx)(.*?)(?:Ptr)?$/$1/g;$ntt=qq{\"Wx::$ntt\"};\$ntt}, SvRV( $arg ), $arg );
478
479 O_NON_WXOBJECT
480     wxPli_non_object_2_sv( aTHX_ $arg, $var, ${(my $ntt=$ntype)=~s/^(?:const\s+)?(?:Wx_|wx)(.*?)(?:Ptr)?$/$1/g;$ntt=qq{\"Wx::$ntt\"};\$ntt} );
481
482 O_NON_WXOBJECT_THR
483     wxPli_non_object_2_sv( aTHX_ $arg, $var, ${(my $ntt=$ntype)=~s/^(?:const\s+)?(?:Wx_|wx)(.*?)(?:Ptr)?$/$1/g;$ntt=qq{\"Wx::$ntt\"};\$ntt} );
484     wxPli_thread_sv_register( aTHX_ ${(my $ntt=$ntype)=~s/^(?:const\s+)?(?:Wx_|wx)(.*?)(?:Ptr)?$/$1/g;$ntt=qq{\"Wx::$ntt\"};\$ntt}, $var, $arg );
485
486 O_NON_WXOBJECT_THR_SV
487     wxPli_non_object_2_sv( aTHX_ $arg, $var, ${(my $ntt=$ntype)=~s/^(?:const\s+)?(?:Wx_|wx)(.*?)(?:Ptr)?$/$1/g;$ntt=qq{\"Wx::$ntt\"};\$ntt} );
488     wxPli_thread_sv_register( aTHX_ ${(my $ntt=$ntype)=~s/^(?:const\s+)?(?:Wx_|wx)(.*?)(?:Ptr)?$/$1/g;$ntt=qq{\"Wx::$ntt\"};\$ntt}, SvRV( $arg ), $arg );
489
490 O_SIZE
491     wxPli_non_object_2_sv( aTHX_ $arg, new $type($var), ${(my $ntt=$ntype)=~s/^(?:const\s+)?(?:Wx_|wx)(.*?)(?:Ptr)?$/$1/g;$ntt=qq{\"Wx::$ntt\"};\$ntt} );
492
493 O_GBPOSITION
494     wxPli_non_object_2_sv( aTHX_ $arg, new $type($var), ${(my $ntt=$ntype)=~s/^(?:const\s+)?(?:Wx_|wx)(.*?)(?:Ptr)?$/$1/g;$ntt=qq{\"Wx::$ntt\"};\$ntt} );
495
496 O_GBSPAN
497     wxPli_non_object_2_sv( aTHX_ $arg, new $type($var), ${(my $ntt=$ntype)=~s/^(?:const\s+)?(?:Wx_|wx)(.*?)(?:Ptr)?$/$1/g;$ntt=qq{\"Wx::$ntt\"};\$ntt} );
498
499 O_POINT
500     wxPli_non_object_2_sv( aTHX_ $arg, new $type($var), ${(my $ntt=$ntype)=~s/^(?:const\s+)?(?:Wx_|wx)(.*?)(?:Ptr)?$/$1/g;$ntt=qq{\"Wx::$ntt\"};\$ntt} );
501
502 O_POSITION
503     wxPli_non_object_2_sv( aTHX_ $arg, new $type($var), ${(my $ntt=$ntype)=~s/^(?:const\s+)?(?:Wx_|wx)(.*?)(?:Ptr)?$/$1/g;$ntt=qq{\"Wx::$ntt\"};\$ntt} );
504
505 T_KEYCODE
506     sv_setiv( $arg, $var );
507
508 T_UV
509     sv_setuv( $arg, (UV)$var );
510
511 INPUT
512 O_WXOBJECT
513     $var = (${(my $t=$type)=~s/^Wx_/wx/;\$t}) wxPli_sv_2_object( aTHX_ $arg, ${(my $ntt=$ntype)=~s/^(?:const\s+)?(?:Wx_|wx)(.*?)(?:Ptr)?$/$1/g;$ntt=qq{\"Wx::$ntt\"};\$ntt} );
514
515 O_WXOBJECT_THR
516     $var = (${(my $t=$type)=~s/^Wx_/wx/;\$t}) wxPli_sv_2_object( aTHX_ $arg, ${(my $ntt=$ntype)=~s/^(?:const\s+)?(?:Wx_|wx)(.*?)(?:Ptr)?$/$1/g;$ntt=qq{\"Wx::$ntt\"};\$ntt} );
517
518 O_WXEVTHANDLER
519     $var = (${(my $t=$type)=~s/^Wx_/wx/;\$t}) wxPli_sv_2_object( aTHX_ $arg, ${(my $ntt=$ntype)=~s/^(?:const\s+)?(?:Wx_|wx)(.*?)(?:Ptr)?$/$1/g;$ntt=qq{\"Wx::$ntt\"};\$ntt} );
520
521 O_WXCLIENTDATACONTAINER
522     $var = (${(my $t=$type)=~s/^Wx_/wx/;\$t}) wxPli_sv_2_object( aTHX_ $arg, ${(my $ntt=$ntype)=~s/^(?:const\s+)?(?:Wx_|wx)(.*?)(?:Ptr)?$/$1/g;$ntt=qq{\"Wx::$ntt\"};\$ntt} );
523
524 O_WXCLIENTDATACONTAINER_THR_SV
525     $var = (${(my $t=$type)=~s/^Wx_/wx/;\$t}) wxPli_sv_2_object( aTHX_ $arg, ${(my $ntt=$ntype)=~s/^(?:const\s+)?(?:Wx_|wx)(.*?)(?:Ptr)?$/$1/g;$ntt=qq{\"Wx::$ntt\"};\$ntt} );
526
527 O_NON_WXOBJECT
528     $var = (${(my $t=$type)=~s/^Wx_/wx/;\$t}) wxPli_sv_2_object( aTHX_ $arg, ${(my $ntt=$ntype)=~s/^(?:const\s+)?(?:Wx_|wx)(.*?)(?:Ptr)?$/$1/g;$ntt=qq{\"Wx::$ntt\"};\$ntt} );
529
530 O_NON_WXOBJECT_VAL
531     $var = *($type *) wxPli_sv_2_object( aTHX_ $arg, ${(my $ntt=$ntype)=~s/^(?:const\s+)?(?:Wx_|wx)(.*?)(?:Ptr)?$/$1/g;$ntt=qq{\"Wx::$ntt\"};\$ntt} );
532
533 O_NON_WXOBJECT_THR
534     $var = (${(my $t=$type)=~s/^Wx_/wx/;\$t}) wxPli_sv_2_object( aTHX_ $arg, ${(my $ntt=$ntype)=~s/^(?:const\s+)?(?:Wx_|wx)(.*?)(?:Ptr)?$/$1/g;$ntt=qq{\"Wx::$ntt\"};\$ntt} );
535
536 O_NON_WXOBJECT_THR_SV
537     $var = (${(my $t=$type)=~s/^Wx_/wx/;\$t}) wxPli_sv_2_object( aTHX_ $arg, ${(my $ntt=$ntype)=~s/^(?:const\s+)?(?:Wx_|wx)(.*?)(?:Ptr)?$/$1/g;$ntt=qq{\"Wx::$ntt\"};\$ntt} );
538
539 O_POINT
540     $var = wxPli_sv_2_wxpoint( aTHX_ $arg );
541
542 O_SIZE
543     $var = wxPli_sv_2_wxsize( aTHX_ $arg );
544
545 O_POSITION
546     $var = wxPli_sv_2_wxposition( aTHX_ $arg );
547
548 O_GBPOSITION
549     $var = wxPli_sv_2_wxgbposition( aTHX_ $arg );
550
551 O_GBSPAN
552     $var = wxPli_sv_2_wxgbspan( aTHX_ $arg );
553
554 T_KEYCODE
555     $var = wxPli_sv_2_keycode( aTHX_ $arg );
556
557 T_UV
558     $var = ($type)SvUV( $arg );
559
560 T_CLASSNAME
561     $var = wxPli_get_class( aTHX_ $arg );
562
563 O_VARIANT
564     $var = wxPli_sv_2_wxvariant( aTHX_ $arg );
565
566 #
567 # Wx_UserData*
568 #
569
570 INPUT
571 O_USERDATACD
572     if( SvOK( $arg ) )
573     {
574         $var = new wxPliUserDataCD( $arg );
575     }
576     else
577         $var = 0;
578
579 O_USERDATAO
580     if( SvOK( $arg ) )
581     {
582         $var = new wxPliUserDataO( $arg );
583     }
584     else
585         $var = 0;
586
587 OUTPUT
588 O_USERDATACD
589     $arg = ( $var == 0 ) ? &PL_sv_undef : $var->GetData();
590     SvREFCNT_inc( $arg ); // xsubpp mortalizes it...
591
592 O_USERDATAO
593     $arg = ( $var == 0 ) ? &PL_sv_undef : $var->GetData();
594     SvREFCNT_inc( $arg ); // xsubpp mortalizes it...
595
596 #
597 # SV_null
598 #
599
600 INPUT
601 T_SV_NULL
602     $var = SvOK( $arg ) ? $arg : 0;
603
604 OUTPUT
605 T_SV_NULL
606     $arg = ( $var == 0 ) ? &PL_sv_undef : $var;
607     SvREFCNT_inc( $arg ); // xsubpp mortalizes it...
608
609 #
610 # streams
611 #
612 TYPEMAP
613 wxPliInputStream        S_PL_ISTREAM
614 wxPliOutputStream       S_PL_OSTREAM
615 wxInputStream *         S_WX_ISTREAM
616 wxOutputStream *        S_WX_OSTREAM
617 Wx_InputStream *        O_NON_WXOBJECT
618 Wx_OutputStream *       O_NON_WXOBJECT
619
620 INPUT
621 S_PL_ISTREAM
622     wxPli_sv_2_istream( aTHX_ $arg, $var );
623
624 S_PL_OSTREAM
625     wxPli_sv_2_ostream( aTHX_ $arg, $var );
626
627
628 OUTPUT
629 S_WX_ISTREAM
630     wxPli_stream_2_sv( aTHX_ $arg, $var, "Wx::InputStream" );
631
632 S_WX_OSTREAM
633     wxPli_stream_2_sv( aTHX_ $arg, $var, "Wx::OutputStream" );
634
635 # Unicode support
636 TYPEMAP
637 wxChar *                T_WXCHAR
638 const wxChar*           T_CONST_WXCHAR
639 wxString                T_WXSTRING
640
641 INPUT
642 T_WXCHAR
643     WXCHAR_INPUT( $var, wxChar*, $arg );
644
645 T_CONST_WXCHAR
646     WXCHAR_INPUT( $var, wxChar*, $arg );
647
648 T_WXSTRING
649     WXSTRING_INPUT( $var, $type, $arg );
650
651 OUTPUT
652 T_WXCHAR
653     WXCHAR_OUTPUT( $var, $arg );
654
655 T_CONST_WXCHAR
656     WXCHAR_OUTPUT( $var, $arg );
657
658 T_WXSTRING
659     WXSTRING_OUTPUT( $var, $arg );
660
661 # typemap for window ID
662 INPUT
663 T_WINDOWID
664     $var = wxPli_get_wxwindowid( aTHX_ $arg );
665
666 OUTPUT
667 T_WINDOWID
668     sv_setiv($arg, (IV)$var);
669
670 INPUT
671 T_ARRAYSTRING
672     wxPli_av_2_arraystring( aTHX_ $arg, & $var );
673
674 INPUT
675 T_ARRAYINT
676     wxPli_av_2_arrayint( aTHX_ $arg, & $var );
677
678 INPUT
679 T_ARRAYUSERDATA
680     wxPli_av_2_userdatacdarray( aTHX_ $arg, & $var );
681     wxPliArrayGuard<wxPliUserDataCD*> guard_$var = $var;