fxruby 1.6.13-mswin32

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 (496) hide show
  1. data/LICENSE +456 -0
  2. data/README +39 -0
  3. data/doc/apes02.html +21 -0
  4. data/doc/apes03.html +39 -0
  5. data/doc/book.html +3 -0
  6. data/doc/build.html +133 -0
  7. data/doc/ch03s02.html +23 -0
  8. data/doc/ch03s03.html +52 -0
  9. data/doc/ch03s04.html +36 -0
  10. data/doc/ch03s05.html +60 -0
  11. data/doc/ch04s02.html +71 -0
  12. data/doc/ch04s03.html +37 -0
  13. data/doc/ch04s04.html +72 -0
  14. data/doc/ch05s02.html +260 -0
  15. data/doc/ch05s03.html +127 -0
  16. data/doc/changes.html +685 -0
  17. data/doc/clipboardtut.html +67 -0
  18. data/doc/differences.html +190 -0
  19. data/doc/dragdroptut.html +263 -0
  20. data/doc/events.html +36 -0
  21. data/doc/examples.html +104 -0
  22. data/doc/gems.html +73 -0
  23. data/doc/goals.html +41 -0
  24. data/doc/images/babelfish.png +0 -0
  25. data/doc/images/browser.png +0 -0
  26. data/doc/images/button.png +0 -0
  27. data/doc/images/call-chain-example.png +0 -0
  28. data/doc/images/colordialog.png +0 -0
  29. data/doc/images/datatarget.png +0 -0
  30. data/doc/images/dialog.png +0 -0
  31. data/doc/images/dilbert.png +0 -0
  32. data/doc/images/dirlist.png +0 -0
  33. data/doc/images/dropsite-droprejected.png +0 -0
  34. data/doc/images/foursplit.png +0 -0
  35. data/doc/images/gltest.png +0 -0
  36. data/doc/images/glviewer.png +0 -0
  37. data/doc/images/groupbox.png +0 -0
  38. data/doc/images/header.png +0 -0
  39. data/doc/images/hello-with-button.png +0 -0
  40. data/doc/images/hello-with-icon-1.png +0 -0
  41. data/doc/images/hello-with-icon-2.png +0 -0
  42. data/doc/images/hello-with-icon-3.png +0 -0
  43. data/doc/images/hello-with-tooltip.png +0 -0
  44. data/doc/images/hello-without-button.png +0 -0
  45. data/doc/images/hello.png +0 -0
  46. data/doc/images/hello2.png +0 -0
  47. data/doc/images/iconlist-bigicons.png +0 -0
  48. data/doc/images/iconlist-details.png +0 -0
  49. data/doc/images/image.png +0 -0
  50. data/doc/images/imageviewer.png +0 -0
  51. data/doc/images/inheritance.png +0 -0
  52. data/doc/images/mditest.png +0 -0
  53. data/doc/images/raabrowser.png +0 -0
  54. data/doc/images/scribble.png +0 -0
  55. data/doc/images/shutter.png +0 -0
  56. data/doc/images/splitter.png +0 -0
  57. data/doc/images/tabbook.png +0 -0
  58. data/doc/images/table.png +0 -0
  59. data/doc/images/tutorial1.png +0 -0
  60. data/doc/implementation.html +16 -0
  61. data/doc/infosources.html +33 -0
  62. data/doc/library.html +30 -0
  63. data/doc/opengl.html +73 -0
  64. data/doc/pt01.html +3 -0
  65. data/doc/pt02.html +3 -0
  66. data/doc/scintilla.html +36 -0
  67. data/doc/style.css +247 -0
  68. data/doc/subversion.html +21 -0
  69. data/doc/tutorial1.html +90 -0
  70. data/doc/unicode.html +56 -0
  71. data/examples/RAA.rb +25 -0
  72. data/examples/README +53 -0
  73. data/examples/babelfish.rb +93 -0
  74. data/examples/bounce.rb +159 -0
  75. data/examples/browser.rb +191 -0
  76. data/examples/button.rb +168 -0
  77. data/examples/datatarget.rb +223 -0
  78. data/examples/dctest.rb +696 -0
  79. data/examples/dialog.rb +143 -0
  80. data/examples/dilbert.rb +67 -0
  81. data/examples/dirlist.rb +63 -0
  82. data/examples/dragdrop.rb +97 -0
  83. data/examples/dragsource.rb +80 -0
  84. data/examples/dropsite.rb +59 -0
  85. data/examples/foursplit.rb +97 -0
  86. data/examples/gltest.rb +330 -0
  87. data/examples/glviewer.rb +576 -0
  88. data/examples/groupbox.rb +392 -0
  89. data/examples/header.rb +149 -0
  90. data/examples/hello.rb +12 -0
  91. data/examples/hello2.rb +51 -0
  92. data/examples/iRAA.rb +153 -0
  93. data/examples/iconlist.rb +92 -0
  94. data/examples/icons/AngryGuyInBunnySuit.ico +0 -0
  95. data/examples/icons/FatBot.ico +0 -0
  96. data/examples/icons/FlippedySwitch.ico +0 -0
  97. data/examples/icons/LeGoon.ico +0 -0
  98. data/examples/icons/Net.ico +0 -0
  99. data/examples/icons/RedMacOS.ico +0 -0
  100. data/examples/icons/SawBlade.ico +0 -0
  101. data/examples/icons/backview.png +0 -0
  102. data/examples/icons/big.png +0 -0
  103. data/examples/icons/bigfolder.png +0 -0
  104. data/examples/icons/bigpenguin.png +0 -0
  105. data/examples/icons/bottomview.png +0 -0
  106. data/examples/icons/camera.png +0 -0
  107. data/examples/icons/capbutt.png +0 -0
  108. data/examples/icons/capnotlast.png +0 -0
  109. data/examples/icons/capproj.png +0 -0
  110. data/examples/icons/capround.png +0 -0
  111. data/examples/icons/colorpal.png +0 -0
  112. data/examples/icons/copy.png +0 -0
  113. data/examples/icons/cut.png +0 -0
  114. data/examples/icons/delimit.png +0 -0
  115. data/examples/icons/dippy.png +0 -0
  116. data/examples/icons/double_dash.png +0 -0
  117. data/examples/icons/filenew.png +0 -0
  118. data/examples/icons/fileopen.png +0 -0
  119. data/examples/icons/filesave.png +0 -0
  120. data/examples/icons/filesaveas.png +0 -0
  121. data/examples/icons/fonts.png +0 -0
  122. data/examples/icons/fox.png +0 -0
  123. data/examples/icons/foxicon.png +0 -0
  124. data/examples/icons/frontview.png +0 -0
  125. data/examples/icons/gem_big.png +0 -0
  126. data/examples/icons/gem_small.png +0 -0
  127. data/examples/icons/hello2.png +0 -0
  128. data/examples/icons/help.png +0 -0
  129. data/examples/icons/indent.png +0 -0
  130. data/examples/icons/jbevel.png +0 -0
  131. data/examples/icons/jmiter.png +0 -0
  132. data/examples/icons/jround.png +0 -0
  133. data/examples/icons/kill.png +0 -0
  134. data/examples/icons/leftview.png +0 -0
  135. data/examples/icons/light.png +0 -0
  136. data/examples/icons/minidoc.png +0 -0
  137. data/examples/icons/minifolder.png +0 -0
  138. data/examples/icons/minifolderopen.png +0 -0
  139. data/examples/icons/newfolder.png +0 -0
  140. data/examples/icons/nolight.png +0 -0
  141. data/examples/icons/onoff_dash.png +0 -0
  142. data/examples/icons/palette.png +0 -0
  143. data/examples/icons/parallel.png +0 -0
  144. data/examples/icons/paste.png +0 -0
  145. data/examples/icons/pattern.png +0 -0
  146. data/examples/icons/penguin.png +0 -0
  147. data/examples/icons/perspective.png +0 -0
  148. data/examples/icons/printicon.png +0 -0
  149. data/examples/icons/prop.png +0 -0
  150. data/examples/icons/redo.png +0 -0
  151. data/examples/icons/rightview.png +0 -0
  152. data/examples/icons/saveas.png +0 -0
  153. data/examples/icons/shutter1.png +0 -0
  154. data/examples/icons/shutter2.png +0 -0
  155. data/examples/icons/small.png +0 -0
  156. data/examples/icons/smoothlight.png +0 -0
  157. data/examples/icons/solid_line.png +0 -0
  158. data/examples/icons/tbuplevel.png +0 -0
  159. data/examples/icons/topview.png +0 -0
  160. data/examples/icons/undo.png +0 -0
  161. data/examples/icons/winapp.png +0 -0
  162. data/examples/icons/zoom.png +0 -0
  163. data/examples/image.rb +279 -0
  164. data/examples/imageviewer.rb +509 -0
  165. data/examples/inputs.rb +83 -0
  166. data/examples/mditest.rb +180 -0
  167. data/examples/pig.rb +77 -0
  168. data/examples/raabrowser.rb +122 -0
  169. data/examples/ratio.rb +80 -0
  170. data/examples/rulerview.rb +27 -0
  171. data/examples/scintilla-test.rb +81 -0
  172. data/examples/scribble-orig.rb +186 -0
  173. data/examples/scribble.rb +162 -0
  174. data/examples/shutter.rb +158 -0
  175. data/examples/splitter.rb +211 -0
  176. data/examples/styledtext.rb +82 -0
  177. data/examples/tabbook.rb +165 -0
  178. data/examples/table.rb +187 -0
  179. data/examples/textedit/commands.rb +114 -0
  180. data/examples/textedit/helpwindow.rb +299 -0
  181. data/examples/textedit/prefdialog.rb +239 -0
  182. data/examples/textedit/textedit.rb +1763 -0
  183. data/examples/unicode.rb +36 -0
  184. data/ext/fox16/fox16.so +0 -0
  185. data/index.html +14 -0
  186. data/lib/fox16/aliases.rb +5598 -0
  187. data/lib/fox16/calendar.rb +217 -0
  188. data/lib/fox16/chore.rb +105 -0
  189. data/lib/fox16/colors.rb +280 -0
  190. data/lib/fox16/core.rb +681 -0
  191. data/lib/fox16/dict.rb +35 -0
  192. data/lib/fox16/execute_nonmodal.rb +70 -0
  193. data/lib/fox16/glgroup.rb +166 -0
  194. data/lib/fox16/glshapes.rb +456 -0
  195. data/lib/fox16/input.rb +59 -0
  196. data/lib/fox16/irb.rb +178 -0
  197. data/lib/fox16/iterators.rb +371 -0
  198. data/lib/fox16/keys.rb +1374 -0
  199. data/lib/fox16/kwargs.rb +2725 -0
  200. data/lib/fox16/missingdep.rb +14 -0
  201. data/lib/fox16/pseudokeyboard.rb +40 -0
  202. data/lib/fox16/pseudomouse.rb +87 -0
  203. data/lib/fox16/responder.rb +70 -0
  204. data/lib/fox16/responder2.rb +131 -0
  205. data/lib/fox16/scintilla.rb +3641 -0
  206. data/lib/fox16/settings.rb +18 -0
  207. data/lib/fox16/signal.rb +71 -0
  208. data/lib/fox16/splashscreen.rb +82 -0
  209. data/lib/fox16/timeout.rb +136 -0
  210. data/lib/fox16/undolist.rb +455 -0
  211. data/lib/fox16/version.rb +9 -0
  212. data/rdoc-sources/FX4Splitter.rb +156 -0
  213. data/rdoc-sources/FX7Segment.rb +54 -0
  214. data/rdoc-sources/FXAccelTable.rb +102 -0
  215. data/rdoc-sources/FXApp.rb +545 -0
  216. data/rdoc-sources/FXArrowButton.rb +69 -0
  217. data/rdoc-sources/FXBMPIcon.rb +67 -0
  218. data/rdoc-sources/FXBMPImage.rb +30 -0
  219. data/rdoc-sources/FXBitmap.rb +115 -0
  220. data/rdoc-sources/FXBitmapFrame.rb +31 -0
  221. data/rdoc-sources/FXBitmapView.rb +44 -0
  222. data/rdoc-sources/FXButton.rb +59 -0
  223. data/rdoc-sources/FXCURCursor.rb +13 -0
  224. data/rdoc-sources/FXCanvas.rb +18 -0
  225. data/rdoc-sources/FXCheckButton.rb +58 -0
  226. data/rdoc-sources/FXChoiceBox.rb +49 -0
  227. data/rdoc-sources/FXColorBar.rb +48 -0
  228. data/rdoc-sources/FXColorDialog.rb +37 -0
  229. data/rdoc-sources/FXColorList.rb +55 -0
  230. data/rdoc-sources/FXColorRing.rb +49 -0
  231. data/rdoc-sources/FXColorSelector.rb +65 -0
  232. data/rdoc-sources/FXColorWell.rb +65 -0
  233. data/rdoc-sources/FXColorWheel.rb +57 -0
  234. data/rdoc-sources/FXComboBox.rb +211 -0
  235. data/rdoc-sources/FXComposite.rb +34 -0
  236. data/rdoc-sources/FXCursor.rb +67 -0
  237. data/rdoc-sources/FXDC.rb +720 -0
  238. data/rdoc-sources/FXDCPrint.rb +127 -0
  239. data/rdoc-sources/FXDCWindow.rb +33 -0
  240. data/rdoc-sources/FXDataTarget.rb +66 -0
  241. data/rdoc-sources/FXDebugTarget.rb +25 -0
  242. data/rdoc-sources/FXDelegator.rb +23 -0
  243. data/rdoc-sources/FXDial.rb +107 -0
  244. data/rdoc-sources/FXDialogBox.rb +32 -0
  245. data/rdoc-sources/FXDict.rb +79 -0
  246. data/rdoc-sources/FXDirBox.rb +55 -0
  247. data/rdoc-sources/FXDirDialog.rb +47 -0
  248. data/rdoc-sources/FXDirList.rb +149 -0
  249. data/rdoc-sources/FXDirSelector.rb +64 -0
  250. data/rdoc-sources/FXDockBar.rb +151 -0
  251. data/rdoc-sources/FXDockHandler.rb +26 -0
  252. data/rdoc-sources/FXDockSite.rb +104 -0
  253. data/rdoc-sources/FXDockTitle.rb +26 -0
  254. data/rdoc-sources/FXDocument.rb +29 -0
  255. data/rdoc-sources/FXDragCorner.rb +19 -0
  256. data/rdoc-sources/FXDrawable.rb +27 -0
  257. data/rdoc-sources/FXDriveBox.rb +46 -0
  258. data/rdoc-sources/FXExtentd.rb +85 -0
  259. data/rdoc-sources/FXExtentf.rb +85 -0
  260. data/rdoc-sources/FXFileDialog.rb +217 -0
  261. data/rdoc-sources/FXFileDict.rb +131 -0
  262. data/rdoc-sources/FXFileList.rb +208 -0
  263. data/rdoc-sources/FXFileSelector.rb +184 -0
  264. data/rdoc-sources/FXFileStream.rb +27 -0
  265. data/rdoc-sources/FXFoldingList.rb +504 -0
  266. data/rdoc-sources/FXFont.rb +361 -0
  267. data/rdoc-sources/FXFontDialog.rb +14 -0
  268. data/rdoc-sources/FXFontSelector.rb +37 -0
  269. data/rdoc-sources/FXFrame.rb +53 -0
  270. data/rdoc-sources/FXGIFCursor.rb +50 -0
  271. data/rdoc-sources/FXGIFIcon.rb +31 -0
  272. data/rdoc-sources/FXGIFImage.rb +29 -0
  273. data/rdoc-sources/FXGLCanvas.rb +45 -0
  274. data/rdoc-sources/FXGLContext.rb +40 -0
  275. data/rdoc-sources/FXGLObject.rb +75 -0
  276. data/rdoc-sources/FXGLShape.rb +69 -0
  277. data/rdoc-sources/FXGLViewer.rb +332 -0
  278. data/rdoc-sources/FXGLVisual.rb +94 -0
  279. data/rdoc-sources/FXGradientBar.rb +301 -0
  280. data/rdoc-sources/FXGroupBox.rb +33 -0
  281. data/rdoc-sources/FXHeader.rb +408 -0
  282. data/rdoc-sources/FXHorizontalFrame.rb +29 -0
  283. data/rdoc-sources/FXICOIcon.rb +65 -0
  284. data/rdoc-sources/FXICOImage.rb +31 -0
  285. data/rdoc-sources/FXIcon.rb +38 -0
  286. data/rdoc-sources/FXIconDict.rb +48 -0
  287. data/rdoc-sources/FXIconList.rb +447 -0
  288. data/rdoc-sources/FXIconSource.rb +100 -0
  289. data/rdoc-sources/FXId.rb +34 -0
  290. data/rdoc-sources/FXImage.rb +286 -0
  291. data/rdoc-sources/FXImageFrame.rb +36 -0
  292. data/rdoc-sources/FXImageView.rb +35 -0
  293. data/rdoc-sources/FXInputDialog.rb +77 -0
  294. data/rdoc-sources/FXJPGIcon.rb +70 -0
  295. data/rdoc-sources/FXJPGImage.rb +38 -0
  296. data/rdoc-sources/FXKnob.rb +76 -0
  297. data/rdoc-sources/FXLabel.rb +69 -0
  298. data/rdoc-sources/FXList.rb +440 -0
  299. data/rdoc-sources/FXListBox.rb +191 -0
  300. data/rdoc-sources/FXMDIButton.rb +67 -0
  301. data/rdoc-sources/FXMDIChild.rb +155 -0
  302. data/rdoc-sources/FXMDIClient.rb +65 -0
  303. data/rdoc-sources/FXMainWindow.rb +26 -0
  304. data/rdoc-sources/FXMatrix.rb +57 -0
  305. data/rdoc-sources/FXMemoryBuffer.rb +28 -0
  306. data/rdoc-sources/FXMemoryStream.rb +50 -0
  307. data/rdoc-sources/FXMenuBar.rb +23 -0
  308. data/rdoc-sources/FXMenuButton.rb +84 -0
  309. data/rdoc-sources/FXMenuCaption.rb +50 -0
  310. data/rdoc-sources/FXMenuCascade.rb +18 -0
  311. data/rdoc-sources/FXMenuCheck.rb +30 -0
  312. data/rdoc-sources/FXMenuCommand.rb +26 -0
  313. data/rdoc-sources/FXMenuPane.rb +13 -0
  314. data/rdoc-sources/FXMenuRadio.rb +33 -0
  315. data/rdoc-sources/FXMenuSeparator.rb +21 -0
  316. data/rdoc-sources/FXMenuTitle.rb +27 -0
  317. data/rdoc-sources/FXMessageBox.rb +72 -0
  318. data/rdoc-sources/FXObject.rb +28 -0
  319. data/rdoc-sources/FXOptionMenu.rb +83 -0
  320. data/rdoc-sources/FXPCXIcon.rb +63 -0
  321. data/rdoc-sources/FXPCXImage.rb +31 -0
  322. data/rdoc-sources/FXPNGIcon.rb +66 -0
  323. data/rdoc-sources/FXPNGImage.rb +34 -0
  324. data/rdoc-sources/FXPPMIcon.rb +36 -0
  325. data/rdoc-sources/FXPPMImage.rb +31 -0
  326. data/rdoc-sources/FXPacker.rb +63 -0
  327. data/rdoc-sources/FXPicker.rb +27 -0
  328. data/rdoc-sources/FXPopup.rb +53 -0
  329. data/rdoc-sources/FXPrintDialog.rb +36 -0
  330. data/rdoc-sources/FXProgressBar.rb +57 -0
  331. data/rdoc-sources/FXProgressDialog.rb +36 -0
  332. data/rdoc-sources/FXQuatd.rb +164 -0
  333. data/rdoc-sources/FXQuatf.rb +173 -0
  334. data/rdoc-sources/FXRGBIcon.rb +64 -0
  335. data/rdoc-sources/FXRGBImage.rb +31 -0
  336. data/rdoc-sources/FXRadioButton.rb +70 -0
  337. data/rdoc-sources/FXRanged.rb +100 -0
  338. data/rdoc-sources/FXRangef.rb +100 -0
  339. data/rdoc-sources/FXRealSlider.rb +101 -0
  340. data/rdoc-sources/FXRealSpinner.rb +140 -0
  341. data/rdoc-sources/FXRecentFiles.rb +77 -0
  342. data/rdoc-sources/FXRectangle.rb +149 -0
  343. data/rdoc-sources/FXRegion.rb +64 -0
  344. data/rdoc-sources/FXRegistry.rb +56 -0
  345. data/rdoc-sources/FXReplaceDialog.rb +56 -0
  346. data/rdoc-sources/FXRootWindow.rb +17 -0
  347. data/rdoc-sources/FXRuler.rb +130 -0
  348. data/rdoc-sources/FXRulerView.rb +225 -0
  349. data/rdoc-sources/FXScintilla.rb +121 -0
  350. data/rdoc-sources/FXScrollArea.rb +86 -0
  351. data/rdoc-sources/FXScrollBar.rb +107 -0
  352. data/rdoc-sources/FXScrollPane.rb +28 -0
  353. data/rdoc-sources/FXScrollWindow.rb +38 -0
  354. data/rdoc-sources/FXSearchDialog.rb +24 -0
  355. data/rdoc-sources/FXSeparator.rb +74 -0
  356. data/rdoc-sources/FXSettings.rb +248 -0
  357. data/rdoc-sources/FXShell.rb +8 -0
  358. data/rdoc-sources/FXShutter.rb +102 -0
  359. data/rdoc-sources/FXSize.rb +95 -0
  360. data/rdoc-sources/FXSlider.rb +98 -0
  361. data/rdoc-sources/FXSphered.rb +80 -0
  362. data/rdoc-sources/FXSpheref.rb +80 -0
  363. data/rdoc-sources/FXSpinner.rb +136 -0
  364. data/rdoc-sources/FXSplashWindow.rb +27 -0
  365. data/rdoc-sources/FXSplitter.rb +89 -0
  366. data/rdoc-sources/FXSpring.rb +61 -0
  367. data/rdoc-sources/FXStatusBar.rb +42 -0
  368. data/rdoc-sources/FXStatusLine.rb +60 -0
  369. data/rdoc-sources/FXStream.rb +142 -0
  370. data/rdoc-sources/FXStringDict.rb +38 -0
  371. data/rdoc-sources/FXSwitcher.rb +78 -0
  372. data/rdoc-sources/FXTGAIcon.rb +63 -0
  373. data/rdoc-sources/FXTGAImage.rb +31 -0
  374. data/rdoc-sources/FXTIFIcon.rb +70 -0
  375. data/rdoc-sources/FXTIFImage.rb +37 -0
  376. data/rdoc-sources/FXTabBar.rb +80 -0
  377. data/rdoc-sources/FXTabBook.rb +41 -0
  378. data/rdoc-sources/FXTabItem.rb +58 -0
  379. data/rdoc-sources/FXTable.rb +967 -0
  380. data/rdoc-sources/FXText.rb +578 -0
  381. data/rdoc-sources/FXTextField.rb +151 -0
  382. data/rdoc-sources/FXToggleButton.rb +69 -0
  383. data/rdoc-sources/FXToolBar.rb +61 -0
  384. data/rdoc-sources/FXToolBarGrip.rb +50 -0
  385. data/rdoc-sources/FXToolBarShell.rb +44 -0
  386. data/rdoc-sources/FXToolBarTab.rb +74 -0
  387. data/rdoc-sources/FXToolTip.rb +36 -0
  388. data/rdoc-sources/FXTopWindow.rb +163 -0
  389. data/rdoc-sources/FXTranslator.rb +32 -0
  390. data/rdoc-sources/FXTreeList.rb +514 -0
  391. data/rdoc-sources/FXTreeListBox.rb +219 -0
  392. data/rdoc-sources/FXTriStateButton.rb +49 -0
  393. data/rdoc-sources/FXVec2d.rb +96 -0
  394. data/rdoc-sources/FXVec2f.rb +96 -0
  395. data/rdoc-sources/FXVec3d.rb +113 -0
  396. data/rdoc-sources/FXVec3f.rb +113 -0
  397. data/rdoc-sources/FXVec4d.rb +129 -0
  398. data/rdoc-sources/FXVec4f.rb +129 -0
  399. data/rdoc-sources/FXVerticalFrame.rb +29 -0
  400. data/rdoc-sources/FXVisual.rb +79 -0
  401. data/rdoc-sources/FXWindow.rb +725 -0
  402. data/rdoc-sources/FXWizard.rb +59 -0
  403. data/rdoc-sources/FXXBMIcon.rb +37 -0
  404. data/rdoc-sources/FXXBMImage.rb +32 -0
  405. data/rdoc-sources/FXXPMIcon.rb +65 -0
  406. data/rdoc-sources/FXXPMImage.rb +31 -0
  407. data/rdoc-sources/README.rdoc +53 -0
  408. data/rdoc-sources/fxdefs.rb +90 -0
  409. data/tests/README +19 -0
  410. data/tests/TC_FXAccelTable.rb +43 -0
  411. data/tests/TC_FXApp.rb +15 -0
  412. data/tests/TC_FXArc.rb +26 -0
  413. data/tests/TC_FXBMPIcon.rb +15 -0
  414. data/tests/TC_FXBMPImage.rb +15 -0
  415. data/tests/TC_FXButton.rb +72 -0
  416. data/tests/TC_FXCheckButton.rb +57 -0
  417. data/tests/TC_FXComboBox.rb +52 -0
  418. data/tests/TC_FXDC.rb +372 -0
  419. data/tests/TC_FXDCPrint.rb +102 -0
  420. data/tests/TC_FXDCWindow.rb +23 -0
  421. data/tests/TC_FXDataTarget.rb +24 -0
  422. data/tests/TC_FXDirList.rb +30 -0
  423. data/tests/TC_FXFileAssoc.rb +62 -0
  424. data/tests/TC_FXFileStream.rb +90 -0
  425. data/tests/TC_FXFoldingList.rb +32 -0
  426. data/tests/TC_FXFont.rb +69 -0
  427. data/tests/TC_FXFontDesc.rb +58 -0
  428. data/tests/TC_FXGLGroup.rb +32 -0
  429. data/tests/TC_FXGLShape.rb +28 -0
  430. data/tests/TC_FXGLViewer.rb +20 -0
  431. data/tests/TC_FXGradientBar.rb +89 -0
  432. data/tests/TC_FXHeader.rb +82 -0
  433. data/tests/TC_FXIconDict.rb +52 -0
  434. data/tests/TC_FXIconList.rb +192 -0
  435. data/tests/TC_FXId.rb +19 -0
  436. data/tests/TC_FXImage.rb +155 -0
  437. data/tests/TC_FXLight.rb +33 -0
  438. data/tests/TC_FXList.rb +116 -0
  439. data/tests/TC_FXListBox.rb +49 -0
  440. data/tests/TC_FXMat4f.rb +228 -0
  441. data/tests/TC_FXMaterial.rb +89 -0
  442. data/tests/TC_FXMemoryStream.rb +97 -0
  443. data/tests/TC_FXMenuCheck.rb +57 -0
  444. data/tests/TC_FXMenuCommand.rb +12 -0
  445. data/tests/TC_FXMenuRadio.rb +57 -0
  446. data/tests/TC_FXPoint.rb +57 -0
  447. data/tests/TC_FXQuatf.rb +77 -0
  448. data/tests/TC_FXRadioButton.rb +57 -0
  449. data/tests/TC_FXRangef.rb +48 -0
  450. data/tests/TC_FXRectangle.rb +88 -0
  451. data/tests/TC_FXRegion.rb +54 -0
  452. data/tests/TC_FXRegistry.rb +27 -0
  453. data/tests/TC_FXScrollArea.rb +28 -0
  454. data/tests/TC_FXScrollWindow.rb +28 -0
  455. data/tests/TC_FXSegment.rb +22 -0
  456. data/tests/TC_FXSettings.rb +34 -0
  457. data/tests/TC_FXShell.rb +26 -0
  458. data/tests/TC_FXSize.rb +54 -0
  459. data/tests/TC_FXStream.rb +11 -0
  460. data/tests/TC_FXTable.rb +368 -0
  461. data/tests/TC_FXTableItem.rb +48 -0
  462. data/tests/TC_FXText.rb +96 -0
  463. data/tests/TC_FXTopWindow.rb +32 -0
  464. data/tests/TC_FXTreeList.rb +100 -0
  465. data/tests/TC_FXTreeListBox.rb +41 -0
  466. data/tests/TC_FXUndoList.rb +43 -0
  467. data/tests/TC_FXVec2d.rb +142 -0
  468. data/tests/TC_FXVec2f.rb +137 -0
  469. data/tests/TC_FXVec3d.rb +150 -0
  470. data/tests/TC_FXVec3f.rb +150 -0
  471. data/tests/TC_FXVec4f.rb +158 -0
  472. data/tests/TC_FXViewport.rb +30 -0
  473. data/tests/TC_FXXBMIcon.rb +15 -0
  474. data/tests/TC_FXXBMImage.rb +15 -0
  475. data/tests/TC_FXXPMIcon.rb +15 -0
  476. data/tests/TC_FXXPMImage.rb +15 -0
  477. data/tests/TC_Misc.rb +157 -0
  478. data/tests/TC_downcast.rb +15 -0
  479. data/tests/TS_All.rb +25 -0
  480. data/tests/blankpage.ps +166 -0
  481. data/tests/howdypage.ps +181 -0
  482. data/tests/stress1.rb +94 -0
  483. data/tests/stress2.rb +51 -0
  484. data/tests/stress3.rb +117 -0
  485. data/tests/testcase.rb +37 -0
  486. data/web/art/fxrubylogo.png +0 -0
  487. data/web/art/fxrubylogo_small.png +0 -0
  488. data/web/art/line.gif +0 -0
  489. data/web/art/oul_grey.gif +0 -0
  490. data/web/art/our.gif +0 -0
  491. data/web/downloads.html +93 -0
  492. data/web/home.html +113 -0
  493. data/web/menu.html +50 -0
  494. data/web/styles.css +167 -0
  495. data/web/top.html +15 -0
  496. metadata +548 -0
