fxruby 1.6.46 → 1.6.48

Sign up to get free protection for your applications and to get access to all the features.
Files changed (328) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/.github/workflows/binary.yml +4 -4
  4. data/.github/workflows/ci.yml +3 -3
  5. data/.yardopts +2 -2
  6. data/Gemfile +1 -1
  7. data/History.md +13 -1
  8. data/README.md +2 -2
  9. data/Rakefile +1 -1
  10. data/appveyor.yml +1 -1
  11. data/docs/Fox/Canvas/CanvasError.html +2 -2
  12. data/docs/Fox/Canvas/CircleShape.html +2 -2
  13. data/docs/Fox/Canvas/ImageShape.html +2 -2
  14. data/docs/Fox/Canvas/LineShape.html +2 -2
  15. data/docs/Fox/Canvas/PolygonShape.html +2 -2
  16. data/docs/Fox/Canvas/RectangleShape.html +2 -2
  17. data/docs/Fox/Canvas/SelectionPolicy.html +2 -2
  18. data/docs/Fox/Canvas/Shape.html +2 -2
  19. data/docs/Fox/Canvas/ShapeCanvas.html +2 -2
  20. data/docs/Fox/Canvas/ShapeGroup.html +2 -2
  21. data/docs/Fox/Canvas/SingleSelectionPolicy.html +2 -2
  22. data/docs/Fox/Canvas/TextShape.html +2 -2
  23. data/docs/Fox/Canvas.html +2 -2
  24. data/docs/Fox/FTNonModal.html +2 -2
  25. data/docs/Fox/FX4Splitter.html +2 -2
  26. data/docs/Fox/FX7Segment.html +2 -2
  27. data/docs/Fox/FXAccelTable.html +2 -2
  28. data/docs/Fox/FXApp.html +2 -2
  29. data/docs/Fox/FXArc.html +2 -2
  30. data/docs/Fox/FXArrowButton.html +2 -2
  31. data/docs/Fox/FXBMPIcon.html +2 -2
  32. data/docs/Fox/FXBMPImage.html +2 -2
  33. data/docs/Fox/FXBitmap.html +2 -2
  34. data/docs/Fox/FXBitmapFrame.html +2 -2
  35. data/docs/Fox/FXBitmapView.html +2 -2
  36. data/docs/Fox/FXButton.html +2 -2
  37. data/docs/Fox/FXCURCursor.html +2 -2
  38. data/docs/Fox/FXCalendar.html +2 -2
  39. data/docs/Fox/FXCanvas.html +2 -2
  40. data/docs/Fox/FXCheckButton.html +2 -2
  41. data/docs/Fox/FXChoiceBox.html +2 -2
  42. data/docs/Fox/FXColor.html +2 -2
  43. data/docs/Fox/FXColorBar.html +2 -2
  44. data/docs/Fox/FXColorDialog.html +2 -2
  45. data/docs/Fox/FXColorItem.html +2 -2
  46. data/docs/Fox/FXColorList.html +2 -2
  47. data/docs/Fox/FXColorRing.html +2 -2
  48. data/docs/Fox/FXColorSelector.html +2 -2
  49. data/docs/Fox/FXColorWell.html +2 -2
  50. data/docs/Fox/FXColorWheel.html +2 -2
  51. data/docs/Fox/FXComboBox.html +2 -2
  52. data/docs/Fox/FXComboTableItem.html +2 -2
  53. data/docs/Fox/FXCommand.html +2 -2
  54. data/docs/Fox/FXComposite.html +2 -2
  55. data/docs/Fox/FXCursor.html +2 -2
  56. data/docs/Fox/FXDC.html +2 -2
  57. data/docs/Fox/FXDCPrint.html +2 -2
  58. data/docs/Fox/FXDCWindow.html +2 -2
  59. data/docs/Fox/FXDataTarget.html +2 -2
  60. data/docs/Fox/FXDebugTarget.html +2 -2
  61. data/docs/Fox/FXDelegator.html +2 -2
  62. data/docs/Fox/FXDial.html +2 -2
  63. data/docs/Fox/FXDialogBox.html +2 -2
  64. data/docs/Fox/FXDict.html +2 -2
  65. data/docs/Fox/FXDirBox.html +2 -2
  66. data/docs/Fox/FXDirDialog.html +2 -2
  67. data/docs/Fox/FXDirItem.html +2 -2
  68. data/docs/Fox/FXDirList.html +2 -2
  69. data/docs/Fox/FXDirSelector.html +2 -2
  70. data/docs/Fox/FXDockBar.html +2 -2
  71. data/docs/Fox/FXDockHandler.html +2 -2
  72. data/docs/Fox/FXDockSite.html +2 -2
  73. data/docs/Fox/FXDockTitle.html +2 -2
  74. data/docs/Fox/FXDocument.html +2 -2
  75. data/docs/Fox/FXDragCorner.html +2 -2
  76. data/docs/Fox/FXDrawable.html +2 -2
  77. data/docs/Fox/FXDriveBox.html +2 -2
  78. data/docs/Fox/FXEvent.html +2 -2
  79. data/docs/Fox/FXExtentd.html +2 -2
  80. data/docs/Fox/FXExtentf.html +2 -2
  81. data/docs/Fox/FXFileAssoc.html +2 -2
  82. data/docs/Fox/FXFileDialog.html +2 -2
  83. data/docs/Fox/FXFileDict.html +2 -2
  84. data/docs/Fox/FXFileItem.html +2 -2
  85. data/docs/Fox/FXFileList.html +2 -2
  86. data/docs/Fox/FXFileSelector.html +2 -2
  87. data/docs/Fox/FXFileStream.html +2 -2
  88. data/docs/Fox/FXFoldingItem.html +2 -2
  89. data/docs/Fox/FXFoldingList.html +2 -2
  90. data/docs/Fox/FXFont.html +2 -2
  91. data/docs/Fox/FXFontDesc.html +2 -2
  92. data/docs/Fox/FXFontDialog.html +2 -2
  93. data/docs/Fox/FXFontSelector.html +2 -2
  94. data/docs/Fox/FXFrame.html +2 -2
  95. data/docs/Fox/FXGIFCursor.html +2 -2
  96. data/docs/Fox/FXGIFIcon.html +2 -2
  97. data/docs/Fox/FXGIFImage.html +2 -2
  98. data/docs/Fox/FXGLCanvas.html +2 -2
  99. data/docs/Fox/FXGLCone.html +53 -60
  100. data/docs/Fox/FXGLContext.html +2 -2
  101. data/docs/Fox/FXGLCube.html +72 -78
  102. data/docs/Fox/FXGLCylinder.html +62 -69
  103. data/docs/Fox/FXGLGroup.html +57 -58
  104. data/docs/Fox/FXGLLine.html +44 -50
  105. data/docs/Fox/FXGLObject.html +2 -2
  106. data/docs/Fox/FXGLPoint.html +30 -36
  107. data/docs/Fox/FXGLShape.html +2 -2
  108. data/docs/Fox/FXGLSphere.html +38 -45
  109. data/docs/Fox/FXGLViewer.html +2 -2
  110. data/docs/Fox/FXGLVisual.html +2 -2
  111. data/docs/Fox/FXGradient.html +2 -2
  112. data/docs/Fox/FXGradientBar.html +2 -2
  113. data/docs/Fox/FXGroupBox.html +2 -2
  114. data/docs/Fox/FXHeader.html +2 -2
  115. data/docs/Fox/FXHeaderItem.html +2 -2
  116. data/docs/Fox/FXHiliteStyle.html +2 -2
  117. data/docs/Fox/FXHorizontalFrame.html +2 -2
  118. data/docs/Fox/FXHorizontalSeparator.html +2 -2
  119. data/docs/Fox/FXICOIcon.html +2 -2
  120. data/docs/Fox/FXICOImage.html +2 -2
  121. data/docs/Fox/FXIcon.html +2 -2
  122. data/docs/Fox/FXIconDict.html +2 -2
  123. data/docs/Fox/FXIconItem.html +2 -2
  124. data/docs/Fox/FXIconList.html +2 -2
  125. data/docs/Fox/FXIconSource.html +2 -2
  126. data/docs/Fox/FXId.html +2 -2
  127. data/docs/Fox/FXImage.html +2 -2
  128. data/docs/Fox/FXImageFrame.html +2 -2
  129. data/docs/Fox/FXImageView.html +2 -2
  130. data/docs/Fox/FXInputDialog.html +2 -2
  131. data/docs/Fox/FXIrb.html +2 -2
  132. data/docs/Fox/FXJPGIcon.html +2 -2
  133. data/docs/Fox/FXJPGImage.html +2 -2
  134. data/docs/Fox/FXKnob.html +2 -2
  135. data/docs/Fox/FXLabel.html +2 -2
  136. data/docs/Fox/FXLight.html +2 -2
  137. data/docs/Fox/FXList.html +2 -2
  138. data/docs/Fox/FXListBox.html +2 -2
  139. data/docs/Fox/FXListItem.html +2 -2
  140. data/docs/Fox/FXMDIChild.html +2 -2
  141. data/docs/Fox/FXMDIClient.html +2 -2
  142. data/docs/Fox/FXMDIDeleteButton.html +2 -2
  143. data/docs/Fox/FXMDIMaximizeButton.html +2 -2
  144. data/docs/Fox/FXMDIMenu.html +2 -2
  145. data/docs/Fox/FXMDIMinimizeButton.html +2 -2
  146. data/docs/Fox/FXMDIRestoreButton.html +2 -2
  147. data/docs/Fox/FXMDIWindowButton.html +2 -2
  148. data/docs/Fox/FXMainWindow.html +2 -2
  149. data/docs/Fox/FXMaterial.html +2 -2
  150. data/docs/Fox/FXMatrix.html +2 -2
  151. data/docs/Fox/FXMemoryBuffer.html +2 -2
  152. data/docs/Fox/FXMemoryStream.html +2 -2
  153. data/docs/Fox/FXMenuBar.html +2 -2
  154. data/docs/Fox/FXMenuButton.html +2 -2
  155. data/docs/Fox/FXMenuCaption.html +2 -2
  156. data/docs/Fox/FXMenuCascade.html +2 -2
  157. data/docs/Fox/FXMenuCheck.html +2 -2
  158. data/docs/Fox/FXMenuCommand.html +2 -2
  159. data/docs/Fox/FXMenuPane.html +2 -2
  160. data/docs/Fox/FXMenuRadio.html +2 -2
  161. data/docs/Fox/FXMenuSeparator.html +2 -2
  162. data/docs/Fox/FXMenuTitle.html +2 -2
  163. data/docs/Fox/FXMessageBox.html +2 -2
  164. data/docs/Fox/FXObject.html +2 -2
  165. data/docs/Fox/FXOption.html +2 -2
  166. data/docs/Fox/FXOptionMenu.html +2 -2
  167. data/docs/Fox/FXPCXIcon.html +2 -2
  168. data/docs/Fox/FXPCXImage.html +2 -2
  169. data/docs/Fox/FXPNGIcon.html +2 -2
  170. data/docs/Fox/FXPNGImage.html +2 -2
  171. data/docs/Fox/FXPPMIcon.html +2 -2
  172. data/docs/Fox/FXPPMImage.html +2 -2
  173. data/docs/Fox/FXPSBounds.html +2 -2
  174. data/docs/Fox/FXPacker.html +2 -2
  175. data/docs/Fox/FXPicker.html +2 -2
  176. data/docs/Fox/FXPopup.html +2 -2
  177. data/docs/Fox/FXPrintDialog.html +2 -2
  178. data/docs/Fox/FXPrinter.html +2 -2
  179. data/docs/Fox/FXProgressBar.html +2 -2
  180. data/docs/Fox/FXProgressDialog.html +2 -2
  181. data/docs/Fox/FXPseudoKeyboard.html +2 -2
  182. data/docs/Fox/FXPseudoMouse.html +2 -2
  183. data/docs/Fox/FXPseudoTarget.html +2 -2
  184. data/docs/Fox/FXQuatd.html +2 -2
  185. data/docs/Fox/FXQuatf.html +2 -2
  186. data/docs/Fox/FXRGBIcon.html +2 -2
  187. data/docs/Fox/FXRGBImage.html +2 -2
  188. data/docs/Fox/FXRadioButton.html +2 -2
  189. data/docs/Fox/FXRanged.html +2 -2
  190. data/docs/Fox/FXRangef.html +2 -2
  191. data/docs/Fox/FXRealSlider.html +2 -2
  192. data/docs/Fox/FXRealSpinner.html +2 -2
  193. data/docs/Fox/FXRecentFiles.html +2 -2
  194. data/docs/Fox/FXRectangle.html +2 -2
  195. data/docs/Fox/FXRegion.html +2 -2
  196. data/docs/Fox/FXRegistry.html +2 -2
  197. data/docs/Fox/FXReplaceDialog.html +2 -2
  198. data/docs/Fox/FXRootWindow.html +2 -2
  199. data/docs/Fox/FXRuler.html +2 -2
  200. data/docs/Fox/FXRulerView.html +2 -2
  201. data/docs/Fox/FXScintilla.html +2 -2
  202. data/docs/Fox/FXScrollArea.html +2 -2
  203. data/docs/Fox/FXScrollBar.html +2 -2
  204. data/docs/Fox/FXScrollCorner.html +2 -2
  205. data/docs/Fox/FXScrollPane.html +2 -2
  206. data/docs/Fox/FXScrollWindow.html +2 -2
  207. data/docs/Fox/FXSearchDialog.html +2 -2
  208. data/docs/Fox/FXSegment.html +2 -2
  209. data/docs/Fox/FXSeparator.html +2 -2
  210. data/docs/Fox/FXSettings.html +2 -2
  211. data/docs/Fox/FXShell.html +2 -2
  212. data/docs/Fox/FXShutter.html +2 -2
  213. data/docs/Fox/FXShutterItem.html +2 -2
  214. data/docs/Fox/FXSize.html +2 -2
  215. data/docs/Fox/FXSlider.html +2 -2
  216. data/docs/Fox/FXSphered.html +2 -2
  217. data/docs/Fox/FXSpheref.html +2 -2
  218. data/docs/Fox/FXSpinner.html +2 -2
  219. data/docs/Fox/FXSplashScreen.html +2 -2
  220. data/docs/Fox/FXSplashWindow.html +2 -2
  221. data/docs/Fox/FXSplitter.html +2 -2
  222. data/docs/Fox/FXSpring.html +2 -2
  223. data/docs/Fox/FXStatusBar.html +2 -2
  224. data/docs/Fox/FXStatusLine.html +2 -2
  225. data/docs/Fox/FXStream.html +2 -2
  226. data/docs/Fox/FXStreamAllocError.html +2 -2
  227. data/docs/Fox/FXStreamEndError.html +2 -2
  228. data/docs/Fox/FXStreamError.html +2 -2
  229. data/docs/Fox/FXStreamFailureError.html +2 -2
  230. data/docs/Fox/FXStreamFormatError.html +2 -2
  231. data/docs/Fox/FXStreamFullError.html +2 -2
  232. data/docs/Fox/FXStreamNoReadError.html +2 -2
  233. data/docs/Fox/FXStreamNoWriteError.html +2 -2
  234. data/docs/Fox/FXStreamUnknownError.html +2 -2
  235. data/docs/Fox/FXStringDict.html +2 -2
  236. data/docs/Fox/FXSwitcher.html +2 -2
  237. data/docs/Fox/FXTGAIcon.html +2 -2
  238. data/docs/Fox/FXTGAImage.html +2 -2
  239. data/docs/Fox/FXTIFIcon.html +2 -2
  240. data/docs/Fox/FXTIFImage.html +2 -2
  241. data/docs/Fox/FXTabBar.html +2 -2
  242. data/docs/Fox/FXTabBook.html +2 -2
  243. data/docs/Fox/FXTabItem.html +2 -2
  244. data/docs/Fox/FXTable.html +2 -2
  245. data/docs/Fox/FXTableItem.html +2 -2
  246. data/docs/Fox/FXTablePos.html +2 -2
  247. data/docs/Fox/FXTableRange.html +2 -2
  248. data/docs/Fox/FXText.html +2 -2
  249. data/docs/Fox/FXTextChange.html +2 -2
  250. data/docs/Fox/FXTextField.html +2 -2
  251. data/docs/Fox/FXToggleButton.html +2 -2
  252. data/docs/Fox/FXToolBar.html +2 -2
  253. data/docs/Fox/FXToolBarGrip.html +2 -2
  254. data/docs/Fox/FXToolBarShell.html +2 -2
  255. data/docs/Fox/FXToolBarTab.html +2 -2
  256. data/docs/Fox/FXToolTip.html +2 -2
  257. data/docs/Fox/FXTopWindow.html +2 -2
  258. data/docs/Fox/FXTranslator.html +2 -2
  259. data/docs/Fox/FXTreeItem.html +2 -2
  260. data/docs/Fox/FXTreeList.html +2 -2
  261. data/docs/Fox/FXTreeListBox.html +2 -2
  262. data/docs/Fox/FXTriStateButton.html +2 -2
  263. data/docs/Fox/FXUndoList.html +2 -2
  264. data/docs/Fox/FXVec2d.html +2 -2
  265. data/docs/Fox/FXVec2f.html +2 -2
  266. data/docs/Fox/FXVec3d.html +2 -2
  267. data/docs/Fox/FXVec3f.html +2 -2
  268. data/docs/Fox/FXVec4d.html +2 -2
  269. data/docs/Fox/FXVec4f.html +2 -2
  270. data/docs/Fox/FXVerticalFrame.html +2 -2
  271. data/docs/Fox/FXVerticalSeparator.html +2 -2
  272. data/docs/Fox/FXViewport.html +2 -2
  273. data/docs/Fox/FXVisual.html +2 -2
  274. data/docs/Fox/FXWindow.html +2 -2
  275. data/docs/Fox/FXWizard.html +2 -2
  276. data/docs/Fox/FXXBMIcon.html +2 -2
  277. data/docs/Fox/FXXBMImage.html +2 -2
  278. data/docs/Fox/FXXPMIcon.html +2 -2
  279. data/docs/Fox/FXXPMImage.html +2 -2
  280. data/docs/Fox/NotifyHeader.html +2 -2
  281. data/docs/Fox/SCNotification.html +2 -2
  282. data/docs/Fox/TextRange.html +2 -2
  283. data/docs/Fox.html +3 -3
  284. data/docs/IRB.html +2 -2
  285. data/docs/Responder.html +2 -2
  286. data/docs/Responder2.html +2 -2
  287. data/docs/_index.html +2 -2
  288. data/docs/file.History.html +11 -2
  289. data/docs/file.README.html +2 -2
  290. data/docs/index.html +481 -501
  291. data/docs/top-level-namespace.html +2 -2
  292. data/examples/gltest.rb +104 -105
  293. data/examples/glviewer.rb +3 -3
  294. data/ext/fox16_c/FXRuby.cpp +2 -2
  295. data/ext/fox16_c/core_wrap.cpp +497 -412
  296. data/ext/fox16_c/dc_wrap.cpp +215 -128
  297. data/ext/fox16_c/dialogs_wrap.cpp +1333 -1246
  298. data/ext/fox16_c/extconf.rb +6 -6
  299. data/ext/fox16_c/frames_wrap.cpp +633 -550
  300. data/ext/fox16_c/fx3d_wrap.cpp +1556 -1471
  301. data/ext/fox16_c/iconlist_wrap.cpp +555 -468
  302. data/ext/fox16_c/icons_wrap.cpp +1062 -975
  303. data/ext/fox16_c/image_wrap.cpp +912 -825
  304. data/ext/fox16_c/label_wrap.cpp +744 -657
  305. data/ext/fox16_c/layout_wrap.cpp +564 -477
  306. data/ext/fox16_c/list_wrap.cpp +556 -469
  307. data/ext/fox16_c/markfuncs.cpp +1 -1
  308. data/ext/fox16_c/mdi_wrap.cpp +1453 -1366
  309. data/ext/fox16_c/menu_wrap.cpp +1216 -1129
  310. data/ext/fox16_c/scintilla_wrap.cpp +1034 -943
  311. data/ext/fox16_c/swigruby.h +88 -28
  312. data/ext/fox16_c/table_wrap.cpp +1034 -945
  313. data/ext/fox16_c/text_wrap.cpp +1029 -942
  314. data/ext/fox16_c/treelist_wrap.cpp +1083 -996
  315. data/ext/fox16_c/ui_wrap.cpp +1210 -1123
  316. data/fxruby.gemspec +2 -2
  317. data/lib/fox16/glgroup.rb +3 -4
  318. data/lib/fox16/glshapes.rb +85 -100
  319. data/lib/fox16/version.rb +1 -1
  320. data/scripts/iface.rb +8 -12
  321. data/swig-interfaces/FXFileDialog.i +2 -2
  322. data/swig-interfaces/FXFileSelector.i +1 -1
  323. data/swig-interfaces/FXGLViewer.i +1 -1
  324. data/swig-interfaces/ruby-typemaps.i +1 -1
  325. data.tar.gz.sig +0 -0
  326. metadata +18 -22
  327. metadata.gz.sig +0 -0
  328. data/rdoc-sources/Makefile +0 -23
