fxruby 1.6.48 → 1.6.49

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 (320) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/.github/workflows/binary.yml +12 -11
  4. data/.github/workflows/ci.yml +25 -7
  5. data/Gemfile +1 -1
  6. data/History.md +9 -0
  7. data/Rakefile +15 -13
  8. data/appveyor.yml +1 -1
  9. data/doap.rdf +2 -2
  10. data/docs/Fox/Canvas/CanvasError.html +2 -2
  11. data/docs/Fox/Canvas/CircleShape.html +2 -2
  12. data/docs/Fox/Canvas/ImageShape.html +2 -2
  13. data/docs/Fox/Canvas/LineShape.html +2 -2
  14. data/docs/Fox/Canvas/PolygonShape.html +2 -2
  15. data/docs/Fox/Canvas/RectangleShape.html +2 -2
  16. data/docs/Fox/Canvas/SelectionPolicy.html +2 -2
  17. data/docs/Fox/Canvas/Shape.html +2 -2
  18. data/docs/Fox/Canvas/ShapeCanvas.html +2 -2
  19. data/docs/Fox/Canvas/ShapeGroup.html +2 -2
  20. data/docs/Fox/Canvas/SingleSelectionPolicy.html +2 -2
  21. data/docs/Fox/Canvas/TextShape.html +2 -2
  22. data/docs/Fox/Canvas.html +2 -2
  23. data/docs/Fox/FTNonModal.html +2 -2
  24. data/docs/Fox/FX4Splitter.html +2 -2
  25. data/docs/Fox/FX7Segment.html +2 -2
  26. data/docs/Fox/FXAccelTable.html +2 -2
  27. data/docs/Fox/FXApp.html +2 -2
  28. data/docs/Fox/FXArc.html +2 -2
  29. data/docs/Fox/FXArrowButton.html +2 -2
  30. data/docs/Fox/FXBMPIcon.html +2 -2
  31. data/docs/Fox/FXBMPImage.html +2 -2
  32. data/docs/Fox/FXBitmap.html +2 -2
  33. data/docs/Fox/FXBitmapFrame.html +2 -2
  34. data/docs/Fox/FXBitmapView.html +2 -2
  35. data/docs/Fox/FXButton.html +2 -2
  36. data/docs/Fox/FXCURCursor.html +2 -2
  37. data/docs/Fox/FXCalendar.html +2 -2
  38. data/docs/Fox/FXCanvas.html +2 -2
  39. data/docs/Fox/FXCheckButton.html +2 -2
  40. data/docs/Fox/FXChoiceBox.html +2 -2
  41. data/docs/Fox/FXColor.html +2 -2
  42. data/docs/Fox/FXColorBar.html +2 -2
  43. data/docs/Fox/FXColorDialog.html +2 -2
  44. data/docs/Fox/FXColorItem.html +2 -2
  45. data/docs/Fox/FXColorList.html +2 -2
  46. data/docs/Fox/FXColorRing.html +2 -2
  47. data/docs/Fox/FXColorSelector.html +2 -2
  48. data/docs/Fox/FXColorWell.html +2 -2
  49. data/docs/Fox/FXColorWheel.html +2 -2
  50. data/docs/Fox/FXComboBox.html +2 -2
  51. data/docs/Fox/FXComboTableItem.html +2 -2
  52. data/docs/Fox/FXCommand.html +2 -2
  53. data/docs/Fox/FXComposite.html +2 -2
  54. data/docs/Fox/FXCursor.html +2 -2
  55. data/docs/Fox/FXDC.html +2 -2
  56. data/docs/Fox/FXDCPrint.html +2 -2
  57. data/docs/Fox/FXDCWindow.html +2 -2
  58. data/docs/Fox/FXDataTarget.html +2 -2
  59. data/docs/Fox/FXDebugTarget.html +2 -2
  60. data/docs/Fox/FXDelegator.html +2 -2
  61. data/docs/Fox/FXDial.html +2 -2
  62. data/docs/Fox/FXDialogBox.html +21 -7
  63. data/docs/Fox/FXDict.html +2 -2
  64. data/docs/Fox/FXDirBox.html +2 -2
  65. data/docs/Fox/FXDirDialog.html +2 -2
  66. data/docs/Fox/FXDirItem.html +2 -2
  67. data/docs/Fox/FXDirList.html +2 -2
  68. data/docs/Fox/FXDirSelector.html +2 -2
  69. data/docs/Fox/FXDockBar.html +2 -2
  70. data/docs/Fox/FXDockHandler.html +2 -2
  71. data/docs/Fox/FXDockSite.html +2 -2
  72. data/docs/Fox/FXDockTitle.html +2 -2
  73. data/docs/Fox/FXDocument.html +2 -2
  74. data/docs/Fox/FXDragCorner.html +2 -2
  75. data/docs/Fox/FXDrawable.html +2 -2
  76. data/docs/Fox/FXDriveBox.html +2 -2
  77. data/docs/Fox/FXEvent.html +2 -2
  78. data/docs/Fox/FXExtentd.html +2 -2
  79. data/docs/Fox/FXExtentf.html +2 -2
  80. data/docs/Fox/FXFileAssoc.html +2 -2
  81. data/docs/Fox/FXFileDialog.html +2 -2
  82. data/docs/Fox/FXFileDict.html +2 -2
  83. data/docs/Fox/FXFileItem.html +2 -2
  84. data/docs/Fox/FXFileList.html +2 -2
  85. data/docs/Fox/FXFileSelector.html +2 -2
  86. data/docs/Fox/FXFileStream.html +2 -2
  87. data/docs/Fox/FXFoldingItem.html +2 -2
  88. data/docs/Fox/FXFoldingList.html +2 -2
  89. data/docs/Fox/FXFont.html +2 -2
  90. data/docs/Fox/FXFontDesc.html +2 -2
  91. data/docs/Fox/FXFontDialog.html +2 -2
  92. data/docs/Fox/FXFontSelector.html +2 -2
  93. data/docs/Fox/FXFrame.html +2 -2
  94. data/docs/Fox/FXGIFCursor.html +2 -2
  95. data/docs/Fox/FXGIFIcon.html +2 -2
  96. data/docs/Fox/FXGIFImage.html +2 -2
  97. data/docs/Fox/FXGLCanvas.html +2 -2
  98. data/docs/Fox/FXGLCone.html +2 -2
  99. data/docs/Fox/FXGLContext.html +2 -2
  100. data/docs/Fox/FXGLCube.html +2 -2
  101. data/docs/Fox/FXGLCylinder.html +2 -2
  102. data/docs/Fox/FXGLGroup.html +2 -2
  103. data/docs/Fox/FXGLLine.html +2 -2
  104. data/docs/Fox/FXGLObject.html +2 -2
  105. data/docs/Fox/FXGLPoint.html +2 -2
  106. data/docs/Fox/FXGLShape.html +2 -2
  107. data/docs/Fox/FXGLSphere.html +2 -2
  108. data/docs/Fox/FXGLViewer.html +2 -2
  109. data/docs/Fox/FXGLVisual.html +2 -2
  110. data/docs/Fox/FXGradient.html +2 -2
  111. data/docs/Fox/FXGradientBar.html +2 -2
  112. data/docs/Fox/FXGroupBox.html +2 -2
  113. data/docs/Fox/FXHeader.html +2 -2
  114. data/docs/Fox/FXHeaderItem.html +2 -2
  115. data/docs/Fox/FXHiliteStyle.html +2 -2
  116. data/docs/Fox/FXHorizontalFrame.html +2 -2
  117. data/docs/Fox/FXHorizontalSeparator.html +2 -2
  118. data/docs/Fox/FXICOIcon.html +2 -2
  119. data/docs/Fox/FXICOImage.html +2 -2
  120. data/docs/Fox/FXIcon.html +2 -2
  121. data/docs/Fox/FXIconDict.html +2 -2
  122. data/docs/Fox/FXIconItem.html +2 -2
  123. data/docs/Fox/FXIconList.html +2 -2
  124. data/docs/Fox/FXIconSource.html +2 -2
  125. data/docs/Fox/FXId.html +2 -2
  126. data/docs/Fox/FXImage.html +2 -2
  127. data/docs/Fox/FXImageFrame.html +2 -2
  128. data/docs/Fox/FXImageView.html +2 -2
  129. data/docs/Fox/FXInputDialog.html +2 -2
  130. data/docs/Fox/FXIrb.html +2 -2
  131. data/docs/Fox/FXJPGIcon.html +2 -2
  132. data/docs/Fox/FXJPGImage.html +2 -2
  133. data/docs/Fox/FXKnob.html +2 -2
  134. data/docs/Fox/FXLabel.html +2 -2
  135. data/docs/Fox/FXLight.html +2 -2
  136. data/docs/Fox/FXList.html +2 -2
  137. data/docs/Fox/FXListBox.html +2 -2
  138. data/docs/Fox/FXListItem.html +2 -2
  139. data/docs/Fox/FXMDIChild.html +2 -2
  140. data/docs/Fox/FXMDIClient.html +2 -2
  141. data/docs/Fox/FXMDIDeleteButton.html +2 -2
  142. data/docs/Fox/FXMDIMaximizeButton.html +2 -2
  143. data/docs/Fox/FXMDIMenu.html +2 -2
  144. data/docs/Fox/FXMDIMinimizeButton.html +2 -2
  145. data/docs/Fox/FXMDIRestoreButton.html +2 -2
  146. data/docs/Fox/FXMDIWindowButton.html +2 -2
  147. data/docs/Fox/FXMainWindow.html +2 -2
  148. data/docs/Fox/FXMaterial.html +2 -2
  149. data/docs/Fox/FXMatrix.html +2 -2
  150. data/docs/Fox/FXMemoryBuffer.html +2 -2
  151. data/docs/Fox/FXMemoryStream.html +2 -2
  152. data/docs/Fox/FXMenuBar.html +2 -2
  153. data/docs/Fox/FXMenuButton.html +2 -2
  154. data/docs/Fox/FXMenuCaption.html +2 -2
  155. data/docs/Fox/FXMenuCascade.html +2 -2
  156. data/docs/Fox/FXMenuCheck.html +2 -2
  157. data/docs/Fox/FXMenuCommand.html +2 -2
  158. data/docs/Fox/FXMenuPane.html +2 -2
  159. data/docs/Fox/FXMenuRadio.html +2 -2
  160. data/docs/Fox/FXMenuSeparator.html +2 -2
  161. data/docs/Fox/FXMenuTitle.html +2 -2
  162. data/docs/Fox/FXMessageBox.html +2 -2
  163. data/docs/Fox/FXObject.html +2 -2
  164. data/docs/Fox/FXOption.html +2 -2
  165. data/docs/Fox/FXOptionMenu.html +2 -2
  166. data/docs/Fox/FXPCXIcon.html +2 -2
  167. data/docs/Fox/FXPCXImage.html +2 -2
  168. data/docs/Fox/FXPNGIcon.html +2 -2
  169. data/docs/Fox/FXPNGImage.html +2 -2
  170. data/docs/Fox/FXPPMIcon.html +2 -2
  171. data/docs/Fox/FXPPMImage.html +2 -2
  172. data/docs/Fox/FXPSBounds.html +2 -2
  173. data/docs/Fox/FXPacker.html +2 -2
  174. data/docs/Fox/FXPicker.html +2 -2
  175. data/docs/Fox/FXPopup.html +2 -2
  176. data/docs/Fox/FXPrintDialog.html +2 -2
  177. data/docs/Fox/FXPrinter.html +2 -2
  178. data/docs/Fox/FXProgressBar.html +2 -2
  179. data/docs/Fox/FXProgressDialog.html +2 -2
  180. data/docs/Fox/FXPseudoKeyboard.html +2 -2
  181. data/docs/Fox/FXPseudoMouse.html +2 -2
  182. data/docs/Fox/FXPseudoTarget.html +2 -2
  183. data/docs/Fox/FXQuatd.html +2 -2
  184. data/docs/Fox/FXQuatf.html +2 -2
  185. data/docs/Fox/FXRGBIcon.html +2 -2
  186. data/docs/Fox/FXRGBImage.html +2 -2
  187. data/docs/Fox/FXRadioButton.html +2 -2
  188. data/docs/Fox/FXRanged.html +2 -2
  189. data/docs/Fox/FXRangef.html +2 -2
  190. data/docs/Fox/FXRealSlider.html +2 -2
  191. data/docs/Fox/FXRealSpinner.html +2 -2
  192. data/docs/Fox/FXRecentFiles.html +2 -2
  193. data/docs/Fox/FXRectangle.html +2 -2
  194. data/docs/Fox/FXRegion.html +2 -2
  195. data/docs/Fox/FXRegistry.html +2 -2
  196. data/docs/Fox/FXReplaceDialog.html +2 -2
  197. data/docs/Fox/FXRootWindow.html +2 -2
  198. data/docs/Fox/FXRuler.html +2 -2
  199. data/docs/Fox/FXRulerView.html +2 -2
  200. data/docs/Fox/FXScintilla.html +2 -2
  201. data/docs/Fox/FXScrollArea.html +2 -2
  202. data/docs/Fox/FXScrollBar.html +2 -2
  203. data/docs/Fox/FXScrollCorner.html +2 -2
  204. data/docs/Fox/FXScrollPane.html +2 -2
  205. data/docs/Fox/FXScrollWindow.html +2 -2
  206. data/docs/Fox/FXSearchDialog.html +2 -2
  207. data/docs/Fox/FXSegment.html +2 -2
  208. data/docs/Fox/FXSeparator.html +2 -2
  209. data/docs/Fox/FXSettings.html +2 -2
  210. data/docs/Fox/FXShell.html +2 -2
  211. data/docs/Fox/FXShutter.html +2 -2
  212. data/docs/Fox/FXShutterItem.html +2 -2
  213. data/docs/Fox/FXSize.html +2 -2
  214. data/docs/Fox/FXSlider.html +2 -2
  215. data/docs/Fox/FXSphered.html +2 -2
  216. data/docs/Fox/FXSpheref.html +2 -2
  217. data/docs/Fox/FXSpinner.html +2 -2
  218. data/docs/Fox/FXSplashScreen.html +2 -2
  219. data/docs/Fox/FXSplashWindow.html +2 -2
  220. data/docs/Fox/FXSplitter.html +2 -2
  221. data/docs/Fox/FXSpring.html +2 -2
  222. data/docs/Fox/FXStatusBar.html +2 -2
  223. data/docs/Fox/FXStatusLine.html +2 -2
  224. data/docs/Fox/FXStream.html +2 -2
  225. data/docs/Fox/FXStreamAllocError.html +2 -2
  226. data/docs/Fox/FXStreamEndError.html +2 -2
  227. data/docs/Fox/FXStreamError.html +2 -2
  228. data/docs/Fox/FXStreamFailureError.html +2 -2
  229. data/docs/Fox/FXStreamFormatError.html +2 -2
  230. data/docs/Fox/FXStreamFullError.html +2 -2
  231. data/docs/Fox/FXStreamNoReadError.html +2 -2
  232. data/docs/Fox/FXStreamNoWriteError.html +2 -2
  233. data/docs/Fox/FXStreamUnknownError.html +2 -2
  234. data/docs/Fox/FXStringDict.html +2 -2
  235. data/docs/Fox/FXSwitcher.html +2 -2
  236. data/docs/Fox/FXTGAIcon.html +2 -2
  237. data/docs/Fox/FXTGAImage.html +2 -2
  238. data/docs/Fox/FXTIFIcon.html +2 -2
  239. data/docs/Fox/FXTIFImage.html +2 -2
  240. data/docs/Fox/FXTabBar.html +2 -2
  241. data/docs/Fox/FXTabBook.html +2 -2
  242. data/docs/Fox/FXTabItem.html +2 -2
  243. data/docs/Fox/FXTable.html +2 -2
  244. data/docs/Fox/FXTableItem.html +2 -2
  245. data/docs/Fox/FXTablePos.html +2 -2
  246. data/docs/Fox/FXTableRange.html +2 -2
  247. data/docs/Fox/FXText.html +2 -2
  248. data/docs/Fox/FXTextChange.html +2 -2
  249. data/docs/Fox/FXTextField.html +2 -2
  250. data/docs/Fox/FXToggleButton.html +2 -2
  251. data/docs/Fox/FXToolBar.html +2 -2
  252. data/docs/Fox/FXToolBarGrip.html +2 -2
  253. data/docs/Fox/FXToolBarShell.html +2 -2
  254. data/docs/Fox/FXToolBarTab.html +2 -2
  255. data/docs/Fox/FXToolTip.html +2 -2
  256. data/docs/Fox/FXTopWindow.html +6 -9
  257. data/docs/Fox/FXTranslator.html +2 -2
  258. data/docs/Fox/FXTreeItem.html +2 -2
  259. data/docs/Fox/FXTreeList.html +2 -2
  260. data/docs/Fox/FXTreeListBox.html +2 -2
  261. data/docs/Fox/FXTriStateButton.html +2 -2
  262. data/docs/Fox/FXUndoList.html +2 -2
  263. data/docs/Fox/FXVec2d.html +2 -2
  264. data/docs/Fox/FXVec2f.html +2 -2
  265. data/docs/Fox/FXVec3d.html +2 -2
  266. data/docs/Fox/FXVec3f.html +2 -2
  267. data/docs/Fox/FXVec4d.html +2 -2
  268. data/docs/Fox/FXVec4f.html +2 -2
  269. data/docs/Fox/FXVerticalFrame.html +2 -2
  270. data/docs/Fox/FXVerticalSeparator.html +2 -2
  271. data/docs/Fox/FXViewport.html +2 -2
  272. data/docs/Fox/FXVisual.html +2 -2
  273. data/docs/Fox/FXWindow.html +3 -3
  274. data/docs/Fox/FXWizard.html +2 -2
  275. data/docs/Fox/FXXBMIcon.html +2 -2
  276. data/docs/Fox/FXXBMImage.html +2 -2
  277. data/docs/Fox/FXXPMIcon.html +2 -2
  278. data/docs/Fox/FXXPMImage.html +2 -2
  279. data/docs/Fox/NotifyHeader.html +2 -2
  280. data/docs/Fox/SCNotification.html +2 -2
  281. data/docs/Fox/TextRange.html +2 -2
  282. data/docs/Fox.html +3 -3
  283. data/docs/IRB.html +2 -2
  284. data/docs/Responder.html +2 -2
  285. data/docs/Responder2.html +2 -2
  286. data/docs/_index.html +2 -2
  287. data/docs/class_list.html +6 -3
  288. data/docs/css/full_list.css +3 -3
  289. data/docs/css/style.css +6 -0
  290. data/docs/file.History.html +21 -3
  291. data/docs/file.README.html +2 -2
  292. data/docs/file_list.html +5 -2
  293. data/docs/frames.html +9 -4
  294. data/docs/index.html +3 -3
  295. data/docs/js/app.js +294 -264
  296. data/docs/js/full_list.js +30 -4
  297. data/docs/method_list.html +5 -2
  298. data/docs/top-level-namespace.html +2 -2
  299. data/ext/fox16_c/extconf.rb +32 -17
  300. data/ext/fox16_c/scintilla_wrap.cpp +8 -1
  301. data/fxruby.gemspec +2 -2
  302. data/lib/fox16/scintilla.rb +750 -22
  303. data/lib/fox16/version.rb +1 -1
  304. data/rdoc-sources/FXDialogBox.rb +12 -0
  305. data/rdoc-sources/FXToolTip.rb +1 -1
  306. data/rdoc-sources/FXTopWindow.rb +1 -1
  307. data/rdoc-sources/FXWindow.rb +1 -1
  308. data/swig-interfaces/FXScintilla.i +8 -1
  309. data/test/TC_FXApp.rb +2 -1
  310. data/test/TC_FXButton.rb +2 -1
  311. data/test/TC_FXDialogBox.rb +2 -1
  312. data/test/TC_FXGLViewer.rb +2 -1
  313. data/test/TC_FXMainWindow.rb +2 -1
  314. data/test/TC_FXMessageBox.rb +2 -1
  315. data/test/TC_FXScrollArea.rb +2 -1
  316. data/test/TC_FXShell.rb +2 -1
  317. data/test/TC_FXSize.rb +4 -2
  318. data.tar.gz.sig +0 -0
  319. metadata +16 -16
  320. metadata.gz.sig +0 -0
