fxruby 1.6.50 → 1.6.51

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.
Files changed (350) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/.github/workflows/binary.yml +17 -0
  4. data/.github/workflows/ci.yml +13 -2
  5. data/Gemfile +7 -2
  6. data/History.md +14 -0
  7. data/Rakefile +28 -46
  8. data/doap.rdf +2 -2
  9. data/docs/Fox/Canvas/CanvasError.html +2 -2
  10. data/docs/Fox/Canvas/CircleShape.html +2 -2
  11. data/docs/Fox/Canvas/ImageShape.html +2 -2
  12. data/docs/Fox/Canvas/LineShape.html +2 -2
  13. data/docs/Fox/Canvas/PolygonShape.html +2 -2
  14. data/docs/Fox/Canvas/RectangleShape.html +2 -2
  15. data/docs/Fox/Canvas/SelectionPolicy.html +2 -2
  16. data/docs/Fox/Canvas/Shape.html +3 -3
  17. data/docs/Fox/Canvas/ShapeCanvas.html +2 -2
  18. data/docs/Fox/Canvas/ShapeGroup.html +2 -2
  19. data/docs/Fox/Canvas/SingleSelectionPolicy.html +2 -2
  20. data/docs/Fox/Canvas/TextShape.html +7 -9
  21. data/docs/Fox/Canvas.html +3 -3
  22. data/docs/Fox/FTNonModal.html +2 -2
  23. data/docs/Fox/FX4Splitter.html +41 -41
  24. data/docs/Fox/FX7Segment.html +5 -5
  25. data/docs/Fox/FXAccelTable.html +2 -2
  26. data/docs/Fox/FXApp.html +54 -54
  27. data/docs/Fox/FXArc.html +2 -2
  28. data/docs/Fox/FXArrowButton.html +22 -22
  29. data/docs/Fox/FXBMPIcon.html +10 -10
  30. data/docs/Fox/FXBMPImage.html +9 -9
  31. data/docs/Fox/FXBitmap.html +7 -7
  32. data/docs/Fox/FXBitmapFrame.html +3 -3
  33. data/docs/Fox/FXBitmapView.html +4 -4
  34. data/docs/Fox/FXButton.html +21 -21
  35. data/docs/Fox/FXCURCursor.html +2 -2
  36. data/docs/Fox/FXCalendar.html +4 -4
  37. data/docs/Fox/FXCanvas.html +7 -7
  38. data/docs/Fox/FXCheckButton.html +13 -13
  39. data/docs/Fox/FXChoiceBox.html +20 -20
  40. data/docs/Fox/FXColor.html +2 -2
  41. data/docs/Fox/FXColorBar.html +10 -10
  42. data/docs/Fox/FXColorDialog.html +7 -7
  43. data/docs/Fox/FXColorItem.html +2 -2
  44. data/docs/Fox/FXColorList.html +2 -2
  45. data/docs/Fox/FXColorRing.html +7 -7
  46. data/docs/Fox/FXColorSelector.html +36 -36
  47. data/docs/Fox/FXColorWell.html +19 -19
  48. data/docs/Fox/FXColorWheel.html +20 -20
  49. data/docs/Fox/FXComboBox.html +31 -31
  50. data/docs/Fox/FXComboTableItem.html +2 -2
  51. data/docs/Fox/FXCommand.html +2 -2
  52. data/docs/Fox/FXComposite.html +5 -5
  53. data/docs/Fox/FXCursor.html +14 -14
  54. data/docs/Fox/FXDC.html +207 -207
  55. data/docs/Fox/FXDCPrint.html +2 -2
  56. data/docs/Fox/FXDCWindow.html +2 -2
  57. data/docs/Fox/FXDataTarget.html +8 -8
  58. data/docs/Fox/FXDebugTarget.html +3 -3
  59. data/docs/Fox/FXDelegator.html +2 -2
  60. data/docs/Fox/FXDial.html +28 -28
  61. data/docs/Fox/FXDialogBox.html +5 -5
  62. data/docs/Fox/FXDict.html +2 -2
  63. data/docs/Fox/FXDirBox.html +7 -7
  64. data/docs/Fox/FXDirDialog.html +2 -2
  65. data/docs/Fox/FXDirItem.html +2 -2
  66. data/docs/Fox/FXDirList.html +19 -19
  67. data/docs/Fox/FXDirSelector.html +15 -15
  68. data/docs/Fox/FXDockBar.html +27 -27
  69. data/docs/Fox/FXDockHandler.html +5 -5
  70. data/docs/Fox/FXDockSite.html +14 -14
  71. data/docs/Fox/FXDockTitle.html +2 -2
  72. data/docs/Fox/FXDocument.html +5 -5
  73. data/docs/Fox/FXDragCorner.html +2 -2
  74. data/docs/Fox/FXDrawable.html +5 -5
  75. data/docs/Fox/FXDriveBox.html +5 -5
  76. data/docs/Fox/FXEvent.html +62 -60
  77. data/docs/Fox/FXExtentd.html +2 -2
  78. data/docs/Fox/FXExtentf.html +2 -2
  79. data/docs/Fox/FXFileAssoc.html +2 -2
  80. data/docs/Fox/FXFileDialog.html +32 -32
  81. data/docs/Fox/FXFileDict.html +7 -7
  82. data/docs/Fox/FXFileItem.html +2 -2
  83. data/docs/Fox/FXFileList.html +27 -27
  84. data/docs/Fox/FXFileSelector.html +35 -35
  85. data/docs/Fox/FXFileStream.html +6 -6
  86. data/docs/Fox/FXFoldingItem.html +2 -2
  87. data/docs/Fox/FXFoldingList.html +41 -41
  88. data/docs/Fox/FXFont.html +172 -170
  89. data/docs/Fox/FXFontDesc.html +2 -2
  90. data/docs/Fox/FXFontDialog.html +2 -2
  91. data/docs/Fox/FXFontSelector.html +14 -14
  92. data/docs/Fox/FXFrame.html +4 -4
  93. data/docs/Fox/FXGIFCursor.html +2 -2
  94. data/docs/Fox/FXGIFIcon.html +10 -10
  95. data/docs/Fox/FXGIFImage.html +9 -9
  96. data/docs/Fox/FXGLCanvas.html +2 -2
  97. data/docs/Fox/FXGLCone.html +2 -2
  98. data/docs/Fox/FXGLContext.html +2 -2
  99. data/docs/Fox/FXGLCube.html +2 -2
  100. data/docs/Fox/FXGLCylinder.html +2 -2
  101. data/docs/Fox/FXGLGroup.html +2 -2
  102. data/docs/Fox/FXGLLine.html +2 -2
  103. data/docs/Fox/FXGLObject.html +14 -14
  104. data/docs/Fox/FXGLPoint.html +2 -2
  105. data/docs/Fox/FXGLShape.html +26 -26
  106. data/docs/Fox/FXGLSphere.html +2 -2
  107. data/docs/Fox/FXGLViewer.html +74 -74
  108. data/docs/Fox/FXGLVisual.html +2 -2
  109. data/docs/Fox/FXGradient.html +2 -2
  110. data/docs/Fox/FXGradientBar.html +34 -34
  111. data/docs/Fox/FXGroupBox.html +7 -7
  112. data/docs/Fox/FXHeader.html +20 -20
  113. data/docs/Fox/FXHeaderItem.html +19 -19
  114. data/docs/Fox/FXHiliteStyle.html +2 -2
  115. data/docs/Fox/FXHorizontalFrame.html +15 -15
  116. data/docs/Fox/FXHorizontalSeparator.html +13 -13
  117. data/docs/Fox/FXICOIcon.html +10 -10
  118. data/docs/Fox/FXICOImage.html +9 -9
  119. data/docs/Fox/FXIcon.html +10 -10
  120. data/docs/Fox/FXIconDict.html +2 -2
  121. data/docs/Fox/FXIconItem.html +2 -2
  122. data/docs/Fox/FXIconList.html +43 -43
  123. data/docs/Fox/FXIconSource.html +2 -2
  124. data/docs/Fox/FXId.html +2 -2
  125. data/docs/Fox/FXImage.html +120 -297
  126. data/docs/Fox/FXImageFrame.html +14 -14
  127. data/docs/Fox/FXImageView.html +13 -13
  128. data/docs/Fox/FXInputDialog.html +7 -7
  129. data/docs/Fox/FXIrb.html +2 -2
  130. data/docs/Fox/FXJPGIcon.html +11 -11
  131. data/docs/Fox/FXJPGImage.html +10 -10
  132. data/docs/Fox/FXKnob.html +17 -17
  133. data/docs/Fox/FXLabel.html +25 -25
  134. data/docs/Fox/FXLight.html +2 -2
  135. data/docs/Fox/FXList.html +29 -29
  136. data/docs/Fox/FXListBox.html +8 -8
  137. data/docs/Fox/FXListItem.html +2 -2
  138. data/docs/Fox/FXMDIChild.html +21 -21
  139. data/docs/Fox/FXMDIClient.html +224 -28
  140. data/docs/Fox/FXMDIDeleteButton.html +2 -2
  141. data/docs/Fox/FXMDIMaximizeButton.html +2 -2
  142. data/docs/Fox/FXMDIMenu.html +2 -2
  143. data/docs/Fox/FXMDIMinimizeButton.html +2 -2
  144. data/docs/Fox/FXMDIRestoreButton.html +2 -2
  145. data/docs/Fox/FXMDIWindowButton.html +2 -2
  146. data/docs/Fox/FXMainWindow.html +4 -4
  147. data/docs/Fox/FXMaterial.html +2 -2
  148. data/docs/Fox/FXMatrix.html +5 -5
  149. data/docs/Fox/FXMemoryBuffer.html +4 -4
  150. data/docs/Fox/FXMemoryStream.html +8 -8
  151. data/docs/Fox/FXMenuBar.html +2 -2
  152. data/docs/Fox/FXMenuButton.html +24 -24
  153. data/docs/Fox/FXMenuCaption.html +5 -5
  154. data/docs/Fox/FXMenuCascade.html +2 -2
  155. data/docs/Fox/FXMenuCheck.html +4 -4
  156. data/docs/Fox/FXMenuCommand.html +4 -4
  157. data/docs/Fox/FXMenuPane.html +2 -2
  158. data/docs/Fox/FXMenuRadio.html +4 -4
  159. data/docs/Fox/FXMenuSeparator.html +2 -2
  160. data/docs/Fox/FXMenuTitle.html +7 -7
  161. data/docs/Fox/FXMessageBox.html +21 -21
  162. data/docs/Fox/FXObject.html +2 -2
  163. data/docs/Fox/FXOption.html +8 -8
  164. data/docs/Fox/FXOptionMenu.html +8 -8
  165. data/docs/Fox/FXPCXIcon.html +10 -10
  166. data/docs/Fox/FXPCXImage.html +9 -9
  167. data/docs/Fox/FXPNGIcon.html +10 -10
  168. data/docs/Fox/FXPNGImage.html +9 -9
  169. data/docs/Fox/FXPPMIcon.html +10 -10
  170. data/docs/Fox/FXPPMImage.html +9 -9
  171. data/docs/Fox/FXPSBounds.html +2 -2
  172. data/docs/Fox/FXPacker.html +2 -2
  173. data/docs/Fox/FXPicker.html +5 -5
  174. data/docs/Fox/FXPopup.html +6 -6
  175. data/docs/Fox/FXPrintDialog.html +23 -23
  176. data/docs/Fox/FXPrinter.html +22 -22
  177. data/docs/Fox/FXProgressBar.html +8 -8
  178. data/docs/Fox/FXProgressDialog.html +6 -6
  179. data/docs/Fox/FXPseudoKeyboard.html +2 -2
  180. data/docs/Fox/FXPseudoMouse.html +2 -2
  181. data/docs/Fox/FXPseudoTarget.html +2 -2
  182. data/docs/Fox/FXQuatd.html +19 -19
  183. data/docs/Fox/FXQuatf.html +24 -24
  184. data/docs/Fox/FXRGBIcon.html +10 -10
  185. data/docs/Fox/FXRGBImage.html +9 -9
  186. data/docs/Fox/FXRadioButton.html +12 -12
  187. data/docs/Fox/FXRanged.html +2 -2
  188. data/docs/Fox/FXRangef.html +2 -2
  189. data/docs/Fox/FXRealSlider.html +40 -40
  190. data/docs/Fox/FXRealSpinner.html +32 -32
  191. data/docs/Fox/FXRecentFiles.html +17 -17
  192. data/docs/Fox/FXRectangle.html +15 -15
  193. data/docs/Fox/FXRegion.html +2 -2
  194. data/docs/Fox/FXRegistry.html +2 -2
  195. data/docs/Fox/FXReplaceDialog.html +29 -29
  196. data/docs/Fox/FXRootWindow.html +5 -5
  197. data/docs/Fox/FXRuler.html +31 -31
  198. data/docs/Fox/FXRulerView.html +2 -2
  199. data/docs/Fox/FXScintilla.html +9116 -2763
  200. data/docs/Fox/FXScrollArea.html +21 -21
  201. data/docs/Fox/FXScrollBar.html +31 -31
  202. data/docs/Fox/FXScrollCorner.html +2 -2
  203. data/docs/Fox/FXScrollPane.html +6 -6
  204. data/docs/Fox/FXScrollWindow.html +9 -9
  205. data/docs/Fox/FXSearchDialog.html +11 -11
  206. data/docs/Fox/FXSegment.html +2 -2
  207. data/docs/Fox/FXSeparator.html +7 -7
  208. data/docs/Fox/FXSettings.html +56 -56
  209. data/docs/Fox/FXShell.html +2 -2
  210. data/docs/Fox/FXShutter.html +24 -24
  211. data/docs/Fox/FXShutterItem.html +19 -19
  212. data/docs/Fox/FXSize.html +12 -12
  213. data/docs/Fox/FXSlider.html +40 -40
  214. data/docs/Fox/FXSphered.html +2 -2
  215. data/docs/Fox/FXSpheref.html +2 -2
  216. data/docs/Fox/FXSpinner.html +31 -31
  217. data/docs/Fox/FXSplashScreen.html +3 -3
  218. data/docs/Fox/FXSplashWindow.html +7 -7
  219. data/docs/Fox/FXSplitter.html +22 -22
  220. data/docs/Fox/FXSpring.html +17 -17
  221. data/docs/Fox/FXStatusBar.html +17 -17
  222. data/docs/Fox/FXStatusLine.html +8 -8
  223. data/docs/Fox/FXStream.html +26 -26
  224. data/docs/Fox/FXStreamAllocError.html +2 -2
  225. data/docs/Fox/FXStreamEndError.html +2 -2
  226. data/docs/Fox/FXStreamError.html +2 -2
  227. data/docs/Fox/FXStreamFailureError.html +2 -2
  228. data/docs/Fox/FXStreamFormatError.html +2 -2
  229. data/docs/Fox/FXStreamFullError.html +2 -2
  230. data/docs/Fox/FXStreamNoReadError.html +2 -2
  231. data/docs/Fox/FXStreamNoWriteError.html +2 -2
  232. data/docs/Fox/FXStreamUnknownError.html +2 -2
  233. data/docs/Fox/FXStringDict.html +2 -2
  234. data/docs/Fox/FXSwitcher.html +30 -30
  235. data/docs/Fox/FXTGAIcon.html +10 -10
  236. data/docs/Fox/FXTGAImage.html +9 -9
  237. data/docs/Fox/FXTIFIcon.html +10 -10
  238. data/docs/Fox/FXTIFImage.html +9 -9
  239. data/docs/Fox/FXTabBar.html +37 -37
  240. data/docs/Fox/FXTabBook.html +15 -15
  241. data/docs/Fox/FXTabItem.html +27 -27
  242. data/docs/Fox/FXTable.html +89 -89
  243. data/docs/Fox/FXTableItem.html +6 -6
  244. data/docs/Fox/FXTablePos.html +2 -2
  245. data/docs/Fox/FXTableRange.html +2 -2
  246. data/docs/Fox/FXText.html +115 -115
  247. data/docs/Fox/FXTextChange.html +2 -2
  248. data/docs/Fox/FXTextField.html +55 -55
  249. data/docs/Fox/FXToggleButton.html +31 -31
  250. data/docs/Fox/FXToolBar.html +15 -15
  251. data/docs/Fox/FXToolBarGrip.html +14 -14
  252. data/docs/Fox/FXToolBarShell.html +11 -11
  253. data/docs/Fox/FXToolBarTab.html +21 -21
  254. data/docs/Fox/FXToolTip.html +12 -10
  255. data/docs/Fox/FXTopWindow.html +34 -34
  256. data/docs/Fox/FXTranslator.html +2 -2
  257. data/docs/Fox/FXTreeItem.html +2 -2
  258. data/docs/Fox/FXTreeList.html +41 -41
  259. data/docs/Fox/FXTreeListBox.html +23 -23
  260. data/docs/Fox/FXTriStateButton.html +21 -21
  261. data/docs/Fox/FXUndoList.html +3 -3
  262. data/docs/Fox/FXVec2d.html +2 -2
  263. data/docs/Fox/FXVec2f.html +2 -2
  264. data/docs/Fox/FXVec3d.html +2 -2
  265. data/docs/Fox/FXVec3f.html +2 -2
  266. data/docs/Fox/FXVec4d.html +2 -2
  267. data/docs/Fox/FXVec4f.html +2 -2
  268. data/docs/Fox/FXVerticalFrame.html +15 -15
  269. data/docs/Fox/FXVerticalSeparator.html +13 -13
  270. data/docs/Fox/FXViewport.html +2 -2
  271. data/docs/Fox/FXVisual.html +24 -24
  272. data/docs/Fox/FXWindow.html +143 -143
  273. data/docs/Fox/FXWizard.html +5 -5
  274. data/docs/Fox/FXXBMIcon.html +11 -11
  275. data/docs/Fox/FXXBMImage.html +10 -10
  276. data/docs/Fox/FXXPMIcon.html +10 -10
  277. data/docs/Fox/FXXPMImage.html +9 -9
  278. data/docs/Fox/NotifyHeader.html +2 -2
  279. data/docs/Fox/SCNotification.html +2 -2
  280. data/docs/Fox/TextRange.html +2 -2
  281. data/docs/Fox.html +89 -89
  282. data/docs/IRB.html +2 -2
  283. data/docs/Responder.html +2 -2
  284. data/docs/Responder2.html +2 -2
  285. data/docs/_index.html +2 -2
  286. data/docs/css/style.css +2 -15
  287. data/docs/file.History.html +1432 -842
  288. data/docs/file.README.html +9 -9
  289. data/docs/index.html +94 -53
  290. data/docs/js/app.js +91 -40
  291. data/docs/js/full_list.js +22 -20
  292. data/docs/method_list.html +2854 -2286
  293. data/docs/top-level-namespace.html +2 -2
  294. data/examples/canvasdemo.rb +4 -4
  295. data/examples/iconlist.rb +79 -4
  296. data/examples/inputs.rb +1 -1
  297. data/examples/rmagick.rb +9 -9
  298. data/ext/fox16_c/FXRbApp.cpp +2 -1
  299. data/ext/fox16_c/FXRbDataTarget.cpp +1 -0
  300. data/ext/fox16_c/FXRbGLViewer.cpp +1 -0
  301. data/ext/fox16_c/FXRbObjRegistry.cpp +12 -5
  302. data/ext/fox16_c/FXRuby.cpp +57 -37
  303. data/ext/fox16_c/core_wrap.cpp +2593 -2155
  304. data/ext/fox16_c/dc_wrap.cpp +1033 -707
  305. data/ext/fox16_c/dialogs_wrap.cpp +1865 -1513
  306. data/ext/fox16_c/extconf.rb +11 -8
  307. data/ext/fox16_c/frames_wrap.cpp +3257 -2876
  308. data/ext/fox16_c/fx3d_wrap.cpp +2170 -1780
  309. data/ext/fox16_c/gvl_wrappers.cpp +1 -0
  310. data/ext/fox16_c/iconlist_wrap.cpp +1209 -882
  311. data/ext/fox16_c/icons_wrap.cpp +1132 -775
  312. data/ext/fox16_c/image_wrap.cpp +1116 -756
  313. data/ext/fox16_c/impl.cpp +1 -0
  314. data/ext/fox16_c/include/FXRbDCWindow.h +1 -1
  315. data/ext/fox16_c/include/FXRuby.h +6 -6
  316. data/ext/fox16_c/label_wrap.cpp +1702 -1354
  317. data/ext/fox16_c/layout_wrap.cpp +1752 -1392
  318. data/ext/fox16_c/list_wrap.cpp +899 -572
  319. data/ext/fox16_c/make_impl.rb +1 -0
  320. data/ext/fox16_c/markfuncs.cpp +1 -0
  321. data/ext/fox16_c/mdi_wrap.cpp +1220 -881
  322. data/ext/fox16_c/menu_wrap.cpp +1402 -1057
  323. data/ext/fox16_c/scintilla_wrap.cpp +658 -337
  324. data/ext/fox16_c/swigruby.h +262 -119
  325. data/ext/fox16_c/table_wrap.cpp +1064 -741
  326. data/ext/fox16_c/text_wrap.cpp +1062 -741
  327. data/ext/fox16_c/treelist_wrap.cpp +1522 -1189
  328. data/ext/fox16_c/ui_wrap.cpp +3610 -3216
  329. data/ext/fox16_c/unregisterOwnedObjects.cpp +1 -0
  330. data/fxruby.gemspec +6 -1
  331. data/lib/fox16/canvas.rb +1 -1
  332. data/lib/fox16/core.rb +97 -26
  333. data/lib/fox16/undolist.rb +32 -32
  334. data/lib/fox16/version.rb +1 -1
  335. data/rdoc-sources/FXApp.rb +12 -0
  336. data/rdoc-sources/FXFont.rb +2 -0
  337. data/rdoc-sources/FXMDIClient.rb +15 -0
  338. data/scripts/iface.rb +1 -0
  339. data/swig-interfaces/FXScintilla.i +1 -1
  340. data/swig-interfaces/FXText.i +1 -1
  341. data/swig-interfaces/freefuncs.i +1 -0
  342. data/swig-interfaces/ruby-typemaps.i +19 -19
  343. data/test/TC_FXBMPImage.rb +1 -1
  344. data/test/TC_FXDC.rb +24 -0
  345. data/test/TC_FXMat4f.rb +23 -14
  346. data/test/TC_FXSize.rb +8 -4
  347. data/test/TS_All.rb +4 -0
  348. data.tar.gz.sig +0 -0
  349. metadata +18 -15
  350. metadata.gz.sig +0 -0
