fxruby 1.6.41-x64-mingw32 → 1.6.45-x64-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (375) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +2 -2
  3. data/.yardopts +1 -1
  4. data/Gemfile +2 -3
  5. data/History.md +26 -0
  6. data/README.rdoc +10 -5
  7. data/Rakefile +16 -5
  8. data/appveyor.yml +8 -7
  9. data/docs/Fox/Canvas/CanvasError.html +124 -0
  10. data/docs/Fox/Canvas/CircleShape.html +477 -0
  11. data/docs/Fox/Canvas/ImageShape.html +477 -0
  12. data/docs/Fox/Canvas/LineShape.html +1005 -0
  13. data/docs/Fox/Canvas/PolygonShape.html +145 -0
  14. data/docs/Fox/Canvas/RectangleShape.html +439 -0
  15. data/docs/Fox/Canvas/SelectionPolicy.html +352 -0
  16. data/docs/Fox/Canvas/Shape.html +1955 -0
  17. data/docs/Fox/Canvas/ShapeCanvas.html +2031 -0
  18. data/docs/Fox/Canvas/ShapeGroup.html +527 -0
  19. data/docs/Fox/Canvas/SingleSelectionPolicy.html +291 -0
  20. data/docs/Fox/Canvas/TextShape.html +609 -0
  21. data/docs/Fox/Canvas.html +141 -0
  22. data/docs/Fox/FTNonModal.html +550 -0
  23. data/docs/Fox/FX4Splitter.html +1336 -0
  24. data/docs/Fox/FX7Segment.html +1010 -0
  25. data/docs/Fox/FXAccelTable.html +715 -0
  26. data/docs/Fox/FXApp.html +7998 -0
  27. data/docs/Fox/FXArc.html +562 -0
  28. data/docs/Fox/FXArrowButton.html +865 -0
  29. data/docs/Fox/FXBMPIcon.html +450 -0
  30. data/docs/Fox/FXBMPImage.html +434 -0
  31. data/docs/Fox/FXBitmap.html +1362 -0
  32. data/docs/Fox/FXBitmapFrame.html +595 -0
  33. data/docs/Fox/FXBitmapView.html +1451 -0
  34. data/docs/Fox/FXButton.html +534 -0
  35. data/docs/Fox/FXCURCursor.html +261 -0
  36. data/docs/Fox/FXCalendar.html +880 -0
  37. data/docs/Fox/FXCanvas.html +311 -0
  38. data/docs/Fox/FXCheckButton.html +949 -0
  39. data/docs/Fox/FXChoiceBox.html +472 -0
  40. data/docs/Fox/FXColor.html +1519 -0
  41. data/docs/Fox/FXColorBar.html +759 -0
  42. data/docs/Fox/FXColorDialog.html +591 -0
  43. data/docs/Fox/FXColorItem.html +323 -0
  44. data/docs/Fox/FXColorList.html +712 -0
  45. data/docs/Fox/FXColorRing.html +817 -0
  46. data/docs/Fox/FXColorSelector.html +796 -0
  47. data/docs/Fox/FXColorWell.html +850 -0
  48. data/docs/Fox/FXColorWheel.html +770 -0
  49. data/docs/Fox/FXComboBox.html +2939 -0
  50. data/docs/Fox/FXComboTableItem.html +544 -0
  51. data/docs/Fox/FXCommand.html +526 -0
  52. data/docs/Fox/FXComposite.html +433 -0
  53. data/docs/Fox/FXCursor.html +779 -0
  54. data/docs/Fox/FXDC.html +5231 -0
  55. data/docs/Fox/FXDCPrint.html +696 -0
  56. data/docs/Fox/FXDCWindow.html +358 -0
  57. data/docs/Fox/FXDataTarget.html +573 -0
  58. data/docs/Fox/FXDebugTarget.html +305 -0
  59. data/docs/Fox/FXDelegator.html +305 -0
  60. data/docs/Fox/FXDial.html +1133 -0
  61. data/docs/Fox/FXDialogBox.html +413 -0
  62. data/docs/Fox/FXDict.html +1063 -0
  63. data/docs/Fox/FXDirBox.html +752 -0
  64. data/docs/Fox/FXDirDialog.html +914 -0
  65. data/docs/Fox/FXDirItem.html +989 -0
  66. data/docs/Fox/FXDirList.html +1554 -0
  67. data/docs/Fox/FXDirSelector.html +995 -0
  68. data/docs/Fox/FXDockBar.html +1451 -0
  69. data/docs/Fox/FXDockHandler.html +468 -0
  70. data/docs/Fox/FXDockSite.html +678 -0
  71. data/docs/Fox/FXDockTitle.html +606 -0
  72. data/docs/Fox/FXDocument.html +536 -0
  73. data/docs/Fox/FXDragCorner.html +440 -0
  74. data/docs/Fox/FXDrawable.html +478 -0
  75. data/docs/Fox/FXDriveBox.html +746 -0
  76. data/docs/Fox/FXEvent.html +1736 -0
  77. data/docs/Fox/FXExtentd.html +1374 -0
  78. data/docs/Fox/FXExtentf.html +1374 -0
  79. data/docs/Fox/FXFileAssoc.html +850 -0
  80. data/docs/Fox/FXFileDialog.html +2688 -0
  81. data/docs/Fox/FXFileDict.html +1058 -0
  82. data/docs/Fox/FXFileItem.html +1141 -0
  83. data/docs/Fox/FXFileList.html +2259 -0
  84. data/docs/Fox/FXFileSelector.html +2529 -0
  85. data/docs/Fox/FXFileStream.html +503 -0
  86. data/docs/Fox/FXFoldingItem.html +2822 -0
  87. data/docs/Fox/FXFoldingList.html +5189 -0
  88. data/docs/Fox/FXFont.html +2998 -0
  89. data/docs/Fox/FXFontDesc.html +710 -0
  90. data/docs/Fox/FXFontDialog.html +420 -0
  91. data/docs/Fox/FXFontSelector.html +576 -0
  92. data/docs/Fox/FXFrame.html +1012 -0
  93. data/docs/Fox/FXGIFCursor.html +337 -0
  94. data/docs/Fox/FXGIFIcon.html +450 -0
  95. data/docs/Fox/FXGIFImage.html +434 -0
  96. data/docs/Fox/FXGLCanvas.html +700 -0
  97. data/docs/Fox/FXGLCone.html +785 -0
  98. data/docs/Fox/FXGLContext.html +649 -0
  99. data/docs/Fox/FXGLCube.html +703 -0
  100. data/docs/Fox/FXGLCylinder.html +791 -0
  101. data/docs/Fox/FXGLGroup.html +1385 -0
  102. data/docs/Fox/FXGLLine.html +653 -0
  103. data/docs/Fox/FXGLObject.html +759 -0
  104. data/docs/Fox/FXGLPoint.html +561 -0
  105. data/docs/Fox/FXGLShape.html +714 -0
  106. data/docs/Fox/FXGLSphere.html +626 -0
  107. data/docs/Fox/FXGLViewer.html +3506 -0
  108. data/docs/Fox/FXGLVisual.html +2147 -0
  109. data/docs/Fox/FXGradient.html +562 -0
  110. data/docs/Fox/FXGradientBar.html +2479 -0
  111. data/docs/Fox/FXGroupBox.html +688 -0
  112. data/docs/Fox/FXHeader.html +3040 -0
  113. data/docs/Fox/FXHeaderItem.html +1353 -0
  114. data/docs/Fox/FXHiliteStyle.html +804 -0
  115. data/docs/Fox/FXHorizontalFrame.html +359 -0
  116. data/docs/Fox/FXHorizontalSeparator.html +349 -0
  117. data/docs/Fox/FXICOIcon.html +450 -0
  118. data/docs/Fox/FXICOImage.html +434 -0
  119. data/docs/Fox/FXIcon.html +384 -0
  120. data/docs/Fox/FXIconDict.html +752 -0
  121. data/docs/Fox/FXIconItem.html +1518 -0
  122. data/docs/Fox/FXIconList.html +4676 -0
  123. data/docs/Fox/FXIconSource.html +963 -0
  124. data/docs/Fox/FXId.html +712 -0
  125. data/docs/Fox/FXImage.html +2328 -0
  126. data/docs/Fox/FXImageFrame.html +489 -0
  127. data/docs/Fox/FXImageView.html +504 -0
  128. data/docs/Fox/FXInputDialog.html +894 -0
  129. data/docs/Fox/FXIrb.html +942 -0
  130. data/docs/Fox/FXJPGIcon.html +607 -0
  131. data/docs/Fox/FXJPGImage.html +591 -0
  132. data/docs/Fox/FXKnob.html +1048 -0
  133. data/docs/Fox/FXLabel.html +1013 -0
  134. data/docs/Fox/FXLight.html +920 -0
  135. data/docs/Fox/FXList.html +3717 -0
  136. data/docs/Fox/FXListBox.html +2518 -0
  137. data/docs/Fox/FXListItem.html +1459 -0
  138. data/docs/Fox/FXMDIChild.html +2175 -0
  139. data/docs/Fox/FXMDIClient.html +781 -0
  140. data/docs/Fox/FXMDIDeleteButton.html +334 -0
  141. data/docs/Fox/FXMDIMaximizeButton.html +334 -0
  142. data/docs/Fox/FXMDIMenu.html +335 -0
  143. data/docs/Fox/FXMDIMinimizeButton.html +334 -0
  144. data/docs/Fox/FXMDIRestoreButton.html +334 -0
  145. data/docs/Fox/FXMDIWindowButton.html +334 -0
  146. data/docs/Fox/FXMainWindow.html +337 -0
  147. data/docs/Fox/FXMaterial.html +570 -0
  148. data/docs/Fox/FXMatrix.html +734 -0
  149. data/docs/Fox/FXMemoryBuffer.html +472 -0
  150. data/docs/Fox/FXMemoryStream.html +632 -0
  151. data/docs/Fox/FXMenuBar.html +347 -0
  152. data/docs/Fox/FXMenuButton.html +829 -0
  153. data/docs/Fox/FXMenuCaption.html +1080 -0
  154. data/docs/Fox/FXMenuCascade.html +388 -0
  155. data/docs/Fox/FXMenuCheck.html +721 -0
  156. data/docs/Fox/FXMenuCommand.html +400 -0
  157. data/docs/Fox/FXMenuPane.html +333 -0
  158. data/docs/Fox/FXMenuRadio.html +721 -0
  159. data/docs/Fox/FXMenuSeparator.html +440 -0
  160. data/docs/Fox/FXMenuTitle.html +405 -0
  161. data/docs/Fox/FXMessageBox.html +658 -0
  162. data/docs/Fox/FXObject.html +545 -0
  163. data/docs/Fox/FXOption.html +491 -0
  164. data/docs/Fox/FXOptionMenu.html +885 -0
  165. data/docs/Fox/FXPCXIcon.html +450 -0
  166. data/docs/Fox/FXPCXImage.html +434 -0
  167. data/docs/Fox/FXPNGIcon.html +524 -0
  168. data/docs/Fox/FXPNGImage.html +508 -0
  169. data/docs/Fox/FXPPMIcon.html +450 -0
  170. data/docs/Fox/FXPPMImage.html +373 -0
  171. data/docs/Fox/FXPSBounds.html +500 -0
  172. data/docs/Fox/FXPacker.html +1229 -0
  173. data/docs/Fox/FXPicker.html +345 -0
  174. data/docs/Fox/FXPopup.html +1099 -0
  175. data/docs/Fox/FXPrintDialog.html +485 -0
  176. data/docs/Fox/FXPrinter.html +1330 -0
  177. data/docs/Fox/FXProgressBar.html +1150 -0
  178. data/docs/Fox/FXProgressDialog.html +715 -0
  179. data/docs/Fox/FXPseudoKeyboard.html +428 -0
  180. data/docs/Fox/FXPseudoMouse.html +800 -0
  181. data/docs/Fox/FXPseudoTarget.html +472 -0
  182. data/docs/Fox/FXQuatd.html +1377 -0
  183. data/docs/Fox/FXQuatf.html +1392 -0
  184. data/docs/Fox/FXRGBIcon.html +450 -0
  185. data/docs/Fox/FXRGBImage.html +434 -0
  186. data/docs/Fox/FXRadioButton.html +885 -0
  187. data/docs/Fox/FXRanged.html +1522 -0
  188. data/docs/Fox/FXRangef.html +1522 -0
  189. data/docs/Fox/FXRealSlider.html +1187 -0
  190. data/docs/Fox/FXRealSpinner.html +2175 -0
  191. data/docs/Fox/FXRecentFiles.html +841 -0
  192. data/docs/Fox/FXRectangle.html +802 -0
  193. data/docs/Fox/FXRegion.html +841 -0
  194. data/docs/Fox/FXRegistry.html +682 -0
  195. data/docs/Fox/FXReplaceDialog.html +648 -0
  196. data/docs/Fox/FXRootWindow.html +312 -0
  197. data/docs/Fox/FXRuler.html +2000 -0
  198. data/docs/Fox/FXRulerView.html +3997 -0
  199. data/docs/Fox/FXScintilla.html +49117 -0
  200. data/docs/Fox/FXScrollArea.html +1363 -0
  201. data/docs/Fox/FXScrollBar.html +1019 -0
  202. data/docs/Fox/FXScrollCorner.html +290 -0
  203. data/docs/Fox/FXScrollPane.html +499 -0
  204. data/docs/Fox/FXScrollWindow.html +409 -0
  205. data/docs/Fox/FXSearchDialog.html +382 -0
  206. data/docs/Fox/FXSegment.html +422 -0
  207. data/docs/Fox/FXSeparator.html +402 -0
  208. data/docs/Fox/FXSettings.html +1861 -0
  209. data/docs/Fox/FXShell.html +233 -0
  210. data/docs/Fox/FXShutter.html +472 -0
  211. data/docs/Fox/FXShutterItem.html +669 -0
  212. data/docs/Fox/FXSize.html +592 -0
  213. data/docs/Fox/FXSlider.html +1129 -0
  214. data/docs/Fox/FXSphered.html +906 -0
  215. data/docs/Fox/FXSpheref.html +906 -0
  216. data/docs/Fox/FXSpinner.html +2102 -0
  217. data/docs/Fox/FXSplashScreen.html +497 -0
  218. data/docs/Fox/FXSplashWindow.html +494 -0
  219. data/docs/Fox/FXSplitter.html +643 -0
  220. data/docs/Fox/FXSpring.html +517 -0
  221. data/docs/Fox/FXStatusBar.html +593 -0
  222. data/docs/Fox/FXStatusLine.html +754 -0
  223. data/docs/Fox/FXStream.html +1372 -0
  224. data/docs/Fox/FXStreamAllocError.html +148 -0
  225. data/docs/Fox/FXStreamEndError.html +148 -0
  226. data/docs/Fox/FXStreamError.html +259 -0
  227. data/docs/Fox/FXStreamFailureError.html +148 -0
  228. data/docs/Fox/FXStreamFormatError.html +148 -0
  229. data/docs/Fox/FXStreamFullError.html +148 -0
  230. data/docs/Fox/FXStreamNoReadError.html +148 -0
  231. data/docs/Fox/FXStreamNoWriteError.html +148 -0
  232. data/docs/Fox/FXStreamUnknownError.html +148 -0
  233. data/docs/Fox/FXStringDict.html +552 -0
  234. data/docs/Fox/FXSwitcher.html +619 -0
  235. data/docs/Fox/FXTGAIcon.html +450 -0
  236. data/docs/Fox/FXTGAImage.html +434 -0
  237. data/docs/Fox/FXTIFIcon.html +604 -0
  238. data/docs/Fox/FXTIFImage.html +588 -0
  239. data/docs/Fox/FXTabBar.html +644 -0
  240. data/docs/Fox/FXTabBook.html +373 -0
  241. data/docs/Fox/FXTabItem.html +478 -0
  242. data/docs/Fox/FXTable.html +10107 -0
  243. data/docs/Fox/FXTableItem.html +2195 -0
  244. data/docs/Fox/FXTablePos.html +360 -0
  245. data/docs/Fox/FXTableRange.html +360 -0
  246. data/docs/Fox/FXText.html +6870 -0
  247. data/docs/Fox/FXTextChange.html +492 -0
  248. data/docs/Fox/FXTextField.html +2016 -0
  249. data/docs/Fox/FXToggleButton.html +844 -0
  250. data/docs/Fox/FXToolBar.html +452 -0
  251. data/docs/Fox/FXToolBarGrip.html +584 -0
  252. data/docs/Fox/FXToolBarShell.html +788 -0
  253. data/docs/Fox/FXToolBarTab.html +729 -0
  254. data/docs/Fox/FXToolTip.html +761 -0
  255. data/docs/Fox/FXTopWindow.html +1716 -0
  256. data/docs/Fox/FXTranslator.html +481 -0
  257. data/docs/Fox/FXTreeItem.html +2813 -0
  258. data/docs/Fox/FXTreeList.html +5095 -0
  259. data/docs/Fox/FXTreeListBox.html +3080 -0
  260. data/docs/Fox/FXTriStateButton.html +681 -0
  261. data/docs/Fox/FXUndoList.html +2560 -0
  262. data/docs/Fox/FXVec2d.html +1450 -0
  263. data/docs/Fox/FXVec2f.html +1442 -0
  264. data/docs/Fox/FXVec3d.html +1649 -0
  265. data/docs/Fox/FXVec3f.html +1649 -0
  266. data/docs/Fox/FXVec4d.html +1858 -0
  267. data/docs/Fox/FXVec4f.html +1858 -0
  268. data/docs/Fox/FXVerticalFrame.html +359 -0
  269. data/docs/Fox/FXVerticalSeparator.html +349 -0
  270. data/docs/Fox/FXViewport.html +780 -0
  271. data/docs/Fox/FXVisual.html +1023 -0
  272. data/docs/Fox/FXWindow.html +9948 -0
  273. data/docs/Fox/FXWizard.html +1052 -0
  274. data/docs/Fox/FXXBMIcon.html +453 -0
  275. data/docs/Fox/FXXBMImage.html +437 -0
  276. data/docs/Fox/FXXPMIcon.html +450 -0
  277. data/docs/Fox/FXXPMImage.html +434 -0
  278. data/docs/Fox/NotifyHeader.html +286 -0
  279. data/docs/Fox/SCNotification.html +1438 -0
  280. data/docs/Fox/TextRange.html +281 -0
  281. data/docs/Fox.html +11184 -0
  282. data/docs/IRB.html +204 -0
  283. data/docs/Responder.html +693 -0
  284. data/docs/Responder2.html +225 -0
  285. data/docs/_index.html +2101 -0
  286. data/docs/class_list.html +51 -0
  287. data/docs/css/common.css +1 -0
  288. data/docs/css/full_list.css +58 -0
  289. data/docs/css/style.css +496 -0
  290. data/docs/file.History.html +869 -0
  291. data/docs/file.README.html +104 -0
  292. data/docs/file_list.html +66 -0
  293. data/docs/frames.html +17 -0
  294. data/docs/index.html +614 -0
  295. data/docs/js/app.js +314 -0
  296. data/docs/js/full_list.js +216 -0
  297. data/docs/js/jquery.js +4 -0
  298. data/docs/method_list.html +31043 -0
  299. data/docs/top-level-namespace.html +214 -0
  300. data/examples/canvasdemo.rb +5 -1
  301. data/examples/gltest.rb +162 -106
  302. data/examples/glviewer.rb +12 -8
  303. data/ext/fox16_c/core_wrap.cpp +117 -115
  304. data/ext/fox16_c/dc_wrap.cpp +82 -60
  305. data/ext/fox16_c/dialogs_wrap.cpp +87 -67
  306. data/ext/fox16_c/extconf.rb +12 -12
  307. data/ext/fox16_c/frames_wrap.cpp +101 -75
  308. data/ext/fox16_c/fx3d_wrap.cpp +258 -302
  309. data/ext/fox16_c/iconlist_wrap.cpp +70 -52
  310. data/ext/fox16_c/icons_wrap.cpp +75 -55
  311. data/ext/fox16_c/image_wrap.cpp +75 -57
  312. data/ext/fox16_c/label_wrap.cpp +78 -60
  313. data/ext/fox16_c/layout_wrap.cpp +83 -65
  314. data/ext/fox16_c/list_wrap.cpp +70 -52
  315. data/ext/fox16_c/mdi_wrap.cpp +76 -58
  316. data/ext/fox16_c/menu_wrap.cpp +78 -60
  317. data/ext/fox16_c/scintilla_wrap.cpp +85 -61
  318. data/ext/fox16_c/swigruby.h +64 -46
  319. data/ext/fox16_c/table_wrap.cpp +80 -58
  320. data/ext/fox16_c/text_wrap.cpp +75 -55
  321. data/ext/fox16_c/treelist_wrap.cpp +71 -53
  322. data/ext/fox16_c/ui_wrap.cpp +101 -81
  323. data/fxruby.gemspec +1 -1
  324. data/lib/2.4/fox16_c.so +0 -0
  325. data/lib/2.5/fox16_c.so +0 -0
  326. data/lib/2.6/fox16_c.so +0 -0
  327. data/lib/2.7/fox16_c.so +0 -0
  328. data/lib/{2.2 → 3.0}/fox16_c.so +0 -0
  329. data/lib/fox16/aliases.rb +0 -0
  330. data/lib/fox16/bitmapview.rb +0 -0
  331. data/lib/fox16/calendar.rb +0 -0
  332. data/lib/fox16/canvas.rb +76 -45
  333. data/lib/fox16/chore.rb +0 -0
  334. data/lib/fox16/colors.rb +0 -0
  335. data/lib/fox16/core.rb +0 -0
  336. data/lib/fox16/dict.rb +0 -0
  337. data/lib/fox16/glgroup.rb +5 -5
  338. data/lib/fox16/glshapes.rb +111 -99
  339. data/lib/fox16/input.rb +0 -0
  340. data/lib/fox16/irb.rb +0 -0
  341. data/lib/fox16/iterators.rb +0 -0
  342. data/lib/fox16/keys.rb +0 -0
  343. data/lib/fox16/missingdep.rb +0 -0
  344. data/lib/fox16/pseudokeyboard.rb +0 -0
  345. data/lib/fox16/pseudomouse.rb +0 -0
  346. data/lib/fox16/responder.rb +0 -0
  347. data/lib/fox16/responder2.rb +0 -0
  348. data/lib/fox16/scintilla.rb +0 -0
  349. data/lib/fox16/settings.rb +0 -0
  350. data/lib/fox16/signal.rb +0 -0
  351. data/lib/fox16/timeout.rb +0 -0
  352. data/lib/fox16/tkcompat.rb +0 -0
  353. data/lib/fox16/undolist.rb +0 -0
  354. data/lib/fox16/version.rb +1 -1
  355. data/lib/fox16.rb +2 -4
  356. data/ports/x64-mingw32/bin/libFOX-1.6-0.dll +0 -0
  357. data/ports/x64-mingw32/bin/libfxscintilla-20.dll +0 -0
  358. data/ports/x64-mingw32/bin/libgcc_s_seh-1.dll +0 -0
  359. data/ports/x64-mingw32/bin/libjpeg-62.dll +0 -0
  360. data/ports/x64-mingw32/bin/libpng16-16.dll +0 -0
  361. data/ports/x64-mingw32/bin/libstdc++-6.dll +0 -0
  362. data/ports/x64-mingw32/bin/libtiff-5.dll +0 -0
  363. data/ports/x64-mingw32/bin/libwinpthread-1.dll +0 -0
  364. data/ports/x64-mingw32/bin/zlib1.dll +0 -0
  365. metadata +310 -20
  366. data/lib/2.3/fox16_c.so +0 -0
  367. data/ports/x86_64-w64-mingw32/bin/libFOX-1.6-0.dll +0 -0
  368. data/ports/x86_64-w64-mingw32/bin/libfxscintilla-20.dll +0 -0
  369. data/ports/x86_64-w64-mingw32/bin/libgcc_s_seh-1.dll +0 -0
  370. data/ports/x86_64-w64-mingw32/bin/libjpeg-62.dll +0 -0
  371. data/ports/x86_64-w64-mingw32/bin/libpng16-16.dll +0 -0
  372. data/ports/x86_64-w64-mingw32/bin/libstdc++-6.dll +0 -0
  373. data/ports/x86_64-w64-mingw32/bin/libtiff-5.dll +0 -0
  374. data/ports/x86_64-w64-mingw32/bin/libwinpthread-1.dll +0 -0
  375. data/ports/x86_64-w64-mingw32/bin/zlib1.dll +0 -0
