fxruby 1.6.50 → 1.6.51

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (350) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/.github/workflows/binary.yml +17 -0
  4. data/.github/workflows/ci.yml +13 -2
  5. data/Gemfile +7 -2
  6. data/History.md +14 -0
  7. data/Rakefile +28 -46
  8. data/doap.rdf +2 -2
  9. data/docs/Fox/Canvas/CanvasError.html +2 -2
  10. data/docs/Fox/Canvas/CircleShape.html +2 -2
  11. data/docs/Fox/Canvas/ImageShape.html +2 -2
  12. data/docs/Fox/Canvas/LineShape.html +2 -2
  13. data/docs/Fox/Canvas/PolygonShape.html +2 -2
  14. data/docs/Fox/Canvas/RectangleShape.html +2 -2
  15. data/docs/Fox/Canvas/SelectionPolicy.html +2 -2
  16. data/docs/Fox/Canvas/Shape.html +3 -3
  17. data/docs/Fox/Canvas/ShapeCanvas.html +2 -2
  18. data/docs/Fox/Canvas/ShapeGroup.html +2 -2
  19. data/docs/Fox/Canvas/SingleSelectionPolicy.html +2 -2
  20. data/docs/Fox/Canvas/TextShape.html +7 -9
  21. data/docs/Fox/Canvas.html +3 -3
  22. data/docs/Fox/FTNonModal.html +2 -2
  23. data/docs/Fox/FX4Splitter.html +41 -41
  24. data/docs/Fox/FX7Segment.html +5 -5
  25. data/docs/Fox/FXAccelTable.html +2 -2
  26. data/docs/Fox/FXApp.html +54 -54
  27. data/docs/Fox/FXArc.html +2 -2
  28. data/docs/Fox/FXArrowButton.html +22 -22
  29. data/docs/Fox/FXBMPIcon.html +10 -10
  30. data/docs/Fox/FXBMPImage.html +9 -9
  31. data/docs/Fox/FXBitmap.html +7 -7
  32. data/docs/Fox/FXBitmapFrame.html +3 -3
  33. data/docs/Fox/FXBitmapView.html +4 -4
  34. data/docs/Fox/FXButton.html +21 -21
  35. data/docs/Fox/FXCURCursor.html +2 -2
  36. data/docs/Fox/FXCalendar.html +4 -4
  37. data/docs/Fox/FXCanvas.html +7 -7
  38. data/docs/Fox/FXCheckButton.html +13 -13
  39. data/docs/Fox/FXChoiceBox.html +20 -20
  40. data/docs/Fox/FXColor.html +2 -2
  41. data/docs/Fox/FXColorBar.html +10 -10
  42. data/docs/Fox/FXColorDialog.html +7 -7
  43. data/docs/Fox/FXColorItem.html +2 -2
  44. data/docs/Fox/FXColorList.html +2 -2
  45. data/docs/Fox/FXColorRing.html +7 -7
  46. data/docs/Fox/FXColorSelector.html +36 -36
  47. data/docs/Fox/FXColorWell.html +19 -19
  48. data/docs/Fox/FXColorWheel.html +20 -20
  49. data/docs/Fox/FXComboBox.html +31 -31
  50. data/docs/Fox/FXComboTableItem.html +2 -2
  51. data/docs/Fox/FXCommand.html +2 -2
  52. data/docs/Fox/FXComposite.html +5 -5
  53. data/docs/Fox/FXCursor.html +14 -14
  54. data/docs/Fox/FXDC.html +207 -207
  55. data/docs/Fox/FXDCPrint.html +2 -2
  56. data/docs/Fox/FXDCWindow.html +2 -2
  57. data/docs/Fox/FXDataTarget.html +8 -8
  58. data/docs/Fox/FXDebugTarget.html +3 -3
  59. data/docs/Fox/FXDelegator.html +2 -2
  60. data/docs/Fox/FXDial.html +28 -28
  61. data/docs/Fox/FXDialogBox.html +5 -5
  62. data/docs/Fox/FXDict.html +2 -2
  63. data/docs/Fox/FXDirBox.html +7 -7
  64. data/docs/Fox/FXDirDialog.html +2 -2
  65. data/docs/Fox/FXDirItem.html +2 -2
  66. data/docs/Fox/FXDirList.html +19 -19
  67. data/docs/Fox/FXDirSelector.html +15 -15
  68. data/docs/Fox/FXDockBar.html +27 -27
  69. data/docs/Fox/FXDockHandler.html +5 -5
  70. data/docs/Fox/FXDockSite.html +14 -14
  71. data/docs/Fox/FXDockTitle.html +2 -2
  72. data/docs/Fox/FXDocument.html +5 -5
  73. data/docs/Fox/FXDragCorner.html +2 -2
  74. data/docs/Fox/FXDrawable.html +5 -5
  75. data/docs/Fox/FXDriveBox.html +5 -5
  76. data/docs/Fox/FXEvent.html +62 -60
  77. data/docs/Fox/FXExtentd.html +2 -2
  78. data/docs/Fox/FXExtentf.html +2 -2
  79. data/docs/Fox/FXFileAssoc.html +2 -2
  80. data/docs/Fox/FXFileDialog.html +32 -32
  81. data/docs/Fox/FXFileDict.html +7 -7
  82. data/docs/Fox/FXFileItem.html +2 -2
  83. data/docs/Fox/FXFileList.html +27 -27
  84. data/docs/Fox/FXFileSelector.html +35 -35
  85. data/docs/Fox/FXFileStream.html +6 -6
  86. data/docs/Fox/FXFoldingItem.html +2 -2
  87. data/docs/Fox/FXFoldingList.html +41 -41
  88. data/docs/Fox/FXFont.html +172 -170
  89. data/docs/Fox/FXFontDesc.html +2 -2
  90. data/docs/Fox/FXFontDialog.html +2 -2
  91. data/docs/Fox/FXFontSelector.html +14 -14
  92. data/docs/Fox/FXFrame.html +4 -4
  93. data/docs/Fox/FXGIFCursor.html +2 -2
  94. data/docs/Fox/FXGIFIcon.html +10 -10
  95. data/docs/Fox/FXGIFImage.html +9 -9
  96. data/docs/Fox/FXGLCanvas.html +2 -2
  97. data/docs/Fox/FXGLCone.html +2 -2
  98. data/docs/Fox/FXGLContext.html +2 -2
  99. data/docs/Fox/FXGLCube.html +2 -2
  100. data/docs/Fox/FXGLCylinder.html +2 -2
  101. data/docs/Fox/FXGLGroup.html +2 -2
  102. data/docs/Fox/FXGLLine.html +2 -2
  103. data/docs/Fox/FXGLObject.html +14 -14
  104. data/docs/Fox/FXGLPoint.html +2 -2
  105. data/docs/Fox/FXGLShape.html +26 -26
  106. data/docs/Fox/FXGLSphere.html +2 -2
  107. data/docs/Fox/FXGLViewer.html +74 -74
  108. data/docs/Fox/FXGLVisual.html +2 -2
  109. data/docs/Fox/FXGradient.html +2 -2
  110. data/docs/Fox/FXGradientBar.html +34 -34
  111. data/docs/Fox/FXGroupBox.html +7 -7
  112. data/docs/Fox/FXHeader.html +20 -20
  113. data/docs/Fox/FXHeaderItem.html +19 -19
  114. data/docs/Fox/FXHiliteStyle.html +2 -2
  115. data/docs/Fox/FXHorizontalFrame.html +15 -15
  116. data/docs/Fox/FXHorizontalSeparator.html +13 -13
  117. data/docs/Fox/FXICOIcon.html +10 -10
  118. data/docs/Fox/FXICOImage.html +9 -9
  119. data/docs/Fox/FXIcon.html +10 -10
  120. data/docs/Fox/FXIconDict.html +2 -2
  121. data/docs/Fox/FXIconItem.html +2 -2
  122. data/docs/Fox/FXIconList.html +43 -43
  123. data/docs/Fox/FXIconSource.html +2 -2
  124. data/docs/Fox/FXId.html +2 -2
  125. data/docs/Fox/FXImage.html +120 -297
  126. data/docs/Fox/FXImageFrame.html +14 -14
  127. data/docs/Fox/FXImageView.html +13 -13
  128. data/docs/Fox/FXInputDialog.html +7 -7
  129. data/docs/Fox/FXIrb.html +2 -2
  130. data/docs/Fox/FXJPGIcon.html +11 -11
  131. data/docs/Fox/FXJPGImage.html +10 -10
  132. data/docs/Fox/FXKnob.html +17 -17
  133. data/docs/Fox/FXLabel.html +25 -25
  134. data/docs/Fox/FXLight.html +2 -2
  135. data/docs/Fox/FXList.html +29 -29
  136. data/docs/Fox/FXListBox.html +8 -8
  137. data/docs/Fox/FXListItem.html +2 -2
  138. data/docs/Fox/FXMDIChild.html +21 -21
  139. data/docs/Fox/FXMDIClient.html +224 -28
  140. data/docs/Fox/FXMDIDeleteButton.html +2 -2
  141. data/docs/Fox/FXMDIMaximizeButton.html +2 -2
  142. data/docs/Fox/FXMDIMenu.html +2 -2
  143. data/docs/Fox/FXMDIMinimizeButton.html +2 -2
  144. data/docs/Fox/FXMDIRestoreButton.html +2 -2
  145. data/docs/Fox/FXMDIWindowButton.html +2 -2
  146. data/docs/Fox/FXMainWindow.html +4 -4
  147. data/docs/Fox/FXMaterial.html +2 -2
  148. data/docs/Fox/FXMatrix.html +5 -5
  149. data/docs/Fox/FXMemoryBuffer.html +4 -4
  150. data/docs/Fox/FXMemoryStream.html +8 -8
  151. data/docs/Fox/FXMenuBar.html +2 -2
  152. data/docs/Fox/FXMenuButton.html +24 -24
  153. data/docs/Fox/FXMenuCaption.html +5 -5
  154. data/docs/Fox/FXMenuCascade.html +2 -2
  155. data/docs/Fox/FXMenuCheck.html +4 -4
  156. data/docs/Fox/FXMenuCommand.html +4 -4
  157. data/docs/Fox/FXMenuPane.html +2 -2
  158. data/docs/Fox/FXMenuRadio.html +4 -4
  159. data/docs/Fox/FXMenuSeparator.html +2 -2
  160. data/docs/Fox/FXMenuTitle.html +7 -7
  161. data/docs/Fox/FXMessageBox.html +21 -21
  162. data/docs/Fox/FXObject.html +2 -2
  163. data/docs/Fox/FXOption.html +8 -8
  164. data/docs/Fox/FXOptionMenu.html +8 -8
  165. data/docs/Fox/FXPCXIcon.html +10 -10
  166. data/docs/Fox/FXPCXImage.html +9 -9
  167. data/docs/Fox/FXPNGIcon.html +10 -10
  168. data/docs/Fox/FXPNGImage.html +9 -9
  169. data/docs/Fox/FXPPMIcon.html +10 -10
  170. data/docs/Fox/FXPPMImage.html +9 -9
  171. data/docs/Fox/FXPSBounds.html +2 -2
  172. data/docs/Fox/FXPacker.html +2 -2
  173. data/docs/Fox/FXPicker.html +5 -5
  174. data/docs/Fox/FXPopup.html +6 -6
  175. data/docs/Fox/FXPrintDialog.html +23 -23
  176. data/docs/Fox/FXPrinter.html +22 -22
  177. data/docs/Fox/FXProgressBar.html +8 -8
  178. data/docs/Fox/FXProgressDialog.html +6 -6
  179. data/docs/Fox/FXPseudoKeyboard.html +2 -2
  180. data/docs/Fox/FXPseudoMouse.html +2 -2
  181. data/docs/Fox/FXPseudoTarget.html +2 -2
  182. data/docs/Fox/FXQuatd.html +19 -19
  183. data/docs/Fox/FXQuatf.html +24 -24
  184. data/docs/Fox/FXRGBIcon.html +10 -10
  185. data/docs/Fox/FXRGBImage.html +9 -9
  186. data/docs/Fox/FXRadioButton.html +12 -12
  187. data/docs/Fox/FXRanged.html +2 -2
  188. data/docs/Fox/FXRangef.html +2 -2
  189. data/docs/Fox/FXRealSlider.html +40 -40
  190. data/docs/Fox/FXRealSpinner.html +32 -32
  191. data/docs/Fox/FXRecentFiles.html +17 -17
  192. data/docs/Fox/FXRectangle.html +15 -15
  193. data/docs/Fox/FXRegion.html +2 -2
  194. data/docs/Fox/FXRegistry.html +2 -2
  195. data/docs/Fox/FXReplaceDialog.html +29 -29
  196. data/docs/Fox/FXRootWindow.html +5 -5
  197. data/docs/Fox/FXRuler.html +31 -31
  198. data/docs/Fox/FXRulerView.html +2 -2
  199. data/docs/Fox/FXScintilla.html +9116 -2763
  200. data/docs/Fox/FXScrollArea.html +21 -21
  201. data/docs/Fox/FXScrollBar.html +31 -31
  202. data/docs/Fox/FXScrollCorner.html +2 -2
  203. data/docs/Fox/FXScrollPane.html +6 -6
  204. data/docs/Fox/FXScrollWindow.html +9 -9
  205. data/docs/Fox/FXSearchDialog.html +11 -11
  206. data/docs/Fox/FXSegment.html +2 -2
  207. data/docs/Fox/FXSeparator.html +7 -7
  208. data/docs/Fox/FXSettings.html +56 -56
  209. data/docs/Fox/FXShell.html +2 -2
  210. data/docs/Fox/FXShutter.html +24 -24
  211. data/docs/Fox/FXShutterItem.html +19 -19
  212. data/docs/Fox/FXSize.html +12 -12
  213. data/docs/Fox/FXSlider.html +40 -40
  214. data/docs/Fox/FXSphered.html +2 -2
  215. data/docs/Fox/FXSpheref.html +2 -2
  216. data/docs/Fox/FXSpinner.html +31 -31
  217. data/docs/Fox/FXSplashScreen.html +3 -3
  218. data/docs/Fox/FXSplashWindow.html +7 -7
  219. data/docs/Fox/FXSplitter.html +22 -22
  220. data/docs/Fox/FXSpring.html +17 -17
  221. data/docs/Fox/FXStatusBar.html +17 -17
  222. data/docs/Fox/FXStatusLine.html +8 -8
  223. data/docs/Fox/FXStream.html +26 -26
  224. data/docs/Fox/FXStreamAllocError.html +2 -2
  225. data/docs/Fox/FXStreamEndError.html +2 -2
  226. data/docs/Fox/FXStreamError.html +2 -2
  227. data/docs/Fox/FXStreamFailureError.html +2 -2
  228. data/docs/Fox/FXStreamFormatError.html +2 -2
  229. data/docs/Fox/FXStreamFullError.html +2 -2
  230. data/docs/Fox/FXStreamNoReadError.html +2 -2
  231. data/docs/Fox/FXStreamNoWriteError.html +2 -2
  232. data/docs/Fox/FXStreamUnknownError.html +2 -2
  233. data/docs/Fox/FXStringDict.html +2 -2
  234. data/docs/Fox/FXSwitcher.html +30 -30
  235. data/docs/Fox/FXTGAIcon.html +10 -10
  236. data/docs/Fox/FXTGAImage.html +9 -9
  237. data/docs/Fox/FXTIFIcon.html +10 -10
  238. data/docs/Fox/FXTIFImage.html +9 -9
  239. data/docs/Fox/FXTabBar.html +37 -37
  240. data/docs/Fox/FXTabBook.html +15 -15
  241. data/docs/Fox/FXTabItem.html +27 -27
  242. data/docs/Fox/FXTable.html +89 -89
  243. data/docs/Fox/FXTableItem.html +6 -6
  244. data/docs/Fox/FXTablePos.html +2 -2
  245. data/docs/Fox/FXTableRange.html +2 -2
  246. data/docs/Fox/FXText.html +115 -115
  247. data/docs/Fox/FXTextChange.html +2 -2
  248. data/docs/Fox/FXTextField.html +55 -55
  249. data/docs/Fox/FXToggleButton.html +31 -31
  250. data/docs/Fox/FXToolBar.html +15 -15
  251. data/docs/Fox/FXToolBarGrip.html +14 -14
  252. data/docs/Fox/FXToolBarShell.html +11 -11
  253. data/docs/Fox/FXToolBarTab.html +21 -21
  254. data/docs/Fox/FXToolTip.html +12 -10
  255. data/docs/Fox/FXTopWindow.html +34 -34
  256. data/docs/Fox/FXTranslator.html +2 -2
  257. data/docs/Fox/FXTreeItem.html +2 -2
  258. data/docs/Fox/FXTreeList.html +41 -41
  259. data/docs/Fox/FXTreeListBox.html +23 -23
  260. data/docs/Fox/FXTriStateButton.html +21 -21
  261. data/docs/Fox/FXUndoList.html +3 -3
  262. data/docs/Fox/FXVec2d.html +2 -2
  263. data/docs/Fox/FXVec2f.html +2 -2
  264. data/docs/Fox/FXVec3d.html +2 -2
  265. data/docs/Fox/FXVec3f.html +2 -2
  266. data/docs/Fox/FXVec4d.html +2 -2
  267. data/docs/Fox/FXVec4f.html +2 -2
  268. data/docs/Fox/FXVerticalFrame.html +15 -15
  269. data/docs/Fox/FXVerticalSeparator.html +13 -13
  270. data/docs/Fox/FXViewport.html +2 -2
  271. data/docs/Fox/FXVisual.html +24 -24
  272. data/docs/Fox/FXWindow.html +143 -143
  273. data/docs/Fox/FXWizard.html +5 -5
  274. data/docs/Fox/FXXBMIcon.html +11 -11
  275. data/docs/Fox/FXXBMImage.html +10 -10
  276. data/docs/Fox/FXXPMIcon.html +10 -10
  277. data/docs/Fox/FXXPMImage.html +9 -9
  278. data/docs/Fox/NotifyHeader.html +2 -2
  279. data/docs/Fox/SCNotification.html +2 -2
  280. data/docs/Fox/TextRange.html +2 -2
  281. data/docs/Fox.html +89 -89
  282. data/docs/IRB.html +2 -2
  283. data/docs/Responder.html +2 -2
  284. data/docs/Responder2.html +2 -2
  285. data/docs/_index.html +2 -2
  286. data/docs/css/style.css +2 -15
  287. data/docs/file.History.html +1432 -842
  288. data/docs/file.README.html +9 -9
  289. data/docs/index.html +94 -53
  290. data/docs/js/app.js +91 -40
  291. data/docs/js/full_list.js +22 -20
  292. data/docs/method_list.html +2854 -2286
  293. data/docs/top-level-namespace.html +2 -2
  294. data/examples/canvasdemo.rb +4 -4
  295. data/examples/iconlist.rb +79 -4
  296. data/examples/inputs.rb +1 -1
  297. data/examples/rmagick.rb +9 -9
  298. data/ext/fox16_c/FXRbApp.cpp +2 -1
  299. data/ext/fox16_c/FXRbDataTarget.cpp +1 -0
  300. data/ext/fox16_c/FXRbGLViewer.cpp +1 -0
  301. data/ext/fox16_c/FXRbObjRegistry.cpp +12 -5
  302. data/ext/fox16_c/FXRuby.cpp +57 -37
  303. data/ext/fox16_c/core_wrap.cpp +2593 -2155
  304. data/ext/fox16_c/dc_wrap.cpp +1033 -707
  305. data/ext/fox16_c/dialogs_wrap.cpp +1865 -1513
  306. data/ext/fox16_c/extconf.rb +11 -8
  307. data/ext/fox16_c/frames_wrap.cpp +3257 -2876
  308. data/ext/fox16_c/fx3d_wrap.cpp +2170 -1780
  309. data/ext/fox16_c/gvl_wrappers.cpp +1 -0
  310. data/ext/fox16_c/iconlist_wrap.cpp +1209 -882
  311. data/ext/fox16_c/icons_wrap.cpp +1132 -775
  312. data/ext/fox16_c/image_wrap.cpp +1116 -756
  313. data/ext/fox16_c/impl.cpp +1 -0
  314. data/ext/fox16_c/include/FXRbDCWindow.h +1 -1
  315. data/ext/fox16_c/include/FXRuby.h +6 -6
  316. data/ext/fox16_c/label_wrap.cpp +1702 -1354
  317. data/ext/fox16_c/layout_wrap.cpp +1752 -1392
  318. data/ext/fox16_c/list_wrap.cpp +899 -572
  319. data/ext/fox16_c/make_impl.rb +1 -0
  320. data/ext/fox16_c/markfuncs.cpp +1 -0
  321. data/ext/fox16_c/mdi_wrap.cpp +1220 -881
  322. data/ext/fox16_c/menu_wrap.cpp +1402 -1057
  323. data/ext/fox16_c/scintilla_wrap.cpp +658 -337
  324. data/ext/fox16_c/swigruby.h +262 -119
  325. data/ext/fox16_c/table_wrap.cpp +1064 -741
  326. data/ext/fox16_c/text_wrap.cpp +1062 -741
  327. data/ext/fox16_c/treelist_wrap.cpp +1522 -1189
  328. data/ext/fox16_c/ui_wrap.cpp +3610 -3216
  329. data/ext/fox16_c/unregisterOwnedObjects.cpp +1 -0
  330. data/fxruby.gemspec +6 -1
  331. data/lib/fox16/canvas.rb +1 -1
  332. data/lib/fox16/core.rb +97 -26
  333. data/lib/fox16/undolist.rb +32 -32
  334. data/lib/fox16/version.rb +1 -1
  335. data/rdoc-sources/FXApp.rb +12 -0
  336. data/rdoc-sources/FXFont.rb +2 -0
  337. data/rdoc-sources/FXMDIClient.rb +15 -0
  338. data/scripts/iface.rb +1 -0
  339. data/swig-interfaces/FXScintilla.i +1 -1
  340. data/swig-interfaces/FXText.i +1 -1
  341. data/swig-interfaces/freefuncs.i +1 -0
  342. data/swig-interfaces/ruby-typemaps.i +19 -19
  343. data/test/TC_FXBMPImage.rb +1 -1
  344. data/test/TC_FXDC.rb +24 -0
  345. data/test/TC_FXMat4f.rb +23 -14
  346. data/test/TC_FXSize.rb +8 -4
  347. data/test/TS_All.rb +4 -0
  348. data.tar.gz.sig +0 -0
  349. metadata +18 -15
  350. metadata.gz.sig +0 -0