@@ -1,11 +1,9 @@
1
1
  /* ----------------------------------------------------------------------------
2
- * This file was automatically generated by SWIG (http://www.swig.org).
3
- * Version 4.0.2
2
+ * This file was automatically generated by SWIG (https://www.swig.org).
3
+ * Version 4.2.0
4
4
  *
5
- * This file is not intended to be easily readable and contains a number of
6
- * coding conventions designed to improve portability and efficiency. Do not make
7
- * changes to this file unless you know what you are doing--modify the SWIG
8
- * interface file instead.
5
+ * Do not make changes to this file unless you know what you are doing - modify
6
+ * the SWIG interface file instead.
9
7
  * ----------------------------------------------------------------------------- */
10
8
 
11
9
  /* -----------------------------------------------------------------------------
@@ -131,7 +129,13 @@
131
129
  #ifdef __INTEL_COMPILER
132
130
  # pragma warning disable 592
133
131
  #endif
134
- /* Errors in SWIG */
132
+
133
+ #if __cplusplus >=201103L
134
+ # define SWIG_NULLPTR nullptr
135
+ #else
136
+ # define SWIG_NULLPTR NULL
137
+ #endif
138
+ /* SWIG Errors applicable to all language modules, values are reserved from -1 to -99 */
135
139
  #define SWIG_UnknownError -1
