fxruby 1.6.38-x86-mingw32 → 1.6.43-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (360) hide show
  1. checksums.yaml +5 -5
  2. data/.travis.yml +3 -14
  3. data/.yardopts +1 -1
  4. data/Gemfile +8 -5
  5. data/History.md +1344 -21
  6. data/README.rdoc +5 -5
  7. data/Rakefile +100 -68
  8. data/appveyor.yml +17 -4
  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 +4 -1
  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 +8 -0
  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/FXGLVisual.i +1 -1
  351. data/swig-interfaces/FXImage.i +9 -4
  352. data/swig-interfaces/FXMemoryBuffer.i +3 -3
  353. data/swig-interfaces/FXText.i +10 -8
  354. data/swig-interfaces/macros.i +9 -0
  355. data/test/TC_FXGLViewer.rb +8 -1
  356. data/test/TC_FXImage.rb +8 -0
  357. data/test/TC_FXList.rb +8 -8
  358. data/test/TC_FXText.rb +19 -0
  359. data/test/TC_FXVec4f.rb +26 -12
  360. metadata +300 -9
@@ -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) \