@@ -58,29 +58,29 @@
58
58
  </div>
59
59
 
60
60
  <div id="content"><div id='filecontents'>
61
- <h1 id="label-Introduction">Introduction</h1>
61
+ <h1 id="introduction">Introduction</h1>
62
62
 
63
63
  <p><strong>This is the RDoc-generated API documentation for FXRuby version 1.6.</strong> If you have some constructive comments about the content, format or presentation, please do send those to me (at <a href="mailto:lyle@rubyforge.org">lyle@rubyforge.org</a>).</p>
64
64
 
65
- <h1 id="label-Page+layout">Page layout</h1>
65
+ <h1 id="page-layout">Page layout</h1>
66
66
 
67
67
  <p>The page layout is roughly the same for every class. The page begins with a brief description of the class and is then followed by one or more of the following sections:</p>
68
- <dl class="rdoc-list label-list"><dt><strong>Attributes</strong>
68
+ <dl class="rdoc-list label-list"><dt><strong>Attributes</strong></dt>
69
69
  <dd>
70
70
  <p>This section lists the names of all the attributes for this widget. As with all Ruby object “attributes”, these are actually just the names of instance methods for the class, but it is nevertheless natural to think of these as attributes (or <em>properties</em>) of the widget. Most attributes are both readable and writeable, but some are only read-only, so be sure to check the attributes listing within the main class documentation section to be sure.</p>