136
140
  #define SWIG_IOError -2
137
141
  #define SWIG_RuntimeError -3
@@ -146,7 +150,6 @@
146
150
  #define SWIG_MemoryError -12
147
151
  #define SWIG_NullReferenceError -13
148
152
 
149
-
150
153
  /* -----------------------------------------------------------------------------
151
154
  * swigrun.swg
152
155
  *
@@ -193,6 +196,8 @@
193
196
  #define SWIG_POINTER_DISOWN 0x1
194
197
  #define SWIG_CAST_NEW_MEMORY 0x2
195
198
  #define SWIG_POINTER_NO_NULL 0x4
199
+ #define SWIG_POINTER_CLEAR 0x8
200
+ #define SWIG_POINTER_RELEASE (SWIG_POINTER_CLEAR | SWIG_POINTER_DISOWN)
196
201
 
197
202
  /* Flags for new pointer objects */
198
203
  #define SWIG_POINTER_OWN 0x1
@@ -264,7 +269,7 @@
264
269
  SWIG errors code.
265
270
 
266
271
  Finally, if the SWIG_CASTRANK_MODE is enabled, the result code
267
- allows to return the 'cast rank', for example, if you have this
272
+ allows returning the 'cast rank', for example, if you have this
268
273
 
269
274
  int food(double)
