fxruby 1.6.39-x64-mingw32 → 1.6.44-x64-mingw32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (358) hide show
  1. checksums.yaml +5 -5
  2. data/.travis.yml +3 -14
  3. data/.yardopts +1 -1
  4. data/Gemfile +4 -5
  5. data/History.md +1345 -22
  6. data/README.rdoc +5 -5
  7. data/Rakefile +100 -68
  8. data/appveyor.yml +11 -16
  9. data/docs/Fox.html +11184 -0
  10. data/docs/Fox/Canvas.html +141 -0
  11. data/docs/Fox/Canvas/CanvasError.html +124 -0
  12. data/docs/Fox/Canvas/CircleShape.html +477 -0
  13. data/docs/Fox/Canvas/ImageShape.html +477 -0
  14. data/docs/Fox/Canvas/LineShape.html +1005 -0
  15. data/docs/Fox/Canvas/PolygonShape.html +145 -0
  16. data/docs/Fox/Canvas/RectangleShape.html +439 -0
  17. data/docs/Fox/Canvas/SelectionPolicy.html +352 -0
  18. data/docs/Fox/Canvas/Shape.html +1955 -0
  19. data/docs/Fox/Canvas/ShapeCanvas.html +2031 -0
  20. data/docs/Fox/Canvas/ShapeGroup.html +527 -0
  21. data/docs/Fox/Canvas/SingleSelectionPolicy.html +291 -0
  22. data/docs/Fox/Canvas/TextShape.html +609 -0
  23. data/docs/Fox/FTNonModal.html +550 -0
  24. data/docs/Fox/FX4Splitter.html +1336 -0
  25. data/docs/Fox/FX7Segment.html +1010 -0
  26. data/docs/Fox/FXAccelTable.html +715 -0
  27. data/docs/Fox/FXApp.html +7998 -0
  28. data/docs/Fox/FXArc.html +562 -0
  29. data/docs/Fox/FXArrowButton.html +865 -0
  30. data/docs/Fox/FXBMPIcon.html +450 -0
  31. data/docs/Fox/FXBMPImage.html +434 -0
  32. data/docs/Fox/FXBitmap.html +1362 -0
  33. data/docs/Fox/FXBitmapFrame.html +595 -0
  34. data/docs/Fox/FXBitmapView.html +1451 -0
  35. data/docs/Fox/FXButton.html +534 -0
  36. data/docs/Fox/FXCURCursor.html +261 -0
  37. data/docs/Fox/FXCalendar.html +880 -0
  38. data/docs/Fox/FXCanvas.html +311 -0
  39. data/docs/Fox/FXCheckButton.html +949 -0
  40. data/docs/Fox/FXChoiceBox.html +472 -0
  41. data/docs/Fox/FXColor.html +1519 -0
  42. data/docs/Fox/FXColorBar.html +759 -0
  43. data/docs/Fox/FXColorDialog.html +591 -0
  44. data/docs/Fox/FXColorItem.html +323 -0
  45. data/docs/Fox/FXColorList.html +712 -0
  46. data/docs/Fox/FXColorRing.html +817 -0
  47. data/docs/Fox/FXColorSelector.html +796 -0
  48. data/docs/Fox/FXColorWell.html +850 -0
  49. data/docs/Fox/FXColorWheel.html +770 -0
  50. data/docs/Fox/FXComboBox.html +2939 -0
  51. data/docs/Fox/FXComboTableItem.html +544 -0
  52. data/docs/Fox/FXCommand.html +526 -0
  53. data/docs/Fox/FXComposite.html +433 -0
  54. data/docs/Fox/FXCursor.html +779 -0
  55. data/docs/Fox/FXDC.html +5231 -0
  56. data/docs/Fox/FXDCPrint.html +696 -0
  57. data/docs/Fox/FXDCWindow.html +358 -0
  58. data/docs/Fox/FXDataTarget.html +573 -0
  59. data/docs/Fox/FXDebugTarget.html +305 -0
  60. data/docs/Fox/FXDelegator.html +305 -0
  61. data/docs/Fox/FXDial.html +1133 -0
  62. data/docs/Fox/FXDialogBox.html +413 -0
  63. data/docs/Fox/FXDict.html +1063 -0
  64. data/docs/Fox/FXDirBox.html +752 -0
  65. data/docs/Fox/FXDirDialog.html +914 -0
  66. data/docs/Fox/FXDirItem.html +989 -0
  67. data/docs/Fox/FXDirList.html +1554 -0
  68. data/docs/Fox/FXDirSelector.html +995 -0
  69. data/docs/Fox/FXDockBar.html +1451 -0
  70. data/docs/Fox/FXDockHandler.html +468 -0
  71. data/docs/Fox/FXDockSite.html +678 -0
  72. data/docs/Fox/FXDockTitle.html +606 -0
  73. data/docs/Fox/FXDocument.html +536 -0
  74. data/docs/Fox/FXDragCorner.html +440 -0
  75. data/docs/Fox/FXDrawable.html +478 -0
  76. data/docs/Fox/FXDriveBox.html +746 -0
  77. data/docs/Fox/FXEvent.html +1736 -0
  78. data/docs/Fox/FXExtentd.html +1374 -0
  79. data/docs/Fox/FXExtentf.html +1374 -0
  80. data/docs/Fox/FXFileAssoc.html +850 -0
  81. data/docs/Fox/FXFileDialog.html +2688 -0
  82. data/docs/Fox/FXFileDict.html +1058 -0
  83. data/docs/Fox/FXFileItem.html +1141 -0
  84. data/docs/Fox/FXFileList.html +2259 -0
  85. data/docs/Fox/FXFileSelector.html +2529 -0
  86. data/docs/Fox/FXFileStream.html +503 -0
  87. data/docs/Fox/FXFoldingItem.html +2822 -0
  88. data/docs/Fox/FXFoldingList.html +5189 -0
  89. data/docs/Fox/FXFont.html +2998 -0
  90. data/docs/Fox/FXFontDesc.html +710 -0
  91. data/docs/Fox/FXFontDialog.html +420 -0
  92. data/docs/Fox/FXFontSelector.html +576 -0
  93. data/docs/Fox/FXFrame.html +1012 -0
  94. data/docs/Fox/FXGIFCursor.html +337 -0
  95. data/docs/Fox/FXGIFIcon.html +450 -0
  96. data/docs/Fox/FXGIFImage.html +434 -0
  97. data/docs/Fox/FXGLCanvas.html +700 -0
  98. data/docs/Fox/FXGLCone.html +785 -0
  99. data/docs/Fox/FXGLContext.html +649 -0
  100. data/docs/Fox/FXGLCube.html +703 -0
  101. data/docs/Fox/FXGLCylinder.html +791 -0
  102. data/docs/Fox/FXGLGroup.html +1385 -0
  103. data/docs/Fox/FXGLLine.html +653 -0
  104. data/docs/Fox/FXGLObject.html +759 -0
  105. data/docs/Fox/FXGLPoint.html +561 -0
  106. data/docs/Fox/FXGLShape.html +714 -0
  107. data/docs/Fox/FXGLSphere.html +626 -0
  108. data/docs/Fox/FXGLViewer.html +3506 -0
  109. data/docs/Fox/FXGLVisual.html +2147 -0
  110. data/docs/Fox/FXGradient.html +562 -0
  111. data/docs/Fox/FXGradientBar.html +2479 -0
  112. data/docs/Fox/FXGroupBox.html +688 -0
  113. data/docs/Fox/FXHeader.html +3040 -0
  114. data/docs/Fox/FXHeaderItem.html +1353 -0
  115. data/docs/Fox/FXHiliteStyle.html +804 -0
  116. data/docs/Fox/FXHorizontalFrame.html +359 -0
  117. data/docs/Fox/FXHorizontalSeparator.html +349 -0
  118. data/docs/Fox/FXICOIcon.html +450 -0
  119. data/docs/Fox/FXICOImage.html +434 -0
  120. data/docs/Fox/FXIcon.html +384 -0
  121. data/docs/Fox/FXIconDict.html +752 -0
  122. data/docs/Fox/FXIconItem.html +1518 -0
  123. data/docs/Fox/FXIconList.html +4676 -0
  124. data/docs/Fox/FXIconSource.html +963 -0
  125. data/docs/Fox/FXId.html +712 -0
  126. data/docs/Fox/FXImage.html +2328 -0
  127. data/docs/Fox/FXImageFrame.html +489 -0
  128. data/docs/Fox/FXImageView.html +504 -0
  129. data/docs/Fox/FXInputDialog.html +894 -0
  130. data/docs/Fox/FXIrb.html +942 -0
  131. data/docs/Fox/FXJPGIcon.html +607 -0
  132. data/docs/Fox/FXJPGImage.html +591 -0
  133. data/docs/Fox/FXKnob.html +1048 -0
  134. data/docs/Fox/FXLabel.html +1013 -0
  135. data/docs/Fox/FXLight.html +920 -0
  136. data/docs/Fox/FXList.html +3717 -0
  137. data/docs/Fox/FXListBox.html +2518 -0
  138. data/docs/Fox/FXListItem.html +1459 -0
  139. data/docs/Fox/FXMDIChild.html +2175 -0
  140. data/docs/Fox/FXMDIClient.html +781 -0
  141. data/docs/Fox/FXMDIDeleteButton.html +334 -0
  142. data/docs/Fox/FXMDIMaximizeButton.html +334 -0
  143. data/docs/Fox/FXMDIMenu.html +335 -0
  144. data/docs/Fox/FXMDIMinimizeButton.html +334 -0
  145. data/docs/Fox/FXMDIRestoreButton.html +334 -0
  146. data/docs/Fox/FXMDIWindowButton.html +334 -0
  147. data/docs/Fox/FXMainWindow.html +337 -0
  148. data/docs/Fox/FXMaterial.html +570 -0
  149. data/docs/Fox/FXMatrix.html +734 -0
  150. data/docs/Fox/FXMemoryBuffer.html +472 -0
  151. data/docs/Fox/FXMemoryStream.html +632 -0
  152. data/docs/Fox/FXMenuBar.html +347 -0
  153. data/docs/Fox/FXMenuButton.html +829 -0
  154. data/docs/Fox/FXMenuCaption.html +1080 -0
  155. data/docs/Fox/FXMenuCascade.html +388 -0
  156. data/docs/Fox/FXMenuCheck.html +721 -0
  157. data/docs/Fox/FXMenuCommand.html +400 -0
  158. data/docs/Fox/FXMenuPane.html +333 -0
  159. data/docs/Fox/FXMenuRadio.html +721 -0
  160. data/docs/Fox/FXMenuSeparator.html +440 -0
  161. data/docs/Fox/FXMenuTitle.html +405 -0
  162. data/docs/Fox/FXMessageBox.html +658 -0
  163. data/docs/Fox/FXObject.html +545 -0
  164. data/docs/Fox/FXOption.html +491 -0
  165. data/docs/Fox/FXOptionMenu.html +885 -0
  166. data/docs/Fox/FXPCXIcon.html +450 -0
  167. data/docs/Fox/FXPCXImage.html +434 -0
  168. data/docs/Fox/FXPNGIcon.html +524 -0
  169. data/docs/Fox/FXPNGImage.html +508 -0
  170. data/docs/Fox/FXPPMIcon.html +450 -0
  171. data/docs/Fox/FXPPMImage.html +373 -0
  172. data/docs/Fox/FXPSBounds.html +500 -0
  173. data/docs/Fox/FXPacker.html +1229 -0
  174. data/docs/Fox/FXPicker.html +345 -0
  175. data/docs/Fox/FXPopup.html +1099 -0
  176. data/docs/Fox/FXPrintDialog.html +485 -0
  177. data/docs/Fox/FXPrinter.html +1330 -0
  178. data/docs/Fox/FXProgressBar.html +1150 -0
  179. data/docs/Fox/FXProgressDialog.html +715 -0
  180. data/docs/Fox/FXPseudoKeyboard.html +428 -0
  181. data/docs/Fox/FXPseudoMouse.html +800 -0
  182. data/docs/Fox/FXPseudoTarget.html +472 -0
  183. data/docs/Fox/FXQuatd.html +1377 -0
  184. data/docs/Fox/FXQuatf.html +1392 -0
  185. data/docs/Fox/FXRGBIcon.html +450 -0
  186. data/docs/Fox/FXRGBImage.html +434 -0
  187. data/docs/Fox/FXRadioButton.html +885 -0
  188. data/docs/Fox/FXRanged.html +1522 -0
  189. data/docs/Fox/FXRangef.html +1522 -0
  190. data/docs/Fox/FXRealSlider.html +1187 -0
  191. data/docs/Fox/FXRealSpinner.html +2175 -0
  192. data/docs/Fox/FXRecentFiles.html +841 -0
  193. data/docs/Fox/FXRectangle.html +802 -0
  194. data/docs/Fox/FXRegion.html +841 -0
  195. data/docs/Fox/FXRegistry.html +682 -0
  196. data/docs/Fox/FXReplaceDialog.html +648 -0
  197. data/docs/Fox/FXRootWindow.html +312 -0
  198. data/docs/Fox/FXRuler.html +2000 -0
  199. data/docs/Fox/FXRulerView.html +3997 -0
  200. data/docs/Fox/FXScintilla.html +49117 -0
  201. data/docs/Fox/FXScrollArea.html +1363 -0
  202. data/docs/Fox/FXScrollBar.html +1019 -0
  203. data/docs/Fox/FXScrollCorner.html +290 -0
  204. data/docs/Fox/FXScrollPane.html +499 -0
  205. data/docs/Fox/FXScrollWindow.html +409 -0
  206. data/docs/Fox/FXSearchDialog.html +382 -0
  207. data/docs/Fox/FXSegment.html +422 -0
  208. data/docs/Fox/FXSeparator.html +402 -0
  209. data/docs/Fox/FXSettings.html +1861 -0
  210. data/docs/Fox/FXShell.html +233 -0
  211. data/docs/Fox/FXShutter.html +472 -0
  212. data/docs/Fox/FXShutterItem.html +669 -0
  213. data/docs/Fox/FXSize.html +592 -0
  214. data/docs/Fox/FXSlider.html +1129 -0
  215. data/docs/Fox/FXSphered.html +906 -0
  216. data/docs/Fox/FXSpheref.html +906 -0
  217. data/docs/Fox/FXSpinner.html +2102 -0
  218. data/docs/Fox/FXSplashScreen.html +497 -0
  219. data/docs/Fox/FXSplashWindow.html +494 -0
  220. data/docs/Fox/FXSplitter.html +643 -0
  221. data/docs/Fox/FXSpring.html +517 -0
  222. data/docs/Fox/FXStatusBar.html +593 -0
  223. data/docs/Fox/FXStatusLine.html +754 -0
  224. data/docs/Fox/FXStream.html +1372 -0
  225. data/docs/Fox/FXStreamAllocError.html +148 -0
  226. data/docs/Fox/FXStreamEndError.html +148 -0
  227. data/docs/Fox/FXStreamError.html +259 -0
  228. data/docs/Fox/FXStreamFailureError.html +148 -0
  229. data/docs/Fox/FXStreamFormatError.html +148 -0
  230. data/docs/Fox/FXStreamFullError.html +148 -0
  231. data/docs/Fox/FXStreamNoReadError.html +148 -0
  232. data/docs/Fox/FXStreamNoWriteError.html +148 -0
  233. data/docs/Fox/FXStreamUnknownError.html +148 -0
  234. data/docs/Fox/FXStringDict.html +552 -0
  235. data/docs/Fox/FXSwitcher.html +619 -0
  236. data/docs/Fox/FXTGAIcon.html +450 -0
  237. data/docs/Fox/FXTGAImage.html +434 -0
  238. data/docs/Fox/FXTIFIcon.html +604 -0
  239. data/docs/Fox/FXTIFImage.html +588 -0
  240. data/docs/Fox/FXTabBar.html +644 -0
  241. data/docs/Fox/FXTabBook.html +373 -0
  242. data/docs/Fox/FXTabItem.html +478 -0
  243. data/docs/Fox/FXTable.html +10107 -0
  244. data/docs/Fox/FXTableItem.html +2195 -0
  245. data/docs/Fox/FXTablePos.html +360 -0
  246. data/docs/Fox/FXTableRange.html +360 -0
  247. data/docs/Fox/FXText.html +6870 -0
  248. data/docs/Fox/FXTextChange.html +492 -0
  249. data/docs/Fox/FXTextField.html +2016 -0
  250. data/docs/Fox/FXToggleButton.html +844 -0
  251. data/docs/Fox/FXToolBar.html +452 -0
  252. data/docs/Fox/FXToolBarGrip.html +584 -0
  253. data/docs/Fox/FXToolBarShell.html +788 -0
  254. data/docs/Fox/FXToolBarTab.html +729 -0
  255. data/docs/Fox/FXToolTip.html +761 -0
  256. data/docs/Fox/FXTopWindow.html +1716 -0
  257. data/docs/Fox/FXTranslator.html +481 -0
  258. data/docs/Fox/FXTreeItem.html +2813 -0
  259. data/docs/Fox/FXTreeList.html +5095 -0
  260. data/docs/Fox/FXTreeListBox.html +3080 -0
  261. data/docs/Fox/FXTriStateButton.html +681 -0
  262. data/docs/Fox/FXUndoList.html +2560 -0
  263. data/docs/Fox/FXVec2d.html +1450 -0
  264. data/docs/Fox/FXVec2f.html +1442 -0
  265. data/docs/Fox/FXVec3d.html +1649 -0
  266. data/docs/Fox/FXVec3f.html +1649 -0
  267. data/docs/Fox/FXVec4d.html +1858 -0
  268. data/docs/Fox/FXVec4f.html +1858 -0
  269. data/docs/Fox/FXVerticalFrame.html +359 -0
  270. data/docs/Fox/FXVerticalSeparator.html +349 -0
  271. data/docs/Fox/FXViewport.html +780 -0
  272. data/docs/Fox/FXVisual.html +1023 -0
  273. data/docs/Fox/FXWindow.html +9948 -0
  274. data/docs/Fox/FXWizard.html +1052 -0
  275. data/docs/Fox/FXXBMIcon.html +453 -0
  276. data/docs/Fox/FXXBMImage.html +437 -0
  277. data/docs/Fox/FXXPMIcon.html +450 -0
  278. data/docs/Fox/FXXPMImage.html +434 -0
  279. data/docs/Fox/NotifyHeader.html +286 -0
  280. data/docs/Fox/SCNotification.html +1438 -0
  281. data/docs/Fox/TextRange.html +281 -0
  282. data/docs/IRB.html +204 -0
  283. data/docs/Responder.html +693 -0
  284. data/docs/Responder2.html +225 -0
  285. data/docs/_index.html +2101 -0
  286. data/docs/class_list.html +51 -0
  287. data/docs/css/common.css +1 -0
  288. data/docs/css/full_list.css +58 -0
  289. data/docs/css/style.css +496 -0
  290. data/docs/file.History.html +869 -0
  291. data/docs/file.README.html +104 -0
  292. data/docs/file_list.html +66 -0
  293. data/docs/frames.html +17 -0
  294. data/docs/index.html +614 -0
  295. data/docs/js/app.js +314 -0
  296. data/docs/js/full_list.js +216 -0
  297. data/docs/js/jquery.js +4 -0
  298. data/docs/method_list.html +31043 -0
  299. data/docs/top-level-namespace.html +214 -0
  300. data/examples/canvasdemo.rb +5 -1
  301. data/examples/gltest.rb +162 -106
  302. data/examples/glviewer.rb +12 -8
  303. data/examples/inputs.rb +9 -4
  304. data/examples/pig.rb +2 -2
  305. data/examples/unicode.rb +6 -27
  306. data/ext/fox16_c/FXRbApp.cpp +3 -17
  307. data/ext/fox16_c/FXRuby.cpp +36 -46
  308. data/ext/fox16_c/extconf.rb +50 -34
  309. data/ext/fox16_c/impl.cpp +1 -1
  310. data/ext/fox16_c/include/FXRbApp.h +2 -2
  311. data/ext/fox16_c/include/FXRbCommon.h +0 -2
  312. data/ext/fox16_c/include/FXRbText.h +82 -2
  313. data/ext/fox16_c/include/FXRbTextVirtuals.h +22 -0
  314. data/ext/fox16_c/include/FXRuby.h +21 -3
  315. data/ext/fox16_c/include/gvl_wrappers.h +29 -11
  316. data/ext/fox16_c/make_impl.rb +1 -1
  317. data/fxruby.gemspec +2 -1
  318. data/lib/fox16/aliases.rb +3 -0
  319. data/lib/fox16/bitmapview.rb +0 -0
  320. data/lib/fox16/calendar.rb +6 -8
  321. data/lib/fox16/canvas.rb +93 -62
  322. data/lib/fox16/chore.rb +0 -0
  323. data/lib/fox16/colors.rb +0 -0
  324. data/lib/fox16/core.rb +18 -18
  325. data/lib/fox16/dict.rb +0 -0
  326. data/lib/fox16/glgroup.rb +5 -5
  327. data/lib/fox16/glshapes.rb +111 -99
  328. data/lib/fox16/input.rb +9 -7
  329. data/lib/fox16/irb.rb +0 -0
  330. data/lib/fox16/iterators.rb +0 -0
  331. data/lib/fox16/keys.rb +0 -0
  332. data/lib/fox16/missingdep.rb +0 -0
  333. data/lib/fox16/pseudokeyboard.rb +0 -0
  334. data/lib/fox16/pseudomouse.rb +0 -0
  335. data/lib/fox16/responder.rb +0 -0
  336. data/lib/fox16/responder2.rb +0 -0
  337. data/lib/fox16/scintilla.rb +0 -0
  338. data/lib/fox16/settings.rb +0 -0
  339. data/lib/fox16/signal.rb +0 -0
  340. data/lib/fox16/timeout.rb +0 -0
  341. data/lib/fox16/tkcompat.rb +0 -0
  342. data/lib/fox16/undolist.rb +8 -8
  343. data/lib/fox16/version.rb +1 -1
  344. data/rdoc-sources/FXGLVisual.rb +1 -1
  345. data/rdoc-sources/FXIconList.rb +2 -0
  346. data/rdoc-sources/FXImage.rb +5 -0
  347. data/rdoc-sources/FXList.rb +2 -0
  348. data/rdoc-sources/FXListBox.rb +1 -1
  349. data/rdoc-sources/FXText.rb +4 -2
  350. data/swig-interfaces/FXImage.i +9 -4
  351. data/swig-interfaces/FXMemoryBuffer.i +2 -2
  352. data/swig-interfaces/FXText.i +10 -8
  353. data/swig-interfaces/macros.i +9 -0
  354. data/test/TC_FXImage.rb +8 -0
  355. data/test/TC_FXList.rb +8 -8
  356. data/test/TC_FXText.rb +19 -0
  357. data/test/TC_FXVec4f.rb +26 -12
  358. metadata +300 -10