71
- </dd><dt><strong>Events</strong>
71
+ </dd><dt><strong>Events</strong></dt>
72
72
  <dd>
73
73
  <p>This section lists the types for all of the messages that this widget might send to its message target, and the circumstances under which those messages are sent. When it’s important, the message data associated with that event is also described.</p>
74
- </dd><dt><strong>Options</strong>
74
+ </dd><dt><strong>Options</strong></dt>
75
75
  <dd>
76
76
  <p>Most widgets have one or more options that affect their appearance or behavior. These options can be passed into the class’s <em>new</em> method when the object is first instantiated. They can usually also be changed after the object exists via some object-specific accessor method. For example, the options for an FXButton can be get or set via the FXButton#buttonStyle accessor methods.</p>
77
77
  </dd></dl>
78
78
 
79
- <h1 id="label-Where-27s+the+code-3F">Where’s the code?</h1>
79
+ <h1 id="wheres-the-code">Where’s the code?</h1>
80
80
 
81
81
  <p>One difference you may notice from documentation generated for other Ruby extensions is that there’s no source code attached to the instance methods when you click on them (i.e. they will appear to be empty method definitions). That’s because most of these functions are in fact implemented in C++ code (since FXRuby is itself a C++ extension to Ruby).</p>
82
82
 
83
- <h1 id="label-TODO">TODO</h1>
83
+ <h1 id="todo">TODO</h1>
84
84
 