@@ -1,14 +1,14 @@
1
1
  #ifdef WITH_FXSCINTILLA
2
2
  /* ----------------------------------------------------------------------------
3
3
  * This file was automatically generated by SWIG (https://www.swig.org).
4
- * Version 4.2.0
4
+ * Version 4.5.0
5
5
  *
6
6
  * Do not make changes to this file unless you know what you are doing - modify
7
7
  * the SWIG interface file instead.
8
8
  * ----------------------------------------------------------------------------- */
9
9
 
10
10
 
11
- #define SWIG_VERSION 0x040200
11
+ #define SWIG_VERSION 0x040500
12
12
  #define SWIGRUBY
13
13
 
14
14
  /* -----------------------------------------------------------------------------
@@ -135,12 +135,43 @@
135
135
  # pragma warning disable 592
136
136
  #endif
137
137
 
138
- #if __cplusplus >=201103L
139
- # define SWIG_NULLPTR nullptr
138
+ #if defined(__cplusplus) && __cplusplus >= 201103L
139
+ # define SWIG_NOEXCEPT noexcept
140
140
  #else
141
- # define SWIG_NULLPTR NULL
141
+ # define SWIG_NOEXCEPT throw()
142
142
  #endif
143
143
 
144
+ #define SWIG_QUOTE_STRING(x) #x
145
+ #define SWIG_STRINGIFY(x) SWIG_QUOTE_STRING(x)
146
+
147
+ /* -----------------------------------------------------------------------------
148
+ * swigcompat.swg
149
+ *
150
+ * Macros to provide support compatibility with older C and C++ standards.
151
+ *
152
+ * Note that SWIG expects __cplusplus to be defined to the appropriate C++ standard.
153
+ * MSVC users are urged to check and examine the /Zc:__cplusplus compiler option.
154
+ * See https://learn.microsoft.com/en-us/cpp/build/reference/zc-cplusplus.
155
+ * ----------------------------------------------------------------------------- */
156
+
157
+ /* C99 and C++11 should provide snprintf, but define SWIG_NO_SNPRINTF
158
+ * if you're missing it.
159
+ */
160
+ #if ((defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L) || \
161
+ (defined __cplusplus && __cplusplus >= 201103L) || \
162
+ defined SWIG_HAVE_SNPRINTF) && \
163
+ !defined SWIG_NO_SNPRINTF
164
+ # define SWIG_snprintf(O,S,F,A) snprintf(O,S,F,A)
165
+ # define SWIG_snprintf2(O,S,F,A,B) snprintf(O,S,F,A,B)
166
+ #else
167
+ /* Fallback versions ignore the buffer size, but most of our uses either have a
168
+ * fixed maximum possible size or dynamically allocate a buffer that's large
169
+ * enough.
170
+ */
171
+ # define SWIG_snprintf(O,S,F,A) sprintf(O,F,A)
172
+ # define SWIG_snprintf2(O,S,F,A,B) sprintf(O,F,A,B)
173
+ #endif
174
+
144
175
  /* -----------------------------------------------------------------------------
145
176
  * This section contains generic SWIG labels for method/variable
146
177
  * declarations/attributes, and other compiler dependent labels.
@@ -265,12 +296,15 @@
265
296
  # pragma warning disable 592
266
297
  #endif
267
298
 
268
- #if __cplusplus >=201103L
269
- # define SWIG_NULLPTR nullptr
299
+ #if defined(__cplusplus) && __cplusplus >= 201103L
300
+ # define SWIG_NOEXCEPT noexcept
270
301
  #else
271
- # define SWIG_NULLPTR NULL
302
+ # define SWIG_NOEXCEPT throw()
272
303
  #endif
273
304
 
305
+ #define SWIG_QUOTE_STRING(x) #x
306
+ #define SWIG_STRINGIFY(x) SWIG_QUOTE_STRING(x)
307
+
274
308
  /* -----------------------------------------------------------------------------
275
309
  * swigrun.swg
276
310
  *
@@ -280,13 +314,11 @@
280
314
 
281
315
  /* This should only be incremented when either the layout of swig_type_info changes,
282
316
  or for whatever reason, the runtime changes incompatibly */
283
- #define SWIG_RUNTIME_VERSION "4"
317
+ #define SWIG_RUNTIME_VERSION "5"
284
318
 
285
319
  /* define SWIG_TYPE_TABLE_NAME as "SWIG_TYPE_TABLE" */
286
320
  #ifdef SWIG_TYPE_TABLE
287
- # define SWIG_QUOTE_STRING(x) #x
288
- # define SWIG_EXPAND_AND_QUOTE_STRING(x) SWIG_QUOTE_STRING(x)
289
- # define SWIG_TYPE_TABLE_NAME SWIG_EXPAND_AND_QUOTE_STRING(SWIG_TYPE_TABLE)
321
+ # define SWIG_TYPE_TABLE_NAME SWIG_STRINGIFY(SWIG_TYPE_TABLE)
290
322
  #else
291
323
  # define SWIG_TYPE_TABLE_NAME
292
324
  #endif
@@ -454,23 +486,6 @@ SWIGINTERNINLINE int SWIG_CheckState(int r) {
454
486
  # define SWIG_CheckState(r) (SWIG_IsOK(r) ? 1 : 0)
455
487
  #endif
456
488
 
457
- /* C99 and C++11 should provide snprintf, but define SWIG_NO_SNPRINTF
458
- * if you're missing it.
459
- */
460
- #if ((defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L) || \
461
- (defined __cplusplus && __cplusplus >= 201103L) || \
462
- defined SWIG_HAVE_SNPRINTF) && \
463
- !defined SWIG_NO_SNPRINTF
464
- # define SWIG_snprintf(O,S,F,A) snprintf(O,S,F,A)
465
- # define SWIG_snprintf2(O,S,F,A,B) snprintf(O,S,F,A,B)
466
- #else
467
- /* Fallback versions ignore the buffer size, but most of our uses either have a
468
- * fixed maximum possible size or dynamically allocate a buffer that's large
469
- * enough.
470
- */
471
- # define SWIG_snprintf(O,S,F,A) sprintf(O,F,A)
472
- # define SWIG_snprintf2(O,S,F,A,B) sprintf(O,F,A,B)
473
- #endif
474
489
 
475
490
  #include <string.h>
476
491
 
