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
         
     |