fxruby 1.6.36-x64-mingw32 → 1.6.37.rc1-x64-mingw32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/History.md +4 -0
- data/Rakefile +1 -1
- data/ext/fox16_c/FXRuby.cpp +146 -106
- data/ext/fox16_c/include/FXRuby.h +88 -108
- data/lib/fox16/version.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f526cc5181d1b89859829b21b2d28fb97e1b9174
|
4
|
+
data.tar.gz: '0284273aecb0357654a830e22149ad640a513a92'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: aacfb1da98448a1a7b9c09e5b5713a32243598bc9553486347c64156d35fa257799c72d8f2c20c665204c793cee6ac80766406204d1474a8031a1632fcad18be
|
7
|
+
data.tar.gz: d2ffd98e94531a9fc4b74c1c42b1cc3cca430b493a80a895ddfa324fe7f732ab8da1b99ae0af87a3a287446a646606fb38299c30821bb3b7332a0043d2b94f7e
|
data/History.md
CHANGED
data/Rakefile
CHANGED
@@ -43,7 +43,7 @@ class FoxGemHelper < Bundler::GemHelper
|
|
43
43
|
end
|
44
44
|
|
45
45
|
def headline
|
46
|
-
'([^\w]*)(\d+\.\d+\.\d+)([^\w]+)([2Y][0Y][0-9Y][0-9Y]-[0-1M][0-9M]-[0-3D][0-9D])([^\w]*|$)'
|
46
|
+
'([^\w]*)(\d+\.\d+\.\d+(?:\.\w+)?)([^\w]+)([2Y][0Y][0-9Y][0-9Y]-[0-1M][0-9M]-[0-3D][0-9D])([^\w]*|$)'
|
47
47
|
end
|
48
48
|
|
49
49
|
def reldate
|
data/ext/fox16_c/FXRuby.cpp
CHANGED
@@ -84,6 +84,10 @@ VALUE FXRbNewPointerObj(void *ptr,swig_type_info* ty){
|
|
84
84
|
return FXRbObjRegistry::main.NewBorrowedObj(ptr,ty);
|
85
85
|
}
|
86
86
|
|
87
|
+
VALUE FXRbNewPointerObjCb(void *ptr,swig_type_info* ty){
|
88
|
+
return SWIG_Ruby_NewPointerObj(ptr, ty, 1);
|
89
|
+
}
|
90
|
+
|
87
91
|
|
88
92
|
/**
|
89
93
|
* FXRbIsBorrowed() returns true if the specified C++ object is one that
|
@@ -119,35 +123,31 @@ void FXRbUnregisterRubyObj(const void* foxObj){
|
|
119
123
|
FXRbUnregisterRubyObj2(foxObj, true);
|
120
124
|
}
|
121
125
|
|
122
|
-
void FXRbUnregisterBorrowedRubyObj(const void* foxObj){
|
123
|
-
FXRbUnregisterRubyObj2( foxObj, false );
|
124
|
-
};
|
125
|
-
void FXRbUnregisterBorrowedRubyObj(FXlong foxObj){
|
126
|
-
};
|
127
|
-
void FXRbUnregisterBorrowedRubyObj(FXString& foxObj){
|
128
|
-
};
|
129
|
-
void FXRbUnregisterBorrowedRubyObj(FXRegion& foxObj){
|
130
|
-
FXRbUnregisterRubyObj2( &foxObj, false );
|
131
|
-
};
|
132
|
-
void FXRbUnregisterBorrowedRubyObj(FXRectangle& foxObj){
|
133
|
-
FXRbUnregisterRubyObj2( &foxObj, false );
|
134
|
-
};
|
135
|
-
void FXRbUnregisterBorrowedRubyObj(FXDC& foxObj){
|
136
|
-
FXRbUnregisterRubyObj2( &foxObj, false );
|
137
|
-
};
|
138
|
-
|
139
|
-
VALUE to_ruby(const FXObject* obj){
|
140
|
-
if(obj!=0){
|
141
|
-
FXString className=obj->getClassName();
|
142
|
-
if(className.length()>3){
|
143
|
-
if(className.left(4)=="FXRb"){ className.replace(0,4,"FX"); }
|
144
|
-
}
|
145
|
-
FXString desc=className+" *";
|
146
|
-
return FXRbGetRubyObj(obj,desc.text());
|
147
|
-
}
|
148
|
-
return Qnil;
|
149
|
-
}
|
150
126
|
|
127
|
+
/* We now have 3 types of FXObject wrappers:
|
128
|
+
*
|
129
|
+
* Own objects :
|
130
|
+
* These objects are allocated by FXRuby on the heap.
|
131
|
+
* They are free'd when the FXRuby wrapper is GC'ed and no other reference to the object exists.
|
132
|
+
* They are registered in FXRbObjRegistry as owned object.
|
133
|
+
* Tey are built per FXRbRegisterRubyObj().
|
134
|
+
*
|
135
|
+
* Borrowed objects :
|
136
|
+
* These objects are allocated by libfox on the heap.
|
137
|
+
* They are free'd by libfox when the owning fox object gets destroyed.
|
138
|
+
* Only the ruby wrapper is GC'ed.
|
139
|
+
* They are registered in FXRbObjRegistry as borrowed object.
|
140
|
+
* They are built per FXGetRubyObj().
|
141
|
+
*
|
142
|
+
* Callback objects :
|
143
|
+
* This is the new type.
|
144
|
+
* These objects are allocated by libfox on the heap or on the stack.
|
145
|
+
* They are wrapped for the time of one callback only, because stack memory is free'd afterwards.
|
146
|
+
* They are not registered in FXRbObjRegistry, but stored on the stack only.
|
147
|
+
* Therefore callback objects aren't re-used, but newly wrapped for each call.
|
148
|
+
* This is for arguments to ruby blocks.
|
149
|
+
* They are built per FXGetRubyObjCb().
|
150
|
+
*/
|
151
151
|
|
152
152
|
/**
|
153
153
|
* Return the registered Ruby class instance associated with this
|
@@ -159,7 +159,11 @@ VALUE FXRbGetRubyObj(const void *foxObj,bool alsoBorrowed, bool in_gc_mark){
|
|
159
159
|
|
160
160
|
/**
|
161
161
|
* Return the registered Ruby class instance associated with this
|
162
|
-
* FOX object, or a new registered instance if not found.
|
162
|
+
* FOX object, or a new registered instance of a borrowed object if not found.
|
163
|
+
*
|
164
|
+
* This is suitable for objects on the heap, but not suitable for callbacks,
|
165
|
+
* because callback values might be on the stack.
|
166
|
+
* These stack objects should not be registered, because they are temporary only.
|
163
167
|
*/
|
164
168
|
VALUE FXRbGetRubyObj(const void *foxObj,swig_type_info* ty){
|
165
169
|
if(foxObj!=0){
|
@@ -180,6 +184,48 @@ VALUE FXRbGetRubyObj(const void *foxObj,const char *type){
|
|
180
184
|
return FXRbGetRubyObj(foxObj, FXRbTypeQuery(type));
|
181
185
|
}
|
182
186
|
|
187
|
+
/* Get an already registered object or wrap a new one for use in a callback.
|
188
|
+
*
|
189
|
+
* This is suitable for objects on the heap or on the stack.
|
190
|
+
* If an object is already registered per FXRbGetRubyObj(), this instance is returned.
|
191
|
+
* If it is not registered, a new wrapping object is built and returned, but is not registered.
|
192
|
+
*/
|
193
|
+
VALUE FXRbGetRubyObjCb(const void *foxObj,swig_type_info* ty){
|
194
|
+
if(foxObj!=0){
|
195
|
+
VALUE rbObj=FXRbGetRubyObj(foxObj, true);
|
196
|
+
if( NIL_P(rbObj) ){
|
197
|
+
return FXRbNewPointerObjCb(const_cast<void*>(foxObj), ty);
|
198
|
+
}else{
|
199
|
+
// The requested type should match the registered class.
|
200
|
+
FXASSERT(SWIG_CheckConvert(rbObj, ty));
|
201
|
+
return rbObj;
|
202
|
+
}
|
203
|
+
}else{
|
204
|
+
return Qnil;
|
205
|
+
}
|
206
|
+
}
|
207
|
+
|
208
|
+
static VALUE to_ruby_obj(const FXObject* obj, VALUE (*get_value)(const void*, swig_type_info*)){
|
209
|
+
if(obj){
|
210
|
+
FXString className = obj->getClassName();
|
211
|
+
if(className.length() > 3){
|
212
|
+
if(className.left(4)=="FXRb"){ className.replace(0,4,"FX"); }
|
213
|
+
}
|
214
|
+
FXString desc = className+" *";
|
215
|
+
return get_value(obj, FXRbTypeQuery(desc.text()));
|
216
|
+
}
|
217
|
+
return Qnil;
|
218
|
+
}
|
219
|
+
|
220
|
+
VALUE to_ruby(const FXObject* obj){
|
221
|
+
return to_ruby_obj(obj, FXRbGetRubyObj);
|
222
|
+
}
|
223
|
+
|
224
|
+
VALUE to_ruby_cb(const FXObject* obj){
|
225
|
+
return to_ruby_obj(obj, FXRbGetRubyObjCb);
|
226
|
+
}
|
227
|
+
|
228
|
+
|
183
229
|
/**
|
184
230
|
* Look up the Ruby instance associated with this C++ object, if any, and mark
|
185
231
|
* that instance as in use.
|
@@ -255,7 +301,7 @@ VALUE FXRbMakeArray(const FXchar* dashpattern,FXuint dashlength){
|
|
255
301
|
VALUE FXRbMakeArray(const FXArc* arcs,FXuint narcs){
|
256
302
|
VALUE result=rb_ary_new();
|
257
303
|
for(FXuint i=0; i<narcs; i++)
|
258
|
-
rb_ary_push(result,
|
304
|
+
rb_ary_push(result, FXRbNewPointerObjCb(const_cast<FXArc*>(&arcs[i]), FXRbTypeQuery("FXArc *")));
|
259
305
|
return result;
|
260
306
|
}
|
261
307
|
|
@@ -263,7 +309,7 @@ VALUE FXRbMakeArray(const FXArc* arcs,FXuint narcs){
|
|
263
309
|
VALUE FXRbMakeArray(const FXPoint* points,FXuint npoints){
|
264
310
|
VALUE result=rb_ary_new();
|
265
311
|
for(FXuint i=0; i<npoints; i++)
|
266
|
-
rb_ary_push(result,
|
312
|
+
rb_ary_push(result,FXRbNewPointerObjCb(const_cast<FXPoint*>(&points[i]), FXRbTypeQuery("FXPoint *")));
|
267
313
|
return result;
|
268
314
|
}
|
269
315
|
|
@@ -271,7 +317,7 @@ VALUE FXRbMakeArray(const FXPoint* points,FXuint npoints){
|
|
271
317
|
VALUE FXRbMakeArray(const FXRectangle* rectangles,FXuint nrectangles){
|
272
318
|
VALUE result=rb_ary_new();
|
273
319
|
for(FXuint i=0; i<nrectangles; i++)
|
274
|
-
rb_ary_push(result,
|
320
|
+
rb_ary_push(result,FXRbNewPointerObjCb(const_cast<FXRectangle*>(&rectangles[i]), FXRbTypeQuery("FXRectangle *")));
|
275
321
|
return result;
|
276
322
|
}
|
277
323
|
|
@@ -279,7 +325,7 @@ VALUE FXRbMakeArray(const FXRectangle* rectangles,FXuint nrectangles){
|
|
279
325
|
VALUE FXRbMakeArray(const FXSegment* segments,FXuint nsegments){
|
280
326
|
VALUE result=rb_ary_new();
|
281
327
|
for(FXuint i=0; i<nsegments; i++)
|
282
|
-
rb_ary_push(result,
|
328
|
+
rb_ary_push(result,FXRbNewPointerObjCb(const_cast<FXSegment*>(&segments[i]), FXRbTypeQuery("FXSegment *")));
|
283
329
|
return result;
|
284
330
|
}
|
285
331
|
|
@@ -394,13 +440,13 @@ static VALUE FXRbConvertMessageData(FXObject* sender,FXObject* recv,FXSelector s
|
|
394
440
|
type==SEL_PICKED ||
|
395
441
|
type==SEL_SESSION_NOTIFY ||
|
396
442
|
type==SEL_SESSION_CLOSED) {
|
397
|
-
return
|
443
|
+
return to_ruby_cb(reinterpret_cast<FXEvent*>(ptr));
|
398
444
|
}
|
399
445
|
else if(type==SEL_DRAGGED && !sender->isMemberOf(FXMETACLASS(FXGLViewer))){
|
400
|
-
return
|
446
|
+
return to_ruby_cb(reinterpret_cast<FXEvent*>(ptr));
|
401
447
|
}
|
402
448
|
else if(type==SEL_SIGNAL){
|
403
|
-
return
|
449
|
+
return to_ruby_cb(static_cast<int>(reinterpret_cast<FXuval>(ptr)));
|
404
450
|
}
|
405
451
|
else if(type==SEL_IO_READ ||
|
406
452
|
type==SEL_IO_WRITE ||
|
@@ -422,37 +468,37 @@ static VALUE FXRbConvertMessageData(FXObject* sender,FXObject* recv,FXSelector s
|
|
422
468
|
if(type==SEL_CHANGED||type==SEL_COMMAND) return Qnil;
|
423
469
|
}
|
424
470
|
else if(sender->isMemberOf(FXMETACLASS(FXArrowButton))){
|
425
|
-
if(type==SEL_COMMAND) return
|
471
|
+
if(type==SEL_COMMAND) return to_ruby_cb(static_cast<FXuint>(reinterpret_cast<FXuval>(ptr)));
|
426
472
|
}
|
427
473
|
else if(sender->isMemberOf(FXMETACLASS(FXPicker))){
|
428
|
-
if(type==SEL_COMMAND || type==SEL_CHANGED) return
|
474
|
+
if(type==SEL_COMMAND || type==SEL_CHANGED) return to_ruby_cb(reinterpret_cast<FXPoint*>(ptr));
|
429
475
|
}
|
430
476
|
else if(sender->isMemberOf(FXMETACLASS(FXButton))){
|
431
477
|
if(type==SEL_CLICKED ||
|
432
478
|
type==SEL_DOUBLECLICKED ||
|
433
479
|
type==SEL_TRIPLECLICKED ||
|
434
|
-
type==SEL_COMMAND) return
|
480
|
+
type==SEL_COMMAND) return to_ruby_cb(static_cast<FXuint>(reinterpret_cast<FXuval>(ptr)));
|
435
481
|
}
|
436
482
|
else if(sender->isMemberOf(FXMETACLASS(FXCheckButton))){
|
437
|
-
if(type==SEL_COMMAND) return
|
483
|
+
if(type==SEL_COMMAND) return to_ruby_cb(static_cast<FXuchar>(reinterpret_cast<FXuval>(ptr)));
|
438
484
|
}
|
439
485
|
else if(sender->isMemberOf(FXMETACLASS(FXColorBar))){
|
440
486
|
if(type==SEL_CHANGED || type==SEL_COMMAND){
|
441
487
|
FXfloat* hsv=reinterpret_cast<FXfloat*>(ptr);
|
442
|
-
return rb_ary_new3(3,
|
488
|
+
return rb_ary_new3(3,to_ruby_cb(hsv[0]),to_ruby_cb(hsv[1]),to_ruby_cb(hsv[2]));
|
443
489
|
}
|
444
490
|
}
|
445
491
|
else if(sender->isMemberOf(FXMETACLASS(FXColorDialog))){
|
446
|
-
if(type==SEL_CHANGED || type==SEL_COMMAND) return
|
492
|
+
if(type==SEL_CHANGED || type==SEL_COMMAND) return to_ruby_cb(static_cast<FXColor>(reinterpret_cast<FXuval>(ptr)));
|
447
493
|
}
|
448
494
|
else if(sender->isMemberOf(FXMETACLASS(FXColorRing))){
|
449
495
|
if(type==SEL_CHANGED || type==SEL_COMMAND){
|
450
496
|
FXfloat* hsv=reinterpret_cast<FXfloat*>(ptr);
|
451
|
-
return rb_ary_new3(3,
|
497
|
+
return rb_ary_new3(3,to_ruby_cb(hsv[0]),to_ruby_cb(hsv[1]),to_ruby_cb(hsv[2]));
|
452
498
|
}
|
453
499
|
}
|
454
500
|
else if(sender->isMemberOf(FXMETACLASS(FXColorSelector))){
|
455
|
-
if(type==SEL_CHANGED || type==SEL_COMMAND) return
|
501
|
+
if(type==SEL_CHANGED || type==SEL_COMMAND) return to_ruby_cb(static_cast<FXColor>(reinterpret_cast<FXuval>(ptr)));
|
456
502
|
}
|
457
503
|
else if(sender->isMemberOf(FXMETACLASS(FXColorWell))){
|
458
504
|
if(type==SEL_CHANGED ||
|
@@ -460,29 +506,29 @@ static VALUE FXRbConvertMessageData(FXObject* sender,FXObject* recv,FXSelector s
|
|
460
506
|
type==SEL_CLICKED ||
|
461
507
|
type==SEL_DOUBLECLICKED ||
|
462
508
|
type==SEL_TRIPLECLICKED) {
|
463
|
-
VALUE v=
|
509
|
+
VALUE v=to_ruby_cb(static_cast<FXColor>(reinterpret_cast<FXuval>(ptr)));
|
464
510
|
return v;
|
465
511
|
}
|
466
512
|
}
|
467
513
|
else if(sender->isMemberOf(FXMETACLASS(FXColorWheel))){
|
468
514
|
if(type==SEL_CHANGED || type==SEL_COMMAND){
|
469
515
|
FXfloat* hsv=reinterpret_cast<FXfloat*>(ptr);
|
470
|
-
return rb_ary_new3(3,
|
516
|
+
return rb_ary_new3(3,to_ruby_cb(hsv[0]),to_ruby_cb(hsv[1]),to_ruby_cb(hsv[2]));
|
471
517
|
}
|
472
518
|
}
|
473
519
|
else if(sender->isMemberOf(FXMETACLASS(FXComboBox))){
|
474
|
-
if(type==SEL_CHANGED || type==SEL_COMMAND) return
|
520
|
+
if(type==SEL_CHANGED || type==SEL_COMMAND) return to_ruby_cb(reinterpret_cast<FXchar*>(ptr));
|
475
521
|
}
|
476
522
|
else if(sender->isMemberOf(FXMETACLASS(FXDataTarget))){
|
477
523
|
if(type==SEL_COMMAND || type==SEL_CHANGED){
|
478
524
|
if(recv->isMemberOf(FXMETACLASS(FXWindow))){
|
479
525
|
switch(id){
|
480
526
|
case FXWindow::ID_SETINTVALUE:
|
481
|
-
return
|
527
|
+
return to_ruby_cb(*reinterpret_cast<FXint*>(ptr));
|
482
528
|
case FXWindow::ID_SETREALVALUE:
|
483
|
-
return
|
529
|
+
return to_ruby_cb(*reinterpret_cast<FXdouble*>(ptr));
|
484
530
|
case FXWindow::ID_SETSTRINGVALUE:
|
485
|
-
return
|
531
|
+
return to_ruby_cb(*reinterpret_cast<FXString*>(ptr));
|
486
532
|
case FXWindow::ID_GETINTVALUE:
|
487
533
|
case FXWindow::ID_GETREALVALUE:
|
488
534
|
case FXWindow::ID_GETSTRINGVALUE:
|
@@ -500,20 +546,20 @@ static VALUE FXRbConvertMessageData(FXObject* sender,FXObject* recv,FXSelector s
|
|
500
546
|
}
|
501
547
|
}
|
502
548
|
else if(sender->isMemberOf(FXMETACLASS(FXDial))){
|
503
|
-
if(type==SEL_CHANGED || type==SEL_COMMAND) return
|
549
|
+
if(type==SEL_CHANGED || type==SEL_COMMAND) return to_ruby_cb(static_cast<FXint>(reinterpret_cast<FXival>(ptr)));
|
504
550
|
}
|
505
551
|
else if(sender->isMemberOf(FXMETACLASS(FXDirBox))){
|
506
|
-
if(type==SEL_CHANGED || type==SEL_COMMAND) return
|
552
|
+
if(type==SEL_CHANGED || type==SEL_COMMAND) return to_ruby_cb(reinterpret_cast<FXchar*>(ptr));
|
507
553
|
}
|
508
554
|
else if(sender->isMemberOf(FXMETACLASS(FXDockBar))){
|
509
|
-
if(type==SEL_DOCKED || type==SEL_FLOATED) return
|
555
|
+
if(type==SEL_DOCKED || type==SEL_FLOATED) return FXRbGetRubyObjCb(ptr,FXRbTypeQuery("FXDockSite *"));
|
510
556
|
}
|
511
557
|
else if(sender->isMemberOf(FXMETACLASS(FXFileList))){
|
512
558
|
if (type==SEL_CHANGED ||
|
513
559
|
type==SEL_CLICKED ||
|
514
560
|
type==SEL_DOUBLECLICKED ||
|
515
561
|
type==SEL_TRIPLECLICKED ||
|
516
|
-
type==SEL_COMMAND) return
|
562
|
+
type==SEL_COMMAND) return to_ruby_cb(static_cast<FXint>(reinterpret_cast<FXival>(ptr)));
|
517
563
|
}
|
518
564
|
else if(sender->isMemberOf(FXMETACLASS(FXFoldingList))){
|
519
565
|
if(type==SEL_COLLAPSED ||
|
@@ -529,7 +575,7 @@ static VALUE FXRbConvertMessageData(FXObject* sender,FXObject* recv,FXSelector s
|
|
529
575
|
type==SEL_DESELECTED ||
|
530
576
|
type==SEL_INSERTED ||
|
531
577
|
type==SEL_DELETED){
|
532
|
-
return
|
578
|
+
return FXRbGetRubyObjCb(ptr,FXRbTypeQuery("FXFoldingItem *"));
|
533
579
|
}
|
534
580
|
}
|
535
581
|
else if(sender->isMemberOf(FXMETACLASS(FXGLViewer))){
|
@@ -538,13 +584,13 @@ static VALUE FXRbConvertMessageData(FXObject* sender,FXObject* recv,FXSelector s
|
|
538
584
|
type==SEL_DOUBLECLICKED ||
|
539
585
|
type==SEL_TRIPLECLICKED ||
|
540
586
|
type==SEL_DRAGGED){
|
541
|
-
return
|
587
|
+
return FXRbGetRubyObjCb(ptr,FXRbTypeQuery("FXGLObject *"));
|
542
588
|
}
|
543
589
|
else if(type==SEL_COMMAND){
|
544
590
|
if(id==FXWindow::ID_QUERY_MENU)
|
545
|
-
return
|
591
|
+
return to_ruby_cb(reinterpret_cast<FXEvent*>(ptr));
|
546
592
|
else
|
547
|
-
return
|
593
|
+
return FXRbGetRubyObjCb(ptr,FXRbTypeQuery("FXGLObject *"));
|
548
594
|
}
|
549
595
|
else if(type==SEL_LASSOED ||
|
550
596
|
type==SEL_INSERTED ||
|
@@ -559,7 +605,7 @@ static VALUE FXRbConvertMessageData(FXObject* sender,FXObject* recv,FXSelector s
|
|
559
605
|
}
|
560
606
|
else if(sender->isMemberOf(FXMETACLASS(FXGradientBar))){
|
561
607
|
if(type==SEL_CHANGED){
|
562
|
-
return
|
608
|
+
return to_ruby_cb(static_cast<FXint>(reinterpret_cast<FXival>(ptr)));
|
563
609
|
}
|
564
610
|
else if(type==SEL_SELECTED || type==SEL_DESELECTED){
|
565
611
|
return Qnil;
|
@@ -571,7 +617,7 @@ static VALUE FXRbConvertMessageData(FXObject* sender,FXObject* recv,FXSelector s
|
|
571
617
|
type==SEL_CLICKED ||
|
572
618
|
type==SEL_REPLACED ||
|
573
619
|
type==SEL_INSERTED ||
|
574
|
-
type==SEL_DELETED) return
|
620
|
+
type==SEL_DELETED) return to_ruby_cb(static_cast<FXint>(reinterpret_cast<FXival>(ptr)));
|
575
621
|
}
|
576
622
|
else if(sender->isMemberOf(FXMETACLASS(FXIconList))){
|
577
623
|
if(type==SEL_CHANGED ||
|
@@ -583,10 +629,10 @@ static VALUE FXRbConvertMessageData(FXObject* sender,FXObject* recv,FXSelector s
|
|
583
629
|
type==SEL_DESELECTED ||
|
584
630
|
type==SEL_REPLACED ||
|
585
631
|
type==SEL_INSERTED ||
|
586
|
-
type==SEL_DELETED) return
|
632
|
+
type==SEL_DELETED) return to_ruby_cb(static_cast<FXint>(reinterpret_cast<FXival>(ptr)));
|
587
633
|
}
|
588
634
|
else if(sender->isMemberOf(FXMETACLASS(FXKnob))){
|
589
|
-
if(type==SEL_CHANGED || type==SEL_COMMAND) return
|
635
|
+
if(type==SEL_CHANGED || type==SEL_COMMAND) return to_ruby_cb(static_cast<FXint>(reinterpret_cast<FXival>(ptr)));
|
590
636
|
}
|
591
637
|
else if(sender->isMemberOf(FXMETACLASS(FXList))){
|
592
638
|
if(type==SEL_CHANGED ||
|
@@ -598,10 +644,10 @@ static VALUE FXRbConvertMessageData(FXObject* sender,FXObject* recv,FXSelector s
|
|
598
644
|
type==SEL_REPLACED ||
|
599
645
|
type==SEL_INSERTED ||
|
600
646
|
type==SEL_DELETED ||
|
601
|
-
type==SEL_COMMAND) return
|
647
|
+
type==SEL_COMMAND) return to_ruby_cb(static_cast<FXint>(reinterpret_cast<FXival>(ptr)));
|
602
648
|
}
|
603
649
|
else if(sender->isMemberOf(FXMETACLASS(FXListBox))){
|
604
|
-
if(type==SEL_COMMAND) return
|
650
|
+
if(type==SEL_COMMAND) return to_ruby_cb(static_cast<FXint>(reinterpret_cast<FXival>(ptr)));
|
605
651
|
else if(type==SEL_CHANGED) return Qnil;
|
606
652
|
}
|
607
653
|
else if(sender->isMemberOf(FXMETACLASS(FXMDIChild))){
|
@@ -613,66 +659,66 @@ static VALUE FXRbConvertMessageData(FXObject* sender,FXObject* recv,FXSelector s
|
|
613
659
|
}
|
614
660
|
else if(type==SEL_SELECTED ||
|
615
661
|
type==SEL_DESELECTED){
|
616
|
-
return
|
662
|
+
return FXRbGetRubyObjCb(ptr,FXRbTypeQuery("FXMDIChild *"));
|
617
663
|
}
|
618
664
|
}
|
619
665
|
else if(sender->isMemberOf(FXMETACLASS(FXMDIClient))){
|
620
|
-
if(type==SEL_CHANGED) return
|
666
|
+
if(type==SEL_CHANGED) return FXRbGetRubyObjCb(ptr,FXRbTypeQuery("FXMDIChild *"));
|
621
667
|
}
|
622
668
|
else if(sender->isMemberOf(FXMETACLASS(FXMenuCheck))){
|
623
|
-
if(type==SEL_COMMAND) return
|
669
|
+
if(type==SEL_COMMAND) return to_ruby_cb(reinterpret_cast<FXuval>(ptr));
|
624
670
|
}
|
625
671
|
else if(sender->isMemberOf(FXMETACLASS(FXMenuRadio))){
|
626
|
-
if(type==SEL_COMMAND) return
|
672
|
+
if(type==SEL_COMMAND) return to_ruby_cb(reinterpret_cast<FXuval>(ptr));
|
627
673
|
}
|
628
674
|
else if(sender->isMemberOf(FXMETACLASS(FXMenuCommand))){
|
629
|
-
if(type==SEL_COMMAND) return
|
675
|
+
if(type==SEL_COMMAND) return to_ruby_cb(true);
|
630
676
|
}
|
631
677
|
else if(sender->isMemberOf(FXMETACLASS(FXOption))){
|
632
|
-
if(type==SEL_COMMAND) return
|
678
|
+
if(type==SEL_COMMAND) return to_ruby_cb(reinterpret_cast<FXEvent*>(ptr));
|
633
679
|
}
|
634
680
|
else if(sender->isMemberOf(FXMETACLASS(FXOptionMenu))){
|
635
|
-
if(type==SEL_COMMAND) return
|
681
|
+
if(type==SEL_COMMAND) return to_ruby_cb(static_cast<FXint>(reinterpret_cast<FXival>(ptr)));
|
636
682
|
}
|
637
683
|
else if(sender->isMemberOf(FXMETACLASS(FXRadioButton))){
|
638
|
-
if(type==SEL_COMMAND) return
|
684
|
+
if(type==SEL_COMMAND) return to_ruby_cb(static_cast<FXuchar>(reinterpret_cast<FXuval>(ptr)));
|
639
685
|
}
|
640
686
|
else if(sender->isMemberOf(FXMETACLASS(FXRealSlider))){
|
641
687
|
if(type==SEL_CHANGED || type==SEL_COMMAND)
|
642
|
-
return
|
688
|
+
return to_ruby_cb(*(reinterpret_cast<FXdouble *>(ptr)));
|
643
689
|
}
|
644
690
|
else if(sender->isMemberOf(FXMETACLASS(FXRealSpinner))){
|
645
|
-
if(type==SEL_COMMAND || type==SEL_CHANGED) return
|
691
|
+
if(type==SEL_COMMAND || type==SEL_CHANGED) return to_ruby_cb(*(reinterpret_cast<FXdouble *>(ptr)));
|
646
692
|
}
|
647
693
|
else if(sender->isMemberOf(FXMETACLASS(FXRecentFiles))){
|
648
|
-
if(type==SEL_COMMAND) return
|
694
|
+
if(type==SEL_COMMAND) return to_ruby_cb(reinterpret_cast<FXchar*>(ptr));
|
649
695
|
}
|
650
696
|
else if(sender->isMemberOf(FXMETACLASS(FXRuler))){
|
651
697
|
if(type==SEL_CHANGED) return Qnil;
|
652
698
|
}
|
653
699
|
else if(sender->isMemberOf(FXMETACLASS(FXScrollBar))){
|
654
|
-
if(type==SEL_CHANGED || type==SEL_COMMAND) return
|
700
|
+
if(type==SEL_CHANGED || type==SEL_COMMAND) return to_ruby_cb(static_cast<FXint>(reinterpret_cast<FXival>(ptr)));
|
655
701
|
}
|
656
702
|
else if(sender->isMemberOf(FXMETACLASS(FXShutter))){
|
657
|
-
if(type==SEL_COMMAND) return
|
703
|
+
if(type==SEL_COMMAND) return to_ruby_cb(static_cast<FXint>(reinterpret_cast<FXival>(ptr)));
|
658
704
|
}
|
659
705
|
else if(sender->isMemberOf(FXMETACLASS(FXSlider))){
|
660
706
|
if(type==SEL_CHANGED || type==SEL_COMMAND)
|
661
|
-
return
|
707
|
+
return to_ruby_cb(static_cast<FXint>(reinterpret_cast<FXival>(ptr)));
|
662
708
|
}
|
663
709
|
else if(sender->isMemberOf(FXMETACLASS(FXSpinner))){
|
664
710
|
if(type==SEL_CHANGED || type==SEL_COMMAND)
|
665
|
-
return
|
711
|
+
return to_ruby_cb(static_cast<FXint>(reinterpret_cast<FXuval>(ptr)));
|
666
712
|
}
|
667
713
|
else if(sender->isMemberOf(FXMETACLASS(FXSplitter))){
|
668
714
|
if(type==SEL_CHANGED || type==SEL_COMMAND)
|
669
|
-
return
|
715
|
+
return to_ruby_cb(reinterpret_cast<FXWindow *>(ptr));
|
670
716
|
}
|
671
717
|
else if(sender->isMemberOf(FXMETACLASS(FXSwitcher))){
|
672
|
-
if(type==SEL_COMMAND) return
|
718
|
+
if(type==SEL_COMMAND) return to_ruby_cb(static_cast<FXint>(reinterpret_cast<FXival>(ptr)));
|
673
719
|
}
|
674
720
|
else if(sender->isMemberOf(FXMETACLASS(FXTabBar))){
|
675
|
-
if(type==SEL_COMMAND) return
|
721
|
+
if(type==SEL_COMMAND) return to_ruby_cb(static_cast<FXint>(reinterpret_cast<FXival>(ptr)));
|
676
722
|
}
|
677
723
|
else if(sender->isMemberOf(FXMETACLASS(FXTable))){
|
678
724
|
if(type==SEL_CLICKED ||
|
@@ -681,11 +727,11 @@ static VALUE FXRbConvertMessageData(FXObject* sender,FXObject* recv,FXSelector s
|
|
681
727
|
type==SEL_CHANGED ||
|
682
728
|
type==SEL_COMMAND ||
|
683
729
|
type==SEL_SELECTED ||
|
684
|
-
type == SEL_DESELECTED) return
|
730
|
+
type == SEL_DESELECTED) return to_ruby_cb(reinterpret_cast<FXTablePos*>(ptr));
|
685
731
|
else if(type == SEL_INSERTED ||
|
686
732
|
type == SEL_DELETED ||
|
687
733
|
type == SEL_REPLACED){
|
688
|
-
return
|
734
|
+
return to_ruby_cb(reinterpret_cast<FXTableRange*>(ptr));
|
689
735
|
}
|
690
736
|
}
|
691
737
|
else if(sender->isMemberOf(FXMETACLASS(FXText))){
|
@@ -702,31 +748,31 @@ static VALUE FXRbConvertMessageData(FXObject* sender,FXObject* recv,FXSelector s
|
|
702
748
|
}
|
703
749
|
}
|
704
750
|
else if(type==SEL_CHANGED){
|
705
|
-
return
|
751
|
+
return to_ruby_cb(static_cast<FXint>(reinterpret_cast<FXival>(ptr)));
|
706
752
|
}
|
707
753
|
else if(type==SEL_SELECTED ||
|
708
754
|
type == SEL_DESELECTED) {
|
709
755
|
FXint* what=reinterpret_cast<FXint*>(ptr);
|
710
756
|
FXASSERT(what!=0);
|
711
757
|
VALUE ary=rb_ary_new();
|
712
|
-
rb_ary_push(ary,
|
713
|
-
rb_ary_push(ary,
|
758
|
+
rb_ary_push(ary,to_ruby_cb(what[0])); // start position of text
|
759
|
+
rb_ary_push(ary,to_ruby_cb(what[1])); // length of text
|
714
760
|
return ary;
|
715
761
|
}
|
716
762
|
else if(type==SEL_INSERTED || type==SEL_DELETED || type==SEL_REPLACED) {
|
717
|
-
return
|
763
|
+
return to_ruby_cb(reinterpret_cast<FXTextChange*>(ptr));
|
718
764
|
}
|
719
765
|
}
|
720
766
|
else if(sender->isMemberOf(FXMETACLASS(FXTextField))){
|
721
767
|
if(type==SEL_CHANGED ||
|
722
768
|
type==SEL_COMMAND ||
|
723
|
-
type==SEL_VERIFY) return
|
769
|
+
type==SEL_VERIFY) return to_ruby_cb(reinterpret_cast<FXchar*>(ptr));
|
724
770
|
}
|
725
771
|
else if(sender->isMemberOf(FXMETACLASS(FXToggleButton))){
|
726
|
-
if(type==SEL_COMMAND) return
|
772
|
+
if(type==SEL_COMMAND) return to_ruby_cb(static_cast<FXuchar>(reinterpret_cast<FXuval>(ptr)));
|
727
773
|
}
|
728
774
|
else if(sender->isMemberOf(FXMETACLASS(FXToolBarTab))){
|
729
|
-
if (type==SEL_COMMAND) return
|
775
|
+
if (type==SEL_COMMAND) return to_ruby_cb(static_cast<FXbool>(reinterpret_cast<FXuval>(ptr)));
|
730
776
|
}
|
731
777
|
else if(sender->isMemberOf(FXMETACLASS(FXTopWindow))){
|
732
778
|
if(type==SEL_MINIMIZE ||
|
@@ -737,7 +783,7 @@ static VALUE FXRbConvertMessageData(FXObject* sender,FXObject* recv,FXSelector s
|
|
737
783
|
}
|
738
784
|
else if (type==SEL_SESSION_NOTIFY ||
|
739
785
|
type==SEL_SESSION_CLOSED) {
|
740
|
-
return
|
786
|
+
return to_ruby_cb(reinterpret_cast<FXEvent*>(ptr));
|
741
787
|
}
|
742
788
|
}
|
743
789
|
else if(sender->isMemberOf(FXMETACLASS(FXTreeList))){
|
@@ -754,17 +800,17 @@ static VALUE FXRbConvertMessageData(FXObject* sender,FXObject* recv,FXSelector s
|
|
754
800
|
type==SEL_DESELECTED ||
|
755
801
|
type==SEL_INSERTED ||
|
756
802
|
type==SEL_DELETED){
|
757
|
-
return
|
803
|
+
return FXRbGetRubyObjCb(ptr,FXRbTypeQuery("FXTreeItem *"));
|
758
804
|
}
|
759
805
|
}
|
760
806
|
else if(sender->isMemberOf(FXMETACLASS(FXTreeListBox))){
|
761
807
|
if(type==SEL_CHANGED || type==SEL_COMMAND)
|
762
|
-
return
|
808
|
+
return FXRbGetRubyObjCb(ptr,FXRbTypeQuery("FXTreeItem *"));
|
763
809
|
}
|
764
810
|
#ifdef WITH_FXSCINTILLA
|
765
811
|
else if(sender->isMemberOf(FXMETACLASS(FXScintilla))){
|
766
812
|
if(type==SEL_COMMAND){
|
767
|
-
return
|
813
|
+
return FXRbGetRubyObjCb(ptr,FXRbTypeQuery("SCNotification *"));
|
768
814
|
}
|
769
815
|
}
|
770
816
|
#endif
|
@@ -1133,9 +1179,9 @@ FXbool FXRbCatchExceptions=FALSE;
|
|
1133
1179
|
// Call the designated function and return its result (which should be a long).
|
1134
1180
|
long FXRbHandleMessage_gvlcb(FXObject* recv,ID func,FXObject* sender,FXSelector key,void* ptr){
|
1135
1181
|
FXRbHandleArgs hArgs;
|
1136
|
-
hArgs.recv=
|
1137
|
-
hArgs.sender=
|
1138
|
-
hArgs.key=
|
1182
|
+
hArgs.recv=to_ruby_cb(recv);
|
1183
|
+
hArgs.sender=to_ruby_cb(sender);
|
1184
|
+
hArgs.key=to_ruby_cb(key);
|
1139
1185
|
hArgs.data=FXRbConvertMessageData(sender,recv,key,ptr);
|
1140
1186
|
hArgs.id=func;
|
1141
1187
|
hArgs.nargs=3;
|
@@ -1152,10 +1198,6 @@ long FXRbHandleMessage_gvlcb(FXObject* recv,ID func,FXObject* sender,FXSelector
|
|
1152
1198
|
retval=handle_body(reinterpret_cast<VALUE>(&hArgs));
|
1153
1199
|
}
|
1154
1200
|
|
1155
|
-
FXRbUnregisterBorrowedRubyObj(recv);
|
1156
|
-
FXRbUnregisterBorrowedRubyObj(sender);
|
1157
|
-
FXRbUnregisterBorrowedRubyObj(ptr);
|
1158
|
-
|
1159
1201
|
/**
|
1160
1202
|
* Process the return value. For boolean return values, convert "true"
|
1161
1203
|
* to 1 and "false" to zero. For numeric types, convert it to a long value
|
@@ -1306,8 +1348,7 @@ FXTableItem* FXRbCallTableItemMethod_gvlcb(FXTable* recv,const char *func,const
|
|
1306
1348
|
VALUE itemData=(ptr==0)?Qnil:reinterpret_cast<VALUE>(ptr);
|
1307
1349
|
VALUE obj=FXRbGetRubyObj(recv,false);
|
1308
1350
|
FXASSERT(!NIL_P(obj));
|
1309
|
-
VALUE result=rb_funcall(obj,rb_intern(func),3,to_ruby(text),
|
1310
|
-
FXRbUnregisterBorrowedRubyObj(icon);
|
1351
|
+
VALUE result=rb_funcall(obj,rb_intern(func),3,to_ruby(text),to_ruby_cb(icon),itemData);
|
1311
1352
|
return NIL_P(result)?0:reinterpret_cast<FXTableItem*>(DATA_PTR(result));
|
1312
1353
|
}
|
1313
1354
|
|
@@ -1364,8 +1405,7 @@ FXIcon* FXRbCallIconMethod_gvlcb(const FXTableItem* recv,const char *func){
|
|
1364
1405
|
FXWindow* FXRbCallWindowMethod_gvlcb(const FXTableItem* recv,const char *func,FXTable* table){
|
1365
1406
|
VALUE obj=FXRbGetRubyObj(recv,false);
|
1366
1407
|
FXASSERT(!NIL_P(obj));
|
1367
|
-
VALUE result=rb_funcall(obj,rb_intern(func),1,
|
1368
|
-
FXRbUnregisterBorrowedRubyObj(table);
|
1408
|
+
VALUE result=rb_funcall(obj,rb_intern(func),1,to_ruby_cb(table));
|
1369
1409
|
return NIL_P(result) ? 0 : reinterpret_cast<FXWindow*>(DATA_PTR(result));
|
1370
1410
|
}
|
1371
1411
|
|
@@ -64,6 +64,7 @@ VALUE showHelper(VALUE self, int argc, VALUE *argv, TYPE *p, swig_type_info *typ
|
|
64
64
|
|
65
65
|
// Wrapper around SWIG_Ruby_NewPointerObj()
|
66
66
|
VALUE FXRbNewPointerObj(void *ptr, swig_type_info *typeinfo);
|
67
|
+
VALUE FXRbNewPointerObjCb(void *ptr, swig_type_info *typeinfo);
|
67
68
|
bool FXRbIsBorrowed(void* ptr);
|
68
69
|
bool FXRbSetInGC(const void* ptr, bool enabled);
|
69
70
|
bool FXRbIsInGC(const void* ptr);
|
@@ -86,12 +87,6 @@ void FXRbRegisterRubyObj(VALUE rubyObj, const void* foxObj);
|
|
86
87
|
// Remove mapping for this FOX object and zero out any pointers
|
87
88
|
// to this (now dead) C++ object held by any Ruby object
|
88
89
|
void FXRbUnregisterRubyObj(const void* foxObj);
|
89
|
-
void FXRbUnregisterBorrowedRubyObj(const void* foxObj);
|
90
|
-
void FXRbUnregisterBorrowedRubyObj(FXlong foxObj);
|
91
|
-
void FXRbUnregisterBorrowedRubyObj(FXString& foxObj);
|
92
|
-
void FXRbUnregisterBorrowedRubyObj(FXRegion& foxObj);
|
93
|
-
void FXRbUnregisterBorrowedRubyObj(FXRectangle& foxObj);
|
94
|
-
void FXRbUnregisterBorrowedRubyObj(FXDC& foxObj);
|
95
90
|
|
96
91
|
// Register an object that must be destroyed before FXApp is destroyed
|
97
92
|
void FXRbRegisterAppSensitiveObject(FXObject* obj);
|
@@ -117,6 +112,8 @@ VALUE FXRbGetRubyObj(const void *foxObj, bool searchBoth, bool in_gc_mark=false)
|
|
117
112
|
*/
|
118
113
|
VALUE FXRbGetRubyObj(const void *foxObj, const char *type);
|
119
114
|
VALUE FXRbGetRubyObj(const void *foxObj, swig_type_info *type);
|
115
|
+
VALUE FXRbGetRubyObjCb(const void *foxObj, swig_type_info *type);
|
116
|
+
|
120
117
|
|
121
118
|
// Mark this object as used for the garbage collector
|
122
119
|
void FXRbGcMark(void *obj);
|
@@ -314,6 +311,61 @@ inline VALUE to_ruby(FXDC& dc){
|
|
314
311
|
return FXRbGetRubyObj(reinterpret_cast<void*>(&dc),FXRbTypeQuery("FXDC *"));
|
315
312
|
}
|
316
313
|
|
314
|
+
|
315
|
+
|
316
|
+
|
317
|
+
extern VALUE to_ruby_cb(const FXObject* obj);
|
318
|
+
|
319
|
+
inline VALUE to_ruby_cb(const FXRangef& range){
|
320
|
+
return FXRbNewPointerObjCb(static_cast<void*>(const_cast<FXRangef*>(&range)), FXRbTypeQuery("FXRangef *"));
|
321
|
+
}
|
322
|
+
|
323
|
+
inline VALUE to_ruby_cb(FXStream& store){
|
324
|
+
return (VALUE) 0; // FIXME
|
325
|
+
}
|
326
|
+
|
327
|
+
inline VALUE to_ruby_cb(const FXPoint* point){
|
328
|
+
return FXRbNewPointerObjCb(static_cast<void*>(const_cast<FXPoint*>(point)), FXRbTypeQuery("FXPoint *"));
|
329
|
+
}
|
330
|
+
|
331
|
+
inline VALUE to_ruby_cb(const FXSegment* segment){
|
332
|
+
return FXRbNewPointerObjCb(static_cast<void*>(const_cast<FXSegment*>(segment)), FXRbTypeQuery("FXSegment *"));
|
333
|
+
}
|
334
|
+
|
335
|
+
inline VALUE to_ruby_cb(const FXRectangle* rect){
|
336
|
+
return FXRbNewPointerObjCb(static_cast<void*>(const_cast<FXRectangle*>(rect)), FXRbTypeQuery("FXRectangle *"));
|
337
|
+
}
|
338
|
+
|
339
|
+
inline VALUE to_ruby_cb(const FXRectangle& rect){
|
340
|
+
return FXRbNewPointerObjCb(static_cast<void*>(const_cast<FXRectangle*>(&rect)), FXRbTypeQuery("FXRectangle *"));
|
341
|
+
}
|
342
|
+
|
343
|
+
inline VALUE to_ruby_cb(const FXArc* arc){
|
344
|
+
return FXRbNewPointerObjCb(static_cast<void*>(const_cast<FXArc*>(arc)), FXRbTypeQuery("FXArc *"));
|
345
|
+
}
|
346
|
+
|
347
|
+
inline VALUE to_ruby_cb(FXEvent* event){
|
348
|
+
return FXRbGetRubyObjCb(reinterpret_cast<void*>(event), FXRbTypeQuery("FXEvent *"));
|
349
|
+
}
|
350
|
+
|
351
|
+
inline VALUE to_ruby_cb(FXFontDesc* fontdesc){
|
352
|
+
return FXRbNewPointerObjCb(reinterpret_cast<void*>(fontdesc), FXRbTypeQuery("FXFontDesc *"));
|
353
|
+
}
|
354
|
+
|
355
|
+
inline VALUE to_ruby_cb(const FXFontDesc& fontdesc){
|
356
|
+
return FXRbNewPointerObjCb(reinterpret_cast<void*>(const_cast<FXFontDesc*>(&fontdesc)), FXRbTypeQuery("FXFontDesc *"));
|
357
|
+
}
|
358
|
+
|
359
|
+
inline VALUE to_ruby_cb(FXDC& dc){
|
360
|
+
return FXRbGetRubyObjCb(reinterpret_cast<void*>(&dc), FXRbTypeQuery("FXDC *"));
|
361
|
+
}
|
362
|
+
|
363
|
+
template<class TYPE>
|
364
|
+
VALUE to_ruby_cb(TYPE obj){
|
365
|
+
return to_ruby(obj);
|
366
|
+
}
|
367
|
+
|
368
|
+
|
317
369
|
/**
|
318
370
|
* Remember: FXID is typedef'd as an unsigned int on non-Windows platforms,
|
319
371
|
* but as a void * on Win32.
|
@@ -353,16 +405,14 @@ void FXRbCallVoidMethod_gvlcb(FXObject* recv,const char *func, TYPE& arg){
|
|
353
405
|
VALUE obj=FXRbGetRubyObj(recv,false);
|
354
406
|
FXASSERT(!NIL_P(obj));
|
355
407
|
FXASSERT(!FXRbIsInGC(recv));
|
356
|
-
rb_funcall(obj,rb_intern(func),1,
|
357
|
-
FXRbUnregisterBorrowedRubyObj(&arg);
|
408
|
+
rb_funcall(obj,rb_intern(func),1,to_ruby_cb(arg));
|
358
409
|
}
|
359
410
|
|
360
411
|
template<class TYPE>
|
361
412
|
void FXRbCallVoidMethod_gvlcb(FXDC* recv,const char *func,TYPE arg){
|
362
413
|
VALUE obj=FXRbGetRubyObj(recv,false);
|
363
414
|
FXASSERT(!NIL_P(obj));
|
364
|
-
rb_funcall(obj,rb_intern(func),1,
|
365
|
-
FXRbUnregisterBorrowedRubyObj(arg);
|
415
|
+
rb_funcall(obj,rb_intern(func),1,to_ruby_cb(arg));
|
366
416
|
}
|
367
417
|
|
368
418
|
template<class TYPE>
|
@@ -370,8 +420,7 @@ void FXRbCallVoidMethod_gvlcb(const FXObject* recv, const char *func, TYPE& arg)
|
|
370
420
|
VALUE obj=FXRbGetRubyObj(recv,false);
|
371
421
|
FXASSERT(!NIL_P(obj));
|
372
422
|
FXASSERT(!FXRbIsInGC(recv));
|
373
|
-
rb_funcall(obj,rb_intern(func),1,
|
374
|
-
FXRbUnregisterBorrowedRubyObj(&arg);
|
423
|
+
rb_funcall(obj,rb_intern(func),1,to_ruby_cb(arg));
|
375
424
|
}
|
376
425
|
|
377
426
|
/* Two arguments */
|
@@ -379,18 +428,14 @@ template<class TYPE1, class TYPE2>
|
|
379
428
|
void FXRbCallVoidMethod_gvlcb(FXObject* recv,const char *func,TYPE1 arg1,TYPE2 arg2){
|
380
429
|
VALUE obj=FXRbGetRubyObj(recv,false);
|
381
430
|
FXASSERT(!NIL_P(obj));
|
382
|
-
rb_funcall(obj,rb_intern(func),2,
|
383
|
-
FXRbUnregisterBorrowedRubyObj(arg1);
|
384
|
-
FXRbUnregisterBorrowedRubyObj(arg2);
|
431
|
+
rb_funcall(obj,rb_intern(func),2,to_ruby_cb(arg1),to_ruby_cb(arg2));
|
385
432
|
}
|
386
433
|
|
387
434
|
template<class TYPE1, class TYPE2>
|
388
435
|
void FXRbCallVoidMethod_gvlcb(FXDC* recv,const char *func,TYPE1 arg1,TYPE2 arg2){
|
389
436
|
VALUE obj=FXRbGetRubyObj(recv,false);
|
390
437
|
FXASSERT(!NIL_P(obj));
|
391
|
-
rb_funcall(obj,rb_intern(func),2,
|
392
|
-
FXRbUnregisterBorrowedRubyObj(arg1);
|
393
|
-
FXRbUnregisterBorrowedRubyObj(arg2);
|
438
|
+
rb_funcall(obj,rb_intern(func),2,to_ruby_cb(arg1),to_ruby_cb(arg2));
|
394
439
|
}
|
395
440
|
|
396
441
|
template<class TYPE>
|
@@ -399,9 +444,7 @@ void FXRbCallVoidArrayMethod(FXDC* recv,const char *func,TYPE objs,FXuint num){
|
|
399
444
|
VALUE array=FXRbMakeArray(objs,num);
|
400
445
|
FXASSERT(!NIL_P(obj));
|
401
446
|
rb_funcall(obj,rb_intern(func),1,array);
|
402
|
-
|
403
|
-
FXRbUnregisterBorrowedRubyObj(&objs[i]);
|
404
|
-
}
|
447
|
+
}
|
405
448
|
|
406
449
|
FXTreeItem* FXRbCallTreeItemMethod_gvlcb(const FXTreeList* recv,const char *func,FXint x,FXint y);
|
407
450
|
FXFoldingItem* FXRbCallFoldingItemMethod_gvlcb(const FXFoldingList* recv,const char *func,FXint x,FXint y);
|
@@ -411,20 +454,14 @@ template<class TYPE1, class TYPE2, class TYPE3>
|
|
411
454
|
void FXRbCallVoidMethod_gvlcb(FXObject* recv,const char *func,TYPE1 arg1,TYPE2 arg2,TYPE3 arg3){
|
412
455
|
VALUE obj=FXRbGetRubyObj(recv,false);
|
413
456
|
FXASSERT(!NIL_P(obj));
|
414
|
-
rb_funcall(obj,rb_intern(func),3,
|
415
|
-
FXRbUnregisterBorrowedRubyObj(arg1);
|
416
|
-
FXRbUnregisterBorrowedRubyObj(arg2);
|
417
|
-
FXRbUnregisterBorrowedRubyObj(arg3);
|
457
|
+
rb_funcall(obj,rb_intern(func),3,to_ruby_cb(arg1),to_ruby_cb(arg2),to_ruby_cb(arg3));
|
418
458
|
}
|
419
459
|
|
420
460
|
template<class TYPE1, class TYPE2, class TYPE3>
|
421
461
|
void FXRbCallVoidMethod_gvlcb(FXDC* recv,const char *func,TYPE1 arg1,TYPE2 arg2,TYPE3 arg3){
|
422
462
|
VALUE obj=FXRbGetRubyObj(recv,false);
|
423
463
|
FXASSERT(!NIL_P(obj));
|
424
|
-
rb_funcall(obj,rb_intern(func),3,
|
425
|
-
FXRbUnregisterBorrowedRubyObj(arg1);
|
426
|
-
FXRbUnregisterBorrowedRubyObj(arg2);
|
427
|
-
FXRbUnregisterBorrowedRubyObj(arg3);
|
464
|
+
rb_funcall(obj,rb_intern(func),3,to_ruby_cb(arg1),to_ruby_cb(arg2),to_ruby_cb(arg3));
|
428
465
|
}
|
429
466
|
|
430
467
|
/* Four arguments */
|
@@ -432,22 +469,14 @@ template<class TYPE1, class TYPE2, class TYPE3, class TYPE4>
|
|
432
469
|
void FXRbCallVoidMethod_gvlcb(FXObject* recv,const char *func, TYPE1 arg1, TYPE2 arg2, TYPE3 arg3, TYPE4 arg4){
|
433
470
|
VALUE obj=FXRbGetRubyObj(recv,false);
|
434
471
|
FXASSERT(!NIL_P(obj));
|
435
|
-
rb_funcall(obj,rb_intern(func),4,
|
436
|
-
FXRbUnregisterBorrowedRubyObj(arg1);
|
437
|
-
FXRbUnregisterBorrowedRubyObj(arg2);
|
438
|
-
FXRbUnregisterBorrowedRubyObj(arg3);
|
439
|
-
FXRbUnregisterBorrowedRubyObj(arg4);
|
472
|
+
rb_funcall(obj,rb_intern(func),4,to_ruby_cb(arg1),to_ruby_cb(arg2),to_ruby_cb(arg3),to_ruby_cb(arg4));
|
440
473
|
}
|
441
474
|
|
442
475
|
template<class TYPE1, class TYPE2, class TYPE3, class TYPE4>
|
443
476
|
void FXRbCallVoidMethod_gvlcb(FXDC* recv,const char *func,TYPE1 arg1,TYPE2 arg2,TYPE3 arg3,TYPE4 arg4){
|
444
477
|
VALUE obj=FXRbGetRubyObj(recv,false);
|
445
478
|
FXASSERT(!NIL_P(obj));
|
446
|
-
rb_funcall(obj,rb_intern(func),4,
|
447
|
-
FXRbUnregisterBorrowedRubyObj(arg1);
|
448
|
-
FXRbUnregisterBorrowedRubyObj(arg2);
|
449
|
-
FXRbUnregisterBorrowedRubyObj(arg3);
|
450
|
-
FXRbUnregisterBorrowedRubyObj(arg4);
|
479
|
+
rb_funcall(obj,rb_intern(func),4,to_ruby_cb(arg1),to_ruby_cb(arg2),to_ruby_cb(arg3),to_ruby_cb(arg4));
|
451
480
|
}
|
452
481
|
|
453
482
|
/* Five arguments */
|
@@ -455,24 +484,14 @@ template<class TYPE1, class TYPE2, class TYPE3, class TYPE4, class TYPE5>
|
|
455
484
|
void FXRbCallVoidMethod_gvlcb(FXObject* recv,const char *func,TYPE1& arg1,TYPE2 arg2,TYPE3 arg3,TYPE4 arg4,TYPE5 arg5){
|
456
485
|
VALUE obj=FXRbGetRubyObj(recv,false);
|
457
486
|
FXASSERT(!NIL_P(obj));
|
458
|
-
rb_funcall(obj,rb_intern(func),5,
|
459
|
-
FXRbUnregisterBorrowedRubyObj(arg1);
|
460
|
-
FXRbUnregisterBorrowedRubyObj(arg2);
|
461
|
-
FXRbUnregisterBorrowedRubyObj(arg3);
|
462
|
-
FXRbUnregisterBorrowedRubyObj(arg4);
|
463
|
-
FXRbUnregisterBorrowedRubyObj(arg5);
|
487
|
+
rb_funcall(obj,rb_intern(func),5,to_ruby_cb(arg1),to_ruby_cb(arg2),to_ruby_cb(arg3),to_ruby_cb(arg4),to_ruby_cb(arg5));
|
464
488
|
}
|
465
489
|
|
466
490
|
template<class TYPE1, class TYPE2, class TYPE3, class TYPE4, class TYPE5>
|
467
491
|
void FXRbCallVoidMethod_gvlcb(FXDC* recv, const char *func, TYPE1 arg1, TYPE2 arg2, TYPE3 arg3, TYPE4 arg4, TYPE5 arg5){
|
468
492
|
VALUE obj=FXRbGetRubyObj(recv,false);
|
469
493
|
FXASSERT(!NIL_P(obj));
|
470
|
-
rb_funcall(obj,rb_intern(func),5,
|
471
|
-
FXRbUnregisterBorrowedRubyObj(arg1);
|
472
|
-
FXRbUnregisterBorrowedRubyObj(arg2);
|
473
|
-
FXRbUnregisterBorrowedRubyObj(arg3);
|
474
|
-
FXRbUnregisterBorrowedRubyObj(arg4);
|
475
|
-
FXRbUnregisterBorrowedRubyObj(arg5);
|
494
|
+
rb_funcall(obj,rb_intern(func),5,to_ruby_cb(arg1),to_ruby_cb(arg2),to_ruby_cb(arg3),to_ruby_cb(arg4),to_ruby_cb(arg5));
|
476
495
|
}
|
477
496
|
|
478
497
|
/* Six arguments */
|
@@ -480,26 +499,14 @@ template<class TYPE1, class TYPE2, class TYPE3, class TYPE4, class TYPE5, class
|
|
480
499
|
void FXRbCallVoidMethod_gvlcb(const FXObject* recv, const char *func, TYPE1 arg1, TYPE2& arg2, TYPE3 arg3, TYPE4 arg4, TYPE5 arg5, TYPE6 arg6){
|
481
500
|
VALUE obj=FXRbGetRubyObj(recv,false);
|
482
501
|
FXASSERT(!NIL_P(obj));
|
483
|
-
rb_funcall(obj,rb_intern(func),6,
|
484
|
-
FXRbUnregisterBorrowedRubyObj(arg1);
|
485
|
-
FXRbUnregisterBorrowedRubyObj(arg2);
|
486
|
-
FXRbUnregisterBorrowedRubyObj(arg3);
|
487
|
-
FXRbUnregisterBorrowedRubyObj(arg4);
|
488
|
-
FXRbUnregisterBorrowedRubyObj(arg5);
|
489
|
-
FXRbUnregisterBorrowedRubyObj(arg6);
|
502
|
+
rb_funcall(obj,rb_intern(func),6,to_ruby_cb(arg1),to_ruby_cb(arg2),to_ruby_cb(arg3),to_ruby_cb(arg4),to_ruby_cb(arg5),to_ruby_cb(arg6));
|
490
503
|
}
|
491
504
|
|
492
505
|
template<class TYPE1, class TYPE2, class TYPE3, class TYPE4, class TYPE5, class TYPE6>
|
493
506
|
void FXRbCallVoidMethod_gvlcb(FXDC* recv, const char *func, TYPE1 arg1, TYPE2 arg2, TYPE3 arg3, TYPE4 arg4, TYPE5 arg5, TYPE6 arg6){
|
494
507
|
VALUE obj=FXRbGetRubyObj(recv,false);
|
495
508
|
FXASSERT(!NIL_P(obj));
|
496
|
-
rb_funcall(obj,rb_intern(func),6,
|
497
|
-
FXRbUnregisterBorrowedRubyObj(arg1);
|
498
|
-
FXRbUnregisterBorrowedRubyObj(arg2);
|
499
|
-
FXRbUnregisterBorrowedRubyObj(arg3);
|
500
|
-
FXRbUnregisterBorrowedRubyObj(arg4);
|
501
|
-
FXRbUnregisterBorrowedRubyObj(arg5);
|
502
|
-
FXRbUnregisterBorrowedRubyObj(arg6);
|
509
|
+
rb_funcall(obj,rb_intern(func),6,to_ruby_cb(arg1),to_ruby_cb(arg2),to_ruby_cb(arg3),to_ruby_cb(arg4),to_ruby_cb(arg5),to_ruby_cb(arg6));
|
503
510
|
}
|
504
511
|
|
505
512
|
/* Seven arguments */
|
@@ -507,14 +514,7 @@ template<class TYPE1, class TYPE2, class TYPE3, class TYPE4, class TYPE5, class
|
|
507
514
|
void FXRbCallVoidMethod_gvlcb(FXDC* recv, const char *func, TYPE1 arg1, TYPE2 arg2, TYPE3 arg3, TYPE4 arg4, TYPE5 arg5, TYPE6 arg6, TYPE7 arg7){
|
508
515
|
VALUE obj=FXRbGetRubyObj(recv,false);
|
509
516
|
FXASSERT(!NIL_P(obj));
|
510
|
-
rb_funcall(obj,rb_intern(func),7,
|
511
|
-
FXRbUnregisterBorrowedRubyObj(arg1);
|
512
|
-
FXRbUnregisterBorrowedRubyObj(arg2);
|
513
|
-
FXRbUnregisterBorrowedRubyObj(arg3);
|
514
|
-
FXRbUnregisterBorrowedRubyObj(arg4);
|
515
|
-
FXRbUnregisterBorrowedRubyObj(arg5);
|
516
|
-
FXRbUnregisterBorrowedRubyObj(arg6);
|
517
|
-
FXRbUnregisterBorrowedRubyObj(arg7);
|
517
|
+
rb_funcall(obj,rb_intern(func),7,to_ruby_cb(arg1),to_ruby_cb(arg2),to_ruby_cb(arg3),to_ruby_cb(arg4),to_ruby_cb(arg5),to_ruby_cb(arg6),to_ruby_cb(arg7));
|
518
518
|
}
|
519
519
|
|
520
520
|
/* Nine arguments */
|
@@ -522,16 +522,7 @@ template<class TYPE1, class TYPE2, class TYPE3, class TYPE4, class TYPE5, class
|
|
522
522
|
void FXRbCallVoidMethod_gvlcb(FXDC* recv, const char *func, TYPE1 arg1, TYPE2 arg2, TYPE3 arg3, TYPE4 arg4, TYPE5 arg5, TYPE6 arg6, TYPE7 arg7, TYPE8 arg8, TYPE9 arg9){
|
523
523
|
VALUE obj=FXRbGetRubyObj(recv,false);
|
524
524
|
FXASSERT(!NIL_P(obj));
|
525
|
-
rb_funcall(obj,rb_intern(func),9,
|
526
|
-
FXRbUnregisterBorrowedRubyObj(arg1);
|
527
|
-
FXRbUnregisterBorrowedRubyObj(arg2);
|
528
|
-
FXRbUnregisterBorrowedRubyObj(arg3);
|
529
|
-
FXRbUnregisterBorrowedRubyObj(arg4);
|
530
|
-
FXRbUnregisterBorrowedRubyObj(arg5);
|
531
|
-
FXRbUnregisterBorrowedRubyObj(arg6);
|
532
|
-
FXRbUnregisterBorrowedRubyObj(arg7);
|
533
|
-
FXRbUnregisterBorrowedRubyObj(arg8);
|
534
|
-
FXRbUnregisterBorrowedRubyObj(arg9);
|
525
|
+
rb_funcall(obj,rb_intern(func),9,to_ruby_cb(arg1),to_ruby_cb(arg2),to_ruby_cb(arg3),to_ruby_cb(arg4),to_ruby_cb(arg5),to_ruby_cb(arg6),to_ruby_cb(arg7), to_ruby_cb(arg8), to_ruby_cb(arg9));
|
535
526
|
}
|
536
527
|
|
537
528
|
/* Eleven arguments (!) */
|
@@ -539,18 +530,7 @@ template<class TYPE1,class TYPE2,class TYPE3,class TYPE4,class TYPE5,class TYPE6
|
|
539
530
|
void FXRbCallVoidMethod_gvlcb(FXObject* recv,const char *func,TYPE1& arg1,TYPE2 arg2,TYPE3 arg3,TYPE4 arg4,TYPE5 arg5,TYPE6 arg6,TYPE7 arg7,TYPE8 arg8,TYPE9 arg9,TYPE10 arg10,TYPE11 arg11){
|
540
531
|
VALUE obj=FXRbGetRubyObj(recv,false);
|
541
532
|
FXASSERT(!NIL_P(obj));
|
542
|
-
rb_funcall(obj,rb_intern(func),11,
|
543
|
-
FXRbUnregisterBorrowedRubyObj(arg1);
|
544
|
-
FXRbUnregisterBorrowedRubyObj(arg2);
|
545
|
-
FXRbUnregisterBorrowedRubyObj(arg3);
|
546
|
-
FXRbUnregisterBorrowedRubyObj(arg4);
|
547
|
-
FXRbUnregisterBorrowedRubyObj(arg5);
|
548
|
-
FXRbUnregisterBorrowedRubyObj(arg6);
|
549
|
-
FXRbUnregisterBorrowedRubyObj(arg7);
|
550
|
-
FXRbUnregisterBorrowedRubyObj(arg8);
|
551
|
-
FXRbUnregisterBorrowedRubyObj(arg9);
|
552
|
-
FXRbUnregisterBorrowedRubyObj(arg10);
|
553
|
-
FXRbUnregisterBorrowedRubyObj(arg11);
|
533
|
+
rb_funcall(obj,rb_intern(func),11,to_ruby_cb(arg1),to_ruby_cb(arg2),to_ruby_cb(arg3),to_ruby_cb(arg4),to_ruby_cb(arg5),to_ruby_cb(arg6),to_ruby_cb(arg7),to_ruby_cb(arg8),to_ruby_cb(arg9),to_ruby_cb(arg10),to_ruby_cb(arg11));
|
554
534
|
}
|
555
535
|
|
556
536
|
// Call function with "FXbool" return value
|
@@ -561,13 +541,13 @@ inline bool FXRbCallBoolMethod_gvlcb(FXStream* recv,const char *func){
|
|
561
541
|
|
562
542
|
template<class TYPE1>
|
563
543
|
bool FXRbCallBoolMethod_gvlcb(FXStream* recv,const char *func,TYPE1 arg){
|
564
|
-
VALUE v=rb_funcall(FXRbGetRubyObj(recv,false),rb_intern(func),1,
|
544
|
+
VALUE v=rb_funcall(FXRbGetRubyObj(recv,false),rb_intern(func),1,to_ruby_cb(arg));
|
565
545
|
return (v==Qtrue);
|
566
546
|
}
|
567
547
|
|
568
548
|
template<class TYPE1,class TYPE2>
|
569
549
|
bool FXRbCallBoolMethod_gvlcb(FXStream* recv,const char *func,TYPE1 arg1,TYPE2 arg2){
|
570
|
-
VALUE v=rb_funcall(FXRbGetRubyObj(recv,false),rb_intern(func),2,
|
550
|
+
VALUE v=rb_funcall(FXRbGetRubyObj(recv,false),rb_intern(func),2,to_ruby_cb(arg1),to_ruby_cb(arg2));
|
571
551
|
return (v==Qtrue);
|
572
552
|
}
|
573
553
|
|
@@ -577,13 +557,13 @@ template<class TYPE>
|
|
577
557
|
bool FXRbCallBoolMethod_gvlcb(FXObject* recv, const char *func, TYPE& arg){
|
578
558
|
VALUE obj=FXRbGetRubyObj(recv,false);
|
579
559
|
FXASSERT(!NIL_P(obj));
|
580
|
-
VALUE v=rb_funcall(obj,rb_intern(func),1,
|
560
|
+
VALUE v=rb_funcall(obj,rb_intern(func),1,to_ruby_cb(arg));
|
581
561
|
return (v==Qtrue);
|
582
562
|
}
|
583
563
|
|
584
564
|
template<class TYPE>
|
585
565
|
bool FXRbCallBoolMethod_gvlcb(const FXObject* recv,const char *func,TYPE& arg){
|
586
|
-
VALUE v=rb_funcall(FXRbGetRubyObj(recv,false),rb_intern(func),1,
|
566
|
+
VALUE v=rb_funcall(FXRbGetRubyObj(recv,false),rb_intern(func),1,to_ruby_cb(arg));
|
587
567
|
return (v==Qtrue);
|
588
568
|
}
|
589
569
|
|
@@ -591,7 +571,7 @@ template<class TYPE1, class TYPE2>
|
|
591
571
|
bool FXRbCallBoolMethod_gvlcb(const FXObject* recv, const char *func, TYPE1 arg1, TYPE2 arg2){
|
592
572
|
VALUE obj=FXRbGetRubyObj(recv,false);
|
593
573
|
FXASSERT(!NIL_P(obj));
|
594
|
-
VALUE v=rb_funcall(obj,rb_intern(func),2,
|
574
|
+
VALUE v=rb_funcall(obj,rb_intern(func),2,to_ruby_cb(arg1),to_ruby_cb(arg2));
|
595
575
|
return (v==Qtrue);
|
596
576
|
}
|
597
577
|
|
@@ -599,7 +579,7 @@ template<class TYPE1, class TYPE2, class TYPE3>
|
|
599
579
|
bool FXRbCallBoolMethod_gvlcb(const FXObject* recv, const char *func, TYPE1 arg1, TYPE2 arg2, TYPE3 arg3){
|
600
580
|
VALUE obj=FXRbGetRubyObj(recv,false);
|
601
581
|
FXASSERT(!NIL_P(obj));
|
602
|
-
VALUE v=rb_funcall(obj,rb_intern(func),3,
|
582
|
+
VALUE v=rb_funcall(obj,rb_intern(func),3,to_ruby_cb(arg1),to_ruby_cb(arg2),to_ruby_cb(arg3));
|
603
583
|
return (v==Qtrue);
|
604
584
|
}
|
605
585
|
|
@@ -607,7 +587,7 @@ template<class TYPE1, class TYPE2, class TYPE3, class TYPE4, class TYPE5>
|
|
607
587
|
bool FXRbCallBoolMethod_gvlcb(const FXObject* recv, const char *func, TYPE1 arg1, TYPE2 arg2, TYPE3 arg3, TYPE4 arg4, TYPE5 arg5){
|
608
588
|
VALUE obj=FXRbGetRubyObj(recv,false);
|
609
589
|
FXASSERT(!NIL_P(obj));
|
610
|
-
VALUE v=rb_funcall(obj,rb_intern(func),5,
|
590
|
+
VALUE v=rb_funcall(obj,rb_intern(func),5,to_ruby_cb(arg1),to_ruby_cb(arg2),to_ruby_cb(arg3),to_ruby_cb(arg4),to_ruby_cb(arg5));
|
611
591
|
return (v==Qtrue);
|
612
592
|
}
|
613
593
|
|
@@ -618,7 +598,7 @@ template<class TYPE>
|
|
618
598
|
FXint FXRbCallIntMethod_gvlcb(FXObject* recv, const char *func, TYPE arg){
|
619
599
|
VALUE obj=FXRbGetRubyObj(recv,false);
|
620
600
|
FXASSERT(!NIL_P(obj));
|
621
|
-
VALUE v=rb_funcall(obj,rb_intern(func),1,
|
601
|
+
VALUE v=rb_funcall(obj,rb_intern(func),1,to_ruby_cb(arg));
|
622
602
|
return static_cast<FXint>(NUM2INT(v));
|
623
603
|
}
|
624
604
|
|
@@ -626,7 +606,7 @@ template<class TYPE>
|
|
626
606
|
FXint FXRbCallIntMethod_gvlcb(const FXObject* recv, const char *func, TYPE arg){
|
627
607
|
VALUE obj=FXRbGetRubyObj(recv,false);
|
628
608
|
FXASSERT(!NIL_P(obj));
|
629
|
-
VALUE v=rb_funcall(obj,rb_intern(func),1,
|
609
|
+
VALUE v=rb_funcall(obj,rb_intern(func),1,to_ruby_cb(arg));
|
630
610
|
return static_cast<FXint>(NUM2INT(v));
|
631
611
|
}
|
632
612
|
|
@@ -634,7 +614,7 @@ template<class TYPE1, class TYPE2>
|
|
634
614
|
FXint FXRbCallIntMethod_gvlcb(const FXObject* recv, const char *func, TYPE1 arg1, TYPE2 arg2){
|
635
615
|
VALUE obj=FXRbGetRubyObj(recv,false);
|
636
616
|
FXASSERT(!NIL_P(obj));
|
637
|
-
VALUE result=rb_funcall(obj,rb_intern(func),2,
|
617
|
+
VALUE result=rb_funcall(obj,rb_intern(func),2,to_ruby_cb(arg1),to_ruby_cb(arg2));
|
638
618
|
return static_cast<FXint>(NUM2INT(result));
|
639
619
|
}
|
640
620
|
|
@@ -642,7 +622,7 @@ template<class TYPE1, class TYPE2, class TYPE3, class TYPE4, class TYPE5>
|
|
642
622
|
FXint FXRbCallIntMethod_gvlcb(const FXObject* recv, const char *func, TYPE1 arg1, TYPE2 arg2, TYPE3 arg3, TYPE4 arg4, TYPE5 arg5){
|
643
623
|
VALUE obj=FXRbGetRubyObj(recv,false);
|
644
624
|
FXASSERT(!NIL_P(obj));
|
645
|
-
VALUE result=rb_funcall(obj,rb_intern(func),5,
|
625
|
+
VALUE result=rb_funcall(obj,rb_intern(func),5,to_ruby_cb(arg1),to_ruby_cb(arg2),to_ruby_cb(arg3),to_ruby_cb(arg4),to_ruby_cb(arg5));
|
646
626
|
return static_cast<FXint>(NUM2INT(result));
|
647
627
|
}
|
648
628
|
|
@@ -651,7 +631,7 @@ template<class TYPE1, class TYPE2, class TYPE3>
|
|
651
631
|
long FXRbCallLongMethod_gvlcb(FXObject* recv, const char *func, TYPE1 arg1, TYPE2 arg2, TYPE3 arg3){
|
652
632
|
VALUE obj=FXRbGetRubyObj(recv,false);
|
653
633
|
FXASSERT(!NIL_P(obj));
|
654
|
-
VALUE v=rb_funcall(obj,rb_intern(func),3,
|
634
|
+
VALUE v=rb_funcall(obj,rb_intern(func),3,to_ruby_cb(arg1),to_ruby_cb(arg2),to_ruby_cb(arg3));
|
655
635
|
return static_cast<long>(NUM2LONG(v));
|
656
636
|
}
|
657
637
|
|
@@ -660,7 +640,7 @@ template<class TYPE>
|
|
660
640
|
FXuint FXRbCallUIntMethod_gvlcb(FXObject* recv, const char *func, TYPE arg){
|
661
641
|
VALUE obj=FXRbGetRubyObj(recv,false);
|
662
642
|
FXASSERT(!NIL_P(obj));
|
663
|
-
VALUE v=rb_funcall(obj,rb_intern(func),1,
|
643
|
+
VALUE v=rb_funcall(obj,rb_intern(func),1,to_ruby_cb(arg));
|
664
644
|
return static_cast<FXuint>(NUM2UINT(v));
|
665
645
|
}
|
666
646
|
|
data/lib/fox16/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fxruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.6.
|
4
|
+
version: 1.6.37.rc1
|
5
5
|
platform: x64-mingw32
|
6
6
|
authors:
|
7
7
|
- Lyle Johnson
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date: 2017-06-
|
12
|
+
date: 2017-06-16 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: mini_portile2
|
@@ -1009,9 +1009,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
1009
1009
|
version: '2.5'
|
1010
1010
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
1011
1011
|
requirements:
|
1012
|
-
- - "
|
1012
|
+
- - ">"
|
1013
1013
|
- !ruby/object:Gem::Version
|
1014
|
-
version:
|
1014
|
+
version: 1.3.1
|
1015
1015
|
requirements: []
|
1016
1016
|
rubyforge_project:
|
1017
1017
|
rubygems_version: 2.6.12
|