fxruby 1.6.41 → 1.6.45

Sign up to get free protection for your applications and to get access to all the features.
Files changed (354) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/.travis.yml +2 -2
  4. data/.yardopts +1 -1
  5. data/Gemfile +2 -3
  6. data/History.md +27 -1
  7. data/README.rdoc +10 -5
  8. data/Rakefile +16 -5
  9. data/appveyor.yml +8 -7
  10. data/docs/Fox/Canvas/CanvasError.html +124 -0
  11. data/docs/Fox/Canvas/CircleShape.html +477 -0
  12. data/docs/Fox/Canvas/ImageShape.html +477 -0
  13. data/docs/Fox/Canvas/LineShape.html +1005 -0
  14. data/docs/Fox/Canvas/PolygonShape.html +145 -0
  15. data/docs/Fox/Canvas/RectangleShape.html +439 -0
  16. data/docs/Fox/Canvas/SelectionPolicy.html +352 -0
  17. data/docs/Fox/Canvas/Shape.html +1955 -0
  18. data/docs/Fox/Canvas/ShapeCanvas.html +2031 -0
  19. data/docs/Fox/Canvas/ShapeGroup.html +527 -0
  20. data/docs/Fox/Canvas/SingleSelectionPolicy.html +291 -0
  21. data/docs/Fox/Canvas/TextShape.html +609 -0
  22. data/docs/Fox/Canvas.html +141 -0
  23. data/docs/Fox/FTNonModal.html +550 -0
  24. data/docs/Fox/FX4Splitter.html +1336 -0
  25. data/docs/Fox/FX7Segment.html +1010 -0
  26. data/docs/Fox/FXAccelTable.html +715 -0
  27. data/docs/Fox/FXApp.html +7998 -0
  28. data/docs/Fox/FXArc.html +562 -0
  29. data/docs/Fox/FXArrowButton.html +865 -0
  30. data/docs/Fox/FXBMPIcon.html +450 -0
  31. data/docs/Fox/FXBMPImage.html +434 -0
  32. data/docs/Fox/FXBitmap.html +1362 -0
  33. data/docs/Fox/FXBitmapFrame.html +595 -0
  34. data/docs/Fox/FXBitmapView.html +1451 -0
  35. data/docs/Fox/FXButton.html +534 -0
  36. data/docs/Fox/FXCURCursor.html +261 -0
  37. data/docs/Fox/FXCalendar.html +880 -0
  38. data/docs/Fox/FXCanvas.html +311 -0
  39. data/docs/Fox/FXCheckButton.html +949 -0
  40. data/docs/Fox/FXChoiceBox.html +472 -0
  41. data/docs/Fox/FXColor.html +1519 -0
  42. data/docs/Fox/FXColorBar.html +759 -0
  43. data/docs/Fox/FXColorDialog.html +591 -0
  44. data/docs/Fox/FXColorItem.html +323 -0
  45. data/docs/Fox/FXColorList.html +712 -0
  46. data/docs/Fox/FXColorRing.html +817 -0
  47. data/docs/Fox/FXColorSelector.html +796 -0
  48. data/docs/Fox/FXColorWell.html +850 -0
  49. data/docs/Fox/FXColorWheel.html +770 -0
  50. data/docs/Fox/FXComboBox.html +2939 -0
  51. data/docs/Fox/FXComboTableItem.html +544 -0
  52. data/docs/Fox/FXCommand.html +526 -0
  53. data/docs/Fox/FXComposite.html +433 -0
  54. data/docs/Fox/FXCursor.html +779 -0
  55. data/docs/Fox/FXDC.html +5231 -0
  56. data/docs/Fox/FXDCPrint.html +696 -0
  57. data/docs/Fox/FXDCWindow.html +358 -0
  58. data/docs/Fox/FXDataTarget.html +573 -0
  59. data/docs/Fox/FXDebugTarget.html +305 -0
  60. data/docs/Fox/FXDelegator.html +305 -0
  61. data/docs/Fox/FXDial.html +1133 -0
  62. data/docs/Fox/FXDialogBox.html +413 -0
  63. data/docs/Fox/FXDict.html +1063 -0
  64. data/docs/Fox/FXDirBox.html +752 -0
  65. data/docs/Fox/FXDirDialog.html +914 -0
  66. data/docs/Fox/FXDirItem.html +989 -0
  67. data/docs/Fox/FXDirList.html +1554 -0
  68. data/docs/Fox/FXDirSelector.html +995 -0
  69. data/docs/Fox/FXDockBar.html +1451 -0
  70. data/docs/Fox/FXDockHandler.html +468 -0
  71. data/docs/Fox/FXDockSite.html +678 -0
  72. data/docs/Fox/FXDockTitle.html +606 -0
  73. data/docs/Fox/FXDocument.html +536 -0
  74. data/docs/Fox/FXDragCorner.html +440 -0
  75. data/docs/Fox/FXDrawable.html +478 -0
  76. data/docs/Fox/FXDriveBox.html +746 -0
  77. data/docs/Fox/FXEvent.html +1736 -0
  78. data/docs/Fox/FXExtentd.html +1374 -0
  79. data/docs/Fox/FXExtentf.html +1374 -0
  80. data/docs/Fox/FXFileAssoc.html +850 -0
  81. data/docs/Fox/FXFileDialog.html +2688 -0
  82. data/docs/Fox/FXFileDict.html +1058 -0
  83. data/docs/Fox/FXFileItem.html +1141 -0
  84. data/docs/Fox/FXFileList.html +2259 -0
  85. data/docs/Fox/FXFileSelector.html +2529 -0
  86. data/docs/Fox/FXFileStream.html +503 -0
  87. data/docs/Fox/FXFoldingItem.html +2822 -0
  88. data/docs/Fox/FXFoldingList.html +5189 -0
  89. data/docs/Fox/FXFont.html +2998 -0
  90. data/docs/Fox/FXFontDesc.html +710 -0
  91. data/docs/Fox/FXFontDialog.html +420 -0
  92. data/docs/Fox/FXFontSelector.html +576 -0
  93. data/docs/Fox/FXFrame.html +1012 -0
  94. data/docs/Fox/FXGIFCursor.html +337 -0
  95. data/docs/Fox/FXGIFIcon.html +450 -0
  96. data/docs/Fox/FXGIFImage.html +434 -0
  97. data/docs/Fox/FXGLCanvas.html +700 -0
  98. data/docs/Fox/FXGLCone.html +785 -0
  99. data/docs/Fox/FXGLContext.html +649 -0
  100. data/docs/Fox/FXGLCube.html +703 -0
  101. data/docs/Fox/FXGLCylinder.html +791 -0
  102. data/docs/Fox/FXGLGroup.html +1385 -0
  103. data/docs/Fox/FXGLLine.html +653 -0
  104. data/docs/Fox/FXGLObject.html +759 -0
  105. data/docs/Fox/FXGLPoint.html +561 -0
  106. data/docs/Fox/FXGLShape.html +714 -0
  107. data/docs/Fox/FXGLSphere.html +626 -0
  108. data/docs/Fox/FXGLViewer.html +3506 -0
  109. data/docs/Fox/FXGLVisual.html +2147 -0
  110. data/docs/Fox/FXGradient.html +562 -0
  111. data/docs/Fox/FXGradientBar.html +2479 -0
  112. data/docs/Fox/FXGroupBox.html +688 -0
  113. data/docs/Fox/FXHeader.html +3040 -0
  114. data/docs/Fox/FXHeaderItem.html +1353 -0
  115. data/docs/Fox/FXHiliteStyle.html +804 -0
  116. data/docs/Fox/FXHorizontalFrame.html +359 -0
  117. data/docs/Fox/FXHorizontalSeparator.html +349 -0
  118. data/docs/Fox/FXICOIcon.html +450 -0
  119. data/docs/Fox/FXICOImage.html +434 -0
  120. data/docs/Fox/FXIcon.html +384 -0
  121. data/docs/Fox/FXIconDict.html +752 -0
  122. data/docs/Fox/FXIconItem.html +1518 -0
  123. data/docs/Fox/FXIconList.html +4676 -0
  124. data/docs/Fox/FXIconSource.html +963 -0
  125. data/docs/Fox/FXId.html +712 -0
  126. data/docs/Fox/FXImage.html +2328 -0
  127. data/docs/Fox/FXImageFrame.html +489 -0
  128. data/docs/Fox/FXImageView.html +504 -0
  129. data/docs/Fox/FXInputDialog.html +894 -0
  130. data/docs/Fox/FXIrb.html +942 -0
  131. data/docs/Fox/FXJPGIcon.html +607 -0
  132. data/docs/Fox/FXJPGImage.html +591 -0
  133. data/docs/Fox/FXKnob.html +1048 -0
  134. data/docs/Fox/FXLabel.html +1013 -0
  135. data/docs/Fox/FXLight.html +920 -0
  136. data/docs/Fox/FXList.html +3717 -0
  137. data/docs/Fox/FXListBox.html +2518 -0
  138. data/docs/Fox/FXListItem.html +1459 -0
  139. data/docs/Fox/FXMDIChild.html +2175 -0
  140. data/docs/Fox/FXMDIClient.html +781 -0
  141. data/docs/Fox/FXMDIDeleteButton.html +334 -0
  142. data/docs/Fox/FXMDIMaximizeButton.html +334 -0
  143. data/docs/Fox/FXMDIMenu.html +335 -0
  144. data/docs/Fox/FXMDIMinimizeButton.html +334 -0
  145. data/docs/Fox/FXMDIRestoreButton.html +334 -0
  146. data/docs/Fox/FXMDIWindowButton.html +334 -0
  147. data/docs/Fox/FXMainWindow.html +337 -0
  148. data/docs/Fox/FXMaterial.html +570 -0
  149. data/docs/Fox/FXMatrix.html +734 -0
  150. data/docs/Fox/FXMemoryBuffer.html +472 -0
  151. data/docs/Fox/FXMemoryStream.html +632 -0
  152. data/docs/Fox/FXMenuBar.html +347 -0
  153. data/docs/Fox/FXMenuButton.html +829 -0
  154. data/docs/Fox/FXMenuCaption.html +1080 -0
  155. data/docs/Fox/FXMenuCascade.html +388 -0
  156. data/docs/Fox/FXMenuCheck.html +721 -0
  157. data/docs/Fox/FXMenuCommand.html +400 -0
  158. data/docs/Fox/FXMenuPane.html +333 -0
  159. data/docs/Fox/FXMenuRadio.html +721 -0
  160. data/docs/Fox/FXMenuSeparator.html +440 -0
  161. data/docs/Fox/FXMenuTitle.html +405 -0
  162. data/docs/Fox/FXMessageBox.html +658 -0
  163. data/docs/Fox/FXObject.html +545 -0
  164. data/docs/Fox/FXOption.html +491 -0
  165. data/docs/Fox/FXOptionMenu.html +885 -0
  166. data/docs/Fox/FXPCXIcon.html +450 -0
  167. data/docs/Fox/FXPCXImage.html +434 -0
  168. data/docs/Fox/FXPNGIcon.html +524 -0
  169. data/docs/Fox/FXPNGImage.html +508 -0
  170. data/docs/Fox/FXPPMIcon.html +450 -0
  171. data/docs/Fox/FXPPMImage.html +373 -0
  172. data/docs/Fox/FXPSBounds.html +500 -0
  173. data/docs/Fox/FXPacker.html +1229 -0
  174. data/docs/Fox/FXPicker.html +345 -0
  175. data/docs/Fox/FXPopup.html +1099 -0
  176. data/docs/Fox/FXPrintDialog.html +485 -0
  177. data/docs/Fox/FXPrinter.html +1330 -0
  178. data/docs/Fox/FXProgressBar.html +1150 -0
  179. data/docs/Fox/FXProgressDialog.html +715 -0
  180. data/docs/Fox/FXPseudoKeyboard.html +428 -0
  181. data/docs/Fox/FXPseudoMouse.html +800 -0
  182. data/docs/Fox/FXPseudoTarget.html +472 -0
  183. data/docs/Fox/FXQuatd.html +1377 -0
  184. data/docs/Fox/FXQuatf.html +1392 -0
  185. data/docs/Fox/FXRGBIcon.html +450 -0
  186. data/docs/Fox/FXRGBImage.html +434 -0
  187. data/docs/Fox/FXRadioButton.html +885 -0
  188. data/docs/Fox/FXRanged.html +1522 -0
  189. data/docs/Fox/FXRangef.html +1522 -0
  190. data/docs/Fox/FXRealSlider.html +1187 -0
  191. data/docs/Fox/FXRealSpinner.html +2175 -0
  192. data/docs/Fox/FXRecentFiles.html +841 -0
  193. data/docs/Fox/FXRectangle.html +802 -0
  194. data/docs/Fox/FXRegion.html +841 -0
  195. data/docs/Fox/FXRegistry.html +682 -0
  196. data/docs/Fox/FXReplaceDialog.html +648 -0
  197. data/docs/Fox/FXRootWindow.html +312 -0
  198. data/docs/Fox/FXRuler.html +2000 -0
  199. data/docs/Fox/FXRulerView.html +3997 -0
  200. data/docs/Fox/FXScintilla.html +49117 -0
  201. data/docs/Fox/FXScrollArea.html +1363 -0
  202. data/docs/Fox/FXScrollBar.html +1019 -0
  203. data/docs/Fox/FXScrollCorner.html +290 -0
  204. data/docs/Fox/FXScrollPane.html +499 -0
  205. data/docs/Fox/FXScrollWindow.html +409 -0
  206. data/docs/Fox/FXSearchDialog.html +382 -0
  207. data/docs/Fox/FXSegment.html +422 -0
  208. data/docs/Fox/FXSeparator.html +402 -0
  209. data/docs/Fox/FXSettings.html +1861 -0
  210. data/docs/Fox/FXShell.html +233 -0
  211. data/docs/Fox/FXShutter.html +472 -0
  212. data/docs/Fox/FXShutterItem.html +669 -0
  213. data/docs/Fox/FXSize.html +592 -0
  214. data/docs/Fox/FXSlider.html +1129 -0
  215. data/docs/Fox/FXSphered.html +906 -0
  216. data/docs/Fox/FXSpheref.html +906 -0
  217. data/docs/Fox/FXSpinner.html +2102 -0
  218. data/docs/Fox/FXSplashScreen.html +497 -0
  219. data/docs/Fox/FXSplashWindow.html +494 -0
  220. data/docs/Fox/FXSplitter.html +643 -0
  221. data/docs/Fox/FXSpring.html +517 -0
  222. data/docs/Fox/FXStatusBar.html +593 -0
  223. data/docs/Fox/FXStatusLine.html +754 -0
  224. data/docs/Fox/FXStream.html +1372 -0
  225. data/docs/Fox/FXStreamAllocError.html +148 -0
  226. data/docs/Fox/FXStreamEndError.html +148 -0
  227. data/docs/Fox/FXStreamError.html +259 -0
  228. data/docs/Fox/FXStreamFailureError.html +148 -0
  229. data/docs/Fox/FXStreamFormatError.html +148 -0
  230. data/docs/Fox/FXStreamFullError.html +148 -0
  231. data/docs/Fox/FXStreamNoReadError.html +148 -0
  232. data/docs/Fox/FXStreamNoWriteError.html +148 -0
  233. data/docs/Fox/FXStreamUnknownError.html +148 -0
  234. data/docs/Fox/FXStringDict.html +552 -0
  235. data/docs/Fox/FXSwitcher.html +619 -0
  236. data/docs/Fox/FXTGAIcon.html +450 -0
  237. data/docs/Fox/FXTGAImage.html +434 -0
  238. data/docs/Fox/FXTIFIcon.html +604 -0
  239. data/docs/Fox/FXTIFImage.html +588 -0
  240. data/docs/Fox/FXTabBar.html +644 -0
  241. data/docs/Fox/FXTabBook.html +373 -0
  242. data/docs/Fox/FXTabItem.html +478 -0
  243. data/docs/Fox/FXTable.html +10107 -0
  244. data/docs/Fox/FXTableItem.html +2195 -0
  245. data/docs/Fox/FXTablePos.html +360 -0
  246. data/docs/Fox/FXTableRange.html +360 -0
  247. data/docs/Fox/FXText.html +6870 -0
  248. data/docs/Fox/FXTextChange.html +492 -0
  249. data/docs/Fox/FXTextField.html +2016 -0
  250. data/docs/Fox/FXToggleButton.html +844 -0
  251. data/docs/Fox/FXToolBar.html +452 -0
  252. data/docs/Fox/FXToolBarGrip.html +584 -0
  253. data/docs/Fox/FXToolBarShell.html +788 -0
  254. data/docs/Fox/FXToolBarTab.html +729 -0
  255. data/docs/Fox/FXToolTip.html +761 -0
  256. data/docs/Fox/FXTopWindow.html +1716 -0
  257. data/docs/Fox/FXTranslator.html +481 -0
  258. data/docs/Fox/FXTreeItem.html +2813 -0
  259. data/docs/Fox/FXTreeList.html +5095 -0
  260. data/docs/Fox/FXTreeListBox.html +3080 -0
  261. data/docs/Fox/FXTriStateButton.html +681 -0
  262. data/docs/Fox/FXUndoList.html +2560 -0
  263. data/docs/Fox/FXVec2d.html +1450 -0
  264. data/docs/Fox/FXVec2f.html +1442 -0
  265. data/docs/Fox/FXVec3d.html +1649 -0
  266. data/docs/Fox/FXVec3f.html +1649 -0
  267. data/docs/Fox/FXVec4d.html +1858 -0
  268. data/docs/Fox/FXVec4f.html +1858 -0
  269. data/docs/Fox/FXVerticalFrame.html +359 -0
  270. data/docs/Fox/FXVerticalSeparator.html +349 -0
  271. data/docs/Fox/FXViewport.html +780 -0
  272. data/docs/Fox/FXVisual.html +1023 -0
  273. data/docs/Fox/FXWindow.html +9948 -0
  274. data/docs/Fox/FXWizard.html +1052 -0
  275. data/docs/Fox/FXXBMIcon.html +453 -0
  276. data/docs/Fox/FXXBMImage.html +437 -0
  277. data/docs/Fox/FXXPMIcon.html +450 -0
  278. data/docs/Fox/FXXPMImage.html +434 -0
  279. data/docs/Fox/NotifyHeader.html +286 -0
  280. data/docs/Fox/SCNotification.html +1438 -0
  281. data/docs/Fox/TextRange.html +281 -0
  282. data/docs/Fox.html +11184 -0
  283. data/docs/IRB.html +204 -0
  284. data/docs/Responder.html +693 -0
  285. data/docs/Responder2.html +225 -0
  286. data/docs/_index.html +2101 -0
  287. data/docs/class_list.html +51 -0
  288. data/docs/css/common.css +1 -0
  289. data/docs/css/full_list.css +58 -0
  290. data/docs/css/style.css +496 -0
  291. data/docs/file.History.html +869 -0
  292. data/docs/file.README.html +104 -0
  293. data/docs/file_list.html +66 -0
  294. data/docs/frames.html +17 -0
  295. data/docs/index.html +614 -0
  296. data/docs/js/app.js +314 -0
  297. data/docs/js/full_list.js +216 -0
  298. data/docs/js/jquery.js +4 -0
  299. data/docs/method_list.html +31043 -0
  300. data/docs/top-level-namespace.html +214 -0
  301. data/examples/canvasdemo.rb +5 -1
  302. data/examples/gltest.rb +162 -106
  303. data/examples/glviewer.rb +12 -8
  304. data/ext/fox16_c/core_wrap.cpp +117 -115
  305. data/ext/fox16_c/dc_wrap.cpp +82 -60
  306. data/ext/fox16_c/dialogs_wrap.cpp +87 -67
  307. data/ext/fox16_c/extconf.rb +12 -12
  308. data/ext/fox16_c/frames_wrap.cpp +101 -75
  309. data/ext/fox16_c/fx3d_wrap.cpp +258 -302
  310. data/ext/fox16_c/iconlist_wrap.cpp +70 -52
  311. data/ext/fox16_c/icons_wrap.cpp +75 -55
  312. data/ext/fox16_c/image_wrap.cpp +75 -57
  313. data/ext/fox16_c/label_wrap.cpp +78 -60
  314. data/ext/fox16_c/layout_wrap.cpp +83 -65
  315. data/ext/fox16_c/list_wrap.cpp +70 -52
  316. data/ext/fox16_c/mdi_wrap.cpp +76 -58
  317. data/ext/fox16_c/menu_wrap.cpp +78 -60
  318. data/ext/fox16_c/scintilla_wrap.cpp +85 -61
  319. data/ext/fox16_c/swigruby.h +64 -46
  320. data/ext/fox16_c/table_wrap.cpp +80 -58
  321. data/ext/fox16_c/text_wrap.cpp +75 -55
  322. data/ext/fox16_c/treelist_wrap.cpp +71 -53
  323. data/ext/fox16_c/ui_wrap.cpp +101 -81
  324. data/fxruby.gemspec +1 -1
  325. data/lib/fox16/aliases.rb +0 -0
  326. data/lib/fox16/bitmapview.rb +0 -0
  327. data/lib/fox16/calendar.rb +0 -0
  328. data/lib/fox16/canvas.rb +76 -45
  329. data/lib/fox16/chore.rb +0 -0
  330. data/lib/fox16/colors.rb +0 -0
  331. data/lib/fox16/core.rb +0 -0
  332. data/lib/fox16/dict.rb +0 -0
  333. data/lib/fox16/glgroup.rb +5 -5
  334. data/lib/fox16/glshapes.rb +111 -99
  335. data/lib/fox16/input.rb +0 -0
  336. data/lib/fox16/irb.rb +0 -0
  337. data/lib/fox16/iterators.rb +0 -0
  338. data/lib/fox16/keys.rb +0 -0
  339. data/lib/fox16/missingdep.rb +0 -0
  340. data/lib/fox16/pseudokeyboard.rb +0 -0
  341. data/lib/fox16/pseudomouse.rb +0 -0
  342. data/lib/fox16/responder.rb +0 -0
  343. data/lib/fox16/responder2.rb +0 -0
  344. data/lib/fox16/scintilla.rb +0 -0
  345. data/lib/fox16/settings.rb +0 -0
  346. data/lib/fox16/signal.rb +0 -0
  347. data/lib/fox16/timeout.rb +0 -0
  348. data/lib/fox16/tkcompat.rb +0 -0
  349. data/lib/fox16/undolist.rb +0 -0
  350. data/lib/fox16/version.rb +1 -1
  351. data/lib/fox16.rb +2 -4
  352. data.tar.gz.sig +2 -0
  353. metadata +327 -6
  354. metadata.gz.sig +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;