@@ -24,51 +24,36 @@ end
24
24
  LIBZ_VERSION = ENV['LIBZ_VERSION'] || '1.2.7.3'
25
25
  LIBZ_SOURCE_URI = "http://zlib.net/fossils/zlib-#{LIBZ_VERSION}.tar.gz"
26
26
 
27
- LIBPNG_VERSION = ENV['LIBPNG_VERSION'] || '1.6.29'
27
+ LIBPNG_VERSION = ENV['LIBPNG_VERSION'] || '1.6.37'
28
28
  LIBPNG_SOURCE_URI = "http://prdownloads.sourceforge.net/libpng/libpng-#{LIBPNG_VERSION}.tar.gz"
29
29
 
30
30
  # LIBJPEG_VERSION = ENV['LIBJPEG_VERSION'] || '9b'
31
31
  # LIBJPEG_SOURCE_URI = "http://www.ijg.org/files/jpegsrc.v#{LIBJPEG_VERSION}.tar.gz"
32
32
 
33
- LIBJPEG_VERSION = ENV['LIBJPEG_VERSION'] || '1.5.2'
33
+ LIBJPEG_VERSION = ENV['LIBJPEG_VERSION'] || '2.0.6'
34
34
  LIBJPEG_SOURCE_URI = "https://downloads.sourceforge.net/libjpeg-turbo/libjpeg-turbo-#{LIBJPEG_VERSION}.tar.gz"
