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,97 @@
1
+ require 'test/unit'
2
+ require 'fox16'
3
+
4
+ include Fox
5
+
6
+ class TC_FXMemoryStream < Test::Unit::TestCase
7
+
8
+ DEFAULT_BUFFER_SIZE = 16
9
+
10
+ private
11
+
12
+ def assert_closed(stream)
13
+ stream.open(FXStreamSave, nil) == false
14
+ end
15
+
16
+ public
17
+
18
+ def test_open_streamload_nil_data
19
+ s = FXMemoryStream.new
20
+ assert(s.open(FXStreamLoad, nil))
21
+ assert_equal(DEFAULT_BUFFER_SIZE, s.space)
22
+ s.close
23
+ end
24
+
25
+ def test_open_streamsave_nil_data
26
+ s = FXMemoryStream.new
27
+ assert(s.open(FXStreamSave, nil))
28
+ assert_equal(DEFAULT_BUFFER_SIZE, s.space)
29
+ s.close
30
+ end
31
+
32
+ def test_open_streamload_unknown_size
33
+ s = FXMemoryStream.new
34
+ assert(s.open(FXStreamLoad, "foo"))
35
+ s.close
36
+ end
37
+
38
+ def test_open_streamsave_unknown_size
39
+ s = FXMemoryStream.new
40
+ assert(s.open(FXStreamSave, "foo"))
41
+ s.close
42
+ end
43
+
44
+ def test_open_s_load_nil_buffer
45
+ s = FXMemoryStream.open(FXStreamLoad, nil)
46
+ assert_equal(DEFAULT_BUFFER_SIZE, s.space)
47
+ s.close
48
+ end
49
+
50
+ def test_open_s_save_nil_buffer
51
+ s = FXMemoryStream.open(FXStreamSave, nil)
52
+ assert_equal(DEFAULT_BUFFER_SIZE, s.space)
53
+ s.close
54
+ end
55
+
56
+ def test_open_s_load_unknown_buffer_size
57
+ s = FXMemoryStream.open(FXStreamLoad, "foo")
58
+ assert_equal(3, s.space)
59
+ s.close
60
+ end
61
+
62
+ def test_open_s_save_unknown_buffer_size
63
+ s = FXMemoryStream.open(FXStreamSave, "foo")
64
+ assert_equal(3, s.space)
65
+ s.close
66
+ end
67
+
68
+ def test_open_s_with_block
69
+ stream = nil
70
+ FXMemoryStream.open(FXStreamLoad, "foo") do |s|
71
+ stream = s
72
+ end
73
+ assert_closed(stream)
74
+ end
75
+
76
+ def test_setSpace
77
+ FXMemoryStream.open(FXStreamSave, nil) do |stream|
78
+ stream.space = 5000
79
+ assert_equal(5000, stream.space)
80
+ end
81
+ end
82
+
83
+ def test_takeBuffer_empty
84
+ FXMemoryStream.open(FXStreamSave, nil) do |stream|
85
+ buffer = stream.takeBuffer
86
+ assert_equal("\0" * 16, buffer)
87
+ end
88
+ end
89
+
90
+ def test_giveBuffer
91
+ FXMemoryStream.open(FXStreamLoad, nil) do |stream|
92
+ assert_equal(DEFAULT_BUFFER_SIZE, stream.space)
93
+ stream.giveBuffer("foo")
94
+ assert_equal(3, stream.space)
95
+ end
96
+ end
97
+ end
@@ -0,0 +1,57 @@
1
+ require 'test/unit'
2
+ require 'testcase'
3
+ require 'fox16'
4
+
5
+ include Fox
6
+
7
+ class TC_FXMenuCheck < TestCase
8
+ def setup
9
+ super(self.class.name)
10
+ @menuCheck = FXMenuCheck.new(mainWindow, "menuCheck")
11
+ end
12
+
13
+ def test_setCheck_TRUE
14
+ @menuCheck.check = Fox::TRUE
15
+ assert_equal(true, @menuCheck.check)
16
+ assert_equal(Fox::TRUE, @menuCheck.checkState)
17
+ assert(@menuCheck.checked?)
18
+ assert(!@menuCheck.unchecked?)
19
+ assert(!@menuCheck.maybe?)
20
+ end
21
+
22
+ def test_setCheck_FALSE
23
+ @menuCheck.check = Fox::FALSE
24
+ assert_equal(false, @menuCheck.check)
25
+ assert_equal(Fox::FALSE, @menuCheck.checkState)
26
+ assert(!@menuCheck.checked?)
27
+ assert(@menuCheck.unchecked?)
28
+ assert(!@menuCheck.maybe?)
29
+ end
30
+
31
+ def test_setCheck_MAYBE
32
+ @menuCheck.check = Fox::MAYBE
33
+ assert_equal(true, @menuCheck.check) # this is not a typo!
34
+ assert_equal(Fox::MAYBE, @menuCheck.checkState)
35
+ assert(!@menuCheck.checked?)
36
+ assert(!@menuCheck.unchecked?)
37
+ assert(@menuCheck.maybe?)
38
+ end
39
+
40
+ def test_setCheck_true
41
+ @menuCheck.check = true
42
+ assert_equal(true, @menuCheck.check)
43
+ assert_equal(Fox::TRUE, @menuCheck.checkState)
44
+ assert(@menuCheck.checked?)
45
+ assert(!@menuCheck.unchecked?)
46
+ assert(!@menuCheck.maybe?)
47
+ end
48
+
49
+ def test_setCheck_false
50
+ @menuCheck.check = false
51
+ assert_equal(false, @menuCheck.check)
52
+ assert_equal(Fox::FALSE, @menuCheck.checkState)
53
+ assert(!@menuCheck.checked?)
54
+ assert(@menuCheck.unchecked?)
55
+ assert(!@menuCheck.maybe?)
56
+ end
57
+ end
@@ -0,0 +1,12 @@
1
+ require 'test/unit'
2
+ require 'testcase'
3
+ require 'fox16'
4
+
5
+ include Fox
6
+
7
+ class TC_FXMenuCommand < TestCase
8
+ def setup
9
+ super(self.class.name)
10
+ @menuCommand = FXMenuCommand.new(mainWindow, "menuCommand")
11
+ end
12
+ end
@@ -0,0 +1,57 @@
1
+ require 'test/unit'
2
+ require 'testcase'
3
+ require 'fox16'
4
+
5
+ include Fox
6
+
7
+ class TC_FXMenuRadio < TestCase
8
+ def setup
9
+ super(self.class.name)
10
+ @menuRadio = FXMenuRadio.new(mainWindow, "menuRadio")
11
+ end
12
+
13
+ def test_setCheck_TRUE
14
+ @menuRadio.check = Fox::TRUE
15
+ assert_equal(true, @menuRadio.check)
16
+ assert_equal(Fox::TRUE, @menuRadio.checkState)
17
+ assert(@menuRadio.checked?)
18
+ assert(!@menuRadio.unchecked?)
19
+ assert(!@menuRadio.maybe?)
20
+ end
21
+
22
+ def test_setCheck_FALSE
23
+ @menuRadio.check = Fox::FALSE
24
+ assert_equal(false, @menuRadio.check)
25
+ assert_equal(Fox::FALSE, @menuRadio.checkState)
26
+ assert(!@menuRadio.checked?)
27
+ assert(@menuRadio.unchecked?)
28
+ assert(!@menuRadio.maybe?)
29
+ end
30
+
31
+ def test_setCheck_MAYBE
32
+ @menuRadio.check = Fox::MAYBE
33
+ assert_equal(true, @menuRadio.check) # this is not a typo!
34
+ assert_equal(Fox::MAYBE, @menuRadio.checkState)
35
+ assert(!@menuRadio.checked?)
36
+ assert(!@menuRadio.unchecked?)
37
+ assert(@menuRadio.maybe?)
38
+ end
39
+
40
+ def test_setCheck_true
41
+ @menuRadio.check = true
42
+ assert_equal(true, @menuRadio.check)
43
+ assert_equal(Fox::TRUE, @menuRadio.checkState)
44
+ assert(@menuRadio.checked?)
45
+ assert(!@menuRadio.unchecked?)
46
+ assert(!@menuRadio.maybe?)
47
+ end
48
+
49
+ def test_setCheck_false
50
+ @menuRadio.check = false
51
+ assert_equal(false, @menuRadio.check)
52
+ assert_equal(Fox::FALSE, @menuRadio.checkState)
53
+ assert(!@menuRadio.checked?)
54
+ assert(@menuRadio.unchecked?)
55
+ assert(!@menuRadio.maybe?)
56
+ end
57
+ end
@@ -0,0 +1,57 @@
1
+ require 'test/unit'
2
+
3
+ require 'fox16'
4
+
5
+ include Fox
6
+
7
+ class TC_FXPoint < Test::Unit::TestCase
8
+ def setup
9
+ @point1 = FXPoint.new
10
+ @point2 = FXPoint.new(300, 200)
11
+ @point3 = FXPoint.new(FXSize.new(300, 200))
12
+ end
13
+
14
+ def test_copy
15
+ assert_equal(@point1, FXPoint.new(@point1))
16
+ assert_equal(@point2, FXPoint.new(@point2))
17
+ end
18
+
19
+ # The assertEqual() method will test the implementation of
20
+ # FXPoint's '==' method, which is the point of this test
21
+ def test_equals
22
+ assert_equal(@point2, @point3)
23
+
24
+ samePoint1 = FXPoint.new
25
+ samePoint1.x = @point1.x
26
+ samePoint1.y = @point1.y
27
+ assert_equal(@point1, samePoint1)
28
+ assert_equal(samePoint1, @point1)
29
+
30
+ samePoint2 = FXPoint.new(300, 200)
31
+ assert_equal(@point2, samePoint2)
32
+ assert_equal(samePoint2, @point2)
33
+ end
34
+
35
+ def test_uminus
36
+ point1 = -(@point1)
37
+ assert(point1.x == -(@point1.x) && point1.y == -(@point1.y))
38
+ point2 = -(@point2)
39
+ assert(point2.x == -(@point2.x) && point2.y == -(@point2.y))
40
+ end
41
+
42
+ def test_add
43
+ assert(FXPoint.new(1, 2) + FXPoint.new(3, 4) == FXPoint.new(4, 6))
44
+ end
45
+
46
+ def test_sub
47
+ assert(FXPoint.new(4, 6) - FXPoint.new(3, 4) == FXPoint.new(1, 2))
48
+ end
49
+
50
+ def test_mul
51
+ assert(FXPoint.new(1, 2)*3 == FXPoint.new(3, 6))
52
+ end
53
+
54
+ def test_div
55
+ assert(FXPoint.new(3, 6)/3 == FXPoint.new(1, 2))
56
+ end
57
+ end
@@ -0,0 +1,77 @@
1
+ require 'test/unit'
2
+ require 'fox16'
3
+
4
+ include Fox
5
+
6
+ class TC_FXQuatf < Test::Unit::TestCase
7
+ def setup
8
+ @quat = FXQuatf.new
9
+ end
10
+ def test_default_constructor
11
+ q = FXQuatf.new
12
+ end
13
+ def test_construct_from_axis_and_angle
14
+ axis = FXVec3f.new(1.0, 1.0, 1.0)
15
+ q = FXQuatf.new(axis)
16
+ q = FXQuatf.new(axis, 0.0)
17
+ end
18
+ def test_construct_from_components
19
+ x, y, z, w = 1.0, 1.0, 1.0, 1.0
20
+ q = FXQuatf.new(x, y, z, w)
21
+ end
22
+ def test_construct_from_roll_pitch_yaw
23
+ roll, pitch, yaw = 45.0, 45.0, 45.0
24
+ q = FXQuatf.new(roll, pitch, yaw)
25
+ end
26
+ def test_adjust!
27
+ adjusted = @quat.adjust!
28
+ assert_same(@quat, adjusted)
29
+ end
30
+ def test_setAxisAngle
31
+ end
32
+ def test_getAxisAngle
33
+ end
34
+ def test_setRollPitchYaw
35
+ roll, pitch, yaw = 0.0, 0.0, 0.0
36
+ @quat.setRollPitchYaw(roll, pitch, yaw)
37
+ end
38
+ def test_getRollPitchYaw
39
+ rpy = @quat.getRollPitchYaw()
40
+ assert_instance_of(Array, rpy)
41
+ assert_equal(3, rpy.length)
42
+ end
43
+ def test_exp
44
+ expQuat = @quat.exp
45
+ assert_instance_of(FXQuatf, expQuat)
46
+ end
47
+ def test_log
48
+ logQuat = @quat.log
49
+ assert_instance_of(FXQuatf, logQuat)
50
+ end
51
+ def test_invert
52
+ invertQuat = @quat.invert
53
+ assert_instance_of(FXQuatf, invertQuat)
54
+ end
55
+ def test_conj
56
+ conjQuat = @quat.conj
57
+ assert_instance_of(FXQuatf, conjQuat)
58
+ end
59
+ def test_mul
60
+ anotherQuat = FXQuatf.new
61
+ product = @quat*anotherQuat
62
+ assert_instance_of(FXQuatf, product)
63
+ assert_equal(product, anotherQuat*@quat)
64
+ end
65
+ def test_arc
66
+ a = FXVec3f.new(0.0, 0.0, 0.0)
67
+ b = FXVec3f.new(0.0, 0.0, 0.0)
68
+ q = FXQuatf.arc(a, b)
69
+ assert_instance_of(FXQuatf, q)
70
+ end
71
+ def test_lerp
72
+ u = FXQuatf.new
73
+ v = FXQuatf.new
74
+ q = FXQuatf.lerp(u, v, 5.0)
75
+ assert_instance_of(FXQuatf, q)
76
+ end
77
+ end
@@ -0,0 +1,57 @@
1
+ require 'test/unit'
2
+ require 'testcase'
3
+ require 'fox16'
4
+
5
+ include Fox
6
+
7
+ class TC_FXRadioButton < TestCase
8
+ def setup
9
+ super(self.class.name)
10
+ @radioButton = FXRadioButton.new(mainWindow, "cbText")
11
+ end
12
+
13
+ def test_setCheck_TRUE
14
+ @radioButton.check = Fox::TRUE
15
+ assert_equal(true, @radioButton.check)
16
+ assert_equal(Fox::TRUE, @radioButton.checkState)
17
+ assert(@radioButton.checked?)
18
+ assert(!@radioButton.unchecked?)
19
+ assert(!@radioButton.maybe?)
20
+ end
21
+
22
+ def test_setCheck_FALSE
23
+ @radioButton.check = Fox::FALSE
24
+ assert_equal(false, @radioButton.check)
25
+ assert_equal(Fox::FALSE, @radioButton.checkState)
26
+ assert(!@radioButton.checked?)
27
+ assert(@radioButton.unchecked?)
28
+ assert(!@radioButton.maybe?)
29
+ end
30
+
31
+ def test_setCheck_MAYBE
32
+ @radioButton.check = Fox::MAYBE
33
+ assert_equal(true, @radioButton.check) # this is not a typo!
34
+ assert_equal(Fox::MAYBE, @radioButton.checkState)
35
+ assert(!@radioButton.checked?)
36
+ assert(!@radioButton.unchecked?)
37
+ assert(@radioButton.maybe?)
38
+ end
39
+
40
+ def test_setCheck_true
41
+ @radioButton.check = true
42
+ assert_equal(true, @radioButton.check)
43
+ assert_equal(Fox::TRUE, @radioButton.checkState)
44
+ assert(@radioButton.checked?)
45
+ assert(!@radioButton.unchecked?)
46
+ assert(!@radioButton.maybe?)
47
+ end
48
+
49
+ def test_setCheck_false
50
+ @radioButton.check = false
51
+ assert_equal(false, @radioButton.check)
52
+ assert_equal(Fox::FALSE, @radioButton.checkState)
53
+ assert(!@radioButton.checked?)
54
+ assert(@radioButton.unchecked?)
55
+ assert(!@radioButton.maybe?)
56
+ end
57
+ end
@@ -0,0 +1,48 @@
1
+ require 'test/unit'
2
+
3
+ require 'fox16'
4
+
5
+ include Fox
6
+
7
+ class TC_FXRangef < Test::Unit::TestCase
8
+
9
+ WIDTH, HEIGHT, DEPTH = 2, 4, 6
10
+
11
+ def setup
12
+ @range = FXRangef.new(0, WIDTH, 0, HEIGHT, 0, DEPTH)
13
+ end
14
+
15
+ def test_width
16
+ assert_equal(@range.width, WIDTH)
17
+ end
18
+ def test_height
19
+ assert_equal(@range.height, HEIGHT)
20
+ end
21
+ def test_depth
22
+ assert_equal(@range.depth, DEPTH)
23
+ end
24
+ def test_longest
25
+ assert_equal([@range.width, @range.height, @range.depth].max, @range.longest)
26
+ end
27
+ def test_shortest
28
+ assert_equal([@range.width, @range.height, @range.depth].min, @range.shortest)
29
+ end
30
+ def test_empty?
31
+ end
32
+ def test_overlaps?
33
+ end
34
+ def test_contains?
35
+ end
36
+ def test_include
37
+ end
38
+ def test_clipTo
39
+ end
40
+ def test_corners
41
+ end
42
+ def test_intersects?
43
+ end
44
+ def test_center
45
+ end
46
+ def test_diagonal
47
+ end
48
+ end
@@ -0,0 +1,88 @@
1
+ require 'test/unit'
2
+
3
+ require 'fox16'
4
+
5
+ include Fox
6
+
7
+ class TC_FXRectangle < Test::Unit::TestCase
8
+ def setup
9
+ @rect1 = FXRectangle.new
10
+ @rect2 = FXRectangle.new(5, 5, 300, 200)
11
+ @rect3 = FXRectangle.new(FXPoint.new(5, 5), FXSize.new(300, 200))
12
+ @rect4 = FXRectangle.new(FXPoint.new(5, 5), FXPoint.new(304, 204))
13
+ end
14
+
15
+ def test_equals
16
+ r1 = FXRectangle.new
17
+ r1.x = 10
18
+ r1.y = 15
19
+ r1.w = 20
20
+ r1.h = 25
21
+ @rect1.x = r1.x
22
+ @rect1.y = r1.y
23
+ @rect1.w = r1.w
24
+ @rect1.h = r1.h
25
+ assert_equal(@rect1, r1)
26
+ assert_equal(@rect2, FXRectangle.new(5, 5, 300, 200))
27
+ assert_equal(@rect3, FXRectangle.new(FXPoint.new(5, 5), FXSize.new(300, 200)))
28
+ assert_equal(@rect4, FXRectangle.new(FXPoint.new(5, 5), FXPoint.new(304, 204)))
29
+ end
30
+
31
+ def test_contains?
32
+ assert(@rect2.contains?(100, 100))
33
+ assert(@rect2.contains?(FXPoint.new(100, 100)))
34
+ assert(@rect2.contains?(FXRectangle.new(10, 10, 10, 10)))
35
+ end
36
+
37
+ def test_overlaps?
38
+ assert(@rect2.overlaps?(@rect3))
39
+ assert(@rect2.overlaps?(FXRectangle.new(200, 2, 400, 50)))
40
+ assert(!@rect2.overlaps?(FXRectangle.new(2, 2, 2, 2)))
41
+ end
42
+
43
+ def test_move!
44
+ x = @rect2.x
45
+ y = @rect2.y
46
+ result = @rect2.move!(10, 10)
47
+ assert_same(@rect2, result)
48
+ assert_equal(@rect2.x, x + 10)
49
+ assert_equal(@rect2.y, y + 10)
50
+ end
51
+
52
+ def test_grow!
53
+ result = @rect2.grow!(3)
54
+ assert_same(@rect2, result)
55
+ result = @rect3.grow!(3, 3)
56
+ assert_same(@rect3, result)
57
+ result = @rect4.grow!(3, 3, 3, 3)
58
+ assert_same(@rect4, result)
59
+ assert_equal(@rect2, @rect3)
60
+ assert_equal(@rect2, @rect4)
61
+ assert_equal(@rect3, @rect4)
62
+ end
63
+
64
+ def test_shrink!
65
+ result = @rect2.shrink!(3)
66
+ assert_same(@rect2, result)
67
+ result = @rect3.shrink!(3, 3)
68
+ assert_same(@rect3, result)
69
+ result = @rect4.shrink!(3, 3, 3, 3)
70
+ assert_same(@rect4, result)
71
+ assert_equal(@rect2, @rect3)
72
+ assert_equal(@rect2, @rect4)
73
+ assert_equal(@rect3, @rect4)
74
+ end
75
+
76
+ def test_corners
77
+ assert_equal(FXPoint.new( 5, 5), @rect2.tl)
78
+ assert_equal(FXPoint.new(304, 5), @rect2.tr)
79
+ assert_equal(FXPoint.new( 5, 204), @rect2.bl)
80
+ assert_equal(FXPoint.new(304, 204), @rect2.br)
81
+ end
82
+
83
+ def test_union
84
+ end
85
+
86
+ def test_intersection
87
+ end
88
+ end
@@ -0,0 +1,54 @@
1
+ require 'test/unit'
2
+
3
+ require 'fox16'
4
+
5
+ include Fox
6
+
7
+ class TC_FXRegion < Test::Unit::TestCase
8
+
9
+ def setup
10
+ @region = FXRegion.new(5, 5, 10, 10)
11
+ end
12
+
13
+ def test_construct_from_points
14
+ points = [
15
+ FXPoint.new(0, 0),
16
+ FXPoint.new(0, 100),
17
+ FXPoint.new(100, 100),
18
+ FXPoint.new(0, 0)
19
+ ]
20
+ r1 = FXRegion.new(points, true)
21
+ r2 = FXRegion.new(points, false)
22
+ r3 = FXRegion.new(points)
23
+ end
24
+
25
+ def test_copy_constructor
26
+ assert_equal(@region, FXRegion.new(@region))
27
+ end
28
+
29
+ def test_empty
30
+ assert(!@region.empty?)
31
+ empty_region = FXRegion.new(5, 5, 0, 0)
32
+ assert(empty_region.empty?)
33
+ end
34
+
35
+ def test_containsPoint
36
+ # Definitely out of bounds
37
+ assert(!@region.contains?(2, 3))
38
+
39
+ # Definitely in bounds
40
+ assert(@region.contains?(6, 6))
41
+
42
+ # Check corners too
43
+ assert(@region.contains?(5, 5))
44
+ assert(@region.contains?(5, 14))
45
+ assert(@region.contains?(14, 14))
46
+ assert(@region.contains?(14, 5))
47
+ end
48
+
49
+ def test_containsRectangle
50
+ assert(@region.contains?(2, 3, 15, 15)) # why doesn't this fail?
51
+ assert(@region.contains?(5, 5, 10, 10))
52
+ assert(@region.contains?(6, 6, 5, 5))
53
+ end
54
+ end
@@ -0,0 +1,27 @@
1
+ require 'test/unit'
2
+ require 'fox16'
3
+
4
+ include Fox
5
+
6
+ class TC_FXRegistry < Test::Unit::TestCase
7
+ def setup
8
+ @reg = FXRegistry.new("TC_FXRegistry", "FXRuby")
9
+ end
10
+
11
+ def test_boolEntries
12
+ assert(@reg.writeBoolEntry("SETTINGS", "trueEntry", true))
13
+ assert(@reg.writeBoolEntry("SETTINGS", "falseEntry", false))
14
+
15
+ assert(@reg.readBoolEntry("SETTINGS", "trueEntry"))
16
+ assert(@reg.readBoolEntry("SETTINGS", "trueEntry", true))
17
+ assert(@reg.readBoolEntry("SETTINGS", "trueEntry", false))
18
+
19
+ assert(!@reg.readBoolEntry("SETTINGS", "falseEntry"))
20
+ assert(!@reg.readBoolEntry("SETTINGS", "falseEntry", true))
21
+ assert(!@reg.readBoolEntry("SETTINGS", "falseEntry", false))
22
+
23
+ assert(!@reg.readBoolEntry("SETTINGS", "missingEntry"))
24
+ assert(!@reg.readBoolEntry("SETTINGS", "missingEntry", false))
25
+ assert( @reg.readBoolEntry("SETTINGS", "missingEntry", true))
26
+ end
27
+ end
@@ -0,0 +1,28 @@
1
+ require 'test/unit'
2
+ require 'fox16'
3
+ require 'testcase'
4
+
5
+ include Fox
6
+
7
+ class TC_FXScrollArea < TestCase
8
+ def setup
9
+ super(self.class.name)
10
+ @scrollArea = FXScrollArea.new(mainWindow)
11
+ end
12
+
13
+ def test_position_get
14
+ pos = @scrollArea.position
15
+ assert_instance_of(Array, pos)
16
+ assert_equal(2, pos.size)
17
+ assert_kind_of(Integer, pos[0])
18
+ assert_kind_of(Integer, pos[1])
19
+ end
20
+
21
+ def test_setPosition
22
+ @scrollArea.setPosition(0, 0)
23
+ end
24
+
25
+ def test_position_move_and_resize
26
+ @scrollArea.position(0, 0, 1, 1)
27
+ end
28
+ end
@@ -0,0 +1,28 @@
1
+ require 'test/unit'
2
+ require 'fox16'
3
+ require 'testcase'
4
+
5
+ include Fox
6
+
7
+ class TC_FXScrollWindow < TestCase
8
+ def setup
9
+ super(self.class.name)
10
+ @scrollWindow = FXScrollWindow.new(mainWindow)
11
+ end
12
+
13
+ def test_position_get
14
+ pos = @scrollWindow.position
15
+ assert_instance_of(Array, pos)
16
+ assert_equal(2, pos.size)
17
+ assert_kind_of(Integer, pos[0])
18
+ assert_kind_of(Integer, pos[1])
19
+ end
20
+
21
+ def test_setPosition
22
+ @scrollWindow.setPosition(0, 0)
23
+ end
24
+
25
+ def test_position_move_and_resize
26
+ @scrollWindow.position(0, 0, 1, 1)
27
+ end
28
+ end