@@ -0,0 +1,100 @@
1
+ module Fox
2
+ #
3
+ # An icon source is an object that loads an icon of any type.
4
+ # It exists purely for convenience, to make loading icons
5
+ # simpler by concentrating the knowledge of the supported
6
+ # icon formats in a single place.
7
+ # Needless to say, this class is subclassable, allowing users
8
+ # to add additional icon types and make them available to
9
+ # all widgets which deal with icons.
10
+ # Note, the icons are loaded, but _not_ created (realized) yet;
11
+ # this allows users to manipulate the pixel data prior to
12
+ # realizing the icons.
13
+ #
14
+ class FXIconSource < FXObject
15
+ #
16
+ # Construct an icon source, given a reference to the application object.
17
+ #
18
+ def initialize(app) # :yields: theIconSource
19
+ end
20
+
21
+ #
22
+ # Load an icon from the file _filename_. By default, the file extension is
23
+ # stripped and used as the icon _type_; if an explicit icon type is forced,
24
+ # then that type is used and the extension is ignored.
25
+ # For example, loadIcon("icon", "gif") will try to load a CompuServe GIF
26
+ # file, since the filename does not give any clue as to the type of the
27
+ # icon.
28
+ # Returns a reference to the icon.
29
+ #
30
+ def loadIconFile(filename, type=nil); end
31
+
32
+ #
33
+ # Load an icon of a given type (e.g. "gif") from reswrapped data.
34
+ # Returns +nil+ if there's some error loading the icon. (The optional
35
+ # _type_ parameter is actually mandatory at the time of this writing; future
36
+ # versions will attempt to inspect the first few bytes of the stream
37
+ # to divine the icon format if the parameter is omitted).
38
+ # Returns a reference to the icon.
39
+ #
40
+ def loadIconData(pixels, type=nil); end
41
+
42
+ #
43
+ # Load an icon of a given type (e.g. "gif") from an already open stream.
44
+ # Returns +nil+ if there's some error loading the icon. (The optional
45
+ # _type_ parameter is actually mandatory at the time of this writing; future
46
+ # versions will attempt to inspect the first few bytes of the stream
47
+ # to divine the icon format if the parameter is omitted).
48
+ # Returns a reference to the icon.
49
+ #
50
+ def loadIconStream(store, type=nil); end
51
+
52
+ #
53
+ # Load an image from the file filename. By default, the file extension is
54
+ # stripped and used as the image type; if an explicit image type is forced,
55
+ # then that type is used and the extension is ignored.
56
+ # For example, loadImage("image","gif") will try to load a CompuServe GIF
57
+ # file, since the filename does not give any clue as to the type of the
58
+ # image.
59
+ #
60
+ def loadImageFile(filename, type=nil); end
61
+
62
+ #
63
+ # Load an image of a given type (e.g. "gif") from reswrapped data.
64
+ # Returns +nil+ if there's some error loading the icon. (The optional
65
+ # parameter is actually mandatory at the time of this writing; future
66
+ # versions will attempt to inspect the first few bytes of the stream
67
+ # to divine the icon format if the parameter is omitted).
68
+ #
69
+ def loadImageData(pixels, type=nil); end
70
+
71
+ #
72
+ # Load an image of a given type (e.g. "gif") from an already open stream.
73
+ # Returns +nil+ if there's some error loading the image. (The optional
74
+ # parameter is actually mandatory at the time of this writing; future
75
+ # versions will attempt to inspect the first few bytes of the stream
76
+ # to divine the image format if the parameter is omitted).
77
+ #
78
+ def loadImageStream(store, type=nil); end
79
+
80
+ # Load icon and scale it such that its dimensions do not exceed given size
81
+ def loadScaledIconFile(filename, size=32, qual=0, type=nil); end
82
+
83
+ # Load icon and scale it such that its dimensions do not exceed given size
84
+ def loadScaledIconData(pixels, size=32, qual=0, type=nil); end
85
+
86
+ # Load icon and scale it such that its dimensions do not exceed given size
87
+ def loadScaledIconStream(store, size=32, qual=0, type=nil); end
88
+
89
+ # Load image and scale it such that its dimensions do not exceed given size
90
+ def loadScaledImageFile(filename, size=32, qual=0, type=nil); end
91
+
92
+ # Load image and scale it such that its dimensions do not exceed given size
93
+ def loadScaledImageData(pixels, size=32, qual=0, type=nil); end
94
+
95
+ # Load image and scale it such that its dimensions do not exceed given size
96
+ def loadScaledImageStream(store, size=32, qual=0, type=nil); end
97
+ end
98
+ end
99
+
100
+
@@ -0,0 +1,34 @@
1
+ module Fox
2
+ #
3
+ # Encapsulates a server side resource.
4
+ #
5
+ class FXId < FXObject
6
+
7
+ # Application [FXApp]
8
+ attr_reader :app
9
+
10
+ # User data [Object]
11
+ attr_accessor :userData
12
+
13
+ # XID handle for the server-side resource [Integer]
14
+ attr_reader :xid
15
+
16
+ #
17
+ # Create resource.
18
+ #
19
+ def create(); end
20
+
21
+ # Returns true if this resource has been created.
22
+ def created?; end
23
+
24
+ #
25
+ # Detach resource.
26
+ #
27
+ def detach(); end
28
+
29
+ #
30
+ # Destroy resource.
31
+ #
32
+ def destroy(); end
33
+ end
34
+ end
@@ -0,0 +1,286 @@
1
+ module Fox
2
+ #
3
+ # An Image is a rectangular array of pixels. It supports two representations
4
+ # of these pixels: a client-side pixel buffer which is stored as an array of
5
+ # FXColor, and a server-side pixmap which is stored in an organization directly
6
+ # compatible with the screen, for fast drawing onto the device.
7
+ # The server-side representation is not directly accessible from the current
8
+ # process as it lives in the process of the X Server or GDI.
9
+ #
10
+ # === Image rendering hints
11
+ #
12
+ # +IMAGE_KEEP+::
13
+ # Keep pixel data in client. By default, FOX discards of the client-side
14
+ # pixel data for an image after you call create() for that image. When the
15
+ # +IMAGE_KEEP+ option is set for FXImage (or one of its subclasses), the
16
+ # client-side buffer is maintained. You will typically want to set this option
17
+ # if you intend to do repeated re-rendering of the image after it has been
18
+ # created.
19
+ # +IMAGE_OWNED+::
20
+ # If the +IMAGE_OWNED+ option is set, the FXImage object assumes ownership
21
+ # of its client-side pixel data (if any).
22
+ # +IMAGE_DITHER+::
23
+ # Dither image to look better
24
+ # +IMAGE_NEAREST+::
25
+ # Turn off dithering and map to nearest color
26
+ # +IMAGE_OPAQUE+::
27
+ # Force opaque background
28
+ # +IMAGE_ALPHACOLOR+::
29
+ # By default, FOX will use the transparency color obtained from the image
30
+ # file as the transparency (alpha) color. If you pass the +IMAGE_ALPHACOLOR+
31
+ # flag, the user-specified transparency color will be used instead.
32
+ # +IMAGE_SHMI+::
33
+ # Using shared memory image
34
+ # +IMAGE_SHMP+::
35
+ # Using shared memory pixmap
36
+ # +IMAGE_ALPHAGUESS+::
37
+ # Guess transparency color from corners
38
+ #
39
+
40
+ class FXImage < FXDrawable
41
+
42
+ # Pixel data [FXMemoryBuffer]
43
+ attr_reader :data
44
+
45
+ # Option flags [Integer]
46
+ attr_accessor :options
47
+
48
+ #
49
+ # Create an image. If a client-side pixel buffer has been specified,
50
+ # the image does not own the pixel buffer unless the +IMAGE_OWNED+ flag is
51
+ # set. If the +IMAGE_OWNED+ flag is set but a +nil+ pixel buffer is
52
+ # passed, a pixel buffer will be automatically created and will be owned
53
+ # by the image. The flags +IMAGE_SHMI+ and +IMAGE_SHMP+ may be specified for
54
+ # large images to instruct #render to use shared memory to communicate
55
+ # with the server.
56
+ #
57
+ # ==== Parameters:
58
+ #
59
+ # +a+:: an application instance [FXApp]
60
+ # +pixels+:: pixels [Array of FXColor values]
61
+ # +opts+:: image options [Integer]
62
+ # +width+:: image width [Integer]
63
+ # +height+:: image height [Integer]
64
+ #
65
+ def initialize(a, pixels=nil, opts=0, width=1, height=1) # :yields: theImage
66
+ end
67
+
68
+ #
69
+ # Return the color of the pixel at (_x_, _y_).
70
+ #
71
+ # ==== Parameters:
72
+ #
73
+ # +x+:: x-coordinate of the pixel of interest [Integer]
74
+ # +y+:: y-coordinate of the pixel of interest [Integer]
75
+ #
76
+ def getPixel(x, y) ; end
77
+
78
+ #
79
+ # Set pixel at (_x_, _y_) to _clr_.
80
+ #
81
+ # ==== Parameters:
82
+ #
83
+ # +x+:: x-coordinate of the pixel of interest [Integer]
84
+ # +y+:: y-coordinate of the pixel of interest [Integer]
85
+ # +clr+:: new color value for this pixel [FXColor]
86
+ #
87
+ def setPixel(x, y, clr) ; end
88
+
89
+ # Scan the image and return +false+ if it's fully opaque.
90
+ def hasAlpha?; end
91
+
92
+ #
93
+ # Restore client-side pixel buffer from image.
94
+ # This operation overwrites any current values for the client-side
95
+ # pixel buffer with values corresponding to the server-side image.
96
+ # If the image data is +nil+ at the time #restore is called, the
97
+ # image will first allocate an (owned) pixel buffer to use for this
98
+ # operation.
99
+ #
100
+ def restore() ; end
101
+
102
+ #
103
+ # Render the image from client-side pixel buffer, if there is data
104
+ # and if the image width and height are greater than zero.
105
+ #
106
+ def render() ; end
107
+
108
+ #
109
+ # Release the client-side pixels buffer, free it if it was owned
110
+ # (i.e. if the +IMAGE_OWNED+ option is set)..
111
+ # If it is not owned, the image just forgets about the buffer.
112
+ #
113
+ def release(); end
114
+
115
+ #
116
+ # Rescale pixels image to the specified width and height. Note that this
117
+ # serves a slightly different purpose than the base class resize() method,
118
+ # which simply resizes the client-side pixel data buffer but doesn't
119
+ # transform the image.
120
+ #
121
+ # The optional third argument specifies the _quality_ of the scaling algorithm
122
+ # used. By default, #scale uses a fast (but low quality) nearest-neighbor algorithm
123
+ # for scaling the image to its new size. To use the higher-quality scaling algorithm
124
+ # from FOX 1.0, you should pass in a value of 1 as the third argument to #scale.
125
+ #
126
+ # ==== Parameters:
127
+ #
128
+ # +width+:: new image width, in pixels [Integer]
129
+ # +height+:: new image height, in pixels [Integer]
130
+ # +quality+:: scaling algorithm quality, either 0 or 1 (see above) [Integer]
131
+ #
132
+ def scale(w, h, quality=0) ; end
133
+
134
+ #
135
+ # Mirror image horizontally and/or vertically.
136
+ #
137
+ # ==== Parameters:
138
+ #
139
+ # +horizontal+:: if +true+, the image will be flipped from left to right [Boolean]
140
+ # +vertical+:: if +true+, the image will be flipped from top to bottom [Boolean]
141
+ #
142
+ def mirror(horizontal, vertical) ; end
143
+
144
+ #
145
+ # Rotate image counter-clockwise by some number of degrees.
146
+ #
147
+ # ==== Parameters:
148
+ #
149
+ # +degrees+:: number of degrees by which to rotate the image [Integer]
150
+ #
151
+ def rotate(degrees) ; end
152
+
153
+ #
154
+ # Crop image to given rectangle; this calls resize() to adjust the client
155
+ # and server side representations. The new image may be smaller or larger
156
+ # than the old one; blank areas are filled with color. There must be at
157
+ # least one pixel of overlap between the old and the new image.
158
+ #
159
+ # ==== Parameters:
160
+ #
161
+ # +x+:: x-coordinate for top left corner of the clip rectangle [Integer]
162
+ # +y+:: y-coordinate for top left corner of the clip rectangle [Integer]
163
+ # +width+:: width of the clip rectangle [Integer]
164
+ # +height+:: height of the clip rectangle [Integer]
165
+ # +color+:: fill color for blank areas after crop [FXColor]
166
+ #
167
+ def crop(x, y, w, h, color=0) ; end
168
+
169
+ # Fill image with uniform color.
170
+ def fill(color); end
171
+
172
+ #
173
+ # Fade an image to a certain color by a certain factor. The _factor_ is
174
+ # some integer value between 0 and 255 inclusive, where a factor of 255 indicates no fading and a factor
175
+ # of zero indicates that the image is completely faded to the fade _color_.
176
+ #
177
+ # ==== Parameters:
178
+ #
179
+ # +color+:: the fade color [FXColor]
180
+ # +factor+:: fading factor [Integer]
181
+ #
182
+ def fade(color, factor=255); end
183
+
184
+ #
185
+ # Shear image horizontally; the number of pixels is equal to the
186
+ # _shear_ parameter times 256. The area outside the image is filled
187
+ # with transparent black, unless another _color_ is specified.
188
+ #
189
+ # ==== Parameters:
190
+ #
191
+ # +shear+:: how far to shear [Integer]
192
+ # +color+:: fill color for areas outside the sheared image [FXColor]
193
+ #
194
+ def xshear(shear, color=0); end
195
+
196
+ #
197
+ # Shear image vertically; the number of pixels is equal to the
198
+ # _shear_ parameter times 256. The area outside the image is filled
199
+ # with transparent black, unless another _color_ is specified.
200
+ #
201
+ # ==== Parameters:
202
+ #
203
+ # +shear+:: how far to shear [Integer]
204
+ # +color+:: fill color for areas outside the sheared image [FXColor]
205
+ #
206
+ def yshear(shear, color=0); end
207
+
208
+ #
209
+ # Fill image using a horizontal gradient.
210
+ #
211
+ # ==== Parameters:
212
+ #
213
+ # +left+:: starting color, for leftmost pixels [FXColor]
214
+ # +right+:: ending color, for rightmost pixels [FXColor]
215
+ #
216
+ def hgradient(left, right); end
217
+
218
+ #
219
+ # Fill image using a vertical gradient.
220
+ #
221
+ # ==== Parameters:
222
+ #
223
+ # +top+:: starting color, for topmost pixels [FXColor]
224
+ # +bottom+:: ending color, for bottommost pixels [FXColor]
225
+ #
226
+ def vgradient(top, bottom); end
227
+
228
+ #
229
+ # Fill image using a bilinear gradient.
230
+ #
231
+ # ==== Parameters:
232
+ #
233
+ # +topleft+:: pixel color for top-left corner [FXColor]
234
+ # +topright+:: pixel color for top-right corner [FXColor]
235
+ # +bottomleft+:: pixel color for bottom-left corner [FXColor]
236
+ # +bottomright+:: pixel color for bottom-right corner [FXColor]
237
+ #
238
+ def gradient(topleft, topright, bottomleft, bottomright); end
239
+
240
+ #
241
+ # Blend image over uniform color.
242
+ #
243
+ # ==== Parameters:
244
+ #
245
+ # +color+:: the blended color [FXColor]
246
+ #
247
+ def blend(color); end
248
+
249
+ #
250
+ # Save pixel data to a stream.
251
+ #
252
+ # Note that the base class version of
253
+ # #savePixels saves the pixel data as-is, without any image format
254
+ # specific information. For example, if you have a 1024x768 image
255
+ # without an alpha channel (and thus only the red, green and blue
256
+ # channels) the total number of bytes written to the stream will be
257
+ # 1024*768*3*8. The behavior of #savePixels is different for subclasses
258
+ # such as FXPNGImage, where #savePixels will instead save the image
259
+ # data in a specific image file format (i.e. the PNG file format).
260
+ #
261
+ # ==== Parameters:
262
+ #
263
+ # +store+:: opened stream to which to save the pixel data [FXStream]
264
+ #
265
+ def savePixels(store) ; end
266
+
267
+ #
268
+ # Load pixel data from a stream.
269
+ #
270
+ # Note that the base class version of
271
+ # #loadPixels expects to read the the pixel data in a neutral format
272
+ # (i.e. without any image format specific information). For example, if
273
+ # you have a 1024x768 image without an alpha channel (and thus only the
274
+ # red, green and blue channels), #loadPixels will attempt to read a total
275
+ # of 1024*768*3*8 bytes from the stream. The behavior of #loadPixels is
276
+ # different for subclasses such as FXPNGImage, where #loadPixels will instead
277
+ # expects to read the image data in a specific image file format (i.e. the
278
+ # PNG file format).
279
+ #
280
+ # ==== Parameters:
281
+ #
282
+ # +store+:: opened stream from which to read the pixel data [FXStream]
283
+ #
284
+ def loadPixels(store) ; end
285
+ end
286
+ end
@@ -0,0 +1,36 @@
1
+ module Fox
2
+ #
3
+ # An FXImageFrame is a simple frame widget that displays an FXImage image.
4
+ #
5
+ class FXImageFrame < FXFrame
6
+
7
+ # The current image being displayed [FXImage]
8
+ attr_accessor :image
9
+
10
+ #
11
+ # The current justification mode, some combination of the flags
12
+ # +JUSTIFY_LEFT+, +JUSTIFY_RIGHT+, +JUSTIFY_TOP+ and +JUSTIFY_BOTTOM+ [Integer]
13
+ #
14
+ attr_accessor :justify
15
+
16
+ #
17
+ # Return an initialized FXImageFrame instance.
18
+ #
19
+ # ==== Parameters:
20
+ #
21
+ # +p+:: the parent window for this image frame [FXComposite]
22
+ # +img+:: the image to display [FXImage]
23
+ # +opts+:: frame options [Integer]
24
+ # +x+:: initial x-position [Integer]
25
+ # +y+:: initial y-position [Integer]
26
+ # +width+:: initial width [Integer]
27
+ # +height+:: initial height [Integer]
28
+ # +padLeft+:: internal padding on the left side, in pixels [Integer]
29
+ # +padRight+:: internal padding on the right side, in pixels [Integer]
30
+ # +padTop+:: internal padding on the top side, in pixels [Integer]
31
+ # +padBottom+:: internal padding on the bottom side, in pixels [Integer]
32
+ #
33
+ def initialize(p, img, opts=FRAME_SUNKEN|FRAME_THICK, x=0, y=0, width=0, height=0, padLeft=0, padRight=0, padTop=0, padBottom=0) # :yields: theImageFrame
34
+ end
35
+ end
36
+ end