35
35
 
36
- LIBTIFF_VERSION = ENV['LIBTIFF_VERSION'] || '4.0.8'
36
+ LIBTIFF_VERSION = ENV['LIBTIFF_VERSION'] || '4.1.0'
37
37
  LIBTIFF_SOURCE_URI = "http://download.osgeo.org/libtiff/tiff-#{LIBTIFF_VERSION}.tar.gz"
38
38
 
39
- LIBFOX_VERSION = ENV['LIBFOX_VERSION'] || '1.6.55'
40
- LIBFOX_SOURCE_URI = "http://ftp.fox-toolkit.org/pub/fox-#{LIBFOX_VERSION}.tar.gz"
39
+ LIBFOX_VERSION = ENV['LIBFOX_VERSION'] || '1.6.57'
40
+ LIBFOX_SOURCE_URI = "http://fox-toolkit.org/ftp/fox-#{LIBFOX_VERSION}.tar.gz"
41
41
 
42
42
  LIBFXSCINTILLA_VERSION = ENV['LIBFXSCINTILLA_VERSION'] || '2.28.0'
43
43
  LIBFXSCINTILLA_SOURCE_URI = "http://download.savannah.gnu.org/releases/fxscintilla/fxscintilla-#{LIBFXSCINTILLA_VERSION}.tar.gz"