270
275
  int fooi(int);
@@ -278,7 +283,13 @@
278
283
  */
279
284
 
280
285
  #define SWIG_OK (0)
286
+ /* Runtime errors are < 0 */
281
287
  #define SWIG_ERROR (-1)
288
+ /* Errors in range -1 to -99 are in swigerrors.swg (errors for all languages including those not using the runtime) */
289
+ /* Errors in range -100 to -199 are language specific errors defined in *errors.swg */
290
+ /* Errors < -200 are generic runtime specific errors */
291
+ #define SWIG_ERROR_RELEASE_NOT_OWNED (-200)
292
+
282
293
  #define SWIG_IsOK(r) (r >= 0)
283
294
  #define SWIG_ArgError(r) ((r != SWIG_ERROR) ? r : SWIG_TypeError)
284
295
 
@@ -286,14 +297,14 @@
286
297
  #define SWIG_CASTRANKLIMIT (1 << 8)
287
298
  /* The NewMask denotes the object was created (using new/malloc) */
288
299
  #define SWIG_NEWOBJMASK (SWIG_CASTRANKLIMIT << 1)
289
- /* The TmpMask is for in/out typemaps that use temporal objects */
300
+ /* The TmpMask is for in/out typemaps that use temporary objects */
290
301
  #define SWIG_TMPOBJMASK (SWIG_NEWOBJMASK << 1)