85
85
  <p>A few notes and suggestions from Hugh Sasse:</p>
86
86
  <ul><li>
@@ -94,9 +94,9 @@
94
94
  </div></div>
95
95
 
96
96
  <div id="footer">
97
- Generated on Tue Mar 11 16:01:29 2025 by
97
+ Generated on Thu Mar 26 09:48:22 2026 by
98
98
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
99
- 0.9.37 (ruby-3.5.0).
99
+ 0.9.38 (ruby-4.0.0).
100
100
  </div>
101
101
 
102
102
  </div>
data/docs/index.html CHANGED
@@ -57,80 +57,121 @@
57
57
  <div class="clear"></div>
58
58
  </div>
59
59
 
60
- <div id="content"><div id='filecontents'>
61
- <h1 id="label-FXRuby">FXRuby</h1>
62
- <ul><li>
63
- <p><a href="http://github.com/larskanis/fxruby">github.com/larskanis/fxruby</a></p>
64
- </li><li>
65
- <p>Full API-description: <a href="http://rubydoc.info/gems/fxruby/frames">rubydoc.info/gems/fxruby/frames</a> or <a href="https://larskanis.github.io/fxruby">larskanis.github.io/fxruby</a>/</p>
66
- </li><li>
67
- <p>Latest fxruby <a href="http://badge.fury.io/rb/fxruby"><img src="https://badge.fury.io/rb/fxruby.svg"></a></p>
68
- </li><li>
69
- <p>CI-Status: <a href="https://github.com/larskanis/fxruby/actions/workflows/ci.yml"><img src="https://github.com/larskanis/fxruby/actions/workflows/ci.yml/badge.svg?branch=1.6"></a> and on Windows: <a href="https://ci.appveyor.com/project/larskanis/fxruby/branch/1.6"><img src="https://ci.appveyor.com/api/projects/status/too7sj4gq643ts8w/branch/1.6?svg=true"></a></p>
70
- </li></ul>
60
+ <div id="content"><div id='filecontents'><h1 id="fxruby">FXRuby</h1>
71
61
 