44
44
  # LIBFXSCINTILLA_VERSION = ENV['LIBFXSCINTILLA_VERSION'] || '3.5.2'
45
45
  # LIBFXSCINTILLA_SOURCE_URI = "https://github.com/yetanothergeek/fxscintilla/archive/FXSCINTILLA-#{LIBFXSCINTILLA_VERSION.gsub(".","_")}.tar.gz"
46
46
 
47
-
48
- class BuildRecipe < MiniPortile
47
+ module BuildRecipeCommons
49
48
  def initialize(name, version, files)
50
49
  super(name, version)
51
50
  self.files = files
52
51
  rootdir = File.expand_path('../../..', __FILE__)
53
52
  self.target = File.join(rootdir, "ports")
54
- # Prefer host_alias over host in order to use i586-mingw32msvc as
55
- # correct compiler prefix for cross build, but use host if not set.
56
- self.host = consolidated_host(RbConfig::CONFIG["host_alias"].empty? ? RbConfig::CONFIG["host"] : RbConfig::CONFIG["host_alias"])
53
+ self.host = RbConfig::CONFIG["host"]
57
54
  self.patch_files = Dir[File.join(rootdir, "patches", self.name, self.version, "*.diff")].sort
58
55
  end
59
56
 
60
- def consolidated_host(name)
61
- name.gsub('i686-pc-mingw32', 'i586-mingw32msvc')
62
- end
63
-
64
- def configure_defaults
65
- [
66
- "--host=#{host}", # build for specific target (host)
67
- "--disable-static",
68
- "--enable-shared",
69
- ]
70
- end
71
-
72
57
  def port_path
73
58
  "#{target}/#{host}"
74
59
  end
@@ -96,6 +81,44 @@ class BuildRecipe < MiniPortile
96
81
  end
97
82
  end
98
83
 