@@ -1979,7 +1997,7 @@ static swig_module_info swig_module = {swig_types, 121, 0, 0, 0, 0};
1979
1997
  #define SWIG_RUBY_THREAD_END_BLOCK
1980
1998
 
1981
1999
 
1982
- #define SWIGVERSION 0x030012
2000
+ #define SWIGVERSION 0x040002
1983
2001
  #define SWIG_VERSION SWIGVERSION
1984
2002
 
1985
2003
 
@@ -3200,7 +3218,7 @@ SWIGINTERN VALUE _wrap_FXMenuPane_setShape(int nargs, VALUE *args, VALUE self) {
3200
3218
  _v = SWIG_CheckState(res);
3201
3219
  if (_v) {
3202
3220
  void *vptr = 0;
3203
- int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_FXRegion, 0);
3221
+ int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_FXRegion, SWIG_POINTER_NO_NULL);
3204
3222
  _v = SWIG_CheckState(res);
3205
3223
  if (_v) {
3206
3224
  return _wrap_FXMenuPane_setShape__SWIG_0(nargs, args, self);
@@ -4461,7 +4479,7 @@ SWIGINTERN VALUE _wrap_FXScrollPane_setShape(int nargs, VALUE *args, VALUE self)
4461
4479
  _v = SWIG_CheckState(res);
4462
4480
  if (_v) {
4463
4481
  void *vptr = 0;
4464
- int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_FXRegion, 0);
4482
+ int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_FXRegion, SWIG_POINTER_NO_NULL);
4465
4483
  _v = SWIG_CheckState(res);