72
- <h2 id="label-DESCRIPTION-3A">DESCRIPTION:</h2>
62
+ <ul>
63
+ <li><a href="http://github.com/larskanis/fxruby">http://github.com/larskanis/fxruby</a></li>
64
+ <li>Full API-description: <a href="http://rubydoc.info/gems/fxruby/frames">http://rubydoc.info/gems/fxruby/frames</a> or <a href="https://larskanis.github.io/fxruby/">https://larskanis.github.io/fxruby/</a></li>
65
+ <li>Latest fxruby <a href="http://badge.fury.io/rb/fxruby"><img src="https://badge.fury.io/rb/fxruby.svg" alt="Gem Version"></a></li>
66
+ <li>CI-Status: <a href="https://github.com/larskanis/fxruby/actions/workflows/ci.yml"><img src="https://github.com/larskanis/fxruby/actions/workflows/ci.yml/badge.svg?branch=1.6" alt="Build Status"></a> and on Windows: <a href="https://ci.appveyor.com/project/larskanis/fxruby/branch/1.6"><img src="https://ci.appveyor.com/api/projects/status/too7sj4gq643ts8w/branch/1.6?svg=true" alt="Build Status on Windows"></a></li>
67
+ </ul>
73
68
 
74
- <p>FXRuby is a library for developing powerful and sophisticated cross-platform graphical user interfaces (GUIs) for your Ruby applications. It’s based on the FOX Toolkit, a popular open source C++ library developed by Jeroen van der Zijp. What that means for you as an application developer is that you’re able to write code in the Ruby programming language that you already know and love, while at the same time taking advantage of the performance and functionality of a featureful, highly optimized C++ toolkit.</p>
69
+ <h2 id="description">DESCRIPTION:</h2>
75
70
 
