fxruby 1.6.36-x64-mingw32 → 1.6.37.rc1-x64-mingw32
Sign up to get free protection for your applications and to get access to all the features.
- 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
|