@@ -495,8 +510,8 @@ typedef struct swig_type_info {
495
510
  typedef struct swig_cast_info {
496
511
  swig_type_info *type; /* pointer to type that is equivalent to this type */
497
512
  swig_converter_func converter; /* function to cast the void pointers */
498
- struct swig_cast_info *next; /* pointer to next cast in linked list */
499
- struct swig_cast_info *prev; /* pointer to the previous cast */
513
+ struct swig_cast_info *next; /* pointer to next array of casts | pointer to cast hashed by value */
514
+ unsigned int value; /* index of the last valid element in the array | typename hash value */
500
515
  } swig_cast_info;
501
516
 
502
517
  /* Structure used to store module information
@@ -557,55 +572,147 @@ SWIG_TypeEquiv(const char *nb, const char *tb) {
557
572
  return SWIG_TypeCmp(nb, tb) == 0 ? 1 : 0;
558
573
  }
559
574
 
575
+ /*
576
+ * Hash function for type name strings, based on maRushPrime1Hash (http://amsoftware.narod.ru/algo2.html)
577
+ */
578
+ SWIGRUNTIME unsigned int SWIG_Hash(const char *str, unsigned int len) {
579
+ const unsigned char *data = (const unsigned char *)str;
580
+ unsigned int hash = len, i = 0, k;
581
+ int rem = (int)len;
582
+
583
+ while (rem >= (int)sizeof(unsigned int)) {
584
+ memcpy(&k, data, sizeof(unsigned int));
585
+ k += i++;
586
+ hash ^= k;
587
+ hash *= 171717;
588
+ data += sizeof(unsigned int);
589
+ rem -= (int)sizeof(unsigned int);
590
+ }
591
+
592
+ switch (rem) {
593
+ case 3: k = (unsigned int)(data[2]) << 16;
594
+ k |= (unsigned int)(data[1]) << 8;
595
+ k |= (unsigned int)(data[0]);
596
+ k += i++;
597
+ hash ^= k;
598
+ hash *= 171717;
599
+ break;
600
+ case 2: k = (unsigned int)(data[1]) << 8;
601
+ k |= (unsigned int)(data[0]);
602
+ k += i++;
603
+ hash ^= k;
604
+ hash *= 171717;
605
+ break;
606
+ case 1: k = (unsigned int)(data[0]);
607
+ k += i++;
608
+ hash ^= k;
609
+ hash *= 171717;
610
+ break;
611
+ }
612
+ return hash;
613
+ }
614
+
560
615
  /*
561
616
  Check the typename
562
617
  */
563
618
  SWIGRUNTIME swig_cast_info *
564
619
  SWIG_TypeCheck(const char *c, swig_type_info *ty) {
620
+ static const unsigned int scan_threshold = 4;
565
621
  if (ty) {
566
- swig_cast_info *iter = ty->cast;
567
- while (iter) {
568
- if (strcmp(iter->type->name, c) == 0) {
569
- if (iter == ty->cast)
570
- return iter;
571
- /* Move iter to the top of the linked list */
572
- iter->prev->next = iter->next;
573
- if (iter->next)
574
- iter->next->prev = iter->prev;
575
- iter->next = ty->cast;
576
- iter->prev = 0;
577
- if (ty->cast) ty->cast->prev = iter;
578
- ty->cast = iter;
579
- return iter;
622
+ swig_cast_info *head = ty->cast;
623
+ unsigned int hash_value = 0;
624
+ int hashed = 0;
625
+
626
+ while (head) {
627
+
628
+ if (strcmp(head->type->name, c) == 0) {
629
+ return head;
580
630
  }
581
- iter = iter->next;
631
+
632
+ if (head->value) {
633
+ swig_cast_info *iter;
634
+ swig_cast_info *last = head + head->value;
635
+ swig_cast_info *first = head + 1;
636
+ int search = 1;
637
+
638
+ if (!hashed) {
639
+ if (head->value < scan_threshold) {
640
+ for (iter = first; iter <= last; iter++) {
641
+ if (strcmp(iter->type->name, c) == 0) {
642
+ return iter;
643
+ }
644
+ }
645
+ search = 0;
646
+ } else {
647
+ hashed = 1;
648
+ hash_value = SWIG_Hash(c, (unsigned int)strlen(c));
649
+ }
650
+ }
651
+
652
+ if (search) {
653
+ /* Binary search over sorted <'next'|'value'> pairs */
654
+ do {
655
+ iter = first + ((last - first) >> 1);
656
+ if (iter->value < hash_value) {
657
+ first = iter + 1;
658
+ } else if (iter->value == hash_value) {
659
+
660
+ if (strcmp(iter->next->type->name, c) == 0) {
661
+ return iter->next;
662
+ }
663
+
664
+ /* Hash collision check */
665
+ for (last = iter + 1; last->next && last->value == hash_value; last++) {
666
+ if (strcmp(last->next->type->name, c) == 0) {
667
+ return last->next;
668
+ }
669
+ }
670
+ for (first = iter - 1; first != head && first->value == hash_value; first--) {
671
+ if (strcmp(first->next->type->name, c) == 0) {
672
+ return first->next;
673
+ }
674
+ }
675
+ break;
676
+ } else
677
+ last = iter - 1;
678
+ } while (first <= last);
679
+ }
680
+ }
681
+ head = head->next;
582
682
  }
583
683
  }
584
684
  return 0;
585
685
  }
586
686
 
587
687
  /*
588
- Identical to SWIG_TypeCheck, except strcmp is replaced with a pointer comparison
688
+ Check the type by type address
589
689
  */
590
690
  SWIGRUNTIME swig_cast_info *
591
691
  SWIG_TypeCheckStruct(const swig_type_info *from, swig_type_info *ty) {
592
692
  if (ty) {
593
- swig_cast_info *iter = ty->cast;
594
- while (iter) {
595
- if (iter->type == from) {
596
- if (iter == ty->cast)
597
- return iter;
598
- /* Move iter to the top of the linked list */
599
- iter->prev->next = iter->next;
600
- if (iter->next)
601
- iter->next->prev = iter->prev;
602
- iter->next = ty->cast;
603
- iter->prev = 0;
604
- if (ty->cast) ty->cast->prev = iter;
605
- ty->cast = iter;
606
- return iter;
693
+ swig_cast_info *head = ty->cast;
694
+ while (head) {
695
+ if (head->type == from) {
696
+ return head;
607
697
  }
608
- iter = iter->next;
698
+
699
+ if (head->value) {
700
+ swig_cast_info *iter;
701
+ swig_cast_info *last = head + head->value;
702
+ swig_cast_info *first = head + 1;
703
+
704
+ /* Binary search over sorted array of casts */
705
+ do {
706
+ iter = first + ((last - first) >> 1);
707
+ if (iter->type < from) {
708
+ first = iter + 1;
709
+ } else if (iter->type == from) {
710
+ return iter;
711
+ } else
712
+ last = iter - 1;
713
+ } while (first <= last);
714
+ }
715
+ head = head->next;
609
716
  }
610
717
  }
611
718
  return 0;
@@ -668,20 +775,24 @@ SWIG_TypePrettyName(const swig_type_info *type) {
668
775
  */
669
776
  SWIGRUNTIME void
670
777
  SWIG_TypeClientData(swig_type_info *ti, void *clientdata) {
671
- swig_cast_info *cast = ti->cast;
778
+ swig_cast_info *head = ti->cast;
672
779
  /* if (ti->clientdata == clientdata) return; */
673
780
  ti->clientdata = clientdata;
674
781
 
675
- while (cast) {
676
- if (!cast->converter) {
677
- swig_type_info *tc = cast->type;
678
- if (!tc->clientdata) {
679
- SWIG_TypeClientData(tc, clientdata);
782
+ while (head) {
783
+ swig_cast_info *cast;
784
+ for (cast = head; (unsigned int)(cast - head) <= head->value; cast++) {
785
+ if (!cast->converter) {
786
+ swig_type_info *tc = cast->type;
787
+ if (!tc->clientdata) {
788
+ SWIG_TypeClientData(tc, clientdata);
789
+ }
680
790
  }
681
791
  }
682
- cast = cast->next;
792
+ head = head->next;
683
793
  }
684
794
  }
795
+
685
796
  SWIGRUNTIME void
686
797
  SWIG_TypeNewClientData(swig_type_info *ti, void *clientdata) {
687
798
  SWIG_TypeClientData(ti, clientdata);
@@ -820,7 +931,7 @@ SWIG_PackVoidPtr(char *buff, void *ptr, const char *name, size_t bsz) {
820
931
  if ((2*sizeof(void *) + 2) > bsz) return 0;
821
932
  *(r++) = '_';
822
933
  r = SWIG_PackData(r,&ptr,sizeof(void *));
823
- if (strlen(name) + 1 > (bsz - (r - buff))) return 0;
934
+ if (strlen(name) + 1 > (bsz - (size_t)(r - buff))) return 0;
824
935
  strcpy(r,name);
825
936
  return buff;
826
937
  }
@@ -899,20 +1010,7 @@ SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) {
899
1010
  #endif
900
1011
  #endif
901
1012
 
902
- #include <ruby.h>
903
-
904
- #if defined(RB_METHOD_DEFINITION_DECL)
905
- # define RUBY_VALUE_METHOD_FUNC(func) (func)
906
- # define RUBY_INT_METHOD_FUNC(func) (func)
907
- # define RUBY_VOID_METHOD_FUNC(func) (func)
908
- # define RUBY_VOIDP_METHOD_FUNC(func) (func)
909
- #else
910
- # define RUBY_VALUE_METHOD_FUNC(func) ((VALUE (*)(ANYARGS))(func))
911
- # define RUBY_INT_METHOD_FUNC(func) ((int (*)(ANYARGS))(func))
912
- # define RUBY_VOID_METHOD_FUNC(func) ((void (*)(ANYARGS))(func))
913
- # define RUBY_VOIDP_METHOD_FUNC(func) ((void *(*)(ANYARGS))(func))
914
- #endif
915
-
1013
+ #include <ruby.h>
916
1014
  #include <ruby/version.h> /* For RUBY_API_VERSION_CODE */
917
1015
 
918
1016
  #if __GNUC__ >= 7
@@ -1013,7 +1111,15 @@ SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) {
1013
1111
  #ifndef RTYPEDDATA_P
1014
1112
  # define RTYPEDDATA_P(x) (TYPE(x) != T_DATA)
1015
1113
  #endif
1114
+ #ifndef TYPED_DATA_EMBEDDED
1115
+ # define RTYPEDDATA_GET_DATA(x) RTYPEDDATA_DATA(x)
1116
+ #endif
1016
1117
 
1118
+ struct ruby_wrapped_object {
1119
+ void *data;
1120
+ void (*dmark)(void *);
1121
+ void (*dfree)(void *);
1122
+ };
1017
1123
 
1018
1124
 
1019
1125
  /*
@@ -1096,15 +1202,12 @@ static VALUE _mSWIG = Qnil;
1096
1202
 
1097
1203
 
1098
1204
  /* Define custom exceptions for errors that do not map to existing Ruby
1099
- exceptions. Note this only works for C++ since a global cannot be
1100
- initialized by a function in C. For C, fallback to rb_eRuntimeError.*/
1205
+ exceptions. */
1101
1206
 
1102
1207
  SWIGINTERN VALUE
1103
1208
  getNullReferenceError(void) {
1104
- static int init = 0;
1105
- static VALUE rb_eNullReferenceError ;
1106
- if (!init) {
1107
- init = 1;
1209
+ static VALUE rb_eNullReferenceError = Qnil;
1210
+ if (rb_eNullReferenceError == Qnil) {
1108
1211
  rb_eNullReferenceError = rb_define_class("NullReferenceError", rb_eRuntimeError);
1109
1212
  }
1110
1213
  return rb_eNullReferenceError;
@@ -1112,10 +1215,8 @@ getNullReferenceError(void) {
1112
1215
 
1113
1216
  SWIGINTERN VALUE
1114
1217
  getObjectPreviouslyDeletedError(void) {
1115
- static int init = 0;
1116
- static VALUE rb_eObjectPreviouslyDeleted ;
1117
- if (!init) {
1118
- init = 1;
1218
+ static VALUE rb_eObjectPreviouslyDeleted = Qnil;
1219
+ if (rb_eObjectPreviouslyDeleted == Qnil) {
1119
1220
  rb_eObjectPreviouslyDeleted = rb_define_class("ObjectPreviouslyDeleted", rb_eRuntimeError);
1120
1221
  }
1121
1222
  return rb_eObjectPreviouslyDeleted;
@@ -1354,7 +1455,7 @@ SWIGRUNTIME void SWIG_RubyUnlinkObjects(void* ptr) {
1354
1455
  // object might have the T_ZOMBIE type, but that's just
1355
1456
  // because the GC has flagged it as such for a deferred
1356
1457
  // destruction. Until then, it's still a T_DATA object.
1357
- DATA_PTR(object) = 0;
1458
+ ((struct ruby_wrapped_object *)RTYPEDDATA_GET_DATA(object))->data = 0;
1358
1459
  }
1359
1460
  }
1360
1461
 
@@ -1387,8 +1488,8 @@ extern "C" {
1387
1488
  #endif
1388
1489
 
1389
1490
  SWIGINTERN VALUE
1390
- SWIG_Ruby_AppendOutput(VALUE target, VALUE o) {
1391
- if (NIL_P(target)) {
1491
+ SWIG_Ruby_AppendOutput(VALUE target, VALUE o, int is_void) {
1492
+ if (NIL_P(target) && is_void) {
1392
1493
  target = o;
1393
1494
  } else {
1394
1495
  if (TYPE(target) != T_ARRAY) {
@@ -1486,6 +1587,7 @@ typedef struct {
1486
1587
  VALUE mImpl;
1487
1588
  void (*mark)(void *);
1488
1589
  void (*destroy)(void *);
1590
+ rb_data_type_t cext_type;
1489
1591
  int trackObjects;
1490
1592
  } swig_class;
1491
1593
 
@@ -1531,10 +1633,8 @@ static ID swig_lowerthan_id = 0;
1531
1633
 
1532
1634
  SWIGRUNTIME VALUE
1533
1635
  getExceptionClass(void) {
1534
- static int init = 0;
1535
- static VALUE rubyExceptionClass ;
1536
- if (!init) {
1537
- init = 1;
1636
+ static VALUE rubyExceptionClass = Qnil;
1637
+ if (rubyExceptionClass == Qnil) {
1538
1638
  rubyExceptionClass = rb_const_get(_mSWIG, rb_intern("Exception"));
1539
1639
  }
1540
1640
  return rubyExceptionClass;
@@ -1581,6 +1681,27 @@ SWIG_Ruby_define_class(swig_type_info *type)
1581
1681
  free((void *) klass_name);
1582
1682
  }
1583
1683
 
1684
+ static void SWIG_Ruby_mark_swig_type(void *_wrobj)
1685
+ {
1686
+ struct ruby_wrapped_object *wrobj = (struct ruby_wrapped_object *)_wrobj;
1687
+ if (wrobj->dmark) {
1688
+ wrobj->dmark(wrobj->data);
1689
+ }
1690
+ }
1691
+
1692
+ static void SWIG_Ruby_free_swig_type(void *_wrobj)
1693
+ {
1694
+ struct ruby_wrapped_object *wrobj = (struct ruby_wrapped_object *)_wrobj;
1695
+ if (wrobj->dfree) {
1696
+ wrobj->dfree(wrobj->data);
1697
+ }
1698
+ free(wrobj);
1699
+ }
1700
+
1701
+ static const rb_data_type_t swig_type_type = {
1702
+ .wrap_struct_name = "swig_type"
1703
+ };
1704
+
1584
1705
  /* Create a new pointer object */
1585
1706
  SWIGRUNTIME VALUE
1586
1707
  SWIG_Ruby_NewPointerObj(void *ptr, swig_type_info *type, int flags)
@@ -1591,6 +1712,7 @@ SWIG_Ruby_NewPointerObj(void *ptr, swig_type_info *type, int flags)
1591
1712
  swig_class *sklass;
1592
1713
  VALUE klass;
1593
1714
  VALUE obj;
1715
+ struct ruby_wrapped_object *wrobj;
1594
1716
 
1595
1717
  if (!ptr)
1596
1718
  return Qnil;
@@ -1618,10 +1740,11 @@ SWIG_Ruby_NewPointerObj(void *ptr, swig_type_info *type, int flags)
1618
1740
  }
1619
1741
 
1620
1742
  /* Create a new Ruby object */
1621
- obj = Data_Wrap_Struct(sklass->klass, VOIDFUNC(sklass->mark),
1622
- ( own ? VOIDFUNC(sklass->destroy) :
1623
- (track ? VOIDFUNC(SWIG_RubyRemoveTracking) : 0 )
1624
- ), ptr);
1743
+ obj = TypedData_Make_Struct(sklass->klass, struct ruby_wrapped_object, &sklass->cext_type, wrobj);
1744
+ wrobj->data = ptr;
1745
+ wrobj->dmark = sklass->mark;
1746
+ wrobj->dfree = own ? sklass->destroy:
1747
+ (track ? VOIDFUNC(SWIG_RubyRemoveTracking) : 0 );
1625
1748
 
1626
1749
  /* If tracking is on for this class then track this object. */
1627
1750
  if (track) {
@@ -1633,7 +1756,11 @@ SWIG_Ruby_NewPointerObj(void *ptr, swig_type_info *type, int flags)
1633
1756
  SWIG_snprintf(klass_name, klass_len, "TYPE%s", type->name);
1634
1757
  klass = rb_const_get(_mSWIG, rb_intern(klass_name));
1635
1758
  free((void *) klass_name);
1636
- obj = Data_Wrap_Struct(klass, 0, 0, ptr);
1759
+
1760
+ obj = TypedData_Make_Struct(klass, struct ruby_wrapped_object, &swig_type_type, wrobj);
1761
+ wrobj->data = ptr;
1762
+ wrobj->dmark = 0;
1763
+ wrobj->dfree = 0;
1637
1764
  }
1638
1765
  rb_iv_set(obj, "@__swigtype__", rb_str_new2(type->name));
1639
1766
 
@@ -1646,7 +1773,13 @@ SWIG_Ruby_NewClassInstance(VALUE klass, swig_type_info *type)
1646
1773
  {
1647
1774
  VALUE obj;
1648
1775
  swig_class *sklass = (swig_class *) type->clientdata;
1649
- obj = Data_Wrap_Struct(klass, VOIDFUNC(sklass->mark), VOIDFUNC(sklass->destroy), 0);
1776
+ struct ruby_wrapped_object *wrobj;
1777
+
1778
+ obj = TypedData_Make_Struct(klass, struct ruby_wrapped_object, &sklass->cext_type, wrobj);
1779
+ wrobj->data = 0;
1780
+ wrobj->dmark = sklass->mark;
1781
+ wrobj->dfree = sklass->destroy;
1782
+
1650
1783
  rb_iv_set(obj, "@__swigtype__", rb_str_new2(type->name));
1651
1784
  return obj;
1652
1785
  }
@@ -1670,9 +1803,10 @@ typedef struct {
1670
1803
  SWIGRUNTIME swig_ruby_owntype
1671
1804
  SWIG_Ruby_AcquirePtr(VALUE obj, swig_ruby_owntype own) {
1672
1805
  swig_ruby_owntype oldown = {0, 0};
1673
- if (TYPE(obj) == T_DATA && !RTYPEDDATA_P(obj)) {
1674
- oldown.datafree = RDATA(obj)->dfree;
1675
- RDATA(obj)->dfree = own.datafree;
1806
+ if (RB_TYPE_P(obj, RUBY_T_DATA) && RTYPEDDATA_P(obj)) {
1807
+ struct ruby_wrapped_object *wrobj = (struct ruby_wrapped_object *)RTYPEDDATA_GET_DATA(obj);
1808
+ oldown.datafree = wrobj->dfree;
1809
+ wrobj->dfree = own.datafree;
1676
1810
  }
1677
1811
  return oldown;
1678
1812
  }
@@ -1684,26 +1818,27 @@ SWIG_Ruby_ConvertPtrAndOwn(VALUE obj, void **ptr, swig_type_info *ty, int flags,
1684
1818
  char *c;
1685
1819
  swig_cast_info *tc;
1686
1820
  void *vptr = 0;
1821
+ struct ruby_wrapped_object *wrobj;
1687
1822
 
1688
1823
  /* Grab the pointer */
1689
1824
  if (NIL_P(obj)) {
1690
1825
  if (ptr)
1691
1826
  *ptr = 0;
1692
1827
  return (flags & SWIG_POINTER_NO_NULL) ? SWIG_NullReferenceError : SWIG_OK;
1828
+ } else if (RB_TYPE_P(obj, RUBY_T_DATA) && RTYPEDDATA_P(obj)) {
1829
+ wrobj = (struct ruby_wrapped_object *)RTYPEDDATA_GET_DATA(obj);
1830
+ vptr = wrobj->data;
1693
1831
  } else {
1694
- if (TYPE(obj) != T_DATA || (TYPE(obj) == T_DATA && RTYPEDDATA_P(obj))) {
1695
- return SWIG_ERROR;
1696
- }
1697
- Data_Get_Struct(obj, void, vptr);
1832
+ return SWIG_ERROR;
1698
1833
  }
1699
1834
 
1700
1835
  if (own) {
1701
- own->datafree = RDATA(obj)->dfree;
1836
+ own->datafree = wrobj->dfree;
1702
1837
  own->own = 0;
1703
1838
  }
1704
1839
 
1705
1840
  if (((flags & SWIG_POINTER_RELEASE) == SWIG_POINTER_RELEASE)) {
1706
- if (!RDATA(obj)->dfree)
1841
+ if (!wrobj->dfree)
1707
1842
  return SWIG_ERROR_RELEASE_NOT_OWNED;
1708
1843
  }
1709
1844
 
@@ -1726,14 +1861,14 @@ SWIG_Ruby_ConvertPtrAndOwn(VALUE obj, void **ptr, swig_type_info *ty, int flags,
1726
1861
  * when the Ruby object is garbage collected. If we don't
1727
1862
  * do this, then it is possible we will return a reference
1728
1863
  * to a Ruby object that no longer exists thereby crashing Ruby. */
1729
- RDATA(obj)->dfree = SWIG_RubyRemoveTracking;
1864
+ wrobj->dfree = SWIG_RubyRemoveTracking;
1730
1865
  } else {
1731
- RDATA(obj)->dfree = 0;
1866
+ wrobj->dfree = 0;
1732
1867
  }
1733
1868
  }
1734
1869
 
1735
1870
  if (flags & SWIG_POINTER_CLEAR) {
1736
- DATA_PTR(obj) = 0;
1871
+ wrobj->data = 0;
1737
1872
  }
1738
1873
 
1739
1874
  /* Do type-checking if type info was provided */
@@ -1817,6 +1952,11 @@ SWIG_Ruby_ConvertPacked(VALUE obj, void *ptr, int sz, swig_type_info *ty) {
1817
1952
  return SWIG_ERROR;
1818
1953
  }
1819
1954
 
1955
+
1956
+ static const rb_data_type_t swig_runtime_data_type = {
1957
+ .wrap_struct_name = "swig_runtime_data" SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME
1958
+ };
1959
+
1820
1960
  SWIGRUNTIME swig_module_info *
1821
1961
  SWIG_Ruby_GetModule(void *SWIGUNUSEDPARM(clientdata))
1822
1962
  {
@@ -1826,11 +1966,13 @@ SWIG_Ruby_GetModule(void *SWIGUNUSEDPARM(clientdata))
1826
1966
 
1827
1967
  /* temporarily disable warnings, since the pointer check causes warnings with 'ruby -w' */
1828
1968
  rb_gv_set("VERBOSE", Qfalse);
1829
-
1969
+
1830
1970
  /* first check if pointer already created */
1831
1971
  pointer = rb_gv_get("$swig_runtime_data_type_pointer" SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME);
1832
1972
  if (pointer != Qnil) {
1833
- Data_Get_Struct(pointer, swig_module_info, ret);
1973
+ /* Can not use TypedData_Get_Struct because swig_runtime_data_type is not global, but once per file. */
1974
+ if (!RB_TYPE_P(pointer, RUBY_T_DATA)) rb_check_typeddata(pointer, &swig_runtime_data_type);
1975
+ ret = (swig_module_info *)RTYPEDDATA_GET_DATA(pointer);
1834
1976
  }
1835
1977
 
1836
1978
  /* reinstate warnings */
@@ -1842,10 +1984,10 @@ SWIGRUNTIME void
1842
1984
  SWIG_Ruby_SetModule(swig_module_info *pointer)
1843
1985
  {
1844
1986
  /* register a new class */
1845
- VALUE cl = rb_define_class("SWIG_RUNTIME_DATA", rb_cObject);rb_undef_alloc_func(cl);
1987
+ VALUE cl = rb_define_class("swig_runtime_data", rb_cObject);
1846
1988
  rb_undef_alloc_func(cl);
1847
1989
  /* create and store the structure pointer to a global variable */
1848
- swig_runtime_data_type_pointer = Data_Wrap_Struct(cl, 0, 0, pointer);
1990
+ swig_runtime_data_type_pointer = TypedData_Wrap_Struct(cl, &swig_runtime_data_type, pointer);
1849
1991
  rb_define_readonly_variable("$swig_runtime_data_type_pointer" SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME, &swig_runtime_data_type_pointer);
1850
1992
  }
1851
1993
 
@@ -2026,7 +2168,7 @@ static swig_module_info swig_module = {swig_types, 115, 0, 0, 0, 0};
2026
2168
  #define SWIG_init Init_scintilla
2027
2169
  #define SWIG_name "Scintilla"
2028
2170
 
2029
-
2171
+ static VALUE mScintilla;
2030
2172
 
2031
2173
  #ifdef __cplusplus
2032
2174
  #include <utility>
@@ -2044,7 +2186,7 @@ template<typename T> class SwigValueWrapper {
2044
2186
  public:
2045
2187
  SwigValueWrapper() : pointer(0) { }
2046
2188
  SwigValueWrapper& operator=(const T& t) { SwigSmartPointer tmp(new T(t)); pointer = tmp; return *this; }
2047
- #if __cplusplus >=201103L
2189
+ #if __cplusplus >= 201103L
2048
2190
  SwigValueWrapper& operator=(T&& t) { SwigSmartPointer tmp(new T(std::move(t))); pointer = tmp; return *this; }
2049
2191
  operator T&&() const { return std::move(*pointer.ptr); }
2050
2192
  #else
@@ -2067,12 +2209,18 @@ template <typename T> T SwigValueInit() {
2067
2209
  return T();
2068
2210
  }
2069
2211
 
2070
- #if __cplusplus >=201103L
2212
+ #if __cplusplus >= 201103L
2071
2213
  # define SWIG_STD_MOVE(OBJ) std::move(OBJ)
2072
2214
  #else
2073
2215
  # define SWIG_STD_MOVE(OBJ) OBJ
2074
2216
  #endif
2075
2217
 
2218
+ #if __cplusplus >= 201103L
2219
+ # define SWIG_OVERRIDE override
2220
+ #else
2221
+ # define SWIG_OVERRIDE
2222
+ #endif
2223
+
2076
2224
  #endif
2077
2225
 
2078
2226
 
@@ -2132,7 +2280,7 @@ inline void* to_FXEvent(VALUE obj){
2132
2280
  FXEventTypeInfo=SWIG_TypeQuery("FXEvent *");
2133
2281
  FXASSERT(FXEventTypeInfo!=0);
2134
2282
  }
2135
- SWIG_ConvertPtr(obj,&ptr,FXEventTypeInfo,1);
2283
+ SWIG_ConvertPtr(obj,&ptr,FXEventTypeInfo,SWIG_POINTER_DISOWN);
2136
2284
  return ptr;
2137
2285
  }
2138
2286
 
@@ -2190,11 +2338,9 @@ SWIGINTERN VALUE SCNotification_lParam(SCNotification const *self){
2190
2338
  SWIGINTERN swig_type_info*
2191
2339
  SWIG_pchar_descriptor(void)
2192
2340
  {
2193
- static int init = 0;
2194
2341
  static swig_type_info* info = 0;
2195
- if (!init) {
2342
+ if (!info) {
2196
2343
  info = SWIG_TypeQuery("_p_char");
2197
- init = 1;
2198
2344
  }
2199
2345
  return info;
2200
2346
  }
@@ -2231,7 +2377,6 @@ SWIG_ruby_failed(VALUE SWIGUNUSEDPARM(arg1), VALUE SWIGUNUSEDPARM(arg2))
2231
2377
  }
2232
2378
 
2233
2379
 
2234
- /*@SWIG:/usr/share/swig4.0/ruby/rubyprimtypes.swg,19,%ruby_aux_method@*/
2235
2380
  SWIGINTERN VALUE SWIG_AUX_NUM2LONG(VALUE arg)
2236
2381
  {
2237
2382
  VALUE *args = (VALUE *)arg;
@@ -2241,7 +2386,6 @@ SWIGINTERN VALUE SWIG_AUX_NUM2LONG(VALUE arg)
2241
2386
  *res = type == T_FIXNUM ? NUM2LONG(obj) : rb_big2long(obj);
2242
2387
  return obj;
2243
2388
  }
2244
- /*@SWIG@*/
2245
2389
 
2246
2390
  SWIGINTERN int
2247
2391
  SWIG_AsVal_long (VALUE obj, long* val)
@@ -2277,7 +2421,6 @@ SWIG_AsVal_int (VALUE obj, int *val)
2277
2421
  }
2278
2422
 
2279
2423
 
2280
- /*@SWIG:/usr/share/swig4.0/ruby/rubyprimtypes.swg,19,%ruby_aux_method@*/
2281
2424
  SWIGINTERN VALUE SWIG_AUX_NUM2ULONG(VALUE arg)
2282
2425
  {
2283
2426
  VALUE *args = (VALUE *)arg;
@@ -2287,7 +2430,6 @@ SWIGINTERN VALUE SWIG_AUX_NUM2ULONG(VALUE arg)
2287
2430
  *res = type == T_FIXNUM ? NUM2ULONG(obj) : rb_big2ulong(obj);
2288
2431
  return obj;
2289
2432
  }
2290
- /*@SWIG@*/
2291
2433
 
2292
2434
  SWIGINTERN int
2293
2435
  SWIG_AsVal_unsigned_SS_long (VALUE obj, unsigned long *val)
@@ -2315,7 +2457,6 @@ SWIG_AsVal_unsigned_SS_long (VALUE obj, unsigned long *val)
2315
2457
 
2316
2458
 
2317
2459
  #ifdef SWIG_LONG_LONG_AVAILABLE
2318
- /*@SWIG:/usr/share/swig4.0/ruby/rubyprimtypes.swg,19,%ruby_aux_method@*/
2319
2460
  SWIGINTERN VALUE SWIG_AUX_NUM2ULL(VALUE arg)
2320
2461
  {
2321
2462
  VALUE *args = (VALUE *)arg;
@@ -2325,7 +2466,6 @@ SWIGINTERN VALUE SWIG_AUX_NUM2ULL(VALUE arg)
2325
2466
  *res = type == T_FIXNUM ? NUM2ULL(obj) : rb_big2ull(obj);
2326
2467
  return obj;
2327
2468
  }
2328
- /*@SWIG@*/
2329
2469
 
2330
2470
  SWIGINTERN int
2331
2471
  SWIG_AsVal_unsigned_SS_long_SS_long (VALUE obj, unsigned long long *val)
@@ -2429,7 +2569,7 @@ SWIGINTERN VALUE FXScintilla_sendMessage(FXScintilla *self,unsigned int iMsg,VAL
2429
2569
  lp=(lParam==Qtrue) ? 1 : 0;
2430
2570
  break;
2431
2571
  case T_DATA:
2432
- lp=reinterpret_cast<sptr_t>(DATA_PTR(lParam));
2572
+ lp = (sptr_t)FXRbConvertPtr(lParam, 0, 0);
2433
2573
  break;
2434
2574
  default:
2435
2575
  lp=0;
@@ -2455,7 +2595,7 @@ SWIG_AsCharPtrAndSize(VALUE obj, char** cptr, size_t* psize, int *alloc)
2455
2595
  if (cptr) {
2456
2596
  if (alloc) {
2457
2597
  if (*alloc == SWIG_NEWOBJ) {
2458
- *cptr = reinterpret_cast< char* >(memcpy(new char[size], cstr, sizeof(char)*(size)));
2598
+ *cptr = reinterpret_cast< char* >(memcpy(new char[size], cstr, sizeof(char)*(size_t)(size)));
2459
2599
  } else {
2460
2600
  *cptr = cstr;
2461
2601
  *alloc = SWIG_OLDOBJ;
@@ -2494,7 +2634,7 @@ static swig_class SwigClassNotifyHeader;
2494
2634
 
2495
2635
  SWIGINTERN VALUE
2496
2636
  _wrap_NotifyHeader_idFrom_get(int argc, VALUE *argv, VALUE self) {
2497
- NotifyHeader *arg1 = (NotifyHeader *) 0 ;
2637
+ NotifyHeader *arg1 = 0 ;
2498
2638
  void *argp1 = 0 ;
2499
2639
  int res1 = 0 ;
2500
2640
  unsigned int result;
@@ -2518,7 +2658,7 @@ fail:
2518
2658
 
2519
2659
  SWIGINTERN VALUE
2520
2660
  _wrap_NotifyHeader_code_get(int argc, VALUE *argv, VALUE self) {
2521
- NotifyHeader *arg1 = (NotifyHeader *) 0 ;
2661
+ NotifyHeader *arg1 = 0 ;
2522
2662
  void *argp1 = 0 ;
2523
2663
  int res1 = 0 ;
2524
2664
  unsigned int result;
@@ -2544,7 +2684,7 @@ static swig_class SwigClassSCNotification;
2544
2684
 
2545
2685
  SWIGINTERN VALUE
2546
2686
  _wrap_SCNotification_nmhdr_get(int argc, VALUE *argv, VALUE self) {
2547
- SCNotification *arg1 = (SCNotification *) 0 ;
2687
+ SCNotification *arg1 = 0 ;
2548
2688
  void *argp1 = 0 ;
2549
2689
  int res1 = 0 ;
2550
2690
  NotifyHeader *result = 0 ;
@@ -2568,7 +2708,7 @@ fail:
2568
2708
 
2569
2709
  SWIGINTERN VALUE
2570
2710
  _wrap_SCNotification_position_get(int argc, VALUE *argv, VALUE self) {
2571
- SCNotification *arg1 = (SCNotification *) 0 ;
2711
+ SCNotification *arg1 = 0 ;
2572
2712
  void *argp1 = 0 ;
2573
2713
  int res1 = 0 ;
2574
2714
  int result;
@@ -2592,7 +2732,7 @@ fail:
2592
2732
 
2593
2733
  SWIGINTERN VALUE
2594
2734
  _wrap_SCNotification_ch_get(int argc, VALUE *argv, VALUE self) {
2595
- SCNotification *arg1 = (SCNotification *) 0 ;
2735
+ SCNotification *arg1 = 0 ;
2596
2736
  void *argp1 = 0 ;
2597
2737
  int res1 = 0 ;
2598
2738
  int result;
@@ -2616,7 +2756,7 @@ fail:
2616
2756
 
2617
2757
  SWIGINTERN VALUE
2618
2758
  _wrap_SCNotification_modifiers_get(int argc, VALUE *argv, VALUE self) {
2619
- SCNotification *arg1 = (SCNotification *) 0 ;
2759
+ SCNotification *arg1 = 0 ;
2620
2760
  void *argp1 = 0 ;
2621
2761
  int res1 = 0 ;
2622
2762
  int result;
@@ -2640,7 +2780,7 @@ fail:
2640
2780
 
2641
2781
  SWIGINTERN VALUE
2642
2782
  _wrap_SCNotification_modificationType_get(int argc, VALUE *argv, VALUE self) {
2643
- SCNotification *arg1 = (SCNotification *) 0 ;
2783
+ SCNotification *arg1 = 0 ;
2644
2784
  void *argp1 = 0 ;
2645
2785
  int res1 = 0 ;
2646
2786
  int result;
@@ -2664,7 +2804,7 @@ fail:
2664
2804
 
2665
2805
  SWIGINTERN VALUE
2666
2806
  _wrap_SCNotification_text(int argc, VALUE *argv, VALUE self) {
2667
- SCNotification *arg1 = (SCNotification *) 0 ;
2807
+ SCNotification *arg1 = 0 ;
2668
2808
  void *argp1 = 0 ;
2669
2809
  int res1 = 0 ;
2670
2810
  VALUE result;
@@ -2688,7 +2828,7 @@ fail:
2688
2828
 
2689
2829
  SWIGINTERN VALUE
2690
2830
  _wrap_SCNotification_length_get(int argc, VALUE *argv, VALUE self) {
2691
- SCNotification *arg1 = (SCNotification *) 0 ;
2831
+ SCNotification *arg1 = 0 ;
2692
2832
  void *argp1 = 0 ;
2693
2833
  int res1 = 0 ;
2694
2834
  int result;
@@ -2712,7 +2852,7 @@ fail:
2712
2852
 
2713
2853
  SWIGINTERN VALUE
2714
2854
  _wrap_SCNotification_linesAdded_get(int argc, VALUE *argv, VALUE self) {
2715
- SCNotification *arg1 = (SCNotification *) 0 ;
2855
+ SCNotification *arg1 = 0 ;
2716
2856
  void *argp1 = 0 ;
2717
2857
  int res1 = 0 ;
2718
2858
  int result;
@@ -2736,7 +2876,7 @@ fail:
2736
2876
 
2737
2877
  SWIGINTERN VALUE
2738
2878
  _wrap_SCNotification_message_get(int argc, VALUE *argv, VALUE self) {
2739
- SCNotification *arg1 = (SCNotification *) 0 ;
2879
+ SCNotification *arg1 = 0 ;
2740
2880
  void *argp1 = 0 ;
2741
2881
  int res1 = 0 ;
2742
2882
  int result;
@@ -2760,7 +2900,7 @@ fail:
2760
2900
 
2761
2901
  SWIGINTERN VALUE
2762
2902
  _wrap_SCNotification_line_get(int argc, VALUE *argv, VALUE self) {
2763
- SCNotification *arg1 = (SCNotification *) 0 ;
2903
+ SCNotification *arg1 = 0 ;
2764
2904
  void *argp1 = 0 ;
2765
2905
  int res1 = 0 ;
2766
2906
  int result;
@@ -2784,7 +2924,7 @@ fail:
2784
2924
 
2785
2925
  SWIGINTERN VALUE
2786
2926
  _wrap_SCNotification_foldLevelNow_get(int argc, VALUE *argv, VALUE self) {
2787
- SCNotification *arg1 = (SCNotification *) 0 ;
2927
+ SCNotification *arg1 = 0 ;
2788
2928
  void *argp1 = 0 ;
2789
2929
  int res1 = 0 ;
2790
2930
  int result;
@@ -2808,7 +2948,7 @@ fail:
2808
2948
 
2809
2949
  SWIGINTERN VALUE
2810
2950
  _wrap_SCNotification_foldLevelPrev_get(int argc, VALUE *argv, VALUE self) {
2811
- SCNotification *arg1 = (SCNotification *) 0 ;
2951
+ SCNotification *arg1 = 0 ;
2812
2952
  void *argp1 = 0 ;
2813
2953
  int res1 = 0 ;
2814
2954
  int result;
@@ -2832,7 +2972,7 @@ fail:
2832
2972
 
2833
2973
  SWIGINTERN VALUE
2834
2974
  _wrap_SCNotification_margin_get(int argc, VALUE *argv, VALUE self) {
2835
- SCNotification *arg1 = (SCNotification *) 0 ;
2975
+ SCNotification *arg1 = 0 ;
2836
2976
  void *argp1 = 0 ;
2837
2977
  int res1 = 0 ;
2838
2978
  int result;
@@ -2856,7 +2996,7 @@ fail:
2856
2996
 
2857
2997
  SWIGINTERN VALUE
2858
2998
  _wrap_SCNotification_listType_get(int argc, VALUE *argv, VALUE self) {
2859
- SCNotification *arg1 = (SCNotification *) 0 ;
2999
+ SCNotification *arg1 = 0 ;
2860
3000
  void *argp1 = 0 ;
2861
3001
  int res1 = 0 ;
2862
3002
  int result;
@@ -2880,7 +3020,7 @@ fail:
2880
3020
 
2881
3021
  SWIGINTERN VALUE
2882
3022
  _wrap_SCNotification_x_get(int argc, VALUE *argv, VALUE self) {
2883
- SCNotification *arg1 = (SCNotification *) 0 ;
3023
+ SCNotification *arg1 = 0 ;
2884
3024
  void *argp1 = 0 ;
2885
3025
  int res1 = 0 ;
2886
3026
  int result;
@@ -2904,7 +3044,7 @@ fail:
2904
3044
 
2905
3045
  SWIGINTERN VALUE
2906
3046
  _wrap_SCNotification_y_get(int argc, VALUE *argv, VALUE self) {
2907
- SCNotification *arg1 = (SCNotification *) 0 ;
3047
+ SCNotification *arg1 = 0 ;
2908
3048
  void *argp1 = 0 ;
2909
3049
  int res1 = 0 ;
2910
3050
  int result;
@@ -2928,7 +3068,7 @@ fail:
2928
3068
 
2929
3069
  SWIGINTERN VALUE
2930
3070
  _wrap_SCNotification_wParam(int argc, VALUE *argv, VALUE self) {
2931
- SCNotification *arg1 = (SCNotification *) 0 ;
3071
+ SCNotification *arg1 = 0 ;
2932
3072
  void *argp1 = 0 ;
2933
3073
  int res1 = 0 ;
2934
3074
  VALUE result;
@@ -2952,7 +3092,7 @@ fail:
2952
3092
 
2953
3093
  SWIGINTERN VALUE
2954
3094
  _wrap_SCNotification_lParam(int argc, VALUE *argv, VALUE self) {
2955
- SCNotification *arg1 = (SCNotification *) 0 ;
3095
+ SCNotification *arg1 = 0 ;
2956
3096
  void *argp1 = 0 ;
2957
3097
  int res1 = 0 ;
2958
3098
  VALUE result;
@@ -2978,7 +3118,7 @@ static swig_class SwigClassTextRange;
2978
3118
 
2979
3119
  SWIGINTERN VALUE
2980
3120
  _wrap_TextRange_lpstrText_get(int argc, VALUE *argv, VALUE self) {
2981
- TextRange *arg1 = (TextRange *) 0 ;
3121
+ TextRange *arg1 = 0 ;
2982
3122
  void *argp1 = 0 ;
2983
3123
  int res1 = 0 ;
2984
3124
  char *result = 0 ;
@@ -3047,7 +3187,7 @@ _wrap_new_TextRange(int argc, VALUE *argv, VALUE self) {
3047
3187
  }
3048
3188
  arg3 = static_cast< size_t >(val3);
3049
3189
  result = (TextRange *)new_TextRange(arg1,arg2,SWIG_STD_MOVE(arg3));
3050
- DATA_PTR(self) = result;
3190
+ ((struct ruby_wrapped_object *)RTYPEDDATA_GET_DATA(self))->data = result;
3051
3191
  return self;
3052
3192
  fail:
3053
3193
  return Qnil;
@@ -3068,10 +3208,10 @@ static swig_class SwigClassFXScintilla;
3068
3208
 
3069
3209
  SWIGINTERN VALUE
3070
3210
  _wrap_FXScintilla_onScintillaCommand(int argc, VALUE *argv, VALUE self) {
3071
- FXScintilla *arg1 = (FXScintilla *) 0 ;
3072
- FXObject *arg2 = (FXObject *) 0 ;
3211
+ FXScintilla *arg1 = 0 ;
3212
+ FXObject *arg2 = 0 ;
3073
3213
  FXSelector arg3 ;
3074
- void *arg4 = (void *) 0 ;
3214
+ void *arg4 = 0 ;
3075
3215
  void *argp1 = 0 ;
3076
3216
  int res1 = 0 ;
3077
3217
  void *argp2 = 0 ;
@@ -3104,10 +3244,10 @@ fail:
3104
3244
 
3105
3245
  SWIGINTERN VALUE
3106
3246
  _wrap_FXScintilla_onPaint(int argc, VALUE *argv, VALUE self) {
3107
- FXScintilla *arg1 = (FXScintilla *) 0 ;
3108
- FXObject *arg2 = (FXObject *) 0 ;
3247
+ FXScintilla *arg1 = 0 ;
3248
+ FXObject *arg2 = 0 ;
3109
3249
  FXSelector arg3 ;
3110
- void *arg4 = (void *) 0 ;
3250
+ void *arg4 = 0 ;
3111
3251
  void *argp1 = 0 ;
3112
3252
  int res1 = 0 ;
3113
3253
  void *argp2 = 0 ;
@@ -3140,10 +3280,10 @@ fail:
3140
3280
 
3141
3281
  SWIGINTERN VALUE
3142
3282
  _wrap_FXScintilla_onConfigure(int argc, VALUE *argv, VALUE self) {
3143
- FXScintilla *arg1 = (FXScintilla *) 0 ;
3144
- FXObject *arg2 = (FXObject *) 0 ;
3283
+ FXScintilla *arg1 = 0 ;
3284
+ FXObject *arg2 = 0 ;
3145
3285
  FXSelector arg3 ;
3146
- void *arg4 = (void *) 0 ;
3286
+ void *arg4 = 0 ;
3147
3287
  void *argp1 = 0 ;
3148
3288
  int res1 = 0 ;
3149
3289
  void *argp2 = 0 ;
@@ -3176,10 +3316,10 @@ fail:
3176
3316
 
3177
3317
  SWIGINTERN VALUE
3178
3318
  _wrap_FXScintilla_onTimeoutTicking(int argc, VALUE *argv, VALUE self) {
3179
- FXScintilla *arg1 = (FXScintilla *) 0 ;
3180
- FXObject *arg2 = (FXObject *) 0 ;
3319
+ FXScintilla *arg1 = 0 ;
3320
+ FXObject *arg2 = 0 ;
3181
3321
  FXSelector arg3 ;
3182
- void *arg4 = (void *) 0 ;
3322
+ void *arg4 = 0 ;
3183
3323
  void *argp1 = 0 ;
3184
3324
  int res1 = 0 ;
3185
3325
  void *argp2 = 0 ;
@@ -3212,10 +3352,10 @@ fail:
3212
3352
 
3213
3353
  SWIGINTERN VALUE
3214
3354
  _wrap_FXScintilla_onFocusIn(int argc, VALUE *argv, VALUE self) {
3215
- FXScintilla *arg1 = (FXScintilla *) 0 ;
3216
- FXObject *arg2 = (FXObject *) 0 ;
3355
+ FXScintilla *arg1 = 0 ;
3356
+ FXObject *arg2 = 0 ;
3217
3357
  FXSelector arg3 ;
3218
- void *arg4 = (void *) 0 ;
3358
+ void *arg4 = 0 ;
3219
3359
  void *argp1 = 0 ;
3220
3360
  int res1 = 0 ;
3221
3361
  void *argp2 = 0 ;
@@ -3248,10 +3388,10 @@ fail:
3248
3388
 
3249
3389
  SWIGINTERN VALUE
3250
3390
  _wrap_FXScintilla_onFocusOut(int argc, VALUE *argv, VALUE self) {
3251
- FXScintilla *arg1 = (FXScintilla *) 0 ;
3252
- FXObject *arg2 = (FXObject *) 0 ;
3391
+ FXScintilla *arg1 = 0 ;
3392
+ FXObject *arg2 = 0 ;
3253
3393
  FXSelector arg3 ;
3254
- void *arg4 = (void *) 0 ;
3394
+ void *arg4 = 0 ;
3255
3395
  void *argp1 = 0 ;
3256
3396
  int res1 = 0 ;
3257
3397
  void *argp2 = 0 ;
@@ -3284,10 +3424,10 @@ fail:
3284
3424
 
3285
3425
  SWIGINTERN VALUE
3286
3426
  _wrap_FXScintilla_onMotion(int argc, VALUE *argv, VALUE self) {
3287
- FXScintilla *arg1 = (FXScintilla *) 0 ;
3288
- FXObject *arg2 = (FXObject *) 0 ;
3427
+ FXScintilla *arg1 = 0 ;
3428
+ FXObject *arg2 = 0 ;
3289
3429
  FXSelector arg3 ;
3290
- void *arg4 = (void *) 0 ;
3430
+ void *arg4 = 0 ;
3291
3431
  void *argp1 = 0 ;
3292
3432
  int res1 = 0 ;
3293
3433
  void *argp2 = 0 ;
@@ -3320,10 +3460,10 @@ fail:
3320
3460
 
3321
3461
  SWIGINTERN VALUE
3322
3462
  _wrap_FXScintilla_onLeftBtnPress(int argc, VALUE *argv, VALUE self) {
3323
- FXScintilla *arg1 = (FXScintilla *) 0 ;
3324
- FXObject *arg2 = (FXObject *) 0 ;
3463
+ FXScintilla *arg1 = 0 ;
3464
+ FXObject *arg2 = 0 ;
3325
3465
  FXSelector arg3 ;
3326
- void *arg4 = (void *) 0 ;
3466
+ void *arg4 = 0 ;
3327
3467
  void *argp1 = 0 ;
3328
3468
  int res1 = 0 ;
3329
3469
  void *argp2 = 0 ;
@@ -3356,10 +3496,10 @@ fail:
3356
3496
 
3357
3497
  SWIGINTERN VALUE
3358
3498
  _wrap_FXScintilla_onLeftBtnRelease(int argc, VALUE *argv, VALUE self) {
3359
- FXScintilla *arg1 = (FXScintilla *) 0 ;
3360
- FXObject *arg2 = (FXObject *) 0 ;
3499
+ FXScintilla *arg1 = 0 ;
3500
+ FXObject *arg2 = 0 ;
3361
3501
  FXSelector arg3 ;
3362
- void *arg4 = (void *) 0 ;
3502
+ void *arg4 = 0 ;
3363
3503
  void *argp1 = 0 ;
3364
3504
  int res1 = 0 ;
3365
3505
  void *argp2 = 0 ;
@@ -3392,10 +3532,10 @@ fail:
3392
3532
 
3393
3533
  SWIGINTERN VALUE
3394
3534
  _wrap_FXScintilla_onRightBtnPress(int argc, VALUE *argv, VALUE self) {
3395
- FXScintilla *arg1 = (FXScintilla *) 0 ;
3396
- FXObject *arg2 = (FXObject *) 0 ;
3535
+ FXScintilla *arg1 = 0 ;
3536
+ FXObject *arg2 = 0 ;
3397
3537
  FXSelector arg3 ;
3398
- void *arg4 = (void *) 0 ;
3538
+ void *arg4 = 0 ;
3399
3539
  void *argp1 = 0 ;
3400
3540
  int res1 = 0 ;
3401
3541
  void *argp2 = 0 ;
@@ -3428,10 +3568,10 @@ fail:
3428
3568
 
3429
3569
  SWIGINTERN VALUE
3430
3570
  _wrap_FXScintilla_onMiddleBtnPress(int argc, VALUE *argv, VALUE self) {
3431
- FXScintilla *arg1 = (FXScintilla *) 0 ;
3432
- FXObject *arg2 = (FXObject *) 0 ;
3571
+ FXScintilla *arg1 = 0 ;
3572
+ FXObject *arg2 = 0 ;
3433
3573
  FXSelector arg3 ;
3434
- void *arg4 = (void *) 0 ;
3574
+ void *arg4 = 0 ;
3435
3575
  void *argp1 = 0 ;
3436
3576
  int res1 = 0 ;
3437
3577
  void *argp2 = 0 ;
@@ -3464,10 +3604,10 @@ fail:
3464
3604
 
3465
3605
  SWIGINTERN VALUE
3466
3606
  _wrap_FXScintilla_onBeginDrag(int argc, VALUE *argv, VALUE self) {
3467
- FXScintilla *arg1 = (FXScintilla *) 0 ;
3468
- FXObject *arg2 = (FXObject *) 0 ;
3607
+ FXScintilla *arg1 = 0 ;
3608
+ FXObject *arg2 = 0 ;
3469
3609
  FXSelector arg3 ;
3470
- void *arg4 = (void *) 0 ;
3610
+ void *arg4 = 0 ;
3471
3611
  void *argp1 = 0 ;
3472
3612
  int res1 = 0 ;
3473
3613
  void *argp2 = 0 ;
@@ -3500,10 +3640,10 @@ fail:
3500
3640
 
3501
3641
  SWIGINTERN VALUE
3502
3642
  _wrap_FXScintilla_onDragged(int argc, VALUE *argv, VALUE self) {
3503
- FXScintilla *arg1 = (FXScintilla *) 0 ;
3504
- FXObject *arg2 = (FXObject *) 0 ;
3643
+ FXScintilla *arg1 = 0 ;
3644
+ FXObject *arg2 = 0 ;
3505
3645
  FXSelector arg3 ;
3506
- void *arg4 = (void *) 0 ;
3646
+ void *arg4 = 0 ;
3507
3647
  void *argp1 = 0 ;
3508
3648
  int res1 = 0 ;
3509
3649
  void *argp2 = 0 ;
@@ -3536,10 +3676,10 @@ fail:
3536
3676
 
3537
3677
  SWIGINTERN VALUE
3538
3678
  _wrap_FXScintilla_onEndDrag(int argc, VALUE *argv, VALUE self) {
3539
- FXScintilla *arg1 = (FXScintilla *) 0 ;
3540
- FXObject *arg2 = (FXObject *) 0 ;
3679
+ FXScintilla *arg1 = 0 ;
3680
+ FXObject *arg2 = 0 ;
3541
3681
  FXSelector arg3 ;
3542
- void *arg4 = (void *) 0 ;
3682
+ void *arg4 = 0 ;
3543
3683
  void *argp1 = 0 ;
3544
3684
  int res1 = 0 ;
3545
3685
  void *argp2 = 0 ;
@@ -3572,10 +3712,10 @@ fail:
3572
3712
 
3573
3713
  SWIGINTERN VALUE
3574
3714
  _wrap_FXScintilla_onDNDEnter(int argc, VALUE *argv, VALUE self) {
3575
- FXScintilla *arg1 = (FXScintilla *) 0 ;
3576
- FXObject *arg2 = (FXObject *) 0 ;
3715
+ FXScintilla *arg1 = 0 ;
3716
+ FXObject *arg2 = 0 ;
3577
3717
  FXSelector arg3 ;
3578
- void *arg4 = (void *) 0 ;
3718
+ void *arg4 = 0 ;
3579
3719
  void *argp1 = 0 ;
3580
3720
  int res1 = 0 ;
3581
3721
  void *argp2 = 0 ;
@@ -3608,10 +3748,10 @@ fail:
3608
3748
 
3609
3749
  SWIGINTERN VALUE
3610
3750
  _wrap_FXScintilla_onDNDLeave(int argc, VALUE *argv, VALUE self) {
3611
- FXScintilla *arg1 = (FXScintilla *) 0 ;
3612
- FXObject *arg2 = (FXObject *) 0 ;
3751
+ FXScintilla *arg1 = 0 ;
3752
+ FXObject *arg2 = 0 ;
3613
3753
  FXSelector arg3 ;
3614
- void *arg4 = (void *) 0 ;
3754
+ void *arg4 = 0 ;
3615
3755
  void *argp1 = 0 ;
3616
3756
  int res1 = 0 ;
3617
3757
  void *argp2 = 0 ;
@@ -3644,10 +3784,10 @@ fail:
3644
3784
 
3645
3785
  SWIGINTERN VALUE
3646
3786
  _wrap_FXScintilla_onDNDMotion(int argc, VALUE *argv, VALUE self) {
3647
- FXScintilla *arg1 = (FXScintilla *) 0 ;
3648
- FXObject *arg2 = (FXObject *) 0 ;
3787
+ FXScintilla *arg1 = 0 ;
3788
+ FXObject *arg2 = 0 ;
3649
3789
  FXSelector arg3 ;
3650
- void *arg4 = (void *) 0 ;
3790
+ void *arg4 = 0 ;
3651
3791
  void *argp1 = 0 ;
3652
3792
  int res1 = 0 ;
3653
3793
  void *argp2 = 0 ;
@@ -3680,10 +3820,10 @@ fail:
3680
3820
 
3681
3821
  SWIGINTERN VALUE
3682
3822
  _wrap_FXScintilla_onDNDDrop(int argc, VALUE *argv, VALUE self) {
3683
- FXScintilla *arg1 = (FXScintilla *) 0 ;
3684
- FXObject *arg2 = (FXObject *) 0 ;
3823
+ FXScintilla *arg1 = 0 ;
3824
+ FXObject *arg2 = 0 ;
3685
3825
  FXSelector arg3 ;
3686
- void *arg4 = (void *) 0 ;
3826
+ void *arg4 = 0 ;
3687
3827
  void *argp1 = 0 ;
3688
3828
  int res1 = 0 ;
3689
3829
  void *argp2 = 0 ;
@@ -3716,10 +3856,10 @@ fail:
3716
3856
 
3717
3857
  SWIGINTERN VALUE
3718
3858
  _wrap_FXScintilla_onDNDRequest(int argc, VALUE *argv, VALUE self) {
3719
- FXScintilla *arg1 = (FXScintilla *) 0 ;
3720
- FXObject *arg2 = (FXObject *) 0 ;
3859
+ FXScintilla *arg1 = 0 ;
3860
+ FXObject *arg2 = 0 ;
3721
3861
  FXSelector arg3 ;
3722
- void *arg4 = (void *) 0 ;
3862
+ void *arg4 = 0 ;
3723
3863
  void *argp1 = 0 ;
3724
3864
  int res1 = 0 ;
3725
3865
  void *argp2 = 0 ;
@@ -3752,10 +3892,10 @@ fail:
3752
3892
 
3753
3893
  SWIGINTERN VALUE
3754
3894
  _wrap_FXScintilla_onSelectionLost(int argc, VALUE *argv, VALUE self) {
3755
- FXScintilla *arg1 = (FXScintilla *) 0 ;
3756
- FXObject *arg2 = (FXObject *) 0 ;
3895
+ FXScintilla *arg1 = 0 ;
3896
+ FXObject *arg2 = 0 ;
3757
3897
  FXSelector arg3 ;
3758
- void *arg4 = (void *) 0 ;
3898
+ void *arg4 = 0 ;
3759
3899
  void *argp1 = 0 ;
3760
3900
  int res1 = 0 ;
3761
3901
  void *argp2 = 0 ;
@@ -3788,10 +3928,10 @@ fail:
3788
3928
 
3789
3929
  SWIGINTERN VALUE
3790
3930
  _wrap_FXScintilla_onSelectionRequest(int argc, VALUE *argv, VALUE self) {
3791
- FXScintilla *arg1 = (FXScintilla *) 0 ;
3792
- FXObject *arg2 = (FXObject *) 0 ;
3931
+ FXScintilla *arg1 = 0 ;
3932
+ FXObject *arg2 = 0 ;
3793
3933
  FXSelector arg3 ;
3794
- void *arg4 = (void *) 0 ;
3934
+ void *arg4 = 0 ;
3795
3935
  void *argp1 = 0 ;
3796
3936
  int res1 = 0 ;
3797
3937
  void *argp2 = 0 ;
@@ -3824,10 +3964,10 @@ fail:
3824
3964
 
3825
3965
  SWIGINTERN VALUE
3826
3966
  _wrap_FXScintilla_onClipboardLost(int argc, VALUE *argv, VALUE self) {
3827
- FXScintilla *arg1 = (FXScintilla *) 0 ;
3828
- FXObject *arg2 = (FXObject *) 0 ;
3967
+ FXScintilla *arg1 = 0 ;
3968
+ FXObject *arg2 = 0 ;
3829
3969
  FXSelector arg3 ;
3830
- void *arg4 = (void *) 0 ;
3970
+ void *arg4 = 0 ;
3831
3971
  void *argp1 = 0 ;
3832
3972
  int res1 = 0 ;
3833
3973
  void *argp2 = 0 ;
@@ -3860,10 +4000,10 @@ fail:
3860
4000
 
3861
4001
  SWIGINTERN VALUE
3862
4002
  _wrap_FXScintilla_onClipboardRequest(int argc, VALUE *argv, VALUE self) {
3863
- FXScintilla *arg1 = (FXScintilla *) 0 ;
3864
- FXObject *arg2 = (FXObject *) 0 ;
4003
+ FXScintilla *arg1 = 0 ;
4004
+ FXObject *arg2 = 0 ;
3865
4005
  FXSelector arg3 ;
3866
- void *arg4 = (void *) 0 ;
4006
+ void *arg4 = 0 ;
3867
4007
  void *argp1 = 0 ;
3868
4008
  int res1 = 0 ;
3869
4009
  void *argp2 = 0 ;
@@ -3896,10 +4036,10 @@ fail:
3896
4036
 
3897
4037
  SWIGINTERN VALUE
3898
4038
  _wrap_FXScintilla_onKeyPress(int argc, VALUE *argv, VALUE self) {
3899
- FXScintilla *arg1 = (FXScintilla *) 0 ;
3900
- FXObject *arg2 = (FXObject *) 0 ;
4039
+ FXScintilla *arg1 = 0 ;
4040
+ FXObject *arg2 = 0 ;
3901
4041
  FXSelector arg3 ;
3902
- void *arg4 = (void *) 0 ;
4042
+ void *arg4 = 0 ;
3903
4043
  void *argp1 = 0 ;
3904
4044
  int res1 = 0 ;
3905
4045
  void *argp2 = 0 ;
@@ -3947,14 +4087,14 @@ _wrap_FXScintilla_allocate(int argc, VALUE *argv, VALUE self)
3947
4087
 
3948
4088
  SWIGINTERN VALUE
3949
4089
  _wrap_new_FXScintilla(int argc, VALUE *argv, VALUE self) {
3950
- FXComposite *arg1 = (FXComposite *) 0 ;
3951
- FXObject *arg2 = (FXObject *) 0 ;
3952
- FXSelector arg3 = (FXSelector) 0 ;
3953
- FXuint arg4 = (FXuint) 0 ;
3954
- FXint arg5 = (FXint) 0 ;
3955
- FXint arg6 = (FXint) 0 ;
3956
- FXint arg7 = (FXint) 0 ;
3957
- FXint arg8 = (FXint) 0 ;
4090
+ FXComposite *arg1 = 0 ;
4091
+ FXObject *arg2 = 0 ;
4092
+ FXSelector arg3 = 0 ;
4093
+ FXuint arg4 = 0 ;
4094
+ FXint arg5 = 0 ;
4095
+ FXint arg6 = 0 ;
4096
+ FXint arg7 = 0 ;
4097
+ FXint arg8 = 0 ;
3958
4098
  void *argp1 = 0 ;
3959
4099
  int res1 = 0 ;
3960
4100
  void *argp2 = 0 ;
@@ -3996,12 +4136,12 @@ _wrap_new_FXScintilla(int argc, VALUE *argv, VALUE self) {
3996
4136
  }
3997
4137
  {
3998
4138
  if (!arg1) {
3999
- SWIG_exception(SWIG_ValueError,"Received a NULL pointer.");
4139
+ SWIG_exception(SWIG_NullReferenceError,"Received a NULL pointer.");
4000
4140
  }
4001
4141
  }
4002
4142
  {
4003
4143
  result = (FXScintilla *)new_FXScintilla(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8);
4004
- DATA_PTR(self) = result; FXRbRegisterRubyObj(self, result);
4144
+ ((struct ruby_wrapped_object *)RTYPEDDATA_GET_DATA(self))->data = result; FXRbRegisterRubyObj(self, result);
4005
4145
  if(rb_block_given_p()){
4006
4146
  rb_yield(self);
4007
4147
  }
@@ -4014,7 +4154,7 @@ fail:
4014
4154
 
4015
4155
  SWIGINTERN VALUE
4016
4156
  _wrap_FXScintilla_setScintillaID(int argc, VALUE *argv, VALUE self) {
4017
- FXScintilla *arg1 = (FXScintilla *) 0 ;
4157
+ FXScintilla *arg1 = 0 ;
4018
4158
  int arg2 ;
4019
4159
  void *argp1 = 0 ;
4020
4160
  int res1 = 0 ;
@@ -4043,10 +4183,10 @@ fail:
4043
4183
 
4044
4184
  SWIGINTERN VALUE
4045
4185
  _wrap_FXScintilla_sendMessage(int argc, VALUE *argv, VALUE self) {
4046
- FXScintilla *arg1 = (FXScintilla *) 0 ;
4186
+ FXScintilla *arg1 = 0 ;
4047
4187
  unsigned int arg2 ;
4048
- VALUE arg3 = (VALUE) Qnil ;
4049
- VALUE arg4 = (VALUE) Qnil ;
4188
+ VALUE arg3 = Qnil ;
4189
+ VALUE arg4 = Qnil ;
4050
4190
  void *argp1 = 0 ;
4051
4191
  int res1 = 0 ;
4052
4192
  unsigned int val2 ;
@@ -4083,7 +4223,7 @@ fail:
4083
4223
 
4084
4224
  SWIGINTERN VALUE
4085
4225
  _wrap_FXScintilla_save(int argc, VALUE *argv, VALUE self) {
4086
- FXScintilla *arg1 = (FXScintilla *) 0 ;
4226
+ FXScintilla *arg1 = 0 ;
4087
4227
  FXStream *arg2 = 0 ;
4088
4228
  void *argp1 = 0 ;
4089
4229
  int res1 = 0 ;
@@ -4103,7 +4243,7 @@ _wrap_FXScintilla_save(int argc, VALUE *argv, VALUE self) {
4103
4243
  SWIG_exception_fail(SWIG_ArgError(res2), Ruby_Format_TypeError( "", "FXStream &","save", 2, argv[0] ));
4104
4244
  }
4105
4245
  if (!argp2) {
4106
- SWIG_exception_fail(SWIG_ValueError, Ruby_Format_TypeError("invalid null reference ", "FXStream &","save", 2, argv[0]));
4246
+ SWIG_exception_fail(SWIG_NullReferenceError, Ruby_Format_TypeError("invalid null reference ", "FXStream &","save", 2, argv[0]));
4107
4247
  }
4108
4248
  arg2 = reinterpret_cast< FXStream * >(argp2);
4109
4249
  FXScintilla_save((FXScintilla const *)arg1,*arg2);
@@ -4115,7 +4255,7 @@ fail:
4115
4255
 
4116
4256
  SWIGINTERN VALUE
4117
4257
  _wrap_FXScintilla_load(int argc, VALUE *argv, VALUE self) {
4118
- FXScintilla *arg1 = (FXScintilla *) 0 ;
4258
+ FXScintilla *arg1 = 0 ;
4119
4259
  FXStream *arg2 = 0 ;
4120
4260
  void *argp1 = 0 ;
4121
4261
  int res1 = 0 ;
@@ -4135,7 +4275,7 @@ _wrap_FXScintilla_load(int argc, VALUE *argv, VALUE self) {
4135
4275
  SWIG_exception_fail(SWIG_ArgError(res2), Ruby_Format_TypeError( "", "FXStream &","load", 2, argv[0] ));
4136
4276
  }
4137
4277
  if (!argp2) {
4138
- SWIG_exception_fail(SWIG_ValueError, Ruby_Format_TypeError("invalid null reference ", "FXStream &","load", 2, argv[0]));
4278
+ SWIG_exception_fail(SWIG_NullReferenceError, Ruby_Format_TypeError("invalid null reference ", "FXStream &","load", 2, argv[0]));
4139
4279
  }
4140
4280
  arg2 = reinterpret_cast< FXStream * >(argp2);
4141
4281
  FXScintilla_load(arg1,*arg2);
@@ -4147,7 +4287,7 @@ fail:
4147
4287
 
4148
4288
  SWIGINTERN VALUE
4149
4289
  _wrap_FXScintilla_create(int argc, VALUE *argv, VALUE self) {
4150
- FXScintilla *arg1 = (FXScintilla *) 0 ;
4290
+ FXScintilla *arg1 = 0 ;
4151
4291
  void *argp1 = 0 ;
4152
4292
  int res1 = 0 ;
4153
4293
 
@@ -4168,7 +4308,7 @@ fail:
4168
4308
 
4169
4309
  SWIGINTERN VALUE
4170
4310
  _wrap_FXScintilla_detach(int argc, VALUE *argv, VALUE self) {
4171
- FXScintilla *arg1 = (FXScintilla *) 0 ;
4311
+ FXScintilla *arg1 = 0 ;
4172
4312
  void *argp1 = 0 ;
4173
4313
  int res1 = 0 ;
4174
4314
 
@@ -4189,7 +4329,7 @@ fail:
4189
4329
 
4190
4330
  SWIGINTERN VALUE
4191
4331
  _wrap_FXScintilla_destroy(int argc, VALUE *argv, VALUE self) {
4192
- FXScintilla *arg1 = (FXScintilla *) 0 ;
4332
+ FXScintilla *arg1 = 0 ;
4193
4333
  void *argp1 = 0 ;
4194
4334
  int res1 = 0 ;
4195
4335
 
@@ -4210,7 +4350,7 @@ fail:
4210
4350
 
4211
4351
  SWIGINTERN VALUE
4212
4352
  _wrap_FXScintilla_resize(int argc, VALUE *argv, VALUE self) {
4213
- FXScintilla *arg1 = (FXScintilla *) 0 ;
4353
+ FXScintilla *arg1 = 0 ;
4214
4354
  FXint arg2 ;
4215
4355
  FXint arg3 ;
4216
4356
  void *argp1 = 0 ;
@@ -4235,7 +4375,7 @@ fail:
4235
4375
 
4236
4376
  SWIGINTERN VALUE
4237
4377
  _wrap_FXScintilla_getDefaultWidth(int argc, VALUE *argv, VALUE self) {
4238
- FXScintilla *arg1 = (FXScintilla *) 0 ;
4378
+ FXScintilla *arg1 = 0 ;
4239
4379
  void *argp1 = 0 ;
4240
4380
  int res1 = 0 ;
4241
4381
  FXint result;
@@ -4259,7 +4399,7 @@ fail:
4259
4399
 
4260
4400
  SWIGINTERN VALUE
4261
4401
  _wrap_FXScintilla_getDefaultHeight(int argc, VALUE *argv, VALUE self) {
4262
- FXScintilla *arg1 = (FXScintilla *) 0 ;
4402
+ FXScintilla *arg1 = 0 ;
4263
4403
  void *argp1 = 0 ;
4264
4404
  int res1 = 0 ;
4265
4405
  FXint result;
@@ -4283,7 +4423,7 @@ fail:
4283
4423
 
4284
4424
  SWIGINTERN VALUE
4285
4425
  _wrap_FXScintilla_getWidthForHeight(int argc, VALUE *argv, VALUE self) {
4286
- FXScintilla *arg1 = (FXScintilla *) 0 ;
4426
+ FXScintilla *arg1 = 0 ;
4287
4427
  FXint arg2 ;
4288
4428
  void *argp1 = 0 ;
4289
4429
  int res1 = 0 ;
@@ -4309,7 +4449,7 @@ fail:
4309
4449
 
4310
4450
  SWIGINTERN VALUE
4311
4451
  _wrap_FXScintilla_getHeightForWidth(int argc, VALUE *argv, VALUE self) {
4312
- FXScintilla *arg1 = (FXScintilla *) 0 ;
4452
+ FXScintilla *arg1 = 0 ;
4313
4453
  FXint arg2 ;
4314
4454
  void *argp1 = 0 ;
4315
4455
  int res1 = 0 ;
@@ -4335,7 +4475,7 @@ fail:
4335
4475
 
4336
4476
  SWIGINTERN VALUE
4337
4477
  _wrap_FXScintilla_canFocus(int argc, VALUE *argv, VALUE self) {
4338
- FXScintilla *arg1 = (FXScintilla *) 0 ;
4478
+ FXScintilla *arg1 = 0 ;
4339
4479
  void *argp1 = 0 ;
4340
4480
  int res1 = 0 ;
4341
4481
  bool result;
@@ -4359,7 +4499,7 @@ fail:
4359
4499
 
4360
4500
  SWIGINTERN VALUE
4361
4501
  _wrap_FXScintilla_setFocus(int argc, VALUE *argv, VALUE self) {
4362
- FXScintilla *arg1 = (FXScintilla *) 0 ;
4502
+ FXScintilla *arg1 = 0 ;
4363
4503
  void *argp1 = 0 ;
4364
4504
  int res1 = 0 ;
4365
4505
 
@@ -4380,7 +4520,7 @@ fail:
4380
4520
 
4381
4521
  SWIGINTERN VALUE
4382
4522
  _wrap_FXScintilla_killFocus(int argc, VALUE *argv, VALUE self) {
4383
- FXScintilla *arg1 = (FXScintilla *) 0 ;
4523
+ FXScintilla *arg1 = 0 ;
4384
4524
  void *argp1 = 0 ;
4385
4525
  int res1 = 0 ;
4386
4526
 
@@ -4401,8 +4541,8 @@ fail:
4401
4541
 
4402
4542
  SWIGINTERN VALUE
4403
4543
  _wrap_FXScintilla_changeFocus(int argc, VALUE *argv, VALUE self) {
4404
- FXScintilla *arg1 = (FXScintilla *) 0 ;
4405
- FXWindow *arg2 = (FXWindow *) 0 ;
4544
+ FXScintilla *arg1 = 0 ;
4545
+ FXWindow *arg2 = 0 ;
4406
4546
  void *argp1 = 0 ;
4407
4547
  int res1 = 0 ;
4408
4548
  void *argp2 = 0 ;
@@ -4430,8 +4570,8 @@ fail:
4430
4570
 
4431
4571
  SWIGINTERN VALUE
4432
4572
  _wrap_FXScintilla_setDefault(int argc, VALUE *argv, VALUE self) {
4433
- FXScintilla *arg1 = (FXScintilla *) 0 ;
4434
- FXbool arg2 = (FXbool) 1 ;
4573
+ FXScintilla *arg1 = 0 ;
4574
+ FXbool arg2 = 1 ;
4435
4575
  void *argp1 = 0 ;
4436
4576
  int res1 = 0 ;
4437
4577
 
@@ -4455,7 +4595,7 @@ fail:
4455
4595
 
4456
4596
  SWIGINTERN VALUE
4457
4597
  _wrap_FXScintilla_enable(int argc, VALUE *argv, VALUE self) {
4458
- FXScintilla *arg1 = (FXScintilla *) 0 ;
4598
+ FXScintilla *arg1 = 0 ;
4459
4599
  void *argp1 = 0 ;
4460
4600
  int res1 = 0 ;
4461
4601
 
@@ -4476,7 +4616,7 @@ fail:
4476
4616
 
4477
4617
  SWIGINTERN VALUE
4478
4618
  _wrap_FXScintilla_disable(int argc, VALUE *argv, VALUE self) {
4479
- FXScintilla *arg1 = (FXScintilla *) 0 ;
4619
+ FXScintilla *arg1 = 0 ;
4480
4620
  void *argp1 = 0 ;
4481
4621
  int res1 = 0 ;
4482
4622
 
@@ -4497,7 +4637,7 @@ fail:
4497
4637
 
4498
4638
  SWIGINTERN VALUE
4499
4639
  _wrap_FXScintilla_raiseWindow(int argc, VALUE *argv, VALUE self) {
4500
- FXScintilla *arg1 = (FXScintilla *) 0 ;
4640
+ FXScintilla *arg1 = 0 ;
4501
4641
  void *argp1 = 0 ;
4502
4642
  int res1 = 0 ;
4503
4643
 
@@ -4518,7 +4658,7 @@ fail:
4518
4658
 
4519
4659
  SWIGINTERN VALUE
4520
4660
  _wrap_FXScintilla_lower(int argc, VALUE *argv, VALUE self) {
4521
- FXScintilla *arg1 = (FXScintilla *) 0 ;
4661
+ FXScintilla *arg1 = 0 ;
4522
4662
  void *argp1 = 0 ;
4523
4663
  int res1 = 0 ;
4524
4664
 
@@ -4539,7 +4679,7 @@ fail:
4539
4679
 
4540
4680
  SWIGINTERN VALUE
4541
4681
  _wrap_FXScintilla_move(int argc, VALUE *argv, VALUE self) {
4542
- FXScintilla *arg1 = (FXScintilla *) 0 ;
4682
+ FXScintilla *arg1 = 0 ;
4543
4683
  FXint arg2 ;
4544
4684
  FXint arg3 ;
4545
4685
  void *argp1 = 0 ;
@@ -4564,7 +4704,7 @@ fail:
4564
4704
 
4565
4705
  SWIGINTERN VALUE
4566
4706
  _wrap_FXScintilla_position__SWIG_0(int argc, VALUE *argv, VALUE self) {
4567
- FXScintilla *arg1 = (FXScintilla *) 0 ;
4707
+ FXScintilla *arg1 = 0 ;
4568
4708
  FXint arg2 ;
4569
4709
  FXint arg3 ;
4570
4710
  FXint arg4 ;
@@ -4593,7 +4733,7 @@ fail:
4593
4733
 
4594
4734
  SWIGINTERN VALUE
4595
4735
  _wrap_FXScintilla_layout(int argc, VALUE *argv, VALUE self) {
4596
- FXScintilla *arg1 = (FXScintilla *) 0 ;
4736
+ FXScintilla *arg1 = 0 ;
4597
4737
  void *argp1 = 0 ;
4598
4738
  int res1 = 0 ;
4599
4739
 
@@ -4614,7 +4754,7 @@ fail:
4614
4754
 
4615
4755
  SWIGINTERN VALUE
4616
4756
  _wrap_FXScintilla_recalc(int argc, VALUE *argv, VALUE self) {
4617
- FXScintilla *arg1 = (FXScintilla *) 0 ;
4757
+ FXScintilla *arg1 = 0 ;
4618
4758
  void *argp1 = 0 ;
4619
4759
  int res1 = 0 ;
4620
4760
 
@@ -4635,9 +4775,9 @@ fail:
4635
4775
 
4636
4776
  SWIGINTERN VALUE
4637
4777
  _wrap_FXScintilla_reparent(int argc, VALUE *argv, VALUE self) {
4638
- FXScintilla *arg1 = (FXScintilla *) 0 ;
4639
- FXWindow *arg2 = (FXWindow *) 0 ;
4640
- FXWindow *arg3 = (FXWindow *) 0 ;
4778
+ FXScintilla *arg1 = 0 ;
4779
+ FXWindow *arg2 = 0 ;
4780
+ FXWindow *arg3 = 0 ;
4641
4781
  void *argp1 = 0 ;
4642
4782
  int res1 = 0 ;
4643
4783
  void *argp2 = 0 ;
@@ -4672,7 +4812,7 @@ fail:
4672
4812
 
4673
4813
  SWIGINTERN VALUE
4674
4814
  _wrap_FXScintilla_show(int argc, VALUE *argv, VALUE self) {
4675
- FXScintilla *arg1 = (FXScintilla *) 0 ;
4815
+ FXScintilla *arg1 = 0 ;
4676
4816
  void *argp1 = 0 ;
4677
4817
  int res1 = 0 ;
4678
4818
 
@@ -4693,7 +4833,7 @@ fail:
4693
4833
 
4694
4834
  SWIGINTERN VALUE
4695
4835
  _wrap_FXScintilla_hide(int argc, VALUE *argv, VALUE self) {
4696
- FXScintilla *arg1 = (FXScintilla *) 0 ;
4836
+ FXScintilla *arg1 = 0 ;
4697
4837
  void *argp1 = 0 ;
4698
4838
  int res1 = 0 ;
4699
4839
 
@@ -4714,7 +4854,7 @@ fail:
4714
4854
 
4715
4855
  SWIGINTERN VALUE
4716
4856
  _wrap_FXScintilla_isComposite(int argc, VALUE *argv, VALUE self) {
4717
- FXScintilla *arg1 = (FXScintilla *) 0 ;
4857
+ FXScintilla *arg1 = 0 ;
4718
4858
  void *argp1 = 0 ;
4719
4859
  int res1 = 0 ;
4720
4860
  bool result;
@@ -4738,7 +4878,7 @@ fail:
4738
4878
 
4739
4879
  SWIGINTERN VALUE
4740
4880
  _wrap_FXScintilla_contains(int argc, VALUE *argv, VALUE self) {
4741
- FXScintilla *arg1 = (FXScintilla *) 0 ;
4881
+ FXScintilla *arg1 = 0 ;
4742
4882
  FXint arg2 ;
4743
4883
  FXint arg3 ;
4744
4884
  void *argp1 = 0 ;
@@ -4766,7 +4906,7 @@ fail:
4766
4906
 
4767
4907
  SWIGINTERN VALUE
4768
4908
  _wrap_FXScintilla_doesSaveUnder(int argc, VALUE *argv, VALUE self) {
4769
- FXScintilla *arg1 = (FXScintilla *) 0 ;
4909
+ FXScintilla *arg1 = 0 ;
4770
4910
  void *argp1 = 0 ;
4771
4911
  int res1 = 0 ;
4772
4912
  bool result;
@@ -4790,7 +4930,7 @@ fail:
4790
4930
 
4791
4931
  SWIGINTERN VALUE
4792
4932
  _wrap_FXScintilla_setBackColor(int argc, VALUE *argv, VALUE self) {
4793
- FXScintilla *arg1 = (FXScintilla *) 0 ;
4933
+ FXScintilla *arg1 = 0 ;
4794
4934
  FXColor arg2 ;
4795
4935
  void *argp1 = 0 ;
4796
4936
  int res1 = 0 ;
@@ -4813,9 +4953,9 @@ fail:
4813
4953
 
4814
4954
  SWIGINTERN VALUE
4815
4955
  _wrap_FXScintilla_tr(int argc, VALUE *argv, VALUE self) {
4816
- FXScintilla *arg1 = (FXScintilla *) 0 ;
4817
- FXchar *arg2 = (FXchar *) 0 ;
4818
- FXchar *arg3 = (FXchar *) 0 ;
4956
+ FXScintilla *arg1 = 0 ;
4957
+ FXchar *arg2 = 0 ;
4958
+ FXchar *arg3 = 0 ;
4819
4959
  void *argp1 = 0 ;
4820
4960
  int res1 = 0 ;
4821
4961
  FXchar *result = 0 ;
@@ -4843,7 +4983,7 @@ fail:
4843
4983
 
4844
4984
  SWIGINTERN VALUE
4845
4985
  _wrap_FXScintilla_dropEnable(int argc, VALUE *argv, VALUE self) {
4846
- FXScintilla *arg1 = (FXScintilla *) 0 ;
4986
+ FXScintilla *arg1 = 0 ;
4847
4987
  void *argp1 = 0 ;
4848
4988
  int res1 = 0 ;
4849
4989
 
@@ -4864,7 +5004,7 @@ fail:
4864
5004
 
4865
5005
  SWIGINTERN VALUE
4866
5006
  _wrap_FXScintilla_dropDisable(int argc, VALUE *argv, VALUE self) {
4867
- FXScintilla *arg1 = (FXScintilla *) 0 ;
5007
+ FXScintilla *arg1 = 0 ;
4868
5008
  void *argp1 = 0 ;
4869
5009
  int res1 = 0 ;
4870
5010
 
@@ -4885,7 +5025,7 @@ fail:
4885
5025
 
4886
5026
  SWIGINTERN VALUE
4887
5027
  _wrap_FXScintilla_setShape__SWIG_0(int argc, VALUE *argv, VALUE self) {
4888
- FXScintilla *arg1 = (FXScintilla *) 0 ;
5028
+ FXScintilla *arg1 = 0 ;
4889
5029
  FXRegion *arg2 = 0 ;
4890
5030
  void *argp1 = 0 ;
4891
5031
  int res1 = 0 ;
@@ -4905,7 +5045,7 @@ _wrap_FXScintilla_setShape__SWIG_0(int argc, VALUE *argv, VALUE self) {
4905
5045
  SWIG_exception_fail(SWIG_ArgError(res2), Ruby_Format_TypeError( "", "FXRegion const &","setShape", 2, argv[0] ));
4906
5046
  }
4907
5047
  if (!argp2) {
4908
- SWIG_exception_fail(SWIG_ValueError, Ruby_Format_TypeError("invalid null reference ", "FXRegion const &","setShape", 2, argv[0]));
5048
+ SWIG_exception_fail(SWIG_NullReferenceError, Ruby_Format_TypeError("invalid null reference ", "FXRegion const &","setShape", 2, argv[0]));
4909
5049
  }
4910
5050
  arg2 = reinterpret_cast< FXRegion * >(argp2);
4911
5051
  FXScintilla_setShape(arg1,(FXRegion const &)*arg2);
@@ -4917,8 +5057,8 @@ fail:
4917
5057
 
4918
5058
  SWIGINTERN VALUE
4919
5059
  _wrap_FXScintilla_setShape__SWIG_1(int argc, VALUE *argv, VALUE self) {
4920
- FXScintilla *arg1 = (FXScintilla *) 0 ;
4921
- FXBitmap *arg2 = (FXBitmap *) 0 ;
5060
+ FXScintilla *arg1 = 0 ;
5061
+ FXBitmap *arg2 = 0 ;
4922
5062
  void *argp1 = 0 ;
4923
5063
  int res1 = 0 ;
4924
5064
  void *argp2 = 0 ;
@@ -4946,8 +5086,8 @@ fail:
4946
5086
 
4947
5087
  SWIGINTERN VALUE
4948
5088
  _wrap_FXScintilla_setShape__SWIG_2(int argc, VALUE *argv, VALUE self) {
4949
- FXScintilla *arg1 = (FXScintilla *) 0 ;
4950
- FXIcon *arg2 = (FXIcon *) 0 ;
5089
+ FXScintilla *arg1 = 0 ;
5090
+ FXIcon *arg2 = 0 ;
4951
5091
  void *argp1 = 0 ;
4952
5092
  int res1 = 0 ;
4953
5093
  void *argp2 = 0 ;
@@ -5039,7 +5179,7 @@ fail:
5039
5179
 
5040
5180
  SWIGINTERN VALUE
5041
5181
  _wrap_FXScintilla_clearShape(int argc, VALUE *argv, VALUE self) {
5042
- FXScintilla *arg1 = (FXScintilla *) 0 ;
5182
+ FXScintilla *arg1 = 0 ;
5043
5183
  void *argp1 = 0 ;
5044
5184
  int res1 = 0 ;
5045
5185
 
@@ -5060,7 +5200,7 @@ fail:
5060
5200
 
5061
5201
  SWIGINTERN VALUE
5062
5202
  _wrap_FXScintilla_getViewportHeight(int argc, VALUE *argv, VALUE self) {
5063
- FXScintilla *arg1 = (FXScintilla *) 0 ;
5203
+ FXScintilla *arg1 = 0 ;
5064
5204
  void *argp1 = 0 ;
5065
5205
  int res1 = 0 ;
5066
5206
  FXint result;
@@ -5084,7 +5224,7 @@ fail:
5084
5224
 
5085
5225
  SWIGINTERN VALUE
5086
5226
  _wrap_FXScintilla_getViewportWidth(int argc, VALUE *argv, VALUE self) {
5087
- FXScintilla *arg1 = (FXScintilla *) 0 ;
5227
+ FXScintilla *arg1 = 0 ;
5088
5228
  void *argp1 = 0 ;
5089
5229
  int res1 = 0 ;
5090
5230
  FXint result;
@@ -5108,7 +5248,7 @@ fail:
5108
5248
 
5109
5249
  SWIGINTERN VALUE
5110
5250
  _wrap_FXScintilla_getContentHeight(int argc, VALUE *argv, VALUE self) {
5111
- FXScintilla *arg1 = (FXScintilla *) 0 ;
5251
+ FXScintilla *arg1 = 0 ;
5112
5252
  void *argp1 = 0 ;
5113
5253
  int res1 = 0 ;
5114
5254
  FXint result;
@@ -5132,7 +5272,7 @@ fail:
5132
5272
 
5133
5273
  SWIGINTERN VALUE
5134
5274
  _wrap_FXScintilla_getContentWidth(int argc, VALUE *argv, VALUE self) {
5135
- FXScintilla *arg1 = (FXScintilla *) 0 ;
5275
+ FXScintilla *arg1 = 0 ;
5136
5276
  void *argp1 = 0 ;
5137
5277
  int res1 = 0 ;
5138
5278
  FXint result;
@@ -5156,7 +5296,7 @@ fail:
5156
5296
 
5157
5297
  SWIGINTERN VALUE
5158
5298
  _wrap_FXScintilla_position__SWIG_1(int argc, VALUE *argv, VALUE self) {
5159
- FXScintilla *arg1 = (FXScintilla *) 0 ;
5299
+ FXScintilla *arg1 = 0 ;
5160
5300
  void *argp1 = 0 ;
5161
5301
  int res1 = 0 ;
5162
5302
  VALUE result;
@@ -6811,7 +6951,7 @@ static swig_cast_info *swig_cast_initial[] = {
6811
6951
 
6812
6952
  /* -----------------------------------------------------------------------------
6813
6953
  * Type initialization:
6814
- * This problem is tough by the requirement that no dynamic
6954
+ * This problem is made tough by the requirement that no dynamic
6815
6955
  * memory is used. Also, since swig_type_info structures store pointers to
6816
6956
  * swig_cast_info structures and swig_cast_info structures store pointers back
6817
6957
  * to swig_type_info structures, we need some lookup code at initialization.
@@ -6826,15 +6966,20 @@ static swig_cast_info *swig_cast_initial[] = {
6826
6966
  * array. We just loop through that array, and handle each type individually.
6827
6967
  * First we lookup if this type has been already loaded, and if so, use the
6828
6968
  * loaded structure instead of the generated one. Then we have to fill in the
6829
- * cast linked list. The cast data is initially stored in something like a
6969
+ * cast dependencies. The cast data is initially stored in something like a
6830
6970
  * two-dimensional array. Each row corresponds to a type (there are the same
6831
6971
  * number of rows as there are in the swig_type_initial array). Each entry in
6832
6972
  * a column is one of the swig_cast_info structures for that type.
6833
6973
  * The cast_initial array is actually an array of arrays, because each row has
6834
- * a variable number of columns. So to actually build the cast linked list,
6835
- * we find the array of casts associated with the type, and loop through it
6836
- * adding the casts to the list. The one last trick we need to do is making
6837
- * sure the type pointer in the swig_cast_info struct is correct.
6974
+ * a variable number of columns.
6975
+ *
6976
+ * We loop through the cast[] array associated with the type and mark casts
6977
+ * which have not been defined in previously loaded modules by assigning
6978
+ * cast pointer value to cast->next. We also hash cast->type->name string
6979
+ * and store the value in the cast->value field. If we encounter swig_cast_info
6980
+ * structure that represents a cast to self we move it to the beginning
6981
+ * of the cast array. One trick we need to do is making sure the type pointer
6982
+ * in the swig_cast_info struct is correct.
6838
6983
  *
6839
6984
  * First off, we lookup the cast->type name to see if it is already loaded.
6840
6985
  * There are three cases to handle:
@@ -6846,8 +6991,71 @@ static swig_cast_info *swig_cast_initial[] = {
6846
6991
  * cast->type) are loaded, THEN the cast info has already been loaded by
6847
6992
  * the previous module so we just ignore it.
6848
6993
  * 3) Finally, if cast->type has not already been loaded, then we add that
6849
- * swig_cast_info to the linked list (because the cast->type) pointer will
6994
+ * swig_cast_info to the list (because the cast->type) pointer will
6850
6995
  * be correct.
6996
+ *
6997
+ * Once the cast array has been set up AND it does have new casts that need
6998
+ * to be added we sort non-self cast entries to move filtered out entries
6999
+ * to the end of the array and to arrange the rest in the increasing order
7000
+ * of their type pointer values. We store the index of the last added entry
7001
+ * in the cast->value field of the entry[0] (overwriting the name hash). Then
7002
+ * we sort <next|value> fields of the remaining entries to arrange hash values
7003
+ * in the increasing order. This way cast->next->type->name field matches
7004
+ * the cast->value hash.
7005
+ *
7006
+ * Example:
7007
+ * Array of casts for type stored at 0x5000, cast to type stored at 0x3000
7008
+ * has already been loaded
7009
+ *
7010
+ * After sweep-and-hash: After sort-by-type: After sort-by-hash:
7011
+ * ________________ ________________ ________________
7012
+ * | | | | | |
7013
+ * Entry | type = 0x5000 | | type = 0x5000 | | type = 0x5000 |
7014
+ * 0 | | | | | |
7015
+ * | next = Entry0 | | next = Entry0 | | next = Entry0 |
7016
+ * | value = 1212 | | value = 3 | | value = 3 |
7017
+ * | | | | | |
7018
+ * |================| |================| |================|
7019
+ * | | | | | |
7020
+ * Entry | type = 0x2000 | | type = 0x1000 | | type = 0x1000 |
7021
+ * 1 | | | | | |
7022
+ * | next = Entry1 | | next = Entry1 | | next = Entry3 |
7023
+ * | value = 3434 | | value = 4545 | | value = 2323 |
7024
+ * |________________| |________________| |________________|
7025
+ * | | | | | |
7026
+ * Entry | type = 0x3000 | | type = 0x2000 | | type = 0x2000 |
7027
+ * 2 | | | | | |
7028
+ * | next = 0 | | next = Entry2 | | next = Entry2 |
7029
+ * | value = 0 | | value = 3434 | | value = 3434 |
7030
+ * |________________| |________________| |________________|
7031
+ * | | | | | |
7032
+ * Entry | type = 0x1000 | | type = 0x4000 | | type = 0x4000 |
7033
+ * 3 | | | | | |
7034
+ * | next = Entry3 | | next = Entry3 | | next = Entry1 |
7035
+ * | value = 4545 | | value = 2323 | | value = 4545 |
7036
+ * |________________| |________________| |________________|
7037
+ * | | | | | |
7038
+ * Entry | type = 0x4000 | | type = 0x3000 | | type = 0x3000 |
7039
+ * 4 | | | | | |
7040
+ * | next = Entry4 | | next = 0 | | next = 0 |
7041
+ * | value = 2323 | | value = 0 | | value = 0 |
7042
+ * |________________| |________________| |________________|
7043
+ *
7044
+ * Once the cast array has been initialized, we use cast[0]->next field to link
7045
+ * it into the list of cast arrays for the type.
7046
+ * ____ ____ ____
7047
+ * type->cast->|next|->|next|->|next|->0
7048
+ * |----| |----| |----|
7049
+ * |----| |----| |----|
7050
+ * |----| |----| |----|
7051
+ *
7052
+ * Subsequent cast resolution works as follows:
7053
+ *
7054
+ * 1. Check whether the type matches the first entry in the current cast array.
7055
+ * 2. If not, then do a binary search over the (0:cast->value] interval using
7056
+ * either type address or the hash value of the type name.
7057
+ * 3. If not found, then move over to the next cast array (cast[0]->next).
7058
+ *
6851
7059
  * ----------------------------------------------------------------------------- */
6852
7060
 
6853
7061
  #ifdef __cplusplus
@@ -6865,6 +7073,46 @@ extern "C" {
6865
7073
  #define SWIG_INIT_CLIENT_DATA_TYPE void *
6866
7074
  #endif
6867
7075
 
7076
+ /*
7077
+ * Sort function that puts cast entries with nonzero 'next' at the front
7078
+ * of the array while ordering them by addresses of their 'type' structs.
7079
+ */
7080
+ SWIGINTERN int SWIG_CastCmpStruct(const void *pa, const void *pb) {
7081
+ swig_cast_info *pca = (swig_cast_info *)pa;
7082
+ swig_cast_info *pcb = (swig_cast_info *)pb;
7083
+ if (pca->type < pcb->type)
7084
+ return (pca->next || pcb->next == 0) ? -1 : 1;
7085
+ if (pca->type > pcb->type)
7086
+ return (pcb->next || pca->next == 0) ? 1 : -1;
7087
+ return 0;
7088
+ }
7089
+
7090
+ /*
7091
+ * Shell-sort 'next' and 'value' field pairs to order them by 'value'.
7092
+ */
7093
+ SWIGINTERN void SWIG_CastHashSort(swig_cast_info *cast, int size) {
7094
+ const int hmax = size/9;
7095
+ int h, i;
7096
+ for(h = 1; h <= hmax; h = 3*h+1);
7097
+ for(; h > 0; h /= 3)
7098
+ {
7099
+ for(i = h; i < size; ++i)
7100
+ {
7101
+ swig_cast_info *p = cast[i].next;
7102
+ unsigned int hash = cast[i].value;
7103
+ int j = i;
7104
+ while(j >= h && hash < cast[j-h].value)
7105
+ {
7106
+ cast[j].next = cast[j-h].next;
7107
+ cast[j].value = cast[j-h].value;
7108
+ j -= h;
7109
+ }
7110
+ cast[j].next = p;
7111
+ cast[j].value = hash;
7112
+ }
7113
+ }
7114
+ }
7115
+
6868
7116
  SWIGRUNTIME void
6869
7117
  SWIG_InitializeModule(SWIG_INIT_CLIENT_DATA_TYPE clientdata) {
6870
7118
  size_t i;
@@ -6916,8 +7164,9 @@ SWIG_InitializeModule(SWIG_INIT_CLIENT_DATA_TYPE clientdata) {
6916
7164
  #endif
6917
7165
  for (i = 0; i < swig_module.size; ++i) {
6918
7166
  swig_type_info *type = 0;
6919
- swig_type_info *ret;
6920
- swig_cast_info *cast;
7167
+ swig_type_info *target_type;
7168
+ swig_cast_info *cast, *first;
7169
+ int num_mapped = 0;
6921
7170
 
6922
7171
  #ifdef SWIGRUNTIME_DEBUG
6923
7172
  printf("SWIG_InitializeModule: type %lu %s\n", (unsigned long)i, swig_module.type_initial[i]->name);
@@ -6943,49 +7192,107 @@ SWIG_InitializeModule(SWIG_INIT_CLIENT_DATA_TYPE clientdata) {
6943
7192
  }
6944
7193
 
6945
7194
  /* Insert casting types */
6946
- cast = swig_module.cast_initial[i];
7195
+ cast = first = swig_module.cast_initial[i];
6947
7196
  while (cast->type) {
6948
7197
 
6949
7198
  /* Don't need to add information already in the list */
6950
- ret = 0;
7199
+ target_type = 0;
6951
7200
  #ifdef SWIGRUNTIME_DEBUG
6952
7201
  printf("SWIG_InitializeModule: look cast %s\n", cast->type->name);
6953
7202
  #endif
6954
7203
  if (swig_module.next != &swig_module) {
6955
- ret = SWIG_MangledTypeQueryModule(swig_module.next, &swig_module, cast->type->name);
7204
+ target_type = SWIG_MangledTypeQueryModule(swig_module.next, &swig_module, cast->type->name);
7205
+ if (target_type) {
7206
+
7207
+ /* Target type already defined in another module */
6956
7208
  #ifdef SWIGRUNTIME_DEBUG
6957
- if (ret) printf("SWIG_InitializeModule: found cast %s\n", ret->name);
7209
+ printf("SWIG_InitializeModule: found cast %s\n", target_type->name);
6958
7210
  #endif
6959
- }
6960
- if (ret) {
6961
- if (type == swig_module.type_initial[i]) {
7211
+ if (type == swig_module.type_initial[i]) {
6962
7212
  #ifdef SWIGRUNTIME_DEBUG
6963
- printf("SWIG_InitializeModule: skip old type %s\n", ret->name);
7213
+ printf("SWIG_InitializeModule: skip old type %s\n", target_type->name);
6964
7214
  #endif
6965
- cast->type = ret;
6966
- ret = 0;
6967
- } else {
6968
- /* Check for casting already in the list */
6969
- swig_cast_info *ocast = SWIG_TypeCheck(ret->name, type);
7215
+ cast->type = target_type;
7216
+ target_type = 0;
7217
+ } else {
7218
+ /* Check if this cast is already in the list */
7219
+ swig_cast_info *ocast = SWIG_TypeCheck(target_type->name, type);
6970
7220
  #ifdef SWIGRUNTIME_DEBUG
6971
- if (ocast) printf("SWIG_InitializeModule: skip old cast %s\n", ret->name);
7221
+ if (ocast) printf("SWIG_InitializeModule: skip old cast %s\n", target_type->name);
6972
7222
  #endif
6973
- if (!ocast) ret = 0;
6974
- }
7223
+ if (!ocast) {
7224
+ cast->type = target_type;
7225
+ target_type = 0;
7226
+ }
7227
+ }
7228
+ }
6975
7229
  }
6976
7230
 
6977
- if (!ret) {
7231
+ if (!target_type) {
6978
7232
  #ifdef SWIGRUNTIME_DEBUG
6979
- printf("SWIG_InitializeModule: adding cast %s\n", cast->type->name);
7233
+ printf("SWIG_InitializeModule: adding cast %s\n", cast->type->name);
6980
7234
  #endif
6981
- if (type->cast) {
6982
- type->cast->prev = cast;
6983
- cast->next = type->cast;
7235
+ /* Set inclusion mark for sorting */
7236
+ cast->next = cast;
7237
+ num_mapped++;
7238
+
7239
+ if (type == cast->type) {
7240
+ #ifdef SWIGRUNTIME_DEBUG
7241
+ printf("%s : self cast at pos [%li]\n", type->name, cast - first);
7242
+ #endif
7243
+ if (cast - first) {
7244
+
7245
+ /* Move cast to itself to the first entry in the array */
7246
+
7247
+ swig_cast_info tmp = *cast;
7248
+ *cast = *first;
7249
+ *first = tmp;
7250
+ }
7251
+ first++;
7252
+
7253
+ } else {
7254
+ cast->value = SWIG_Hash(cast->type->name, (unsigned int)strlen(cast->type->name));
6984
7255
  }
6985
- type->cast = cast;
6986
7256
  }
6987
7257
  cast++;
6988
7258
  }
7259
+
7260
+ if (num_mapped) {
7261
+ if (cast - first) {
7262
+ swig_cast_info *tmp;
7263
+
7264
+ /* Sort casts by type address for binary search in SWIG_TypeCheckStruct */
7265
+ qsort(first, (size_t)(cast - first), sizeof(swig_cast_info), SWIG_CastCmpStruct);
7266
+
7267
+ /* Remap back links for added entries */
7268
+ cast = swig_module.cast_initial[i] + num_mapped;
7269
+ for (tmp = first; tmp < cast; tmp++) {
7270
+ tmp->next = tmp;
7271
+ }
7272
+ }
7273
+
7274
+ /* Set the value field of the first entry to the index of the last added entry */
7275
+ cast = swig_module.cast_initial[i];
7276
+ cast->value = (unsigned int)(num_mapped - 1);
7277
+
7278
+ num_mapped -= (int)(first - cast);
7279
+ if (num_mapped > 1) {
7280
+ /* Sort <'next','value'> pairs by 'value' for binary search in SWIG_TypeCheck */
7281
+
7282
+ SWIG_CastHashSort(first, num_mapped);
7283
+ }
7284
+
7285
+ first = type->cast;
7286
+ if (first) {
7287
+ /* Link the current set into the list of cast arrays */
7288
+ cast->next = first->next;
7289
+ first->next = cast;
7290
+ } else {
7291
+ cast->next = 0;
7292
+ type->cast = cast;
7293
+ }
7294
+ }
7295
+
6989
7296
  /* Set entry in modules->types array equal to the type */
6990
7297
  swig_module.types[i] = type;
6991
7298
  }
@@ -7016,7 +7323,6 @@ SWIG_InitializeModule(SWIG_INIT_CLIENT_DATA_TYPE clientdata) {
7016
7323
  SWIGRUNTIME void
7017
7324
  SWIG_PropagateClientData(void) {
7018
7325
  size_t i;
7019
- swig_cast_info *equiv;
7020
7326
  static int init_run = 0;
7021
7327
 
7022
7328
  if (init_run) return;
@@ -7024,13 +7330,16 @@ SWIG_PropagateClientData(void) {
7024
7330
 
7025
7331
  for (i = 0; i < swig_module.size; i++) {
7026
7332
  if (swig_module.types[i]->clientdata) {
7027
- equiv = swig_module.types[i]->cast;
7028
- while (equiv) {
7029
- if (!equiv->converter) {
7030
- if (equiv->type && !equiv->type->clientdata)
7031
- SWIG_TypeClientData(equiv->type, swig_module.types[i]->clientdata);
7333
+ swig_cast_info *head, *cast;
7334
+ head = swig_module.types[i]->cast;
7335
+ while (head) {
7336
+ for (cast = head; (cast - head) <= head->value; cast++) {
7337
+ if (!cast->converter) {
7338
+ if (cast->type && !cast->type->clientdata)
7339
+ SWIG_TypeClientData(cast->type, swig_module.types[i]->clientdata);
7340
+ }
7032
7341
  }
7033
- equiv = equiv->next;
7342
+ head = head->next;
7034
7343
  }
7035
7344
  }
7036
7345
  }
@@ -7071,8 +7380,11 @@ SWIGEXPORT void Init_scintilla(void) {
7071
7380
  rb_undef_alloc_func(SwigClassNotifyHeader.klass);
7072
7381
  rb_define_method(SwigClassNotifyHeader.klass, "idFrom", VALUEFUNC(_wrap_NotifyHeader_idFrom_get), -1);
7073
7382
  rb_define_method(SwigClassNotifyHeader.klass, "code", VALUEFUNC(_wrap_NotifyHeader_code_get), -1);
7383
+ SwigClassNotifyHeader.cext_type.wrap_struct_name = "C++ class NotifyHeader";
7074
7384
  SwigClassNotifyHeader.mark = 0;
7385
+ SwigClassNotifyHeader.cext_type.function.dmark = SWIG_Ruby_mark_swig_type;
7075
7386
  SwigClassNotifyHeader.destroy = (void (*)(void *)) FXRbUnregisterRubyObj;
7387
+ SwigClassNotifyHeader.cext_type.function.dfree = SWIG_Ruby_free_swig_type;
7076
7388
  SwigClassNotifyHeader.trackObjects = 0;
7077
7389
 
7078
7390
  SwigClassSCNotification.klass = rb_define_class_under(mFox, "SCNotification", rb_cObject);
@@ -7096,8 +7408,11 @@ SWIGEXPORT void Init_scintilla(void) {
7096
7408
  rb_define_method(SwigClassSCNotification.klass, "y", VALUEFUNC(_wrap_SCNotification_y_get), -1);
7097
7409
  rb_define_method(SwigClassSCNotification.klass, "wParam", VALUEFUNC(_wrap_SCNotification_wParam), -1);
7098
7410
  rb_define_method(SwigClassSCNotification.klass, "lParam", VALUEFUNC(_wrap_SCNotification_lParam), -1);
7411
+ SwigClassSCNotification.cext_type.wrap_struct_name = "C++ class SCNotification";
7099
7412
  SwigClassSCNotification.mark = 0;
7413
+ SwigClassSCNotification.cext_type.function.dmark = SWIG_Ruby_mark_swig_type;
7100
7414
  SwigClassSCNotification.destroy = (void (*)(void *)) FXRbUnregisterRubyObj;
7415
+ SwigClassSCNotification.cext_type.function.dfree = SWIG_Ruby_free_swig_type;
7101
7416
  SwigClassSCNotification.trackObjects = 0;
7102
7417
 
7103
7418
  SwigClassTextRange.klass = rb_define_class_under(mFox, "TextRange", rb_cObject);
@@ -7105,8 +7420,11 @@ SWIGEXPORT void Init_scintilla(void) {
7105
7420
  rb_define_alloc_func(SwigClassTextRange.klass, _wrap_TextRange_allocate);
7106
7421
  rb_define_method(SwigClassTextRange.klass, "initialize", VALUEFUNC(_wrap_new_TextRange), -1);
7107
7422
  rb_define_method(SwigClassTextRange.klass, "lpstrText", VALUEFUNC(_wrap_TextRange_lpstrText_get), -1);
7423
+ SwigClassTextRange.cext_type.wrap_struct_name = "C++ class TextRange";
7108
7424
  SwigClassTextRange.mark = 0;
7425
+ SwigClassTextRange.cext_type.function.dmark = SWIG_Ruby_mark_swig_type;
7109
7426
  SwigClassTextRange.destroy = (void (*)(void *)) free_TextRange;
7427
+ SwigClassTextRange.cext_type.function.dfree = SWIG_Ruby_free_swig_type;
7110
7428
  SwigClassTextRange.trackObjects = 0;
7111
7429
 
7112
7430
  SwigClassFXScintilla.klass = rb_define_class_under(mFox, "FXScintilla", ((swig_class *) SWIGTYPE_p_FXScrollArea->clientdata)->klass);
@@ -7186,8 +7504,11 @@ SWIGEXPORT void Init_scintilla(void) {
7186
7504
  rb_define_method(SwigClassFXScintilla.klass, "getContentHeight", VALUEFUNC(_wrap_FXScintilla_getContentHeight), -1);
7187
7505
  rb_define_method(SwigClassFXScintilla.klass, "getContentWidth", VALUEFUNC(_wrap_FXScintilla_getContentWidth), -1);
7188
7506
  rb_define_method(SwigClassFXScintilla.klass, "position", VALUEFUNC(_wrap_FXScintilla_position), -1);
7507
+ SwigClassFXScintilla.cext_type.wrap_struct_name = "C++ class FXScintilla";
7189
7508
  SwigClassFXScintilla.mark = (void (*)(void *)) FXRbScintilla::markfunc;
7509
+ SwigClassFXScintilla.cext_type.function.dmark = SWIG_Ruby_mark_swig_type;
7190
7510
  SwigClassFXScintilla.destroy = (void (*)(void *)) FXRbObject::freefunc;
7511
+ SwigClassFXScintilla.cext_type.function.dfree = SWIG_Ruby_free_swig_type;
7191
7512
  SwigClassFXScintilla.trackObjects = 0;
7192
7513
  }
7193
7514