fxruby 1.6.14-universal-darwin-9

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 (491) 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 +697 -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/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.bundle +0 -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 +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 +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 +292 -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 +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 +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/output.ps +166 -0
  483. data/tests/stress1.rb +92 -0
  484. data/tests/stress2.rb +51 -0
  485. data/tests/stress3.rb +117 -0
  486. data/tests/testcase.rb +37 -0
  487. data/web/community.html +94 -0
  488. data/web/documentation.html +100 -0
  489. data/web/downloads.html +114 -0
  490. data/web/index.html +96 -0
  491. metadata +550 -0
@@ -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
@@ -0,0 +1,35 @@
1
+ module Fox
2
+ #
3
+ # The FXImageView widget displays a scrollable view of an image.
4
+ #
5
+ # === Image alignment styles
6
+ #
7
+ # +IMAGEVIEW_NORMAL+:: Normal mode is centered
8
+ # +IMAGEVIEW_CENTER_X+:: Centered horizontally
9
+ # +IMAGEVIEW_LEFT+:: Left-aligned
10
+ # +IMAGEVIEW_RIGHT+:: Right-aligned
11
+ # +IMAGEVIEW_CENTER_Y+:: Centered vertically
12
+ # +IMAGEVIEW_TOP+:: Top-aligned
13
+ # +IMAGEVIEW_BOTTOM+:: Bottom-aligned
14
+ #
15
+ # === Events
16
+ #
17
+ # +SEL_RIGHTBUTTONPRESS+:: sent when the right mouse button goes down; the message data is an FXEvent instance.
18
+ # +SEL_RIGHTBUTTONRELEASE+:: sent when the right mouse button goes up; the message data is an FXEvent instance.
19
+ #
20
+ class FXImageView < FXScrollArea
21
+
22
+ # The image [FXImage]
23
+ attr_accessor :image
24
+
25
+ # Current alignment [Integer]
26
+ attr_accessor :alignment
27
+
28
+ #
29
+ # Return an initialized FXImageView instance.
30
+ #
31
+ def initialize(p, img=nil, target=nil, selector=0, opts=0, x=0, y=0, width=0, height=0) # :yields: theImageView
32
+ end
33
+ end
34
+ end
35
+
@@ -0,0 +1,77 @@
1
+ module Fox
2
+ #
3
+ # An FXInputDialog is a simple dialog which is used
4
+ # to obtain a text string, integer, or real number from the user.
5
+ # A "password" mode allows the key-in to remain hidden.
6
+ #
7
+ # === Input dialog options
8
+ #
9
+ # +INPUTDIALOG_STRING+:: Ask for a string
10
+ # +INPUTDIALOG_INTEGER+:: Ask for an integer number
11
+ # +INPUTDIALOG_REAL+:: Ask for a real number
12
+ # +INPUTDIALOG_PASSWORD+:: Do not reveal key-in
13
+ #
14
+ class FXInputDialog < FXDialogBox
15
+
16
+ # Input string [String]
17
+ attr_accessor :text
18
+
19
+ # Number of visible columns of text [Integer]
20
+ attr_accessor :numColumns
21
+
22
+ #
23
+ # Construct input dialog box with given caption, icon, and prompt text.
24
+ # If _owner_ is a window, the dialog box will float over that window.
25
+ # If _owner_ is the application, the dialog box will be free-floating.
26
+ #
27
+ def initialize(owner, caption, label, icon=nil, opts=INPUTDIALOG_STRING, x=0, y=0, width=0, height=0) # :yields: theInputDialog
28
+ end
29
+
30
+ #
31
+ # Change limits (where _lo_ and _hi_ are numbers).
32
+ #
33
+ def setLimits(lo, hi); end
34
+
35
+ #
36
+ # Return limits (a two-element array of floats).
37
+ #
38
+ def getLimits(); end
39
+
40
+ #
41
+ # Prompt the user for a string, with the text field initialized
42
+ # to the specified _initial_ value. Return the input value if the
43
+ # user clicks *OK*, else return +nil+.
44
+ #
45
+ def FXInputDialog.getString(initial, owner, caption, label, ic=nil); end
46
+
47
+ #
48
+ # Prompt for a string, in a free-floating window..
49
+ #
50
+ def FXInputDialog.getString(initial, app, caption, label, ic=nil); end
51
+
52
+ #
53
+ # Prompt the user for an integer number, starting from the specified _initial_ value.
54
+ # Return the input value if the user clicks *OK*, else return +nil+.
55
+ # The input is constrained between _lo_ and _hi_.
56
+ #
57
+ def FXInputDialog.getInteger(initial, owner, caption, label, ic=nil, lo=-2147483647, hi=2147483647); end
58
+
59
+ #
60
+ # Prompt for an integer, in a free-floating window..
61
+ #
62
+ def FXInputDialog.getInteger(initial, app, caption, label, ic=nil, lo=-2147483647, hi=2147483647); end
63
+
64
+ #
65
+ # Prompt the user for a real number, starting from the specified _initial_ value.
66
+ # Return the input value if the user clicks *OK*, else return +nil+.
67
+ # The input is constrained between _lo_ and _hi_.
68
+ #
69
+ def FXInputDialog.getReal(initial, owner, caption, label, ic=nil, lo=-1.797693134862315e+308, hi=1.797693134862315e+308); end
70
+
71
+ #
72
+ # Prompt for a real number, in a free-floating window..
73
+ #
74
+ def FXInputDialog.getReal(initial, owner, caption, label, ic=nil, lo=-1.797693134862315e+308, hi=1.797693134862315e+308); end
75
+ end
76
+ end
77
+
@@ -0,0 +1,70 @@
1
+ module Fox
2
+ #
3
+ # JPEG icon class
4
+ #
5
+ class FXJPGIcon < FXIcon
6
+
7
+ #
8
+ # Return the suggested file extension for this image type ("jpg").
9
+ #
10
+ def FXJPGIcon.fileExt; end
11
+
12
+ #
13
+ # Return the MIME type for this image type
14
+ #
15
+ def FXJPGIcon.mimeType; end
16
+
17
+ # Return +true+ if JPEG image file format is supported.
18
+ def FXJPGIcon.supported? ; end
19
+
20
+ # Image quality setting [Integer]
21
+ attr_accessor :quality
22
+
23
+ #
24
+ # Return an initialized FXJPGIcon instance.
25
+ #
26
+ # ==== Parameters:
27
+ #
28
+ # +a+:: an application instance [FXApp]
29
+ # +pix+:: a memory buffer formatted in JPEG file format [String]
30
+ # +clr+:: transparency color [FXColor]
31
+ # +opts+:: options [Integer]
32
+ # +width+:: width [Integer]
33
+ # +height+:: height [Integer]
34
+ #
35
+ def initialize(a, pix=nil, clr=0, opts=0, width=1, height=1) # :yields: theJPGIcon
36
+ end
37
+ end
38
+ #
39
+ # Load a JPEG file from a stream.
40
+ # If successful, returns an array containing the image pixel data (as a
41
+ # String), transparency color, image width, image height and quality.
42
+ # If it fails, the function returns +nil+.
43
+ #
44
+ # ==== Parameters:
45
+ #
46
+ # +store+:: stream from which to read the file data [FXStream]
47
+ #
48
+ def Fox.fxloadJPG(store); end
49
+
50
+ #
51
+ # Save a JPEG image to a stream.
52
+ # Returns +true+ on success, +false+ on failure.
53
+ #
54
+ # ==== Parameters:
55
+ #
56
+ # +store+:: stream to which to write the image data [FXStream]
57
+ # +data+:: the image pixel data [String]
58
+ # +transp+:: transparency color [FXColor]
59
+ # +width+:: width [Integer]
60
+ # +height+:: height [Integer]
61
+ # +quality+:: image quality [Integer]
62
+ #
63
+ def Fox.fxsaveJPG(store, data, transp, width, height, quality); end
64
+
65
+ #
66
+ # Return +true+ if _store_ (an FXStream instance) contains a JPEG image.
67
+ #
68
+ def Fox.fxcheckJPG(store); end
69
+ end
70
+
@@ -0,0 +1,38 @@
1
+ module Fox
2
+ #
3
+ # JPEG Image class
4
+ #
5
+ class FXJPGImage < FXImage
6
+
7
+ #
8
+ # Return the suggested file extension for this image type ("jpg").
9
+ #
10
+ def FXJPGImage.fileExt; end
11
+
12
+ #
13
+ # Return the MIME type for this image type
14
+ #
15
+ def FXJPGImage.mimeType; end
16
+
17
+ # Return +true+ if JPEG image file format is supported.
18
+ def FXJPGImage.supported? ; end
19
+
20
+ # Image quality
21
+ attr_accessor :quality
22
+
23
+ #
24
+ # Return an initialized FXJPGImage instance.
25
+ #
26
+ # ==== Parameters:
27
+ #
28
+ # +a+:: an application instance [FXApp]
29
+ # +pix+:: a memory buffer formatted in JPEG file format [String]
30
+ # +opts+:: options [Integer]
31
+ # +width+:: width [Integer]
32
+ # +height+:: height [Integer]
33
+ #
34
+ def initialize(a, pix=nil, opts=0, width=1, height=1) # :yields: theJPGImage
35
+ end
36
+ end
37
+ end
38
+
@@ -0,0 +1,76 @@
1
+ module Fox
2
+ #
3
+ # The knob widget is a valuator widget which provides simple linear value range.
4
+ # While being moved, the knob sends +SEL_CHANGED+ messages to its target;
5
+ # at the end of the interaction, a final +SEL_COMMAND+ message is sent.
6
+ # The message data represents the current knob value (an integer).
7
+ #
8
+ # === Events
9
+ #
10
+ # The following messages are sent by FXKnob to its target:
11
+ #
12
+ # +SEL_KEYPRESS+:: sent when a key goes down; the message data is an FXEvent instance.
13
+ # +SEL_KEYRELEASE+:: sent when a key goes up; the message data is an FXEvent instance.
14
+ # +SEL_LEFTBUTTONPRESS+:: sent when the left mouse button goes down; the message data is an FXEvent instance.
15
+ # +SEL_LEFTBUTTONRELEASE+:: sent when the left mouse button goes up; the message data is an FXEvent instance.
16
+ # +SEL_MIDDLEBUTTONPRESS+:: sent when the middle mouse button goes down; the message data is an FXEvent instance.
17
+ # +SEL_MIDDLEBUTTONRELEASE+:: sent when the middle mouse button goes up; the message data is an FXEvent instance.
18
+ # +SEL_COMMAND+::
19
+ # sent at the end of a knob move; the message data is the new value of the knob.
20
+ # +SEL_CHANGED+::
21
+ # sent continuously while the knob is being moved; the message data is an integer indicating
22
+ # the current knob value.
23
+ #
24
+ # === Knob Control styles
25
+ #
26
+ # +KNOB_NEEDLE+:: Use a needle as indicator
27
+ # +KNOB_DOT+:: Use a dot as indicator
28
+ # +KNOB_TICKS+:: Show ticks around the knob
29
+ # +KNOB_INDICATOR+:: Show only the indicator (like a speedometer)
30
+ # +KNOB_NORMAL+:: Normal knob looks
31
+ #
32
+ class FXKnob < FXFrame
33
+
34
+ # Knob value [Integer]
35
+ attr_accessor :value
36
+
37
+ # Knob range [Range]
38
+ attr_accessor :range
39
+
40
+ # Knob style [Integer]
41
+ attr_accessor :knobStyle
42
+
43
+ # Knob auto-increment/decrement value [Integer]
44
+ attr_accessor :increment
45
+
46
+ # Delta between ticks [Integer]
47
+ attr_accessor :tickDelta
48
+
49
+ # Indicator needle color [FXColor]
50
+ attr_accessor :lineColor
51
+
52
+ # Help text displayed on the status line [String]
53
+ attr_accessor :helpText
54
+
55
+ # Tooltip text value [String]
56
+ attr_accessor :tipText
57
+
58
+ #
59
+ # Return a new FXKnob instance.
60
+ #
61
+ def initialize(p, target=nil, selector=0, opts=KNOB_NORMAL, x=0, y=0, width=0, height=0, padLeft=DEFAULT_PAD, padRight=DEFAULT_PAD, padTop=DEFAULT_PAD, padBottom=DEFAULT_PAD) # :yields: theKnob
62
+ end
63
+
64
+ #
65
+ # Change the knob's movement limits (start and ending angles)
66
+ # Accept values in degrees from 0 (south) to 360.
67
+ #
68
+ def setLimits(start_angle, end_angle, notify=false); end
69
+
70
+ #
71
+ # Return the knob's current limits as a two-element array.
72
+ #
73
+ def getLimits(); end
74
+ end
75
+ end
76
+
@@ -0,0 +1,69 @@
1
+ module Fox
2
+ #
3
+ # A label widget can be used to place a text and/or icon for
4
+ # explanation purposes. The text label may have an optional tooltip
5
+ # and/or help string. Icon and label are placed relative to the widget
6
+ # using the justfication options, and relative to each other as determined
7
+ # by the icon relationship options. A large number of arrangements is
8
+ # possible.
9
+ #
10
+ # === Justification modes
11
+ #
12
+ # +JUSTIFY_NORMAL+:: Default justification is centered text
13
+ # +JUSTIFY_CENTER_X+:: Text is centered horizontally
14
+ # +JUSTIFY_LEFT+:: Text is left-justified
15
+ # +JUSTIFY_RIGHT+:: Text is right-justified
16
+ # +JUSTIFY_HZ_APART+:: Combination of +JUSTIFY_LEFT+ & +JUSTIFY_RIGHT+
17
+ # +JUSTIFY_CENTER_Y+:: Text is centered vertically
18
+ # +JUSTIFY_TOP+:: Text is aligned with label top
19
+ # +JUSTIFY_BOTTOM+:: Text is aligned with label bottom
20
+ # +JUSTIFY_VT_APART+:: Combination of +JUSTIFY_TOP+ & +JUSTIFY_BOTTOM+
21
+ #
22
+ # === Relationship options for icon-labels
23
+ #
24
+ # +ICON_UNDER_TEXT+:: Icon appears under text
25
+ # +ICON_AFTER_TEXT+:: Icon appears after text (to its right)
26
+ # +ICON_BEFORE_TEXT+:: Icon appears before text (to its left)
27
+ # +ICON_ABOVE_TEXT+:: Icon appears above text
28
+ # +ICON_BELOW_TEXT+:: Icon appears below text
29
+ # +TEXT_OVER_ICON+:: Same as +ICON_UNDER_TEXT+
30
+ # +TEXT_AFTER_ICON+:: Same as +ICON_BEFORE_TEXT+
31
+ # +TEXT_BEFORE_ICON+:: Same as +ICON_AFTER_TEXT+
32
+ # +TEXT_ABOVE_ICON+:: Same as +ICON_BELOW_TEXT+
33
+ # +TEXT_BELOW_ICON+:: Same as +ICON_ABOVE_TEXT+
34
+ #
35
+ # === Normal way to show label
36
+ #
37
+ # +LABEL_NORMAL+:: Same as <tt>JUSTIFY_NORMAL|ICON_BEFORE_TEXT</tt>
38
+ #
39
+ class FXLabel < FXFrame
40
+
41
+ # The text for this label [String]
42
+ attr_accessor :text
43
+
44
+ # The icon for this label [FXIcon]
45
+ attr_accessor :icon
46
+
47
+ # The text font [FXFont]
48
+ attr_accessor :font
49
+
50
+ # The text color [FXColor]
51
+ attr_accessor :textColor
52
+
53
+ # Text justification mode [Integer]
54
+ attr_accessor :justify
55
+
56
+ # Icon position [Integer]
57
+ attr_accessor :iconPosition
58
+
59
+ # Status line help text [String]
60
+ attr_accessor :helpText
61
+
62
+ # Tool tip message [String]
63
+ attr_accessor :tipText
64
+
65
+ # Construct label with given text and icon
66
+ def initialize(parent, text, icon=nil, opts=LABEL_NORMAL, x=0, y=0, width=0, height=0, padLeft=DEFAULT_PAD, padRight=DEFAULT_PAD, padTop=DEFAULT_PAD, padBottom=DEFAULT_PAD) # :yields: theLabel
67
+ end
68
+ end
69
+ end