291
302
  /* Simple returning values */
292
303
  #define SWIG_BADOBJ (SWIG_ERROR)
293
304
  #define SWIG_OLDOBJ (SWIG_OK)
294
305
  #define SWIG_NEWOBJ (SWIG_OK | SWIG_NEWOBJMASK)
295
306
  #define SWIG_TMPOBJ (SWIG_OK | SWIG_TMPOBJMASK)
296
- /* Check, add and del mask methods */
307
+ /* Check, add and del object mask methods */
297
308
  #define SWIG_AddNewMask(r) (SWIG_IsOK(r) ? (r | SWIG_NEWOBJMASK) : r)
298
309
  #define SWIG_DelNewMask(r) (SWIG_IsOK(r) ? (r & ~SWIG_NEWOBJMASK) : r)
299
310
  #define SWIG_IsNewObj(r) (SWIG_IsOK(r) && (r & SWIG_NEWOBJMASK))
@@ -322,6 +333,23 @@ SWIGINTERNINLINE int SWIG_CheckState(int r) {
322
333
  # define SWIG_CheckState(r) (SWIG_IsOK(r) ? 1 : 0)
323
334
  #endif
324
335
 
336
+ /* C99 and C++11 should provide snprintf, but define SWIG_NO_SNPRINTF
337
+ * if you're missing it.
338
+ */
339
+ #if ((defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L) || \
340
+ (defined __cplusplus && __cplusplus >= 201103L) || \
341
+ defined SWIG_HAVE_SNPRINTF) && \
342
+ !defined SWIG_NO_SNPRINTF
343
+ # define SWIG_snprintf(O,S,F,A) snprintf(O,S,F,A)
344
+ # define SWIG_snprintf2(O,S,F,A,B) snprintf(O,S,F,A,B)
345
+ #else
346
+ /* Fallback versions ignore the buffer size, but most of our uses either have a
347
+ * fixed maximum possible size or dynamically allocate a buffer that's large
348
+ * enough.
349
+ */
350
+ # define SWIG_snprintf(O,S,F,A) sprintf(O,F,A)
351
+ # define SWIG_snprintf2(O,S,F,A,B) sprintf(O,F,A,B)
352
+ #endif
325
353
 