data/docs/js/full_list.js CHANGED
@@ -62,8 +62,25 @@ function enableToggles() {
62
62
  evt.stopPropagation();
63
63
  evt.preventDefault();
64
64
  $(this).parent().parent().toggleClass('collapsed');
65
+ $(this).attr('aria-expanded', function (i, attr) {
66
+ return attr == 'true' ? 'false' : 'true'
67
+ });
65
68
  highlight();
66
69
  });
70
+
71
+ // navigation of nested classes using keyboard
72
+ $('#full_list a.toggle').on('keypress',function(evt) {
73
+ // enter key is pressed
74
+ if (evt.which == 13) {
75
+ evt.stopPropagation();
76
+ evt.preventDefault();
77
+ $(this).parent().parent().toggleClass('collapsed');
78
+ $(this).attr('aria-expanded', function (i, attr) {
79
+ return attr == 'true' ? 'false' : 'true'
80
+ });
81
+ highlight();
82
+ }
83
+ });
67
84
  }
68
85
 
69
86
  function populateSearchCache() {
@@ -91,7 +108,7 @@ function enableSearch() {
91
108
  }
92
109
  });
93
110
 
94
- $('#full_list').after("<div id='noresults' style='display:none'></div>");
111
+ $('#full_list').after("<div id='noresults' role='status' style='display: none'></div>");
95
112
  }