76
- <h2 id="label-FEATURES-3A">FEATURES:</h2>
71
+ <p>FXRuby is a library for developing powerful and sophisticated
72
+ cross-platform graphical user interfaces (GUIs) for your Ruby
73
+ applications. It’s based on the FOX Toolkit, a popular open source
74
+ C++ library developed by Jeroen van der Zijp. What that means for you
75
+ as an application developer is that you’re able to write code in the
76
+ Ruby programming language that you already know and love, while at the
77
+ same time taking advantage of the performance and functionality of a
78
+ featureful, highly optimized C++ toolkit.</p>
77
79
 
78
- <p>FXRuby supportes everything of FOX, that is useful in Ruby: * MDI/SDI application window layouts, floating toolbars * Rich set of controls (tables, imagelists, menus, canvas, …) * Flexible layout management * Image read/write support in many formats * Embedded OpenGL graphics through the <a href="https://github.com/vaiorabbit/ruby-opengl">opengl-bindings2</a> gem * Thread support</p>
80
+ <h2 id="features">FEATURES:</h2>
79
81
 
80
- <h2 id="label-INSTALL-3A">INSTALL:</h2>
82
+ <p>FXRuby supportes everything of FOX, that is useful in Ruby:</p>
81
83
 
82
- <p>FXRuby runs on Linux, Windows and OS-X with Ruby-2.5 or newer. Installation on Unix requires FOX development headers and libraries installed: * on Debian/Ubuntu: <code>sudo apt-get install g++ libxrandr-dev libfox-1.6-dev</code> * on Mac: <code>sudo port install rb-fxruby</code> OR <code>brew install fox &amp;&amp; brew install xquartz</code> * on Windows: the binary fxruby gems already contain all required libraries * see also detailed installation instructions in the <a href="https://github.com/lylejohnson/fxruby/wiki">Wiki</a></p>
84
+ <ul>
85
+ <li>MDI/SDI application window layouts, floating toolbars</li>
86
+ <li>Rich set of controls (tables, imagelists, menus, canvas, ...)</li>
87
+ <li>Flexible layout management</li>
88
+ <li>Image read/write support in many formats</li>
89
+ <li>Embedded OpenGL graphics through the <a href="https://github.com/vaiorabbit/ruby-opengl">opengl-bindings2</a> gem</li>
90
+ <li>Thread support</li>
91
+ </ul>
83
92
 
84
- <p>Then, install the gem: * gem install fxruby</p>
93
+ <h2 id="install">INSTALL:</h2>
85
94
 
86
- <p>On Mac, before running applications, you must also run: <code>open -a /Applications/Utilities/XQuartz.app</code></p>
95
+ <p>FXRuby runs on Linux, Windows and OS-X with Ruby-2.5 or newer. Installation on Unix requires
96
+ FOX development headers and libraries installed:</p>
87
97
 
88
- <p>(otherwise, you end up getting this message when running applications on Mac: <code>FXRbApp::openDisplay: unable to open display :0.0</code>)</p>
98
+ <ul>
99
+ <li>on Debian/Ubuntu: <tt>sudo apt-get install g++ libxrandr-dev libfox-1.6-dev</tt></li>
100
+ <li>on Mac: <tt>sudo port install rb-fxruby</tt> OR <tt>brew install fox &amp;&amp; brew install xquartz</tt></li>
101
+ <li>on Windows: the binary fxruby gems already contain all required libraries</li>
102
+ <li>see also detailed installation instructions in the <a href="https://github.com/lylejohnson/fxruby/wiki">Wiki</a></li>
103
+ </ul>
89
104
 
90
- <h2 id="label-DIRECTORIES">DIRECTORIES</h2>
105
+ <p>Then, install the gem:</p>
106
+
107
+ <ul>
108
+ <li>gem install fxruby</li>
109
+ </ul>
110
+
111
+ <p>On Mac, before running applications, you must also run: <tt>open -a /Applications/Utilities/XQuartz.app</tt></p>
112
+
113
+ <p>(otherwise, you end up getting this message when running applications on Mac: <tt>FXRbApp::openDisplay: unable to open display :0.0</tt>)</p>
114
+
115
+ <h2 id="directories">DIRECTORIES</h2>
91
116
 
92
117
  <p>The directory structure is:</p>
93
- <ul><li>
94
- <p>examples/</p>
95
- </li></ul>
96
118
 
97
- <p>Contains example programs demonstrating how to use FXRuby and its many wonderful features.</p>
98
- <ul><li>
99
- <p>ext/fox16_c</p>
100
- </li></ul>
119
+ <ul>
120
+ <li>examples/</li>
121
+ </ul>
122
+
123
+ <p>Contains example programs demonstrating how to use FXRuby and
124
+ its many wonderful features.</p>
125
+
126
+ <ul>
127
+ <li>ext/fox16_c</li>
128
+ </ul>
101
129
 
102
- <p>Contains the C++ source code for the shared library part of FXRuby. These files are required to build FXRuby from the source code.</p>
103
- <ul><li>
104
- <p>lib/fox16</p>
105
- </li></ul>
130
+ <p>Contains the C++ source code for the shared library part of FXRuby.
131
+ These files are required to build FXRuby from the source code.</p>
106
132
 
107
- <p>Contains the Ruby source code for the rest of FXRuby. These files are not required to “build” FXRuby, but they are a part of the standard FXRuby runtime environment and must be installed along with the shared library part.</p>
108
- <ul><li>
109
- <p>tests/</p>
110
- </li></ul>
133
+ <ul>
134
+ <li>lib/fox16</li>
135
+ </ul>
136
+
137
+ <p>Contains the Ruby source code for the rest of FXRuby. These files
138
+ are not required to &quot;build&quot; FXRuby, but they are a part of the
139
+ standard FXRuby runtime environment and must be installed along with
140
+ the shared library part.</p>
141
+
142
+ <ul>
143
+ <li>tests/</li>
144
+ </ul>
111
145
 