4466
4484
  if (_v) {
4467
4485
  return _wrap_FXScrollPane_setShape__SWIG_0(nargs, args, self);
@@ -6553,7 +6571,7 @@ SWIGINTERN VALUE _wrap_FXMenuCaption_setShape(int nargs, VALUE *args, VALUE self
6553
6571
  _v = SWIG_CheckState(res);
6554
6572
  if (_v) {
6555
6573
  void *vptr = 0;
6556
- int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_FXRegion, 0);
6574
+ int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_FXRegion, SWIG_POINTER_NO_NULL);
6557
6575
  _v = SWIG_CheckState(res);
6558
6576
  if (_v) {
6559
6577
  return _wrap_FXMenuCaption_setShape__SWIG_0(nargs, args, self);
@@ -7714,7 +7732,7 @@ SWIGINTERN VALUE _wrap_FXMenuSeparator_setShape(int nargs, VALUE *args, VALUE se
7714
7732
  _v = SWIG_CheckState(res);
7715
7733
  if (_v) {
7716
7734
  void *vptr = 0;
7717
- int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_FXRegion, 0);
7735
+ int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_FXRegion, SWIG_POINTER_NO_NULL);
7718
7736
  _v = SWIG_CheckState(res);
7719
7737
  if (_v) {
7720
7738
  return _wrap_FXMenuSeparator_setShape__SWIG_0(nargs, args, self);
@@ -9364,7 +9382,7 @@ SWIGINTERN VALUE _wrap_FXMenuTitle_setShape(int nargs, VALUE *args, VALUE self)
9364
9382
  _v = SWIG_CheckState(res);
9365
9383
  if (_v) {
9366
9384
  void *vptr = 0;
9367
- int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_FXRegion, 0);
9385
+ int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_FXRegion, SWIG_POINTER_NO_NULL);
9368
9386
  _v = SWIG_CheckState(res);
9369
9387
  if (_v) {
9370
9388
  return _wrap_FXMenuTitle_setShape__SWIG_0(nargs, args, self);
@@ -10870,7 +10888,7 @@ SWIGINTERN VALUE _wrap_FXMenuCascade_setShape(int nargs, VALUE *args, VALUE self
10870
10888
  _v = SWIG_CheckState(res);
10871
10889
  if (_v) {
10872
10890
  void *vptr = 0;
10873
- int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_FXRegion, 0);
10891
+ int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_FXRegion, SWIG_POINTER_NO_NULL);
10874
10892
  _v = SWIG_CheckState(res);
10875
10893
  if (_v) {
10876
10894
  return _wrap_FXMenuCascade_setShape__SWIG_0(nargs, args, self);
@@ -12336,7 +12354,7 @@ SWIGINTERN VALUE _wrap_FXMenuCommand_setShape(int nargs, VALUE *args, VALUE self
12336
12354
  _v = SWIG_CheckState(res);
12337
12355
  if (_v) {
12338
12356
  void *vptr = 0;
12339
- int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_FXRegion, 0);
12357
+ int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_FXRegion, SWIG_POINTER_NO_NULL);
12340
12358
  _v = SWIG_CheckState(res);
12341
12359
  if (_v) {
12342
12360
  return _wrap_FXMenuCommand_setShape__SWIG_0(nargs, args, self);
@@ -13994,7 +14012,7 @@ SWIGINTERN VALUE _wrap_FXMenuBar_setShape(int nargs, VALUE *args, VALUE self) {
13994
14012
  _v = SWIG_CheckState(res);
13995
14013
  if (_v) {
13996
14014
  void *vptr = 0;
13997
- int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_FXRegion, 0);
14015
+ int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_FXRegion, SWIG_POINTER_NO_NULL);
13998
14016
  _v = SWIG_CheckState(res);
13999
14017
  if (_v) {
14000
14018
  return _wrap_FXMenuBar_setShape__SWIG_0(nargs, args, self);
@@ -15853,7 +15871,7 @@ SWIGINTERN VALUE _wrap_FXMenuCheck_setShape(int nargs, VALUE *args, VALUE self)
15853
15871
  _v = SWIG_CheckState(res);
15854
15872
  if (_v) {
15855
15873
  void *vptr = 0;
15856
- int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_FXRegion, 0);
15874
+ int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_FXRegion, SWIG_POINTER_NO_NULL);
15857
15875
  _v = SWIG_CheckState(res);
15858
15876
  if (_v) {
15859
15877
  return _wrap_FXMenuCheck_setShape__SWIG_0(nargs, args, self);
@@ -17529,7 +17547,7 @@ SWIGINTERN VALUE _wrap_FXMenuRadio_setShape(int nargs, VALUE *args, VALUE self)
17529
17547
  _v = SWIG_CheckState(res);
17530
17548
  if (_v) {
17531
17549
  void *vptr = 0;
17532
- int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_FXRegion, 0);
17550
+ int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_FXRegion, SWIG_POINTER_NO_NULL);
17533
17551
  _v = SWIG_CheckState(res);
17534
17552
  if (_v) {
17535
17553
  return _wrap_FXMenuRadio_setShape__SWIG_0(nargs, args, self);
@@ -19535,7 +19553,7 @@ SWIG_InitializeModule(void *clientdata) {
19535
19553
 
19536
19554
  /* Now work on filling in swig_module.types */
19537
19555
  #ifdef SWIGRUNTIME_DEBUG
19538
- printf("SWIG_InitializeModule: size %d\n", swig_module.size);
19556
+ printf("SWIG_InitializeModule: size %lu\n", (unsigned long)swig_module.size);
19539
19557
  #endif
19540
19558
  for (i = 0; i < swig_module.size; ++i) {
19541
19559
  swig_type_info *type = 0;
@@ -19543,7 +19561,7 @@ SWIG_InitializeModule(void *clientdata) {
19543
19561
  swig_cast_info *cast;
19544
19562
 
19545
19563
  #ifdef SWIGRUNTIME_DEBUG
19546
- printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name);
19564
+ printf("SWIG_InitializeModule: type %lu %s\n", (unsigned long)i, swig_module.type_initial[i]->name);
19547
19565
  #endif
19548
19566
 
19549
19567
  /* if there is another module already loaded */
@@ -19619,7 +19637,7 @@ SWIG_InitializeModule(void *clientdata) {
19619
19637
  for (i = 0; i < swig_module.size; ++i) {
19620
19638
  int j = 0;
19621
19639
  swig_cast_info *cast = swig_module.cast_initial[i];
19622
- printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name);
19640
+ printf("SWIG_InitializeModule: type %lu %s\n", (unsigned long)i, swig_module.type_initial[i]->name);
19623
19641
  while (cast->type) {
19624
19642
  printf("SWIG_InitializeModule: cast type %s\n", cast->type->name);
19625
19643
  cast++;