96
113
 
97
114
  function ignoredKeyPress(event) {
@@ -154,11 +171,14 @@ function partialSearch(searchString, offset) {
154
171
  function searchDone() {
155
172
  searchTimeout = null;
156
173
  highlight();
157
- if ($('#full_list li:visible').size() === 0) {
158
- $('#noresults').text('No results were found.').hide().fadeIn();
174
+ var found = $('#full_list li:visible').size();
175
+ if (found === 0) {
176
+ $('#noresults').text('No results were found.');
159
177
  } else {
160
- $('#noresults').text('').hide();
178
+ // This is read out to screen readers
179
+ $('#noresults').text('There are ' + found + ' results.');
161
180
  }
181
+ $('#noresults').show();
162
182
  $('#content').removeClass('insearch');
163
183
  }
164
184
 
@@ -188,6 +208,12 @@ function expandTo(path) {
188
208
  $target.addClass('clicked');
189
209
  $target.removeClass('collapsed');
190
210
  $target.parentsUntil('#full_list', 'li').removeClass('collapsed');
211
+
212
+ $target.find('a.toggle').attr('aria-expanded', 'true')
213
+ $target.parentsUntil('#full_list', 'li').each(function(i, el) {
214
+ $(el).find('> div > a.toggle').attr('aria-expanded', 'true');
215
+ });
216
+
191
217
  if($target[0]) {
192
218
  window.scrollTo(window.scrollX, $target.offset().top - 250);
193
219
  highlight();
@@ -1,5 +1,5 @@
1
1
  <!DOCTYPE html>
2
- <html>
2
+ <html >
3
3
  <head>
4
4
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
5
5
  <meta charset="utf-8" />
@@ -38,7 +38,10 @@
38
38
 
39
39
  </div>
40
40
 
41
- <div id="search">Search: <input type="text" /></div>
41
+ <div id="search">
42
+ <label for="search-class">Search:</label>
43
+ <input id="search-class" type="text" />
44
+ </div>
42
45
  </div>
43
46
 
44
47
  <ul id="full_list" class="method">
@@ -204,9 +204,9 @@
204
204
  </div>
205
205
 
206
206
  <div id="footer">
207
- Generated on Sun May 14 21:55:15 2023 by
207
+ Generated on Tue Mar 11 16:01:29 2025 by
208
208
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
209
- 0.9.34 (ruby-3.2.0).
209
+ 0.9.37 (ruby-3.5.0).
210
210
  </div>
211
211
 
212
212
  </div>
@@ -23,26 +23,26 @@ end
23
23
  LIBZ_VERSION = ENV['LIBZ_VERSION'] || '1.3.1'
24
24
  LIBZ_SOURCE_URI = "http://zlib.net/fossils/zlib-#{LIBZ_VERSION}.tar.gz"
25
25
 
26
- LIBPNG_VERSION = ENV['LIBPNG_VERSION'] || '1.6.43'
26
+ LIBPNG_VERSION = ENV['LIBPNG_VERSION'] || '1.6.50'
27
27
  # LIBPNG_SOURCE_URI = "http://prdownloads.sourceforge.net/libpng/libpng-#{LIBPNG_VERSION}.tar.gz"
28
28
  LIBPNG_SOURCE_URI = "https://netcologne.dl.sourceforge.net/project/libpng/libpng16/#{LIBPNG_VERSION}/libpng-#{LIBPNG_VERSION}.tar.xz"
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'] || '3.0.3'
33
+ LIBJPEG_VERSION = ENV['LIBJPEG_VERSION'] || '3.1.1'
34
34
  LIBJPEG_SOURCE_URI = "https://github.com/libjpeg-turbo/libjpeg-turbo/releases/download/#{LIBJPEG_VERSION}/libjpeg-turbo-#{LIBJPEG_VERSION}.tar.gz"
35
35
 
36
- LIBTIFF_VERSION = ENV['LIBTIFF_VERSION'] || '4.6.0'
36
+ LIBTIFF_VERSION = ENV['LIBTIFF_VERSION'] || '4.7.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.58'
39
+ LIBFOX_VERSION = ENV['LIBFOX_VERSION'] || '1.6.59'
40
40
  LIBFOX_SOURCE_URI = "http://fox-toolkit.org/ftp/fox-#{LIBFOX_VERSION}.tar.gz"
41
41
 
42
- LIBFXSCINTILLA_VERSION = ENV['LIBFXSCINTILLA_VERSION'] || '2.28.0'
43
- LIBFXSCINTILLA_SOURCE_URI = "http://download.savannah.gnu.org/releases/fxscintilla/fxscintilla-#{LIBFXSCINTILLA_VERSION}.tar.gz"
44
- # LIBFXSCINTILLA_VERSION = ENV['LIBFXSCINTILLA_VERSION'] || '3.5.2'
45
- # LIBFXSCINTILLA_SOURCE_URI = "https://github.com/yetanothergeek/fxscintilla/archive/FXSCINTILLA-#{LIBFXSCINTILLA_VERSION.gsub(".","_")}.tar.gz"
42
+ # LIBFXSCINTILLA_VERSION = ENV['LIBFXSCINTILLA_VERSION'] || '2.28.0'
43
+ # LIBFXSCINTILLA_SOURCE_URI = "http://download.savannah.gnu.org/releases/fxscintilla/fxscintilla-#{LIBFXSCINTILLA_VERSION}.tar.gz"
44
+ LIBFXSCINTILLA_VERSION = ENV['LIBFXSCINTILLA_VERSION'] || '3.5.2'
45
+ LIBFXSCINTILLA_SOURCE_URI = "https://github.com/yetanothergeek/fxscintilla/archive/FXSCINTILLA-#{LIBFXSCINTILLA_VERSION.gsub(".","_")}.tar.gz"
46
46
 
47
47
  module BuildRecipeCommons
48
48
  def initialize(name, version, files)
@@ -51,7 +51,7 @@ module BuildRecipeCommons
51
51
  rootdir = File.expand_path('../../..', __FILE__)
52
52
  self.target = File.join(rootdir, "ports")
53
53
  self.host = RbConfig::CONFIG["CC"].match(/(.*)-/)[1]
54
- self.patch_files = Dir[File.join(rootdir, "patches", self.name, self.version, "*.diff")].sort
54
+ self.patch_files = Dir[File.join(rootdir, "patches", self.name, self.version, "*.patch")].sort
55
55
  end
56
56
 
57
57
  def port_path
@@ -87,6 +87,7 @@ class BuildRecipe < MiniPortile
87
87
  def configure_defaults
88
88
  [
89
89
  "--host=#{host}", # build for specific target (host)
90
+ "--build=x86_64-linux-gnu", # workaround old config.guess of fxscintilla not recognizing aarch64 host platform
90
91
  "--disable-static",
91
92
  "--enable-shared",
92
93
  ]
@@ -99,6 +100,7 @@ class BuildRecipeCMake < MiniPortileCMake
99
100
  case host
100
101
  when /x86_64/ then "amd64"
101
102
  when /i686/ then "x86"
103
+ when /aarch64/ then "aarch64"
102
104
  else raise "unknown host #{host}"
103
105
  end
104
106
  end
@@ -169,6 +171,11 @@ def do_rake_compiler_setup
169
171
  end
170
172
 
171
173
  libtiff_recipe = BuildRecipe.new("libtiff", LIBTIFF_VERSION, [LIBTIFF_SOURCE_URI]).tap do |recipe|
174
+ if RUBY_PLATFORM=~/aarch64-mingw/
175
+ recipe.configure_options += [
176
+ "LDFLAGS=-lclang_rt.builtins-aarch64",
177
+ ]
178
+ end
172
179
  recipe.cook_and_activate
173
180
  end
174
181
 
@@ -178,8 +185,8 @@ def do_rake_compiler_setup
178
185
  "--without-xft",
179
186
  "--without-x",
180
187
  debug ? "--enable-debug" : "--enable-release",
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" : ""} -D__USE_MINGW_ANSI_STDIO=1 -DHAVE_VSSCANF",
182
- "LDFLAGS=-L#{libjpeg_recipe.path}/lib -L#{libpng_recipe.path}/lib -L#{libtiff_recipe.path}/lib -L#{libz_recipe.path}/lib #{debug ? "-ggdb" : ""}",
188
+ "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" : ""} -D__USE_MINGW_ANSI_STDIO=1 -DHAVE_VSSCANF -Wno-register",
189
+ "LDFLAGS=-L#{libjpeg_recipe.path}/lib -L#{libpng_recipe.path}/lib -L#{libtiff_recipe.path}/lib -L#{libz_recipe.path}/lib #{debug ? "-ggdb" : ""} #{"-lclang_rt.builtins-aarch64" if RUBY_PLATFORM=~/aarch64-mingw/}",
183
190
  ]
184
191
  recipe.cook_and_activate
185
192
  end
@@ -191,17 +198,18 @@ def do_rake_compiler_setup
191
198
  "#{ENV['MAKE'] || "make"}"
192
199
  end
193
200
 
194
- # # This can be uncommented when fxscintilla is used from the source repository.
195
- # def configure
196
- # execute "bootstrap", "./bootstrap.sh"
197
- # super
198
- # end
201
+ def configure
202
+ # This is necessary when fxscintilla is used from the github repository.
203
+ execute "bootstrap", "./bootstrap.sh"
204
+
205
+ super
206
+ end
199
207
 
200
208
  def compile
201
209
  execute "compile_lexers", "cd lexers && #{mk}"
202
210
  execute "compile_lexlib", "cd lexlib && #{mk}"
203
211
  execute "compile_src", "cd src && #{mk}"
204
- execute "compile_fox", "cd fox && #{mk} libfxscintilla_la_LDFLAGS='-version-info 23:0:3 -export-dynamic -no-undefined -L#{libfox_path}/lib -lFOX-1.6'"
212
+ execute "compile_fox", "cd fox && #{mk} libfxscintilla_la_LDFLAGS='-version-info 25:0:0 -export-dynamic -no-undefined -L#{libfox_path}/lib -lFOX-1.6'"
205
213
  end
206
214
 
207
215
  def install
@@ -212,6 +220,10 @@ def do_rake_compiler_setup
212
220
 
213
221
  recipe.configure_options += [
214
222
  "PKG_CONFIG_PATH=#{libfox_recipe.path}/lib/pkgconfig",
223
+ # Fix undefined symbol __chkstk:
224
+ "LDFLAGS=#{"-lclang_rt.builtins-aarch64" if RUBY_PLATFORM=~/aarch64-mingw/}",
225
+ # Avoid gcc error: fxscintilla-FXSCINTILLA-3_5_2/fox/PlatFOX.cxx:1034: undefined reference to `_imp___ZN11FXScintilla11sendMessageEjml'
226
+ "CPPFLAGS=-DFOXDLL_EXPORTS",
215
227
  ]
216
228
  recipe.cook_and_activate
217
229
  end
@@ -294,6 +306,9 @@ dir_config('fox', '/usr/local/include/fox-1.6', '/usr/local/lib')
294
306
  dir_config('fxscintilla', '/usr/local/include/fxscintilla', '/usr/local/lib')
295
307
 
296
308
  unless enable_config("win32-cross")
309
+ if RUBY_PLATFORM =~ /^arm64-darwin/
310
+ dir_config('x11', '/opt/homebrew/include', '/opt/homebrew/lib')
311
+ end
297
312
  checking_for "fox per pkg-config" do
298
313
  pkg_config("fox")
299
314
  end
@@ -7113,7 +7113,14 @@ SWIGEXPORT void Init_scintilla(void) {
7113
7113
  SWIG_TypeClientData(SWIGTYPE_p_FXScintilla, (void *) &SwigClassFXScintilla);
7114
7114
  rb_define_alloc_func(SwigClassFXScintilla.klass, _wrap_FXScintilla_allocate);
7115
7115
  rb_define_method(SwigClassFXScintilla.klass, "initialize", VALUEFUNC(_wrap_new_FXScintilla), -1);
7116
- rb_define_const(SwigClassFXScintilla.klass, "ID_TICK", SWIG_From_int(static_cast< int >(FXScintilla::ID_TICK)));
7116
+ rb_define_const(SwigClassFXScintilla.klass, "ID_TICK_CARET", SWIG_From_int(static_cast< int >(FXScintilla::ID_TICK_CARET)));
7117
+ rb_define_const(SwigClassFXScintilla.klass, "ID_TICK_SCROLL", SWIG_From_int(static_cast< int >(FXScintilla::ID_TICK_SCROLL)));
7118
+ rb_define_const(SwigClassFXScintilla.klass, "ID_TICK_WIDEN", SWIG_From_int(static_cast< int >(FXScintilla::ID_TICK_WIDEN)));
7119
+ rb_define_const(SwigClassFXScintilla.klass, "ID_TICK_DWELL", SWIG_From_int(static_cast< int >(FXScintilla::ID_TICK_DWELL)));
7120
+ rb_define_const(SwigClassFXScintilla.klass, "ID_TICK_PLATFORM", SWIG_From_int(static_cast< int >(FXScintilla::ID_TICK_PLATFORM)));
7121
+ rb_define_const(SwigClassFXScintilla.klass, "ID_IDLE", SWIG_From_int(static_cast< int >(FXScintilla::ID_IDLE)));
7122
+ rb_define_const(SwigClassFXScintilla.klass, "ID_STYLE_IDLE", SWIG_From_int(static_cast< int >(FXScintilla::ID_STYLE_IDLE)));
7123
+ rb_define_const(SwigClassFXScintilla.klass, "ID_LAST", SWIG_From_int(static_cast< int >(FXScintilla::ID_LAST)));
7117
7124
  rb_define_method(SwigClassFXScintilla.klass, "onScintillaCommand", VALUEFUNC(_wrap_FXScintilla_onScintillaCommand), -1);
7118
7125
  rb_define_method(SwigClassFXScintilla.klass, "onPaint", VALUEFUNC(_wrap_FXScintilla_onPaint), -1);
7119
7126
  rb_define_method(SwigClassFXScintilla.klass, "onConfigure", VALUEFUNC(_wrap_FXScintilla_onConfigure), -1);
data/fxruby.gemspec CHANGED
@@ -32,7 +32,7 @@ Gem::Specification.new do |spec|
32
32
 
33
33
  spec.summary = %q{FXRuby is the Ruby binding to the FOX GUI toolkit.}
34
34
  spec.homepage = "https://github.com/larskanis/fxruby"
35
- spec.license = 'LGPL-2.1'
35
+ spec.license = 'LGPL-2.1-or-later'
36
36
  spec.metadata["changelog_uri"] = "https://github.com/larskanis/fxruby/blob/1.6/History.md"
37
37
  spec.metadata["documentation_uri"] = "https://rubydoc.info/gems/fxruby/frames"
38
38
 
@@ -50,7 +50,7 @@ Gem::Specification.new do |spec|
50
50
  spec.require_paths = ["lib"]
51
51
  spec.extensions = ["ext/fox16_c/extconf.rb"]
52
52
  spec.metadata['msys2_mingw_dependencies'] = 'fox'
53
- spec.required_ruby_version = [">= 2.6", "< 4"]
53
+ spec.required_ruby_version = [">= 2.7", "< 4"]
54
54
 
55
55
  spec.add_runtime_dependency 'mini_portile2', '~> 2.1'
56
56