112
146
  <p>Contains a test battery for FXRuby.</p>
113
147
 
114
- <p>If you’re looking at a checkout of the source code from its GIT repository, you might see some additional directories of interest:</p>
115
- <ul><li>
116
- <p>fox-includes/</p>
117
- </li></ul>
148
+ <p>If you&#39;re looking at a checkout of the source code from its GIT repository,
149
+ you might see some additional directories of interest:</p>
150
+
151
+ <ul>
152
+ <li>fox-includes/</li>
153
+ </ul>
154
+
155
+ <p>An archive of the FOX library header files corresponding to this
156
+ release of FXRuby.</p>
157
+
158
+ <ul>
159
+ <li>rdoc-sources/</li>
160
+ </ul>
118
161
 
119
- <p>An archive of the FOX library header files corresponding to this release of FXRuby.</p>
120
- <ul><li>
121
- <p>rdoc-sources/</p>
122
- </li></ul>
162
+ <p>A set of &quot;fake&quot; Ruby source files for the various
163
+ FXRuby classes, which are used to generate RDoc-style documentation.</p>
123
164
 
124
- <p>A set of “fake” Ruby source files for the various FXRuby classes, which are used to generate RDoc-style documentation.</p>
125
- <ul><li>
126
- <p>swig-interfaces/</p>
127
- </li></ul>
165
+ <ul>
166
+ <li>swig-interfaces/</li>
167
+ </ul>
128
168
 
129
- <p>The SWIG interface files used to generate the C++ wrapper code (i.e. the code found in the ext/fox directory).</p>
169
+ <p>The SWIG interface files used to generate the C++ wrapper code (i.e.
170
+ the code found in the ext/fox directory).</p>
130
171
 
131
- <h2 id="label-LICENSE">LICENSE</h2>
172
+ <h2 id="license">LICENSE</h2>
132
173
 
133
- <pre class="code ruby"><code class="ruby">GNU LESSER GENERAL PUBLIC LICENSE
174
+ <pre class="code ruby"><code class="ruby"> GNU LESSER GENERAL PUBLIC LICENSE
134
175
  Version 2.1, February 1999
135
176
 
136
177
  Copyright (C) 1991, 1999 Free Software Foundation, Inc.
@@ -590,9 +631,9 @@
590
631
  </div></div>
591
632
 
592
633
  <div id="footer">
593
- Generated on Tue Mar 11 16:01:28 2025 by
634
+ Generated on Thu Mar 26 09:48:22 2026 by
594
635
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
595
- 0.9.37 (ruby-3.5.0).
636
+ 0.9.38 (ruby-4.0.0).
596
637
  </div>
597
638
 
598
639
  </div>
data/docs/js/app.js CHANGED
@@ -1,4 +1,4 @@
1
- (function () {
1
+ window.__app = function () {
2
2
  var localStorage = {},
3
3
  sessionStorage = {};
4
4
  try {
@@ -153,7 +153,6 @@
153
153
  });
154
154
  // Add the value of the constant as "Tooltip" to the summary object
155
155
  list.find("pre.code").each(function () {
156
- console.log($(this).parent());
157
156
  var dt_element = $(this).parent().prev();
158
157
  var tooltip = $(this).text();
159
158
  if (dt_element.hasClass("deprecated")) {
@@ -250,37 +249,46 @@
250
249
  );
251
250
  }
252
251
 
253
- function navResizeFn(e) {
254
- if (e.which !== 1) {
255
- navResizeFnStop();
256
- return;
257
- }
258
-
259
- sessionStorage.navWidth = e.pageX.toString();
260
- $(".nav_wrap").css("width", e.pageX);
261
- $(".nav_wrap").css("-ms-flex", "inherit");
262
- }
263
-
264
- function navResizeFnStop() {
265
- $(window).unbind("mousemove", navResizeFn);
266
- window.removeEventListener("message", navMessageFn, false);
267
- }
268
-
269
- function navMessageFn(e) {
270
- if (e.data.action === "mousemove") navResizeFn(e.data.event);
271
- if (e.data.action === "mouseup") navResizeFnStop();
272
- }
273
-
274
252
  function navResizer() {
275
- $("#resizer").mousedown(function (e) {
276
- e.preventDefault();
277
- $(window).mousemove(navResizeFn);
278
- window.addEventListener("message", navMessageFn, false);
279
- });
280
- $(window).mouseup(navResizeFnStop);
253
+ const resizer = document.getElementById("resizer");
254
+ resizer.addEventListener(
255
+ "pointerdown",
256
+ function (e) {
257
+ resizer.setPointerCapture(e.pointerId);
258
+ e.preventDefault();
259
+ e.stopPropagation();
260
+ },
261
+ false
262
+ );
263
+ resizer.addEventListener(
264
+ "pointerup",
265
+ function (e) {
266
+ resizer.releasePointerCapture(e.pointerId);
267
+ e.preventDefault();
268
+ e.stopPropagation();
269
+ },
270
+ false
271
+ );
272
+ resizer.addEventListener(
273
+ "pointermove",
274
+ function (e) {
275
+ if ((e.buttons & 1) === 0) {
276
+ return;
277
+ }
278
+
279
+ sessionStorage.navWidth = e.pageX.toString();
280
+ $(".nav_wrap").css("width", Math.max(200, e.pageX));
281
+ e.preventDefault();
282
+ e.stopPropagation();
283
+ },
284
+ false
285
+ );
281
286
 
282
287
  if (sessionStorage.navWidth) {
283
- navResizeFn({ which: 1, pageX: parseInt(sessionStorage.navWidth, 10) });
288
+ $(".nav_wrap").css(
289
+ "width",
290
+ Math.max(200, parseInt(sessionStorage.navWidth, 10))
291
+ );
284
292
  }
285
293
  }
286
294
 
@@ -295,15 +303,6 @@
295
303
  document.getElementById("nav").contentWindow.postMessage(opts, "*");
296
304
  done = true;
297
305
  }
298
-
299
- window.addEventListener(
300
- "message",
301
- function (event) {
302
- if (event.data === "navReady") postMessage();
303
- return false;
304
- },
305
- false
306
- );
307
306
  }
308
307
 
309
308
  function mainFocus() {
@@ -341,4 +340,56 @@
341
340
  mainFocus();
342
341
  navigationChange();
343
342
  });
