1 /*
2  * %CopyrightBegin%
3  *
4  * Copyright Ericsson AB 2008-2021. All Rights Reserved.
5  *
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  *     http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  *
18  * %CopyrightEnd%
19 */
20 
21 /***** This file is generated do not edit ****/
22 
23 #include <wx/wx.h>
24 #include "../wxe_impl.h"
25 #include "../wxe_events.h"
26 #include "../wxe_return.h"
27 #include "../wxe_gl.h"
28 #include "wxe_macros.h"
29 #include "wxe_derived_dest.h"
30 
31 // wxHelpEvent::GetOrigin
wxHelpEvent_GetOrigin(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)32 void wxHelpEvent_GetOrigin(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
33 {
34   ErlNifEnv *env = Ecmd.env;
35   ERL_NIF_TERM * argv = Ecmd.args;
36   wxHelpEvent *This;
37   This = (wxHelpEvent *) memenv->getPtr(env, argv[0], "This");
38   if(!This) throw wxe_badarg("This");
39   int Result = This->GetOrigin();
40   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
41   rt.send(  rt.make_int(Result));
42 
43 }
44 
45 // wxHelpEvent::GetPosition
wxHelpEvent_GetPosition(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)46 void wxHelpEvent_GetPosition(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
47 {
48   ErlNifEnv *env = Ecmd.env;
49   ERL_NIF_TERM * argv = Ecmd.args;
50   wxHelpEvent *This;
51   This = (wxHelpEvent *) memenv->getPtr(env, argv[0], "This");
52   if(!This) throw wxe_badarg("This");
53   const wxPoint * Result = &This->GetPosition();
54   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
55   rt.send(  rt.make((*Result)));
56 
57 }
58 
59 // wxHelpEvent::SetOrigin
wxHelpEvent_SetOrigin(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)60 void wxHelpEvent_SetOrigin(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
61 {
62   ErlNifEnv *env = Ecmd.env;
63   ERL_NIF_TERM * argv = Ecmd.args;
64   wxHelpEvent *This;
65   This = (wxHelpEvent *) memenv->getPtr(env, argv[0], "This");
66   wxHelpEvent::Origin origin;
67   if(!enif_get_int(env, argv[1], (int *) &origin)) Badarg("origin"); // enum
68   if(!This) throw wxe_badarg("This");
69   This->SetOrigin(origin);
70 
71 }
72 
73 // wxHelpEvent::SetPosition
wxHelpEvent_SetPosition(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)74 void wxHelpEvent_SetPosition(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
75 {
76   ErlNifEnv *env = Ecmd.env;
77   ERL_NIF_TERM * argv = Ecmd.args;
78   wxHelpEvent *This;
79   This = (wxHelpEvent *) memenv->getPtr(env, argv[0], "This");
80   const ERL_NIF_TERM *pt_t;
81   int pt_sz;
82   if(!enif_get_tuple(env, argv[1], &pt_sz, &pt_t)) Badarg("pt");
83   int ptX;
84   if(!enif_get_int(env, pt_t[0], &ptX)) Badarg("pt");
85   int ptY;
86   if(!enif_get_int(env, pt_t[1], &ptY)) Badarg("pt");
87   wxPoint pt = wxPoint(ptX,ptY);
88   if(!This) throw wxe_badarg("This");
89   This->SetPosition(pt);
90 
91 }
92 
93 // wxHtmlEasyPrinting::wxHtmlEasyPrinting
wxHtmlEasyPrinting_new(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)94 void wxHtmlEasyPrinting_new(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
95 {
96   wxString name= "Printing";
97   wxWindow * parentWindow=NULL;
98   ErlNifEnv *env = Ecmd.env;
99   ERL_NIF_TERM * argv = Ecmd.args;
100   ERL_NIF_TERM lstHead, lstTail;
101   lstTail = argv[0];
102   if(!enif_is_list(env, lstTail)) Badarg("Options");
103   const ERL_NIF_TERM *tpl;
104   int tpl_sz;
105   while(!enif_is_empty_list(env, lstTail)) {
106     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
107     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
108     if(enif_is_identical(tpl[0], enif_make_atom(env, "name"))) {
109   ErlNifBinary name_bin;
110   if(!enif_inspect_binary(env, tpl[1], &name_bin)) Badarg("name");
111   name = wxString(name_bin.data, wxConvUTF8, name_bin.size);
112     } else     if(enif_is_identical(tpl[0], enif_make_atom(env, "parentWindow"))) {
113   parentWindow = (wxWindow *) memenv->getPtr(env, tpl[1], "parentWindow");
114     } else        Badarg("Options");
115   };
116   wxHtmlEasyPrinting * Result = new EwxHtmlEasyPrinting(name,parentWindow);
117   app->newPtr((void *) Result, 1, memenv);
118   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
119   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxHtmlEasyPrinting"));
120 
121 }
122 
123 // wxHtmlEasyPrinting::GetPrintData
wxHtmlEasyPrinting_GetPrintData(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)124 void wxHtmlEasyPrinting_GetPrintData(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
125 {
126   ErlNifEnv *env = Ecmd.env;
127   ERL_NIF_TERM * argv = Ecmd.args;
128   wxHtmlEasyPrinting *This;
129   This = (wxHtmlEasyPrinting *) memenv->getPtr(env, argv[0], "This");
130   if(!This) throw wxe_badarg("This");
131   wxPrintData * Result = (wxPrintData*)This->GetPrintData();
132   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
133   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxPrintData"));
134 
135 }
136 
137 // wxHtmlEasyPrinting::GetPageSetupData
wxHtmlEasyPrinting_GetPageSetupData(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)138 void wxHtmlEasyPrinting_GetPageSetupData(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
139 {
140   ErlNifEnv *env = Ecmd.env;
141   ERL_NIF_TERM * argv = Ecmd.args;
142   wxHtmlEasyPrinting *This;
143   This = (wxHtmlEasyPrinting *) memenv->getPtr(env, argv[0], "This");
144   if(!This) throw wxe_badarg("This");
145   wxPageSetupDialogData * Result = (wxPageSetupDialogData*)This->GetPageSetupData();
146   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
147   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxPageSetupDialogData"));
148 
149 }
150 
151 // wxHtmlEasyPrinting::PreviewFile
wxHtmlEasyPrinting_PreviewFile(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)152 void wxHtmlEasyPrinting_PreviewFile(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
153 {
154   ErlNifEnv *env = Ecmd.env;
155   ERL_NIF_TERM * argv = Ecmd.args;
156   wxHtmlEasyPrinting *This;
157   This = (wxHtmlEasyPrinting *) memenv->getPtr(env, argv[0], "This");
158   ErlNifBinary htmlfile_bin;
159   wxString htmlfile;
160   if(!enif_inspect_binary(env, argv[1], &htmlfile_bin)) Badarg("htmlfile");
161   htmlfile = wxString(htmlfile_bin.data, wxConvUTF8, htmlfile_bin.size);
162   if(!This) throw wxe_badarg("This");
163   bool Result = This->PreviewFile(htmlfile);
164   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
165   rt.send(  rt.make_bool(Result));
166 
167 }
168 
169 // wxHtmlEasyPrinting::PreviewText
wxHtmlEasyPrinting_PreviewText(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)170 void wxHtmlEasyPrinting_PreviewText(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
171 {
172   wxString basepath= wxEmptyString;
173   ErlNifEnv *env = Ecmd.env;
174   ERL_NIF_TERM * argv = Ecmd.args;
175   wxHtmlEasyPrinting *This;
176   This = (wxHtmlEasyPrinting *) memenv->getPtr(env, argv[0], "This");
177   ErlNifBinary htmltext_bin;
178   wxString htmltext;
179   if(!enif_inspect_binary(env, argv[1], &htmltext_bin)) Badarg("htmltext");
180   htmltext = wxString(htmltext_bin.data, wxConvUTF8, htmltext_bin.size);
181   ERL_NIF_TERM lstHead, lstTail;
182   lstTail = argv[2];
183   if(!enif_is_list(env, lstTail)) Badarg("Options");
184   const ERL_NIF_TERM *tpl;
185   int tpl_sz;
186   while(!enif_is_empty_list(env, lstTail)) {
187     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
188     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
189     if(enif_is_identical(tpl[0], enif_make_atom(env, "basepath"))) {
190   ErlNifBinary basepath_bin;
191   if(!enif_inspect_binary(env, tpl[1], &basepath_bin)) Badarg("basepath");
192   basepath = wxString(basepath_bin.data, wxConvUTF8, basepath_bin.size);
193     } else        Badarg("Options");
194   };
195   if(!This) throw wxe_badarg("This");
196   bool Result = This->PreviewText(htmltext,basepath);
197   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
198   rt.send(  rt.make_bool(Result));
199 
200 }
201 
202 // wxHtmlEasyPrinting::PrintFile
wxHtmlEasyPrinting_PrintFile(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)203 void wxHtmlEasyPrinting_PrintFile(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
204 {
205   ErlNifEnv *env = Ecmd.env;
206   ERL_NIF_TERM * argv = Ecmd.args;
207   wxHtmlEasyPrinting *This;
208   This = (wxHtmlEasyPrinting *) memenv->getPtr(env, argv[0], "This");
209   ErlNifBinary htmlfile_bin;
210   wxString htmlfile;
211   if(!enif_inspect_binary(env, argv[1], &htmlfile_bin)) Badarg("htmlfile");
212   htmlfile = wxString(htmlfile_bin.data, wxConvUTF8, htmlfile_bin.size);
213   if(!This) throw wxe_badarg("This");
214   bool Result = This->PrintFile(htmlfile);
215   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
216   rt.send(  rt.make_bool(Result));
217 
218 }
219 
220 // wxHtmlEasyPrinting::PrintText
wxHtmlEasyPrinting_PrintText(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)221 void wxHtmlEasyPrinting_PrintText(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
222 {
223   wxString basepath= wxEmptyString;
224   ErlNifEnv *env = Ecmd.env;
225   ERL_NIF_TERM * argv = Ecmd.args;
226   wxHtmlEasyPrinting *This;
227   This = (wxHtmlEasyPrinting *) memenv->getPtr(env, argv[0], "This");
228   ErlNifBinary htmltext_bin;
229   wxString htmltext;
230   if(!enif_inspect_binary(env, argv[1], &htmltext_bin)) Badarg("htmltext");
231   htmltext = wxString(htmltext_bin.data, wxConvUTF8, htmltext_bin.size);
232   ERL_NIF_TERM lstHead, lstTail;
233   lstTail = argv[2];
234   if(!enif_is_list(env, lstTail)) Badarg("Options");
235   const ERL_NIF_TERM *tpl;
236   int tpl_sz;
237   while(!enif_is_empty_list(env, lstTail)) {
238     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
239     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
240     if(enif_is_identical(tpl[0], enif_make_atom(env, "basepath"))) {
241   ErlNifBinary basepath_bin;
242   if(!enif_inspect_binary(env, tpl[1], &basepath_bin)) Badarg("basepath");
243   basepath = wxString(basepath_bin.data, wxConvUTF8, basepath_bin.size);
244     } else        Badarg("Options");
245   };
246   if(!This) throw wxe_badarg("This");
247   bool Result = This->PrintText(htmltext,basepath);
248   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
249   rt.send(  rt.make_bool(Result));
250 
251 }
252 
253 // wxHtmlEasyPrinting::PageSetup
wxHtmlEasyPrinting_PageSetup(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)254 void wxHtmlEasyPrinting_PageSetup(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
255 {
256   ErlNifEnv *env = Ecmd.env;
257   ERL_NIF_TERM * argv = Ecmd.args;
258   wxHtmlEasyPrinting *This;
259   This = (wxHtmlEasyPrinting *) memenv->getPtr(env, argv[0], "This");
260   if(!This) throw wxe_badarg("This");
261   This->PageSetup();
262 
263 }
264 
265 // wxHtmlEasyPrinting::SetFonts
wxHtmlEasyPrinting_SetFonts(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)266 void wxHtmlEasyPrinting_SetFonts(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
267 {
268   unsigned int sizesLen;
269   std::vector <int> sizes;
270   ErlNifEnv *env = Ecmd.env;
271   ERL_NIF_TERM * argv = Ecmd.args;
272   wxHtmlEasyPrinting *This;
273   This = (wxHtmlEasyPrinting *) memenv->getPtr(env, argv[0], "This");
274   ErlNifBinary normal_face_bin;
275   wxString normal_face;
276   if(!enif_inspect_binary(env, argv[1], &normal_face_bin)) Badarg("normal_face");
277   normal_face = wxString(normal_face_bin.data, wxConvUTF8, normal_face_bin.size);
278   ErlNifBinary fixed_face_bin;
279   wxString fixed_face;
280   if(!enif_inspect_binary(env, argv[2], &fixed_face_bin)) Badarg("fixed_face");
281   fixed_face = wxString(fixed_face_bin.data, wxConvUTF8, fixed_face_bin.size);
282   ERL_NIF_TERM lstHead, lstTail;
283   lstTail = argv[3];
284   if(!enif_is_list(env, lstTail)) Badarg("Options");
285   const ERL_NIF_TERM *tpl;
286   int tpl_sz;
287   while(!enif_is_empty_list(env, lstTail)) {
288     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
289     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
290     if(enif_is_identical(tpl[0], enif_make_atom(env, "sizes"))) {
291   int sizes_tmp;
292   ERL_NIF_TERM sizesHead, sizesTail;
293   if(!enif_get_list_length(env, tpl[1], &sizesLen)) Badarg("sizes");
294   sizesTail = tpl[1];
295   while(!enif_is_empty_list(env, sizesTail)) {
296     if(!enif_get_list_cell(env, sizesTail, &sizesHead, &sizesTail)) Badarg("sizes");
297     if(!enif_get_int(env, sizesHead, &sizes_tmp)) Badarg("sizes");
298     sizes.push_back( (int) sizes_tmp);
299   };
300     } else        Badarg("Options");
301   };
302   if(!This) throw wxe_badarg("This");
303   This->SetFonts(normal_face,fixed_face, sizes.empty() ? (int *) NULL : sizes.data());
304 
305 }
306 
307 // wxHtmlEasyPrinting::SetHeader
wxHtmlEasyPrinting_SetHeader(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)308 void wxHtmlEasyPrinting_SetHeader(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
309 {
310   int pg=wxPAGE_ALL;
311   ErlNifEnv *env = Ecmd.env;
312   ERL_NIF_TERM * argv = Ecmd.args;
313   wxHtmlEasyPrinting *This;
314   This = (wxHtmlEasyPrinting *) memenv->getPtr(env, argv[0], "This");
315   ErlNifBinary header_bin;
316   wxString header;
317   if(!enif_inspect_binary(env, argv[1], &header_bin)) Badarg("header");
318   header = wxString(header_bin.data, wxConvUTF8, header_bin.size);
319   ERL_NIF_TERM lstHead, lstTail;
320   lstTail = argv[2];
321   if(!enif_is_list(env, lstTail)) Badarg("Options");
322   const ERL_NIF_TERM *tpl;
323   int tpl_sz;
324   while(!enif_is_empty_list(env, lstTail)) {
325     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
326     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
327     if(enif_is_identical(tpl[0], enif_make_atom(env, "pg"))) {
328   if(!enif_get_int(env, tpl[1], &pg)) Badarg("pg"); // int
329     } else        Badarg("Options");
330   };
331   if(!This) throw wxe_badarg("This");
332   This->SetHeader(header,pg);
333 
334 }
335 
336 // wxHtmlEasyPrinting::SetFooter
wxHtmlEasyPrinting_SetFooter(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)337 void wxHtmlEasyPrinting_SetFooter(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
338 {
339   int pg=wxPAGE_ALL;
340   ErlNifEnv *env = Ecmd.env;
341   ERL_NIF_TERM * argv = Ecmd.args;
342   wxHtmlEasyPrinting *This;
343   This = (wxHtmlEasyPrinting *) memenv->getPtr(env, argv[0], "This");
344   ErlNifBinary footer_bin;
345   wxString footer;
346   if(!enif_inspect_binary(env, argv[1], &footer_bin)) Badarg("footer");
347   footer = wxString(footer_bin.data, wxConvUTF8, footer_bin.size);
348   ERL_NIF_TERM lstHead, lstTail;
349   lstTail = argv[2];
350   if(!enif_is_list(env, lstTail)) Badarg("Options");
351   const ERL_NIF_TERM *tpl;
352   int tpl_sz;
353   while(!enif_is_empty_list(env, lstTail)) {
354     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
355     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
356     if(enif_is_identical(tpl[0], enif_make_atom(env, "pg"))) {
357   if(!enif_get_int(env, tpl[1], &pg)) Badarg("pg"); // int
358     } else        Badarg("Options");
359   };
360   if(!This) throw wxe_badarg("This");
361   This->SetFooter(footer,pg);
362 
363 }
364 
365 // wxHtmlLinkEvent::GetLinkInfo
wxHtmlLinkEvent_GetLinkInfo(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)366 void wxHtmlLinkEvent_GetLinkInfo(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
367 {
368   ErlNifEnv *env = Ecmd.env;
369   ERL_NIF_TERM * argv = Ecmd.args;
370   wxHtmlLinkEvent *This;
371   This = (wxHtmlLinkEvent *) memenv->getPtr(env, argv[0], "This");
372   if(!This) throw wxe_badarg("This");
373   const wxHtmlLinkInfo * Result = &This->GetLinkInfo();
374   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
375   rt.send(  rt.make(Result));
376 
377 }
378 
379 // wxHtmlWindow::wxHtmlWindow
wxHtmlWindow_new_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)380 void wxHtmlWindow_new_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
381 {
382   wxHtmlWindow * Result = new EwxHtmlWindow();
383   app->newPtr((void *) Result, 0, memenv);
384   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
385   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxHtmlWindow"));
386 
387 }
388 
389 // wxHtmlWindow::wxHtmlWindow
wxHtmlWindow_new_2(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)390 void wxHtmlWindow_new_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
391 {
392   wxWindowID id=wxID_ANY;
393   wxPoint pos= wxDefaultPosition;
394   wxSize size= wxDefaultSize;
395   long style=wxHW_DEFAULT_STYLE;
396   ErlNifEnv *env = Ecmd.env;
397   ERL_NIF_TERM * argv = Ecmd.args;
398   wxWindow *parent;
399   parent = (wxWindow *) memenv->getPtr(env, argv[0], "parent");
400   ERL_NIF_TERM lstHead, lstTail;
401   lstTail = argv[1];
402   if(!enif_is_list(env, lstTail)) Badarg("Options");
403   const ERL_NIF_TERM *tpl;
404   int tpl_sz;
405   while(!enif_is_empty_list(env, lstTail)) {
406     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
407     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
408     if(enif_is_identical(tpl[0], enif_make_atom(env, "id"))) {
409   if(!enif_get_int(env, tpl[1], &id)) Badarg("id"); // wxWindowID
410     } else     if(enif_is_identical(tpl[0], enif_make_atom(env, "pos"))) {
411   const ERL_NIF_TERM *pos_t;
412   int pos_sz;
413   if(!enif_get_tuple(env, tpl[1], &pos_sz, &pos_t)) Badarg("pos");
414   int posX;
415   if(!enif_get_int(env, pos_t[0], &posX)) Badarg("pos");
416   int posY;
417   if(!enif_get_int(env, pos_t[1], &posY)) Badarg("pos");
418   pos = wxPoint(posX,posY);
419     } else     if(enif_is_identical(tpl[0], enif_make_atom(env, "size"))) {
420   const ERL_NIF_TERM *size_t;
421   int size_sz;
422   if(!enif_get_tuple(env, tpl[1], &size_sz, &size_t)) Badarg("size");
423   int sizeW;
424   if(!enif_get_int(env, size_t[0], &sizeW)) Badarg("size");
425   int sizeH;
426   if(!enif_get_int(env, size_t[1], &sizeH)) Badarg("size");
427   size = wxSize(sizeW,sizeH);
428     } else     if(enif_is_identical(tpl[0], enif_make_atom(env, "style"))) {
429   if(!enif_get_long(env, tpl[1], &style)) Badarg("style");
430     } else        Badarg("Options");
431   };
432   wxHtmlWindow * Result = new EwxHtmlWindow(parent,id,pos,size,style);
433   app->newPtr((void *) Result, 0, memenv);
434   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
435   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxHtmlWindow"));
436 
437 }
438 
439 // wxHtmlWindow::AppendToPage
wxHtmlWindow_AppendToPage(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)440 void wxHtmlWindow_AppendToPage(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
441 {
442   ErlNifEnv *env = Ecmd.env;
443   ERL_NIF_TERM * argv = Ecmd.args;
444   wxHtmlWindow *This;
445   This = (wxHtmlWindow *) memenv->getPtr(env, argv[0], "This");
446   ErlNifBinary source_bin;
447   wxString source;
448   if(!enif_inspect_binary(env, argv[1], &source_bin)) Badarg("source");
449   source = wxString(source_bin.data, wxConvUTF8, source_bin.size);
450   if(!This) throw wxe_badarg("This");
451   bool Result = This->AppendToPage(source);
452   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
453   rt.send(  rt.make_bool(Result));
454 
455 }
456 
457 // wxHtmlWindow::GetOpenedAnchor
wxHtmlWindow_GetOpenedAnchor(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)458 void wxHtmlWindow_GetOpenedAnchor(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
459 {
460   ErlNifEnv *env = Ecmd.env;
461   ERL_NIF_TERM * argv = Ecmd.args;
462   wxHtmlWindow *This;
463   This = (wxHtmlWindow *) memenv->getPtr(env, argv[0], "This");
464   if(!This) throw wxe_badarg("This");
465   wxString Result = This->GetOpenedAnchor();
466   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
467   rt.send(  rt.make(Result));
468 
469 }
470 
471 // wxHtmlWindow::GetOpenedPage
wxHtmlWindow_GetOpenedPage(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)472 void wxHtmlWindow_GetOpenedPage(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
473 {
474   ErlNifEnv *env = Ecmd.env;
475   ERL_NIF_TERM * argv = Ecmd.args;
476   wxHtmlWindow *This;
477   This = (wxHtmlWindow *) memenv->getPtr(env, argv[0], "This");
478   if(!This) throw wxe_badarg("This");
479   wxString Result = This->GetOpenedPage();
480   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
481   rt.send(  rt.make(Result));
482 
483 }
484 
485 // wxHtmlWindow::GetOpenedPageTitle
wxHtmlWindow_GetOpenedPageTitle(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)486 void wxHtmlWindow_GetOpenedPageTitle(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
487 {
488   ErlNifEnv *env = Ecmd.env;
489   ERL_NIF_TERM * argv = Ecmd.args;
490   wxHtmlWindow *This;
491   This = (wxHtmlWindow *) memenv->getPtr(env, argv[0], "This");
492   if(!This) throw wxe_badarg("This");
493   wxString Result = This->GetOpenedPageTitle();
494   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
495   rt.send(  rt.make(Result));
496 
497 }
498 
499 // wxHtmlWindow::GetRelatedFrame
wxHtmlWindow_GetRelatedFrame(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)500 void wxHtmlWindow_GetRelatedFrame(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
501 {
502   ErlNifEnv *env = Ecmd.env;
503   ERL_NIF_TERM * argv = Ecmd.args;
504   wxHtmlWindow *This;
505   This = (wxHtmlWindow *) memenv->getPtr(env, argv[0], "This");
506   if(!This) throw wxe_badarg("This");
507   wxFrame * Result = (wxFrame*)This->GetRelatedFrame();
508   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
509   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxFrame"));
510 
511 }
512 
513 // wxHtmlWindow::HistoryBack
wxHtmlWindow_HistoryBack(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)514 void wxHtmlWindow_HistoryBack(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
515 {
516   ErlNifEnv *env = Ecmd.env;
517   ERL_NIF_TERM * argv = Ecmd.args;
518   wxHtmlWindow *This;
519   This = (wxHtmlWindow *) memenv->getPtr(env, argv[0], "This");
520   if(!This) throw wxe_badarg("This");
521   bool Result = This->HistoryBack();
522   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
523   rt.send(  rt.make_bool(Result));
524 
525 }
526 
527 // wxHtmlWindow::HistoryCanBack
wxHtmlWindow_HistoryCanBack(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)528 void wxHtmlWindow_HistoryCanBack(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
529 {
530   ErlNifEnv *env = Ecmd.env;
531   ERL_NIF_TERM * argv = Ecmd.args;
532   wxHtmlWindow *This;
533   This = (wxHtmlWindow *) memenv->getPtr(env, argv[0], "This");
534   if(!This) throw wxe_badarg("This");
535   bool Result = This->HistoryCanBack();
536   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
537   rt.send(  rt.make_bool(Result));
538 
539 }
540 
541 // wxHtmlWindow::HistoryCanForward
wxHtmlWindow_HistoryCanForward(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)542 void wxHtmlWindow_HistoryCanForward(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
543 {
544   ErlNifEnv *env = Ecmd.env;
545   ERL_NIF_TERM * argv = Ecmd.args;
546   wxHtmlWindow *This;
547   This = (wxHtmlWindow *) memenv->getPtr(env, argv[0], "This");
548   if(!This) throw wxe_badarg("This");
549   bool Result = This->HistoryCanForward();
550   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
551   rt.send(  rt.make_bool(Result));
552 
553 }
554 
555 // wxHtmlWindow::HistoryClear
wxHtmlWindow_HistoryClear(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)556 void wxHtmlWindow_HistoryClear(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
557 {
558   ErlNifEnv *env = Ecmd.env;
559   ERL_NIF_TERM * argv = Ecmd.args;
560   wxHtmlWindow *This;
561   This = (wxHtmlWindow *) memenv->getPtr(env, argv[0], "This");
562   if(!This) throw wxe_badarg("This");
563   This->HistoryClear();
564 
565 }
566 
567 // wxHtmlWindow::HistoryForward
wxHtmlWindow_HistoryForward(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)568 void wxHtmlWindow_HistoryForward(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
569 {
570   ErlNifEnv *env = Ecmd.env;
571   ERL_NIF_TERM * argv = Ecmd.args;
572   wxHtmlWindow *This;
573   This = (wxHtmlWindow *) memenv->getPtr(env, argv[0], "This");
574   if(!This) throw wxe_badarg("This");
575   bool Result = This->HistoryForward();
576   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
577   rt.send(  rt.make_bool(Result));
578 
579 }
580 
581 // wxHtmlWindow::LoadFile
wxHtmlWindow_LoadFile(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)582 void wxHtmlWindow_LoadFile(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
583 {
584   ErlNifEnv *env = Ecmd.env;
585   ERL_NIF_TERM * argv = Ecmd.args;
586   wxHtmlWindow *This;
587   This = (wxHtmlWindow *) memenv->getPtr(env, argv[0], "This");
588   ErlNifBinary filename_bin;
589   wxString filenameStr;
590   if(!enif_inspect_binary(env, argv[1], &filename_bin)) Badarg("filename");
591   filenameStr = wxString(filename_bin.data, wxConvUTF8, filename_bin.size);
592   wxFileName  filename = wxFileName(filenameStr);
593   if(!This) throw wxe_badarg("This");
594   bool Result = This->LoadFile(filename);
595   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
596   rt.send(  rt.make_bool(Result));
597 
598 }
599 
600 // wxHtmlWindow::LoadPage
wxHtmlWindow_LoadPage(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)601 void wxHtmlWindow_LoadPage(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
602 {
603   ErlNifEnv *env = Ecmd.env;
604   ERL_NIF_TERM * argv = Ecmd.args;
605   wxHtmlWindow *This;
606   This = (wxHtmlWindow *) memenv->getPtr(env, argv[0], "This");
607   ErlNifBinary location_bin;
608   wxString location;
609   if(!enif_inspect_binary(env, argv[1], &location_bin)) Badarg("location");
610   location = wxString(location_bin.data, wxConvUTF8, location_bin.size);
611   if(!This) throw wxe_badarg("This");
612   bool Result = This->LoadPage(location);
613   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
614   rt.send(  rt.make_bool(Result));
615 
616 }
617 
618 // wxHtmlWindow::SelectAll
wxHtmlWindow_SelectAll(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)619 void wxHtmlWindow_SelectAll(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
620 {
621   ErlNifEnv *env = Ecmd.env;
622   ERL_NIF_TERM * argv = Ecmd.args;
623   wxHtmlWindow *This;
624   This = (wxHtmlWindow *) memenv->getPtr(env, argv[0], "This");
625   if(!This) throw wxe_badarg("This");
626   This->SelectAll();
627 
628 }
629 
630 // wxHtmlWindow::SelectionToText
wxHtmlWindow_SelectionToText(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)631 void wxHtmlWindow_SelectionToText(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
632 {
633   ErlNifEnv *env = Ecmd.env;
634   ERL_NIF_TERM * argv = Ecmd.args;
635   wxHtmlWindow *This;
636   This = (wxHtmlWindow *) memenv->getPtr(env, argv[0], "This");
637   if(!This) throw wxe_badarg("This");
638   wxString Result = This->SelectionToText();
639   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
640   rt.send(  rt.make(Result));
641 
642 }
643 
644 // wxHtmlWindow::SelectLine
wxHtmlWindow_SelectLine(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)645 void wxHtmlWindow_SelectLine(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
646 {
647   ErlNifEnv *env = Ecmd.env;
648   ERL_NIF_TERM * argv = Ecmd.args;
649   wxHtmlWindow *This;
650   This = (wxHtmlWindow *) memenv->getPtr(env, argv[0], "This");
651   const ERL_NIF_TERM *pos_t;
652   int pos_sz;
653   if(!enif_get_tuple(env, argv[1], &pos_sz, &pos_t)) Badarg("pos");
654   int posX;
655   if(!enif_get_int(env, pos_t[0], &posX)) Badarg("pos");
656   int posY;
657   if(!enif_get_int(env, pos_t[1], &posY)) Badarg("pos");
658   wxPoint pos = wxPoint(posX,posY);
659   if(!This) throw wxe_badarg("This");
660   This->SelectLine(pos);
661 
662 }
663 
664 // wxHtmlWindow::SelectWord
wxHtmlWindow_SelectWord(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)665 void wxHtmlWindow_SelectWord(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
666 {
667   ErlNifEnv *env = Ecmd.env;
668   ERL_NIF_TERM * argv = Ecmd.args;
669   wxHtmlWindow *This;
670   This = (wxHtmlWindow *) memenv->getPtr(env, argv[0], "This");
671   const ERL_NIF_TERM *pos_t;
672   int pos_sz;
673   if(!enif_get_tuple(env, argv[1], &pos_sz, &pos_t)) Badarg("pos");
674   int posX;
675   if(!enif_get_int(env, pos_t[0], &posX)) Badarg("pos");
676   int posY;
677   if(!enif_get_int(env, pos_t[1], &posY)) Badarg("pos");
678   wxPoint pos = wxPoint(posX,posY);
679   if(!This) throw wxe_badarg("This");
680   This->SelectWord(pos);
681 
682 }
683 
684 // wxHtmlWindow::SetBorders
wxHtmlWindow_SetBorders(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)685 void wxHtmlWindow_SetBorders(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
686 {
687   ErlNifEnv *env = Ecmd.env;
688   ERL_NIF_TERM * argv = Ecmd.args;
689   wxHtmlWindow *This;
690   This = (wxHtmlWindow *) memenv->getPtr(env, argv[0], "This");
691   int b;
692   if(!enif_get_int(env, argv[1], &b)) Badarg("b"); // int
693   if(!This) throw wxe_badarg("This");
694   This->SetBorders(b);
695 
696 }
697 
698 // wxHtmlWindow::SetFonts
wxHtmlWindow_SetFonts(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)699 void wxHtmlWindow_SetFonts(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
700 {
701   unsigned int sizesLen;
702   std::vector <int> sizes;
703   ErlNifEnv *env = Ecmd.env;
704   ERL_NIF_TERM * argv = Ecmd.args;
705   wxHtmlWindow *This;
706   This = (wxHtmlWindow *) memenv->getPtr(env, argv[0], "This");
707   ErlNifBinary normal_face_bin;
708   wxString normal_face;
709   if(!enif_inspect_binary(env, argv[1], &normal_face_bin)) Badarg("normal_face");
710   normal_face = wxString(normal_face_bin.data, wxConvUTF8, normal_face_bin.size);
711   ErlNifBinary fixed_face_bin;
712   wxString fixed_face;
713   if(!enif_inspect_binary(env, argv[2], &fixed_face_bin)) Badarg("fixed_face");
714   fixed_face = wxString(fixed_face_bin.data, wxConvUTF8, fixed_face_bin.size);
715   ERL_NIF_TERM lstHead, lstTail;
716   lstTail = argv[3];
717   if(!enif_is_list(env, lstTail)) Badarg("Options");
718   const ERL_NIF_TERM *tpl;
719   int tpl_sz;
720   while(!enif_is_empty_list(env, lstTail)) {
721     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
722     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
723     if(enif_is_identical(tpl[0], enif_make_atom(env, "sizes"))) {
724   int sizes_tmp;
725   ERL_NIF_TERM sizesHead, sizesTail;
726   if(!enif_get_list_length(env, tpl[1], &sizesLen)) Badarg("sizes");
727   sizesTail = tpl[1];
728   while(!enif_is_empty_list(env, sizesTail)) {
729     if(!enif_get_list_cell(env, sizesTail, &sizesHead, &sizesTail)) Badarg("sizes");
730     if(!enif_get_int(env, sizesHead, &sizes_tmp)) Badarg("sizes");
731     sizes.push_back( (int) sizes_tmp);
732   };
733     } else        Badarg("Options");
734   };
735   if(!This) throw wxe_badarg("This");
736   This->SetFonts(normal_face,fixed_face, sizes.empty() ? NULL : sizes.data());
737 
738 }
739 
740 // wxHtmlWindow::SetPage
wxHtmlWindow_SetPage(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)741 void wxHtmlWindow_SetPage(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
742 {
743   ErlNifEnv *env = Ecmd.env;
744   ERL_NIF_TERM * argv = Ecmd.args;
745   wxHtmlWindow *This;
746   This = (wxHtmlWindow *) memenv->getPtr(env, argv[0], "This");
747   ErlNifBinary source_bin;
748   wxString source;
749   if(!enif_inspect_binary(env, argv[1], &source_bin)) Badarg("source");
750   source = wxString(source_bin.data, wxConvUTF8, source_bin.size);
751   if(!This) throw wxe_badarg("This");
752   bool Result = This->SetPage(source);
753   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
754   rt.send(  rt.make_bool(Result));
755 
756 }
757 
758 // wxHtmlWindow::SetRelatedFrame
wxHtmlWindow_SetRelatedFrame(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)759 void wxHtmlWindow_SetRelatedFrame(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
760 {
761   ErlNifEnv *env = Ecmd.env;
762   ERL_NIF_TERM * argv = Ecmd.args;
763   wxHtmlWindow *This;
764   This = (wxHtmlWindow *) memenv->getPtr(env, argv[0], "This");
765   wxFrame *frame;
766   frame = (wxFrame *) memenv->getPtr(env, argv[1], "frame");
767   ErlNifBinary format_bin;
768   wxString format;
769   if(!enif_inspect_binary(env, argv[2], &format_bin)) Badarg("format");
770   format = wxString(format_bin.data, wxConvUTF8, format_bin.size);
771   if(!This) throw wxe_badarg("This");
772   This->SetRelatedFrame(frame,format);
773 
774 }
775 
776 // wxHtmlWindow::SetRelatedStatusBar
wxHtmlWindow_SetRelatedStatusBar_1(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)777 void wxHtmlWindow_SetRelatedStatusBar_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
778 {
779   ErlNifEnv *env = Ecmd.env;
780   ERL_NIF_TERM * argv = Ecmd.args;
781   wxHtmlWindow *This;
782   This = (wxHtmlWindow *) memenv->getPtr(env, argv[0], "This");
783   int index;
784   if(!enif_get_int(env, argv[1], &index)) Badarg("index"); // int
785   if(!This) throw wxe_badarg("This");
786   This->SetRelatedStatusBar(index);
787 
788 }
789 
790 // wxHtmlWindow::SetRelatedStatusBar
wxHtmlWindow_SetRelatedStatusBar_2(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)791 void wxHtmlWindow_SetRelatedStatusBar_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
792 {
793   int index=0;
794   ErlNifEnv *env = Ecmd.env;
795   ERL_NIF_TERM * argv = Ecmd.args;
796   wxHtmlWindow *This;
797   This = (wxHtmlWindow *) memenv->getPtr(env, argv[0], "This");
798   wxStatusBar *statusbar;
799   statusbar = (wxStatusBar *) memenv->getPtr(env, argv[1], "statusbar");
800   ERL_NIF_TERM lstHead, lstTail;
801   lstTail = argv[2];
802   if(!enif_is_list(env, lstTail)) Badarg("Options");
803   const ERL_NIF_TERM *tpl;
804   int tpl_sz;
805   while(!enif_is_empty_list(env, lstTail)) {
806     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
807     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
808     if(enif_is_identical(tpl[0], enif_make_atom(env, "index"))) {
809   if(!enif_get_int(env, tpl[1], &index)) Badarg("index"); // int
810     } else        Badarg("Options");
811   };
812   if(!This) throw wxe_badarg("This");
813   This->SetRelatedStatusBar(statusbar,index);
814 
815 }
816 
817 // wxHtmlWindow::ToText
wxHtmlWindow_ToText(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)818 void wxHtmlWindow_ToText(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
819 {
820   ErlNifEnv *env = Ecmd.env;
821   ERL_NIF_TERM * argv = Ecmd.args;
822   wxHtmlWindow *This;
823   This = (wxHtmlWindow *) memenv->getPtr(env, argv[0], "This");
824   if(!This) throw wxe_badarg("This");
825   wxString Result = This->ToText();
826   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
827   rt.send(  rt.make(Result));
828 
829 }
830 
831 // wxIcon::wxIcon
wxIcon_new_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)832 void wxIcon_new_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
833 {
834   wxIcon * Result = new EwxIcon();
835   app->newPtr((void *) Result, 1, memenv);
836   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
837   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxIcon"));
838 
839 }
840 
841 // wxIcon::wxIcon
wxIcon_new_1(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)842 void wxIcon_new_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
843 {
844   ErlNifEnv *env = Ecmd.env;
845   ERL_NIF_TERM * argv = Ecmd.args;
846   wxIcon *icon;
847   icon = (wxIcon *) memenv->getPtr(env, argv[0], "icon");
848   wxIcon * Result = new EwxIcon(*icon);
849   app->newPtr((void *) Result, 1, memenv);
850   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
851   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxIcon"));
852 
853 }
854 
855 // wxIcon::wxIcon
wxIcon_new_2(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)856 void wxIcon_new_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
857 {
858  wxBitmapType type=wxICON_DEFAULT_TYPE;
859   int desiredWidth=-1;
860   int desiredHeight=-1;
861   ErlNifEnv *env = Ecmd.env;
862   ERL_NIF_TERM * argv = Ecmd.args;
863   ErlNifBinary name_bin;
864   wxString name;
865   if(!enif_inspect_binary(env, argv[0], &name_bin)) Badarg("name");
866   name = wxString(name_bin.data, wxConvUTF8, name_bin.size);
867   ERL_NIF_TERM lstHead, lstTail;
868   lstTail = argv[1];
869   if(!enif_is_list(env, lstTail)) Badarg("Options");
870   const ERL_NIF_TERM *tpl;
871   int tpl_sz;
872   while(!enif_is_empty_list(env, lstTail)) {
873     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
874     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
875     if(enif_is_identical(tpl[0], enif_make_atom(env, "type"))) {
876   if(!enif_get_int(env, tpl[1], (int *) &type)) Badarg("type"); // enum
877     } else     if(enif_is_identical(tpl[0], enif_make_atom(env, "desiredWidth"))) {
878   if(!enif_get_int(env, tpl[1], &desiredWidth)) Badarg("desiredWidth"); // int
879     } else     if(enif_is_identical(tpl[0], enif_make_atom(env, "desiredHeight"))) {
880   if(!enif_get_int(env, tpl[1], &desiredHeight)) Badarg("desiredHeight"); // int
881     } else        Badarg("Options");
882   };
883   wxIcon * Result = new EwxIcon(name,type,desiredWidth,desiredHeight);
884   app->newPtr((void *) Result, 1, memenv);
885   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
886   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxIcon"));
887 
888 }
889 
890 // wxIcon::CopyFromBitmap
wxIcon_CopyFromBitmap(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)891 void wxIcon_CopyFromBitmap(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
892 {
893   ErlNifEnv *env = Ecmd.env;
894   ERL_NIF_TERM * argv = Ecmd.args;
895   wxIcon *This;
896   This = (wxIcon *) memenv->getPtr(env, argv[0], "This");
897   wxBitmap *bmp;
898   bmp = (wxBitmap *) memenv->getPtr(env, argv[1], "bmp");
899   if(!This) throw wxe_badarg("This");
900   This->CopyFromBitmap(*bmp);
901 
902 }
903 
904 // wxIconBundle::wxIconBundle
wxIconBundle_new_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)905 void wxIconBundle_new_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
906 {
907   wxIconBundle * Result = new EwxIconBundle();
908   app->newPtr((void *) Result, 62, memenv);
909   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
910   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxIconBundle"));
911 
912 }
913 
914 // wxIconBundle::wxIconBundle
wxIconBundle_new_1_1(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)915 void wxIconBundle_new_1_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
916 {
917   ErlNifEnv *env = Ecmd.env;
918   ERL_NIF_TERM * argv = Ecmd.args;
919   ErlNifBinary file_bin;
920   wxString file;
921   if(!enif_inspect_binary(env, argv[0], &file_bin)) Badarg("file");
922   file = wxString(file_bin.data, wxConvUTF8, file_bin.size);
923   wxIconBundle * Result = new EwxIconBundle(file);
924   app->newPtr((void *) Result, 62, memenv);
925   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
926   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxIconBundle"));
927 
928 }
929 
930 // wxIconBundle::wxIconBundle
wxIconBundle_new_2(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)931 void wxIconBundle_new_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
932 {
933   ErlNifEnv *env = Ecmd.env;
934   ERL_NIF_TERM * argv = Ecmd.args;
935   ErlNifBinary file_bin;
936   wxString file;
937   if(!enif_inspect_binary(env, argv[0], &file_bin)) Badarg("file");
938   file = wxString(file_bin.data, wxConvUTF8, file_bin.size);
939   wxBitmapType type;
940   if(!enif_get_int(env, argv[1], (int *) &type)) Badarg("type"); // enum
941   wxIconBundle * Result = new EwxIconBundle(file,type);
942   app->newPtr((void *) Result, 62, memenv);
943   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
944   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxIconBundle"));
945 
946 }
947 
948 // wxIconBundle::wxIconBundle
wxIconBundle_new_1_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)949 void wxIconBundle_new_1_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
950 {
951   ErlNifEnv *env = Ecmd.env;
952   ERL_NIF_TERM * argv = Ecmd.args;
953   ERL_NIF_TERM ic_type;
954   void * ic = memenv->getPtr(env, argv[0], "ic", &ic_type);
955   wxIconBundle * Result;
956   if(enif_is_identical(ic_type, WXE_ATOM_wxIconBundle))
957     Result = new EwxIconBundle(* static_cast<wxIconBundle*> (ic));
958   else if(enif_is_identical(ic_type, WXE_ATOM_wxIcon))
959     Result = new EwxIconBundle(* static_cast<wxIcon*> (ic));
960   else throw wxe_badarg("ic");
961   app->newPtr((void *) Result, 62, memenv);
962   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
963   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxIconBundle"));
964 
965 }
966 
967 // wxIconBundle::~wxIconBundle
wxIconBundle_destruct(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)968 void wxIconBundle_destruct(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
969 {
970  ErlNifEnv *env = Ecmd.env;
971  ERL_NIF_TERM * argv = Ecmd.args;
972   wxIconBundle *This;
973   This = (wxIconBundle *) memenv->getPtr(env, argv[0], "This");
974  if(This) {   ((WxeApp *) wxTheApp)->clearPtr((void *) This);
975    delete This;}
976 }
977 
978 // wxIconBundle::AddIcon
wxIconBundle_AddIcon_1_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)979 void wxIconBundle_AddIcon_1_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
980 {
981   ErlNifEnv *env = Ecmd.env;
982   ERL_NIF_TERM * argv = Ecmd.args;
983   wxIconBundle *This;
984   This = (wxIconBundle *) memenv->getPtr(env, argv[0], "This");
985   ErlNifBinary file_bin;
986   wxString file;
987   if(!enif_inspect_binary(env, argv[1], &file_bin)) Badarg("file");
988   file = wxString(file_bin.data, wxConvUTF8, file_bin.size);
989   if(!This) throw wxe_badarg("This");
990   This->AddIcon(file);
991 
992 }
993 
994 // wxIconBundle::AddIcon
wxIconBundle_AddIcon_2(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)995 void wxIconBundle_AddIcon_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
996 {
997   ErlNifEnv *env = Ecmd.env;
998   ERL_NIF_TERM * argv = Ecmd.args;
999   wxIconBundle *This;
1000   This = (wxIconBundle *) memenv->getPtr(env, argv[0], "This");
1001   ErlNifBinary file_bin;
1002   wxString file;
1003   if(!enif_inspect_binary(env, argv[1], &file_bin)) Badarg("file");
1004   file = wxString(file_bin.data, wxConvUTF8, file_bin.size);
1005   wxBitmapType type;
1006   if(!enif_get_int(env, argv[2], (int *) &type)) Badarg("type"); // enum
1007   if(!This) throw wxe_badarg("This");
1008   This->AddIcon(file,type);
1009 
1010 }
1011 
1012 // wxIconBundle::AddIcon
wxIconBundle_AddIcon_1_1(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1013 void wxIconBundle_AddIcon_1_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1014 {
1015   ErlNifEnv *env = Ecmd.env;
1016   ERL_NIF_TERM * argv = Ecmd.args;
1017   wxIconBundle *This;
1018   This = (wxIconBundle *) memenv->getPtr(env, argv[0], "This");
1019   wxIcon *icon;
1020   icon = (wxIcon *) memenv->getPtr(env, argv[1], "icon");
1021   if(!This) throw wxe_badarg("This");
1022   This->AddIcon(*icon);
1023 
1024 }
1025 
1026 // wxIconBundle::GetIcon
wxIconBundle_GetIcon_2(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1027 void wxIconBundle_GetIcon_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1028 {
1029   int flags=wxIconBundle::FALLBACK_SYSTEM;
1030   ErlNifEnv *env = Ecmd.env;
1031   ERL_NIF_TERM * argv = Ecmd.args;
1032   wxIconBundle *This;
1033   This = (wxIconBundle *) memenv->getPtr(env, argv[0], "This");
1034   const ERL_NIF_TERM *size_t;
1035   int size_sz;
1036   if(!enif_get_tuple(env, argv[1], &size_sz, &size_t)) Badarg("size");
1037   int sizeW;
1038   if(!enif_get_int(env, size_t[0], &sizeW)) Badarg("size");
1039   int sizeH;
1040   if(!enif_get_int(env, size_t[1], &sizeH)) Badarg("size");
1041   wxSize size = wxSize(sizeW,sizeH);
1042   ERL_NIF_TERM lstHead, lstTail;
1043   lstTail = argv[2];
1044   if(!enif_is_list(env, lstTail)) Badarg("Options");
1045   const ERL_NIF_TERM *tpl;
1046   int tpl_sz;
1047   while(!enif_is_empty_list(env, lstTail)) {
1048     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
1049     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
1050     if(enif_is_identical(tpl[0], enif_make_atom(env, "flags"))) {
1051   if(!enif_get_int(env, tpl[1], &flags)) Badarg("flags"); // int
1052     } else        Badarg("Options");
1053   };
1054   if(!This) throw wxe_badarg("This");
1055   wxIcon * Result = new wxIcon(This->GetIcon(size,flags)); app->newPtr((void *) Result,3, memenv);;
1056   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1057   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxIcon"));
1058 
1059 }
1060 
1061 // wxIconBundle::GetIcon
wxIconBundle_GetIcon_1(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1062 void wxIconBundle_GetIcon_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1063 {
1064   wxCoord size=wxDefaultCoord;
1065   int flags=wxIconBundle::FALLBACK_SYSTEM;
1066   ErlNifEnv *env = Ecmd.env;
1067   ERL_NIF_TERM * argv = Ecmd.args;
1068   wxIconBundle *This;
1069   This = (wxIconBundle *) memenv->getPtr(env, argv[0], "This");
1070   ERL_NIF_TERM lstHead, lstTail;
1071   lstTail = argv[1];
1072   if(!enif_is_list(env, lstTail)) Badarg("Options");
1073   const ERL_NIF_TERM *tpl;
1074   int tpl_sz;
1075   while(!enif_is_empty_list(env, lstTail)) {
1076     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
1077     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
1078     if(enif_is_identical(tpl[0], enif_make_atom(env, "size"))) {
1079   if(!enif_get_int(env, tpl[1], &size)) Badarg("size"); // wxCoord
1080     } else     if(enif_is_identical(tpl[0], enif_make_atom(env, "flags"))) {
1081   if(!enif_get_int(env, tpl[1], &flags)) Badarg("flags"); // int
1082     } else        Badarg("Options");
1083   };
1084   if(!This) throw wxe_badarg("This");
1085   wxIcon * Result = new wxIcon(This->GetIcon(size,flags)); app->newPtr((void *) Result,3, memenv);;
1086   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1087   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxIcon"));
1088 
1089 }
1090 
1091 // wxIconizeEvent::IsIconized
wxIconizeEvent_IsIconized(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1092 void wxIconizeEvent_IsIconized(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1093 {
1094   ErlNifEnv *env = Ecmd.env;
1095   ERL_NIF_TERM * argv = Ecmd.args;
1096   wxIconizeEvent *This;
1097   This = (wxIconizeEvent *) memenv->getPtr(env, argv[0], "This");
1098   if(!This) throw wxe_badarg("This");
1099   bool Result = This->IsIconized();
1100   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1101   rt.send(  rt.make_bool(Result));
1102 
1103 }
1104 
1105 // wxIdleEvent::GetMode
wxIdleEvent_GetMode(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1106 void wxIdleEvent_GetMode(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1107 {
1108   int Result = wxIdleEvent::GetMode();
1109   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1110   rt.send(  rt.make_int(Result));
1111 
1112 }
1113 
1114 // wxIdleEvent::RequestMore
wxIdleEvent_RequestMore(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1115 void wxIdleEvent_RequestMore(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1116 {
1117   bool needMore=true;
1118   ErlNifEnv *env = Ecmd.env;
1119   ERL_NIF_TERM * argv = Ecmd.args;
1120   wxIdleEvent *This;
1121   This = (wxIdleEvent *) memenv->getPtr(env, argv[0], "This");
1122   ERL_NIF_TERM lstHead, lstTail;
1123   lstTail = argv[1];
1124   if(!enif_is_list(env, lstTail)) Badarg("Options");
1125   const ERL_NIF_TERM *tpl;
1126   int tpl_sz;
1127   while(!enif_is_empty_list(env, lstTail)) {
1128     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
1129     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
1130     if(enif_is_identical(tpl[0], enif_make_atom(env, "needMore"))) {
1131   needMore = enif_is_identical(tpl[1], WXE_ATOM_true);
1132     } else        Badarg("Options");
1133   };
1134   if(!This) throw wxe_badarg("This");
1135   This->RequestMore(needMore);
1136 
1137 }
1138 
1139 // wxIdleEvent::MoreRequested
wxIdleEvent_MoreRequested(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1140 void wxIdleEvent_MoreRequested(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1141 {
1142   ErlNifEnv *env = Ecmd.env;
1143   ERL_NIF_TERM * argv = Ecmd.args;
1144   wxIdleEvent *This;
1145   This = (wxIdleEvent *) memenv->getPtr(env, argv[0], "This");
1146   if(!This) throw wxe_badarg("This");
1147   bool Result = This->MoreRequested();
1148   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1149   rt.send(  rt.make_bool(Result));
1150 
1151 }
1152 
1153 // wxIdleEvent::SetMode
wxIdleEvent_SetMode(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1154 void wxIdleEvent_SetMode(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1155 {
1156   ErlNifEnv *env = Ecmd.env;
1157   ERL_NIF_TERM * argv = Ecmd.args;
1158   wxIdleMode mode;
1159   if(!enif_get_int(env, argv[0], (int *) &mode)) Badarg("mode"); // enum
1160   wxIdleEvent::SetMode(mode);
1161 
1162 }
1163 
1164 // wxImage::wxImage
wxImage_new_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1165 void wxImage_new_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1166 {
1167   wxImage * Result = new EwxImage();
1168   app->newPtr((void *) Result, 1, memenv);
1169   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1170   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxImage"));
1171 
1172 }
1173 
1174 // wxImage::wxImage
wxImage_new_3_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1175 void wxImage_new_3_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1176 {
1177   bool clear=true;
1178   ErlNifEnv *env = Ecmd.env;
1179   ERL_NIF_TERM * argv = Ecmd.args;
1180   int width;
1181   if(!enif_get_int(env, argv[0], &width)) Badarg("width"); // int
1182   int height;
1183   if(!enif_get_int(env, argv[1], &height)) Badarg("height"); // int
1184   ERL_NIF_TERM lstHead, lstTail;
1185   lstTail = argv[2];
1186   if(!enif_is_list(env, lstTail)) Badarg("Options");
1187   const ERL_NIF_TERM *tpl;
1188   int tpl_sz;
1189   while(!enif_is_empty_list(env, lstTail)) {
1190     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
1191     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
1192     if(enif_is_identical(tpl[0], enif_make_atom(env, "clear"))) {
1193   clear = enif_is_identical(tpl[1], WXE_ATOM_true);
1194     } else        Badarg("Options");
1195   };
1196   wxImage * Result = new EwxImage(width,height,clear);
1197   app->newPtr((void *) Result, 1, memenv);
1198   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1199   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxImage"));
1200 
1201 }
1202 
1203 // wxImage::wxImage
wxImage_new_2_1(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1204 void wxImage_new_2_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1205 {
1206   bool clear=true;
1207   ErlNifEnv *env = Ecmd.env;
1208   ERL_NIF_TERM * argv = Ecmd.args;
1209   const ERL_NIF_TERM *sz_t;
1210   int sz_sz;
1211   if(!enif_get_tuple(env, argv[0], &sz_sz, &sz_t)) Badarg("sz");
1212   int szW;
1213   if(!enif_get_int(env, sz_t[0], &szW)) Badarg("sz");
1214   int szH;
1215   if(!enif_get_int(env, sz_t[1], &szH)) Badarg("sz");
1216   wxSize sz = wxSize(szW,szH);
1217   ERL_NIF_TERM lstHead, lstTail;
1218   lstTail = argv[1];
1219   if(!enif_is_list(env, lstTail)) Badarg("Options");
1220   const ERL_NIF_TERM *tpl;
1221   int tpl_sz;
1222   while(!enif_is_empty_list(env, lstTail)) {
1223     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
1224     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
1225     if(enif_is_identical(tpl[0], enif_make_atom(env, "clear"))) {
1226   clear = enif_is_identical(tpl[1], WXE_ATOM_true);
1227     } else        Badarg("Options");
1228   };
1229   wxImage * Result = new EwxImage(sz,clear);
1230   app->newPtr((void *) Result, 1, memenv);
1231   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1232   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxImage"));
1233 
1234 }
1235 
1236 // wxImage::wxImage
wxImage_new_4_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1237 void wxImage_new_4_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1238 {
1239   bool static_data=false;
1240   ErlNifEnv *env = Ecmd.env;
1241   ERL_NIF_TERM * argv = Ecmd.args;
1242   int width;
1243   if(!enif_get_int(env, argv[0], &width)) Badarg("width"); // int
1244   int height;
1245   if(!enif_get_int(env, argv[1], &height)) Badarg("height"); // int
1246   unsigned char * data;
1247   ErlNifBinary data_bin;
1248   if(!enif_inspect_binary(env, argv[2], &data_bin)) Badarg("data");
1249   data = (unsigned char*) data_bin.data;
1250   ERL_NIF_TERM lstHead, lstTail;
1251   lstTail = argv[3];
1252   if(!enif_is_list(env, lstTail)) Badarg("Options");
1253   const ERL_NIF_TERM *tpl;
1254   int tpl_sz;
1255   while(!enif_is_empty_list(env, lstTail)) {
1256     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
1257     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
1258     if(enif_is_identical(tpl[0], enif_make_atom(env, "static_data"))) {
1259   static_data = enif_is_identical(tpl[1], WXE_ATOM_true);
1260     } else        Badarg("Options");
1261   };
1262  if(!static_data) {
1263     data = (unsigned char *) malloc(data_bin.size);
1264     memcpy(data,data_bin.data,data_bin.size);}
1265 ;
1266   wxImage * Result = new EwxImage(width,height,data,static_data);
1267   app->newPtr((void *) Result, 1, memenv);
1268   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1269   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxImage"));
1270 
1271 }
1272 
1273 // wxImage::wxImage
wxImage_new_3_2(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1274 void wxImage_new_3_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1275 {
1276   bool static_data=false;
1277   ErlNifEnv *env = Ecmd.env;
1278   ERL_NIF_TERM * argv = Ecmd.args;
1279   const ERL_NIF_TERM *sz_t;
1280   int sz_sz;
1281   if(!enif_get_tuple(env, argv[0], &sz_sz, &sz_t)) Badarg("sz");
1282   int szW;
1283   if(!enif_get_int(env, sz_t[0], &szW)) Badarg("sz");
1284   int szH;
1285   if(!enif_get_int(env, sz_t[1], &szH)) Badarg("sz");
1286   wxSize sz = wxSize(szW,szH);
1287   unsigned char * data;
1288   ErlNifBinary data_bin;
1289   if(!enif_inspect_binary(env, argv[1], &data_bin)) Badarg("data");
1290   data = (unsigned char*) data_bin.data;
1291   ERL_NIF_TERM lstHead, lstTail;
1292   lstTail = argv[2];
1293   if(!enif_is_list(env, lstTail)) Badarg("Options");
1294   const ERL_NIF_TERM *tpl;
1295   int tpl_sz;
1296   while(!enif_is_empty_list(env, lstTail)) {
1297     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
1298     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
1299     if(enif_is_identical(tpl[0], enif_make_atom(env, "static_data"))) {
1300   static_data = enif_is_identical(tpl[1], WXE_ATOM_true);
1301     } else        Badarg("Options");
1302   };
1303   wxImage * Result = new EwxImage(sz,data,static_data);
1304   app->newPtr((void *) Result, 1, memenv);
1305   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1306   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxImage"));
1307 
1308 }
1309 
1310 // wxImage::wxImage
wxImage_new_5(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1311 void wxImage_new_5(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1312 {
1313   bool static_data=false;
1314   ErlNifEnv *env = Ecmd.env;
1315   ERL_NIF_TERM * argv = Ecmd.args;
1316   int width;
1317   if(!enif_get_int(env, argv[0], &width)) Badarg("width"); // int
1318   int height;
1319   if(!enif_get_int(env, argv[1], &height)) Badarg("height"); // int
1320   unsigned char * data;
1321   ErlNifBinary data_bin;
1322   if(!enif_inspect_binary(env, argv[2], &data_bin)) Badarg("data");
1323   data = (unsigned char*) data_bin.data;
1324   unsigned char * alpha;
1325   ErlNifBinary alpha_bin;
1326   if(!enif_inspect_binary(env, argv[3], &alpha_bin)) Badarg("alpha");
1327   alpha = (unsigned char*) alpha_bin.data;
1328   ERL_NIF_TERM lstHead, lstTail;
1329   lstTail = argv[4];
1330   if(!enif_is_list(env, lstTail)) Badarg("Options");
1331   const ERL_NIF_TERM *tpl;
1332   int tpl_sz;
1333   while(!enif_is_empty_list(env, lstTail)) {
1334     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
1335     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
1336     if(enif_is_identical(tpl[0], enif_make_atom(env, "static_data"))) {
1337   static_data = enif_is_identical(tpl[1], WXE_ATOM_true);
1338     } else        Badarg("Options");
1339   };
1340  if(!static_data) {
1341     data = (unsigned char *) malloc(data_bin.size);
1342     alpha = (unsigned char *) malloc(alpha_bin.size);
1343     memcpy(data,data_bin.data,data_bin.size);
1344     memcpy(alpha,alpha_bin.data,alpha_bin.size);}
1345 ;
1346   wxImage * Result = new EwxImage(width,height,data,alpha,static_data);
1347   app->newPtr((void *) Result, 1, memenv);
1348   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1349   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxImage"));
1350 
1351 }
1352 
1353 // wxImage::wxImage
wxImage_new_4_1(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1354 void wxImage_new_4_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1355 {
1356   bool static_data=false;
1357   ErlNifEnv *env = Ecmd.env;
1358   ERL_NIF_TERM * argv = Ecmd.args;
1359   const ERL_NIF_TERM *sz_t;
1360   int sz_sz;
1361   if(!enif_get_tuple(env, argv[0], &sz_sz, &sz_t)) Badarg("sz");
1362   int szW;
1363   if(!enif_get_int(env, sz_t[0], &szW)) Badarg("sz");
1364   int szH;
1365   if(!enif_get_int(env, sz_t[1], &szH)) Badarg("sz");
1366   wxSize sz = wxSize(szW,szH);
1367   unsigned char * data;
1368   ErlNifBinary data_bin;
1369   if(!enif_inspect_binary(env, argv[1], &data_bin)) Badarg("data");
1370   data = (unsigned char*) data_bin.data;
1371   unsigned char * alpha;
1372   ErlNifBinary alpha_bin;
1373   if(!enif_inspect_binary(env, argv[2], &alpha_bin)) Badarg("alpha");
1374   alpha = (unsigned char*) alpha_bin.data;
1375   ERL_NIF_TERM lstHead, lstTail;
1376   lstTail = argv[3];
1377   if(!enif_is_list(env, lstTail)) Badarg("Options");
1378   const ERL_NIF_TERM *tpl;
1379   int tpl_sz;
1380   while(!enif_is_empty_list(env, lstTail)) {
1381     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
1382     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
1383     if(enif_is_identical(tpl[0], enif_make_atom(env, "static_data"))) {
1384   static_data = enif_is_identical(tpl[1], WXE_ATOM_true);
1385     } else        Badarg("Options");
1386   };
1387  if(!static_data) {
1388     data = (unsigned char *) malloc(data_bin.size);
1389     memcpy(data,data_bin.data,data_bin.size);}
1390 ;
1391   wxImage * Result = new EwxImage(sz,data,alpha,static_data);
1392   app->newPtr((void *) Result, 1, memenv);
1393   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1394   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxImage"));
1395 
1396 }
1397 
1398 // wxImage::wxImage
wxImage_new_2_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1399 void wxImage_new_2_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1400 {
1401  wxBitmapType type=wxBITMAP_TYPE_ANY;
1402   int index=-1;
1403   ErlNifEnv *env = Ecmd.env;
1404   ERL_NIF_TERM * argv = Ecmd.args;
1405   ErlNifBinary name_bin;
1406   wxString name;
1407   if(!enif_inspect_binary(env, argv[0], &name_bin)) Badarg("name");
1408   name = wxString(name_bin.data, wxConvUTF8, name_bin.size);
1409   ERL_NIF_TERM lstHead, lstTail;
1410   lstTail = argv[1];
1411   if(!enif_is_list(env, lstTail)) Badarg("Options");
1412   const ERL_NIF_TERM *tpl;
1413   int tpl_sz;
1414   while(!enif_is_empty_list(env, lstTail)) {
1415     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
1416     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
1417     if(enif_is_identical(tpl[0], enif_make_atom(env, "type"))) {
1418   if(!enif_get_int(env, tpl[1], (int *) &type)) Badarg("type"); // enum
1419     } else     if(enif_is_identical(tpl[0], enif_make_atom(env, "index"))) {
1420   if(!enif_get_int(env, tpl[1], &index)) Badarg("index"); // int
1421     } else        Badarg("Options");
1422   };
1423   wxImage * Result = new EwxImage(name,type,index);
1424   app->newPtr((void *) Result, 1, memenv);
1425   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1426   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxImage"));
1427 
1428 }
1429 
1430 // wxImage::wxImage
wxImage_new_3_1(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1431 void wxImage_new_3_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1432 {
1433   int index=-1;
1434   ErlNifEnv *env = Ecmd.env;
1435   ERL_NIF_TERM * argv = Ecmd.args;
1436   ErlNifBinary name_bin;
1437   wxString name;
1438   if(!enif_inspect_binary(env, argv[0], &name_bin)) Badarg("name");
1439   name = wxString(name_bin.data, wxConvUTF8, name_bin.size);
1440   ErlNifBinary mimetype_bin;
1441   wxString mimetype;
1442   if(!enif_inspect_binary(env, argv[1], &mimetype_bin)) Badarg("mimetype");
1443   mimetype = wxString(mimetype_bin.data, wxConvUTF8, mimetype_bin.size);
1444   ERL_NIF_TERM lstHead, lstTail;
1445   lstTail = argv[2];
1446   if(!enif_is_list(env, lstTail)) Badarg("Options");
1447   const ERL_NIF_TERM *tpl;
1448   int tpl_sz;
1449   while(!enif_is_empty_list(env, lstTail)) {
1450     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
1451     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
1452     if(enif_is_identical(tpl[0], enif_make_atom(env, "index"))) {
1453   if(!enif_get_int(env, tpl[1], &index)) Badarg("index"); // int
1454     } else        Badarg("Options");
1455   };
1456   wxImage * Result = new EwxImage(name,mimetype,index);
1457   app->newPtr((void *) Result, 1, memenv);
1458   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1459   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxImage"));
1460 
1461 }
1462 
1463 // wxImage::Blur
wxImage_Blur(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1464 void wxImage_Blur(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1465 {
1466   ErlNifEnv *env = Ecmd.env;
1467   ERL_NIF_TERM * argv = Ecmd.args;
1468   wxImage *This;
1469   This = (wxImage *) memenv->getPtr(env, argv[0], "This");
1470   int blurRadius;
1471   if(!enif_get_int(env, argv[1], &blurRadius)) Badarg("blurRadius"); // int
1472   if(!This) throw wxe_badarg("This");
1473   wxImage * Result = new EwxImage(This->Blur(blurRadius)); app->newPtr((void *) Result,3, memenv);;
1474   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1475   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxImage"));
1476 
1477 }
1478 
1479 // wxImage::BlurHorizontal
wxImage_BlurHorizontal(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1480 void wxImage_BlurHorizontal(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1481 {
1482   ErlNifEnv *env = Ecmd.env;
1483   ERL_NIF_TERM * argv = Ecmd.args;
1484   wxImage *This;
1485   This = (wxImage *) memenv->getPtr(env, argv[0], "This");
1486   int blurRadius;
1487   if(!enif_get_int(env, argv[1], &blurRadius)) Badarg("blurRadius"); // int
1488   if(!This) throw wxe_badarg("This");
1489   wxImage * Result = new EwxImage(This->BlurHorizontal(blurRadius)); app->newPtr((void *) Result,3, memenv);;
1490   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1491   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxImage"));
1492 
1493 }
1494 
1495 // wxImage::BlurVertical
wxImage_BlurVertical(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1496 void wxImage_BlurVertical(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1497 {
1498   ErlNifEnv *env = Ecmd.env;
1499   ERL_NIF_TERM * argv = Ecmd.args;
1500   wxImage *This;
1501   This = (wxImage *) memenv->getPtr(env, argv[0], "This");
1502   int blurRadius;
1503   if(!enif_get_int(env, argv[1], &blurRadius)) Badarg("blurRadius"); // int
1504   if(!This) throw wxe_badarg("This");
1505   wxImage * Result = new EwxImage(This->BlurVertical(blurRadius)); app->newPtr((void *) Result,3, memenv);;
1506   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1507   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxImage"));
1508 
1509 }
1510 
1511 // wxImage::ConvertAlphaToMask
wxImage_ConvertAlphaToMask_1(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1512 void wxImage_ConvertAlphaToMask_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1513 {
1514   unsigned int threshold=wxIMAGE_ALPHA_THRESHOLD;
1515   ErlNifEnv *env = Ecmd.env;
1516   ERL_NIF_TERM * argv = Ecmd.args;
1517   wxImage *This;
1518   This = (wxImage *) memenv->getPtr(env, argv[0], "This");
1519   ERL_NIF_TERM lstHead, lstTail;
1520   lstTail = argv[1];
1521   if(!enif_is_list(env, lstTail)) Badarg("Options");
1522   const ERL_NIF_TERM *tpl;
1523   int tpl_sz;
1524   while(!enif_is_empty_list(env, lstTail)) {
1525     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
1526     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
1527     if(enif_is_identical(tpl[0], enif_make_atom(env, "threshold"))) {
1528   if(!enif_get_uint(env, tpl[1], &threshold)) Badarg("threshold");
1529     } else        Badarg("Options");
1530   };
1531   if(!This) throw wxe_badarg("This");
1532   bool Result = This->ConvertAlphaToMask(threshold);
1533   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1534   rt.send(  rt.make_bool(Result));
1535 
1536 }
1537 
1538 // wxImage::ConvertAlphaToMask
wxImage_ConvertAlphaToMask_4(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1539 void wxImage_ConvertAlphaToMask_4(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1540 {
1541   unsigned int threshold=wxIMAGE_ALPHA_THRESHOLD;
1542   ErlNifEnv *env = Ecmd.env;
1543   ERL_NIF_TERM * argv = Ecmd.args;
1544   wxImage *This;
1545   This = (wxImage *) memenv->getPtr(env, argv[0], "This");
1546   unsigned int mr;
1547   if(!enif_get_uint(env, argv[1], &mr)) Badarg("mr");
1548   unsigned int mg;
1549   if(!enif_get_uint(env, argv[2], &mg)) Badarg("mg");
1550   unsigned int mb;
1551   if(!enif_get_uint(env, argv[3], &mb)) Badarg("mb");
1552   ERL_NIF_TERM lstHead, lstTail;
1553   lstTail = argv[4];
1554   if(!enif_is_list(env, lstTail)) Badarg("Options");
1555   const ERL_NIF_TERM *tpl;
1556   int tpl_sz;
1557   while(!enif_is_empty_list(env, lstTail)) {
1558     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
1559     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
1560     if(enif_is_identical(tpl[0], enif_make_atom(env, "threshold"))) {
1561   if(!enif_get_uint(env, tpl[1], &threshold)) Badarg("threshold");
1562     } else        Badarg("Options");
1563   };
1564   if(!This) throw wxe_badarg("This");
1565   bool Result = This->ConvertAlphaToMask(mr,mg,mb,threshold);
1566   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1567   rt.send(  rt.make_bool(Result));
1568 
1569 }
1570 
1571 // wxImage::ConvertToGreyscale
wxImage_ConvertToGreyscale_3(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1572 void wxImage_ConvertToGreyscale_3(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1573 {
1574   ErlNifEnv *env = Ecmd.env;
1575   ERL_NIF_TERM * argv = Ecmd.args;
1576   wxImage *This;
1577   This = (wxImage *) memenv->getPtr(env, argv[0], "This");
1578   double weight_r;
1579   if(!wxe_get_double(env, argv[1], &weight_r)) Badarg("weight_r");
1580   double weight_g;
1581   if(!wxe_get_double(env, argv[2], &weight_g)) Badarg("weight_g");
1582   double weight_b;
1583   if(!wxe_get_double(env, argv[3], &weight_b)) Badarg("weight_b");
1584   if(!This) throw wxe_badarg("This");
1585   wxImage * Result = new EwxImage(This->ConvertToGreyscale(weight_r,weight_g,weight_b)); app->newPtr((void *) Result,3, memenv);;
1586   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1587   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxImage"));
1588 
1589 }
1590 
1591 // wxImage::ConvertToGreyscale
wxImage_ConvertToGreyscale_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1592 void wxImage_ConvertToGreyscale_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1593 {
1594   ErlNifEnv *env = Ecmd.env;
1595   ERL_NIF_TERM * argv = Ecmd.args;
1596   wxImage *This;
1597   This = (wxImage *) memenv->getPtr(env, argv[0], "This");
1598   if(!This) throw wxe_badarg("This");
1599   wxImage * Result = new EwxImage(This->ConvertToGreyscale()); app->newPtr((void *) Result,3, memenv);;
1600   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1601   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxImage"));
1602 
1603 }
1604 
1605 // wxImage::ConvertToMono
wxImage_ConvertToMono(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1606 void wxImage_ConvertToMono(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1607 {
1608   ErlNifEnv *env = Ecmd.env;
1609   ERL_NIF_TERM * argv = Ecmd.args;
1610   wxImage *This;
1611   This = (wxImage *) memenv->getPtr(env, argv[0], "This");
1612   unsigned int r;
1613   if(!enif_get_uint(env, argv[1], &r)) Badarg("r");
1614   unsigned int g;
1615   if(!enif_get_uint(env, argv[2], &g)) Badarg("g");
1616   unsigned int b;
1617   if(!enif_get_uint(env, argv[3], &b)) Badarg("b");
1618   if(!This) throw wxe_badarg("This");
1619   wxImage * Result = new EwxImage(This->ConvertToMono(r,g,b)); app->newPtr((void *) Result,3, memenv);;
1620   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1621   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxImage"));
1622 
1623 }
1624 
1625 // wxImage::Copy
wxImage_Copy(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1626 void wxImage_Copy(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1627 {
1628   ErlNifEnv *env = Ecmd.env;
1629   ERL_NIF_TERM * argv = Ecmd.args;
1630   wxImage *This;
1631   This = (wxImage *) memenv->getPtr(env, argv[0], "This");
1632   if(!This) throw wxe_badarg("This");
1633   wxImage * Result = new EwxImage(This->Copy()); app->newPtr((void *) Result,3, memenv);;
1634   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1635   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxImage"));
1636 
1637 }
1638 
1639 // wxImage::Create
wxImage_Create_3_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1640 void wxImage_Create_3_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1641 {
1642   bool clear=true;
1643   ErlNifEnv *env = Ecmd.env;
1644   ERL_NIF_TERM * argv = Ecmd.args;
1645   wxImage *This;
1646   This = (wxImage *) memenv->getPtr(env, argv[0], "This");
1647   int width;
1648   if(!enif_get_int(env, argv[1], &width)) Badarg("width"); // int
1649   int height;
1650   if(!enif_get_int(env, argv[2], &height)) Badarg("height"); // int
1651   ERL_NIF_TERM lstHead, lstTail;
1652   lstTail = argv[3];
1653   if(!enif_is_list(env, lstTail)) Badarg("Options");
1654   const ERL_NIF_TERM *tpl;
1655   int tpl_sz;
1656   while(!enif_is_empty_list(env, lstTail)) {
1657     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
1658     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
1659     if(enif_is_identical(tpl[0], enif_make_atom(env, "clear"))) {
1660   clear = enif_is_identical(tpl[1], WXE_ATOM_true);
1661     } else        Badarg("Options");
1662   };
1663   if(!This) throw wxe_badarg("This");
1664   bool Result = This->Create(width,height,clear);
1665   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1666   rt.send(  rt.make_bool(Result));
1667 
1668 }
1669 
1670 // wxImage::Create
wxImage_Create_2(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1671 void wxImage_Create_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1672 {
1673   bool clear=true;
1674   ErlNifEnv *env = Ecmd.env;
1675   ERL_NIF_TERM * argv = Ecmd.args;
1676   wxImage *This;
1677   This = (wxImage *) memenv->getPtr(env, argv[0], "This");
1678   const ERL_NIF_TERM *sz_t;
1679   int sz_sz;
1680   if(!enif_get_tuple(env, argv[1], &sz_sz, &sz_t)) Badarg("sz");
1681   int szW;
1682   if(!enif_get_int(env, sz_t[0], &szW)) Badarg("sz");
1683   int szH;
1684   if(!enif_get_int(env, sz_t[1], &szH)) Badarg("sz");
1685   wxSize sz = wxSize(szW,szH);
1686   ERL_NIF_TERM lstHead, lstTail;
1687   lstTail = argv[2];
1688   if(!enif_is_list(env, lstTail)) Badarg("Options");
1689   const ERL_NIF_TERM *tpl;
1690   int tpl_sz;
1691   while(!enif_is_empty_list(env, lstTail)) {
1692     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
1693     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
1694     if(enif_is_identical(tpl[0], enif_make_atom(env, "clear"))) {
1695   clear = enif_is_identical(tpl[1], WXE_ATOM_true);
1696     } else        Badarg("Options");
1697   };
1698   if(!This) throw wxe_badarg("This");
1699   bool Result = This->Create(sz,clear);
1700   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1701   rt.send(  rt.make_bool(Result));
1702 
1703 }
1704 
1705 // wxImage::Create
wxImage_Create_4_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1706 void wxImage_Create_4_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1707 {
1708   bool static_data=false;
1709   ErlNifEnv *env = Ecmd.env;
1710   ERL_NIF_TERM * argv = Ecmd.args;
1711   wxImage *This;
1712   This = (wxImage *) memenv->getPtr(env, argv[0], "This");
1713   int width;
1714   if(!enif_get_int(env, argv[1], &width)) Badarg("width"); // int
1715   int height;
1716   if(!enif_get_int(env, argv[2], &height)) Badarg("height"); // int
1717   unsigned char * data;
1718   ErlNifBinary data_bin;
1719   if(!enif_inspect_binary(env, argv[3], &data_bin)) Badarg("data");
1720   data = (unsigned char*) data_bin.data;
1721   ERL_NIF_TERM lstHead, lstTail;
1722   lstTail = argv[4];
1723   if(!enif_is_list(env, lstTail)) Badarg("Options");
1724   const ERL_NIF_TERM *tpl;
1725   int tpl_sz;
1726   while(!enif_is_empty_list(env, lstTail)) {
1727     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
1728     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
1729     if(enif_is_identical(tpl[0], enif_make_atom(env, "static_data"))) {
1730   static_data = enif_is_identical(tpl[1], WXE_ATOM_true);
1731     } else        Badarg("Options");
1732   };
1733  if(!static_data) {
1734     data = (unsigned char *) malloc(data_bin.size);
1735     memcpy(data,data_bin.data,data_bin.size);}
1736 ;
1737   if(!This) throw wxe_badarg("This");
1738   bool Result = This->Create(width,height,data,static_data);
1739   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1740   rt.send(  rt.make_bool(Result));
1741 
1742 }
1743 
1744 // wxImage::Create
wxImage_Create_3_1(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1745 void wxImage_Create_3_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1746 {
1747   bool static_data=false;
1748   ErlNifEnv *env = Ecmd.env;
1749   ERL_NIF_TERM * argv = Ecmd.args;
1750   wxImage *This;
1751   This = (wxImage *) memenv->getPtr(env, argv[0], "This");
1752   const ERL_NIF_TERM *sz_t;
1753   int sz_sz;
1754   if(!enif_get_tuple(env, argv[1], &sz_sz, &sz_t)) Badarg("sz");
1755   int szW;
1756   if(!enif_get_int(env, sz_t[0], &szW)) Badarg("sz");
1757   int szH;
1758   if(!enif_get_int(env, sz_t[1], &szH)) Badarg("sz");
1759   wxSize sz = wxSize(szW,szH);
1760   unsigned char * data;
1761   ErlNifBinary data_bin;
1762   if(!enif_inspect_binary(env, argv[2], &data_bin)) Badarg("data");
1763   data = (unsigned char*) data_bin.data;
1764   ERL_NIF_TERM lstHead, lstTail;
1765   lstTail = argv[3];
1766   if(!enif_is_list(env, lstTail)) Badarg("Options");
1767   const ERL_NIF_TERM *tpl;
1768   int tpl_sz;
1769   while(!enif_is_empty_list(env, lstTail)) {
1770     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
1771     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
1772     if(enif_is_identical(tpl[0], enif_make_atom(env, "static_data"))) {
1773   static_data = enif_is_identical(tpl[1], WXE_ATOM_true);
1774     } else        Badarg("Options");
1775   };
1776   if(!This) throw wxe_badarg("This");
1777   bool Result = This->Create(sz,data,static_data);
1778   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1779   rt.send(  rt.make_bool(Result));
1780 
1781 }
1782 
1783 // wxImage::Create
wxImage_Create_5(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1784 void wxImage_Create_5(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1785 {
1786   bool static_data=false;
1787   ErlNifEnv *env = Ecmd.env;
1788   ERL_NIF_TERM * argv = Ecmd.args;
1789   wxImage *This;
1790   This = (wxImage *) memenv->getPtr(env, argv[0], "This");
1791   int width;
1792   if(!enif_get_int(env, argv[1], &width)) Badarg("width"); // int
1793   int height;
1794   if(!enif_get_int(env, argv[2], &height)) Badarg("height"); // int
1795   unsigned char * data;
1796   ErlNifBinary data_bin;
1797   if(!enif_inspect_binary(env, argv[3], &data_bin)) Badarg("data");
1798   data = (unsigned char*) data_bin.data;
1799   unsigned char * alpha;
1800   ErlNifBinary alpha_bin;
1801   if(!enif_inspect_binary(env, argv[4], &alpha_bin)) Badarg("alpha");
1802   alpha = (unsigned char*) alpha_bin.data;
1803   ERL_NIF_TERM lstHead, lstTail;
1804   lstTail = argv[5];
1805   if(!enif_is_list(env, lstTail)) Badarg("Options");
1806   const ERL_NIF_TERM *tpl;
1807   int tpl_sz;
1808   while(!enif_is_empty_list(env, lstTail)) {
1809     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
1810     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
1811     if(enif_is_identical(tpl[0], enif_make_atom(env, "static_data"))) {
1812   static_data = enif_is_identical(tpl[1], WXE_ATOM_true);
1813     } else        Badarg("Options");
1814   };
1815  if(!static_data) {
1816     data = (unsigned char *) malloc(data_bin.size);
1817     alpha = (unsigned char *) malloc(alpha_bin.size);
1818     memcpy(data,data_bin.data,data_bin.size);
1819     memcpy(alpha,alpha_bin.data,alpha_bin.size);}
1820 ;
1821   if(!This) throw wxe_badarg("This");
1822   bool Result = This->Create(width,height,data,alpha,static_data);
1823   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1824   rt.send(  rt.make_bool(Result));
1825 
1826 }
1827 
1828 // wxImage::Create
wxImage_Create_4_1(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1829 void wxImage_Create_4_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1830 {
1831   bool static_data=false;
1832   ErlNifEnv *env = Ecmd.env;
1833   ERL_NIF_TERM * argv = Ecmd.args;
1834   wxImage *This;
1835   This = (wxImage *) memenv->getPtr(env, argv[0], "This");
1836   const ERL_NIF_TERM *sz_t;
1837   int sz_sz;
1838   if(!enif_get_tuple(env, argv[1], &sz_sz, &sz_t)) Badarg("sz");
1839   int szW;
1840   if(!enif_get_int(env, sz_t[0], &szW)) Badarg("sz");
1841   int szH;
1842   if(!enif_get_int(env, sz_t[1], &szH)) Badarg("sz");
1843   wxSize sz = wxSize(szW,szH);
1844   unsigned char * data;
1845   ErlNifBinary data_bin;
1846   if(!enif_inspect_binary(env, argv[2], &data_bin)) Badarg("data");
1847   data = (unsigned char*) data_bin.data;
1848   unsigned char * alpha;
1849   ErlNifBinary alpha_bin;
1850   if(!enif_inspect_binary(env, argv[3], &alpha_bin)) Badarg("alpha");
1851   alpha = (unsigned char*) alpha_bin.data;
1852   ERL_NIF_TERM lstHead, lstTail;
1853   lstTail = argv[4];
1854   if(!enif_is_list(env, lstTail)) Badarg("Options");
1855   const ERL_NIF_TERM *tpl;
1856   int tpl_sz;
1857   while(!enif_is_empty_list(env, lstTail)) {
1858     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
1859     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
1860     if(enif_is_identical(tpl[0], enif_make_atom(env, "static_data"))) {
1861   static_data = enif_is_identical(tpl[1], WXE_ATOM_true);
1862     } else        Badarg("Options");
1863   };
1864  if(!static_data) {
1865     data = (unsigned char *) malloc(data_bin.size);
1866     memcpy(data,data_bin.data,data_bin.size);}
1867 ;
1868   if(!This) throw wxe_badarg("This");
1869   bool Result = This->Create(sz,data,alpha,static_data);
1870   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1871   rt.send(  rt.make_bool(Result));
1872 
1873 }
1874 
1875 // wxImage::Destroy
wxImage_Destroy(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1876 void wxImage_Destroy(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1877 {
1878   ErlNifEnv *env = Ecmd.env;
1879   ERL_NIF_TERM * argv = Ecmd.args;
1880   wxImage *This;
1881   This = (wxImage *) memenv->getPtr(env, argv[0], "This");
1882   if(!This) throw wxe_badarg("This");
1883   This->Destroy();
1884 
1885 }
1886 
1887 // wxImage::FindFirstUnusedColour
wxImage_FindFirstUnusedColour(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1888 void wxImage_FindFirstUnusedColour(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1889 {
1890   unsigned char r;
1891   unsigned char g;
1892   unsigned char b;
1893   unsigned int startR=1;
1894   unsigned int startG=0;
1895   unsigned int startB=0;
1896   ErlNifEnv *env = Ecmd.env;
1897   ERL_NIF_TERM * argv = Ecmd.args;
1898   wxImage *This;
1899   This = (wxImage *) memenv->getPtr(env, argv[0], "This");
1900   ERL_NIF_TERM lstHead, lstTail;
1901   lstTail = argv[1];
1902   if(!enif_is_list(env, lstTail)) Badarg("Options");
1903   const ERL_NIF_TERM *tpl;
1904   int tpl_sz;
1905   while(!enif_is_empty_list(env, lstTail)) {
1906     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
1907     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
1908     if(enif_is_identical(tpl[0], enif_make_atom(env, "startR"))) {
1909   if(!enif_get_uint(env, tpl[1], &startR)) Badarg("startR");
1910     } else     if(enif_is_identical(tpl[0], enif_make_atom(env, "startG"))) {
1911   if(!enif_get_uint(env, tpl[1], &startG)) Badarg("startG");
1912     } else     if(enif_is_identical(tpl[0], enif_make_atom(env, "startB"))) {
1913   if(!enif_get_uint(env, tpl[1], &startB)) Badarg("startB");
1914     } else        Badarg("Options");
1915   };
1916   if(!This) throw wxe_badarg("This");
1917   bool Result = This->FindFirstUnusedColour(&r,&g,&b,startR,startG,startB);
1918   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1919   ERL_NIF_TERM msg = enif_make_tuple4(rt.env,
1920   rt.make_bool(Result),
1921     rt.make_uint(r),
1922   rt.make_uint(g),
1923   rt.make_uint(b));
1924   rt.send(msg);
1925 
1926 }
1927 
1928 // wxImage::GetImageExtWildcard
wxImage_GetImageExtWildcard(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1929 void wxImage_GetImageExtWildcard(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1930 {
1931   wxString Result = wxImage::GetImageExtWildcard();
1932   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1933   rt.send(  rt.make(Result));
1934 
1935 }
1936 
1937 // wxImage::GetAlpha
wxImage_GetAlpha_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1938 void wxImage_GetAlpha_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1939 {
1940   ErlNifEnv *env = Ecmd.env;
1941   ERL_NIF_TERM * argv = Ecmd.args;
1942   wxImage *This;
1943   This = (wxImage *) memenv->getPtr(env, argv[0], "This");
1944   if(!This) throw wxe_badarg("This");
1945   char * Result = (char*)This->GetAlpha();
1946   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1947   rt.send(  rt.make_binary(Result, (This->GetWidth()*This->GetHeight())));
1948 
1949 }
1950 
1951 // wxImage::GetAlpha
wxImage_GetAlpha_2(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1952 void wxImage_GetAlpha_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1953 {
1954   ErlNifEnv *env = Ecmd.env;
1955   ERL_NIF_TERM * argv = Ecmd.args;
1956   wxImage *This;
1957   This = (wxImage *) memenv->getPtr(env, argv[0], "This");
1958   int x;
1959   if(!enif_get_int(env, argv[1], &x)) Badarg("x"); // int
1960   int y;
1961   if(!enif_get_int(env, argv[2], &y)) Badarg("y"); // int
1962   if(!This) throw wxe_badarg("This");
1963   char Result = This->GetAlpha(x,y);
1964   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1965   rt.send(  rt.make_uint(Result));
1966 
1967 }
1968 
1969 // wxImage::GetBlue
wxImage_GetBlue(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1970 void wxImage_GetBlue(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1971 {
1972   ErlNifEnv *env = Ecmd.env;
1973   ERL_NIF_TERM * argv = Ecmd.args;
1974   wxImage *This;
1975   This = (wxImage *) memenv->getPtr(env, argv[0], "This");
1976   int x;
1977   if(!enif_get_int(env, argv[1], &x)) Badarg("x"); // int
1978   int y;
1979   if(!enif_get_int(env, argv[2], &y)) Badarg("y"); // int
1980   if(!This) throw wxe_badarg("This");
1981   char Result = This->GetBlue(x,y);
1982   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1983   rt.send(  rt.make_uint(Result));
1984 
1985 }
1986 
1987 // wxImage::GetData
wxImage_GetData(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1988 void wxImage_GetData(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1989 {
1990   ErlNifEnv *env = Ecmd.env;
1991   ERL_NIF_TERM * argv = Ecmd.args;
1992   wxImage *This;
1993   This = (wxImage *) memenv->getPtr(env, argv[0], "This");
1994   if(!This) throw wxe_badarg("This");
1995   char * Result = (char*)This->GetData();
1996   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1997   rt.send(  rt.make_binary(Result, (This->GetWidth()*This->GetHeight()*3)));
1998 
1999 }
2000 
2001 // wxImage::GetGreen
wxImage_GetGreen(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2002 void wxImage_GetGreen(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2003 {
2004   ErlNifEnv *env = Ecmd.env;
2005   ERL_NIF_TERM * argv = Ecmd.args;
2006   wxImage *This;
2007   This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2008   int x;
2009   if(!enif_get_int(env, argv[1], &x)) Badarg("x"); // int
2010   int y;
2011   if(!enif_get_int(env, argv[2], &y)) Badarg("y"); // int
2012   if(!This) throw wxe_badarg("This");
2013   char Result = This->GetGreen(x,y);
2014   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2015   rt.send(  rt.make_uint(Result));
2016 
2017 }
2018 
2019 // wxImage::GetImageCount
wxImage_GetImageCount(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2020 void wxImage_GetImageCount(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2021 {
2022  wxBitmapType type=wxBITMAP_TYPE_ANY;
2023   ErlNifEnv *env = Ecmd.env;
2024   ERL_NIF_TERM * argv = Ecmd.args;
2025   ErlNifBinary filename_bin;
2026   wxString filename;
2027   if(!enif_inspect_binary(env, argv[0], &filename_bin)) Badarg("filename");
2028   filename = wxString(filename_bin.data, wxConvUTF8, filename_bin.size);
2029   ERL_NIF_TERM lstHead, lstTail;
2030   lstTail = argv[1];
2031   if(!enif_is_list(env, lstTail)) Badarg("Options");
2032   const ERL_NIF_TERM *tpl;
2033   int tpl_sz;
2034   while(!enif_is_empty_list(env, lstTail)) {
2035     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
2036     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
2037     if(enif_is_identical(tpl[0], enif_make_atom(env, "type"))) {
2038   if(!enif_get_int(env, tpl[1], (int *) &type)) Badarg("type"); // enum
2039     } else        Badarg("Options");
2040   };
2041   int Result = wxImage::GetImageCount(filename,type);
2042   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2043   rt.send(  rt.make_int(Result));
2044 
2045 }
2046 
2047 // wxImage::GetHeight
wxImage_GetHeight(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2048 void wxImage_GetHeight(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2049 {
2050   ErlNifEnv *env = Ecmd.env;
2051   ERL_NIF_TERM * argv = Ecmd.args;
2052   wxImage *This;
2053   This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2054   if(!This) throw wxe_badarg("This");
2055   int Result = This->GetHeight();
2056   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2057   rt.send(  rt.make_int(Result));
2058 
2059 }
2060 
2061 // wxImage::GetMaskBlue
wxImage_GetMaskBlue(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2062 void wxImage_GetMaskBlue(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2063 {
2064   ErlNifEnv *env = Ecmd.env;
2065   ERL_NIF_TERM * argv = Ecmd.args;
2066   wxImage *This;
2067   This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2068   if(!This) throw wxe_badarg("This");
2069   char Result = This->GetMaskBlue();
2070   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2071   rt.send(  rt.make_uint(Result));
2072 
2073 }
2074 
2075 // wxImage::GetMaskGreen
wxImage_GetMaskGreen(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2076 void wxImage_GetMaskGreen(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2077 {
2078   ErlNifEnv *env = Ecmd.env;
2079   ERL_NIF_TERM * argv = Ecmd.args;
2080   wxImage *This;
2081   This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2082   if(!This) throw wxe_badarg("This");
2083   char Result = This->GetMaskGreen();
2084   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2085   rt.send(  rt.make_uint(Result));
2086 
2087 }
2088 
2089 // wxImage::GetMaskRed
wxImage_GetMaskRed(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2090 void wxImage_GetMaskRed(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2091 {
2092   ErlNifEnv *env = Ecmd.env;
2093   ERL_NIF_TERM * argv = Ecmd.args;
2094   wxImage *This;
2095   This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2096   if(!This) throw wxe_badarg("This");
2097   char Result = This->GetMaskRed();
2098   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2099   rt.send(  rt.make_uint(Result));
2100 
2101 }
2102 
2103 // wxImage::GetOrFindMaskColour
wxImage_GetOrFindMaskColour(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2104 void wxImage_GetOrFindMaskColour(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2105 {
2106   unsigned char r;
2107   unsigned char g;
2108   unsigned char b;
2109   ErlNifEnv *env = Ecmd.env;
2110   ERL_NIF_TERM * argv = Ecmd.args;
2111   wxImage *This;
2112   This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2113   if(!This) throw wxe_badarg("This");
2114   bool Result = This->GetOrFindMaskColour(&r,&g,&b);
2115   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2116   ERL_NIF_TERM msg = enif_make_tuple4(rt.env,
2117   rt.make_bool(Result),
2118     rt.make_uint(r),
2119   rt.make_uint(g),
2120   rt.make_uint(b));
2121   rt.send(msg);
2122 
2123 }
2124 
2125 // wxImage::GetPalette
wxImage_GetPalette(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2126 void wxImage_GetPalette(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2127 {
2128   ErlNifEnv *env = Ecmd.env;
2129   ERL_NIF_TERM * argv = Ecmd.args;
2130   wxImage *This;
2131   This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2132   if(!This) throw wxe_badarg("This");
2133   const wxPalette * Result = &This->GetPalette();
2134   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2135   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxPalette"));
2136 
2137 }
2138 
2139 // wxImage::GetRed
wxImage_GetRed(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2140 void wxImage_GetRed(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2141 {
2142   ErlNifEnv *env = Ecmd.env;
2143   ERL_NIF_TERM * argv = Ecmd.args;
2144   wxImage *This;
2145   This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2146   int x;
2147   if(!enif_get_int(env, argv[1], &x)) Badarg("x"); // int
2148   int y;
2149   if(!enif_get_int(env, argv[2], &y)) Badarg("y"); // int
2150   if(!This) throw wxe_badarg("This");
2151   char Result = This->GetRed(x,y);
2152   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2153   rt.send(  rt.make_uint(Result));
2154 
2155 }
2156 
2157 // wxImage::GetSubImage
wxImage_GetSubImage(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2158 void wxImage_GetSubImage(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2159 {
2160   ErlNifEnv *env = Ecmd.env;
2161   ERL_NIF_TERM * argv = Ecmd.args;
2162   wxImage *This;
2163   This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2164   const ERL_NIF_TERM *rect_t;
2165   int rect_sz;
2166   if(!enif_get_tuple(env, argv[1], &rect_sz, &rect_t)) Badarg("rect");
2167   int rectX;
2168   if(!enif_get_int(env, rect_t[0], &rectX)) Badarg("rect");
2169   int rectY;
2170   if(!enif_get_int(env, rect_t[1], &rectY)) Badarg("rect");
2171   int rectW;
2172   if(!enif_get_int(env, rect_t[2], &rectW)) Badarg("rect");
2173   int rectH;
2174   if(!enif_get_int(env, rect_t[3], &rectH)) Badarg("rect");
2175   wxRect rect = wxRect(rectX,rectY,rectW,rectH);
2176   if(!This) throw wxe_badarg("This");
2177   wxImage * Result = new EwxImage(This->GetSubImage(rect)); app->newPtr((void *) Result,3, memenv);;
2178   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2179   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxImage"));
2180 
2181 }
2182 
2183 // wxImage::GetWidth
wxImage_GetWidth(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2184 void wxImage_GetWidth(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2185 {
2186   ErlNifEnv *env = Ecmd.env;
2187   ERL_NIF_TERM * argv = Ecmd.args;
2188   wxImage *This;
2189   This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2190   if(!This) throw wxe_badarg("This");
2191   int Result = This->GetWidth();
2192   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2193   rt.send(  rt.make_int(Result));
2194 
2195 }
2196 
2197 // wxImage::HasAlpha
wxImage_HasAlpha(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2198 void wxImage_HasAlpha(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2199 {
2200   ErlNifEnv *env = Ecmd.env;
2201   ERL_NIF_TERM * argv = Ecmd.args;
2202   wxImage *This;
2203   This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2204   if(!This) throw wxe_badarg("This");
2205   bool Result = This->HasAlpha();
2206   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2207   rt.send(  rt.make_bool(Result));
2208 
2209 }
2210 
2211 // wxImage::HasMask
wxImage_HasMask(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2212 void wxImage_HasMask(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2213 {
2214   ErlNifEnv *env = Ecmd.env;
2215   ERL_NIF_TERM * argv = Ecmd.args;
2216   wxImage *This;
2217   This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2218   if(!This) throw wxe_badarg("This");
2219   bool Result = This->HasMask();
2220   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2221   rt.send(  rt.make_bool(Result));
2222 
2223 }
2224 
2225 // wxImage::GetOption
wxImage_GetOption(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2226 void wxImage_GetOption(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2227 {
2228   ErlNifEnv *env = Ecmd.env;
2229   ERL_NIF_TERM * argv = Ecmd.args;
2230   wxImage *This;
2231   This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2232   ErlNifBinary name_bin;
2233   wxString name;
2234   if(!enif_inspect_binary(env, argv[1], &name_bin)) Badarg("name");
2235   name = wxString(name_bin.data, wxConvUTF8, name_bin.size);
2236   if(!This) throw wxe_badarg("This");
2237   wxString Result = This->GetOption(name);
2238   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2239   rt.send(  rt.make(Result));
2240 
2241 }
2242 
2243 // wxImage::GetOptionInt
wxImage_GetOptionInt(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2244 void wxImage_GetOptionInt(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2245 {
2246   ErlNifEnv *env = Ecmd.env;
2247   ERL_NIF_TERM * argv = Ecmd.args;
2248   wxImage *This;
2249   This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2250   ErlNifBinary name_bin;
2251   wxString name;
2252   if(!enif_inspect_binary(env, argv[1], &name_bin)) Badarg("name");
2253   name = wxString(name_bin.data, wxConvUTF8, name_bin.size);
2254   if(!This) throw wxe_badarg("This");
2255   int Result = This->GetOptionInt(name);
2256   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2257   rt.send(  rt.make_int(Result));
2258 
2259 }
2260 
2261 // wxImage::HasOption
wxImage_HasOption(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2262 void wxImage_HasOption(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2263 {
2264   ErlNifEnv *env = Ecmd.env;
2265   ERL_NIF_TERM * argv = Ecmd.args;
2266   wxImage *This;
2267   This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2268   ErlNifBinary name_bin;
2269   wxString name;
2270   if(!enif_inspect_binary(env, argv[1], &name_bin)) Badarg("name");
2271   name = wxString(name_bin.data, wxConvUTF8, name_bin.size);
2272   if(!This) throw wxe_badarg("This");
2273   bool Result = This->HasOption(name);
2274   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2275   rt.send(  rt.make_bool(Result));
2276 
2277 }
2278 
2279 // wxImage::InitAlpha
wxImage_InitAlpha(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2280 void wxImage_InitAlpha(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2281 {
2282   ErlNifEnv *env = Ecmd.env;
2283   ERL_NIF_TERM * argv = Ecmd.args;
2284   wxImage *This;
2285   This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2286   if(!This) throw wxe_badarg("This");
2287   This->InitAlpha();
2288 
2289 }
2290 
2291 // wxImage::InitStandardHandlers
wxImage_InitStandardHandlers(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2292 void wxImage_InitStandardHandlers(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2293 {
2294   wxImage::InitStandardHandlers();
2295 
2296 }
2297 
2298 // wxImage::IsTransparent
wxImage_IsTransparent(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2299 void wxImage_IsTransparent(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2300 {
2301   unsigned int threshold=wxIMAGE_ALPHA_THRESHOLD;
2302   ErlNifEnv *env = Ecmd.env;
2303   ERL_NIF_TERM * argv = Ecmd.args;
2304   wxImage *This;
2305   This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2306   int x;
2307   if(!enif_get_int(env, argv[1], &x)) Badarg("x"); // int
2308   int y;
2309   if(!enif_get_int(env, argv[2], &y)) Badarg("y"); // int
2310   ERL_NIF_TERM lstHead, lstTail;
2311   lstTail = argv[3];
2312   if(!enif_is_list(env, lstTail)) Badarg("Options");
2313   const ERL_NIF_TERM *tpl;
2314   int tpl_sz;
2315   while(!enif_is_empty_list(env, lstTail)) {
2316     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
2317     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
2318     if(enif_is_identical(tpl[0], enif_make_atom(env, "threshold"))) {
2319   if(!enif_get_uint(env, tpl[1], &threshold)) Badarg("threshold");
2320     } else        Badarg("Options");
2321   };
2322   if(!This) throw wxe_badarg("This");
2323   bool Result = This->IsTransparent(x,y,threshold);
2324   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2325   rt.send(  rt.make_bool(Result));
2326 
2327 }
2328 
2329 // wxImage::LoadFile
wxImage_LoadFile_2(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2330 void wxImage_LoadFile_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2331 {
2332  wxBitmapType type=wxBITMAP_TYPE_ANY;
2333   int index=-1;
2334   ErlNifEnv *env = Ecmd.env;
2335   ERL_NIF_TERM * argv = Ecmd.args;
2336   wxImage *This;
2337   This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2338   ErlNifBinary name_bin;
2339   wxString name;
2340   if(!enif_inspect_binary(env, argv[1], &name_bin)) Badarg("name");
2341   name = wxString(name_bin.data, wxConvUTF8, name_bin.size);
2342   ERL_NIF_TERM lstHead, lstTail;
2343   lstTail = argv[2];
2344   if(!enif_is_list(env, lstTail)) Badarg("Options");
2345   const ERL_NIF_TERM *tpl;
2346   int tpl_sz;
2347   while(!enif_is_empty_list(env, lstTail)) {
2348     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
2349     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
2350     if(enif_is_identical(tpl[0], enif_make_atom(env, "type"))) {
2351   if(!enif_get_int(env, tpl[1], (int *) &type)) Badarg("type"); // enum
2352     } else     if(enif_is_identical(tpl[0], enif_make_atom(env, "index"))) {
2353   if(!enif_get_int(env, tpl[1], &index)) Badarg("index"); // int
2354     } else        Badarg("Options");
2355   };
2356   if(!This) throw wxe_badarg("This");
2357   bool Result = This->LoadFile(name,type,index);
2358   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2359   rt.send(  rt.make_bool(Result));
2360 
2361 }
2362 
2363 // wxImage::LoadFile
wxImage_LoadFile_3(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2364 void wxImage_LoadFile_3(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2365 {
2366   int index=-1;
2367   ErlNifEnv *env = Ecmd.env;
2368   ERL_NIF_TERM * argv = Ecmd.args;
2369   wxImage *This;
2370   This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2371   ErlNifBinary name_bin;
2372   wxString name;
2373   if(!enif_inspect_binary(env, argv[1], &name_bin)) Badarg("name");
2374   name = wxString(name_bin.data, wxConvUTF8, name_bin.size);
2375   ErlNifBinary mimetype_bin;
2376   wxString mimetype;
2377   if(!enif_inspect_binary(env, argv[2], &mimetype_bin)) Badarg("mimetype");
2378   mimetype = wxString(mimetype_bin.data, wxConvUTF8, mimetype_bin.size);
2379   ERL_NIF_TERM lstHead, lstTail;
2380   lstTail = argv[3];
2381   if(!enif_is_list(env, lstTail)) Badarg("Options");
2382   const ERL_NIF_TERM *tpl;
2383   int tpl_sz;
2384   while(!enif_is_empty_list(env, lstTail)) {
2385     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
2386     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
2387     if(enif_is_identical(tpl[0], enif_make_atom(env, "index"))) {
2388   if(!enif_get_int(env, tpl[1], &index)) Badarg("index"); // int
2389     } else        Badarg("Options");
2390   };
2391   if(!This) throw wxe_badarg("This");
2392   bool Result = This->LoadFile(name,mimetype,index);
2393   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2394   rt.send(  rt.make_bool(Result));
2395 
2396 }
2397 
2398 // wxImage::IsOk
wxImage_IsOk(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2399 void wxImage_IsOk(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2400 {
2401   ErlNifEnv *env = Ecmd.env;
2402   ERL_NIF_TERM * argv = Ecmd.args;
2403   wxImage *This;
2404   This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2405   if(!This) throw wxe_badarg("This");
2406   bool Result = This->IsOk();
2407   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2408   rt.send(  rt.make_bool(Result));
2409 
2410 }
2411 
2412 // wxImage::RemoveHandler
wxImage_RemoveHandler(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2413 void wxImage_RemoveHandler(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2414 {
2415   ErlNifEnv *env = Ecmd.env;
2416   ERL_NIF_TERM * argv = Ecmd.args;
2417   ErlNifBinary name_bin;
2418   wxString name;
2419   if(!enif_inspect_binary(env, argv[0], &name_bin)) Badarg("name");
2420   name = wxString(name_bin.data, wxConvUTF8, name_bin.size);
2421   bool Result = wxImage::RemoveHandler(name);
2422   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2423   rt.send(  rt.make_bool(Result));
2424 
2425 }
2426 
2427 // wxImage::Mirror
wxImage_Mirror(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2428 void wxImage_Mirror(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2429 {
2430   bool horizontally=true;
2431   ErlNifEnv *env = Ecmd.env;
2432   ERL_NIF_TERM * argv = Ecmd.args;
2433   wxImage *This;
2434   This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2435   ERL_NIF_TERM lstHead, lstTail;
2436   lstTail = argv[1];
2437   if(!enif_is_list(env, lstTail)) Badarg("Options");
2438   const ERL_NIF_TERM *tpl;
2439   int tpl_sz;
2440   while(!enif_is_empty_list(env, lstTail)) {
2441     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
2442     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
2443     if(enif_is_identical(tpl[0], enif_make_atom(env, "horizontally"))) {
2444   horizontally = enif_is_identical(tpl[1], WXE_ATOM_true);
2445     } else        Badarg("Options");
2446   };
2447   if(!This) throw wxe_badarg("This");
2448   wxImage * Result = new EwxImage(This->Mirror(horizontally)); app->newPtr((void *) Result,3, memenv);;
2449   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2450   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxImage"));
2451 
2452 }
2453 
2454 // wxImage::Replace
wxImage_Replace(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2455 void wxImage_Replace(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2456 {
2457   ErlNifEnv *env = Ecmd.env;
2458   ERL_NIF_TERM * argv = Ecmd.args;
2459   wxImage *This;
2460   This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2461   unsigned int r1;
2462   if(!enif_get_uint(env, argv[1], &r1)) Badarg("r1");
2463   unsigned int g1;
2464   if(!enif_get_uint(env, argv[2], &g1)) Badarg("g1");
2465   unsigned int b1;
2466   if(!enif_get_uint(env, argv[3], &b1)) Badarg("b1");
2467   unsigned int r2;
2468   if(!enif_get_uint(env, argv[4], &r2)) Badarg("r2");
2469   unsigned int g2;
2470   if(!enif_get_uint(env, argv[5], &g2)) Badarg("g2");
2471   unsigned int b2;
2472   if(!enif_get_uint(env, argv[6], &b2)) Badarg("b2");
2473   if(!This) throw wxe_badarg("This");
2474   This->Replace(r1,g1,b1,r2,g2,b2);
2475 
2476 }
2477 
2478 // wxImage::Rescale
wxImage_Rescale(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2479 void wxImage_Rescale(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2480 {
2481  wxImageResizeQuality quality=wxIMAGE_QUALITY_NORMAL;
2482   ErlNifEnv *env = Ecmd.env;
2483   ERL_NIF_TERM * argv = Ecmd.args;
2484   wxImage *This;
2485   This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2486   int width;
2487   if(!enif_get_int(env, argv[1], &width)) Badarg("width"); // int
2488   int height;
2489   if(!enif_get_int(env, argv[2], &height)) Badarg("height"); // int
2490   ERL_NIF_TERM lstHead, lstTail;
2491   lstTail = argv[3];
2492   if(!enif_is_list(env, lstTail)) Badarg("Options");
2493   const ERL_NIF_TERM *tpl;
2494   int tpl_sz;
2495   while(!enif_is_empty_list(env, lstTail)) {
2496     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
2497     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
2498     if(enif_is_identical(tpl[0], enif_make_atom(env, "quality"))) {
2499   if(!enif_get_int(env, tpl[1], (int *) &quality)) Badarg("quality"); // enum
2500     } else        Badarg("Options");
2501   };
2502   if(!This) throw wxe_badarg("This");
2503   wxImage * Result = &This->Rescale(width,height,quality);
2504   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2505   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxImage"));
2506 
2507 }
2508 
2509 // wxImage::Resize
wxImage_Resize(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2510 void wxImage_Resize(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2511 {
2512   int r=-1;
2513   int g=-1;
2514   int b=-1;
2515   ErlNifEnv *env = Ecmd.env;
2516   ERL_NIF_TERM * argv = Ecmd.args;
2517   wxImage *This;
2518   This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2519   const ERL_NIF_TERM *size_t;
2520   int size_sz;
2521   if(!enif_get_tuple(env, argv[1], &size_sz, &size_t)) Badarg("size");
2522   int sizeW;
2523   if(!enif_get_int(env, size_t[0], &sizeW)) Badarg("size");
2524   int sizeH;
2525   if(!enif_get_int(env, size_t[1], &sizeH)) Badarg("size");
2526   wxSize size = wxSize(sizeW,sizeH);
2527   const ERL_NIF_TERM *pos_t;
2528   int pos_sz;
2529   if(!enif_get_tuple(env, argv[2], &pos_sz, &pos_t)) Badarg("pos");
2530   int posX;
2531   if(!enif_get_int(env, pos_t[0], &posX)) Badarg("pos");
2532   int posY;
2533   if(!enif_get_int(env, pos_t[1], &posY)) Badarg("pos");
2534   wxPoint pos = wxPoint(posX,posY);
2535   ERL_NIF_TERM lstHead, lstTail;
2536   lstTail = argv[3];
2537   if(!enif_is_list(env, lstTail)) Badarg("Options");
2538   const ERL_NIF_TERM *tpl;
2539   int tpl_sz;
2540   while(!enif_is_empty_list(env, lstTail)) {
2541     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
2542     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
2543     if(enif_is_identical(tpl[0], enif_make_atom(env, "r"))) {
2544   if(!enif_get_int(env, tpl[1], &r)) Badarg("r"); // int
2545     } else     if(enif_is_identical(tpl[0], enif_make_atom(env, "g"))) {
2546   if(!enif_get_int(env, tpl[1], &g)) Badarg("g"); // int
2547     } else     if(enif_is_identical(tpl[0], enif_make_atom(env, "b"))) {
2548   if(!enif_get_int(env, tpl[1], &b)) Badarg("b"); // int
2549     } else        Badarg("Options");
2550   };
2551   if(!This) throw wxe_badarg("This");
2552   wxImage * Result = &This->Resize(size,pos,r,g,b);
2553   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2554   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxImage"));
2555 
2556 }
2557 
2558 // wxImage::Rotate
wxImage_Rotate(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2559 void wxImage_Rotate(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2560 {
2561   bool interpolating=true;
2562   wxPoint *offset_after_rotation=NULL; wxPoint offset_after_rotationTmp;
2563   ErlNifEnv *env = Ecmd.env;
2564   ERL_NIF_TERM * argv = Ecmd.args;
2565   wxImage *This;
2566   This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2567   double angle;
2568   if(!wxe_get_double(env, argv[1], &angle)) Badarg("angle");
2569   const ERL_NIF_TERM *rotationCentre_t;
2570   int rotationCentre_sz;
2571   if(!enif_get_tuple(env, argv[2], &rotationCentre_sz, &rotationCentre_t)) Badarg("rotationCentre");
2572   int rotationCentreX;
2573   if(!enif_get_int(env, rotationCentre_t[0], &rotationCentreX)) Badarg("rotationCentre");
2574   int rotationCentreY;
2575   if(!enif_get_int(env, rotationCentre_t[1], &rotationCentreY)) Badarg("rotationCentre");
2576   wxPoint rotationCentre = wxPoint(rotationCentreX,rotationCentreY);
2577   ERL_NIF_TERM lstHead, lstTail;
2578   lstTail = argv[3];
2579   if(!enif_is_list(env, lstTail)) Badarg("Options");
2580   const ERL_NIF_TERM *tpl;
2581   int tpl_sz;
2582   while(!enif_is_empty_list(env, lstTail)) {
2583     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
2584     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
2585     if(enif_is_identical(tpl[0], enif_make_atom(env, "interpolating"))) {
2586   interpolating = enif_is_identical(tpl[1], WXE_ATOM_true);
2587     } else     if(enif_is_identical(tpl[0], enif_make_atom(env, "offset_after_rotation"))) {
2588   const ERL_NIF_TERM *offset_after_rotation_t;
2589   int offset_after_rotation_sz;
2590   if(!enif_get_tuple(env, tpl[1], &offset_after_rotation_sz, &offset_after_rotation_t)) Badarg("offset_after_rotation");
2591   int offset_after_rotationX;
2592   if(!enif_get_int(env, offset_after_rotation_t[0], &offset_after_rotationX)) Badarg("offset_after_rotation");
2593   int offset_after_rotationY;
2594   if(!enif_get_int(env, offset_after_rotation_t[1], &offset_after_rotationY)) Badarg("offset_after_rotation");
2595   offset_after_rotationTmp = wxPoint(offset_after_rotationX,offset_after_rotationY); offset_after_rotation = & offset_after_rotationTmp;
2596     } else        Badarg("Options");
2597   };
2598   if(!This) throw wxe_badarg("This");
2599   wxImage * Result = new EwxImage(This->Rotate(angle,rotationCentre,interpolating,offset_after_rotation)); app->newPtr((void *) Result,3, memenv);;
2600   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2601   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxImage"));
2602 
2603 }
2604 
2605 // wxImage::RotateHue
wxImage_RotateHue(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2606 void wxImage_RotateHue(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2607 {
2608   ErlNifEnv *env = Ecmd.env;
2609   ERL_NIF_TERM * argv = Ecmd.args;
2610   wxImage *This;
2611   This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2612   double angle;
2613   if(!wxe_get_double(env, argv[1], &angle)) Badarg("angle");
2614   if(!This) throw wxe_badarg("This");
2615   This->RotateHue(angle);
2616 
2617 }
2618 
2619 // wxImage::Rotate90
wxImage_Rotate90(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2620 void wxImage_Rotate90(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2621 {
2622   bool clockwise=true;
2623   ErlNifEnv *env = Ecmd.env;
2624   ERL_NIF_TERM * argv = Ecmd.args;
2625   wxImage *This;
2626   This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2627   ERL_NIF_TERM lstHead, lstTail;
2628   lstTail = argv[1];
2629   if(!enif_is_list(env, lstTail)) Badarg("Options");
2630   const ERL_NIF_TERM *tpl;
2631   int tpl_sz;
2632   while(!enif_is_empty_list(env, lstTail)) {
2633     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
2634     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
2635     if(enif_is_identical(tpl[0], enif_make_atom(env, "clockwise"))) {
2636   clockwise = enif_is_identical(tpl[1], WXE_ATOM_true);
2637     } else        Badarg("Options");
2638   };
2639   if(!This) throw wxe_badarg("This");
2640   wxImage * Result = new EwxImage(This->Rotate90(clockwise)); app->newPtr((void *) Result,3, memenv);;
2641   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2642   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxImage"));
2643 
2644 }
2645 
2646 // wxImage::SaveFile
wxImage_SaveFile_2_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2647 void wxImage_SaveFile_2_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2648 {
2649   ErlNifEnv *env = Ecmd.env;
2650   ERL_NIF_TERM * argv = Ecmd.args;
2651   wxImage *This;
2652   This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2653   ErlNifBinary name_bin;
2654   wxString name;
2655   if(!enif_inspect_binary(env, argv[1], &name_bin)) Badarg("name");
2656   name = wxString(name_bin.data, wxConvUTF8, name_bin.size);
2657   wxBitmapType type;
2658   if(!enif_get_int(env, argv[2], (int *) &type)) Badarg("type"); // enum
2659   if(!This) throw wxe_badarg("This");
2660   bool Result = This->SaveFile(name,type);
2661   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2662   rt.send(  rt.make_bool(Result));
2663 
2664 }
2665 
2666 // wxImage::SaveFile
wxImage_SaveFile_2_1(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2667 void wxImage_SaveFile_2_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2668 {
2669   ErlNifEnv *env = Ecmd.env;
2670   ERL_NIF_TERM * argv = Ecmd.args;
2671   wxImage *This;
2672   This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2673   ErlNifBinary name_bin;
2674   wxString name;
2675   if(!enif_inspect_binary(env, argv[1], &name_bin)) Badarg("name");
2676   name = wxString(name_bin.data, wxConvUTF8, name_bin.size);
2677   ErlNifBinary mimetype_bin;
2678   wxString mimetype;
2679   if(!enif_inspect_binary(env, argv[2], &mimetype_bin)) Badarg("mimetype");
2680   mimetype = wxString(mimetype_bin.data, wxConvUTF8, mimetype_bin.size);
2681   if(!This) throw wxe_badarg("This");
2682   bool Result = This->SaveFile(name,mimetype);
2683   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2684   rt.send(  rt.make_bool(Result));
2685 
2686 }
2687 
2688 // wxImage::SaveFile
wxImage_SaveFile_1(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2689 void wxImage_SaveFile_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2690 {
2691   ErlNifEnv *env = Ecmd.env;
2692   ERL_NIF_TERM * argv = Ecmd.args;
2693   wxImage *This;
2694   This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2695   ErlNifBinary name_bin;
2696   wxString name;
2697   if(!enif_inspect_binary(env, argv[1], &name_bin)) Badarg("name");
2698   name = wxString(name_bin.data, wxConvUTF8, name_bin.size);
2699   if(!This) throw wxe_badarg("This");
2700   bool Result = This->SaveFile(name);
2701   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2702   rt.send(  rt.make_bool(Result));
2703 
2704 }
2705 
2706 // wxImage::Scale
wxImage_Scale(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2707 void wxImage_Scale(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2708 {
2709  wxImageResizeQuality quality=wxIMAGE_QUALITY_NORMAL;
2710   ErlNifEnv *env = Ecmd.env;
2711   ERL_NIF_TERM * argv = Ecmd.args;
2712   wxImage *This;
2713   This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2714   int width;
2715   if(!enif_get_int(env, argv[1], &width)) Badarg("width"); // int
2716   int height;
2717   if(!enif_get_int(env, argv[2], &height)) Badarg("height"); // int
2718   ERL_NIF_TERM lstHead, lstTail;
2719   lstTail = argv[3];
2720   if(!enif_is_list(env, lstTail)) Badarg("Options");
2721   const ERL_NIF_TERM *tpl;
2722   int tpl_sz;
2723   while(!enif_is_empty_list(env, lstTail)) {
2724     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
2725     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
2726     if(enif_is_identical(tpl[0], enif_make_atom(env, "quality"))) {
2727   if(!enif_get_int(env, tpl[1], (int *) &quality)) Badarg("quality"); // enum
2728     } else        Badarg("Options");
2729   };
2730   if(!This) throw wxe_badarg("This");
2731   wxImage * Result = new EwxImage(This->Scale(width,height,quality)); app->newPtr((void *) Result,3, memenv);;
2732   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2733   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxImage"));
2734 
2735 }
2736 
2737 // wxImage::Size
wxImage_Size(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2738 void wxImage_Size(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2739 {
2740   int r=-1;
2741   int g=-1;
2742   int b=-1;
2743   ErlNifEnv *env = Ecmd.env;
2744   ERL_NIF_TERM * argv = Ecmd.args;
2745   wxImage *This;
2746   This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2747   const ERL_NIF_TERM *size_t;
2748   int size_sz;
2749   if(!enif_get_tuple(env, argv[1], &size_sz, &size_t)) Badarg("size");
2750   int sizeW;
2751   if(!enif_get_int(env, size_t[0], &sizeW)) Badarg("size");
2752   int sizeH;
2753   if(!enif_get_int(env, size_t[1], &sizeH)) Badarg("size");
2754   wxSize size = wxSize(sizeW,sizeH);
2755   const ERL_NIF_TERM *pos_t;
2756   int pos_sz;
2757   if(!enif_get_tuple(env, argv[2], &pos_sz, &pos_t)) Badarg("pos");
2758   int posX;
2759   if(!enif_get_int(env, pos_t[0], &posX)) Badarg("pos");
2760   int posY;
2761   if(!enif_get_int(env, pos_t[1], &posY)) Badarg("pos");
2762   wxPoint pos = wxPoint(posX,posY);
2763   ERL_NIF_TERM lstHead, lstTail;
2764   lstTail = argv[3];
2765   if(!enif_is_list(env, lstTail)) Badarg("Options");
2766   const ERL_NIF_TERM *tpl;
2767   int tpl_sz;
2768   while(!enif_is_empty_list(env, lstTail)) {
2769     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
2770     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
2771     if(enif_is_identical(tpl[0], enif_make_atom(env, "r"))) {
2772   if(!enif_get_int(env, tpl[1], &r)) Badarg("r"); // int
2773     } else     if(enif_is_identical(tpl[0], enif_make_atom(env, "g"))) {
2774   if(!enif_get_int(env, tpl[1], &g)) Badarg("g"); // int
2775     } else     if(enif_is_identical(tpl[0], enif_make_atom(env, "b"))) {
2776   if(!enif_get_int(env, tpl[1], &b)) Badarg("b"); // int
2777     } else        Badarg("Options");
2778   };
2779   if(!This) throw wxe_badarg("This");
2780   wxImage * Result = new EwxImage(This->Size(size,pos,r,g,b)); app->newPtr((void *) Result,3, memenv);;
2781   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2782   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxImage"));
2783 
2784 }
2785 
2786 // wxImage::SetAlpha
wxImage_SetAlpha_2(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2787 void wxImage_SetAlpha_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2788 {
2789   bool static_data=false;
2790   ErlNifEnv *env = Ecmd.env;
2791   ERL_NIF_TERM * argv = Ecmd.args;
2792   wxImage *This;
2793   This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2794   unsigned char * alpha;
2795   ErlNifBinary alpha_bin;
2796   if(!enif_inspect_binary(env, argv[1], &alpha_bin)) Badarg("alpha");
2797   alpha = (unsigned char*) alpha_bin.data;
2798   ERL_NIF_TERM lstHead, lstTail;
2799   lstTail = argv[2];
2800   if(!enif_is_list(env, lstTail)) Badarg("Options");
2801   const ERL_NIF_TERM *tpl;
2802   int tpl_sz;
2803   while(!enif_is_empty_list(env, lstTail)) {
2804     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
2805     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
2806     if(enif_is_identical(tpl[0], enif_make_atom(env, "static_data"))) {
2807   static_data = enif_is_identical(tpl[1], WXE_ATOM_true);
2808     } else        Badarg("Options");
2809   };
2810  if(!static_data) {
2811     alpha = (unsigned char *) malloc(alpha_bin.size);
2812     memcpy(alpha,alpha_bin.data,alpha_bin.size);}
2813 ;
2814   if(!This) throw wxe_badarg("This");
2815   This->SetAlpha(alpha,static_data);
2816 
2817 }
2818 
2819 // wxImage::SetAlpha
wxImage_SetAlpha_3(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2820 void wxImage_SetAlpha_3(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2821 {
2822   ErlNifEnv *env = Ecmd.env;
2823   ERL_NIF_TERM * argv = Ecmd.args;
2824   wxImage *This;
2825   This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2826   int x;
2827   if(!enif_get_int(env, argv[1], &x)) Badarg("x"); // int
2828   int y;
2829   if(!enif_get_int(env, argv[2], &y)) Badarg("y"); // int
2830   unsigned int alpha;
2831   if(!enif_get_uint(env, argv[3], &alpha)) Badarg("alpha");
2832   if(!This) throw wxe_badarg("This");
2833   This->SetAlpha(x,y,alpha);
2834 
2835 }
2836 
2837 // wxImage::SetData
wxImage_SetData_2(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2838 void wxImage_SetData_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2839 {
2840   bool static_data=false;
2841   ErlNifEnv *env = Ecmd.env;
2842   ERL_NIF_TERM * argv = Ecmd.args;
2843   wxImage *This;
2844   This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2845   unsigned char * data;
2846   ErlNifBinary data_bin;
2847   if(!enif_inspect_binary(env, argv[1], &data_bin)) Badarg("data");
2848   data = (unsigned char*) data_bin.data;
2849   ERL_NIF_TERM lstHead, lstTail;
2850   lstTail = argv[2];
2851   if(!enif_is_list(env, lstTail)) Badarg("Options");
2852   const ERL_NIF_TERM *tpl;
2853   int tpl_sz;
2854   while(!enif_is_empty_list(env, lstTail)) {
2855     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
2856     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
2857     if(enif_is_identical(tpl[0], enif_make_atom(env, "static_data"))) {
2858   static_data = enif_is_identical(tpl[1], WXE_ATOM_true);
2859     } else        Badarg("Options");
2860   };
2861  if(!static_data) {
2862     data = (unsigned char *) malloc(data_bin.size);
2863     memcpy(data,data_bin.data,data_bin.size);}
2864 ;
2865   if(!This) throw wxe_badarg("This");
2866   This->SetData(data,static_data);
2867 
2868 }
2869 
2870 // wxImage::SetData
wxImage_SetData_4(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2871 void wxImage_SetData_4(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2872 {
2873   bool static_data=false;
2874   ErlNifEnv *env = Ecmd.env;
2875   ERL_NIF_TERM * argv = Ecmd.args;
2876   wxImage *This;
2877   This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2878   unsigned char * data;
2879   ErlNifBinary data_bin;
2880   if(!enif_inspect_binary(env, argv[1], &data_bin)) Badarg("data");
2881   data = (unsigned char*) data_bin.data;
2882   int new_width;
2883   if(!enif_get_int(env, argv[2], &new_width)) Badarg("new_width"); // int
2884   int new_height;
2885   if(!enif_get_int(env, argv[3], &new_height)) Badarg("new_height"); // int
2886   ERL_NIF_TERM lstHead, lstTail;
2887   lstTail = argv[4];
2888   if(!enif_is_list(env, lstTail)) Badarg("Options");
2889   const ERL_NIF_TERM *tpl;
2890   int tpl_sz;
2891   while(!enif_is_empty_list(env, lstTail)) {
2892     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
2893     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
2894     if(enif_is_identical(tpl[0], enif_make_atom(env, "static_data"))) {
2895   static_data = enif_is_identical(tpl[1], WXE_ATOM_true);
2896     } else        Badarg("Options");
2897   };
2898  if(!static_data) {
2899     data = (unsigned char *) malloc(data_bin.size);
2900     memcpy(data,data_bin.data,data_bin.size);}
2901 ;
2902   if(!This) throw wxe_badarg("This");
2903   This->SetData(data,new_width,new_height,static_data);
2904 
2905 }
2906 
2907 // wxImage::SetMask
wxImage_SetMask(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2908 void wxImage_SetMask(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2909 {
2910   bool mask=true;
2911   ErlNifEnv *env = Ecmd.env;
2912   ERL_NIF_TERM * argv = Ecmd.args;
2913   wxImage *This;
2914   This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2915   ERL_NIF_TERM lstHead, lstTail;
2916   lstTail = argv[1];
2917   if(!enif_is_list(env, lstTail)) Badarg("Options");
2918   const ERL_NIF_TERM *tpl;
2919   int tpl_sz;
2920   while(!enif_is_empty_list(env, lstTail)) {
2921     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
2922     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
2923     if(enif_is_identical(tpl[0], enif_make_atom(env, "mask"))) {
2924   mask = enif_is_identical(tpl[1], WXE_ATOM_true);
2925     } else        Badarg("Options");
2926   };
2927   if(!This) throw wxe_badarg("This");
2928   This->SetMask(mask);
2929 
2930 }
2931 
2932 // wxImage::SetMaskColour
wxImage_SetMaskColour(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2933 void wxImage_SetMaskColour(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2934 {
2935   ErlNifEnv *env = Ecmd.env;
2936   ERL_NIF_TERM * argv = Ecmd.args;
2937   wxImage *This;
2938   This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2939   unsigned int red;
2940   if(!enif_get_uint(env, argv[1], &red)) Badarg("red");
2941   unsigned int green;
2942   if(!enif_get_uint(env, argv[2], &green)) Badarg("green");
2943   unsigned int blue;
2944   if(!enif_get_uint(env, argv[3], &blue)) Badarg("blue");
2945   if(!This) throw wxe_badarg("This");
2946   This->SetMaskColour(red,green,blue);
2947 
2948 }
2949 
2950 // wxImage::SetMaskFromImage
wxImage_SetMaskFromImage(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2951 void wxImage_SetMaskFromImage(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2952 {
2953   ErlNifEnv *env = Ecmd.env;
2954   ERL_NIF_TERM * argv = Ecmd.args;
2955   wxImage *This;
2956   This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2957   wxImage *mask;
2958   mask = (wxImage *) memenv->getPtr(env, argv[1], "mask");
2959   unsigned int mr;
2960   if(!enif_get_uint(env, argv[2], &mr)) Badarg("mr");
2961   unsigned int mg;
2962   if(!enif_get_uint(env, argv[3], &mg)) Badarg("mg");
2963   unsigned int mb;
2964   if(!enif_get_uint(env, argv[4], &mb)) Badarg("mb");
2965   if(!This) throw wxe_badarg("This");
2966   bool Result = This->SetMaskFromImage(*mask,mr,mg,mb);
2967   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2968   rt.send(  rt.make_bool(Result));
2969 
2970 }
2971 
2972 // wxImage::SetOption
wxImage_SetOption_2_1(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2973 void wxImage_SetOption_2_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2974 {
2975   ErlNifEnv *env = Ecmd.env;
2976   ERL_NIF_TERM * argv = Ecmd.args;
2977   wxImage *This;
2978   This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2979   ErlNifBinary name_bin;
2980   wxString name;
2981   if(!enif_inspect_binary(env, argv[1], &name_bin)) Badarg("name");
2982   name = wxString(name_bin.data, wxConvUTF8, name_bin.size);
2983   ErlNifBinary value_bin;
2984   wxString value;
2985   if(!enif_inspect_binary(env, argv[2], &value_bin)) Badarg("value");
2986   value = wxString(value_bin.data, wxConvUTF8, value_bin.size);
2987   if(!This) throw wxe_badarg("This");
2988   This->SetOption(name,value);
2989 
2990 }
2991 
2992 // wxImage::SetOption
wxImage_SetOption_2_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2993 void wxImage_SetOption_2_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2994 {
2995   ErlNifEnv *env = Ecmd.env;
2996   ERL_NIF_TERM * argv = Ecmd.args;
2997   wxImage *This;
2998   This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2999   ErlNifBinary name_bin;
3000   wxString name;
3001   if(!enif_inspect_binary(env, argv[1], &name_bin)) Badarg("name");
3002   name = wxString(name_bin.data, wxConvUTF8, name_bin.size);
3003   int value;
3004   if(!enif_get_int(env, argv[2], &value)) Badarg("value"); // int
3005   if(!This) throw wxe_badarg("This");
3006   This->SetOption(name,value);
3007 
3008 }
3009 
3010 // wxImage::SetPalette
wxImage_SetPalette(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3011 void wxImage_SetPalette(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3012 {
3013   ErlNifEnv *env = Ecmd.env;
3014   ERL_NIF_TERM * argv = Ecmd.args;
3015   wxImage *This;
3016   This = (wxImage *) memenv->getPtr(env, argv[0], "This");
3017   wxPalette *palette;
3018   palette = (wxPalette *) memenv->getPtr(env, argv[1], "palette");
3019   if(!This) throw wxe_badarg("This");
3020   This->SetPalette(*palette);
3021 
3022 }
3023 
3024 // wxImage::SetRGB
wxImage_SetRGB_5(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3025 void wxImage_SetRGB_5(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3026 {
3027   ErlNifEnv *env = Ecmd.env;
3028   ERL_NIF_TERM * argv = Ecmd.args;
3029   wxImage *This;
3030   This = (wxImage *) memenv->getPtr(env, argv[0], "This");
3031   int x;
3032   if(!enif_get_int(env, argv[1], &x)) Badarg("x"); // int
3033   int y;
3034   if(!enif_get_int(env, argv[2], &y)) Badarg("y"); // int
3035   unsigned int r;
3036   if(!enif_get_uint(env, argv[3], &r)) Badarg("r");
3037   unsigned int g;
3038   if(!enif_get_uint(env, argv[4], &g)) Badarg("g");
3039   unsigned int b;
3040   if(!enif_get_uint(env, argv[5], &b)) Badarg("b");
3041   if(!This) throw wxe_badarg("This");
3042   This->SetRGB(x,y,r,g,b);
3043 
3044 }
3045 
3046 // wxImage::SetRGB
wxImage_SetRGB_4(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3047 void wxImage_SetRGB_4(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3048 {
3049   ErlNifEnv *env = Ecmd.env;
3050   ERL_NIF_TERM * argv = Ecmd.args;
3051   wxImage *This;
3052   This = (wxImage *) memenv->getPtr(env, argv[0], "This");
3053   const ERL_NIF_TERM *rect_t;
3054   int rect_sz;
3055   if(!enif_get_tuple(env, argv[1], &rect_sz, &rect_t)) Badarg("rect");
3056   int rectX;
3057   if(!enif_get_int(env, rect_t[0], &rectX)) Badarg("rect");
3058   int rectY;
3059   if(!enif_get_int(env, rect_t[1], &rectY)) Badarg("rect");
3060   int rectW;
3061   if(!enif_get_int(env, rect_t[2], &rectW)) Badarg("rect");
3062   int rectH;
3063   if(!enif_get_int(env, rect_t[3], &rectH)) Badarg("rect");
3064   wxRect rect = wxRect(rectX,rectY,rectW,rectH);
3065   unsigned int red;
3066   if(!enif_get_uint(env, argv[2], &red)) Badarg("red");
3067   unsigned int green;
3068   if(!enif_get_uint(env, argv[3], &green)) Badarg("green");
3069   unsigned int blue;
3070   if(!enif_get_uint(env, argv[4], &blue)) Badarg("blue");
3071   if(!This) throw wxe_badarg("This");
3072   This->SetRGB(rect,red,green,blue);
3073 
3074 }
3075 
3076 // wxImageList::wxImageList
wxImageList_new_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3077 void wxImageList_new_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3078 {
3079   wxImageList * Result = new EwxImageList();
3080   app->newPtr((void *) Result, 1, memenv);
3081   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3082   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxImageList"));
3083 
3084 }
3085 
3086 // wxImageList::wxImageList
wxImageList_new_3(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3087 void wxImageList_new_3(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3088 {
3089   bool mask=true;
3090   int initialCount=1;
3091   ErlNifEnv *env = Ecmd.env;
3092   ERL_NIF_TERM * argv = Ecmd.args;
3093   int width;
3094   if(!enif_get_int(env, argv[0], &width)) Badarg("width"); // int
3095   int height;
3096   if(!enif_get_int(env, argv[1], &height)) Badarg("height"); // int
3097   ERL_NIF_TERM lstHead, lstTail;
3098   lstTail = argv[2];
3099   if(!enif_is_list(env, lstTail)) Badarg("Options");
3100   const ERL_NIF_TERM *tpl;
3101   int tpl_sz;
3102   while(!enif_is_empty_list(env, lstTail)) {
3103     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
3104     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
3105     if(enif_is_identical(tpl[0], enif_make_atom(env, "mask"))) {
3106   mask = enif_is_identical(tpl[1], WXE_ATOM_true);
3107     } else     if(enif_is_identical(tpl[0], enif_make_atom(env, "initialCount"))) {
3108   if(!enif_get_int(env, tpl[1], &initialCount)) Badarg("initialCount"); // int
3109     } else        Badarg("Options");
3110   };
3111   wxImageList * Result = new EwxImageList(width,height,mask,initialCount);
3112   app->newPtr((void *) Result, 1, memenv);
3113   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3114   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxImageList"));
3115 
3116 }
3117 
3118 // wxImageList::Add
wxImageList_Add_2_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3119 void wxImageList_Add_2_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3120 {
3121   ErlNifEnv *env = Ecmd.env;
3122   ERL_NIF_TERM * argv = Ecmd.args;
3123   wxImageList *This;
3124   This = (wxImageList *) memenv->getPtr(env, argv[0], "This");
3125   wxBitmap *bitmap;
3126   bitmap = (wxBitmap *) memenv->getPtr(env, argv[1], "bitmap");
3127   wxBitmap *mask;
3128   mask = (wxBitmap *) memenv->getPtr(env, argv[2], "mask");
3129   if(!This) throw wxe_badarg("This");
3130   int Result = This->Add(*bitmap,*mask);
3131   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3132   rt.send(  rt.make_int(Result));
3133 
3134 }
3135 
3136 // wxImageList::Add
wxImageList_Add_2_1(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3137 void wxImageList_Add_2_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3138 {
3139   ErlNifEnv *env = Ecmd.env;
3140   ERL_NIF_TERM * argv = Ecmd.args;
3141   wxImageList *This;
3142   This = (wxImageList *) memenv->getPtr(env, argv[0], "This");
3143   wxBitmap *bitmap;
3144   bitmap = (wxBitmap *) memenv->getPtr(env, argv[1], "bitmap");
3145   const ERL_NIF_TERM *maskColour_t;
3146   int maskColour_sz;
3147   if(!enif_get_tuple(env, argv[2], &maskColour_sz, &maskColour_t)) Badarg("maskColour");
3148   int maskColourR;
3149   if(!enif_get_int(env, maskColour_t[0], &maskColourR)) Badarg("maskColour");
3150   int maskColourG;
3151   if(!enif_get_int(env, maskColour_t[1], &maskColourG)) Badarg("maskColour");
3152   int maskColourB;
3153   if(!enif_get_int(env, maskColour_t[2], &maskColourB)) Badarg("maskColour");
3154   int maskColourA;
3155   if(!enif_get_int(env, maskColour_t[3], &maskColourA)) Badarg("maskColour");
3156   wxColour maskColour = wxColour(maskColourR,maskColourG,maskColourB,maskColourA);
3157   if(!This) throw wxe_badarg("This");
3158   int Result = This->Add(*bitmap,maskColour);
3159   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3160   rt.send(  rt.make_int(Result));
3161 
3162 }
3163 
3164 // wxImageList::Add
wxImageList_Add_1(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3165 void wxImageList_Add_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3166 {
3167   ErlNifEnv *env = Ecmd.env;
3168   ERL_NIF_TERM * argv = Ecmd.args;
3169   wxImageList *This;
3170   This = (wxImageList *) memenv->getPtr(env, argv[0], "This");
3171   ERL_NIF_TERM icon_type;
3172   void * icon = memenv->getPtr(env, argv[1], "icon", &icon_type);
3173   if(!This) throw wxe_badarg("This");
3174   int Result;
3175   if(enif_is_identical(icon_type, WXE_ATOM_wxIcon))
3176    Result =  This->Add(* static_cast<wxIcon*> (icon));
3177   else if(enif_is_identical(icon_type, WXE_ATOM_wxBitmap))
3178    Result =  This->Add(* static_cast<wxBitmap*> (icon));
3179   else throw wxe_badarg("icon");
3180   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3181   rt.send(  rt.make_int(Result));
3182 
3183 }
3184 
3185 // wxImageList::Create
wxImageList_Create(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3186 void wxImageList_Create(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3187 {
3188   bool mask=true;
3189   int initialCount=1;
3190   ErlNifEnv *env = Ecmd.env;
3191   ERL_NIF_TERM * argv = Ecmd.args;
3192   wxImageList *This;
3193   This = (wxImageList *) memenv->getPtr(env, argv[0], "This");
3194   int width;
3195   if(!enif_get_int(env, argv[1], &width)) Badarg("width"); // int
3196   int height;
3197   if(!enif_get_int(env, argv[2], &height)) Badarg("height"); // int
3198   ERL_NIF_TERM lstHead, lstTail;
3199   lstTail = argv[3];
3200   if(!enif_is_list(env, lstTail)) Badarg("Options");
3201   const ERL_NIF_TERM *tpl;
3202   int tpl_sz;
3203   while(!enif_is_empty_list(env, lstTail)) {
3204     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
3205     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
3206     if(enif_is_identical(tpl[0], enif_make_atom(env, "mask"))) {
3207   mask = enif_is_identical(tpl[1], WXE_ATOM_true);
3208     } else     if(enif_is_identical(tpl[0], enif_make_atom(env, "initialCount"))) {
3209   if(!enif_get_int(env, tpl[1], &initialCount)) Badarg("initialCount"); // int
3210     } else        Badarg("Options");
3211   };
3212   if(!This) throw wxe_badarg("This");
3213   bool Result = This->Create(width,height,mask,initialCount);
3214   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3215   rt.send(  rt.make_bool(Result));
3216 
3217 }
3218 
3219 // wxImageList::Draw
wxImageList_Draw(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3220 void wxImageList_Draw(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3221 {
3222   int flags=wxIMAGELIST_DRAW_NORMAL;
3223   bool solidBackground=false;
3224   ErlNifEnv *env = Ecmd.env;
3225   ERL_NIF_TERM * argv = Ecmd.args;
3226   wxImageList *This;
3227   This = (wxImageList *) memenv->getPtr(env, argv[0], "This");
3228   int index;
3229   if(!enif_get_int(env, argv[1], &index)) Badarg("index"); // int
3230   wxDC *dc;
3231   dc = (wxDC *) memenv->getPtr(env, argv[2], "dc");
3232   int x;
3233   if(!enif_get_int(env, argv[3], &x)) Badarg("x"); // int
3234   int y;
3235   if(!enif_get_int(env, argv[4], &y)) Badarg("y"); // int
3236   ERL_NIF_TERM lstHead, lstTail;
3237   lstTail = argv[5];
3238   if(!enif_is_list(env, lstTail)) Badarg("Options");
3239   const ERL_NIF_TERM *tpl;
3240   int tpl_sz;
3241   while(!enif_is_empty_list(env, lstTail)) {
3242     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
3243     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
3244     if(enif_is_identical(tpl[0], enif_make_atom(env, "flags"))) {
3245   if(!enif_get_int(env, tpl[1], &flags)) Badarg("flags"); // int
3246     } else     if(enif_is_identical(tpl[0], enif_make_atom(env, "solidBackground"))) {
3247   solidBackground = enif_is_identical(tpl[1], WXE_ATOM_true);
3248     } else        Badarg("Options");
3249   };
3250   if(!This) throw wxe_badarg("This");
3251   bool Result = This->Draw(index,*dc,x,y,flags,solidBackground);
3252   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3253   rt.send(  rt.make_bool(Result));
3254 
3255 }
3256 
3257 // wxImageList::GetBitmap
wxImageList_GetBitmap(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3258 void wxImageList_GetBitmap(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3259 {
3260   ErlNifEnv *env = Ecmd.env;
3261   ERL_NIF_TERM * argv = Ecmd.args;
3262   wxImageList *This;
3263   This = (wxImageList *) memenv->getPtr(env, argv[0], "This");
3264   int index;
3265   if(!enif_get_int(env, argv[1], &index)) Badarg("index"); // int
3266   if(!This) throw wxe_badarg("This");
3267   wxBitmap * Result = new wxBitmap(This->GetBitmap(index)); app->newPtr((void *) Result,3, memenv);;
3268   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3269   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxBitmap"));
3270 
3271 }
3272 
3273 // wxImageList::GetIcon
wxImageList_GetIcon(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3274 void wxImageList_GetIcon(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3275 {
3276   ErlNifEnv *env = Ecmd.env;
3277   ERL_NIF_TERM * argv = Ecmd.args;
3278   wxImageList *This;
3279   This = (wxImageList *) memenv->getPtr(env, argv[0], "This");
3280   int index;
3281   if(!enif_get_int(env, argv[1], &index)) Badarg("index"); // int
3282   if(!This) throw wxe_badarg("This");
3283   wxIcon * Result = new wxIcon(This->GetIcon(index)); app->newPtr((void *) Result,3, memenv);;
3284   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3285   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxIcon"));
3286 
3287 }
3288 
3289 // wxImageList::GetImageCount
wxImageList_GetImageCount(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3290 void wxImageList_GetImageCount(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3291 {
3292   ErlNifEnv *env = Ecmd.env;
3293   ERL_NIF_TERM * argv = Ecmd.args;
3294   wxImageList *This;
3295   This = (wxImageList *) memenv->getPtr(env, argv[0], "This");
3296   if(!This) throw wxe_badarg("This");
3297   int Result = This->GetImageCount();
3298   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3299   rt.send(  rt.make_int(Result));
3300 
3301 }
3302 
3303 // wxImageList::GetSize
wxImageList_GetSize(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3304 void wxImageList_GetSize(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3305 {
3306   int width;
3307   int height;
3308   ErlNifEnv *env = Ecmd.env;
3309   ERL_NIF_TERM * argv = Ecmd.args;
3310   wxImageList *This;
3311   This = (wxImageList *) memenv->getPtr(env, argv[0], "This");
3312   int index;
3313   if(!enif_get_int(env, argv[1], &index)) Badarg("index"); // int
3314   if(!This) throw wxe_badarg("This");
3315   bool Result = This->GetSize(index,width,height);
3316   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3317   ERL_NIF_TERM msg = enif_make_tuple3(rt.env,
3318   rt.make_bool(Result),
3319     rt.make_int(width),
3320   rt.make_int(height));
3321   rt.send(msg);
3322 
3323 }
3324 
3325 // wxImageList::Remove
wxImageList_Remove(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3326 void wxImageList_Remove(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3327 {
3328   ErlNifEnv *env = Ecmd.env;
3329   ERL_NIF_TERM * argv = Ecmd.args;
3330   wxImageList *This;
3331   This = (wxImageList *) memenv->getPtr(env, argv[0], "This");
3332   int index;
3333   if(!enif_get_int(env, argv[1], &index)) Badarg("index"); // int
3334   if(!This) throw wxe_badarg("This");
3335   bool Result = This->Remove(index);
3336   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3337   rt.send(  rt.make_bool(Result));
3338 
3339 }
3340 
3341 // wxImageList::RemoveAll
wxImageList_RemoveAll(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3342 void wxImageList_RemoveAll(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3343 {
3344   ErlNifEnv *env = Ecmd.env;
3345   ERL_NIF_TERM * argv = Ecmd.args;
3346   wxImageList *This;
3347   This = (wxImageList *) memenv->getPtr(env, argv[0], "This");
3348   if(!This) throw wxe_badarg("This");
3349   bool Result = This->RemoveAll();
3350   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3351   rt.send(  rt.make_bool(Result));
3352 
3353 }
3354 
3355 // wxImageList::Replace
wxImageList_Replace_3(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3356 void wxImageList_Replace_3(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3357 {
3358   ErlNifEnv *env = Ecmd.env;
3359   ERL_NIF_TERM * argv = Ecmd.args;
3360   wxImageList *This;
3361   This = (wxImageList *) memenv->getPtr(env, argv[0], "This");
3362   int index;
3363   if(!enif_get_int(env, argv[1], &index)) Badarg("index"); // int
3364   wxBitmap *bitmap;
3365   bitmap = (wxBitmap *) memenv->getPtr(env, argv[2], "bitmap");
3366   wxBitmap *mask;
3367   mask = (wxBitmap *) memenv->getPtr(env, argv[3], "mask");
3368   if(!This) throw wxe_badarg("This");
3369   bool Result = This->Replace(index,*bitmap,*mask);
3370   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3371   rt.send(  rt.make_bool(Result));
3372 
3373 }
3374 
3375 // wxImageList::Replace
wxImageList_Replace_2(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3376 void wxImageList_Replace_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3377 {
3378   ErlNifEnv *env = Ecmd.env;
3379   ERL_NIF_TERM * argv = Ecmd.args;
3380   wxImageList *This;
3381   This = (wxImageList *) memenv->getPtr(env, argv[0], "This");
3382   int index;
3383   if(!enif_get_int(env, argv[1], &index)) Badarg("index"); // int
3384   ERL_NIF_TERM icon_type;
3385   void * icon = memenv->getPtr(env, argv[2], "icon", &icon_type);
3386   if(!This) throw wxe_badarg("This");
3387   bool Result;
3388   if(enif_is_identical(icon_type, WXE_ATOM_wxIcon))
3389    Result =  This->Replace(index,* static_cast<wxIcon*> (icon));
3390   else if(enif_is_identical(icon_type, WXE_ATOM_wxBitmap))
3391    Result =  This->Replace(index,* static_cast<wxBitmap*> (icon));
3392   else throw wxe_badarg("icon");
3393   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3394   rt.send(  rt.make_bool(Result));
3395 
3396 }
3397 
3398 // wxJoystickEvent::ButtonDown
wxJoystickEvent_ButtonDown(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3399 void wxJoystickEvent_ButtonDown(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3400 {
3401   int but=wxJOY_BUTTON_ANY;
3402   ErlNifEnv *env = Ecmd.env;
3403   ERL_NIF_TERM * argv = Ecmd.args;
3404   wxJoystickEvent *This;
3405   This = (wxJoystickEvent *) memenv->getPtr(env, argv[0], "This");
3406   ERL_NIF_TERM lstHead, lstTail;
3407   lstTail = argv[1];
3408   if(!enif_is_list(env, lstTail)) Badarg("Options");
3409   const ERL_NIF_TERM *tpl;
3410   int tpl_sz;
3411   while(!enif_is_empty_list(env, lstTail)) {
3412     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
3413     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
3414     if(enif_is_identical(tpl[0], enif_make_atom(env, "but"))) {
3415   if(!enif_get_int(env, tpl[1], &but)) Badarg("but"); // int
3416     } else        Badarg("Options");
3417   };
3418   if(!This) throw wxe_badarg("This");
3419   bool Result = This->ButtonDown(but);
3420   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3421   rt.send(  rt.make_bool(Result));
3422 
3423 }
3424 
3425 // wxJoystickEvent::ButtonIsDown
wxJoystickEvent_ButtonIsDown(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3426 void wxJoystickEvent_ButtonIsDown(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3427 {
3428   int but=wxJOY_BUTTON_ANY;
3429   ErlNifEnv *env = Ecmd.env;
3430   ERL_NIF_TERM * argv = Ecmd.args;
3431   wxJoystickEvent *This;
3432   This = (wxJoystickEvent *) memenv->getPtr(env, argv[0], "This");
3433   ERL_NIF_TERM lstHead, lstTail;
3434   lstTail = argv[1];
3435   if(!enif_is_list(env, lstTail)) Badarg("Options");
3436   const ERL_NIF_TERM *tpl;
3437   int tpl_sz;
3438   while(!enif_is_empty_list(env, lstTail)) {
3439     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
3440     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
3441     if(enif_is_identical(tpl[0], enif_make_atom(env, "but"))) {
3442   if(!enif_get_int(env, tpl[1], &but)) Badarg("but"); // int
3443     } else        Badarg("Options");
3444   };
3445   if(!This) throw wxe_badarg("This");
3446   bool Result = This->ButtonIsDown(but);
3447   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3448   rt.send(  rt.make_bool(Result));
3449 
3450 }
3451 
3452 // wxJoystickEvent::ButtonUp
wxJoystickEvent_ButtonUp(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3453 void wxJoystickEvent_ButtonUp(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3454 {
3455   int but=wxJOY_BUTTON_ANY;
3456   ErlNifEnv *env = Ecmd.env;
3457   ERL_NIF_TERM * argv = Ecmd.args;
3458   wxJoystickEvent *This;
3459   This = (wxJoystickEvent *) memenv->getPtr(env, argv[0], "This");
3460   ERL_NIF_TERM lstHead, lstTail;
3461   lstTail = argv[1];
3462   if(!enif_is_list(env, lstTail)) Badarg("Options");
3463   const ERL_NIF_TERM *tpl;
3464   int tpl_sz;
3465   while(!enif_is_empty_list(env, lstTail)) {
3466     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
3467     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
3468     if(enif_is_identical(tpl[0], enif_make_atom(env, "but"))) {
3469   if(!enif_get_int(env, tpl[1], &but)) Badarg("but"); // int
3470     } else        Badarg("Options");
3471   };
3472   if(!This) throw wxe_badarg("This");
3473   bool Result = This->ButtonUp(but);
3474   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3475   rt.send(  rt.make_bool(Result));
3476 
3477 }
3478 
3479 // wxJoystickEvent::GetButtonChange
wxJoystickEvent_GetButtonChange(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3480 void wxJoystickEvent_GetButtonChange(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3481 {
3482   ErlNifEnv *env = Ecmd.env;
3483   ERL_NIF_TERM * argv = Ecmd.args;
3484   wxJoystickEvent *This;
3485   This = (wxJoystickEvent *) memenv->getPtr(env, argv[0], "This");
3486   if(!This) throw wxe_badarg("This");
3487   int Result = This->GetButtonChange();
3488   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3489   rt.send(  rt.make_int(Result));
3490 
3491 }
3492 
3493 // wxJoystickEvent::GetButtonState
wxJoystickEvent_GetButtonState(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3494 void wxJoystickEvent_GetButtonState(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3495 {
3496   ErlNifEnv *env = Ecmd.env;
3497   ERL_NIF_TERM * argv = Ecmd.args;
3498   wxJoystickEvent *This;
3499   This = (wxJoystickEvent *) memenv->getPtr(env, argv[0], "This");
3500   if(!This) throw wxe_badarg("This");
3501   int Result = This->GetButtonState();
3502   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3503   rt.send(  rt.make_int(Result));
3504 
3505 }
3506 
3507 // wxJoystickEvent::GetJoystick
wxJoystickEvent_GetJoystick(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3508 void wxJoystickEvent_GetJoystick(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3509 {
3510   ErlNifEnv *env = Ecmd.env;
3511   ERL_NIF_TERM * argv = Ecmd.args;
3512   wxJoystickEvent *This;
3513   This = (wxJoystickEvent *) memenv->getPtr(env, argv[0], "This");
3514   if(!This) throw wxe_badarg("This");
3515   int Result = This->GetJoystick();
3516   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3517   rt.send(  rt.make_int(Result));
3518 
3519 }
3520 
3521 // wxJoystickEvent::GetPosition
wxJoystickEvent_GetPosition(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3522 void wxJoystickEvent_GetPosition(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3523 {
3524   ErlNifEnv *env = Ecmd.env;
3525   ERL_NIF_TERM * argv = Ecmd.args;
3526   wxJoystickEvent *This;
3527   This = (wxJoystickEvent *) memenv->getPtr(env, argv[0], "This");
3528   if(!This) throw wxe_badarg("This");
3529   wxPoint Result = This->GetPosition();
3530   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3531   rt.send(  rt.make(Result));
3532 
3533 }
3534 
3535 // wxJoystickEvent::GetZPosition
wxJoystickEvent_GetZPosition(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3536 void wxJoystickEvent_GetZPosition(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3537 {
3538   ErlNifEnv *env = Ecmd.env;
3539   ERL_NIF_TERM * argv = Ecmd.args;
3540   wxJoystickEvent *This;
3541   This = (wxJoystickEvent *) memenv->getPtr(env, argv[0], "This");
3542   if(!This) throw wxe_badarg("This");
3543   int Result = This->GetZPosition();
3544   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3545   rt.send(  rt.make_int(Result));
3546 
3547 }
3548 
3549 // wxJoystickEvent::IsButton
wxJoystickEvent_IsButton(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3550 void wxJoystickEvent_IsButton(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3551 {
3552   ErlNifEnv *env = Ecmd.env;
3553   ERL_NIF_TERM * argv = Ecmd.args;
3554   wxJoystickEvent *This;
3555   This = (wxJoystickEvent *) memenv->getPtr(env, argv[0], "This");
3556   if(!This) throw wxe_badarg("This");
3557   bool Result = This->IsButton();
3558   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3559   rt.send(  rt.make_bool(Result));
3560 
3561 }
3562 
3563 // wxJoystickEvent::IsMove
wxJoystickEvent_IsMove(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3564 void wxJoystickEvent_IsMove(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3565 {
3566   ErlNifEnv *env = Ecmd.env;
3567   ERL_NIF_TERM * argv = Ecmd.args;
3568   wxJoystickEvent *This;
3569   This = (wxJoystickEvent *) memenv->getPtr(env, argv[0], "This");
3570   if(!This) throw wxe_badarg("This");
3571   bool Result = This->IsMove();
3572   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3573   rt.send(  rt.make_bool(Result));
3574 
3575 }
3576 
3577 // wxJoystickEvent::IsZMove
wxJoystickEvent_IsZMove(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3578 void wxJoystickEvent_IsZMove(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3579 {
3580   ErlNifEnv *env = Ecmd.env;
3581   ERL_NIF_TERM * argv = Ecmd.args;
3582   wxJoystickEvent *This;
3583   This = (wxJoystickEvent *) memenv->getPtr(env, argv[0], "This");
3584   if(!This) throw wxe_badarg("This");
3585   bool Result = This->IsZMove();
3586   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3587   rt.send(  rt.make_bool(Result));
3588 
3589 }
3590 
3591 // wxKeyEvent::AltDown
wxKeyEvent_AltDown(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3592 void wxKeyEvent_AltDown(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3593 {
3594   ErlNifEnv *env = Ecmd.env;
3595   ERL_NIF_TERM * argv = Ecmd.args;
3596   wxKeyEvent *This;
3597   This = (wxKeyEvent *) memenv->getPtr(env, argv[0], "This");
3598   if(!This) throw wxe_badarg("This");
3599   bool Result = This->AltDown();
3600   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3601   rt.send(  rt.make_bool(Result));
3602 
3603 }
3604 
3605 // wxKeyEvent::CmdDown
wxKeyEvent_CmdDown(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3606 void wxKeyEvent_CmdDown(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3607 {
3608   ErlNifEnv *env = Ecmd.env;
3609   ERL_NIF_TERM * argv = Ecmd.args;
3610   wxKeyEvent *This;
3611   This = (wxKeyEvent *) memenv->getPtr(env, argv[0], "This");
3612   if(!This) throw wxe_badarg("This");
3613   bool Result = This->CmdDown();
3614   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3615   rt.send(  rt.make_bool(Result));
3616 
3617 }
3618 
3619 // wxKeyEvent::ControlDown
wxKeyEvent_ControlDown(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3620 void wxKeyEvent_ControlDown(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3621 {
3622   ErlNifEnv *env = Ecmd.env;
3623   ERL_NIF_TERM * argv = Ecmd.args;
3624   wxKeyEvent *This;
3625   This = (wxKeyEvent *) memenv->getPtr(env, argv[0], "This");
3626   if(!This) throw wxe_badarg("This");
3627   bool Result = This->ControlDown();
3628   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3629   rt.send(  rt.make_bool(Result));
3630 
3631 }
3632 
3633 // wxKeyEvent::GetKeyCode
wxKeyEvent_GetKeyCode(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3634 void wxKeyEvent_GetKeyCode(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3635 {
3636   ErlNifEnv *env = Ecmd.env;
3637   ERL_NIF_TERM * argv = Ecmd.args;
3638   wxKeyEvent *This;
3639   This = (wxKeyEvent *) memenv->getPtr(env, argv[0], "This");
3640   if(!This) throw wxe_badarg("This");
3641   int Result = This->GetKeyCode();
3642   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3643   rt.send(  rt.make_int(Result));
3644 
3645 }
3646 
3647 // wxKeyEvent::GetModifiers
wxKeyEvent_GetModifiers(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3648 void wxKeyEvent_GetModifiers(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3649 {
3650   ErlNifEnv *env = Ecmd.env;
3651   ERL_NIF_TERM * argv = Ecmd.args;
3652   wxKeyEvent *This;
3653   This = (wxKeyEvent *) memenv->getPtr(env, argv[0], "This");
3654   if(!This) throw wxe_badarg("This");
3655   int Result = This->GetModifiers();
3656   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3657   rt.send(  rt.make_int(Result));
3658 
3659 }
3660 
3661 // wxKeyEvent::GetPosition
wxKeyEvent_GetPosition(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3662 void wxKeyEvent_GetPosition(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3663 {
3664   ErlNifEnv *env = Ecmd.env;
3665   ERL_NIF_TERM * argv = Ecmd.args;
3666   wxKeyEvent *This;
3667   This = (wxKeyEvent *) memenv->getPtr(env, argv[0], "This");
3668   if(!This) throw wxe_badarg("This");
3669   wxPoint Result = This->GetPosition();
3670   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3671   rt.send(  rt.make(Result));
3672 
3673 }
3674 
3675 // wxKeyEvent::GetRawKeyCode
wxKeyEvent_GetRawKeyCode(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3676 void wxKeyEvent_GetRawKeyCode(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3677 {
3678   ErlNifEnv *env = Ecmd.env;
3679   ERL_NIF_TERM * argv = Ecmd.args;
3680   wxKeyEvent *This;
3681   This = (wxKeyEvent *) memenv->getPtr(env, argv[0], "This");
3682   if(!This) throw wxe_badarg("This");
3683   int Result = This->GetRawKeyCode();
3684   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3685   rt.send(  rt.make_uint(Result));
3686 
3687 }
3688 
3689 // wxKeyEvent::GetRawKeyFlags
wxKeyEvent_GetRawKeyFlags(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3690 void wxKeyEvent_GetRawKeyFlags(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3691 {
3692   ErlNifEnv *env = Ecmd.env;
3693   ERL_NIF_TERM * argv = Ecmd.args;
3694   wxKeyEvent *This;
3695   This = (wxKeyEvent *) memenv->getPtr(env, argv[0], "This");
3696   if(!This) throw wxe_badarg("This");
3697   int Result = This->GetRawKeyFlags();
3698   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3699   rt.send(  rt.make_uint(Result));
3700 
3701 }
3702 
3703 // wxKeyEvent::GetUnicodeKey
wxKeyEvent_GetUnicodeKey(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3704 void wxKeyEvent_GetUnicodeKey(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3705 {
3706   ErlNifEnv *env = Ecmd.env;
3707   ERL_NIF_TERM * argv = Ecmd.args;
3708   wxKeyEvent *This;
3709   This = (wxKeyEvent *) memenv->getPtr(env, argv[0], "This");
3710   if(!This) throw wxe_badarg("This");
3711   wxChar Result = This->GetUnicodeKey();
3712   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3713   rt.send(  rt.make_int(Result));
3714 
3715 }
3716 
3717 // wxKeyEvent::GetX
wxKeyEvent_GetX(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3718 void wxKeyEvent_GetX(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3719 {
3720   ErlNifEnv *env = Ecmd.env;
3721   ERL_NIF_TERM * argv = Ecmd.args;
3722   wxKeyEvent *This;
3723   This = (wxKeyEvent *) memenv->getPtr(env, argv[0], "This");
3724   if(!This) throw wxe_badarg("This");
3725   wxCoord Result = This->GetX();
3726   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3727   rt.send(  rt.make_int(Result));
3728 
3729 }
3730 
3731 // wxKeyEvent::GetY
wxKeyEvent_GetY(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3732 void wxKeyEvent_GetY(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3733 {
3734   ErlNifEnv *env = Ecmd.env;
3735   ERL_NIF_TERM * argv = Ecmd.args;
3736   wxKeyEvent *This;
3737   This = (wxKeyEvent *) memenv->getPtr(env, argv[0], "This");
3738   if(!This) throw wxe_badarg("This");
3739   wxCoord Result = This->GetY();
3740   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3741   rt.send(  rt.make_int(Result));
3742 
3743 }
3744 
3745 // wxKeyEvent::HasModifiers
wxKeyEvent_HasModifiers(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3746 void wxKeyEvent_HasModifiers(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3747 {
3748   ErlNifEnv *env = Ecmd.env;
3749   ERL_NIF_TERM * argv = Ecmd.args;
3750   wxKeyEvent *This;
3751   This = (wxKeyEvent *) memenv->getPtr(env, argv[0], "This");
3752   if(!This) throw wxe_badarg("This");
3753   bool Result = This->HasModifiers();
3754   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3755   rt.send(  rt.make_bool(Result));
3756 
3757 }
3758 
3759 // wxKeyEvent::MetaDown
wxKeyEvent_MetaDown(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3760 void wxKeyEvent_MetaDown(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3761 {
3762   ErlNifEnv *env = Ecmd.env;
3763   ERL_NIF_TERM * argv = Ecmd.args;
3764   wxKeyEvent *This;
3765   This = (wxKeyEvent *) memenv->getPtr(env, argv[0], "This");
3766   if(!This) throw wxe_badarg("This");
3767   bool Result = This->MetaDown();
3768   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3769   rt.send(  rt.make_bool(Result));
3770 
3771 }
3772 
3773 // wxKeyEvent::ShiftDown
wxKeyEvent_ShiftDown(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3774 void wxKeyEvent_ShiftDown(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3775 {
3776   ErlNifEnv *env = Ecmd.env;
3777   ERL_NIF_TERM * argv = Ecmd.args;
3778   wxKeyEvent *This;
3779   This = (wxKeyEvent *) memenv->getPtr(env, argv[0], "This");
3780   if(!This) throw wxe_badarg("This");
3781   bool Result = This->ShiftDown();
3782   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3783   rt.send(  rt.make_bool(Result));
3784 
3785 }
3786 
3787 // wxLayoutAlgorithm::wxLayoutAlgorithm
wxLayoutAlgorithm_new(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3788 void wxLayoutAlgorithm_new(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3789 {
3790   wxLayoutAlgorithm * Result = new EwxLayoutAlgorithm();
3791   app->newPtr((void *) Result, 1, memenv);
3792   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3793   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxLayoutAlgorithm"));
3794 
3795 }
3796 
3797 // wxLayoutAlgorithm::LayoutFrame
wxLayoutAlgorithm_LayoutFrame(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3798 void wxLayoutAlgorithm_LayoutFrame(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3799 {
3800   wxWindow * mainWindow=NULL;
3801   ErlNifEnv *env = Ecmd.env;
3802   ERL_NIF_TERM * argv = Ecmd.args;
3803   wxLayoutAlgorithm *This;
3804   This = (wxLayoutAlgorithm *) memenv->getPtr(env, argv[0], "This");
3805   wxFrame *frame;
3806   frame = (wxFrame *) memenv->getPtr(env, argv[1], "frame");
3807   ERL_NIF_TERM lstHead, lstTail;
3808   lstTail = argv[2];
3809   if(!enif_is_list(env, lstTail)) Badarg("Options");
3810   const ERL_NIF_TERM *tpl;
3811   int tpl_sz;
3812   while(!enif_is_empty_list(env, lstTail)) {
3813     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
3814     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
3815     if(enif_is_identical(tpl[0], enif_make_atom(env, "mainWindow"))) {
3816   mainWindow = (wxWindow *) memenv->getPtr(env, tpl[1], "mainWindow");
3817     } else        Badarg("Options");
3818   };
3819   if(!This) throw wxe_badarg("This");
3820   bool Result = This->LayoutFrame(frame,mainWindow);
3821   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3822   rt.send(  rt.make_bool(Result));
3823 
3824 }
3825 
3826 // wxLayoutAlgorithm::LayoutMDIFrame
wxLayoutAlgorithm_LayoutMDIFrame(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3827 void wxLayoutAlgorithm_LayoutMDIFrame(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3828 {
3829   wxRect *rect=NULL; wxRect rectTmp;
3830   ErlNifEnv *env = Ecmd.env;
3831   ERL_NIF_TERM * argv = Ecmd.args;
3832   wxLayoutAlgorithm *This;
3833   This = (wxLayoutAlgorithm *) memenv->getPtr(env, argv[0], "This");
3834   wxMDIParentFrame *frame;
3835   frame = (wxMDIParentFrame *) memenv->getPtr(env, argv[1], "frame");
3836   ERL_NIF_TERM lstHead, lstTail;
3837   lstTail = argv[2];
3838   if(!enif_is_list(env, lstTail)) Badarg("Options");
3839   const ERL_NIF_TERM *tpl;
3840   int tpl_sz;
3841   while(!enif_is_empty_list(env, lstTail)) {
3842     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
3843     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
3844     if(enif_is_identical(tpl[0], enif_make_atom(env, "rect"))) {
3845   const ERL_NIF_TERM *rect_t;
3846   int rect_sz;
3847   if(!enif_get_tuple(env, tpl[1], &rect_sz, &rect_t)) Badarg("rect");
3848   int rectX;
3849   if(!enif_get_int(env, rect_t[0], &rectX)) Badarg("rect");
3850   int rectY;
3851   if(!enif_get_int(env, rect_t[1], &rectY)) Badarg("rect");
3852   int rectW;
3853   if(!enif_get_int(env, rect_t[2], &rectW)) Badarg("rect");
3854   int rectH;
3855   if(!enif_get_int(env, rect_t[3], &rectH)) Badarg("rect");
3856   rectTmp = wxRect(rectX,rectY,rectW,rectH); rect = & rectTmp;
3857     } else        Badarg("Options");
3858   };
3859   if(!This) throw wxe_badarg("This");
3860   bool Result = This->LayoutMDIFrame(frame,rect);
3861   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3862   rt.send(  rt.make_bool(Result));
3863 
3864 }
3865 
3866 // wxLayoutAlgorithm::LayoutWindow
wxLayoutAlgorithm_LayoutWindow(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3867 void wxLayoutAlgorithm_LayoutWindow(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3868 {
3869   wxWindow * mainWindow=NULL;
3870   ErlNifEnv *env = Ecmd.env;
3871   ERL_NIF_TERM * argv = Ecmd.args;
3872   wxLayoutAlgorithm *This;
3873   This = (wxLayoutAlgorithm *) memenv->getPtr(env, argv[0], "This");
3874   wxWindow *parent;
3875   parent = (wxWindow *) memenv->getPtr(env, argv[1], "parent");
3876   ERL_NIF_TERM lstHead, lstTail;
3877   lstTail = argv[2];
3878   if(!enif_is_list(env, lstTail)) Badarg("Options");
3879   const ERL_NIF_TERM *tpl;
3880   int tpl_sz;
3881   while(!enif_is_empty_list(env, lstTail)) {
3882     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
3883     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
3884     if(enif_is_identical(tpl[0], enif_make_atom(env, "mainWindow"))) {
3885   mainWindow = (wxWindow *) memenv->getPtr(env, tpl[1], "mainWindow");
3886     } else        Badarg("Options");
3887   };
3888   if(!This) throw wxe_badarg("This");
3889   bool Result = This->LayoutWindow(parent,mainWindow);
3890   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3891   rt.send(  rt.make_bool(Result));
3892 
3893 }
3894 
3895 // wxListBox::wxListBox
wxListBox_new_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3896 void wxListBox_new_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3897 {
3898   wxListBox * Result = new EwxListBox();
3899   app->newPtr((void *) Result, 0, memenv);
3900   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3901   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxListBox"));
3902 
3903 }
3904 
3905 // wxListBox::wxListBox
wxListBox_new_3(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3906 void wxListBox_new_3(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3907 {
3908   wxPoint pos= wxDefaultPosition;
3909   wxSize size= wxDefaultSize;
3910   wxArrayString choices;
3911   long style=0;
3912   const wxValidator * validator= &wxDefaultValidator;
3913   ErlNifEnv *env = Ecmd.env;
3914   ERL_NIF_TERM * argv = Ecmd.args;
3915   wxWindow *parent;
3916   parent = (wxWindow *) memenv->getPtr(env, argv[0], "parent");
3917   int id;
3918   if(!enif_get_int(env, argv[1], &id)) Badarg("id"); // wxWindowID
3919   ERL_NIF_TERM lstHead, lstTail;
3920   lstTail = argv[2];
3921   if(!enif_is_list(env, lstTail)) Badarg("Options");
3922   const ERL_NIF_TERM *tpl;
3923   int tpl_sz;
3924   while(!enif_is_empty_list(env, lstTail)) {
3925     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
3926     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
3927     if(enif_is_identical(tpl[0], enif_make_atom(env, "pos"))) {
3928   const ERL_NIF_TERM *pos_t;
3929   int pos_sz;
3930   if(!enif_get_tuple(env, tpl[1], &pos_sz, &pos_t)) Badarg("pos");
3931   int posX;
3932   if(!enif_get_int(env, pos_t[0], &posX)) Badarg("pos");
3933   int posY;
3934   if(!enif_get_int(env, pos_t[1], &posY)) Badarg("pos");
3935   pos = wxPoint(posX,posY);
3936     } else     if(enif_is_identical(tpl[0], enif_make_atom(env, "size"))) {
3937   const ERL_NIF_TERM *size_t;
3938   int size_sz;
3939   if(!enif_get_tuple(env, tpl[1], &size_sz, &size_t)) Badarg("size");
3940   int sizeW;
3941   if(!enif_get_int(env, size_t[0], &sizeW)) Badarg("size");
3942   int sizeH;
3943   if(!enif_get_int(env, size_t[1], &sizeH)) Badarg("size");
3944   size = wxSize(sizeW,sizeH);
3945     } else     if(enif_is_identical(tpl[0], enif_make_atom(env, "choices"))) {
3946   ERL_NIF_TERM choicesHead, choicesTail;
3947   ErlNifBinary choices_bin;
3948   choicesTail = tpl[1];
3949   while(!enif_is_empty_list(env, choicesTail)) {
3950     if(!enif_get_list_cell(env, choicesTail, &choicesHead, &choicesTail)) Badarg("choices");
3951     if(!enif_inspect_binary(env, choicesHead, &choices_bin)) Badarg("choices");
3952     choices.Add(wxString(choices_bin.data, wxConvUTF8, choices_bin.size));
3953   };
3954     } else     if(enif_is_identical(tpl[0], enif_make_atom(env, "style"))) {
3955   if(!enif_get_long(env, tpl[1], &style)) Badarg("style");
3956     } else     if(enif_is_identical(tpl[0], enif_make_atom(env, "validator"))) {
3957   validator = (wxValidator *) memenv->getPtr(env, tpl[1], "validator");
3958     } else        Badarg("Options");
3959   };
3960   wxListBox * Result = new EwxListBox(parent,id,pos,size,choices,style,*validator);
3961   app->newPtr((void *) Result, 0, memenv);
3962   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3963   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxListBox"));
3964 
3965 }
3966 
3967 // wxListBox::Create
wxListBox_Create(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3968 void wxListBox_Create(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3969 {
3970   long style=0;
3971   const wxValidator * validator= &wxDefaultValidator;
3972   ErlNifEnv *env = Ecmd.env;
3973   ERL_NIF_TERM * argv = Ecmd.args;
3974   wxListBox *This;
3975   This = (wxListBox *) memenv->getPtr(env, argv[0], "This");
3976   wxWindow *parent;
3977   parent = (wxWindow *) memenv->getPtr(env, argv[1], "parent");
3978   int id;
3979   if(!enif_get_int(env, argv[2], &id)) Badarg("id"); // wxWindowID
3980   const ERL_NIF_TERM *pos_t;
3981   int pos_sz;
3982   if(!enif_get_tuple(env, argv[3], &pos_sz, &pos_t)) Badarg("pos");
3983   int posX;
3984   if(!enif_get_int(env, pos_t[0], &posX)) Badarg("pos");
3985   int posY;
3986   if(!enif_get_int(env, pos_t[1], &posY)) Badarg("pos");
3987   wxPoint pos = wxPoint(posX,posY);
3988   const ERL_NIF_TERM *size_t;
3989   int size_sz;
3990   if(!enif_get_tuple(env, argv[4], &size_sz, &size_t)) Badarg("size");
3991   int sizeW;
3992   if(!enif_get_int(env, size_t[0], &sizeW)) Badarg("size");
3993   int sizeH;
3994   if(!enif_get_int(env, size_t[1], &sizeH)) Badarg("size");
3995   wxSize size = wxSize(sizeW,sizeH);
3996   ERL_NIF_TERM choicesHead, choicesTail;
3997   ErlNifBinary choices_bin;
3998   wxArrayString choices;
3999   choicesTail = argv[5];
4000   while(!enif_is_empty_list(env, choicesTail)) {
4001     if(!enif_get_list_cell(env, choicesTail, &choicesHead, &choicesTail)) Badarg("choices");
4002     if(!enif_inspect_binary(env, choicesHead, &choices_bin)) Badarg("choices");
4003     choices.Add(wxString(choices_bin.data, wxConvUTF8, choices_bin.size));
4004   };
4005   ERL_NIF_TERM lstHead, lstTail;
4006   lstTail = argv[6];
4007   if(!enif_is_list(env, lstTail)) Badarg("Options");
4008   const ERL_NIF_TERM *tpl;
4009   int tpl_sz;
4010   while(!enif_is_empty_list(env, lstTail)) {
4011     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
4012     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
4013     if(enif_is_identical(tpl[0], enif_make_atom(env, "style"))) {
4014   if(!enif_get_long(env, tpl[1], &style)) Badarg("style");
4015     } else     if(enif_is_identical(tpl[0], enif_make_atom(env, "validator"))) {
4016   validator = (wxValidator *) memenv->getPtr(env, tpl[1], "validator");
4017     } else        Badarg("Options");
4018   };
4019   if(!This) throw wxe_badarg("This");
4020   bool Result = This->Create(parent,id,pos,size,choices,style,*validator);
4021   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4022   rt.send(  rt.make_bool(Result));
4023 
4024 }
4025 
4026 // wxListBox::Deselect
wxListBox_Deselect(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4027 void wxListBox_Deselect(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4028 {
4029   ErlNifEnv *env = Ecmd.env;
4030   ERL_NIF_TERM * argv = Ecmd.args;
4031   wxListBox *This;
4032   This = (wxListBox *) memenv->getPtr(env, argv[0], "This");
4033   int n;
4034   if(!enif_get_int(env, argv[1], &n)) Badarg("n"); // int
4035   if(!This) throw wxe_badarg("This");
4036   This->Deselect(n);
4037 
4038 }
4039 
4040 // wxListBox::GetSelections
wxListBox_GetSelections(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4041 void wxListBox_GetSelections(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4042 {
4043   wxArrayInt selections;
4044   ErlNifEnv *env = Ecmd.env;
4045   ERL_NIF_TERM * argv = Ecmd.args;
4046   wxListBox *This;
4047   This = (wxListBox *) memenv->getPtr(env, argv[0], "This");
4048   if(!This) throw wxe_badarg("This");
4049   int Result = This->GetSelections(selections);
4050   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4051   ERL_NIF_TERM msg = enif_make_tuple2(rt.env,
4052   rt.make_int(Result),
4053     rt.make(selections));
4054   rt.send(msg);
4055 
4056 }
4057 
4058 // wxListBox::InsertItems
wxListBox_InsertItems(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4059 void wxListBox_InsertItems(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4060 {
4061   ErlNifEnv *env = Ecmd.env;
4062   ERL_NIF_TERM * argv = Ecmd.args;
4063   wxListBox *This;
4064   This = (wxListBox *) memenv->getPtr(env, argv[0], "This");
4065   ERL_NIF_TERM itemsHead, itemsTail;
4066   ErlNifBinary items_bin;
4067   wxArrayString items;
4068   itemsTail = argv[1];
4069   while(!enif_is_empty_list(env, itemsTail)) {
4070     if(!enif_get_list_cell(env, itemsTail, &itemsHead, &itemsTail)) Badarg("items");
4071     if(!enif_inspect_binary(env, itemsHead, &items_bin)) Badarg("items");
4072     items.Add(wxString(items_bin.data, wxConvUTF8, items_bin.size));
4073   };
4074   unsigned int pos;
4075   if(!enif_get_uint(env, argv[2], &pos)) Badarg("pos");
4076   if(!This) throw wxe_badarg("This");
4077   This->InsertItems(items,pos);
4078 
4079 }
4080 
4081 // wxListBox::IsSelected
wxListBox_IsSelected(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4082 void wxListBox_IsSelected(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4083 {
4084   ErlNifEnv *env = Ecmd.env;
4085   ERL_NIF_TERM * argv = Ecmd.args;
4086   wxListBox *This;
4087   This = (wxListBox *) memenv->getPtr(env, argv[0], "This");
4088   int n;
4089   if(!enif_get_int(env, argv[1], &n)) Badarg("n"); // int
4090   if(!This) throw wxe_badarg("This");
4091   bool Result = This->IsSelected(n);
4092   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4093   rt.send(  rt.make_bool(Result));
4094 
4095 }
4096 
4097 // wxListBox::Set
wxListBox_Set(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4098 void wxListBox_Set(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4099 {
4100   ErlNifEnv *env = Ecmd.env;
4101   ERL_NIF_TERM * argv = Ecmd.args;
4102   wxListBox *This;
4103   This = (wxListBox *) memenv->getPtr(env, argv[0], "This");
4104   ERL_NIF_TERM itemsHead, itemsTail;
4105   ErlNifBinary items_bin;
4106   wxArrayString items;
4107   itemsTail = argv[1];
4108   while(!enif_is_empty_list(env, itemsTail)) {
4109     if(!enif_get_list_cell(env, itemsTail, &itemsHead, &itemsTail)) Badarg("items");
4110     if(!enif_inspect_binary(env, itemsHead, &items_bin)) Badarg("items");
4111     items.Add(wxString(items_bin.data, wxConvUTF8, items_bin.size));
4112   };
4113   if(!This) throw wxe_badarg("This");
4114   This->Set(items);
4115 
4116 }
4117 
4118 // wxListBox::HitTest
wxListBox_HitTest_1(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4119 void wxListBox_HitTest_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4120 {
4121   ErlNifEnv *env = Ecmd.env;
4122   ERL_NIF_TERM * argv = Ecmd.args;
4123   wxListBox *This;
4124   This = (wxListBox *) memenv->getPtr(env, argv[0], "This");
4125   const ERL_NIF_TERM *point_t;
4126   int point_sz;
4127   if(!enif_get_tuple(env, argv[1], &point_sz, &point_t)) Badarg("point");
4128   int pointX;
4129   if(!enif_get_int(env, point_t[0], &pointX)) Badarg("point");
4130   int pointY;
4131   if(!enif_get_int(env, point_t[1], &pointY)) Badarg("point");
4132   wxPoint point = wxPoint(pointX,pointY);
4133   if(!This) throw wxe_badarg("This");
4134   int Result = This->HitTest(point);
4135   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4136   rt.send(  rt.make_int(Result));
4137 
4138 }
4139 
4140 // wxListBox::HitTest
wxListBox_HitTest_2(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4141 void wxListBox_HitTest_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4142 {
4143   ErlNifEnv *env = Ecmd.env;
4144   ERL_NIF_TERM * argv = Ecmd.args;
4145   wxListBox *This;
4146   This = (wxListBox *) memenv->getPtr(env, argv[0], "This");
4147   int x;
4148   if(!enif_get_int(env, argv[1], &x)) Badarg("x"); // int
4149   int y;
4150   if(!enif_get_int(env, argv[2], &y)) Badarg("y"); // int
4151   if(!This) throw wxe_badarg("This");
4152   int Result = This->HitTest(x,y);
4153   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4154   rt.send(  rt.make_int(Result));
4155 
4156 }
4157 
4158 // wxListBox::SetFirstItem
wxListBox_SetFirstItem_1_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4159 void wxListBox_SetFirstItem_1_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4160 {
4161   ErlNifEnv *env = Ecmd.env;
4162   ERL_NIF_TERM * argv = Ecmd.args;
4163   wxListBox *This;
4164   This = (wxListBox *) memenv->getPtr(env, argv[0], "This");
4165   int n;
4166   if(!enif_get_int(env, argv[1], &n)) Badarg("n"); // int
4167   if(!This) throw wxe_badarg("This");
4168   This->SetFirstItem(n);
4169 
4170 }
4171 
4172 // wxListBox::SetFirstItem
wxListBox_SetFirstItem_1_1(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4173 void wxListBox_SetFirstItem_1_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4174 {
4175   ErlNifEnv *env = Ecmd.env;
4176   ERL_NIF_TERM * argv = Ecmd.args;
4177   wxListBox *This;
4178   This = (wxListBox *) memenv->getPtr(env, argv[0], "This");
4179   ErlNifBinary string_bin;
4180   wxString string;
4181   if(!enif_inspect_binary(env, argv[1], &string_bin)) Badarg("string");
4182   string = wxString(string_bin.data, wxConvUTF8, string_bin.size);
4183   if(!This) throw wxe_badarg("This");
4184   This->SetFirstItem(string);
4185 
4186 }
4187 
4188 
wxListCtrl_new_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4189 void wxListCtrl_new_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4190 {
4191   wxListCtrl * Result = new EwxListCtrl();
4192   app->newPtr((void *) Result, 0, memenv);
4193   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4194   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxListCtrl"));
4195 }
4196 
4197 
4198   // skipped wxListCtrl_new_2
4199 // wxListCtrl::Arrange
wxListCtrl_Arrange(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4200 void wxListCtrl_Arrange(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4201 {
4202   int flag=wxLIST_ALIGN_DEFAULT;
4203   ErlNifEnv *env = Ecmd.env;
4204   ERL_NIF_TERM * argv = Ecmd.args;
4205   wxListCtrl *This;
4206   This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4207   ERL_NIF_TERM lstHead, lstTail;
4208   lstTail = argv[1];
4209   if(!enif_is_list(env, lstTail)) Badarg("Options");
4210   const ERL_NIF_TERM *tpl;
4211   int tpl_sz;
4212   while(!enif_is_empty_list(env, lstTail)) {
4213     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
4214     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
4215     if(enif_is_identical(tpl[0], enif_make_atom(env, "flag"))) {
4216   if(!enif_get_int(env, tpl[1], &flag)) Badarg("flag"); // int
4217     } else        Badarg("Options");
4218   };
4219   if(!This) throw wxe_badarg("This");
4220   bool Result = This->Arrange(flag);
4221   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4222   rt.send(  rt.make_bool(Result));
4223 
4224 }
4225 
4226 // wxListCtrl::AssignImageList
wxListCtrl_AssignImageList(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4227 void wxListCtrl_AssignImageList(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4228 {
4229   ErlNifEnv *env = Ecmd.env;
4230   ERL_NIF_TERM * argv = Ecmd.args;
4231   wxListCtrl *This;
4232   This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4233   wxImageList *imageList;
4234   imageList = (wxImageList *) memenv->getPtr(env, argv[1], "imageList");
4235   int which;
4236   if(!enif_get_int(env, argv[2], &which)) Badarg("which"); // int
4237   if(!This) throw wxe_badarg("This");
4238   This->AssignImageList(imageList,which);
4239 
4240 }
4241 
4242 // wxListCtrl::ClearAll
wxListCtrl_ClearAll(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4243 void wxListCtrl_ClearAll(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4244 {
4245   ErlNifEnv *env = Ecmd.env;
4246   ERL_NIF_TERM * argv = Ecmd.args;
4247   wxListCtrl *This;
4248   This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4249   if(!This) throw wxe_badarg("This");
4250   This->ClearAll();
4251 
4252 }
4253 
4254 
4255 // wxListCtrl::Create
wxListCtrl_Create(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4256 void wxListCtrl_Create(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4257 {
4258   wxWindowID winid=wxID_ANY;
4259   wxPoint pos= wxDefaultPosition;
4260   wxSize size= wxDefaultSize;
4261   long style=wxLC_ICON;
4262   const wxValidator * validator= &wxDefaultValidator;
4263   ErlNifEnv *env = Ecmd.env;
4264   ERL_NIF_TERM * argv = Ecmd.args;
4265 
4266   int onGetItemText = 0, onGetItemAttr = 0, onGetItemColumnImage = 0;
4267 
4268   EwxListCtrl *This;
4269   This = (EwxListCtrl *) memenv->getPtr(env, argv[0], "This");
4270   wxWindow *parent;
4271   parent = (wxWindow *) memenv->getPtr(env, argv[1], "parent");
4272   ERL_NIF_TERM lstHead, lstTail;
4273   lstTail = argv[2];
4274   if(!enif_is_list(env, lstTail)) Badarg("Options");
4275   const ERL_NIF_TERM *tpl;
4276   int tpl_sz;
4277   while(!enif_is_empty_list(env, lstTail)) {
4278     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
4279     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
4280     if(enif_is_identical(tpl[0], enif_make_atom(env, "winid"))) {
4281       if(!enif_get_int(env, tpl[1], &winid)) Badarg("winid"); // "wxWindowID"
4282     } else     if(enif_is_identical(tpl[0], enif_make_atom(env, "pos"))) {
4283       const ERL_NIF_TERM *pos_t;
4284       int pos_sz;
4285       if(!enif_get_tuple(env, tpl[1], &pos_sz, &pos_t)) Badarg("pos");
4286       int posX;
4287       if(!enif_get_int(env, pos_t[0], &posX)) Badarg("pos");
4288       int posY;
4289       if(!enif_get_int(env, pos_t[1], &posY)) Badarg("pos");
4290       pos = wxPoint(posX,posY);
4291     } else     if(enif_is_identical(tpl[0], enif_make_atom(env, "size"))) {
4292       const ERL_NIF_TERM *size_t;
4293       int size_sz;
4294       if(!enif_get_tuple(env, tpl[1], &size_sz, &size_t)) Badarg("size");
4295       int sizeW;
4296       if(!enif_get_int(env, size_t[0], &sizeW)) Badarg("size");
4297       int sizeH;
4298       if(!enif_get_int(env, size_t[1], &sizeH)) Badarg("size");
4299       size = wxSize(sizeW,sizeH);
4300     } else     if(enif_is_identical(tpl[0], enif_make_atom(env, "style"))) {
4301       if(!enif_get_long(env, tpl[1], &style)) Badarg("style");
4302     } else     if(enif_is_identical(tpl[0], enif_make_atom(env, "validator"))) {
4303       validator = (wxValidator *) memenv->getPtr(env, tpl[1], "validator");
4304     } else     if(enif_is_identical(tpl[0], enif_make_atom(env, "onGetItemText"))) {
4305       if(!enif_get_int(env, tpl[1], &onGetItemText)) Badarg("onGetItemText");
4306     } else     if(enif_is_identical(tpl[0], enif_make_atom(env, "onGetItemAttr"))) {
4307       if(!enif_get_int(env, tpl[1], &onGetItemAttr)) Badarg("onGetItemAttr");
4308     } else     if(enif_is_identical(tpl[0], enif_make_atom(env, "onGetItemColumnImage"))) {
4309       if(!enif_get_int(env, tpl[1], &onGetItemColumnImage)) Badarg("onGetItemColumnImage");
4310     } else      Badarg("Options");
4311   };
4312   if(!This) throw wxe_badarg(0);
4313   bool Result = This->Create(parent,winid,pos,size,style,*validator);
4314 
4315   This->onGetItemText = onGetItemText;
4316   This->onGetItemAttr = onGetItemAttr;
4317   This->onGetItemColumnImage = onGetItemColumnImage;
4318   This->me_ref = memenv->me_ref;
4319 
4320   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4321   rt.send(  rt.make_bool(Result));
4322 
4323 }
4324 
4325 // wxListCtrl::DeleteAllItems
wxListCtrl_DeleteAllItems(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4326 void wxListCtrl_DeleteAllItems(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4327 {
4328   ErlNifEnv *env = Ecmd.env;
4329   ERL_NIF_TERM * argv = Ecmd.args;
4330   wxListCtrl *This;
4331   This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4332   if(!This) throw wxe_badarg("This");
4333   bool Result = This->DeleteAllItems();
4334   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4335   rt.send(  rt.make_bool(Result));
4336 
4337 }
4338 
4339 // wxListCtrl::DeleteColumn
wxListCtrl_DeleteColumn(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4340 void wxListCtrl_DeleteColumn(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4341 {
4342   ErlNifEnv *env = Ecmd.env;
4343   ERL_NIF_TERM * argv = Ecmd.args;
4344   wxListCtrl *This;
4345   This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4346   int col;
4347   if(!enif_get_int(env, argv[1], &col)) Badarg("col"); // int
4348   if(!This) throw wxe_badarg("This");
4349   bool Result = This->DeleteColumn(col);
4350   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4351   rt.send(  rt.make_bool(Result));
4352 
4353 }
4354 
4355 // wxListCtrl::DeleteItem
wxListCtrl_DeleteItem(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4356 void wxListCtrl_DeleteItem(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4357 {
4358   ErlNifEnv *env = Ecmd.env;
4359   ERL_NIF_TERM * argv = Ecmd.args;
4360   wxListCtrl *This;
4361   This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4362   long item;
4363   if(!enif_get_long(env, argv[1], &item)) Badarg("item");
4364   if(!This) throw wxe_badarg("This");
4365   bool Result = This->DeleteItem(item);
4366   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4367   rt.send(  rt.make_bool(Result));
4368 
4369 }
4370 
4371 // wxListCtrl::EditLabel
wxListCtrl_EditLabel(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4372 void wxListCtrl_EditLabel(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4373 {
4374   ErlNifEnv *env = Ecmd.env;
4375   ERL_NIF_TERM * argv = Ecmd.args;
4376   wxListCtrl *This;
4377   This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4378   long item;
4379   if(!enif_get_long(env, argv[1], &item)) Badarg("item");
4380   if(!This) throw wxe_badarg("This");
4381   wxTextCtrl * Result = (wxTextCtrl*)This->EditLabel(item);
4382   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4383   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxTextCtrl"));
4384 
4385 }
4386 
4387 // wxListCtrl::EnsureVisible
wxListCtrl_EnsureVisible(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4388 void wxListCtrl_EnsureVisible(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4389 {
4390   ErlNifEnv *env = Ecmd.env;
4391   ERL_NIF_TERM * argv = Ecmd.args;
4392   wxListCtrl *This;
4393   This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4394   long item;
4395   if(!enif_get_long(env, argv[1], &item)) Badarg("item");
4396   if(!This) throw wxe_badarg("This");
4397   bool Result = This->EnsureVisible(item);
4398   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4399   rt.send(  rt.make_bool(Result));
4400 
4401 }
4402 
4403 // wxListCtrl::FindItem
wxListCtrl_FindItem_3_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4404 void wxListCtrl_FindItem_3_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4405 {
4406   bool partial=false;
4407   ErlNifEnv *env = Ecmd.env;
4408   ERL_NIF_TERM * argv = Ecmd.args;
4409   wxListCtrl *This;
4410   This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4411   long start;
4412   if(!enif_get_long(env, argv[1], &start)) Badarg("start");
4413   ErlNifBinary str_bin;
4414   wxString str;
4415   if(!enif_inspect_binary(env, argv[2], &str_bin)) Badarg("str");
4416   str = wxString(str_bin.data, wxConvUTF8, str_bin.size);
4417   ERL_NIF_TERM lstHead, lstTail;
4418   lstTail = argv[3];
4419   if(!enif_is_list(env, lstTail)) Badarg("Options");
4420   const ERL_NIF_TERM *tpl;
4421   int tpl_sz;
4422   while(!enif_is_empty_list(env, lstTail)) {
4423     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
4424     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
4425     if(enif_is_identical(tpl[0], enif_make_atom(env, "partial"))) {
4426   partial = enif_is_identical(tpl[1], WXE_ATOM_true);
4427     } else        Badarg("Options");
4428   };
4429   if(!This) throw wxe_badarg("This");
4430   long Result = This->FindItem(start,str,partial);
4431   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4432   rt.send(  rt.make_int(Result));
4433 
4434 }
4435 
4436 // wxListCtrl::FindItem
wxListCtrl_FindItem_3_1(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4437 void wxListCtrl_FindItem_3_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4438 {
4439   ErlNifEnv *env = Ecmd.env;
4440   ERL_NIF_TERM * argv = Ecmd.args;
4441   wxListCtrl *This;
4442   This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4443   long start;
4444   if(!enif_get_long(env, argv[1], &start)) Badarg("start");
4445   const ERL_NIF_TERM *pt_t;
4446   int pt_sz;
4447   if(!enif_get_tuple(env, argv[2], &pt_sz, &pt_t)) Badarg("pt");
4448   int ptX;
4449   if(!enif_get_int(env, pt_t[0], &ptX)) Badarg("pt");
4450   int ptY;
4451   if(!enif_get_int(env, pt_t[1], &ptY)) Badarg("pt");
4452   wxPoint pt = wxPoint(ptX,ptY);
4453   int direction;
4454   if(!enif_get_int(env, argv[3], &direction)) Badarg("direction"); // int
4455   if(!This) throw wxe_badarg("This");
4456   long Result = This->FindItem(start,pt,direction);
4457   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4458   rt.send(  rt.make_int(Result));
4459 
4460 }
4461 
4462 // wxListCtrl::GetColumn
wxListCtrl_GetColumn(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4463 void wxListCtrl_GetColumn(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4464 {
4465   ErlNifEnv *env = Ecmd.env;
4466   ERL_NIF_TERM * argv = Ecmd.args;
4467   wxListCtrl *This;
4468   This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4469   int col;
4470   if(!enif_get_int(env, argv[1], &col)) Badarg("col"); // int
4471   wxListItem *item;
4472   item = (wxListItem *) memenv->getPtr(env, argv[2], "item");
4473   if(!This) throw wxe_badarg("This");
4474   bool Result = This->GetColumn(col,*item);
4475   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4476   rt.send(  rt.make_bool(Result));
4477 
4478 }
4479 
4480 // wxListCtrl::GetColumnCount
wxListCtrl_GetColumnCount(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4481 void wxListCtrl_GetColumnCount(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4482 {
4483   ErlNifEnv *env = Ecmd.env;
4484   ERL_NIF_TERM * argv = Ecmd.args;
4485   wxListCtrl *This;
4486   This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4487   if(!This) throw wxe_badarg("This");
4488   int Result = This->GetColumnCount();
4489   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4490   rt.send(  rt.make_int(Result));
4491 
4492 }
4493 
4494 // wxListCtrl::GetColumnWidth
wxListCtrl_GetColumnWidth(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4495 void wxListCtrl_GetColumnWidth(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4496 {
4497   ErlNifEnv *env = Ecmd.env;
4498   ERL_NIF_TERM * argv = Ecmd.args;
4499   wxListCtrl *This;
4500   This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4501   int col;
4502   if(!enif_get_int(env, argv[1], &col)) Badarg("col"); // int
4503   if(!This) throw wxe_badarg("This");
4504   int Result = This->GetColumnWidth(col);
4505   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4506   rt.send(  rt.make_int(Result));
4507 
4508 }
4509 
4510 // wxListCtrl::GetCountPerPage
wxListCtrl_GetCountPerPage(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4511 void wxListCtrl_GetCountPerPage(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4512 {
4513   ErlNifEnv *env = Ecmd.env;
4514   ERL_NIF_TERM * argv = Ecmd.args;
4515   wxListCtrl *This;
4516   This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4517   if(!This) throw wxe_badarg("This");
4518   int Result = This->GetCountPerPage();
4519   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4520   rt.send(  rt.make_int(Result));
4521 
4522 }
4523 
4524 // wxListCtrl::GetEditControl
wxListCtrl_GetEditControl(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4525 void wxListCtrl_GetEditControl(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4526 {
4527   ErlNifEnv *env = Ecmd.env;
4528   ERL_NIF_TERM * argv = Ecmd.args;
4529   wxListCtrl *This;
4530   This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4531   if(!This) throw wxe_badarg("This");
4532   wxTextCtrl * Result = (wxTextCtrl*)This->GetEditControl();
4533   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4534   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxTextCtrl"));
4535 
4536 }
4537 
4538 // wxListCtrl::GetImageList
wxListCtrl_GetImageList(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4539 void wxListCtrl_GetImageList(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4540 {
4541   ErlNifEnv *env = Ecmd.env;
4542   ERL_NIF_TERM * argv = Ecmd.args;
4543   wxListCtrl *This;
4544   This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4545   int which;
4546   if(!enif_get_int(env, argv[1], &which)) Badarg("which"); // int
4547   if(!This) throw wxe_badarg("This");
4548   wxImageList * Result = (wxImageList*)This->GetImageList(which);
4549   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4550   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxImageList"));
4551 
4552 }
4553 
4554 // wxListCtrl::GetItem
wxListCtrl_GetItem(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4555 void wxListCtrl_GetItem(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4556 {
4557   ErlNifEnv *env = Ecmd.env;
4558   ERL_NIF_TERM * argv = Ecmd.args;
4559   wxListCtrl *This;
4560   This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4561   wxListItem *info;
4562   info = (wxListItem *) memenv->getPtr(env, argv[1], "info");
4563   if(!This) throw wxe_badarg("This");
4564   bool Result = This->GetItem(*info);
4565   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4566   rt.send(  rt.make_bool(Result));
4567 
4568 }
4569 
4570 // wxListCtrl::GetItemBackgroundColour
wxListCtrl_GetItemBackgroundColour(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4571 void wxListCtrl_GetItemBackgroundColour(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4572 {
4573   ErlNifEnv *env = Ecmd.env;
4574   ERL_NIF_TERM * argv = Ecmd.args;
4575   wxListCtrl *This;
4576   This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4577   long item;
4578   if(!enif_get_long(env, argv[1], &item)) Badarg("item");
4579   if(!This) throw wxe_badarg("This");
4580   wxColour Result = This->GetItemBackgroundColour(item);
4581   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4582   rt.send(  rt.make(Result));
4583 
4584 }
4585 
4586 // wxListCtrl::GetItemCount
wxListCtrl_GetItemCount(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4587 void wxListCtrl_GetItemCount(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4588 {
4589   ErlNifEnv *env = Ecmd.env;
4590   ERL_NIF_TERM * argv = Ecmd.args;
4591   wxListCtrl *This;
4592   This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4593   if(!This) throw wxe_badarg("This");
4594   int Result = This->GetItemCount();
4595   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4596   rt.send(  rt.make_int(Result));
4597 
4598 }
4599 
4600 // wxListCtrl::GetItemData
wxListCtrl_GetItemData(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4601 void wxListCtrl_GetItemData(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4602 {
4603   ErlNifEnv *env = Ecmd.env;
4604   ERL_NIF_TERM * argv = Ecmd.args;
4605   wxListCtrl *This;
4606   This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4607   long item;
4608   if(!enif_get_long(env, argv[1], &item)) Badarg("item");
4609   if(!This) throw wxe_badarg("This");
4610   wxUIntPtr Result = This->GetItemData(item);
4611   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4612   rt.send(  rt.make_int(Result));
4613 
4614 }
4615 
4616 // wxListCtrl::GetItemFont
wxListCtrl_GetItemFont(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4617 void wxListCtrl_GetItemFont(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4618 {
4619   ErlNifEnv *env = Ecmd.env;
4620   ERL_NIF_TERM * argv = Ecmd.args;
4621   wxListCtrl *This;
4622   This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4623   long item;
4624   if(!enif_get_long(env, argv[1], &item)) Badarg("item");
4625   if(!This) throw wxe_badarg("This");
4626   wxFont * Result = new wxFont(This->GetItemFont(item)); app->newPtr((void *) Result,3, memenv);;
4627   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4628   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxFont"));
4629 
4630 }
4631 
4632 // wxListCtrl::GetItemPosition
wxListCtrl_GetItemPosition(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4633 void wxListCtrl_GetItemPosition(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4634 {
4635   wxPoint pos;
4636   ErlNifEnv *env = Ecmd.env;
4637   ERL_NIF_TERM * argv = Ecmd.args;
4638   wxListCtrl *This;
4639   This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4640   long item;
4641   if(!enif_get_long(env, argv[1], &item)) Badarg("item");
4642   if(!This) throw wxe_badarg("This");
4643   bool Result = This->GetItemPosition(item,pos);
4644   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4645   ERL_NIF_TERM msg = enif_make_tuple2(rt.env,
4646   rt.make_bool(Result),
4647     rt.make(pos));
4648   rt.send(msg);
4649 
4650 }
4651 
4652 // wxListCtrl::GetItemRect
wxListCtrl_GetItemRect(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4653 void wxListCtrl_GetItemRect(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4654 {
4655   wxRect rect;
4656   int code=wxLIST_RECT_BOUNDS;
4657   ErlNifEnv *env = Ecmd.env;
4658   ERL_NIF_TERM * argv = Ecmd.args;
4659   wxListCtrl *This;
4660   This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4661   long item;
4662   if(!enif_get_long(env, argv[1], &item)) Badarg("item");
4663   ERL_NIF_TERM lstHead, lstTail;
4664   lstTail = argv[2];
4665   if(!enif_is_list(env, lstTail)) Badarg("Options");
4666   const ERL_NIF_TERM *tpl;
4667   int tpl_sz;
4668   while(!enif_is_empty_list(env, lstTail)) {
4669     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
4670     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
4671     if(enif_is_identical(tpl[0], enif_make_atom(env, "code"))) {
4672   if(!enif_get_int(env, tpl[1], &code)) Badarg("code"); // int
4673     } else        Badarg("Options");
4674   };
4675   if(!This) throw wxe_badarg("This");
4676   bool Result = This->GetItemRect(item,rect,code);
4677   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4678   ERL_NIF_TERM msg = enif_make_tuple2(rt.env,
4679   rt.make_bool(Result),
4680     rt.make(rect));
4681   rt.send(msg);
4682 
4683 }
4684 
4685 // wxListCtrl::GetItemSpacing
wxListCtrl_GetItemSpacing(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4686 void wxListCtrl_GetItemSpacing(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4687 {
4688   ErlNifEnv *env = Ecmd.env;
4689   ERL_NIF_TERM * argv = Ecmd.args;
4690   wxListCtrl *This;
4691   This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4692   if(!This) throw wxe_badarg("This");
4693   wxSize Result = This->GetItemSpacing();
4694   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4695   rt.send(  rt.make(Result));
4696 
4697 }
4698 
4699 // wxListCtrl::GetItemState
wxListCtrl_GetItemState(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4700 void wxListCtrl_GetItemState(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4701 {
4702   ErlNifEnv *env = Ecmd.env;
4703   ERL_NIF_TERM * argv = Ecmd.args;
4704   wxListCtrl *This;
4705   This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4706   long item;
4707   if(!enif_get_long(env, argv[1], &item)) Badarg("item");
4708   long stateMask;
4709   if(!enif_get_long(env, argv[2], &stateMask)) Badarg("stateMask");
4710   if(!This) throw wxe_badarg("This");
4711   int Result = This->GetItemState(item,stateMask);
4712   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4713   rt.send(  rt.make_int(Result));
4714 
4715 }
4716 
4717 // wxListCtrl::GetItemText
wxListCtrl_GetItemText(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4718 void wxListCtrl_GetItemText(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4719 {
4720   int col=0;
4721   ErlNifEnv *env = Ecmd.env;
4722   ERL_NIF_TERM * argv = Ecmd.args;
4723   wxListCtrl *This;
4724   This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4725   long item;
4726   if(!enif_get_long(env, argv[1], &item)) Badarg("item");
4727   ERL_NIF_TERM lstHead, lstTail;
4728   lstTail = argv[2];
4729   if(!enif_is_list(env, lstTail)) Badarg("Options");
4730   const ERL_NIF_TERM *tpl;
4731   int tpl_sz;
4732   while(!enif_is_empty_list(env, lstTail)) {
4733     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
4734     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
4735     if(enif_is_identical(tpl[0], enif_make_atom(env, "col"))) {
4736   if(!enif_get_int(env, tpl[1], &col)) Badarg("col"); // int
4737     } else        Badarg("Options");
4738   };
4739   if(!This) throw wxe_badarg("This");
4740   wxString Result = This->GetItemText(item,col);
4741   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4742   rt.send(  rt.make(Result));
4743 
4744 }
4745 
4746 // wxListCtrl::GetItemTextColour
wxListCtrl_GetItemTextColour(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4747 void wxListCtrl_GetItemTextColour(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4748 {
4749   ErlNifEnv *env = Ecmd.env;
4750   ERL_NIF_TERM * argv = Ecmd.args;
4751   wxListCtrl *This;
4752   This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4753   long item;
4754   if(!enif_get_long(env, argv[1], &item)) Badarg("item");
4755   if(!This) throw wxe_badarg("This");
4756   wxColour Result = This->GetItemTextColour(item);
4757   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4758   rt.send(  rt.make(Result));
4759 
4760 }
4761 
4762 // wxListCtrl::GetNextItem
wxListCtrl_GetNextItem(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4763 void wxListCtrl_GetNextItem(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4764 {
4765   int geometry=wxLIST_NEXT_ALL;
4766   int state=wxLIST_STATE_DONTCARE;
4767   ErlNifEnv *env = Ecmd.env;
4768   ERL_NIF_TERM * argv = Ecmd.args;
4769   wxListCtrl *This;
4770   This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4771   long item;
4772   if(!enif_get_long(env, argv[1], &item)) Badarg("item");
4773   ERL_NIF_TERM lstHead, lstTail;
4774   lstTail = argv[2];
4775   if(!enif_is_list(env, lstTail)) Badarg("Options");
4776   const ERL_NIF_TERM *tpl;
4777   int tpl_sz;
4778   while(!enif_is_empty_list(env, lstTail)) {
4779     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
4780     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
4781     if(enif_is_identical(tpl[0], enif_make_atom(env, "geometry"))) {
4782   if(!enif_get_int(env, tpl[1], &geometry)) Badarg("geometry"); // int
4783     } else     if(enif_is_identical(tpl[0], enif_make_atom(env, "state"))) {
4784   if(!enif_get_int(env, tpl[1], &state)) Badarg("state"); // int
4785     } else        Badarg("Options");
4786   };
4787   if(!This) throw wxe_badarg("This");
4788   long Result = This->GetNextItem(item,geometry,state);
4789   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4790   rt.send(  rt.make_int(Result));
4791 
4792 }
4793 
4794 // wxListCtrl::GetSelectedItemCount
wxListCtrl_GetSelectedItemCount(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4795 void wxListCtrl_GetSelectedItemCount(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4796 {
4797   ErlNifEnv *env = Ecmd.env;
4798   ERL_NIF_TERM * argv = Ecmd.args;
4799   wxListCtrl *This;
4800   This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4801   if(!This) throw wxe_badarg("This");
4802   int Result = This->GetSelectedItemCount();
4803   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4804   rt.send(  rt.make_int(Result));
4805 
4806 }
4807 
4808 // wxListCtrl::GetTextColour
wxListCtrl_GetTextColour(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4809 void wxListCtrl_GetTextColour(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4810 {
4811   ErlNifEnv *env = Ecmd.env;
4812   ERL_NIF_TERM * argv = Ecmd.args;
4813   wxListCtrl *This;
4814   This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4815   if(!This) throw wxe_badarg("This");
4816   wxColour Result = This->GetTextColour();
4817   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4818   rt.send(  rt.make(Result));
4819 
4820 }
4821 
4822 // wxListCtrl::GetTopItem
wxListCtrl_GetTopItem(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4823 void wxListCtrl_GetTopItem(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4824 {
4825   ErlNifEnv *env = Ecmd.env;
4826   ERL_NIF_TERM * argv = Ecmd.args;
4827   wxListCtrl *This;
4828   This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4829   if(!This) throw wxe_badarg("This");
4830   long Result = This->GetTopItem();
4831   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4832   rt.send(  rt.make_int(Result));
4833 
4834 }
4835 
4836 // wxListCtrl::GetViewRect
wxListCtrl_GetViewRect(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4837 void wxListCtrl_GetViewRect(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4838 {
4839   ErlNifEnv *env = Ecmd.env;
4840   ERL_NIF_TERM * argv = Ecmd.args;
4841   wxListCtrl *This;
4842   This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4843   if(!This) throw wxe_badarg("This");
4844   wxRect Result = This->GetViewRect();
4845   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4846   rt.send(  rt.make(Result));
4847 
4848 }
4849 
4850 // wxListCtrl::HitTest
wxListCtrl_HitTest(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4851 void wxListCtrl_HitTest(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4852 {
4853   int flags;
4854   long ptrSubItem;
4855   ErlNifEnv *env = Ecmd.env;
4856   ERL_NIF_TERM * argv = Ecmd.args;
4857   wxListCtrl *This;
4858   This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4859   const ERL_NIF_TERM *point_t;
4860   int point_sz;
4861   if(!enif_get_tuple(env, argv[1], &point_sz, &point_t)) Badarg("point");
4862   int pointX;
4863   if(!enif_get_int(env, point_t[0], &pointX)) Badarg("point");
4864   int pointY;
4865   if(!enif_get_int(env, point_t[1], &pointY)) Badarg("point");
4866   wxPoint point = wxPoint(pointX,pointY);
4867   if(!This) throw wxe_badarg("This");
4868   long Result = This->HitTest(point,flags,&ptrSubItem);
4869   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4870   ERL_NIF_TERM msg = enif_make_tuple3(rt.env,
4871   rt.make_int(Result),
4872     rt.make_int(flags),
4873   rt.make_int(ptrSubItem));
4874   rt.send(msg);
4875 
4876 }
4877 
4878 // wxListCtrl::InsertColumn
wxListCtrl_InsertColumn_2(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4879 void wxListCtrl_InsertColumn_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4880 {
4881   ErlNifEnv *env = Ecmd.env;
4882   ERL_NIF_TERM * argv = Ecmd.args;
4883   wxListCtrl *This;
4884   This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4885   long col;
4886   if(!enif_get_long(env, argv[1], &col)) Badarg("col");
4887   wxListItem *info;
4888   info = (wxListItem *) memenv->getPtr(env, argv[2], "info");
4889   if(!This) throw wxe_badarg("This");
4890   long Result = This->InsertColumn(col,*info);
4891   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4892   rt.send(  rt.make_int(Result));
4893 
4894 }
4895 
4896 // wxListCtrl::InsertColumn
wxListCtrl_InsertColumn_3(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4897 void wxListCtrl_InsertColumn_3(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4898 {
4899   int format=wxLIST_FORMAT_LEFT;
4900   int width=wxLIST_AUTOSIZE;
4901   ErlNifEnv *env = Ecmd.env;
4902   ERL_NIF_TERM * argv = Ecmd.args;
4903   wxListCtrl *This;
4904   This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4905   long col;
4906   if(!enif_get_long(env, argv[1], &col)) Badarg("col");
4907   ErlNifBinary heading_bin;
4908   wxString heading;
4909   if(!enif_inspect_binary(env, argv[2], &heading_bin)) Badarg("heading");
4910   heading = wxString(heading_bin.data, wxConvUTF8, heading_bin.size);
4911   ERL_NIF_TERM lstHead, lstTail;
4912   lstTail = argv[3];
4913   if(!enif_is_list(env, lstTail)) Badarg("Options");
4914   const ERL_NIF_TERM *tpl;
4915   int tpl_sz;
4916   while(!enif_is_empty_list(env, lstTail)) {
4917     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
4918     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
4919     if(enif_is_identical(tpl[0], enif_make_atom(env, "format"))) {
4920   if(!enif_get_int(env, tpl[1], &format)) Badarg("format"); // int
4921     } else     if(enif_is_identical(tpl[0], enif_make_atom(env, "width"))) {
4922   if(!enif_get_int(env, tpl[1], &width)) Badarg("width"); // int
4923     } else        Badarg("Options");
4924   };
4925   if(!This) throw wxe_badarg("This");
4926   long Result = This->InsertColumn(col,heading,format,width);
4927   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4928   rt.send(  rt.make_int(Result));
4929 
4930 }
4931 
4932 // wxListCtrl::InsertItem
wxListCtrl_InsertItem_1(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4933 void wxListCtrl_InsertItem_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4934 {
4935   ErlNifEnv *env = Ecmd.env;
4936   ERL_NIF_TERM * argv = Ecmd.args;
4937   wxListCtrl *This;
4938   This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4939   wxListItem *info;
4940   info = (wxListItem *) memenv->getPtr(env, argv[1], "info");
4941   if(!This) throw wxe_badarg("This");
4942   long Result = This->InsertItem(*info);
4943   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4944   rt.send(  rt.make_int(Result));
4945 
4946 }
4947 
4948 // wxListCtrl::InsertItem
wxListCtrl_InsertItem_2_1(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4949 void wxListCtrl_InsertItem_2_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4950 {
4951   ErlNifEnv *env = Ecmd.env;
4952   ERL_NIF_TERM * argv = Ecmd.args;
4953   wxListCtrl *This;
4954   This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4955   long index;
4956   if(!enif_get_long(env, argv[1], &index)) Badarg("index");
4957   ErlNifBinary label_bin;
4958   wxString label;
4959   if(!enif_inspect_binary(env, argv[2], &label_bin)) Badarg("label");
4960   label = wxString(label_bin.data, wxConvUTF8, label_bin.size);
4961   if(!This) throw wxe_badarg("This");
4962   long Result = This->InsertItem(index,label);
4963   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4964   rt.send(  rt.make_int(Result));
4965 
4966 }
4967 
4968 // wxListCtrl::InsertItem
wxListCtrl_InsertItem_2_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4969 void wxListCtrl_InsertItem_2_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4970 {
4971   ErlNifEnv *env = Ecmd.env;
4972   ERL_NIF_TERM * argv = Ecmd.args;
4973   wxListCtrl *This;
4974   This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4975   long index;
4976   if(!enif_get_long(env, argv[1], &index)) Badarg("index");
4977   int imageIndex;
4978   if(!enif_get_int(env, argv[2], &imageIndex)) Badarg("imageIndex"); // int
4979   if(!This) throw wxe_badarg("This");
4980   long Result = This->InsertItem(index,imageIndex);
4981   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4982   rt.send(  rt.make_int(Result));
4983 
4984 }
4985 
4986 // wxListCtrl::InsertItem
wxListCtrl_InsertItem_3(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4987 void wxListCtrl_InsertItem_3(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4988 {
4989   ErlNifEnv *env = Ecmd.env;
4990   ERL_NIF_TERM * argv = Ecmd.args;
4991   wxListCtrl *This;
4992   This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4993   long index;
4994   if(!enif_get_long(env, argv[1], &index)) Badarg("index");
4995   ErlNifBinary label_bin;
4996   wxString label;
4997   if(!enif_inspect_binary(env, argv[2], &label_bin)) Badarg("label");
4998   label = wxString(label_bin.data, wxConvUTF8, label_bin.size);
4999   int imageIndex;
5000   if(!enif_get_int(env, argv[3], &imageIndex)) Badarg("imageIndex"); // int
5001   if(!This) throw wxe_badarg("This");
5002   long Result = This->InsertItem(index,label,imageIndex);
5003   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5004   rt.send(  rt.make_int(Result));
5005 
5006 }
5007 
5008 // wxListCtrl::RefreshItem
wxListCtrl_RefreshItem(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5009 void wxListCtrl_RefreshItem(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5010 {
5011   ErlNifEnv *env = Ecmd.env;
5012   ERL_NIF_TERM * argv = Ecmd.args;
5013   wxListCtrl *This;
5014   This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
5015   long item;
5016   if(!enif_get_long(env, argv[1], &item)) Badarg("item");
5017   if(!This) throw wxe_badarg("This");
5018   This->RefreshItem(item);
5019 
5020 }
5021 
5022 // wxListCtrl::RefreshItems
wxListCtrl_RefreshItems(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5023 void wxListCtrl_RefreshItems(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5024 {
5025   ErlNifEnv *env = Ecmd.env;
5026   ERL_NIF_TERM * argv = Ecmd.args;
5027   wxListCtrl *This;
5028   This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
5029   long itemFrom;
5030   if(!enif_get_long(env, argv[1], &itemFrom)) Badarg("itemFrom");
5031   long itemTo;
5032   if(!enif_get_long(env, argv[2], &itemTo)) Badarg("itemTo");
5033   if(!This) throw wxe_badarg("This");
5034   This->RefreshItems(itemFrom,itemTo);
5035 
5036 }
5037 
5038 // wxListCtrl::ScrollList
wxListCtrl_ScrollList(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5039 void wxListCtrl_ScrollList(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5040 {
5041   ErlNifEnv *env = Ecmd.env;
5042   ERL_NIF_TERM * argv = Ecmd.args;
5043   wxListCtrl *This;
5044   This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
5045   int dx;
5046   if(!enif_get_int(env, argv[1], &dx)) Badarg("dx"); // int
5047   int dy;
5048   if(!enif_get_int(env, argv[2], &dy)) Badarg("dy"); // int
5049   if(!This) throw wxe_badarg("This");
5050   bool Result = This->ScrollList(dx,dy);
5051   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5052   rt.send(  rt.make_bool(Result));
5053 
5054 }
5055 
5056 // wxListCtrl::SetBackgroundColour
wxListCtrl_SetBackgroundColour(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5057 void wxListCtrl_SetBackgroundColour(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5058 {
5059   ErlNifEnv *env = Ecmd.env;
5060   ERL_NIF_TERM * argv = Ecmd.args;
5061   wxListCtrl *This;
5062   This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
5063   const ERL_NIF_TERM *col_t;
5064   int col_sz;
5065   if(!enif_get_tuple(env, argv[1], &col_sz, &col_t)) Badarg("col");
5066   int colR;
5067   if(!enif_get_int(env, col_t[0], &colR)) Badarg("col");
5068   int colG;
5069   if(!enif_get_int(env, col_t[1], &colG)) Badarg("col");
5070   int colB;
5071   if(!enif_get_int(env, col_t[2], &colB)) Badarg("col");
5072   int colA;
5073   if(!enif_get_int(env, col_t[3], &colA)) Badarg("col");
5074   wxColour col = wxColour(colR,colG,colB,colA);
5075   if(!This) throw wxe_badarg("This");
5076   bool Result = This->SetBackgroundColour(col);
5077   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5078   rt.send(  rt.make_bool(Result));
5079 
5080 }
5081 
5082 // wxListCtrl::SetColumn
wxListCtrl_SetColumn(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5083 void wxListCtrl_SetColumn(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5084 {
5085   ErlNifEnv *env = Ecmd.env;
5086   ERL_NIF_TERM * argv = Ecmd.args;
5087   wxListCtrl *This;
5088   This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
5089   int col;
5090   if(!enif_get_int(env, argv[1], &col)) Badarg("col"); // int
5091   wxListItem *item;
5092   item = (wxListItem *) memenv->getPtr(env, argv[2], "item");
5093   if(!This) throw wxe_badarg("This");
5094   bool Result = This->SetColumn(col,*item);
5095   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5096   rt.send(  rt.make_bool(Result));
5097 
5098 }
5099 
5100 // wxListCtrl::SetColumnWidth
wxListCtrl_SetColumnWidth(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5101 void wxListCtrl_SetColumnWidth(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5102 {
5103   ErlNifEnv *env = Ecmd.env;
5104   ERL_NIF_TERM * argv = Ecmd.args;
5105   wxListCtrl *This;
5106   This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
5107   int col;
5108   if(!enif_get_int(env, argv[1], &col)) Badarg("col"); // int
5109   int width;
5110   if(!enif_get_int(env, argv[2], &width)) Badarg("width"); // int
5111   if(!This) throw wxe_badarg("This");
5112   bool Result = This->SetColumnWidth(col,width);
5113   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5114   rt.send(  rt.make_bool(Result));
5115 
5116 }
5117 
5118 // wxListCtrl::SetImageList
wxListCtrl_SetImageList(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5119 void wxListCtrl_SetImageList(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5120 {
5121   ErlNifEnv *env = Ecmd.env;
5122   ERL_NIF_TERM * argv = Ecmd.args;
5123   wxListCtrl *This;
5124   This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
5125   wxImageList *imageList;
5126   imageList = (wxImageList *) memenv->getPtr(env, argv[1], "imageList");
5127   int which;
5128   if(!enif_get_int(env, argv[2], &which)) Badarg("which"); // int
5129   if(!This) throw wxe_badarg("This");
5130   This->SetImageList(imageList,which);
5131 
5132 }
5133 
5134 // wxListCtrl::SetItem
wxListCtrl_SetItem_1(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5135 void wxListCtrl_SetItem_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5136 {
5137   ErlNifEnv *env = Ecmd.env;
5138   ERL_NIF_TERM * argv = Ecmd.args;
5139   wxListCtrl *This;
5140   This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
5141   wxListItem *info;
5142   info = (wxListItem *) memenv->getPtr(env, argv[1], "info");
5143   if(!This) throw wxe_badarg("This");
5144   bool Result = This->SetItem(*info);
5145   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5146   rt.send(  rt.make_bool(Result));
5147 
5148 }
5149 
5150 // wxListCtrl::SetItem
wxListCtrl_SetItem_4(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5151 void wxListCtrl_SetItem_4(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5152 {
5153   int imageId=-1;
5154   ErlNifEnv *env = Ecmd.env;
5155   ERL_NIF_TERM * argv = Ecmd.args;
5156   wxListCtrl *This;
5157   This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
5158   long index;
5159   if(!enif_get_long(env, argv[1], &index)) Badarg("index");
5160   int column;
5161   if(!enif_get_int(env, argv[2], &column)) Badarg("column"); // int
5162   ErlNifBinary label_bin;
5163   wxString label;
5164   if(!enif_inspect_binary(env, argv[3], &label_bin)) Badarg("label");
5165   label = wxString(label_bin.data, wxConvUTF8, label_bin.size);
5166   ERL_NIF_TERM lstHead, lstTail;
5167   lstTail = argv[4];
5168   if(!enif_is_list(env, lstTail)) Badarg("Options");
5169   const ERL_NIF_TERM *tpl;
5170   int tpl_sz;
5171   while(!enif_is_empty_list(env, lstTail)) {
5172     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
5173     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
5174     if(enif_is_identical(tpl[0], enif_make_atom(env, "imageId"))) {
5175   if(!enif_get_int(env, tpl[1], &imageId)) Badarg("imageId"); // int
5176     } else        Badarg("Options");
5177   };
5178   if(!This) throw wxe_badarg("This");
5179   bool Result = This->SetItem(index,column,label,imageId);
5180   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5181   rt.send(  rt.make_bool(Result));
5182 
5183 }
5184 
5185 // wxListCtrl::SetItemBackgroundColour
wxListCtrl_SetItemBackgroundColour(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5186 void wxListCtrl_SetItemBackgroundColour(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5187 {
5188   ErlNifEnv *env = Ecmd.env;
5189   ERL_NIF_TERM * argv = Ecmd.args;
5190   wxListCtrl *This;
5191   This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
5192   long item;
5193   if(!enif_get_long(env, argv[1], &item)) Badarg("item");
5194   const ERL_NIF_TERM *col_t;
5195   int col_sz;
5196   if(!enif_get_tuple(env, argv[2], &col_sz, &col_t)) Badarg("col");
5197   int colR;
5198   if(!enif_get_int(env, col_t[0], &colR)) Badarg("col");
5199   int colG;
5200   if(!enif_get_int(env, col_t[1], &colG)) Badarg("col");
5201   int colB;
5202   if(!enif_get_int(env, col_t[2], &colB)) Badarg("col");
5203   int colA;
5204   if(!enif_get_int(env, col_t[3], &colA)) Badarg("col");
5205   wxColour col = wxColour(colR,colG,colB,colA);
5206   if(!This) throw wxe_badarg("This");
5207   This->SetItemBackgroundColour(item,col);
5208 
5209 }
5210 
5211 // wxListCtrl::SetItemCount
wxListCtrl_SetItemCount(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5212 void wxListCtrl_SetItemCount(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5213 {
5214   ErlNifEnv *env = Ecmd.env;
5215   ERL_NIF_TERM * argv = Ecmd.args;
5216   wxListCtrl *This;
5217   This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
5218   long count;
5219   if(!enif_get_long(env, argv[1], &count)) Badarg("count");
5220   if(!This) throw wxe_badarg("This");
5221   This->SetItemCount(count);
5222 
5223 }
5224 
5225 // wxListCtrl::SetItemData
wxListCtrl_SetItemData(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5226 void wxListCtrl_SetItemData(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5227 {
5228   ErlNifEnv *env = Ecmd.env;
5229   ERL_NIF_TERM * argv = Ecmd.args;
5230   wxListCtrl *This;
5231   This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
5232   long item;
5233   if(!enif_get_long(env, argv[1], &item)) Badarg("item");
5234   long data;
5235   if(!enif_get_long(env, argv[2], &data)) Badarg("data");
5236   if(!This) throw wxe_badarg("This");
5237   bool Result = This->SetItemData(item,data);
5238   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5239   rt.send(  rt.make_bool(Result));
5240 
5241 }
5242 
5243 // wxListCtrl::SetItemFont
wxListCtrl_SetItemFont(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5244 void wxListCtrl_SetItemFont(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5245 {
5246   ErlNifEnv *env = Ecmd.env;
5247   ERL_NIF_TERM * argv = Ecmd.args;
5248   wxListCtrl *This;
5249   This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
5250   long item;
5251   if(!enif_get_long(env, argv[1], &item)) Badarg("item");
5252   wxFont *font;
5253   font = (wxFont *) memenv->getPtr(env, argv[2], "font");
5254   if(!This) throw wxe_badarg("This");
5255   This->SetItemFont(item,*font);
5256 
5257 }
5258 
5259 // wxListCtrl::SetItemImage
wxListCtrl_SetItemImage(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5260 void wxListCtrl_SetItemImage(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5261 {
5262   int selImage=-1;
5263   ErlNifEnv *env = Ecmd.env;
5264   ERL_NIF_TERM * argv = Ecmd.args;
5265   wxListCtrl *This;
5266   This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
5267   long item;
5268   if(!enif_get_long(env, argv[1], &item)) Badarg("item");
5269   int image;
5270   if(!enif_get_int(env, argv[2], &image)) Badarg("image"); // int
5271   ERL_NIF_TERM lstHead, lstTail;
5272   lstTail = argv[3];
5273   if(!enif_is_list(env, lstTail)) Badarg("Options");
5274   const ERL_NIF_TERM *tpl;
5275   int tpl_sz;
5276   while(!enif_is_empty_list(env, lstTail)) {
5277     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
5278     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
5279     if(enif_is_identical(tpl[0], enif_make_atom(env, "selImage"))) {
5280   if(!enif_get_int(env, tpl[1], &selImage)) Badarg("selImage"); // int
5281     } else        Badarg("Options");
5282   };
5283   if(!This) throw wxe_badarg("This");
5284   bool Result = This->SetItemImage(item,image,selImage);
5285   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5286   rt.send(  rt.make_bool(Result));
5287 
5288 }
5289 
5290 // wxListCtrl::SetItemColumnImage
wxListCtrl_SetItemColumnImage(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5291 void wxListCtrl_SetItemColumnImage(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5292 {
5293   ErlNifEnv *env = Ecmd.env;
5294   ERL_NIF_TERM * argv = Ecmd.args;
5295   wxListCtrl *This;
5296   This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
5297   long item;
5298   if(!enif_get_long(env, argv[1], &item)) Badarg("item");
5299   long column;
5300   if(!enif_get_long(env, argv[2], &column)) Badarg("column");
5301   int image;
5302   if(!enif_get_int(env, argv[3], &image)) Badarg("image"); // int
5303   if(!This) throw wxe_badarg("This");
5304   bool Result = This->SetItemColumnImage(item,column,image);
5305   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5306   rt.send(  rt.make_bool(Result));
5307 
5308 }
5309 
5310 // wxListCtrl::SetItemPosition
wxListCtrl_SetItemPosition(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5311 void wxListCtrl_SetItemPosition(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5312 {
5313   ErlNifEnv *env = Ecmd.env;
5314   ERL_NIF_TERM * argv = Ecmd.args;
5315   wxListCtrl *This;
5316   This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
5317   long item;
5318   if(!enif_get_long(env, argv[1], &item)) Badarg("item");
5319   const ERL_NIF_TERM *pos_t;
5320   int pos_sz;
5321   if(!enif_get_tuple(env, argv[2], &pos_sz, &pos_t)) Badarg("pos");
5322   int posX;
5323   if(!enif_get_int(env, pos_t[0], &posX)) Badarg("pos");
5324   int posY;
5325   if(!enif_get_int(env, pos_t[1], &posY)) Badarg("pos");
5326   wxPoint pos = wxPoint(posX,posY);
5327   if(!This) throw wxe_badarg("This");
5328   bool Result = This->SetItemPosition(item,pos);
5329   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5330   rt.send(  rt.make_bool(Result));
5331 
5332 }
5333 
5334 // wxListCtrl::SetItemState
wxListCtrl_SetItemState(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5335 void wxListCtrl_SetItemState(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5336 {
5337   ErlNifEnv *env = Ecmd.env;
5338   ERL_NIF_TERM * argv = Ecmd.args;
5339   wxListCtrl *This;
5340   This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
5341   long item;
5342   if(!enif_get_long(env, argv[1], &item)) Badarg("item");
5343   long state;
5344   if(!enif_get_long(env, argv[2], &state)) Badarg("state");
5345   long stateMask;
5346   if(!enif_get_long(env, argv[3], &stateMask)) Badarg("stateMask");
5347   if(!This) throw wxe_badarg("This");
5348   bool Result = This->SetItemState(item,state,stateMask);
5349   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5350   rt.send(  rt.make_bool(Result));
5351 
5352 }
5353 
5354 // wxListCtrl::SetItemText
wxListCtrl_SetItemText(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5355 void wxListCtrl_SetItemText(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5356 {
5357   ErlNifEnv *env = Ecmd.env;
5358   ERL_NIF_TERM * argv = Ecmd.args;
5359   wxListCtrl *This;
5360   This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
5361   long item;
5362   if(!enif_get_long(env, argv[1], &item)) Badarg("item");
5363   ErlNifBinary text_bin;
5364   wxString text;
5365   if(!enif_inspect_binary(env, argv[2], &text_bin)) Badarg("text");
5366   text = wxString(text_bin.data, wxConvUTF8, text_bin.size);
5367   if(!This) throw wxe_badarg("This");
5368   This->SetItemText(item,text);
5369 
5370 }
5371 
5372 // wxListCtrl::SetItemTextColour
wxListCtrl_SetItemTextColour(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5373 void wxListCtrl_SetItemTextColour(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5374 {
5375   ErlNifEnv *env = Ecmd.env;
5376   ERL_NIF_TERM * argv = Ecmd.args;
5377   wxListCtrl *This;
5378   This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
5379   long item;
5380   if(!enif_get_long(env, argv[1], &item)) Badarg("item");
5381   const ERL_NIF_TERM *col_t;
5382   int col_sz;
5383   if(!enif_get_tuple(env, argv[2], &col_sz, &col_t)) Badarg("col");
5384   int colR;
5385   if(!enif_get_int(env, col_t[0], &colR)) Badarg("col");
5386   int colG;
5387   if(!enif_get_int(env, col_t[1], &colG)) Badarg("col");
5388   int colB;
5389   if(!enif_get_int(env, col_t[2], &colB)) Badarg("col");
5390   int colA;
5391   if(!enif_get_int(env, col_t[3], &colA)) Badarg("col");
5392   wxColour col = wxColour(colR,colG,colB,colA);
5393   if(!This) throw wxe_badarg("This");
5394   This->SetItemTextColour(item,col);
5395 
5396 }
5397 
5398 // wxListCtrl::SetSingleStyle
wxListCtrl_SetSingleStyle(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5399 void wxListCtrl_SetSingleStyle(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5400 {
5401   bool add=true;
5402   ErlNifEnv *env = Ecmd.env;
5403   ERL_NIF_TERM * argv = Ecmd.args;
5404   wxListCtrl *This;
5405   This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
5406   long style;
5407   if(!enif_get_long(env, argv[1], &style)) Badarg("style");
5408   ERL_NIF_TERM lstHead, lstTail;
5409   lstTail = argv[2];
5410   if(!enif_is_list(env, lstTail)) Badarg("Options");
5411   const ERL_NIF_TERM *tpl;
5412   int tpl_sz;
5413   while(!enif_is_empty_list(env, lstTail)) {
5414     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
5415     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
5416     if(enif_is_identical(tpl[0], enif_make_atom(env, "add"))) {
5417   add = enif_is_identical(tpl[1], WXE_ATOM_true);
5418     } else        Badarg("Options");
5419   };
5420   if(!This) throw wxe_badarg("This");
5421   This->SetSingleStyle(style,add);
5422 
5423 }
5424 
5425 // wxListCtrl::SetTextColour
wxListCtrl_SetTextColour(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5426 void wxListCtrl_SetTextColour(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5427 {
5428   ErlNifEnv *env = Ecmd.env;
5429   ERL_NIF_TERM * argv = Ecmd.args;
5430   wxListCtrl *This;
5431   This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
5432   const ERL_NIF_TERM *col_t;
5433   int col_sz;
5434   if(!enif_get_tuple(env, argv[1], &col_sz, &col_t)) Badarg("col");
5435   int colR;
5436   if(!enif_get_int(env, col_t[0], &colR)) Badarg("col");
5437   int colG;
5438   if(!enif_get_int(env, col_t[1], &colG)) Badarg("col");
5439   int colB;
5440   if(!enif_get_int(env, col_t[2], &colB)) Badarg("col");
5441   int colA;
5442   if(!enif_get_int(env, col_t[3], &colA)) Badarg("col");
5443   wxColour col = wxColour(colR,colG,colB,colA);
5444   if(!This) throw wxe_badarg("This");
5445   This->SetTextColour(col);
5446 
5447 }
5448 
5449 // wxListCtrl::SetWindowStyleFlag
wxListCtrl_SetWindowStyleFlag(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5450 void wxListCtrl_SetWindowStyleFlag(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5451 {
5452   ErlNifEnv *env = Ecmd.env;
5453   ERL_NIF_TERM * argv = Ecmd.args;
5454   wxListCtrl *This;
5455   This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
5456   long style;
5457   if(!enif_get_long(env, argv[1], &style)) Badarg("style");
5458   if(!This) throw wxe_badarg("This");
5459   This->SetWindowStyleFlag(style);
5460 
5461 }
5462 
5463 
wxListCtrl_SortItems(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5464 void wxListCtrl_SortItems(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5465 {
5466   ErlNifEnv *env = Ecmd.env;
5467   ERL_NIF_TERM * argv = Ecmd.args;
5468   EwxListCtrl *This;
5469   This = (EwxListCtrl *) memenv->getPtr(env, argv[0], "This");
5470   // wxListCtrlCompare *fn;
5471   // fn = (wxListCtrlCompare *) memenv->getPtr(env, argv[1]);
5472   callbackInfo cb = callbackInfo();
5473   cb.me_ref = memenv->me_ref;
5474   if(!enif_get_int(env, argv[1], &cb.callbackID)) Badarg("CallBack");
5475   // long data;
5476   // if(!enif_get_long(env, argv[2], &data)) Badarg("data");
5477   if(!This) throw wxe_badarg(0);
5478   bool Result = This->SortItems(wxEListCtrlCompare, (wxeIntPtr) &cb);
5479   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5480   rt.send(  rt.make_bool(Result));
5481   wxeReturn rt2 = wxeReturn(memenv, memenv->owner, false);
5482   rt2.send( enif_make_tuple2(rt2.env,
5483 			     rt2.make_atom("wx_delete_cb"),
5484 			     rt2.make_int(cb.callbackID)));
5485 }
5486 
5487 // wxListEvent::GetCacheFrom
wxListEvent_GetCacheFrom(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5488 void wxListEvent_GetCacheFrom(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5489 {
5490   ErlNifEnv *env = Ecmd.env;
5491   ERL_NIF_TERM * argv = Ecmd.args;
5492   wxListEvent *This;
5493   This = (wxListEvent *) memenv->getPtr(env, argv[0], "This");
5494   if(!This) throw wxe_badarg("This");
5495   long Result = This->GetCacheFrom();
5496   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5497   rt.send(  rt.make_int(Result));
5498 
5499 }
5500 
5501 // wxListEvent::GetCacheTo
wxListEvent_GetCacheTo(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5502 void wxListEvent_GetCacheTo(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5503 {
5504   ErlNifEnv *env = Ecmd.env;
5505   ERL_NIF_TERM * argv = Ecmd.args;
5506   wxListEvent *This;
5507   This = (wxListEvent *) memenv->getPtr(env, argv[0], "This");
5508   if(!This) throw wxe_badarg("This");
5509   long Result = This->GetCacheTo();
5510   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5511   rt.send(  rt.make_int(Result));
5512 
5513 }
5514 
5515 // wxListEvent::GetKeyCode
wxListEvent_GetKeyCode(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5516 void wxListEvent_GetKeyCode(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5517 {
5518   ErlNifEnv *env = Ecmd.env;
5519   ERL_NIF_TERM * argv = Ecmd.args;
5520   wxListEvent *This;
5521   This = (wxListEvent *) memenv->getPtr(env, argv[0], "This");
5522   if(!This) throw wxe_badarg("This");
5523   int Result = This->GetKeyCode();
5524   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5525   rt.send(  rt.make_int(Result));
5526 
5527 }
5528 
5529 // wxListEvent::GetIndex
wxListEvent_GetIndex(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5530 void wxListEvent_GetIndex(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5531 {
5532   ErlNifEnv *env = Ecmd.env;
5533   ERL_NIF_TERM * argv = Ecmd.args;
5534   wxListEvent *This;
5535   This = (wxListEvent *) memenv->getPtr(env, argv[0], "This");
5536   if(!This) throw wxe_badarg("This");
5537   long Result = This->GetIndex();
5538   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5539   rt.send(  rt.make_int(Result));
5540 
5541 }
5542 
5543 // wxListEvent::GetColumn
wxListEvent_GetColumn(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5544 void wxListEvent_GetColumn(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5545 {
5546   ErlNifEnv *env = Ecmd.env;
5547   ERL_NIF_TERM * argv = Ecmd.args;
5548   wxListEvent *This;
5549   This = (wxListEvent *) memenv->getPtr(env, argv[0], "This");
5550   if(!This) throw wxe_badarg("This");
5551   int Result = This->GetColumn();
5552   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5553   rt.send(  rt.make_int(Result));
5554 
5555 }
5556 
5557 // wxListEvent::GetPoint
wxListEvent_GetPoint(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5558 void wxListEvent_GetPoint(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5559 {
5560   ErlNifEnv *env = Ecmd.env;
5561   ERL_NIF_TERM * argv = Ecmd.args;
5562   wxListEvent *This;
5563   This = (wxListEvent *) memenv->getPtr(env, argv[0], "This");
5564   if(!This) throw wxe_badarg("This");
5565   wxPoint Result = This->GetPoint();
5566   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5567   rt.send(  rt.make(Result));
5568 
5569 }
5570 
5571 // wxListEvent::GetLabel
wxListEvent_GetLabel(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5572 void wxListEvent_GetLabel(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5573 {
5574   ErlNifEnv *env = Ecmd.env;
5575   ERL_NIF_TERM * argv = Ecmd.args;
5576   wxListEvent *This;
5577   This = (wxListEvent *) memenv->getPtr(env, argv[0], "This");
5578   if(!This) throw wxe_badarg("This");
5579   const wxString Result = This->GetLabel();
5580   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5581   rt.send(  rt.make(Result));
5582 
5583 }
5584 
5585 // wxListEvent::GetText
wxListEvent_GetText(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5586 void wxListEvent_GetText(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5587 {
5588   ErlNifEnv *env = Ecmd.env;
5589   ERL_NIF_TERM * argv = Ecmd.args;
5590   wxListEvent *This;
5591   This = (wxListEvent *) memenv->getPtr(env, argv[0], "This");
5592   if(!This) throw wxe_badarg("This");
5593   const wxString Result = This->GetText();
5594   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5595   rt.send(  rt.make(Result));
5596 
5597 }
5598 
5599 // wxListEvent::GetImage
wxListEvent_GetImage(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5600 void wxListEvent_GetImage(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5601 {
5602   ErlNifEnv *env = Ecmd.env;
5603   ERL_NIF_TERM * argv = Ecmd.args;
5604   wxListEvent *This;
5605   This = (wxListEvent *) memenv->getPtr(env, argv[0], "This");
5606   if(!This) throw wxe_badarg("This");
5607   int Result = This->GetImage();
5608   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5609   rt.send(  rt.make_int(Result));
5610 
5611 }
5612 
5613 // wxListEvent::GetData
wxListEvent_GetData(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5614 void wxListEvent_GetData(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5615 {
5616   ErlNifEnv *env = Ecmd.env;
5617   ERL_NIF_TERM * argv = Ecmd.args;
5618   wxListEvent *This;
5619   This = (wxListEvent *) memenv->getPtr(env, argv[0], "This");
5620   if(!This) throw wxe_badarg("This");
5621   wxUIntPtr Result = This->GetData();
5622   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5623   rt.send(  rt.make_int(Result));
5624 
5625 }
5626 
5627 // wxListEvent::GetMask
wxListEvent_GetMask(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5628 void wxListEvent_GetMask(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5629 {
5630   ErlNifEnv *env = Ecmd.env;
5631   ERL_NIF_TERM * argv = Ecmd.args;
5632   wxListEvent *This;
5633   This = (wxListEvent *) memenv->getPtr(env, argv[0], "This");
5634   if(!This) throw wxe_badarg("This");
5635   long Result = This->GetMask();
5636   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5637   rt.send(  rt.make_int(Result));
5638 
5639 }
5640 
5641 // wxListEvent::GetItem
wxListEvent_GetItem(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5642 void wxListEvent_GetItem(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5643 {
5644   ErlNifEnv *env = Ecmd.env;
5645   ERL_NIF_TERM * argv = Ecmd.args;
5646   wxListEvent *This;
5647   This = (wxListEvent *) memenv->getPtr(env, argv[0], "This");
5648   if(!This) throw wxe_badarg("This");
5649   const wxListItem * Result = &This->GetItem();
5650   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5651   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxListItem"));
5652 
5653 }
5654 
5655 // wxListEvent::IsEditCancelled
wxListEvent_IsEditCancelled(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5656 void wxListEvent_IsEditCancelled(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5657 {
5658   ErlNifEnv *env = Ecmd.env;
5659   ERL_NIF_TERM * argv = Ecmd.args;
5660   wxListEvent *This;
5661   This = (wxListEvent *) memenv->getPtr(env, argv[0], "This");
5662   if(!This) throw wxe_badarg("This");
5663   bool Result = This->IsEditCancelled();
5664   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5665   rt.send(  rt.make_bool(Result));
5666 
5667 }
5668 
5669 // wxListItem::wxListItem
wxListItem_new_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5670 void wxListItem_new_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5671 {
5672   wxListItem * Result = new EwxListItem();
5673   app->newPtr((void *) Result, 1, memenv);
5674   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5675   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxListItem"));
5676 
5677 }
5678 
5679 // wxListItem::wxListItem
wxListItem_new_1(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5680 void wxListItem_new_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5681 {
5682   ErlNifEnv *env = Ecmd.env;
5683   ERL_NIF_TERM * argv = Ecmd.args;
5684   wxListItem *item;
5685   item = (wxListItem *) memenv->getPtr(env, argv[0], "item");
5686   wxListItem * Result = new EwxListItem(*item);
5687   app->newPtr((void *) Result, 1, memenv);
5688   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5689   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxListItem"));
5690 
5691 }
5692 
5693 // wxListItem::Clear
wxListItem_Clear(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5694 void wxListItem_Clear(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5695 {
5696   ErlNifEnv *env = Ecmd.env;
5697   ERL_NIF_TERM * argv = Ecmd.args;
5698   wxListItem *This;
5699   This = (wxListItem *) memenv->getPtr(env, argv[0], "This");
5700   if(!This) throw wxe_badarg("This");
5701   This->Clear();
5702 
5703 }
5704 
5705 // wxListItem::GetAlign
wxListItem_GetAlign(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5706 void wxListItem_GetAlign(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5707 {
5708   ErlNifEnv *env = Ecmd.env;
5709   ERL_NIF_TERM * argv = Ecmd.args;
5710   wxListItem *This;
5711   This = (wxListItem *) memenv->getPtr(env, argv[0], "This");
5712   if(!This) throw wxe_badarg("This");
5713   int Result = This->GetAlign();
5714   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5715   rt.send(  rt.make_int(Result));
5716 
5717 }
5718 
5719 // wxListItem::GetBackgroundColour
wxListItem_GetBackgroundColour(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5720 void wxListItem_GetBackgroundColour(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5721 {
5722   ErlNifEnv *env = Ecmd.env;
5723   ERL_NIF_TERM * argv = Ecmd.args;
5724   wxListItem *This;
5725   This = (wxListItem *) memenv->getPtr(env, argv[0], "This");
5726   if(!This) throw wxe_badarg("This");
5727   wxColour Result = This->GetBackgroundColour();
5728   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5729   rt.send(  rt.make(Result));
5730 
5731 }
5732 
5733 // wxListItem::GetColumn
wxListItem_GetColumn(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5734 void wxListItem_GetColumn(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5735 {
5736   ErlNifEnv *env = Ecmd.env;
5737   ERL_NIF_TERM * argv = Ecmd.args;
5738   wxListItem *This;
5739   This = (wxListItem *) memenv->getPtr(env, argv[0], "This");
5740   if(!This) throw wxe_badarg("This");
5741   int Result = This->GetColumn();
5742   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5743   rt.send(  rt.make_int(Result));
5744 
5745 }
5746 
5747 // wxListItem::GetFont
wxListItem_GetFont(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5748 void wxListItem_GetFont(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5749 {
5750   ErlNifEnv *env = Ecmd.env;
5751   ERL_NIF_TERM * argv = Ecmd.args;
5752   wxListItem *This;
5753   This = (wxListItem *) memenv->getPtr(env, argv[0], "This");
5754   if(!This) throw wxe_badarg("This");
5755   wxFont * Result = new wxFont(This->GetFont()); app->newPtr((void *) Result,3, memenv);;
5756   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5757   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxFont"));
5758 
5759 }
5760 
5761 // wxListItem::GetId
wxListItem_GetId(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5762 void wxListItem_GetId(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5763 {
5764   ErlNifEnv *env = Ecmd.env;
5765   ERL_NIF_TERM * argv = Ecmd.args;
5766   wxListItem *This;
5767   This = (wxListItem *) memenv->getPtr(env, argv[0], "This");
5768   if(!This) throw wxe_badarg("This");
5769   long Result = This->GetId();
5770   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5771   rt.send(  rt.make_int(Result));
5772 
5773 }
5774 
5775 // wxListItem::GetImage
wxListItem_GetImage(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5776 void wxListItem_GetImage(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5777 {
5778   ErlNifEnv *env = Ecmd.env;
5779   ERL_NIF_TERM * argv = Ecmd.args;
5780   wxListItem *This;
5781   This = (wxListItem *) memenv->getPtr(env, argv[0], "This");
5782   if(!This) throw wxe_badarg("This");
5783   int Result = This->GetImage();
5784   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5785   rt.send(  rt.make_int(Result));
5786 
5787 }
5788 
5789 // wxListItem::GetMask
wxListItem_GetMask(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5790 void wxListItem_GetMask(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5791 {
5792   ErlNifEnv *env = Ecmd.env;
5793   ERL_NIF_TERM * argv = Ecmd.args;
5794   wxListItem *This;
5795   This = (wxListItem *) memenv->getPtr(env, argv[0], "This");
5796   if(!This) throw wxe_badarg("This");
5797   long Result = This->GetMask();
5798   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5799   rt.send(  rt.make_int(Result));
5800 
5801 }
5802 
5803 // wxListItem::GetState
wxListItem_GetState(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5804 void wxListItem_GetState(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5805 {
5806   ErlNifEnv *env = Ecmd.env;
5807   ERL_NIF_TERM * argv = Ecmd.args;
5808   wxListItem *This;
5809   This = (wxListItem *) memenv->getPtr(env, argv[0], "This");
5810   if(!This) throw wxe_badarg("This");
5811   long Result = This->GetState();
5812   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5813   rt.send(  rt.make_int(Result));
5814 
5815 }
5816 
5817 // wxListItem::GetText
wxListItem_GetText(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5818 void wxListItem_GetText(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5819 {
5820   ErlNifEnv *env = Ecmd.env;
5821   ERL_NIF_TERM * argv = Ecmd.args;
5822   wxListItem *This;
5823   This = (wxListItem *) memenv->getPtr(env, argv[0], "This");
5824   if(!This) throw wxe_badarg("This");
5825   const wxString Result = This->GetText();
5826   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5827   rt.send(  rt.make(Result));
5828 
5829 }
5830 
5831 // wxListItem::GetTextColour
wxListItem_GetTextColour(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5832 void wxListItem_GetTextColour(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5833 {
5834   ErlNifEnv *env = Ecmd.env;
5835   ERL_NIF_TERM * argv = Ecmd.args;
5836   wxListItem *This;
5837   This = (wxListItem *) memenv->getPtr(env, argv[0], "This");
5838   if(!This) throw wxe_badarg("This");
5839   wxColour Result = This->GetTextColour();
5840   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5841   rt.send(  rt.make(Result));
5842 
5843 }
5844 
5845 // wxListItem::GetWidth
wxListItem_GetWidth(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5846 void wxListItem_GetWidth(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5847 {
5848   ErlNifEnv *env = Ecmd.env;
5849   ERL_NIF_TERM * argv = Ecmd.args;
5850   wxListItem *This;
5851   This = (wxListItem *) memenv->getPtr(env, argv[0], "This");
5852   if(!This) throw wxe_badarg("This");
5853   int Result = This->GetWidth();
5854   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5855   rt.send(  rt.make_int(Result));
5856 
5857 }
5858 
5859 // wxListItem::SetAlign
wxListItem_SetAlign(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5860 void wxListItem_SetAlign(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5861 {
5862   ErlNifEnv *env = Ecmd.env;
5863   ERL_NIF_TERM * argv = Ecmd.args;
5864   wxListItem *This;
5865   This = (wxListItem *) memenv->getPtr(env, argv[0], "This");
5866   wxListColumnFormat align;
5867   if(!enif_get_int(env, argv[1], (int *) &align)) Badarg("align"); // enum
5868   if(!This) throw wxe_badarg("This");
5869   This->SetAlign(align);
5870 
5871 }
5872 
5873 // wxListItem::SetBackgroundColour
wxListItem_SetBackgroundColour(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5874 void wxListItem_SetBackgroundColour(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5875 {
5876   ErlNifEnv *env = Ecmd.env;
5877   ERL_NIF_TERM * argv = Ecmd.args;
5878   wxListItem *This;
5879   This = (wxListItem *) memenv->getPtr(env, argv[0], "This");
5880   const ERL_NIF_TERM *colBack_t;
5881   int colBack_sz;
5882   if(!enif_get_tuple(env, argv[1], &colBack_sz, &colBack_t)) Badarg("colBack");
5883   int colBackR;
5884   if(!enif_get_int(env, colBack_t[0], &colBackR)) Badarg("colBack");
5885   int colBackG;
5886   if(!enif_get_int(env, colBack_t[1], &colBackG)) Badarg("colBack");
5887   int colBackB;
5888   if(!enif_get_int(env, colBack_t[2], &colBackB)) Badarg("colBack");
5889   int colBackA;
5890   if(!enif_get_int(env, colBack_t[3], &colBackA)) Badarg("colBack");
5891   wxColour colBack = wxColour(colBackR,colBackG,colBackB,colBackA);
5892   if(!This) throw wxe_badarg("This");
5893   This->SetBackgroundColour(colBack);
5894 
5895 }
5896 
5897 // wxListItem::SetColumn
wxListItem_SetColumn(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5898 void wxListItem_SetColumn(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5899 {
5900   ErlNifEnv *env = Ecmd.env;
5901   ERL_NIF_TERM * argv = Ecmd.args;
5902   wxListItem *This;
5903   This = (wxListItem *) memenv->getPtr(env, argv[0], "This");
5904   int col;
5905   if(!enif_get_int(env, argv[1], &col)) Badarg("col"); // int
5906   if(!This) throw wxe_badarg("This");
5907   This->SetColumn(col);
5908 
5909 }
5910 
5911 // wxListItem::SetFont
wxListItem_SetFont(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5912 void wxListItem_SetFont(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5913 {
5914   ErlNifEnv *env = Ecmd.env;
5915   ERL_NIF_TERM * argv = Ecmd.args;
5916   wxListItem *This;
5917   This = (wxListItem *) memenv->getPtr(env, argv[0], "This");
5918   wxFont *font;
5919   font = (wxFont *) memenv->getPtr(env, argv[1], "font");
5920   if(!This) throw wxe_badarg("This");
5921   This->SetFont(*font);
5922 
5923 }
5924 
5925 // wxListItem::SetId
wxListItem_SetId(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5926 void wxListItem_SetId(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5927 {
5928   ErlNifEnv *env = Ecmd.env;
5929   ERL_NIF_TERM * argv = Ecmd.args;
5930   wxListItem *This;
5931   This = (wxListItem *) memenv->getPtr(env, argv[0], "This");
5932   long id;
5933   if(!enif_get_long(env, argv[1], &id)) Badarg("id");
5934   if(!This) throw wxe_badarg("This");
5935   This->SetId(id);
5936 
5937 }
5938 
5939 // wxListItem::SetImage
wxListItem_SetImage(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5940 void wxListItem_SetImage(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5941 {
5942   ErlNifEnv *env = Ecmd.env;
5943   ERL_NIF_TERM * argv = Ecmd.args;
5944   wxListItem *This;
5945   This = (wxListItem *) memenv->getPtr(env, argv[0], "This");
5946   int image;
5947   if(!enif_get_int(env, argv[1], &image)) Badarg("image"); // int
5948   if(!This) throw wxe_badarg("This");
5949   This->SetImage(image);
5950 
5951 }
5952 
5953 // wxListItem::SetMask
wxListItem_SetMask(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5954 void wxListItem_SetMask(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5955 {
5956   ErlNifEnv *env = Ecmd.env;
5957   ERL_NIF_TERM * argv = Ecmd.args;
5958   wxListItem *This;
5959   This = (wxListItem *) memenv->getPtr(env, argv[0], "This");
5960   long mask;
5961   if(!enif_get_long(env, argv[1], &mask)) Badarg("mask");
5962   if(!This) throw wxe_badarg("This");
5963   This->SetMask(mask);
5964 
5965 }
5966 
5967 // wxListItem::SetState
wxListItem_SetState(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5968 void wxListItem_SetState(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5969 {
5970   ErlNifEnv *env = Ecmd.env;
5971   ERL_NIF_TERM * argv = Ecmd.args;
5972   wxListItem *This;
5973   This = (wxListItem *) memenv->getPtr(env, argv[0], "This");
5974   long state;
5975   if(!enif_get_long(env, argv[1], &state)) Badarg("state");
5976   if(!This) throw wxe_badarg("This");
5977   This->SetState(state);
5978 
5979 }
5980 
5981 // wxListItem::SetStateMask
wxListItem_SetStateMask(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5982 void wxListItem_SetStateMask(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5983 {
5984   ErlNifEnv *env = Ecmd.env;
5985   ERL_NIF_TERM * argv = Ecmd.args;
5986   wxListItem *This;
5987   This = (wxListItem *) memenv->getPtr(env, argv[0], "This");
5988   long stateMask;
5989   if(!enif_get_long(env, argv[1], &stateMask)) Badarg("stateMask");
5990   if(!This) throw wxe_badarg("This");
5991   This->SetStateMask(stateMask);
5992 
5993 }
5994 
5995 // wxListItem::SetText
wxListItem_SetText(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5996 void wxListItem_SetText(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5997 {
5998   ErlNifEnv *env = Ecmd.env;
5999   ERL_NIF_TERM * argv = Ecmd.args;
6000   wxListItem *This;
6001   This = (wxListItem *) memenv->getPtr(env, argv[0], "This");
6002   ErlNifBinary text_bin;
6003   wxString text;
6004   if(!enif_inspect_binary(env, argv[1], &text_bin)) Badarg("text");
6005   text = wxString(text_bin.data, wxConvUTF8, text_bin.size);
6006   if(!This) throw wxe_badarg("This");
6007   This->SetText(text);
6008 
6009 }
6010 
6011 // wxListItem::SetTextColour
wxListItem_SetTextColour(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6012 void wxListItem_SetTextColour(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6013 {
6014   ErlNifEnv *env = Ecmd.env;
6015   ERL_NIF_TERM * argv = Ecmd.args;
6016   wxListItem *This;
6017   This = (wxListItem *) memenv->getPtr(env, argv[0], "This");
6018   const ERL_NIF_TERM *colText_t;
6019   int colText_sz;
6020   if(!enif_get_tuple(env, argv[1], &colText_sz, &colText_t)) Badarg("colText");
6021   int colTextR;
6022   if(!enif_get_int(env, colText_t[0], &colTextR)) Badarg("colText");
6023   int colTextG;
6024   if(!enif_get_int(env, colText_t[1], &colTextG)) Badarg("colText");
6025   int colTextB;
6026   if(!enif_get_int(env, colText_t[2], &colTextB)) Badarg("colText");
6027   int colTextA;
6028   if(!enif_get_int(env, colText_t[3], &colTextA)) Badarg("colText");
6029   wxColour colText = wxColour(colTextR,colTextG,colTextB,colTextA);
6030   if(!This) throw wxe_badarg("This");
6031   This->SetTextColour(colText);
6032 
6033 }
6034 
6035 // wxListItem::SetWidth
wxListItem_SetWidth(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6036 void wxListItem_SetWidth(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6037 {
6038   ErlNifEnv *env = Ecmd.env;
6039   ERL_NIF_TERM * argv = Ecmd.args;
6040   wxListItem *This;
6041   This = (wxListItem *) memenv->getPtr(env, argv[0], "This");
6042   int width;
6043   if(!enif_get_int(env, argv[1], &width)) Badarg("width"); // int
6044   if(!This) throw wxe_badarg("This");
6045   This->SetWidth(width);
6046 
6047 }
6048 
6049 // wxListItemAttr::wxListItemAttr
wxListItemAttr_new_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6050 void wxListItemAttr_new_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6051 {
6052   wxListItemAttr * Result = new wxListItemAttr();
6053   app->newPtr((void *) Result, 102, memenv);
6054   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6055   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxListItemAttr"));
6056 
6057 }
6058 
6059 // wxListItemAttr::wxListItemAttr
wxListItemAttr_new_3(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6060 void wxListItemAttr_new_3(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6061 {
6062   ErlNifEnv *env = Ecmd.env;
6063   ERL_NIF_TERM * argv = Ecmd.args;
6064   const ERL_NIF_TERM *colText_t;
6065   int colText_sz;
6066   if(!enif_get_tuple(env, argv[0], &colText_sz, &colText_t)) Badarg("colText");
6067   int colTextR;
6068   if(!enif_get_int(env, colText_t[0], &colTextR)) Badarg("colText");
6069   int colTextG;
6070   if(!enif_get_int(env, colText_t[1], &colTextG)) Badarg("colText");
6071   int colTextB;
6072   if(!enif_get_int(env, colText_t[2], &colTextB)) Badarg("colText");
6073   int colTextA;
6074   if(!enif_get_int(env, colText_t[3], &colTextA)) Badarg("colText");
6075   wxColour colText = wxColour(colTextR,colTextG,colTextB,colTextA);
6076   const ERL_NIF_TERM *colBack_t;
6077   int colBack_sz;
6078   if(!enif_get_tuple(env, argv[1], &colBack_sz, &colBack_t)) Badarg("colBack");
6079   int colBackR;
6080   if(!enif_get_int(env, colBack_t[0], &colBackR)) Badarg("colBack");
6081   int colBackG;
6082   if(!enif_get_int(env, colBack_t[1], &colBackG)) Badarg("colBack");
6083   int colBackB;
6084   if(!enif_get_int(env, colBack_t[2], &colBackB)) Badarg("colBack");
6085   int colBackA;
6086   if(!enif_get_int(env, colBack_t[3], &colBackA)) Badarg("colBack");
6087   wxColour colBack = wxColour(colBackR,colBackG,colBackB,colBackA);
6088   wxFont *font;
6089   font = (wxFont *) memenv->getPtr(env, argv[2], "font");
6090   wxListItemAttr * Result = new wxListItemAttr(colText,colBack,*font);
6091   app->newPtr((void *) Result, 102, memenv);
6092   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6093   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxListItemAttr"));
6094 
6095 }
6096 
6097 // wxListItemAttr::GetBackgroundColour
wxListItemAttr_GetBackgroundColour(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6098 void wxListItemAttr_GetBackgroundColour(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6099 {
6100   ErlNifEnv *env = Ecmd.env;
6101   ERL_NIF_TERM * argv = Ecmd.args;
6102   wxListItemAttr *This;
6103   This = (wxListItemAttr *) memenv->getPtr(env, argv[0], "This");
6104   if(!This) throw wxe_badarg("This");
6105   const wxColour * Result = &This->GetBackgroundColour();
6106   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6107   rt.send(  rt.make((*Result)));
6108 
6109 }
6110 
6111 // wxListItemAttr::GetFont
wxListItemAttr_GetFont(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6112 void wxListItemAttr_GetFont(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6113 {
6114   ErlNifEnv *env = Ecmd.env;
6115   ERL_NIF_TERM * argv = Ecmd.args;
6116   wxListItemAttr *This;
6117   This = (wxListItemAttr *) memenv->getPtr(env, argv[0], "This");
6118   if(!This) throw wxe_badarg("This");
6119   const wxFont * Result = &This->GetFont();
6120   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6121   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxFont"));
6122 
6123 }
6124 
6125 // wxListItemAttr::GetTextColour
wxListItemAttr_GetTextColour(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6126 void wxListItemAttr_GetTextColour(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6127 {
6128   ErlNifEnv *env = Ecmd.env;
6129   ERL_NIF_TERM * argv = Ecmd.args;
6130   wxListItemAttr *This;
6131   This = (wxListItemAttr *) memenv->getPtr(env, argv[0], "This");
6132   if(!This) throw wxe_badarg("This");
6133   const wxColour * Result = &This->GetTextColour();
6134   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6135   rt.send(  rt.make((*Result)));
6136 
6137 }
6138 
6139 // wxListItemAttr::HasBackgroundColour
wxListItemAttr_HasBackgroundColour(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6140 void wxListItemAttr_HasBackgroundColour(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6141 {
6142   ErlNifEnv *env = Ecmd.env;
6143   ERL_NIF_TERM * argv = Ecmd.args;
6144   wxListItemAttr *This;
6145   This = (wxListItemAttr *) memenv->getPtr(env, argv[0], "This");
6146   if(!This) throw wxe_badarg("This");
6147   bool Result = This->HasBackgroundColour();
6148   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6149   rt.send(  rt.make_bool(Result));
6150 
6151 }
6152 
6153 // wxListItemAttr::HasFont
wxListItemAttr_HasFont(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6154 void wxListItemAttr_HasFont(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6155 {
6156   ErlNifEnv *env = Ecmd.env;
6157   ERL_NIF_TERM * argv = Ecmd.args;
6158   wxListItemAttr *This;
6159   This = (wxListItemAttr *) memenv->getPtr(env, argv[0], "This");
6160   if(!This) throw wxe_badarg("This");
6161   bool Result = This->HasFont();
6162   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6163   rt.send(  rt.make_bool(Result));
6164 
6165 }
6166 
6167 // wxListItemAttr::HasTextColour
wxListItemAttr_HasTextColour(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6168 void wxListItemAttr_HasTextColour(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6169 {
6170   ErlNifEnv *env = Ecmd.env;
6171   ERL_NIF_TERM * argv = Ecmd.args;
6172   wxListItemAttr *This;
6173   This = (wxListItemAttr *) memenv->getPtr(env, argv[0], "This");
6174   if(!This) throw wxe_badarg("This");
6175   bool Result = This->HasTextColour();
6176   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6177   rt.send(  rt.make_bool(Result));
6178 
6179 }
6180 
6181 // wxListItemAttr::SetBackgroundColour
wxListItemAttr_SetBackgroundColour(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6182 void wxListItemAttr_SetBackgroundColour(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6183 {
6184   ErlNifEnv *env = Ecmd.env;
6185   ERL_NIF_TERM * argv = Ecmd.args;
6186   wxListItemAttr *This;
6187   This = (wxListItemAttr *) memenv->getPtr(env, argv[0], "This");
6188   const ERL_NIF_TERM *colBack_t;
6189   int colBack_sz;
6190   if(!enif_get_tuple(env, argv[1], &colBack_sz, &colBack_t)) Badarg("colBack");
6191   int colBackR;
6192   if(!enif_get_int(env, colBack_t[0], &colBackR)) Badarg("colBack");
6193   int colBackG;
6194   if(!enif_get_int(env, colBack_t[1], &colBackG)) Badarg("colBack");
6195   int colBackB;
6196   if(!enif_get_int(env, colBack_t[2], &colBackB)) Badarg("colBack");
6197   int colBackA;
6198   if(!enif_get_int(env, colBack_t[3], &colBackA)) Badarg("colBack");
6199   wxColour colBack = wxColour(colBackR,colBackG,colBackB,colBackA);
6200   if(!This) throw wxe_badarg("This");
6201   This->SetBackgroundColour(colBack);
6202 
6203 }
6204 
6205 // wxListItemAttr::SetFont
wxListItemAttr_SetFont(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6206 void wxListItemAttr_SetFont(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6207 {
6208   ErlNifEnv *env = Ecmd.env;
6209   ERL_NIF_TERM * argv = Ecmd.args;
6210   wxListItemAttr *This;
6211   This = (wxListItemAttr *) memenv->getPtr(env, argv[0], "This");
6212   wxFont *font;
6213   font = (wxFont *) memenv->getPtr(env, argv[1], "font");
6214   if(!This) throw wxe_badarg("This");
6215   This->SetFont(*font);
6216 
6217 }
6218 
6219 // wxListItemAttr::SetTextColour
wxListItemAttr_SetTextColour(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6220 void wxListItemAttr_SetTextColour(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6221 {
6222   ErlNifEnv *env = Ecmd.env;
6223   ERL_NIF_TERM * argv = Ecmd.args;
6224   wxListItemAttr *This;
6225   This = (wxListItemAttr *) memenv->getPtr(env, argv[0], "This");
6226   const ERL_NIF_TERM *colText_t;
6227   int colText_sz;
6228   if(!enif_get_tuple(env, argv[1], &colText_sz, &colText_t)) Badarg("colText");
6229   int colTextR;
6230   if(!enif_get_int(env, colText_t[0], &colTextR)) Badarg("colText");
6231   int colTextG;
6232   if(!enif_get_int(env, colText_t[1], &colTextG)) Badarg("colText");
6233   int colTextB;
6234   if(!enif_get_int(env, colText_t[2], &colTextB)) Badarg("colText");
6235   int colTextA;
6236   if(!enif_get_int(env, colText_t[3], &colTextA)) Badarg("colText");
6237   wxColour colText = wxColour(colTextR,colTextG,colTextB,colTextA);
6238   if(!This) throw wxe_badarg("This");
6239   This->SetTextColour(colText);
6240 
6241 }
6242 
6243 // wxListItemAttr::destroy
wxListItemAttr_destroy(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6244 void wxListItemAttr_destroy(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6245 {
6246  ErlNifEnv *env = Ecmd.env;
6247  ERL_NIF_TERM * argv = Ecmd.args;
6248   wxListItemAttr *This;
6249   This = (wxListItemAttr *) memenv->getPtr(env, argv[0], "This");
6250  if(This) {   ((WxeApp *) wxTheApp)->clearPtr((void *) This);
6251    delete This;}
6252 }
6253 
6254 // wxListView::ClearColumnImage
wxListView_ClearColumnImage(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6255 void wxListView_ClearColumnImage(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6256 {
6257   ErlNifEnv *env = Ecmd.env;
6258   ERL_NIF_TERM * argv = Ecmd.args;
6259   wxListView *This;
6260   This = (wxListView *) memenv->getPtr(env, argv[0], "This");
6261   int col;
6262   if(!enif_get_int(env, argv[1], &col)) Badarg("col"); // int
6263   if(!This) throw wxe_badarg("This");
6264   This->ClearColumnImage(col);
6265 
6266 }
6267 
6268 // wxListView::Focus
wxListView_Focus(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6269 void wxListView_Focus(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6270 {
6271   ErlNifEnv *env = Ecmd.env;
6272   ERL_NIF_TERM * argv = Ecmd.args;
6273   wxListView *This;
6274   This = (wxListView *) memenv->getPtr(env, argv[0], "This");
6275   long index;
6276   if(!enif_get_long(env, argv[1], &index)) Badarg("index");
6277   if(!This) throw wxe_badarg("This");
6278   This->Focus(index);
6279 
6280 }
6281 
6282 // wxListView::GetFirstSelected
wxListView_GetFirstSelected(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6283 void wxListView_GetFirstSelected(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6284 {
6285   ErlNifEnv *env = Ecmd.env;
6286   ERL_NIF_TERM * argv = Ecmd.args;
6287   wxListView *This;
6288   This = (wxListView *) memenv->getPtr(env, argv[0], "This");
6289   if(!This) throw wxe_badarg("This");
6290   long Result = This->GetFirstSelected();
6291   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6292   rt.send(  rt.make_int(Result));
6293 
6294 }
6295 
6296 // wxListView::GetFocusedItem
wxListView_GetFocusedItem(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6297 void wxListView_GetFocusedItem(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6298 {
6299   ErlNifEnv *env = Ecmd.env;
6300   ERL_NIF_TERM * argv = Ecmd.args;
6301   wxListView *This;
6302   This = (wxListView *) memenv->getPtr(env, argv[0], "This");
6303   if(!This) throw wxe_badarg("This");
6304   long Result = This->GetFocusedItem();
6305   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6306   rt.send(  rt.make_int(Result));
6307 
6308 }
6309 
6310 // wxListView::GetNextSelected
wxListView_GetNextSelected(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6311 void wxListView_GetNextSelected(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6312 {
6313   ErlNifEnv *env = Ecmd.env;
6314   ERL_NIF_TERM * argv = Ecmd.args;
6315   wxListView *This;
6316   This = (wxListView *) memenv->getPtr(env, argv[0], "This");
6317   long item;
6318   if(!enif_get_long(env, argv[1], &item)) Badarg("item");
6319   if(!This) throw wxe_badarg("This");
6320   long Result = This->GetNextSelected(item);
6321   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6322   rt.send(  rt.make_int(Result));
6323 
6324 }
6325 
6326 // wxListView::IsSelected
wxListView_IsSelected(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6327 void wxListView_IsSelected(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6328 {
6329   ErlNifEnv *env = Ecmd.env;
6330   ERL_NIF_TERM * argv = Ecmd.args;
6331   wxListView *This;
6332   This = (wxListView *) memenv->getPtr(env, argv[0], "This");
6333   long index;
6334   if(!enif_get_long(env, argv[1], &index)) Badarg("index");
6335   if(!This) throw wxe_badarg("This");
6336   bool Result = This->IsSelected(index);
6337   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6338   rt.send(  rt.make_bool(Result));
6339 
6340 }
6341 
6342 // wxListView::Select
wxListView_Select(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6343 void wxListView_Select(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6344 {
6345   bool on=true;
6346   ErlNifEnv *env = Ecmd.env;
6347   ERL_NIF_TERM * argv = Ecmd.args;
6348   wxListView *This;
6349   This = (wxListView *) memenv->getPtr(env, argv[0], "This");
6350   long n;
6351   if(!enif_get_long(env, argv[1], &n)) Badarg("n");
6352   ERL_NIF_TERM lstHead, lstTail;
6353   lstTail = argv[2];
6354   if(!enif_is_list(env, lstTail)) Badarg("Options");
6355   const ERL_NIF_TERM *tpl;
6356   int tpl_sz;
6357   while(!enif_is_empty_list(env, lstTail)) {
6358     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
6359     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
6360     if(enif_is_identical(tpl[0], enif_make_atom(env, "on"))) {
6361   on = enif_is_identical(tpl[1], WXE_ATOM_true);
6362     } else        Badarg("Options");
6363   };
6364   if(!This) throw wxe_badarg("This");
6365   This->Select(n,on);
6366 
6367 }
6368 
6369 // wxListView::SetColumnImage
wxListView_SetColumnImage(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6370 void wxListView_SetColumnImage(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6371 {
6372   ErlNifEnv *env = Ecmd.env;
6373   ERL_NIF_TERM * argv = Ecmd.args;
6374   wxListView *This;
6375   This = (wxListView *) memenv->getPtr(env, argv[0], "This");
6376   int col;
6377   if(!enif_get_int(env, argv[1], &col)) Badarg("col"); // int
6378   int image;
6379   if(!enif_get_int(env, argv[2], &image)) Badarg("image"); // int
6380   if(!This) throw wxe_badarg("This");
6381   This->SetColumnImage(col,image);
6382 
6383 }
6384 
6385 // wxListbook::wxListbook
wxListbook_new_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6386 void wxListbook_new_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6387 {
6388   wxListbook * Result = new EwxListbook();
6389   app->newPtr((void *) Result, 0, memenv);
6390   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6391   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxListbook"));
6392 
6393 }
6394 
6395 // wxListbook::wxListbook
wxListbook_new_3(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6396 void wxListbook_new_3(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6397 {
6398   wxPoint pos= wxDefaultPosition;
6399   wxSize size= wxDefaultSize;
6400   long style=0;
6401   ErlNifEnv *env = Ecmd.env;
6402   ERL_NIF_TERM * argv = Ecmd.args;
6403   wxWindow *parent;
6404   parent = (wxWindow *) memenv->getPtr(env, argv[0], "parent");
6405   int id;
6406   if(!enif_get_int(env, argv[1], &id)) Badarg("id"); // wxWindowID
6407   ERL_NIF_TERM lstHead, lstTail;
6408   lstTail = argv[2];
6409   if(!enif_is_list(env, lstTail)) Badarg("Options");
6410   const ERL_NIF_TERM *tpl;
6411   int tpl_sz;
6412   while(!enif_is_empty_list(env, lstTail)) {
6413     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
6414     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
6415     if(enif_is_identical(tpl[0], enif_make_atom(env, "pos"))) {
6416   const ERL_NIF_TERM *pos_t;
6417   int pos_sz;
6418   if(!enif_get_tuple(env, tpl[1], &pos_sz, &pos_t)) Badarg("pos");
6419   int posX;
6420   if(!enif_get_int(env, pos_t[0], &posX)) Badarg("pos");
6421   int posY;
6422   if(!enif_get_int(env, pos_t[1], &posY)) Badarg("pos");
6423   pos = wxPoint(posX,posY);
6424     } else     if(enif_is_identical(tpl[0], enif_make_atom(env, "size"))) {
6425   const ERL_NIF_TERM *size_t;
6426   int size_sz;
6427   if(!enif_get_tuple(env, tpl[1], &size_sz, &size_t)) Badarg("size");
6428   int sizeW;
6429   if(!enif_get_int(env, size_t[0], &sizeW)) Badarg("size");
6430   int sizeH;
6431   if(!enif_get_int(env, size_t[1], &sizeH)) Badarg("size");
6432   size = wxSize(sizeW,sizeH);
6433     } else     if(enif_is_identical(tpl[0], enif_make_atom(env, "style"))) {
6434   if(!enif_get_long(env, tpl[1], &style)) Badarg("style");
6435     } else        Badarg("Options");
6436   };
6437   wxListbook * Result = new EwxListbook(parent,id,pos,size,style);
6438   app->newPtr((void *) Result, 0, memenv);
6439   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6440   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxListbook"));
6441 
6442 }
6443 
6444 // wxListbook::AddPage
wxListbook_AddPage(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6445 void wxListbook_AddPage(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6446 {
6447   bool bSelect=false;
6448   int imageId=wxBookCtrlBase::NO_IMAGE;
6449   ErlNifEnv *env = Ecmd.env;
6450   ERL_NIF_TERM * argv = Ecmd.args;
6451   wxListbook *This;
6452   This = (wxListbook *) memenv->getPtr(env, argv[0], "This");
6453   wxWindow *page;
6454   page = (wxWindow *) memenv->getPtr(env, argv[1], "page");
6455   ErlNifBinary text_bin;
6456   wxString text;
6457   if(!enif_inspect_binary(env, argv[2], &text_bin)) Badarg("text");
6458   text = wxString(text_bin.data, wxConvUTF8, text_bin.size);
6459   ERL_NIF_TERM lstHead, lstTail;
6460   lstTail = argv[3];
6461   if(!enif_is_list(env, lstTail)) Badarg("Options");
6462   const ERL_NIF_TERM *tpl;
6463   int tpl_sz;
6464   while(!enif_is_empty_list(env, lstTail)) {
6465     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
6466     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
6467     if(enif_is_identical(tpl[0], enif_make_atom(env, "bSelect"))) {
6468   bSelect = enif_is_identical(tpl[1], WXE_ATOM_true);
6469     } else     if(enif_is_identical(tpl[0], enif_make_atom(env, "imageId"))) {
6470   if(!enif_get_int(env, tpl[1], &imageId)) Badarg("imageId"); // int
6471     } else        Badarg("Options");
6472   };
6473   if(!This) throw wxe_badarg("This");
6474   bool Result = This->AddPage(page,text,bSelect,imageId);
6475   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6476   rt.send(  rt.make_bool(Result));
6477 
6478 }
6479 
6480 // wxListbook::AdvanceSelection
wxListbook_AdvanceSelection(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6481 void wxListbook_AdvanceSelection(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6482 {
6483   bool forward=true;
6484   ErlNifEnv *env = Ecmd.env;
6485   ERL_NIF_TERM * argv = Ecmd.args;
6486   wxListbook *This;
6487   This = (wxListbook *) memenv->getPtr(env, argv[0], "This");
6488   ERL_NIF_TERM lstHead, lstTail;
6489   lstTail = argv[1];
6490   if(!enif_is_list(env, lstTail)) Badarg("Options");
6491   const ERL_NIF_TERM *tpl;
6492   int tpl_sz;
6493   while(!enif_is_empty_list(env, lstTail)) {
6494     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
6495     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
6496     if(enif_is_identical(tpl[0], enif_make_atom(env, "forward"))) {
6497   forward = enif_is_identical(tpl[1], WXE_ATOM_true);
6498     } else        Badarg("Options");
6499   };
6500   if(!This) throw wxe_badarg("This");
6501   This->AdvanceSelection(forward);
6502 
6503 }
6504 
6505 // wxListbook::AssignImageList
wxListbook_AssignImageList(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6506 void wxListbook_AssignImageList(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6507 {
6508   ErlNifEnv *env = Ecmd.env;
6509   ERL_NIF_TERM * argv = Ecmd.args;
6510   wxListbook *This;
6511   This = (wxListbook *) memenv->getPtr(env, argv[0], "This");
6512   wxImageList *imageList;
6513   imageList = (wxImageList *) memenv->getPtr(env, argv[1], "imageList");
6514   if(!This) throw wxe_badarg("This");
6515   This->AssignImageList(imageList);
6516 
6517 }
6518 
6519 // wxListbook::Create
wxListbook_Create(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6520 void wxListbook_Create(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6521 {
6522   wxPoint pos= wxDefaultPosition;
6523   wxSize size= wxDefaultSize;
6524   long style=0;
6525   ErlNifEnv *env = Ecmd.env;
6526   ERL_NIF_TERM * argv = Ecmd.args;
6527   wxListbook *This;
6528   This = (wxListbook *) memenv->getPtr(env, argv[0], "This");
6529   wxWindow *parent;
6530   parent = (wxWindow *) memenv->getPtr(env, argv[1], "parent");
6531   int id;
6532   if(!enif_get_int(env, argv[2], &id)) Badarg("id"); // wxWindowID
6533   ERL_NIF_TERM lstHead, lstTail;
6534   lstTail = argv[3];
6535   if(!enif_is_list(env, lstTail)) Badarg("Options");
6536   const ERL_NIF_TERM *tpl;
6537   int tpl_sz;
6538   while(!enif_is_empty_list(env, lstTail)) {
6539     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
6540     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
6541     if(enif_is_identical(tpl[0], enif_make_atom(env, "pos"))) {
6542   const ERL_NIF_TERM *pos_t;
6543   int pos_sz;
6544   if(!enif_get_tuple(env, tpl[1], &pos_sz, &pos_t)) Badarg("pos");
6545   int posX;
6546   if(!enif_get_int(env, pos_t[0], &posX)) Badarg("pos");
6547   int posY;
6548   if(!enif_get_int(env, pos_t[1], &posY)) Badarg("pos");
6549   pos = wxPoint(posX,posY);
6550     } else     if(enif_is_identical(tpl[0], enif_make_atom(env, "size"))) {
6551   const ERL_NIF_TERM *size_t;
6552   int size_sz;
6553   if(!enif_get_tuple(env, tpl[1], &size_sz, &size_t)) Badarg("size");
6554   int sizeW;
6555   if(!enif_get_int(env, size_t[0], &sizeW)) Badarg("size");
6556   int sizeH;
6557   if(!enif_get_int(env, size_t[1], &sizeH)) Badarg("size");
6558   size = wxSize(sizeW,sizeH);
6559     } else     if(enif_is_identical(tpl[0], enif_make_atom(env, "style"))) {
6560   if(!enif_get_long(env, tpl[1], &style)) Badarg("style");
6561     } else        Badarg("Options");
6562   };
6563   if(!This) throw wxe_badarg("This");
6564   bool Result = This->Create(parent,id,pos,size,style);
6565   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6566   rt.send(  rt.make_bool(Result));
6567 
6568 }
6569 
6570 // wxListbook::DeleteAllPages
wxListbook_DeleteAllPages(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6571 void wxListbook_DeleteAllPages(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6572 {
6573   ErlNifEnv *env = Ecmd.env;
6574   ERL_NIF_TERM * argv = Ecmd.args;
6575   wxListbook *This;
6576   This = (wxListbook *) memenv->getPtr(env, argv[0], "This");
6577   if(!This) throw wxe_badarg("This");
6578   bool Result = This->DeleteAllPages();
6579   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6580   rt.send(  rt.make_bool(Result));
6581 
6582 }
6583 
6584 // wxListbook::GetCurrentPage
wxListbook_GetCurrentPage(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6585 void wxListbook_GetCurrentPage(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6586 {
6587   ErlNifEnv *env = Ecmd.env;
6588   ERL_NIF_TERM * argv = Ecmd.args;
6589   wxListbook *This;
6590   This = (wxListbook *) memenv->getPtr(env, argv[0], "This");
6591   if(!This) throw wxe_badarg("This");
6592   wxWindow * Result = (wxWindow*)This->GetCurrentPage();
6593   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6594   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxWindow"));
6595 
6596 }
6597 
6598 // wxListbook::GetImageList
wxListbook_GetImageList(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6599 void wxListbook_GetImageList(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6600 {
6601   ErlNifEnv *env = Ecmd.env;
6602   ERL_NIF_TERM * argv = Ecmd.args;
6603   wxListbook *This;
6604   This = (wxListbook *) memenv->getPtr(env, argv[0], "This");
6605   if(!This) throw wxe_badarg("This");
6606   wxImageList * Result = (wxImageList*)This->GetImageList();
6607   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6608   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxImageList"));
6609 
6610 }
6611 
6612 // wxListbook::GetPage
wxListbook_GetPage(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6613 void wxListbook_GetPage(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6614 {
6615   ErlNifEnv *env = Ecmd.env;
6616   ERL_NIF_TERM * argv = Ecmd.args;
6617   wxListbook *This;
6618   This = (wxListbook *) memenv->getPtr(env, argv[0], "This");
6619   size_t page;
6620   if(!wxe_get_size_t(env, argv[1], &page)) Badarg("page");
6621   if(!This) throw wxe_badarg("This");
6622   wxWindow * Result = (wxWindow*)This->GetPage(page);
6623   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6624   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxWindow"));
6625 
6626 }
6627 
6628 // wxListbook::GetPageCount
wxListbook_GetPageCount(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6629 void wxListbook_GetPageCount(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6630 {
6631   ErlNifEnv *env = Ecmd.env;
6632   ERL_NIF_TERM * argv = Ecmd.args;
6633   wxListbook *This;
6634   This = (wxListbook *) memenv->getPtr(env, argv[0], "This");
6635   if(!This) throw wxe_badarg("This");
6636   size_t Result = This->GetPageCount();
6637   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6638   rt.send(  rt.make_int(Result));
6639 
6640 }
6641 
6642 // wxListbook::GetPageImage
wxListbook_GetPageImage(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6643 void wxListbook_GetPageImage(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6644 {
6645   ErlNifEnv *env = Ecmd.env;
6646   ERL_NIF_TERM * argv = Ecmd.args;
6647   wxListbook *This;
6648   This = (wxListbook *) memenv->getPtr(env, argv[0], "This");
6649   size_t nPage;
6650   if(!wxe_get_size_t(env, argv[1], &nPage)) Badarg("nPage");
6651   if(!This) throw wxe_badarg("This");
6652   int Result = This->GetPageImage(nPage);
6653   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6654   rt.send(  rt.make_int(Result));
6655 
6656 }
6657 
6658 // wxListbook::GetPageText
wxListbook_GetPageText(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6659 void wxListbook_GetPageText(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6660 {
6661   ErlNifEnv *env = Ecmd.env;
6662   ERL_NIF_TERM * argv = Ecmd.args;
6663   wxListbook *This;
6664   This = (wxListbook *) memenv->getPtr(env, argv[0], "This");
6665   size_t nPage;
6666   if(!wxe_get_size_t(env, argv[1], &nPage)) Badarg("nPage");
6667   if(!This) throw wxe_badarg("This");
6668   wxString Result = This->GetPageText(nPage);
6669   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6670   rt.send(  rt.make(Result));
6671 
6672 }
6673 
6674 // wxListbook::GetSelection
wxListbook_GetSelection(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6675 void wxListbook_GetSelection(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6676 {
6677   ErlNifEnv *env = Ecmd.env;
6678   ERL_NIF_TERM * argv = Ecmd.args;
6679   wxListbook *This;
6680   This = (wxListbook *) memenv->getPtr(env, argv[0], "This");
6681   if(!This) throw wxe_badarg("This");
6682   int Result = This->GetSelection();
6683   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6684   rt.send(  rt.make_int(Result));
6685 
6686 }
6687 
6688 // wxListbook::HitTest
wxListbook_HitTest(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6689 void wxListbook_HitTest(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6690 {
6691   long flags;
6692   ErlNifEnv *env = Ecmd.env;
6693   ERL_NIF_TERM * argv = Ecmd.args;
6694   wxListbook *This;
6695   This = (wxListbook *) memenv->getPtr(env, argv[0], "This");
6696   const ERL_NIF_TERM *pt_t;
6697   int pt_sz;
6698   if(!enif_get_tuple(env, argv[1], &pt_sz, &pt_t)) Badarg("pt");
6699   int ptX;
6700   if(!enif_get_int(env, pt_t[0], &ptX)) Badarg("pt");
6701   int ptY;
6702   if(!enif_get_int(env, pt_t[1], &ptY)) Badarg("pt");
6703   wxPoint pt = wxPoint(ptX,ptY);
6704   if(!This) throw wxe_badarg("This");
6705   int Result = This->HitTest(pt,&flags);
6706   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6707   ERL_NIF_TERM msg = enif_make_tuple2(rt.env,
6708   rt.make_int(Result),
6709     rt.make_int(flags));
6710   rt.send(msg);
6711 
6712 }
6713 
6714 // wxListbook::InsertPage
wxListbook_InsertPage(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6715 void wxListbook_InsertPage(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6716 {
6717   bool bSelect=false;
6718   int imageId=wxBookCtrlBase::NO_IMAGE;
6719   ErlNifEnv *env = Ecmd.env;
6720   ERL_NIF_TERM * argv = Ecmd.args;
6721   wxListbook *This;
6722   This = (wxListbook *) memenv->getPtr(env, argv[0], "This");
6723   size_t index;
6724   if(!wxe_get_size_t(env, argv[1], &index)) Badarg("index");
6725   wxWindow *page;
6726   page = (wxWindow *) memenv->getPtr(env, argv[2], "page");
6727   ErlNifBinary text_bin;
6728   wxString text;
6729   if(!enif_inspect_binary(env, argv[3], &text_bin)) Badarg("text");
6730   text = wxString(text_bin.data, wxConvUTF8, text_bin.size);
6731   ERL_NIF_TERM lstHead, lstTail;
6732   lstTail = argv[4];
6733   if(!enif_is_list(env, lstTail)) Badarg("Options");
6734   const ERL_NIF_TERM *tpl;
6735   int tpl_sz;
6736   while(!enif_is_empty_list(env, lstTail)) {
6737     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
6738     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
6739     if(enif_is_identical(tpl[0], enif_make_atom(env, "bSelect"))) {
6740   bSelect = enif_is_identical(tpl[1], WXE_ATOM_true);
6741     } else     if(enif_is_identical(tpl[0], enif_make_atom(env, "imageId"))) {
6742   if(!enif_get_int(env, tpl[1], &imageId)) Badarg("imageId"); // int
6743     } else        Badarg("Options");
6744   };
6745   if(!This) throw wxe_badarg("This");
6746   bool Result = This->InsertPage(index,page,text,bSelect,imageId);
6747   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6748   rt.send(  rt.make_bool(Result));
6749 
6750 }
6751 
6752 // wxListbook::SetImageList
wxListbook_SetImageList(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6753 void wxListbook_SetImageList(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6754 {
6755   ErlNifEnv *env = Ecmd.env;
6756   ERL_NIF_TERM * argv = Ecmd.args;
6757   wxListbook *This;
6758   This = (wxListbook *) memenv->getPtr(env, argv[0], "This");
6759   wxImageList *imageList;
6760   imageList = (wxImageList *) memenv->getPtr(env, argv[1], "imageList");
6761   if(!This) throw wxe_badarg("This");
6762   This->SetImageList(imageList);
6763 
6764 }
6765 
6766 // wxListbook::SetPageSize
wxListbook_SetPageSize(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6767 void wxListbook_SetPageSize(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6768 {
6769   ErlNifEnv *env = Ecmd.env;
6770   ERL_NIF_TERM * argv = Ecmd.args;
6771   wxListbook *This;
6772   This = (wxListbook *) memenv->getPtr(env, argv[0], "This");
6773   const ERL_NIF_TERM *size_t;
6774   int size_sz;
6775   if(!enif_get_tuple(env, argv[1], &size_sz, &size_t)) Badarg("size");
6776   int sizeW;
6777   if(!enif_get_int(env, size_t[0], &sizeW)) Badarg("size");
6778   int sizeH;
6779   if(!enif_get_int(env, size_t[1], &sizeH)) Badarg("size");
6780   wxSize size = wxSize(sizeW,sizeH);
6781   if(!This) throw wxe_badarg("This");
6782   This->SetPageSize(size);
6783 
6784 }
6785 
6786 // wxListbook::SetPageImage
wxListbook_SetPageImage(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6787 void wxListbook_SetPageImage(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6788 {
6789   ErlNifEnv *env = Ecmd.env;
6790   ERL_NIF_TERM * argv = Ecmd.args;
6791   wxListbook *This;
6792   This = (wxListbook *) memenv->getPtr(env, argv[0], "This");
6793   size_t page;
6794   if(!wxe_get_size_t(env, argv[1], &page)) Badarg("page");
6795   int image;
6796   if(!enif_get_int(env, argv[2], &image)) Badarg("image"); // int
6797   if(!This) throw wxe_badarg("This");
6798   bool Result = This->SetPageImage(page,image);
6799   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6800   rt.send(  rt.make_bool(Result));
6801 
6802 }
6803 
6804 // wxListbook::SetPageText
wxListbook_SetPageText(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6805 void wxListbook_SetPageText(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6806 {
6807   ErlNifEnv *env = Ecmd.env;
6808   ERL_NIF_TERM * argv = Ecmd.args;
6809   wxListbook *This;
6810   This = (wxListbook *) memenv->getPtr(env, argv[0], "This");
6811   size_t page;
6812   if(!wxe_get_size_t(env, argv[1], &page)) Badarg("page");
6813   ErlNifBinary text_bin;
6814   wxString text;
6815   if(!enif_inspect_binary(env, argv[2], &text_bin)) Badarg("text");
6816   text = wxString(text_bin.data, wxConvUTF8, text_bin.size);
6817   if(!This) throw wxe_badarg("This");
6818   bool Result = This->SetPageText(page,text);
6819   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6820   rt.send(  rt.make_bool(Result));
6821 
6822 }
6823 
6824 // wxListbook::SetSelection
wxListbook_SetSelection(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6825 void wxListbook_SetSelection(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6826 {
6827   ErlNifEnv *env = Ecmd.env;
6828   ERL_NIF_TERM * argv = Ecmd.args;
6829   wxListbook *This;
6830   This = (wxListbook *) memenv->getPtr(env, argv[0], "This");
6831   size_t page;
6832   if(!wxe_get_size_t(env, argv[1], &page)) Badarg("page");
6833   if(!This) throw wxe_badarg("This");
6834   int Result = This->SetSelection(page);
6835   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6836   rt.send(  rt.make_int(Result));
6837 
6838 }
6839 
6840 // wxListbook::ChangeSelection
wxListbook_ChangeSelection(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6841 void wxListbook_ChangeSelection(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6842 {
6843   ErlNifEnv *env = Ecmd.env;
6844   ERL_NIF_TERM * argv = Ecmd.args;
6845   wxListbook *This;
6846   This = (wxListbook *) memenv->getPtr(env, argv[0], "This");
6847   size_t page;
6848   if(!wxe_get_size_t(env, argv[1], &page)) Badarg("page");
6849   if(!This) throw wxe_badarg("This");
6850   int Result = This->ChangeSelection(page);
6851   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6852   rt.send(  rt.make_int(Result));
6853 
6854 }
6855 
6856 // wxLocale::wxLocale
wxLocale_new_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6857 void wxLocale_new_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6858 {
6859   wxLocale * Result = new EwxLocale();
6860   app->newPtr((void *) Result, 234, memenv);
6861   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6862   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxLocale"));
6863 
6864 }
6865 
6866 // wxLocale::wxLocale
wxLocale_new_2_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6867 void wxLocale_new_2_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6868 {
6869   int flags=wxLOCALE_LOAD_DEFAULT;
6870   ErlNifEnv *env = Ecmd.env;
6871   ERL_NIF_TERM * argv = Ecmd.args;
6872   int language;
6873   if(!enif_get_int(env, argv[0], &language)) Badarg("language"); // int
6874   ERL_NIF_TERM lstHead, lstTail;
6875   lstTail = argv[1];
6876   if(!enif_is_list(env, lstTail)) Badarg("Options");
6877   const ERL_NIF_TERM *tpl;
6878   int tpl_sz;
6879   while(!enif_is_empty_list(env, lstTail)) {
6880     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
6881     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
6882     if(enif_is_identical(tpl[0], enif_make_atom(env, "flags"))) {
6883   if(!enif_get_int(env, tpl[1], &flags)) Badarg("flags"); // int
6884     } else        Badarg("Options");
6885   };
6886   wxLocale * Result = new EwxLocale(language,flags);
6887   app->newPtr((void *) Result, 234, memenv);
6888   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6889   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxLocale"));
6890 
6891 }
6892 
6893 // wxLocale::wxLocale
wxLocale_new_2_1(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6894 void wxLocale_new_2_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6895 {
6896   wxString shortName= wxEmptyString;
6897   wxString locale= wxEmptyString;
6898   bool bLoadDefault=true;
6899   ErlNifEnv *env = Ecmd.env;
6900   ERL_NIF_TERM * argv = Ecmd.args;
6901   ErlNifBinary name_bin;
6902   wxString name;
6903   if(!enif_inspect_binary(env, argv[0], &name_bin)) Badarg("name");
6904   name = wxString(name_bin.data, wxConvUTF8, name_bin.size);
6905   ERL_NIF_TERM lstHead, lstTail;
6906   lstTail = argv[1];
6907   if(!enif_is_list(env, lstTail)) Badarg("Options");
6908   const ERL_NIF_TERM *tpl;
6909   int tpl_sz;
6910   while(!enif_is_empty_list(env, lstTail)) {
6911     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
6912     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
6913     if(enif_is_identical(tpl[0], enif_make_atom(env, "shortName"))) {
6914   ErlNifBinary shortName_bin;
6915   if(!enif_inspect_binary(env, tpl[1], &shortName_bin)) Badarg("shortName");
6916   shortName = wxString(shortName_bin.data, wxConvUTF8, shortName_bin.size);
6917     } else     if(enif_is_identical(tpl[0], enif_make_atom(env, "locale"))) {
6918   ErlNifBinary locale_bin;
6919   if(!enif_inspect_binary(env, tpl[1], &locale_bin)) Badarg("locale");
6920   locale = wxString(locale_bin.data, wxConvUTF8, locale_bin.size);
6921     } else     if(enif_is_identical(tpl[0], enif_make_atom(env, "bLoadDefault"))) {
6922   bLoadDefault = enif_is_identical(tpl[1], WXE_ATOM_true);
6923     } else        Badarg("Options");
6924   };
6925   wxLocale * Result = new EwxLocale(name,shortName,locale,bLoadDefault);
6926   app->newPtr((void *) Result, 234, memenv);
6927   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6928   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxLocale"));
6929 
6930 }
6931 
6932 // wxLocale::~wxLocale
wxLocale_destruct(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6933 void wxLocale_destruct(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6934 {
6935  ErlNifEnv *env = Ecmd.env;
6936  ERL_NIF_TERM * argv = Ecmd.args;
6937   wxLocale *This;
6938   This = (wxLocale *) memenv->getPtr(env, argv[0], "This");
6939  if(This) {   ((WxeApp *) wxTheApp)->clearPtr((void *) This);
6940    delete This;}
6941 }
6942 
6943 // wxLocale::Init
wxLocale_Init_1(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6944 void wxLocale_Init_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6945 {
6946   int language=wxLANGUAGE_DEFAULT;
6947   int flags=wxLOCALE_LOAD_DEFAULT;
6948   ErlNifEnv *env = Ecmd.env;
6949   ERL_NIF_TERM * argv = Ecmd.args;
6950   wxLocale *This;
6951   This = (wxLocale *) memenv->getPtr(env, argv[0], "This");
6952   ERL_NIF_TERM lstHead, lstTail;
6953   lstTail = argv[1];
6954   if(!enif_is_list(env, lstTail)) Badarg("Options");
6955   const ERL_NIF_TERM *tpl;
6956   int tpl_sz;
6957   while(!enif_is_empty_list(env, lstTail)) {
6958     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
6959     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
6960     if(enif_is_identical(tpl[0], enif_make_atom(env, "language"))) {
6961   if(!enif_get_int(env, tpl[1], &language)) Badarg("language"); // int
6962     } else     if(enif_is_identical(tpl[0], enif_make_atom(env, "flags"))) {
6963   if(!enif_get_int(env, tpl[1], &flags)) Badarg("flags"); // int
6964     } else        Badarg("Options");
6965   };
6966   if(!This) throw wxe_badarg("This");
6967   bool Result = This->Init(language,flags);
6968   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6969   rt.send(  rt.make_bool(Result));
6970 
6971 }
6972 
6973 // wxLocale::Init
wxLocale_Init_2(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6974 void wxLocale_Init_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6975 {
6976   wxString shortName= wxEmptyString;
6977   wxString locale= wxEmptyString;
6978   bool bLoadDefault=true;
6979   ErlNifEnv *env = Ecmd.env;
6980   ERL_NIF_TERM * argv = Ecmd.args;
6981   wxLocale *This;
6982   This = (wxLocale *) memenv->getPtr(env, argv[0], "This");
6983   ErlNifBinary name_bin;
6984   wxString name;
6985   if(!enif_inspect_binary(env, argv[1], &name_bin)) Badarg("name");
6986   name = wxString(name_bin.data, wxConvUTF8, name_bin.size);
6987   ERL_NIF_TERM lstHead, lstTail;
6988   lstTail = argv[2];
6989   if(!enif_is_list(env, lstTail)) Badarg("Options");
6990   const ERL_NIF_TERM *tpl;
6991   int tpl_sz;
6992   while(!enif_is_empty_list(env, lstTail)) {
6993     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
6994     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
6995     if(enif_is_identical(tpl[0], enif_make_atom(env, "shortName"))) {
6996   ErlNifBinary shortName_bin;
6997   if(!enif_inspect_binary(env, tpl[1], &shortName_bin)) Badarg("shortName");
6998   shortName = wxString(shortName_bin.data, wxConvUTF8, shortName_bin.size);
6999     } else     if(enif_is_identical(tpl[0], enif_make_atom(env, "locale"))) {
7000   ErlNifBinary locale_bin;
7001   if(!enif_inspect_binary(env, tpl[1], &locale_bin)) Badarg("locale");
7002   locale = wxString(locale_bin.data, wxConvUTF8, locale_bin.size);
7003     } else     if(enif_is_identical(tpl[0], enif_make_atom(env, "bLoadDefault"))) {
7004   bLoadDefault = enif_is_identical(tpl[1], WXE_ATOM_true);
7005     } else        Badarg("Options");
7006   };
7007   if(!This) throw wxe_badarg("This");
7008   bool Result = This->Init(name,shortName,locale,bLoadDefault);
7009   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
7010   rt.send(  rt.make_bool(Result));
7011 
7012 }
7013 
7014 // wxLocale::AddCatalog
wxLocale_AddCatalog_1(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)7015 void wxLocale_AddCatalog_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
7016 {
7017   ErlNifEnv *env = Ecmd.env;
7018   ERL_NIF_TERM * argv = Ecmd.args;
7019   wxLocale *This;
7020   This = (wxLocale *) memenv->getPtr(env, argv[0], "This");
7021   ErlNifBinary domain_bin;
7022   wxString domain;
7023   if(!enif_inspect_binary(env, argv[1], &domain_bin)) Badarg("domain");
7024   domain = wxString(domain_bin.data, wxConvUTF8, domain_bin.size);
7025   if(!This) throw wxe_badarg("This");
7026   bool Result = This->AddCatalog(domain);
7027   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
7028   rt.send(  rt.make_bool(Result));
7029 
7030 }
7031 
7032 // wxLocale::AddCatalog
wxLocale_AddCatalog_2(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)7033 void wxLocale_AddCatalog_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
7034 {
7035   ErlNifEnv *env = Ecmd.env;
7036   ERL_NIF_TERM * argv = Ecmd.args;
7037   wxLocale *This;
7038   This = (wxLocale *) memenv->getPtr(env, argv[0], "This");
7039   ErlNifBinary domain_bin;
7040   wxString domain;
7041   if(!enif_inspect_binary(env, argv[1], &domain_bin)) Badarg("domain");
7042   domain = wxString(domain_bin.data, wxConvUTF8, domain_bin.size);
7043   wxLanguage msgIdLanguage;
7044   if(!enif_get_int(env, argv[2], (int *) &msgIdLanguage)) Badarg("msgIdLanguage"); // enum
7045   if(!This) throw wxe_badarg("This");
7046   bool Result = This->AddCatalog(domain,msgIdLanguage);
7047   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
7048   rt.send(  rt.make_bool(Result));
7049 
7050 }
7051 
7052 // wxLocale::AddCatalog
wxLocale_AddCatalog_3(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)7053 void wxLocale_AddCatalog_3(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
7054 {
7055   ErlNifEnv *env = Ecmd.env;
7056   ERL_NIF_TERM * argv = Ecmd.args;
7057   wxLocale *This;
7058   This = (wxLocale *) memenv->getPtr(env, argv[0], "This");
7059   ErlNifBinary domain_bin;
7060   wxString domain;
7061   if(!enif_inspect_binary(env, argv[1], &domain_bin)) Badarg("domain");
7062   domain = wxString(domain_bin.data, wxConvUTF8, domain_bin.size);
7063   wxLanguage msgIdLanguage;
7064   if(!enif_get_int(env, argv[2], (int *) &msgIdLanguage)) Badarg("msgIdLanguage"); // enum
7065   ErlNifBinary msgIdCharset_bin;
7066   wxString msgIdCharset;
7067   if(!enif_inspect_binary(env, argv[3], &msgIdCharset_bin)) Badarg("msgIdCharset");
7068   msgIdCharset = wxString(msgIdCharset_bin.data, wxConvUTF8, msgIdCharset_bin.size);
7069   if(!This) throw wxe_badarg("This");
7070   bool Result = This->AddCatalog(domain,msgIdLanguage,msgIdCharset);
7071   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
7072   rt.send(  rt.make_bool(Result));
7073 
7074 }
7075 
7076 // wxLocale::AddCatalogLookupPathPrefix
wxLocale_AddCatalogLookupPathPrefix(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)7077 void wxLocale_AddCatalogLookupPathPrefix(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
7078 {
7079   ErlNifEnv *env = Ecmd.env;
7080   ERL_NIF_TERM * argv = Ecmd.args;
7081   ErlNifBinary prefix_bin;
7082   wxString prefix;
7083   if(!enif_inspect_binary(env, argv[0], &prefix_bin)) Badarg("prefix");
7084   prefix = wxString(prefix_bin.data, wxConvUTF8, prefix_bin.size);
7085   wxLocale::AddCatalogLookupPathPrefix(prefix);
7086 
7087 }
7088 
7089 // wxLocale::GetCanonicalName
wxLocale_GetCanonicalName(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)7090 void wxLocale_GetCanonicalName(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
7091 {
7092   ErlNifEnv *env = Ecmd.env;
7093   ERL_NIF_TERM * argv = Ecmd.args;
7094   wxLocale *This;
7095   This = (wxLocale *) memenv->getPtr(env, argv[0], "This");
7096   if(!This) throw wxe_badarg("This");
7097   wxString Result = This->GetCanonicalName();
7098   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
7099   rt.send(  rt.make(Result));
7100 
7101 }
7102 
7103 // wxLocale::GetLanguage
wxLocale_GetLanguage(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)7104 void wxLocale_GetLanguage(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
7105 {
7106   ErlNifEnv *env = Ecmd.env;
7107   ERL_NIF_TERM * argv = Ecmd.args;
7108   wxLocale *This;
7109   This = (wxLocale *) memenv->getPtr(env, argv[0], "This");
7110   if(!This) throw wxe_badarg("This");
7111   int Result = This->GetLanguage();
7112   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
7113   rt.send(  rt.make_int(Result));
7114 
7115 }
7116 
7117 // wxLocale::GetLanguageName
wxLocale_GetLanguageName(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)7118 void wxLocale_GetLanguageName(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
7119 {
7120   ErlNifEnv *env = Ecmd.env;
7121   ERL_NIF_TERM * argv = Ecmd.args;
7122   int lang;
7123   if(!enif_get_int(env, argv[0], &lang)) Badarg("lang"); // int
7124   wxString Result = wxLocale::GetLanguageName(lang);
7125   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
7126   rt.send(  rt.make(Result));
7127 
7128 }
7129 
7130 // wxLocale::GetLocale
wxLocale_GetLocale(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)7131 void wxLocale_GetLocale(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
7132 {
7133   ErlNifEnv *env = Ecmd.env;
7134   ERL_NIF_TERM * argv = Ecmd.args;
7135   wxLocale *This;
7136   This = (wxLocale *) memenv->getPtr(env, argv[0], "This");
7137   if(!This) throw wxe_badarg("This");
7138   const wxString Result = This->GetLocale();
7139   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
7140   rt.send(  rt.make(Result));
7141 
7142 }
7143 
7144 // wxLocale::GetName
wxLocale_GetName(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)7145 void wxLocale_GetName(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
7146 {
7147   ErlNifEnv *env = Ecmd.env;
7148   ERL_NIF_TERM * argv = Ecmd.args;
7149   wxLocale *This;
7150   This = (wxLocale *) memenv->getPtr(env, argv[0], "This");
7151   if(!This) throw wxe_badarg("This");
7152   const wxString Result = This->GetName();
7153   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
7154   rt.send(  rt.make(Result));
7155 
7156 }
7157 
7158 // wxLocale::GetString
wxLocale_GetString_2(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)7159 void wxLocale_GetString_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
7160 {
7161   wxString szDomain= wxEmptyString;
7162   ErlNifEnv *env = Ecmd.env;
7163   ERL_NIF_TERM * argv = Ecmd.args;
7164   wxLocale *This;
7165   This = (wxLocale *) memenv->getPtr(env, argv[0], "This");
7166   ErlNifBinary origString_bin;
7167   wxString origString;
7168   if(!enif_inspect_binary(env, argv[1], &origString_bin)) Badarg("origString");
7169   origString = wxString(origString_bin.data, wxConvUTF8, origString_bin.size);
7170   ERL_NIF_TERM lstHead, lstTail;
7171   lstTail = argv[2];
7172   if(!enif_is_list(env, lstTail)) Badarg("Options");
7173   const ERL_NIF_TERM *tpl;
7174   int tpl_sz;
7175   while(!enif_is_empty_list(env, lstTail)) {
7176     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
7177     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
7178     if(enif_is_identical(tpl[0], enif_make_atom(env, "szDomain"))) {
7179   ErlNifBinary szDomain_bin;
7180   if(!enif_inspect_binary(env, tpl[1], &szDomain_bin)) Badarg("szDomain");
7181   szDomain = wxString(szDomain_bin.data, wxConvUTF8, szDomain_bin.size);
7182     } else        Badarg("Options");
7183   };
7184   if(!This) throw wxe_badarg("This");
7185   const wxString Result = This->GetString(origString,szDomain);
7186   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
7187   rt.send(  rt.make(Result));
7188 
7189 }
7190 
7191 // wxLocale::GetString
wxLocale_GetString_4(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)7192 void wxLocale_GetString_4(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
7193 {
7194   wxString szDomain= wxEmptyString;
7195   ErlNifEnv *env = Ecmd.env;
7196   ERL_NIF_TERM * argv = Ecmd.args;
7197   wxLocale *This;
7198   This = (wxLocale *) memenv->getPtr(env, argv[0], "This");
7199   ErlNifBinary origString_bin;
7200   wxString origString;
7201   if(!enif_inspect_binary(env, argv[1], &origString_bin)) Badarg("origString");
7202   origString = wxString(origString_bin.data, wxConvUTF8, origString_bin.size);
7203   ErlNifBinary origString2_bin;
7204   wxString origString2;
7205   if(!enif_inspect_binary(env, argv[2], &origString2_bin)) Badarg("origString2");
7206   origString2 = wxString(origString2_bin.data, wxConvUTF8, origString2_bin.size);
7207   unsigned int n;
7208   if(!enif_get_uint(env, argv[3], &n)) Badarg("n");
7209   ERL_NIF_TERM lstHead, lstTail;
7210   lstTail = argv[4];
7211   if(!enif_is_list(env, lstTail)) Badarg("Options");
7212   const ERL_NIF_TERM *tpl;
7213   int tpl_sz;
7214   while(!enif_is_empty_list(env, lstTail)) {
7215     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
7216     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
7217     if(enif_is_identical(tpl[0], enif_make_atom(env, "szDomain"))) {
7218   ErlNifBinary szDomain_bin;
7219   if(!enif_inspect_binary(env, tpl[1], &szDomain_bin)) Badarg("szDomain");
7220   szDomain = wxString(szDomain_bin.data, wxConvUTF8, szDomain_bin.size);
7221     } else        Badarg("Options");
7222   };
7223   if(!This) throw wxe_badarg("This");
7224   const wxString Result = This->GetString(origString,origString2,n,szDomain);
7225   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
7226   rt.send(  rt.make(Result));
7227 
7228 }
7229 
7230 // wxLocale::GetHeaderValue
wxLocale_GetHeaderValue(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)7231 void wxLocale_GetHeaderValue(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
7232 {
7233   wxString szDomain= wxEmptyString;
7234   ErlNifEnv *env = Ecmd.env;
7235   ERL_NIF_TERM * argv = Ecmd.args;
7236   wxLocale *This;
7237   This = (wxLocale *) memenv->getPtr(env, argv[0], "This");
7238   ErlNifBinary header_bin;
7239   wxString header;
7240   if(!enif_inspect_binary(env, argv[1], &header_bin)) Badarg("header");
7241   header = wxString(header_bin.data, wxConvUTF8, header_bin.size);
7242   ERL_NIF_TERM lstHead, lstTail;
7243   lstTail = argv[2];
7244   if(!enif_is_list(env, lstTail)) Badarg("Options");
7245   const ERL_NIF_TERM *tpl;
7246   int tpl_sz;
7247   while(!enif_is_empty_list(env, lstTail)) {
7248     if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
7249     if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
7250     if(enif_is_identical(tpl[0], enif_make_atom(env, "szDomain"))) {
7251   ErlNifBinary szDomain_bin;
7252   if(!enif_inspect_binary(env, tpl[1], &szDomain_bin)) Badarg("szDomain");
7253   szDomain = wxString(szDomain_bin.data, wxConvUTF8, szDomain_bin.size);
7254     } else        Badarg("Options");
7255   };
7256   if(!This) throw wxe_badarg("This");
7257   wxString Result = This->GetHeaderValue(header,szDomain);
7258   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
7259   rt.send(  rt.make(Result));
7260 
7261 }
7262 
7263 // wxLocale::GetSysName
wxLocale_GetSysName(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)7264 void wxLocale_GetSysName(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
7265 {
7266   ErlNifEnv *env = Ecmd.env;
7267   ERL_NIF_TERM * argv = Ecmd.args;
7268   wxLocale *This;
7269   This = (wxLocale *) memenv->getPtr(env, argv[0], "This");
7270   if(!This) throw wxe_badarg("This");
7271   wxString Result = This->GetSysName();
7272   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
7273   rt.send(  rt.make(Result));
7274 
7275 }
7276 
7277 // wxLocale::GetSystemEncoding
wxLocale_GetSystemEncoding(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)7278 void wxLocale_GetSystemEncoding(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
7279 {
7280   int Result = wxLocale::GetSystemEncoding();
7281   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
7282   rt.send(  rt.make_int(Result));
7283 
7284 }
7285 
7286 // wxLocale::GetSystemEncodingName
wxLocale_GetSystemEncodingName(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)7287 void wxLocale_GetSystemEncodingName(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
7288 {
7289   wxString Result = wxLocale::GetSystemEncodingName();
7290   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
7291   rt.send(  rt.make(Result));
7292 
7293 }
7294 
7295 // wxLocale::GetSystemLanguage
wxLocale_GetSystemLanguage(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)7296 void wxLocale_GetSystemLanguage(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
7297 {
7298   int Result = wxLocale::GetSystemLanguage();
7299   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
7300   rt.send(  rt.make_int(Result));
7301 
7302 }
7303 
7304 // wxLocale::IsLoaded
wxLocale_IsLoaded(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)7305 void wxLocale_IsLoaded(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
7306 {
7307   ErlNifEnv *env = Ecmd.env;
7308   ERL_NIF_TERM * argv = Ecmd.args;
7309   wxLocale *This;
7310   This = (wxLocale *) memenv->getPtr(env, argv[0], "This");
7311   ErlNifBinary domain_bin;
7312   wxString domain;
7313   if(!enif_inspect_binary(env, argv[1], &domain_bin)) Badarg("domain");
7314   domain = wxString(domain_bin.data, wxConvUTF8, domain_bin.size);
7315   if(!This) throw wxe_badarg("This");
7316   bool Result = This->IsLoaded(domain);
7317   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
7318   rt.send(  rt.make_bool(Result));
7319 
7320 }
7321 
7322 // wxLocale::IsOk
wxLocale_IsOk(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)7323 void wxLocale_IsOk(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
7324 {
7325   ErlNifEnv *env = Ecmd.env;
7326   ERL_NIF_TERM * argv = Ecmd.args;
7327   wxLocale *This;
7328   This = (wxLocale *) memenv->getPtr(env, argv[0], "This");
7329   if(!This) throw wxe_badarg("This");
7330   bool Result = This->IsOk();
7331   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
7332   rt.send(  rt.make_bool(Result));
7333 
7334 }
7335 
7336 // wxLogNull::wxLogNull
wxLogNull_new(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)7337 void wxLogNull_new(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
7338 {
7339   wxLogNull * Result = new wxLogNull();
7340   app->newPtr((void *) Result, 230, memenv);
7341   wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
7342   rt.send(  rt.make_ref(app->getRef((void *)Result,memenv), "wxLogNull"));
7343 
7344 }
7345 
7346 // wxLogNull::~wxLogNull
wxLogNull_destruct(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)7347 void wxLogNull_destruct(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
7348 {
7349  ErlNifEnv *env = Ecmd.env;
7350  ERL_NIF_TERM * argv = Ecmd.args;
7351   wxLogNull *This;
7352   This = (wxLogNull *) memenv->getPtr(env, argv[0], "This");
7353  if(This) {   ((WxeApp *) wxTheApp)->clearPtr((void *) This);
7354    delete This;}
7355 }
7356 
7357