84
+ class BuildRecipe < MiniPortile
85
+ include BuildRecipeCommons
86
+
87
+ def configure_defaults
88
+ [
89
+ "--host=#{host}", # build for specific target (host)
90
+ "--disable-static",
91
+ "--enable-shared",
92
+ ]
93
+ end
94
+ end
95
+ class BuildRecipeCMake < MiniPortileCMake
96
+ include BuildRecipeCommons
97
+
98
+ def system_processor
99
+ case host
100
+ when /x86_64/ then "amd64"
101
+ when /i686/ then "x86"
102
+ else raise "unknown host #{host}"
103
+ end
104
+ end
105
+
106
+ def configure_defaults
107
+ [
108
+ "-DENABLE_STATIC=0",
109
+ "-DENABLE_SHARED=1",
110
+ "-DCMAKE_SYSTEM_NAME=Windows",
111
+ "-DCMAKE_C_COMPILER=#{host}-gcc",
112
+ "-DCMAKE_CXX_COMPILER=#{host}-g++",
113
+ "-DCMAKE_SYSTEM_PROCESSOR=#{system_processor}",
114
+ ]
115
+ end
116
+
117
+ def make_cmd
118
+ ENV["MAKE"] || "make"
119
+ end
120
+ end
121
+
99
122
  def do_rake_compiler_setup
100
123
  if enable_config("win32-cross")
101
124
  dir_config("installed")
@@ -141,7 +164,7 @@ def do_rake_compiler_setup
141
164
  recipe.cook_and_activate
142
165
  end
143
166
 
144
- libjpeg_recipe = BuildRecipe.new("libjpeg", LIBJPEG_VERSION, [LIBJPEG_SOURCE_URI]).tap do |recipe|
167
+ libjpeg_recipe = BuildRecipeCMake.new("libjpeg", LIBJPEG_VERSION, [LIBJPEG_SOURCE_URI]).tap do |recipe|
145
168
  recipe.cook_and_activate
146
169
  end
147
170
 
@@ -158,13 +181,6 @@ def do_rake_compiler_setup
158
181
  "CPPFLAGS=-I#{libjpeg_recipe.path}/include -I#{libpng_recipe.path}/include -I#{libtiff_recipe.path}/include -I#{libz_recipe.path}/include -DUNICODE=1 #{debug ? "-ggdb" : ""}",
159
182
  "LDFLAGS=-L#{libjpeg_recipe.path}/lib -L#{libpng_recipe.path}/lib -L#{libtiff_recipe.path}/lib -L#{libz_recipe.path}/lib #{debug ? "-ggdb" : ""}",
160
183
  ]
161
- class << recipe
162
- def compile
163
- # Add param -no-undefined to libtool to build a win32 shared lib
164
- execute "compile", "#{ENV['MAKE'] || "make"} libFOX_1_6_la_LDFLAGS='-version-info 0:49:0 -export-dynamic -no-undefined'"
165
- end
166
- end
167
-
168
184
  recipe.cook_and_activate
169
185
  end
170
186
 
@@ -312,14 +328,14 @@ if enable_config("debug")
312
328
  else
313
329
  $CPPFLAGS += " -DNDEBUG"
314
330
  end
315
- $CPPFLAGS += " -Wno-unused-function"
316
331
 
317
332
  # Platform-specific modifications
318
333
  do_rake_compiler_setup
319
334
 
320
- $CFLAGS += " -DRUBY_1_8" if RUBY_VERSION =~ /1\.8\./
321
- $CFLAGS += " -DRUBY_1_9" if RUBY_VERSION =~ /1\.9\./
322
- $CFLAGS += " -DRUBY_2_0" if RUBY_VERSION =~ /2\.0\./
335
+ if RbConfig::MAKEFILE_CONFIG['CC'] =~ /gcc/
336
+ $CXXFLAGS += " -Wno-unused-function"
337
+ $CXXFLAGS += " -Wno-maybe-uninitialized"
338
+ end
323
339
 
324
340
  # Last step: build the makefile
325
341
  create_header
@@ -1026,7 +1026,7 @@ IMPLEMENT_FXID_STUBS(FXRbText)
1026
1026
  IMPLEMENT_FXDRAWABLE_STUBS(FXRbText)
1027
1027
  IMPLEMENT_FXWINDOW_STUBS(FXRbText)
1028
1028
  IMPLEMENT_FXSCROLLAREA_STUBS(FXRbText)
1029
- IMPLEMENT_FXTEXT_STUBS(FXRbText)
1029
+ IMPLEMENT_FXTEXT_STUBS(FXRbText,FXText)
1030
1030
 
1031
1031
  /* Start stub implementations for class FXRbTextField */
1032
1032
  IMPLEMENT_FXOBJECT_STUBS(FXRbTextField)
@@ -73,7 +73,7 @@ static void cls ## _init(cls* self,VALUE ary,bool connect){ \
73
73
  argv[0]=const_cast<char *>("foo"); \
74
74
  for(i=1;i<argc;i++){ \
75
75
  VALUE e=rb_ary_entry(ary,i-1); \
76
- argv[i]=StringValuePtr(e); \
76
+ argv[i]=StringValueCStr(e); \
77
77
  } \
78
78
  argv[argc]=0; \
79
79
  self->cls::init(argc,argv,connect); \
@@ -127,7 +127,7 @@ inline void cls ## _exit(cls *self,FXint code){ \
127
127
  argc=static_cast<int>(RARRAY_LEN(ary)+1); \
128
128
  for(i=1; i<argc; i++){ \
129
129
  VALUE e=rb_ary_entry(ary,i-1); \
130
- argv[i]=StringValuePtr(e); \
130
+ argv[i]=StringValueCStr(e); \
131
131
  } \
132
132
  } \