344
- })();
343
+ };
344
+ window.__app();
345
+
346
+ window.addEventListener(
347
+ "message",
348
+ async (e) => {
349
+ if (e.data.action === "navigate") {
350
+ const response = await fetch(e.data.url);
351
+ const text = await response.text();
352
+ const parser = new DOMParser();
353
+ const doc = parser.parseFromString(text, "text/html");
354
+
355
+ const classListLink =
356
+ document.getElementById("class_list_link").classList;
357
+
358
+ const content = doc.querySelector("#main").innerHTML;
359
+ document.querySelector("#main").innerHTML = content;
360
+ document.title = doc.head.querySelector("title").innerText;
361
+ document.head.querySelectorAll("script").forEach((script) => {
362
+ if (
363
+ !script.type ||
364
+ (script.type.includes("text/javascript") && !script.src)
365
+ ) {
366
+ script.remove();
367
+ }
368
+ });
369
+
370
+ doc.head.querySelectorAll("script").forEach((script) => {
371
+ if (
372
+ !script.type ||
373
+ (script.type.includes("text/javascript") && !script.src)
374
+ ) {
375
+ const newScript = document.createElement("script");
376
+ newScript.type = "text/javascript";
377
+ newScript.textContent = script.textContent;
378
+ document.head.appendChild(newScript);
379
+ }
380
+ });
381
+
382
+ window.__app();
383
+
384
+ document.getElementById("class_list_link").classList = classListLink;
385
+
386
+ const url = new URL(e.data.url, "https://localhost");
387
+ const hash = decodeURIComponent(url.hash ?? "");
388
+ if (hash) {
389
+ document.getElementById(hash.substring(1)).scrollIntoView();
390
+ }
391
+ history.pushState({}, document.title, e.data.url);
392
+ }
393
+ },
394
+ false
395
+ );
data/docs/js/full_list.js CHANGED
@@ -20,17 +20,6 @@ function escapeShortcut() {
20
20
  });
21
21
  }
22
22
 
23
- function navResizer() {
24
- $(window).mousemove(function(e) {
25
- window.parent.postMessage({
26
- action: 'mousemove', event: {pageX: e.pageX, which: e.which}
27
- }, '*');
28
- }).mouseup(function(e) {
29
- window.parent.postMessage({action: 'mouseup'}, '*');
30
- });
31
- window.parent.postMessage("navReady", "*");
32
- }
33
-
34
23
  function clearSearchTimeout() {
35
24
  clearTimeout(searchTimeout);
36
25
  searchTimeout = null;
@@ -44,14 +33,21 @@ function enableLinks() {
44
33
  $clicked.addClass('clicked');
45
34
  evt.stopPropagation();
46
35
 
47
- if (evt.target.tagName === 'A') return true;
36
+ if (window.origin === "null") {
37
+ if (evt.target.tagName === 'A') return true;
48
38
 
49
- var elem = $clicked.find('> .item .object_link a')[0];
50
- var e = evt.originalEvent;
51
- var newEvent = new MouseEvent(evt.originalEvent.type);
52
- newEvent.initMouseEvent(e.type, e.canBubble, e.cancelable, e.view, e.detail, e.screenX, e.screenY, e.clientX, e.clientY, e.ctrlKey, e.altKey, e.shiftKey, e.metaKey, e.button, e.relatedTarget);
53
- elem.dispatchEvent(newEvent);
54
- evt.preventDefault();
39
+ var elem = $clicked.find('> .item .object_link a')[0];
40
+ var e = evt.originalEvent;
41
+ var newEvent = new MouseEvent(evt.originalEvent.type);
42
+ newEvent.initMouseEvent(e.type, e.canBubble, e.cancelable, e.view, e.detail, e.screenX, e.screenY, e.clientX, e.clientY, e.ctrlKey, e.altKey, e.shiftKey, e.metaKey, e.button, e.relatedTarget);
43
+ elem.dispatchEvent(newEvent);
44
+ evt.preventDefault();
45
+ } else {
46
+ window.top.postMessage({
47
+ action: "navigate",
48
+ url: $clicked.find('.object_link a').attr('href'),
49
+ }, "*");
50
+ }
55
51
  return false;
56
52
  });
57
53
  }
@@ -199,6 +195,13 @@ function highlight() {
199
195
  });
200
196
  }
201
197
 
198
+ function isInView(element) {
199
+ const rect = element.getBoundingClientRect();
200
+ const windowHeight =
201
+ window.innerHeight || document.documentElement.clientHeight;
202
+ return rect.left >= 0 && rect.bottom <= windowHeight;
203
+ }
204
+
202
205
  /**
203
206
  * Expands the tree to the target element and its immediate
204
207
  * children.
@@ -214,7 +217,7 @@ function expandTo(path) {
214
217
  $(el).find('> div > a.toggle').attr('aria-expanded', 'true');
215
218
  });
216
219
 
217
- if($target[0]) {
220
+ if($target[0] && !isInView($target[0])) {
218
221
  window.scrollTo(window.scrollX, $target.offset().top - 250);
219
222
  highlight();
220
223
  }
@@ -232,7 +235,6 @@ window.addEventListener("message", windowEvents, false);
232
235
 
233
236
  $(document).ready(function() {
234
237
  escapeShortcut();
235
- navResizer();
236
238
  enableLinks();
237
239
  enableToggles();
238
240
  populateSearchCache();