326
354
  #include <string.h>
327
355
 
@@ -439,7 +467,7 @@ SWIG_TypeCheck(const char *c, swig_type_info *ty) {
439
467
  Identical to SWIG_TypeCheck, except strcmp is replaced with a pointer comparison
440
468
  */
441
469
  SWIGRUNTIME swig_cast_info *
442
- SWIG_TypeCheckStruct(swig_type_info *from, swig_type_info *ty) {
470
+ SWIG_TypeCheckStruct(const swig_type_info *from, swig_type_info *ty) {
443
471
  if (ty) {
444
472
  swig_cast_info *iter = ty->cast;
445
473
  while (iter) {
@@ -499,9 +527,9 @@ SWIG_TypeName(const swig_type_info *ty) {
499
527
  SWIGRUNTIME const char *
500
528
  SWIG_TypePrettyName(const swig_type_info *type) {
501
529
  /* The "str" field contains the equivalent pretty names of the
502
- type, separated by vertical-bar characters. We choose
503
- to print the last name, as it is often (?) the most
504
- specific. */
530
+ type, separated by vertical-bar characters. Choose the last
531
+ name. It should be the most specific; a fully resolved name
532
+ but not necessarily with default template parameters expanded. */
505
533
  if (!type) return NULL;
506
534
  if (type->str != NULL) {
507
535
  const char *last_name = type->str;
@@ -720,6 +748,19 @@ SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) {
720
748
  #ifdef __cplusplus
721
749
  }
722
750
  #endif
751
+ #if __GNUC__ >= 7
752
+ #pragma GCC diagnostic push
753
+ #if defined(__cplusplus)
754
+ #pragma GCC diagnostic ignored "-Wregister"
755
+ #if __GNUC__ >= 10
756
+ #pragma GCC diagnostic ignored "-Wvolatile"
757
+ #if __GNUC__ >= 11
758
+ #pragma GCC diagnostic ignored "-Wdeprecated-enum-enum-conversion"
759
+ #endif
760
+ #endif
761
+ #endif
762
+ #endif
763
+
723
764
  #include <ruby.h>
724
765
 
725
766
  #if defined(RB_METHOD_DEFINITION_DECL)
@@ -734,6 +775,11 @@ SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) {
734
775
  # define RUBY_VOIDP_METHOD_FUNC(func) ((void *(*)(ANYARGS))(func))
735
776
  #endif
736
777
 
778
+ #include <ruby/version.h> /* For RUBY_API_VERSION_CODE */
779
+
780
+ #if __GNUC__ >= 7
781
+ #pragma GCC diagnostic pop
782
+ #endif
737
783
 
738
784
  /* Ruby 1.9.1 has a "memoisation optimisation" when compiling with GCC which
739
785
  * breaks using rb_intern as an lvalue, as SWIG does. We work around this
@@ -835,9 +881,9 @@ SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) {
835
881
  /*
836
882
  * The following macros are used for providing the correct type of a
837
883
  * function pointer to the Ruby C API.
838
- * Starting with Ruby 2.7 (corresponding to RB_METHOD_DEFINITION_DECL being
839
- * defined) these macros act transparently due to Ruby's moving away from
840
- * ANYARGS and instead employing strict function signatures.
884
+ *
885
+ * Starting with Ruby 2.7 these macros act transparently due to Ruby's moving
886
+ * moving away from ANYARGS and instead employing strict function signatures.
841
887
  *
842
888
  * Note: In case of C (not C++) the macros are transparent even before
843
889
  * Ruby 2.7 due to the fact that the Ruby C API used function declarators
@@ -861,7 +907,7 @@ SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) {
861
907
  * SWIG_RUBY_INT_ANYARGS_FUNC(f) is used for the function pointer
862
908
  * argument(s) of Ruby C API functions like st_foreach().
863
909
  */
864
- #if defined(__cplusplus) && !defined(RB_METHOD_DEFINITION_DECL)
910
+ #if defined(__cplusplus) && RUBY_API_VERSION_CODE < 20700
865
911
  # define PROTECTFUNC(f) ((VALUE (*)(VALUE)) f)
866
912
  # define VALUEFUNC(f) ((VALUE (*)(ANYARGS)) f)
867
913
  # define VOIDFUNC(f) ((RUBY_DATA_FUNC) f)
@@ -1013,7 +1059,7 @@ const char* Ruby_Format_TypeError( const char* msg,
1013
1059
  }
1014
1060
 
1015
1061
  str = rb_str_cat2( str, "Expected argument " );
1016
- sprintf( buf, "%d of type ", argn-1 );
1062
+ SWIG_snprintf( buf, sizeof( buf), "%d of type ", argn-1 );
1017
1063
  str = rb_str_cat2( str, buf );
1018
1064
  str = rb_str_cat2( str, type );
1019
1065
  str = rb_str_cat2( str, ", but got " );
@@ -1309,6 +1355,7 @@ static VALUE swig_runtime_data_type_pointer = Qnil;
1309
1355
  /* Global IDs used to keep some internal SWIG stuff */
1310
1356
  static ID swig_arity_id = 0;
1311
1357
  static ID swig_call_id = 0;
1358
+ static ID swig_lowerthan_id = 0;
1312
1359
 
1313
1360
  /*
1314
1361
  If your swig extension is to be run within an embedded ruby and has
@@ -1360,7 +1407,7 @@ SWIG_Ruby_ExceptionType(swig_type_info *desc, VALUE obj) {
1360
1407
  VALUE exceptionClass = getExceptionClass();
1361
1408
  if (rb_obj_is_kind_of(obj, exceptionClass)) {
1362
1409
  return obj;
1363
- } else {
1410
+ } else {
1364
1411
  return rb_exc_new3(rb_eRuntimeError, rb_obj_as_string(obj));
1365
1412
  }
1366
1413
  }
@@ -1373,6 +1420,7 @@ SWIG_Ruby_InitRuntime(void)
1373
1420
  _mSWIG = rb_define_module("SWIG");
1374
1421
  swig_call_id = rb_intern("call");
1375
1422
  swig_arity_id = rb_intern("arity");
1423
+ swig_lowerthan_id = rb_intern("<");
1376
1424
  }
1377
1425
  }
1378
1426
 
@@ -1380,13 +1428,14 @@ SWIG_Ruby_InitRuntime(void)
1380
1428
  SWIGRUNTIME void
1381
1429
  SWIG_Ruby_define_class(swig_type_info *type)
1382
1430
  {
1383
- char *klass_name = (char *) malloc(4 + strlen(type->name) + 1);
1384
- sprintf(klass_name, "TYPE%s", type->name);
1431
+ size_t klass_len = 4 + strlen(type->name) + 1;
1432
+ char *klass_name = (char *) malloc(klass_len);
1433
+ SWIG_snprintf(klass_name, klass_len, "TYPE%s", type->name);
1385
1434
  if (NIL_P(_cSWIG_Pointer)) {
1386
1435
  _cSWIG_Pointer = rb_define_class_under(_mSWIG, "Pointer", rb_cObject);
1387
1436
  rb_undef_method(CLASS_OF(_cSWIG_Pointer), "new");
1388
1437
  }
1389
- rb_define_class_under(_mSWIG, klass_name, _cSWIG_Pointer);
1438
+ rb_undef_alloc_func(rb_define_class_under(_mSWIG, klass_name, _cSWIG_Pointer));
1390
1439
  free((void *) klass_name);
1391
1440
  }
1392
1441
 
@@ -1437,8 +1486,9 @@ SWIG_Ruby_NewPointerObj(void *ptr, swig_type_info *type, int flags)
1437
1486
  SWIG_RubyAddTracking(ptr, obj);
1438
1487
  }
1439
1488
  } else {
1440
- klass_name = (char *) malloc(4 + strlen(type->name) + 1);
1441
- sprintf(klass_name, "TYPE%s", type->name);
1489
+ size_t klass_len = 4 + strlen(type->name) + 1;
1490
+ klass_name = (char *) malloc(klass_len);
1491
+ SWIG_snprintf(klass_name, klass_len, "TYPE%s", type->name);
1442
1492
  klass = rb_const_get(_mSWIG, rb_intern(klass_name));
1443
1493
  free((void *) klass_name);
1444
1494
  obj = Data_Wrap_Struct(klass, 0, 0, ptr);
@@ -1510,6 +1560,11 @@ SWIG_Ruby_ConvertPtrAndOwn(VALUE obj, void **ptr, swig_type_info *ty, int flags,
1510
1560
  own->own = 0;
1511
1561
  }
1512
1562
 
1563
+ if (((flags & SWIG_POINTER_RELEASE) == SWIG_POINTER_RELEASE)) {
1564
+ if (!RDATA(obj)->dfree)
1565
+ return SWIG_ERROR_RELEASE_NOT_OWNED;
1566
+ }
1567
+
1513
1568
  /* Check to see if the input object is giving up ownership
1514
1569
  of the underlying C struct or C++ object. If so then we
1515
1570
  need to reset the destructor since the Ruby object no
@@ -1521,7 +1576,7 @@ SWIG_Ruby_ConvertPtrAndOwn(VALUE obj, void **ptr, swig_type_info *ty, int flags,
1521
1576
  swig_class *sklass = (swig_class *) ty->clientdata;
1522
1577
  track = sklass->trackObjects;
1523
1578
  }
1524
-
1579
+
1525
1580
  if (track) {
1526
1581
  /* We are tracking objects for this class. Thus we change the destructor
1527
1582
  * to SWIG_RubyRemoveTracking. This allows us to
@@ -1535,6 +1590,10 @@ SWIG_Ruby_ConvertPtrAndOwn(VALUE obj, void **ptr, swig_type_info *ty, int flags,
1535
1590
  }
1536
1591
  }
1537
1592
 
1593
+ if (flags & SWIG_POINTER_CLEAR) {
1594
+ DATA_PTR(obj) = 0;
1595
+ }
1596
+
1538
1597
  /* Do type-checking if type info was provided */
1539
1598
  if (ty) {
1540
1599
  if (ty->clientdata) {
@@ -1642,6 +1701,7 @@ SWIG_Ruby_SetModule(swig_module_info *pointer)
1642
1701
  {
1643
1702
  /* register a new class */
1644
1703
  VALUE cl = rb_define_class("SWIG_RUNTIME_DATA", rb_cObject);rb_undef_alloc_func(cl);
1704
+ rb_undef_alloc_func(cl);
1645
1705
  /* create and store the structure pointer to a global variable */
1646
1706
  swig_runtime_data_type_pointer = Data_Wrap_Struct(cl, 0, 0, pointer);
1647
1707
  rb_define_readonly_variable("$swig_runtime_data_type_pointer" SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME, &swig_runtime_data_type_pointer);
@@ -1672,7 +1732,7 @@ int SWIG_Ruby_arity( VALUE proc, int minimal )
1672
1732
  {
1673
1733
  if ( rb_respond_to( proc, swig_arity_id ) )
1674
1734
  {
1675
- VALUE num = rb_funcall( proc, swig_arity_id, 0 );
1735
+ VALUE num = rb_funcall2( proc, swig_arity_id, 0, 0 );
1676
1736
  int arity = NUM2INT(num);
1677
1737
  if ( arity < 0 && (arity+1) < -minimal ) return 1;
1678
1738
  if ( arity == minimal ) return 1;