fxruby 1.6.15-x86-mswin32-60

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 (490) 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 +132 -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 +733 -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 +72 -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/custom_table_item.rb +170 -0
  78. data/examples/datatarget.rb +223 -0
  79. data/examples/dctest.rb +696 -0
  80. data/examples/dialog.rb +143 -0
  81. data/examples/dilbert.rb +66 -0
  82. data/examples/dirlist.rb +63 -0
  83. data/examples/dragdrop.rb +97 -0
  84. data/examples/dragsource.rb +80 -0
  85. data/examples/dropsite.rb +59 -0
  86. data/examples/foursplit.rb +97 -0
  87. data/examples/gltest.rb +330 -0
  88. data/examples/glviewer.rb +576 -0
  89. data/examples/groupbox.rb +392 -0
  90. data/examples/header.rb +149 -0
  91. data/examples/hello.rb +12 -0
  92. data/examples/hello2.rb +51 -0
  93. data/examples/iRAA.rb +153 -0
  94. data/examples/iconlist.rb +92 -0
  95. data/examples/icons/AngryGuyInBunnySuit.ico +0 -0
  96. data/examples/icons/FatBot.ico +0 -0
  97. data/examples/icons/FlippedySwitch.ico +0 -0
  98. data/examples/icons/LeGoon.ico +0 -0
  99. data/examples/icons/Net.ico +0 -0
  100. data/examples/icons/RedMacOS.ico +0 -0
  101. data/examples/icons/SawBlade.ico +0 -0
  102. data/examples/icons/backview.png +0 -0
  103. data/examples/icons/big.png +0 -0
  104. data/examples/icons/bigfolder.png +0 -0
  105. data/examples/icons/bigpenguin.png +0 -0
  106. data/examples/icons/bottomview.png +0 -0
  107. data/examples/icons/camera.png +0 -0
  108. data/examples/icons/capbutt.png +0 -0
  109. data/examples/icons/capnotlast.png +0 -0
  110. data/examples/icons/capproj.png +0 -0
  111. data/examples/icons/capround.png +0 -0
  112. data/examples/icons/colorpal.png +0 -0
  113. data/examples/icons/copy.png +0 -0
  114. data/examples/icons/cut.png +0 -0
  115. data/examples/icons/delimit.png +0 -0
  116. data/examples/icons/dippy.png +0 -0
  117. data/examples/icons/double_dash.png +0 -0
  118. data/examples/icons/filenew.png +0 -0
  119. data/examples/icons/fileopen.png +0 -0
  120. data/examples/icons/filesave.png +0 -0
  121. data/examples/icons/filesaveas.png +0 -0
  122. data/examples/icons/fonts.png +0 -0
  123. data/examples/icons/fox.png +0 -0
  124. data/examples/icons/foxicon.png +0 -0
  125. data/examples/icons/frontview.png +0 -0
  126. data/examples/icons/gem_big.png +0 -0
  127. data/examples/icons/gem_small.png +0 -0
  128. data/examples/icons/hello2.png +0 -0
  129. data/examples/icons/help.png +0 -0
  130. data/examples/icons/indent.png +0 -0
  131. data/examples/icons/jbevel.png +0 -0
  132. data/examples/icons/jmiter.png +0 -0
  133. data/examples/icons/jround.png +0 -0
  134. data/examples/icons/kill.png +0 -0
  135. data/examples/icons/leftview.png +0 -0
  136. data/examples/icons/light.png +0 -0
  137. data/examples/icons/minidoc.png +0 -0
  138. data/examples/icons/minifolder.png +0 -0
  139. data/examples/icons/minifolderopen.png +0 -0
  140. data/examples/icons/newfolder.png +0 -0
  141. data/examples/icons/nolight.png +0 -0
  142. data/examples/icons/onoff_dash.png +0 -0
  143. data/examples/icons/palette.png +0 -0
  144. data/examples/icons/parallel.png +0 -0
  145. data/examples/icons/paste.png +0 -0
  146. data/examples/icons/pattern.png +0 -0
  147. data/examples/icons/penguin.png +0 -0
  148. data/examples/icons/perspective.png +0 -0
  149. data/examples/icons/printicon.png +0 -0
  150. data/examples/icons/prop.png +0 -0
  151. data/examples/icons/redo.png +0 -0
  152. data/examples/icons/rightview.png +0 -0
  153. data/examples/icons/saveas.png +0 -0
  154. data/examples/icons/shutter1.png +0 -0
  155. data/examples/icons/shutter2.png +0 -0
  156. data/examples/icons/small.png +0 -0
  157. data/examples/icons/smoothlight.png +0 -0
  158. data/examples/icons/solid_line.png +0 -0
  159. data/examples/icons/tbuplevel.png +0 -0
  160. data/examples/icons/topview.png +0 -0
  161. data/examples/icons/undo.png +0 -0
  162. data/examples/icons/winapp.png +0 -0
  163. data/examples/icons/zoom.png +0 -0
  164. data/examples/image.rb +279 -0
  165. data/examples/imageviewer.rb +509 -0
  166. data/examples/inputs.rb +83 -0
  167. data/examples/mditest.rb +180 -0
  168. data/examples/pig.rb +77 -0
  169. data/examples/raabrowser.rb +122 -0
  170. data/examples/ratio.rb +80 -0
  171. data/examples/rulerview.rb +27 -0
  172. data/examples/scintilla-test.rb +81 -0
  173. data/examples/scribble-orig.rb +186 -0
  174. data/examples/scribble.rb +162 -0
  175. data/examples/shutter.rb +158 -0
  176. data/examples/splitter.rb +211 -0
  177. data/examples/styledtext.rb +82 -0
  178. data/examples/tabbook.rb +165 -0
  179. data/examples/table.rb +182 -0
  180. data/examples/textedit/commands.rb +114 -0
  181. data/examples/textedit/helpwindow.rb +299 -0
  182. data/examples/textedit/prefdialog.rb +239 -0
  183. data/examples/textedit/textedit.rb +1763 -0
  184. data/examples/unicode.rb +36 -0
  185. data/ext/fox16/fox16.so +0 -0
  186. data/lib/fox16/aliases.rb +5611 -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 +420 -0
  198. data/lib/fox16/keys.rb +1374 -0
  199. data/lib/fox16/kwargs.rb +2736 -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 +214 -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 +36 -0
  281. data/rdoc-sources/FXHeader.rb +411 -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 +450 -0
  288. data/rdoc-sources/FXIconSource.rb +100 -0
  289. data/rdoc-sources/FXId.rb +34 -0
  290. data/rdoc-sources/FXImage.rb +292 -0
  291. data/rdoc-sources/FXImageFrame.rb +36 -0
  292. data/rdoc-sources/FXImageView.rb +35 -0
  293. data/rdoc-sources/FXInputDialog.rb +80 -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 +72 -0
  298. data/rdoc-sources/FXList.rb +443 -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 +53 -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 +73 -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 +581 -0
  381. data/rdoc-sources/FXTextField.rb +151 -0
  382. data/rdoc-sources/FXToggleButton.rb +70 -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 +39 -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 +16 -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 +63 -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_FXDialogBox.rb +12 -0
  423. data/tests/TC_FXDirList.rb +30 -0
  424. data/tests/TC_FXFileAssoc.rb +62 -0
  425. data/tests/TC_FXFileStream.rb +90 -0
  426. data/tests/TC_FXFoldingList.rb +32 -0
  427. data/tests/TC_FXFont.rb +69 -0
  428. data/tests/TC_FXFontDesc.rb +58 -0
  429. data/tests/TC_FXGLGroup.rb +32 -0
  430. data/tests/TC_FXGLShape.rb +28 -0
  431. data/tests/TC_FXGLViewer.rb +20 -0
  432. data/tests/TC_FXGradientBar.rb +89 -0
  433. data/tests/TC_FXHeader.rb +82 -0
  434. data/tests/TC_FXHiliteStyle.rb +23 -0
  435. data/tests/TC_FXIconDict.rb +52 -0
  436. data/tests/TC_FXIconList.rb +192 -0
  437. data/tests/TC_FXId.rb +19 -0
  438. data/tests/TC_FXImage.rb +155 -0
  439. data/tests/TC_FXLight.rb +33 -0
  440. data/tests/TC_FXList.rb +116 -0
  441. data/tests/TC_FXListBox.rb +49 -0
  442. data/tests/TC_FXMainWindow.rb +12 -0
  443. data/tests/TC_FXMat4f.rb +228 -0
  444. data/tests/TC_FXMaterial.rb +89 -0
  445. data/tests/TC_FXMemoryStream.rb +97 -0
  446. data/tests/TC_FXMenuCheck.rb +57 -0
  447. data/tests/TC_FXMenuCommand.rb +12 -0
  448. data/tests/TC_FXMenuRadio.rb +57 -0
  449. data/tests/TC_FXMessageBox.rb +25 -0
  450. data/tests/TC_FXPoint.rb +57 -0
  451. data/tests/TC_FXQuatf.rb +77 -0
  452. data/tests/TC_FXRadioButton.rb +57 -0
  453. data/tests/TC_FXRangef.rb +48 -0
  454. data/tests/TC_FXRectangle.rb +88 -0
  455. data/tests/TC_FXRegion.rb +54 -0
  456. data/tests/TC_FXRegistry.rb +27 -0
  457. data/tests/TC_FXScrollArea.rb +28 -0
  458. data/tests/TC_FXScrollWindow.rb +28 -0
  459. data/tests/TC_FXSegment.rb +22 -0
  460. data/tests/TC_FXSettings.rb +34 -0
  461. data/tests/TC_FXShell.rb +26 -0
  462. data/tests/TC_FXSize.rb +54 -0
  463. data/tests/TC_FXStream.rb +11 -0
  464. data/tests/TC_FXTable.rb +368 -0
  465. data/tests/TC_FXTableItem.rb +48 -0
  466. data/tests/TC_FXText.rb +96 -0
  467. data/tests/TC_FXTopWindow.rb +32 -0
  468. data/tests/TC_FXTreeList.rb +100 -0
  469. data/tests/TC_FXTreeListBox.rb +41 -0
  470. data/tests/TC_FXUndoList.rb +43 -0
  471. data/tests/TC_FXVec2d.rb +142 -0
  472. data/tests/TC_FXVec2f.rb +137 -0
  473. data/tests/TC_FXVec3d.rb +150 -0
  474. data/tests/TC_FXVec3f.rb +150 -0
  475. data/tests/TC_FXVec4f.rb +158 -0
  476. data/tests/TC_FXViewport.rb +30 -0
  477. data/tests/TC_FXXBMIcon.rb +15 -0
  478. data/tests/TC_FXXBMImage.rb +15 -0
  479. data/tests/TC_FXXPMIcon.rb +15 -0
  480. data/tests/TC_FXXPMImage.rb +15 -0
  481. data/tests/TC_Misc.rb +157 -0
  482. data/tests/TC_downcast.rb +15 -0
  483. data/tests/TS_All.rb +25 -0
  484. data/tests/blankpage.ps +166 -0
  485. data/tests/howdypage.ps +181 -0
  486. data/tests/stress1.rb +92 -0
  487. data/tests/stress2.rb +51 -0
  488. data/tests/stress3.rb +117 -0
  489. data/tests/testcase.rb +37 -0
  490. metadata +549 -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,292 @@
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 and then
117
+ # re-render the server-side image from the client-side pixel buffer. Note that this
118
+ # serves a slightly different purpose than the base class resize() method,
119
+ # which simply resizes the client-side pixel data buffer but doesn't
120
+ # transform the image.
121
+ #
122
+ # The optional third argument specifies the _quality_ of the scaling algorithm
123
+ # used. By default, #scale uses a fast (but low quality) nearest-neighbor algorithm
124
+ # for scaling the image to its new size. To use the higher-quality scaling algorithm
125
+ # from FOX 1.0, you should pass in a value of 1 as the third argument to #scale.
126
+ #
127
+ # ==== Parameters:
128
+ #
129
+ # +width+:: new image width, in pixels [Integer]
130
+ # +height+:: new image height, in pixels [Integer]
131
+ # +quality+:: scaling algorithm quality, either 0 or 1 (see above) [Integer]
132
+ #
133
+ def scale(w, h, quality=0) ; end
134
+
135
+ #
136
+ # Mirror image horizontally and/or vertically and then re-render the
137
+ # server-side image from the client-side pixel buffer.
138
+ #
139
+ # ==== Parameters:
140
+ #
141
+ # +horizontal+:: if +true+, the image will be flipped from left to right [Boolean]
142
+ # +vertical+:: if +true+, the image will be flipped from top to bottom [Boolean]
143
+ #
144
+ def mirror(horizontal, vertical) ; end
145
+
146
+ #
147
+ # Rotate image counter-clockwise by some number of degrees and then
148
+ # re-render the server-side image from the client-side pixel buffer.
149
+ #
150
+ # ==== Parameters:
151
+ #
152
+ # +degrees+:: number of degrees by which to rotate the image [Integer]
153
+ #
154
+ def rotate(degrees) ; end
155
+
156
+ #
157
+ # Crop image to given rectangle and then re-render the server-side image
158
+ # from the client-side pixel buffer. This method calls resize() to adjust the client
159
+ # and server side representations. The new image may be smaller or larger
160
+ # than the old one; blank areas are filled with color. There must be at
161
+ # least one pixel of overlap between the old and the new image.
162
+ #
163
+ # ==== Parameters:
164
+ #
165
+ # +x+:: x-coordinate for top left corner of the clip rectangle [Integer]
166
+ # +y+:: y-coordinate for top left corner of the clip rectangle [Integer]
167
+ # +width+:: width of the clip rectangle [Integer]
168
+ # +height+:: height of the clip rectangle [Integer]
169
+ # +color+:: fill color for blank areas after crop [FXColor]
170
+ #
171
+ def crop(x, y, w, h, color=0) ; end
172
+
173
+ # Fill image with uniform color.
174
+ def fill(color); end
175
+
176
+ #
177
+ # Fade an image to a certain color by a certain factor. The _factor_ is
178
+ # some integer value between 0 and 255 inclusive, where a factor of 255 indicates no fading and a factor
179
+ # of zero indicates that the image is completely faded to the fade _color_.
180
+ #
181
+ # ==== Parameters:
182
+ #
183
+ # +color+:: the fade color [FXColor]
184
+ # +factor+:: fading factor [Integer]
185
+ #
186
+ def fade(color, factor=255); end
187
+
188
+ #
189
+ # Shear image horizontally and then re-render the server-side image
190
+ # from the client-side pixel buffer. The number of pixels is equal to the
191
+ # _shear_ parameter times 256. The area outside the image is filled
192
+ # with transparent black, unless another _color_ is specified.
193
+ #
194
+ # ==== Parameters:
195
+ #
196
+ # +shear+:: how far to shear [Integer]
197
+ # +color+:: fill color for areas outside the sheared image [FXColor]
198
+ #
199
+ def xshear(shear, color=0); end
200
+
201
+ #
202
+ # Shear image verticallyand then re-render the server-side image
203
+ # from the client-side pixel buffer. The number of pixels is equal to the
204
+ # _shear_ parameter times 256. The area outside the image is filled
205
+ # with transparent black, unless another _color_ is specified.
206
+ #
207
+ # ==== Parameters:
208
+ #
209
+ # +shear+:: how far to shear [Integer]
210
+ # +color+:: fill color for areas outside the sheared image [FXColor]
211
+ #
212
+ def yshear(shear, color=0); end
213
+
214
+ #
215
+ # Fill image using a horizontal gradient.
216
+ #
217
+ # ==== Parameters:
218
+ #
219
+ # +left+:: starting color, for leftmost pixels [FXColor]
220
+ # +right+:: ending color, for rightmost pixels [FXColor]
221
+ #
222
+ def hgradient(left, right); end
223
+
224
+ #
225
+ # Fill image using a vertical gradient.
226
+ #
227
+ # ==== Parameters:
228
+ #
229
+ # +top+:: starting color, for topmost pixels [FXColor]
230
+ # +bottom+:: ending color, for bottommost pixels [FXColor]
231
+ #
232
+ def vgradient(top, bottom); end
233
+
234
+ #
235
+ # Fill image using a bilinear gradient.
236
+ #
237
+ # ==== Parameters:
238
+ #
239
+ # +topleft+:: pixel color for top-left corner [FXColor]
240
+ # +topright+:: pixel color for top-right corner [FXColor]
241
+ # +bottomleft+:: pixel color for bottom-left corner [FXColor]
242
+ # +bottomright+:: pixel color for bottom-right corner [FXColor]
243
+ #
244
+ def gradient(topleft, topright, bottomleft, bottomright); end
245
+
246
+ #
247
+ # Blend image over uniform color.
248
+ #
249
+ # ==== Parameters:
250
+ #
251
+ # +color+:: the blended color [FXColor]
252
+ #
253
+ def blend(color); end
254
+
255
+ #
256
+ # Save pixel data to a stream.
257
+ #
258
+ # Note that the base class version of
259
+ # #savePixels saves the pixel data as-is, without any image format
260
+ # specific information. For example, if you have a 1024x768 image
261
+ # without an alpha channel (and thus only the red, green and blue
262
+ # channels) the total number of bytes written to the stream will be
263
+ # 1024*768*3*8. The behavior of #savePixels is different for subclasses
264
+ # such as FXPNGImage, where #savePixels will instead save the image
265
+ # data in a specific image file format (i.e. the PNG file format).
266
+ #
267
+ # ==== Parameters:
268
+ #
269
+ # +store+:: opened stream to which to save the pixel data [FXStream]
270
+ #
271
+ def savePixels(store) ; end
272
+
273
+ #
274
+ # Load pixel data from a stream.
275
+ #
276
+ # Note that the base class version of
277
+ # #loadPixels expects to read the the pixel data in a neutral format
278
+ # (i.e. without any image format specific information). For example, if
279
+ # you have a 1024x768 image without an alpha channel (and thus only the
280
+ # red, green and blue channels), #loadPixels will attempt to read a total
281
+ # of 1024*768*3*8 bytes from the stream. The behavior of #loadPixels is
282
+ # different for subclasses such as FXPNGImage, where #loadPixels will instead
283
+ # expects to read the image data in a specific image file format (i.e. the
284
+ # PNG file format).
285
+ #
286
+ # ==== Parameters:
287
+ #
288
+ # +store+:: opened stream from which to read the pixel data [FXStream]
289
+ #
290
+ def loadPixels(store) ; end
291
+ end
292
+ 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