133
133
  void cls::exit(FXint code){ \
@@ -24,7 +24,6 @@
24
24
  * $Id: FXRbCommon.h 2303 2005-12-09 03:17:28Z lyle $
25
25
  ***********************************************************************/
26
26
 
27
- extern "C" {
28
27
  #include "ruby.h"
29
28
 
30
29
  #include "extconf.h"
@@ -32,7 +31,6 @@ extern "C" {
32
31
  #ifdef HAVE_RUBY_ENCODING_H
33
32
  #include "ruby/encoding.h"
34
33
  #endif
35
- }
36
34
 
37
35
  /**
38
36
  * The Ruby header files for Win32 redefine the symbol "select", which
@@ -27,7 +27,39 @@
27
27
  #ifndef FXRBTEXT_H
28
28
  #define FXRBTEXT_H
29
29
 
30
- #define DECLARE_FXTEXT_STUBS(klass) \
30
+ #define DECLARE_FXTEXT_STUBS(klass,subklass) \
31
+ inline void klass ## _eraseCursorOverhang(klass* self){ \
32
+ FXASSERT(self->isMemberOf(FXMETACLASS(subklass))); \
33
+ dynamic_cast<subklass*>(self)->public_eraseCursorOverhang(); \
34
+ } \
35
+ inline void klass ## _drawCursor(klass* self,FXuint state){ \
36
+ FXASSERT(self->isMemberOf(FXMETACLASS(subklass))); \
37
+ dynamic_cast<subklass*>(self)->public_drawCursor(state); \
38
+ } \
39
+ inline FXuint klass ## _style(klass* self,FXint row,FXint beg,FXint end,FXint pos){ \
40
+ FXASSERT(self->isMemberOf(FXMETACLASS(subklass))); \
41
+ return dynamic_cast<subklass*>(self)->public_style(row, beg, end, pos); \
42
+ } \
43
+ inline void klass ## _drawBufferText(klass* self,FXDCWindow& dc,FXint x,FXint y,FXint w,FXint h,FXint pos,FXint n,FXuint style){ \
44
+ FXASSERT(self->isMemberOf(FXMETACLASS(subklass))); \
45
+ dynamic_cast<subklass*>(self)->public_drawBufferText(dc, x, y, w, h, pos, n, style); \
46
+ } \
47
+ inline void klass ## _fillBufferRect(klass* self,FXDCWindow& dc,FXint x,FXint y,FXint w,FXint h,FXuint style){ \
48
+ FXASSERT(self->isMemberOf(FXMETACLASS(subklass))); \
49
+ dynamic_cast<subklass*>(self)->public_fillBufferRect(dc, x, y, w, h, style); \
50
+ } \
51
+ inline void klass ## _drawTextRow(klass* self,FXDCWindow& dc,FXint line,FXint left,FXint right){ \
52
+ FXASSERT(self->isMemberOf(FXMETACLASS(subklass))); \
53
+ dynamic_cast<subklass*>(self)->public_drawTextRow(dc, line, left, right); \
54
+ } \
55
+ inline void klass ## _drawContents(klass* self,FXDCWindow& dc,FXint x,FXint y,FXint w,FXint h){ \
56
+ FXASSERT(self->isMemberOf(FXMETACLASS(subklass))); \
57
+ dynamic_cast<subklass*>(self)->public_drawContents(dc, x, y, w, h); \
58
+ } \
59
+ inline void klass ## _drawNumbers(klass* self,FXDCWindow& dc,FXint x,FXint y,FXint w,FXint h){ \
60
+ FXASSERT(self->isMemberOf(FXMETACLASS(subklass))); \
61
+ dynamic_cast<subklass*>(self)->public_drawNumbers(dc, x, y, w, h); \
62
+ } \
31
63
  inline void klass ## _setCursorPos(klass* self,FXint pos,FXbool notify){ \
32
64
  self->klass::setCursorPos(pos,notify); \
33
65
  } \
@@ -72,7 +104,55 @@ inline void klass ## _setStyledText(klass* self,const FXString& text,FXint style
72
104
  }
73
105
 
74
106
 
75
- #define IMPLEMENT_FXTEXT_STUBS(cls) \
107
+ #define IMPLEMENT_FXTEXT_STUBS(cls,superklass) \
108
+ void cls::eraseCursorOverhang(){ \
109
+ FXRbCallVoidMethod(this,"eraseCursorOverhang"); \
110
+ } \
111
+ void cls::public_eraseCursorOverhang(){ \
112
+ superklass::eraseCursorOverhang(); \
113
+ } \
114
+ void cls::drawCursor(FXuint state){ \
115
+ FXRbCallVoidMethod(this,"drawCursor", state); \
116
+ } \
117
+ void cls::public_drawCursor(FXuint state){ \
118
+ superklass::drawCursor(state); \
119
+ } \
120
+ FXuint cls::style(FXint row,FXint beg,FXint end,FXint pos){ \
121
+ return FXRbCallUIntMethod(this,"style", row, beg, end, pos); \
122
+ } \
123
+ FXuint cls::public_style(FXint row,FXint beg,FXint end,FXint pos){ \
124
+ return superklass::style(row, beg, end, pos); \
125
+ } \
126
+ void cls::drawBufferText(FXDCWindow& dc,FXint x,FXint y,FXint w,FXint h,FXint pos,FXint n,FXuint style){ \
127
+ FXRbCallVoidMethod(this,"drawBufferText", dc, x, y, w, h, pos, n, style); \
128
+ } \
129
+ void cls::public_drawBufferText(FXDCWindow& dc,FXint x,FXint y,FXint w,FXint h,FXint pos,FXint n,FXuint style){ \
130
+ superklass::drawBufferText(dc, x, y, w, h, pos, n, style); \
131
+ } \
132
+ void cls::fillBufferRect(FXDCWindow& dc,FXint x,FXint y,FXint w,FXint h,FXuint style){ \
133
+ FXRbCallVoidMethod(this,"fillBufferRect", dc, x, y, w, h, style); \
134
+ } \
135
+ void cls::public_fillBufferRect(FXDCWindow& dc,FXint x,FXint y,FXint w,FXint h,FXuint style){ \
136
+ superklass::fillBufferRect(dc, x, y, w, h, style); \
137
+ } \
138
+ void cls::drawTextRow(FXDCWindow& dc,FXint line,FXint left,FXint right){ \
139
+ FXRbCallVoidMethod(this,"drawTextRow", dc, line, left, right); \
140
+ } \
141
+ void cls::public_drawTextRow(FXDCWindow& dc,FXint line,FXint left,FXint right){ \
142
+ superklass::drawTextRow(dc, line, left, right); \
143
+ } \
144
+ void cls::drawContents(FXDCWindow& dc,FXint x,FXint y,FXint w,FXint h){ \
145
+ FXRbCallVoidMethod(this,"drawContents", dc, x, y, w, h); \
146
+ } \
147
+ void cls::public_drawContents(FXDCWindow& dc,FXint x,FXint y,FXint w,FXint h){ \
148
+ superklass::drawContents(dc, x, y, w, h); \
149
+ } \
150
+ void cls::drawNumbers(FXDCWindow& dc,FXint x,FXint y,FXint w,FXint h){ \
151
+ FXRbCallVoidMethod(this,"drawNumbers", dc, x, y, w, h); \
152
+ } \
153
+ void cls::public_drawNumbers(FXDCWindow& dc,FXint x,FXint y,FXint w,FXint h){ \
154
+ superklass::drawNumbers(dc, x, y, w, h); \
155
+ } \
76
156
  void cls::setCursorPos(FXint pos,FXbool notify){ \
77
157
  FXRbCallVoidMethod(this,"setCursorPos",pos,notify); \
78
158
  } \
@@ -1,3 +1,25 @@
1
+ protected:
2
+ // Overrides the base class versions of these virtual functions
3
+ virtual void eraseCursorOverhang();
4
+ virtual void drawCursor(FXuint state);
5
+ virtual FXuint style(FXint row,FXint beg,FXint end,FXint pos);
6
+ virtual void drawBufferText(FXDCWindow& dc,FXint x,FXint y,FXint w,FXint h,FXint pos,FXint n,FXuint style);
7
+ virtual void fillBufferRect(FXDCWindow& dc,FXint x,FXint y,FXint w,FXint h,FXuint style);
8
+ virtual void drawTextRow(FXDCWindow& dc,FXint line,FXint left,FXint right);
9
+ virtual void drawContents(FXDCWindow& dc,FXint x,FXint y,FXint w,FXint h);
10
+ virtual void drawNumbers(FXDCWindow& dc,FXint x,FXint y,FXint w,FXint h);
11
+
12
+ public:
13
+ // Publically accessible versions of those protected functions
14
+ void public_eraseCursorOverhang();
15
+ void public_drawCursor(FXuint state);
16
+ FXuint public_style(FXint row,FXint beg,FXint end,FXint pos);
17
+ void public_drawBufferText(FXDCWindow& dc,FXint x,FXint y,FXint w,FXint h,FXint pos,FXint n,FXuint style);
18
+ void public_fillBufferRect(FXDCWindow& dc,FXint x,FXint y,FXint w,FXint h,FXuint style);
19
+ void public_drawTextRow(FXDCWindow& dc,FXint line,FXint left,FXint right);
20
+ void public_drawContents(FXDCWindow& dc,FXint x,FXint y,FXint w,FXint h);
21
+ void public_drawNumbers(FXDCWindow& dc,FXint x,FXint y,FXint w,FXint h);
22
+
1
23
  public:
2
24
  // Overrides the base class version of setCursorPos()
3
25
  virtual void setCursorPos(FXint pos,FXbool notify=FALSE);
@@ -359,6 +359,9 @@ inline VALUE to_ruby_cb(const FXFontDesc& fontdesc){
359
359
  inline VALUE to_ruby_cb(FXDC& dc){
360
360
  return FXRbGetRubyObjCb(reinterpret_cast<void*>(&dc), FXRbTypeQuery("FXDC *"));
361
361
  }
362
+ inline VALUE to_ruby_cb(FXDCWindow& dc){
363
+ return FXRbGetRubyObjCb(reinterpret_cast<void*>(&dc), FXRbTypeQuery("FXDCWindow *"));
364
+ }
362
365
 
363
366
  template<class TYPE>
364
367
  VALUE to_ruby_cb(TYPE obj){
@@ -466,7 +469,7 @@ void FXRbCallVoidMethod_gvlcb(FXDC* recv,const char *func,TYPE1 arg1,TYPE2 arg2,
466
469
 
467
470
  /* Four arguments */
468
471
  template<class TYPE1, class TYPE2, class TYPE3, class TYPE4>
469
- void FXRbCallVoidMethod_gvlcb(FXObject* recv,const char *func, TYPE1 arg1, TYPE2 arg2, TYPE3 arg3, TYPE4 arg4){
472
+ void FXRbCallVoidMethod_gvlcb(FXObject* recv,const char *func, TYPE1& arg1, TYPE2 arg2, TYPE3 arg3, TYPE4 arg4){
470
473
  VALUE obj=FXRbGetRubyObj(recv,false);
471
474
  FXASSERT(!NIL_P(obj));
472
475
  rb_funcall(obj,rb_intern(func),4,to_ruby_cb(arg1),to_ruby_cb(arg2),to_ruby_cb(arg3),to_ruby_cb(arg4));
@@ -496,7 +499,7 @@ void FXRbCallVoidMethod_gvlcb(FXDC* recv, const char *func, TYPE1 arg1, TYPE2 ar
496
499
 
497
500
  /* Six arguments */
498
501
  template<class TYPE1, class TYPE2, class TYPE3, class TYPE4, class TYPE5, class TYPE6>
499
- void FXRbCallVoidMethod_gvlcb(const FXObject* recv, const char *func, TYPE1 arg1, TYPE2& arg2, TYPE3 arg3, TYPE4 arg4, TYPE5 arg5, TYPE6 arg6){
502
+ void FXRbCallVoidMethod_gvlcb(const FXObject* recv, const char *func, TYPE1& arg1, TYPE2& arg2, TYPE3 arg3, TYPE4 arg4, TYPE5 arg5, TYPE6 arg6){
500
503
  VALUE obj=FXRbGetRubyObj(recv,false);
501
504
  FXASSERT(!NIL_P(obj));
502
505
  rb_funcall(obj,rb_intern(func),6,to_ruby_cb(arg1),to_ruby_cb(arg2),to_ruby_cb(arg3),to_ruby_cb(arg4),to_ruby_cb(arg5),to_ruby_cb(arg6));
@@ -517,6 +520,13 @@ void FXRbCallVoidMethod_gvlcb(FXDC* recv, const char *func, TYPE1 arg1, TYPE2 ar
517
520
  rb_funcall(obj,rb_intern(func),7,to_ruby_cb(arg1),to_ruby_cb(arg2),to_ruby_cb(arg3),to_ruby_cb(arg4),to_ruby_cb(arg5),to_ruby_cb(arg6),to_ruby_cb(arg7));
518
521
  }
519
522
 
523
+ template<class TYPE1, class TYPE2, class TYPE3, class TYPE4, class TYPE5, class TYPE6, class TYPE7, class TYPE8>
524
+ void FXRbCallVoidMethod_gvlcb(FXObject* recv, const char *func, TYPE1& arg1, TYPE2 arg2, TYPE3 arg3, TYPE4 arg4, TYPE5 arg5, TYPE6 arg6, TYPE7 arg7, TYPE8 arg8){
525
+ VALUE obj=FXRbGetRubyObj(recv,false);
526
+ FXASSERT(!NIL_P(obj));
527
+ rb_funcall(obj,rb_intern(func),8,to_ruby_cb(arg1),to_ruby_cb(arg2),to_ruby_cb(arg3),to_ruby_cb(arg4),to_ruby_cb(arg5),to_ruby_cb(arg6),to_ruby_cb(arg7), to_ruby_cb(arg8));
528
+ }
529
+
520
530
  /* Nine arguments */
521
531
  template<class TYPE1, class TYPE2, class TYPE3, class TYPE4, class TYPE5, class TYPE6, class TYPE7, class TYPE8, class TYPE9>
522
532
  void FXRbCallVoidMethod_gvlcb(FXDC* recv, const char *func, TYPE1 arg1, TYPE2 arg2, TYPE3 arg3, TYPE4 arg4, TYPE5 arg5, TYPE6 arg6, TYPE7 arg7, TYPE8 arg8, TYPE9 arg9){
@@ -535,7 +545,7 @@ void FXRbCallVoidMethod_gvlcb(FXObject* recv,const char *func,TYPE1& arg1,TYPE2
535
545
 
536
546
  // Call function with "FXbool" return value
537
547
  inline bool FXRbCallBoolMethod_gvlcb(FXStream* recv,const char *func){
538
- VALUE v=rb_funcall(FXRbGetRubyObj(recv,false),rb_intern(func),0,NULL);
548
+ VALUE v=rb_funcall(FXRbGetRubyObj(recv,false),rb_intern(func),0);
539
549
  return (v==Qtrue);
540
550
  }
541
551
 
@@ -644,6 +654,14 @@ FXuint FXRbCallUIntMethod_gvlcb(FXObject* recv, const char *func, TYPE arg){
644
654
  return static_cast<FXuint>(NUM2UINT(v));
645
655
  }
646
656
 
657
+ template<class TYPE1, class TYPE2, class TYPE3, class TYPE4>
658
+ FXuint FXRbCallUIntMethod_gvlcb(FXObject* recv, const char *func, TYPE1 arg1, TYPE2 arg2, TYPE3 arg3, TYPE4 arg4){
659
+ VALUE obj=FXRbGetRubyObj(recv,false);
660
+ FXASSERT(!NIL_P(obj));
661
+ VALUE v=rb_funcall(obj,rb_intern(func),4,to_ruby_cb(arg1),to_ruby_cb(arg2),to_ruby_cb(arg3),to_ruby_cb(arg4));
662
+ return static_cast<FXuint>(NUM2UINT(v));
663
+ }
664
+
647
665
  // Call functions with FXString return value
648
666
  FXString FXRbCallStringMethod_gvlcb(const FXObject* recv, const char *func);
649
667
 
@@ -15,16 +15,14 @@
15
15
  #ifndef __gvl_wrappers_h
16
16
  #define __gvl_wrappers_h
17
17
 
18
- extern "C" {
19
- #if defined(HAVE_RB_THREAD_CALL_WITH_GVL)
20
- extern void *rb_thread_call_with_gvl(void *(*func)(void *), void *data1);
21
- #endif
18
+ #if defined(HAVE_RB_THREAD_CALL_WITH_GVL)
19
+ extern "C" void *rb_thread_call_with_gvl(void *(*func)(void *), void *data1);
20
+ #endif
22
21
 
23
- #if defined(HAVE_RB_THREAD_CALL_WITHOUT_GVL)
24
- extern "C" void *rb_thread_call_without_gvl(void *(*func)(void *), void *data1,
25
- rb_unblock_function_t *ubf, void *data2);
26
- #endif
27
- }
22
+ #if defined(HAVE_RB_THREAD_CALL_WITHOUT_GVL)
23
+ extern "C" void *rb_thread_call_without_gvl(void *(*func)(void *), void *data1,
24
+ rb_unblock_function_t *ubf, void *data2);
25
+ #endif
28
26
 
29
27
  void fxrb_wakeup_fox(void *);
30
28
 
@@ -287,7 +285,7 @@ FOR_EACH_BLOCKING_FUNCTION( DEFINE_GVL_STUB_DECL )
287
285
 
288
286
  #define FOR_EACH_PARAM_OF_FXRbCallVoidMethod_6(param) \
289
287
  param(ID, , func) \
290
- param(TYPE1, , arg1) \
288
+ param(TYPE1, &, arg1) \
291
289
  param(TYPE2, , arg2) \
292
290
  param(TYPE3, , arg3) \
293
291
  param(TYPE4, , arg4)
@@ -302,7 +300,7 @@ FOR_EACH_BLOCKING_FUNCTION( DEFINE_GVL_STUB_DECL )
302
300
 
303
301
  #define FOR_EACH_PARAM_OF_FXRbCallVoidMethod_8(param) \
304
302
  param(ID, , func) \
305
- param(TYPE1, , arg1) \
303
+ param(TYPE1, &, arg1) \
306
304
  param(TYPE2, &, arg2) \
307
305
  param(TYPE3, , arg3) \
308
306
  param(TYPE4, , arg4) \
@@ -319,6 +317,17 @@ FOR_EACH_BLOCKING_FUNCTION( DEFINE_GVL_STUB_DECL )
319
317
  param(TYPE6, , arg6) \
320
318
  param(TYPE7, , arg7)
321
319
 
320
+ #define FOR_EACH_PARAM_OF_FXRbCallVoidMethod_10(param) \
321
+ param(ID, , func) \
322
+ param(TYPE1, &, arg1) \
323
+ param(TYPE2, , arg2) \
324
+ param(TYPE3, , arg3) \
325
+ param(TYPE4, , arg4) \
326
+ param(TYPE5, , arg5) \
327
+ param(TYPE6, , arg6) \
328
+ param(TYPE7, , arg7) \
329
+ param(TYPE8, , arg8)
330
+
322
331
  #define FOR_EACH_PARAM_OF_FXRbCallVoidMethod_11(param) \
323
332
  param(ID, , func) \
324
333
  param(TYPE1, , arg1) \
@@ -387,6 +396,13 @@ FOR_EACH_BLOCKING_FUNCTION( DEFINE_GVL_STUB_DECL )
387
396
  param(ID, , func) \
388
397
  param(TYPE1, , arg1)
389
398
 
399
+ #define FOR_EACH_PARAM_OF_FXRbCallUIntMethod_6(param) \
400
+ param(ID, , func) \
401
+ param(TYPE1, , arg1) \
402
+ param(TYPE2, , arg2) \
403
+ param(TYPE3, , arg3) \
404
+ param(TYPE4, , arg4)
405
+
390
406
  #define FOR_EACH_PARAM_OF_FXRbCallGLObjectMethod_2(param) \
391
407
  param(ID, , func)
392
408
 
@@ -544,6 +560,7 @@ FOR_EACH_BLOCKING_FUNCTION( DEFINE_GVL_STUB_DECL )
544
560
  function(FXRbCallVoidMethod, GVL_TYPE_VOID, void, RECV, recv, 7) \
545
561
  function(FXRbCallVoidMethod, GVL_TYPE_VOID, void, RECV, recv, 8) \
546
562
  function(FXRbCallVoidMethod, GVL_TYPE_VOID, void, RECV, recv, 9) \
563
+ function(FXRbCallVoidMethod, GVL_TYPE_VOID, void, RECV, recv, 10) \
547
564
  function(FXRbCallVoidMethod, GVL_TYPE_VOID, void, RECV, recv, 11) \
548
565
  function(FXRbCallBoolMethod, GVL_TYPE_NONVOID, bool, RECV, recv, 2) \
549
566
  function(FXRbCallBoolMethod, GVL_TYPE_NONVOID, bool, RECV, recv, 3) \
@@ -556,6 +573,7 @@ FOR_EACH_BLOCKING_FUNCTION( DEFINE_GVL_STUB_DECL )
556
573
  function(FXRbCallIntMethod, GVL_TYPE_NONVOID, FXint, RECV, recv, 7) \
557
574
  function(FXRbCallLongMethod, GVL_TYPE_NONVOID, FXint, RECV, recv, 5) \
558
575
  function(FXRbCallUIntMethod, GVL_TYPE_NONVOID, FXint, RECV, recv, 3) \
576
+ function(FXRbCallUIntMethod, GVL_TYPE_NONVOID, FXint, RECV, recv, 6) \
559
577
  function(FXRbCallGLObjectMethod, GVL_TYPE_NONVOID, FXGLObject*, RECV, recv, 2) \
560
578
  function(FXRbCallGLObjectMethod, GVL_TYPE_NONVOID, FXGLObject*, RECV, recv, 3) \
561
579
  function(FXRbCallGLObjectMethod, GVL_TYPE_NONVOID, FXGLObject*, RECV, recv, 4) \