@@ -1,6 +1,6 @@
1
1
  /* ----------------------------------------------------------------------------
2
2
  * This file was automatically generated by SWIG (http://www.swig.org).
3
- * Version 3.0.12
3
+ * Version 4.0.2
4
4
  *
5
5
  * This file is not intended to be easily readable and contains a number of
6
6
  * coding conventions designed to improve portability and efficiency. Do not make
@@ -331,6 +331,7 @@ template <typename T> T SwigValueInit() {
331
331
  /* Flags for pointer conversions */
332
332
  #define SWIG_POINTER_DISOWN 0x1
333
333
  #define SWIG_CAST_NEW_MEMORY 0x2
334
+ #define SWIG_POINTER_NO_NULL 0x4
334
335
 
335
336
  /* Flags for new pointer objects */
336
337
  #define SWIG_POINTER_OWN 0x1
@@ -982,42 +983,53 @@ SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) {
982
983
  #ifndef RSTRUCT_PTR
983
984
  # define RSTRUCT_PTR(x) RSTRUCT(x)->ptr
984
985
  #endif
986
+ #ifndef RTYPEDDATA_P
987
+ # define RTYPEDDATA_P(x) (TYPE(x) != T_DATA)
988
+ #endif
985
989
 
986
990
 
987
991
 
988
992
  /*
989
- * Need to be very careful about how these macros are defined, especially
990
- * when compiling C++ code or C code with an ANSI C compiler.
993
+ * The following macros are used for providing the correct type of a
994
+ * function pointer to the Ruby C API.
995
+ * Starting with Ruby 2.7 (corresponding to RB_METHOD_DEFINITION_DECL being
996
+ * defined) these macros act transparently due to Ruby's moving away from
997
+ * ANYARGS and instead employing strict function signatures.
998
+ *
999
+ * Note: In case of C (not C++) the macros are transparent even before
1000
+ * Ruby 2.7 due to the fact that the Ruby C API used function declarators
1001
+ * with empty parentheses, which allows for an unspecified number of
1002
+ * arguments.
1003
+ *
1004
+ * PROTECTFUNC(f) is used for the function pointer argument of the Ruby
1005
+ * C API function rb_protect().
991
1006
  *
992
- * VALUEFUNC(f) is a macro used to typecast a C function that implements
993
- * a Ruby method so that it can be passed as an argument to API functions
994
- * like rb_define_method() and rb_define_singleton_method().
1007
+ * VALUEFUNC(f) is used for the function pointer argument(s) of Ruby C API
1008
+ * functions like rb_define_method() and rb_define_singleton_method().
995
1009
  *
996
- * VOIDFUNC(f) is a macro used to typecast a C function that implements
997
- * either the "mark" or "free" stuff for a Ruby Data object, so that it
998
- * can be passed as an argument to API functions like Data_Wrap_Struct()
1010
+ * VOIDFUNC(f) is used to typecast a C function that implements either
1011
+ * the "mark" or "free" stuff for a Ruby Data object, so that it can be
1012
+ * passed as an argument to Ruby C API functions like Data_Wrap_Struct()
999
1013
  * and Data_Make_Struct().
1014
+ *
1015
+ * SWIG_RUBY_VOID_ANYARGS_FUNC(f) is used for the function pointer
1016
+ * argument(s) of Ruby C API functions like rb_define_virtual_variable().
1017
+ *
1018
+ * SWIG_RUBY_INT_ANYARGS_FUNC(f) is used for the function pointer
1019
+ * argument(s) of Ruby C API functions like st_foreach().
1000
1020
  */
1001
-
1002
- #ifdef __cplusplus
1003
- # ifndef RUBY_METHOD_FUNC /* These definitions should work for Ruby 1.4.6 */
1004
- # define PROTECTFUNC(f) ((VALUE (*)()) f)
1005
- # define VALUEFUNC(f) ((VALUE (*)()) f)
1006
- # define VOIDFUNC(f) ((void (*)()) f)
1007
- # else
1008
- # ifndef ANYARGS /* These definitions should work for Ruby 1.6 */
1009
- # define PROTECTFUNC(f) ((VALUE (*)()) f)
1010
- # define VALUEFUNC(f) ((VALUE (*)()) f)
1011
- # define VOIDFUNC(f) ((RUBY_DATA_FUNC) f)
1012
- # else /* These definitions should work for Ruby 1.7+ */
1013
- # define PROTECTFUNC(f) ((VALUE (*)(VALUE)) f)
1014
- # define VALUEFUNC(f) ((VALUE (*)(ANYARGS)) f)
1015
- # define VOIDFUNC(f) ((RUBY_DATA_FUNC) f)
1016
- # endif
1017
- # endif
1021
+ #if defined(__cplusplus) && !defined(RB_METHOD_DEFINITION_DECL)
1022
+ # define PROTECTFUNC(f) ((VALUE (*)(VALUE)) f)
1023
+ # define VALUEFUNC(f) ((VALUE (*)(ANYARGS)) f)
1024
+ # define VOIDFUNC(f) ((RUBY_DATA_FUNC) f)
1025
+ # define SWIG_RUBY_VOID_ANYARGS_FUNC(f) ((void (*)(ANYARGS))(f))
1026
+ # define SWIG_RUBY_INT_ANYARGS_FUNC(f) ((int (*)(ANYARGS))(f))
1018
1027
  #else
1028
+ # define PROTECTFUNC(f) (f)
1019
1029
  # define VALUEFUNC(f) (f)
1020
1030
  # define VOIDFUNC(f) (f)
1031
+ # define SWIG_RUBY_VOID_ANYARGS_FUNC(f) (f)
1032
+ # define SWIG_RUBY_INT_ANYARGS_FUNC(f) (f)
1021
1033
  #endif
1022
1034
 
1023
1035
  /* Don't use for expressions have side effect */
@@ -1205,7 +1217,7 @@ void Ruby_Format_OverloadedError(
1205
1217
  /* -----------------------------------------------------------------------------
1206
1218
  * rubytracking.swg
1207
1219
  *
1208
- * This file contains support for tracking mappings from
1220
+ * This file contains support for tracking mappings from
1209
1221
  * Ruby objects to C++ objects. This functionality is needed
1210
1222
  * to implement mark functions for Ruby's mark and sweep
1211
1223
  * garbage collector.
@@ -1232,7 +1244,7 @@ extern "C" {
1232
1244
  #endif
1233
1245
 
1234
1246
  /* Global hash table to store Trackings from C/C++
1235
- structs to Ruby Objects.
1247
+ structs to Ruby Objects.
1236
1248
  */
1237
1249
  static st_table* swig_ruby_trackings = NULL;
1238
1250
 
@@ -1246,7 +1258,7 @@ SWIGRUNTIME void SWIG_RubyInitializeTrackings(void) {
1246
1258
  /* Create a hash table to store Trackings from C++
1247
1259
  objects to Ruby objects. */
1248
1260
 
1249
- /* Try to see if some other .so has already created a
1261
+ /* Try to see if some other .so has already created a
1250
1262
  tracking hash table, which we keep hidden in an instance var
1251
1263
  in the SWIG module.
1252
1264
  This is done to allow multiple DSOs to share the same
@@ -1273,8 +1285,9 @@ SWIGRUNTIME void SWIG_RubyInitializeTrackings(void) {
1273
1285
  swig_ruby_trackings = (st_table*)NUM2SWIG(trackings_value);
1274
1286
  }
1275
1287
 
1276
- rb_define_virtual_variable("SWIG_TRACKINGS_COUNT", RUBY_VALUE_METHOD_FUNC(swig_ruby_trackings_count), RUBY_VOID_METHOD_FUNC((rb_gvar_setter_t*)NULL))
1277
- ;
1288
+ rb_define_virtual_variable("SWIG_TRACKINGS_COUNT",
1289
+ VALUEFUNC(swig_ruby_trackings_count),
1290
+ SWIG_RUBY_VOID_ANYARGS_FUNC((rb_gvar_setter_t*)NULL));
1278
1291
  }
1279
1292
 
1280
1293
  /* Add a Tracking from a C/C++ struct to a Ruby object */
@@ -1306,13 +1319,14 @@ SWIGRUNTIME void SWIG_RubyRemoveTracking(void* ptr) {
1306
1319
 
1307
1320
  /* This is a helper method that unlinks a Ruby object from its
1308
1321
  underlying C++ object. This is needed if the lifetime of the
1309
- Ruby object is longer than the C++ object */
1322
+ Ruby object is longer than the C++ object. */
1310
1323
  SWIGRUNTIME void SWIG_RubyUnlinkObjects(void* ptr) {
1311
1324
  VALUE object = SWIG_RubyInstanceFor(ptr);
1312
1325
 
1313
1326
  if (object != Qnil) {
1314
- if (TYPE(object) != T_DATA)
1315
- abort();
1327
+ // object might have the T_ZOMBIE type, but that's just
1328
+ // because the GC has flagged it as such for a deferred
1329
+ // destruction. Until then, it's still a T_DATA object.
1316
1330
  DATA_PTR(object) = 0;
1317
1331
  }
1318
1332
  }
@@ -1322,14 +1336,15 @@ SWIGRUNTIME void SWIG_RubyUnlinkObjects(void* ptr) {
1322
1336
  to the passed callback function. */
1323
1337
 
1324
1338
  /* Proxy method to abstract the internal trackings datatype */
1325
- static int swig_ruby_internal_iterate_callback(st_data_t ptr, st_data_t obj, st_data_t meth) {
1326
- ((void(*)(void*, VALUE))meth)((void*)ptr, (VALUE)obj);
1327
-
1339
+ static int swig_ruby_internal_iterate_callback(st_data_t ptr, st_data_t obj, st_data_t meth) {
1340
+ ((void (*) (void *, VALUE))meth)((void *)ptr, (VALUE)obj);
1328
1341
  return ST_CONTINUE;
1329
1342
  }
1330
1343
 
1331
1344
  SWIGRUNTIME void SWIG_RubyIterateTrackings( void(*meth)(void* ptr, VALUE obj) ) {
1332
- st_foreach(swig_ruby_trackings, RUBY_INT_METHOD_FUNC(swig_ruby_internal_iterate_callback), (st_data_t)meth);
1345
+ st_foreach(swig_ruby_trackings,
1346
+ SWIG_RUBY_INT_ANYARGS_FUNC(swig_ruby_internal_iterate_callback),
1347
+ (st_data_t)meth);
1333
1348
  }
1334
1349
 
1335
1350
  #ifdef __cplusplus
@@ -1546,10 +1561,11 @@ SWIG_Ruby_NewPointerObj(void *ptr, swig_type_info *type, int flags)
1546
1561
  swig_class *sklass;
1547
1562
  VALUE klass;
1548
1563
  VALUE obj;
1549
-
1564
+
1550
1565
  if (!ptr)
1551
1566
  return Qnil;
1552
-
1567
+
1568
+ assert(type);
1553
1569
  if (type->clientdata) {
1554
1570
  sklass = (swig_class *) type->clientdata;
1555
1571
 
@@ -1557,7 +1573,7 @@ SWIG_Ruby_NewPointerObj(void *ptr, swig_type_info *type, int flags)
1557
1573
  track = sklass->trackObjects;
1558
1574
  if (track) {
1559
1575
  obj = SWIG_RubyInstanceFor(ptr);
1560
-
1576
+
1561
1577
  /* Check the object's type and make sure it has the correct type.
1562
1578
  It might not in cases where methods do things like
1563
1579
  downcast methods. */
@@ -1589,7 +1605,7 @@ SWIG_Ruby_NewPointerObj(void *ptr, swig_type_info *type, int flags)
1589
1605
  obj = Data_Wrap_Struct(klass, 0, 0, ptr);
1590
1606
  }
1591
1607
  rb_iv_set(obj, "@__swigtype__", rb_str_new2(type->name));
1592
-
1608
+
1593
1609
  return obj;
1594
1610
  }
1595
1611
 
@@ -1609,6 +1625,8 @@ SWIGRUNTIMEINLINE char *
1609
1625
  SWIG_Ruby_MangleStr(VALUE obj)
1610
1626
  {
1611
1627
  VALUE stype = rb_iv_get(obj, "@__swigtype__");
1628
+ if (NIL_P(stype))
1629
+ return NULL;
1612
1630
  return StringValuePtr(stype);
1613
1631
  }
1614
1632
 
@@ -1621,7 +1639,7 @@ typedef struct {
1621
1639
  SWIGRUNTIME swig_ruby_owntype
1622
1640
  SWIG_Ruby_AcquirePtr(VALUE obj, swig_ruby_owntype own) {
1623
1641
  swig_ruby_owntype oldown = {0, 0};
1624
- if (obj) {
1642
+ if (TYPE(obj) == T_DATA && !RTYPEDDATA_P(obj)) {
1625
1643
  oldown.datafree = RDATA(obj)->dfree;
1626
1644
  RDATA(obj)->dfree = own.datafree;
1627
1645
  }
@@ -1640,9 +1658,9 @@ SWIG_Ruby_ConvertPtrAndOwn(VALUE obj, void **ptr, swig_type_info *ty, int flags,
1640
1658
  if (NIL_P(obj)) {
1641
1659
  if (ptr)
1642
1660
  *ptr = 0;
1643
- return SWIG_OK;
1661
+ return (flags & SWIG_POINTER_NO_NULL) ? SWIG_NullReferenceError : SWIG_OK;
1644
1662
  } else {
1645
- if (TYPE(obj) != T_DATA) {
1663
+ if (TYPE(obj) != T_DATA || (TYPE(obj) == T_DATA && RTYPEDDATA_P(obj))) {
1646
1664
  return SWIG_ERROR;
1647
1665
  }
1648
1666
  Data_Get_Struct(obj, void, vptr);
@@ -1737,7 +1755,7 @@ SWIG_Ruby_NewPackedObj(void *ptr, int sz, swig_type_info *type) {
1737
1755
  return rb_str_new2(result);
1738
1756
  }
1739
1757
 
1740
- /* Convert a packed value value */
1758
+ /* Convert a packed pointer value */
1741
1759
  SWIGRUNTIME int
1742
1760
  SWIG_Ruby_ConvertPacked(VALUE obj, void *ptr, int sz, swig_type_info *ty) {
1743
1761
  swig_cast_info *tc;
@@ -1926,7 +1944,7 @@ static swig_module_info swig_module = {swig_types, 68, 0, 0, 0, 0};
1926
1944
  #define SWIG_RUBY_THREAD_END_BLOCK
1927
1945
 
1928
1946
 
1929
- #define SWIGVERSION 0x030012
1947
+ #define SWIGVERSION 0x040002
1930
1948
  #define SWIG_VERSION SWIGVERSION
1931
1949
 
1932
1950
 
@@ -8199,7 +8217,7 @@ SWIGINTERN VALUE _wrap_FXIconList_setShape(int nargs, VALUE *args, VALUE self) {
8199
8217
  _v = SWIG_CheckState(res);
8200
8218
  if (_v) {
8201
8219
  void *vptr = 0;
8202
- int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_FXRegion, 0);
8220
+ int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_FXRegion, SWIG_POINTER_NO_NULL);
8203
8221
  _v = SWIG_CheckState(res);
8204
8222
  if (_v) {
8205
8223
  return _wrap_FXIconList_setShape__SWIG_0(nargs, args, self);
@@ -13730,7 +13748,7 @@ SWIGINTERN VALUE _wrap_FXFileList_setShape(int nargs, VALUE *args, VALUE self) {
13730
13748
  _v = SWIG_CheckState(res);
13731
13749
  if (_v) {
13732
13750
  void *vptr = 0;
13733
- int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_FXRegion, 0);
13751
+ int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_FXRegion, SWIG_POINTER_NO_NULL);
13734
13752
  _v = SWIG_CheckState(res);
13735
13753
  if (_v) {
13736
13754
  return _wrap_FXFileList_setShape__SWIG_0(nargs, args, self);
@@ -15202,7 +15220,7 @@ SWIG_InitializeModule(void *clientdata) {
15202
15220
 
15203
15221
  /* Now work on filling in swig_module.types */
15204
15222
  #ifdef SWIGRUNTIME_DEBUG
15205
- printf("SWIG_InitializeModule: size %d\n", swig_module.size);
15223
+ printf("SWIG_InitializeModule: size %lu\n", (unsigned long)swig_module.size);
15206
15224
  #endif
15207
15225
  for (i = 0; i < swig_module.size; ++i) {
15208
15226
  swig_type_info *type = 0;
@@ -15210,7 +15228,7 @@ SWIG_InitializeModule(void *clientdata) {
15210
15228
  swig_cast_info *cast;
15211
15229
 
15212
15230
  #ifdef SWIGRUNTIME_DEBUG
15213
- printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name);
15231
+ printf("SWIG_InitializeModule: type %lu %s\n", (unsigned long)i, swig_module.type_initial[i]->name);
15214
15232
  #endif
15215
15233
 
15216
15234
  /* if there is another module already loaded */
@@ -15286,7 +15304,7 @@ SWIG_InitializeModule(void *clientdata) {
15286
15304
  for (i = 0; i < swig_module.size; ++i) {
15287
15305
  int j = 0;
15288
15306
  swig_cast_info *cast = swig_module.cast_initial[i];
15289
- printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name);
15307
+ printf("SWIG_InitializeModule: type %lu %s\n", (unsigned long)i, swig_module.type_initial[i]->name);
15290
15308
  while (cast->type) {
15291
15309
  printf("SWIG_InitializeModule: cast type %s\n", cast->type->name);
15292
15310
  cast++;
@@ -1,6 +1,6 @@
1
1
  /* ----------------------------------------------------------------------------
2
2
  * This file was automatically generated by SWIG (http://www.swig.org).
3
- * Version 3.0.12
3
+ * Version 4.0.2
4
4
  *
5
5
  * This file is not intended to be easily readable and contains a number of
6
6
  * coding conventions designed to improve portability and efficiency. Do not make
@@ -331,6 +331,7 @@ template <typename T> T SwigValueInit() {
331
331
  /* Flags for pointer conversions */
332
332
  #define SWIG_POINTER_DISOWN 0x1
333
333
  #define SWIG_CAST_NEW_MEMORY 0x2
334
+ #define SWIG_POINTER_NO_NULL 0x4
334
335
 
335
336
  /* Flags for new pointer objects */
336
337
  #define SWIG_POINTER_OWN 0x1
@@ -982,42 +983,53 @@ SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) {
982
983
  #ifndef RSTRUCT_PTR
983
984
  # define RSTRUCT_PTR(x) RSTRUCT(x)->ptr
984
985
  #endif
986
+ #ifndef RTYPEDDATA_P
987
+ # define RTYPEDDATA_P(x) (TYPE(x) != T_DATA)
988
+ #endif
985
989
 
986
990
 
987
991
 
988
992
  /*
989
- * Need to be very careful about how these macros are defined, especially
990
- * when compiling C++ code or C code with an ANSI C compiler.
993
+ * The following macros are used for providing the correct type of a
994
+ * function pointer to the Ruby C API.
995
+ * Starting with Ruby 2.7 (corresponding to RB_METHOD_DEFINITION_DECL being
996
+ * defined) these macros act transparently due to Ruby's moving away from
997
+ * ANYARGS and instead employing strict function signatures.
998
+ *
999
+ * Note: In case of C (not C++) the macros are transparent even before
1000
+ * Ruby 2.7 due to the fact that the Ruby C API used function declarators
1001
+ * with empty parentheses, which allows for an unspecified number of
1002
+ * arguments.
1003
+ *
1004
+ * PROTECTFUNC(f) is used for the function pointer argument of the Ruby
1005
+ * C API function rb_protect().
991
1006
  *
992
- * VALUEFUNC(f) is a macro used to typecast a C function that implements
993
- * a Ruby method so that it can be passed as an argument to API functions
994
- * like rb_define_method() and rb_define_singleton_method().
1007
+ * VALUEFUNC(f) is used for the function pointer argument(s) of Ruby C API
1008
+ * functions like rb_define_method() and rb_define_singleton_method().
995
1009
  *
996
- * VOIDFUNC(f) is a macro used to typecast a C function that implements
997
- * either the "mark" or "free" stuff for a Ruby Data object, so that it
998
- * can be passed as an argument to API functions like Data_Wrap_Struct()
1010
+ * VOIDFUNC(f) is used to typecast a C function that implements either
1011
+ * the "mark" or "free" stuff for a Ruby Data object, so that it can be
1012
+ * passed as an argument to Ruby C API functions like Data_Wrap_Struct()
999
1013
  * and Data_Make_Struct().
1014
+ *
1015
+ * SWIG_RUBY_VOID_ANYARGS_FUNC(f) is used for the function pointer
1016
+ * argument(s) of Ruby C API functions like rb_define_virtual_variable().
1017
+ *
1018
+ * SWIG_RUBY_INT_ANYARGS_FUNC(f) is used for the function pointer
1019
+ * argument(s) of Ruby C API functions like st_foreach().
1000
1020
  */
1001
-
1002
- #ifdef __cplusplus
1003
- # ifndef RUBY_METHOD_FUNC /* These definitions should work for Ruby 1.4.6 */
1004
- # define PROTECTFUNC(f) ((VALUE (*)()) f)
1005
- # define VALUEFUNC(f) ((VALUE (*)()) f)
1006
- # define VOIDFUNC(f) ((void (*)()) f)
1007
- # else
1008
- # ifndef ANYARGS /* These definitions should work for Ruby 1.6 */
1009
- # define PROTECTFUNC(f) ((VALUE (*)()) f)
1010
- # define VALUEFUNC(f) ((VALUE (*)()) f)
1011
- # define VOIDFUNC(f) ((RUBY_DATA_FUNC) f)
1012
- # else /* These definitions should work for Ruby 1.7+ */
1013
- # define PROTECTFUNC(f) ((VALUE (*)(VALUE)) f)
1014
- # define VALUEFUNC(f) ((VALUE (*)(ANYARGS)) f)
1015
- # define VOIDFUNC(f) ((RUBY_DATA_FUNC) f)
1016
- # endif
1017
- # endif
1021
+ #if defined(__cplusplus) && !defined(RB_METHOD_DEFINITION_DECL)
1022
+ # define PROTECTFUNC(f) ((VALUE (*)(VALUE)) f)
1023
+ # define VALUEFUNC(f) ((VALUE (*)(ANYARGS)) f)
1024
+ # define VOIDFUNC(f) ((RUBY_DATA_FUNC) f)
1025
+ # define SWIG_RUBY_VOID_ANYARGS_FUNC(f) ((void (*)(ANYARGS))(f))
1026
+ # define SWIG_RUBY_INT_ANYARGS_FUNC(f) ((int (*)(ANYARGS))(f))
1018
1027
  #else
1028
+ # define PROTECTFUNC(f) (f)
1019
1029
  # define VALUEFUNC(f) (f)
1020
1030
  # define VOIDFUNC(f) (f)
1031
+ # define SWIG_RUBY_VOID_ANYARGS_FUNC(f) (f)
1032
+ # define SWIG_RUBY_INT_ANYARGS_FUNC(f) (f)
1021
1033
  #endif
1022
1034
 
1023
1035
  /* Don't use for expressions have side effect */
@@ -1205,7 +1217,7 @@ void Ruby_Format_OverloadedError(
1205
1217
  /* -----------------------------------------------------------------------------
1206
1218
  * rubytracking.swg
1207
1219
  *
1208
- * This file contains support for tracking mappings from
1220
+ * This file contains support for tracking mappings from
1209
1221
  * Ruby objects to C++ objects. This functionality is needed
1210
1222
  * to implement mark functions for Ruby's mark and sweep
1211
1223
  * garbage collector.
@@ -1232,7 +1244,7 @@ extern "C" {
1232
1244
  #endif
1233
1245
 
1234
1246
  /* Global hash table to store Trackings from C/C++
1235
- structs to Ruby Objects.
1247
+ structs to Ruby Objects.
1236
1248
  */
1237
1249
  static st_table* swig_ruby_trackings = NULL;
1238
1250
 
@@ -1246,7 +1258,7 @@ SWIGRUNTIME void SWIG_RubyInitializeTrackings(void) {
1246
1258
  /* Create a hash table to store Trackings from C++
1247
1259
  objects to Ruby objects. */
1248
1260
 
1249
- /* Try to see if some other .so has already created a
1261
+ /* Try to see if some other .so has already created a
1250
1262
  tracking hash table, which we keep hidden in an instance var
1251
1263
  in the SWIG module.
1252
1264
  This is done to allow multiple DSOs to share the same
@@ -1273,8 +1285,9 @@ SWIGRUNTIME void SWIG_RubyInitializeTrackings(void) {
1273
1285
  swig_ruby_trackings = (st_table*)NUM2SWIG(trackings_value);
1274
1286
  }
1275
1287
 
1276
- rb_define_virtual_variable("SWIG_TRACKINGS_COUNT", RUBY_VALUE_METHOD_FUNC(swig_ruby_trackings_count), RUBY_VOID_METHOD_FUNC((rb_gvar_setter_t*)NULL))
1277
- ;
1288
+ rb_define_virtual_variable("SWIG_TRACKINGS_COUNT",
1289
+ VALUEFUNC(swig_ruby_trackings_count),
1290
+ SWIG_RUBY_VOID_ANYARGS_FUNC((rb_gvar_setter_t*)NULL));
1278
1291
  }
1279
1292
 
1280
1293
  /* Add a Tracking from a C/C++ struct to a Ruby object */
@@ -1306,13 +1319,14 @@ SWIGRUNTIME void SWIG_RubyRemoveTracking(void* ptr) {
1306
1319
 
1307
1320
  /* This is a helper method that unlinks a Ruby object from its
1308
1321
  underlying C++ object. This is needed if the lifetime of the
1309
- Ruby object is longer than the C++ object */
1322
+ Ruby object is longer than the C++ object. */
1310
1323
  SWIGRUNTIME void SWIG_RubyUnlinkObjects(void* ptr) {
1311
1324
  VALUE object = SWIG_RubyInstanceFor(ptr);
1312
1325
 
1313
1326
  if (object != Qnil) {
1314
- if (TYPE(object) != T_DATA)
1315
- abort();
1327
+ // object might have the T_ZOMBIE type, but that's just
1328
+ // because the GC has flagged it as such for a deferred
1329
+ // destruction. Until then, it's still a T_DATA object.
1316
1330
  DATA_PTR(object) = 0;
1317
1331
  }
1318
1332
  }
@@ -1322,14 +1336,15 @@ SWIGRUNTIME void SWIG_RubyUnlinkObjects(void* ptr) {
1322
1336
  to the passed callback function. */
1323
1337
 
1324
1338
  /* Proxy method to abstract the internal trackings datatype */
1325
- static int swig_ruby_internal_iterate_callback(st_data_t ptr, st_data_t obj, st_data_t meth) {
1326
- ((void(*)(void*, VALUE))meth)((void*)ptr, (VALUE)obj);
1327
-
1339
+ static int swig_ruby_internal_iterate_callback(st_data_t ptr, st_data_t obj, st_data_t meth) {
1340
+ ((void (*) (void *, VALUE))meth)((void *)ptr, (VALUE)obj);
1328
1341
  return ST_CONTINUE;
1329
1342
  }
1330
1343
 
1331
1344
  SWIGRUNTIME void SWIG_RubyIterateTrackings( void(*meth)(void* ptr, VALUE obj) ) {
1332
- st_foreach(swig_ruby_trackings, RUBY_INT_METHOD_FUNC(swig_ruby_internal_iterate_callback), (st_data_t)meth);
1345
+ st_foreach(swig_ruby_trackings,
1346
+ SWIG_RUBY_INT_ANYARGS_FUNC(swig_ruby_internal_iterate_callback),
1347
+ (st_data_t)meth);
1333
1348
  }
1334
1349
 
1335
1350
  #ifdef __cplusplus
@@ -1546,10 +1561,11 @@ SWIG_Ruby_NewPointerObj(void *ptr, swig_type_info *type, int flags)
1546
1561
  swig_class *sklass;
1547
1562
  VALUE klass;
1548
1563
  VALUE obj;
1549
-
1564
+
1550
1565
  if (!ptr)
1551
1566
  return Qnil;
1552
-
1567
+
1568
+ assert(type);
1553
1569
  if (type->clientdata) {
1554
1570
  sklass = (swig_class *) type->clientdata;
1555
1571
 
@@ -1557,7 +1573,7 @@ SWIG_Ruby_NewPointerObj(void *ptr, swig_type_info *type, int flags)
1557
1573
  track = sklass->trackObjects;
1558
1574
  if (track) {
1559
1575
  obj = SWIG_RubyInstanceFor(ptr);
1560
-
1576
+
1561
1577
  /* Check the object's type and make sure it has the correct type.
1562
1578
  It might not in cases where methods do things like
1563
1579
  downcast methods. */
@@ -1589,7 +1605,7 @@ SWIG_Ruby_NewPointerObj(void *ptr, swig_type_info *type, int flags)
1589
1605
  obj = Data_Wrap_Struct(klass, 0, 0, ptr);
1590
1606
  }
1591
1607
  rb_iv_set(obj, "@__swigtype__", rb_str_new2(type->name));
1592
-
1608
+
1593
1609
  return obj;
1594
1610
  }
1595
1611
 
@@ -1609,6 +1625,8 @@ SWIGRUNTIMEINLINE char *
1609
1625
  SWIG_Ruby_MangleStr(VALUE obj)
1610
1626
  {
1611
1627
  VALUE stype = rb_iv_get(obj, "@__swigtype__");
1628
+ if (NIL_P(stype))
1629
+ return NULL;
1612
1630
  return StringValuePtr(stype);
1613
1631
  }
1614
1632
 
@@ -1621,7 +1639,7 @@ typedef struct {
1621
1639
  SWIGRUNTIME swig_ruby_owntype
1622
1640
  SWIG_Ruby_AcquirePtr(VALUE obj, swig_ruby_owntype own) {
1623
1641
  swig_ruby_owntype oldown = {0, 0};
1624
- if (obj) {
1642
+ if (TYPE(obj) == T_DATA && !RTYPEDDATA_P(obj)) {
1625
1643
  oldown.datafree = RDATA(obj)->dfree;
1626
1644
  RDATA(obj)->dfree = own.datafree;
1627
1645
  }
@@ -1640,9 +1658,9 @@ SWIG_Ruby_ConvertPtrAndOwn(VALUE obj, void **ptr, swig_type_info *ty, int flags,
1640
1658
  if (NIL_P(obj)) {
1641
1659
  if (ptr)
1642
1660
  *ptr = 0;
1643
- return SWIG_OK;
1661
+ return (flags & SWIG_POINTER_NO_NULL) ? SWIG_NullReferenceError : SWIG_OK;
1644
1662
  } else {
1645
- if (TYPE(obj) != T_DATA) {
1663
+ if (TYPE(obj) != T_DATA || (TYPE(obj) == T_DATA && RTYPEDDATA_P(obj))) {
1646
1664
  return SWIG_ERROR;
1647
1665
  }
1648
1666
  Data_Get_Struct(obj, void, vptr);
@@ -1737,7 +1755,7 @@ SWIG_Ruby_NewPackedObj(void *ptr, int sz, swig_type_info *type) {
1737
1755
  return rb_str_new2(result);
1738
1756
  }
1739
1757
 
1740
- /* Convert a packed value value */
1758
+ /* Convert a packed pointer value */
1741
1759
  SWIGRUNTIME int
1742
1760
  SWIG_Ruby_ConvertPacked(VALUE obj, void *ptr, int sz, swig_type_info *ty) {
1743
1761
  swig_cast_info *tc;
@@ -1995,7 +2013,7 @@ static swig_module_info swig_module = {swig_types, 137, 0, 0, 0, 0};
1995
2013
  #define SWIG_RUBY_THREAD_END_BLOCK
1996
2014
 
1997
2015
 
1998
- #define SWIGVERSION 0x030012
2016
+ #define SWIGVERSION 0x040002
1999
2017
  #define SWIG_VERSION SWIGVERSION
2000
2018
 
2001
2019
 
@@ -2087,14 +2105,16 @@ SWIG_From_unsigned_SS_int (unsigned int value)
2087
2105
 
2088
2106
 
2089
2107
  SWIGINTERN VALUE
2090
- SWIG_ruby_failed(VALUE, VALUE)
2108
+ SWIG_ruby_failed(VALUE SWIGUNUSEDPARM(arg1), VALUE SWIGUNUSEDPARM(arg2))
2091
2109
  {
2092
2110
  return Qnil;
2093
2111
  }
2094
2112
 
2095
2113
 
2096
- /*@SWIG:/usr/share/swig3.0/ruby/rubyprimtypes.swg,19,%ruby_aux_method@*/
2097
- SWIGINTERN VALUE SWIG_AUX_NUM2LONG(VALUE pargs){VALUE *args=(VALUE *)pargs;
2114
+ /*@SWIG:/usr/share/swig4.0/ruby/rubyprimtypes.swg,19,%ruby_aux_method@*/
2115
+ SWIGINTERN VALUE SWIG_AUX_NUM2LONG(VALUE arg)
2116
+ {
2117
+ VALUE *args = (VALUE *)arg;
2098
2118
  VALUE obj = args[0];
2099
2119
  VALUE type = TYPE(obj);
2100
2120
  long *res = (long *)(args[1]);
@@ -2112,7 +2132,7 @@ SWIG_AsVal_long (VALUE obj, long* val)
2112
2132
  VALUE a[2];
2113
2133
  a[0] = obj;
2114
2134
  a[1] = (VALUE)(&v);
2115
- if (rb_rescue(RUBY_VALUE_METHOD_FUNC(SWIG_AUX_NUM2LONG), (VALUE)a, RUBY_VALUE_METHOD_FUNC(SWIG_ruby_failed), 0) != Qnil) {
2135
+ if (rb_rescue(VALUEFUNC(SWIG_AUX_NUM2LONG), (VALUE)a, VALUEFUNC(SWIG_ruby_failed), 0) != Qnil) {
2116
2136
  if (val) *val = v;
2117
2137
  return SWIG_OK;
2118
2138
  }
@@ -13681,7 +13701,7 @@ SWIGINTERN VALUE _wrap_fxloadXPM(int nargs, VALUE *args, VALUE self) {
13681
13701
  if (argc == 1) {
13682
13702
  int _v;
13683
13703
  void *vptr = 0;
13684
- int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_FXStream, 0);
13704
+ int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_FXStream, SWIG_POINTER_NO_NULL);
13685
13705
  _v = SWIG_CheckState(res);
13686
13706
  if (_v) {
13687
13707
  return _wrap_fxloadXPM__SWIG_0(nargs, args, self);
@@ -15543,7 +15563,7 @@ SWIG_InitializeModule(void *clientdata) {
15543
15563
 
15544
15564
  /* Now work on filling in swig_module.types */
15545
15565
  #ifdef SWIGRUNTIME_DEBUG
15546
- printf("SWIG_InitializeModule: size %d\n", swig_module.size);
15566
+ printf("SWIG_InitializeModule: size %lu\n", (unsigned long)swig_module.size);
15547
15567
  #endif
15548
15568
  for (i = 0; i < swig_module.size; ++i) {
15549
15569
  swig_type_info *type = 0;
@@ -15551,7 +15571,7 @@ SWIG_InitializeModule(void *clientdata) {
15551
15571
  swig_cast_info *cast;
15552
15572
 
15553
15573
  #ifdef SWIGRUNTIME_DEBUG
15554
- printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name);
15574
+ printf("SWIG_InitializeModule: type %lu %s\n", (unsigned long)i, swig_module.type_initial[i]->name);
15555
15575
  #endif
15556
15576
 
15557
15577
  /* if there is another module already loaded */
@@ -15627,7 +15647,7 @@ SWIG_InitializeModule(void *clientdata) {
15627
15647
  for (i = 0; i < swig_module.size; ++i) {
15628
15648
  int j = 0;
15629
15649
  swig_cast_info *cast = swig_module.cast_initial[i];
15630
- printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name);
15650
+ printf("SWIG_InitializeModule: type %lu %s\n", (unsigned long)i, swig_module.type_initial[i]->name);
15631
15651
  while (cast->type) {
15632
15652
  printf("SWIG_InitializeModule: cast type %s\n", cast->type->name);
15633
15653
  cast++;