fxruby 1.6.41-x64-mingw32 → 1.6.45-x64-mingw32

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 (375) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +2 -2
  3. data/.yardopts +1 -1
  4. data/Gemfile +2 -3
  5. data/History.md +26 -0
  6. data/README.rdoc +10 -5
  7. data/Rakefile +16 -5
  8. data/appveyor.yml +8 -7
  9. data/docs/Fox/Canvas/CanvasError.html +124 -0
  10. data/docs/Fox/Canvas/CircleShape.html +477 -0
  11. data/docs/Fox/Canvas/ImageShape.html +477 -0
  12. data/docs/Fox/Canvas/LineShape.html +1005 -0
  13. data/docs/Fox/Canvas/PolygonShape.html +145 -0
  14. data/docs/Fox/Canvas/RectangleShape.html +439 -0
  15. data/docs/Fox/Canvas/SelectionPolicy.html +352 -0
  16. data/docs/Fox/Canvas/Shape.html +1955 -0
  17. data/docs/Fox/Canvas/ShapeCanvas.html +2031 -0
  18. data/docs/Fox/Canvas/ShapeGroup.html +527 -0
  19. data/docs/Fox/Canvas/SingleSelectionPolicy.html +291 -0
  20. data/docs/Fox/Canvas/TextShape.html +609 -0
  21. data/docs/Fox/Canvas.html +141 -0
  22. data/docs/Fox/FTNonModal.html +550 -0
  23. data/docs/Fox/FX4Splitter.html +1336 -0
  24. data/docs/Fox/FX7Segment.html +1010 -0
  25. data/docs/Fox/FXAccelTable.html +715 -0
  26. data/docs/Fox/FXApp.html +7998 -0
  27. data/docs/Fox/FXArc.html +562 -0
  28. data/docs/Fox/FXArrowButton.html +865 -0
  29. data/docs/Fox/FXBMPIcon.html +450 -0
  30. data/docs/Fox/FXBMPImage.html +434 -0
  31. data/docs/Fox/FXBitmap.html +1362 -0
  32. data/docs/Fox/FXBitmapFrame.html +595 -0
  33. data/docs/Fox/FXBitmapView.html +1451 -0
  34. data/docs/Fox/FXButton.html +534 -0
  35. data/docs/Fox/FXCURCursor.html +261 -0
  36. data/docs/Fox/FXCalendar.html +880 -0
  37. data/docs/Fox/FXCanvas.html +311 -0
  38. data/docs/Fox/FXCheckButton.html +949 -0
  39. data/docs/Fox/FXChoiceBox.html +472 -0
  40. data/docs/Fox/FXColor.html +1519 -0
  41. data/docs/Fox/FXColorBar.html +759 -0
  42. data/docs/Fox/FXColorDialog.html +591 -0
  43. data/docs/Fox/FXColorItem.html +323 -0
  44. data/docs/Fox/FXColorList.html +712 -0
  45. data/docs/Fox/FXColorRing.html +817 -0
  46. data/docs/Fox/FXColorSelector.html +796 -0
  47. data/docs/Fox/FXColorWell.html +850 -0
  48. data/docs/Fox/FXColorWheel.html +770 -0
  49. data/docs/Fox/FXComboBox.html +2939 -0
  50. data/docs/Fox/FXComboTableItem.html +544 -0
  51. data/docs/Fox/FXCommand.html +526 -0
  52. data/docs/Fox/FXComposite.html +433 -0
  53. data/docs/Fox/FXCursor.html +779 -0
  54. data/docs/Fox/FXDC.html +5231 -0
  55. data/docs/Fox/FXDCPrint.html +696 -0
  56. data/docs/Fox/FXDCWindow.html +358 -0
  57. data/docs/Fox/FXDataTarget.html +573 -0
  58. data/docs/Fox/FXDebugTarget.html +305 -0
  59. data/docs/Fox/FXDelegator.html +305 -0
  60. data/docs/Fox/FXDial.html +1133 -0
  61. data/docs/Fox/FXDialogBox.html +413 -0
  62. data/docs/Fox/FXDict.html +1063 -0
  63. data/docs/Fox/FXDirBox.html +752 -0
  64. data/docs/Fox/FXDirDialog.html +914 -0
  65. data/docs/Fox/FXDirItem.html +989 -0
  66. data/docs/Fox/FXDirList.html +1554 -0
  67. data/docs/Fox/FXDirSelector.html +995 -0
  68. data/docs/Fox/FXDockBar.html +1451 -0
  69. data/docs/Fox/FXDockHandler.html +468 -0
  70. data/docs/Fox/FXDockSite.html +678 -0
  71. data/docs/Fox/FXDockTitle.html +606 -0
  72. data/docs/Fox/FXDocument.html +536 -0
  73. data/docs/Fox/FXDragCorner.html +440 -0
  74. data/docs/Fox/FXDrawable.html +478 -0
  75. data/docs/Fox/FXDriveBox.html +746 -0
  76. data/docs/Fox/FXEvent.html +1736 -0
  77. data/docs/Fox/FXExtentd.html +1374 -0
  78. data/docs/Fox/FXExtentf.html +1374 -0
  79. data/docs/Fox/FXFileAssoc.html +850 -0
  80. data/docs/Fox/FXFileDialog.html +2688 -0
  81. data/docs/Fox/FXFileDict.html +1058 -0
  82. data/docs/Fox/FXFileItem.html +1141 -0
  83. data/docs/Fox/FXFileList.html +2259 -0
  84. data/docs/Fox/FXFileSelector.html +2529 -0
  85. data/docs/Fox/FXFileStream.html +503 -0
  86. data/docs/Fox/FXFoldingItem.html +2822 -0
  87. data/docs/Fox/FXFoldingList.html +5189 -0
  88. data/docs/Fox/FXFont.html +2998 -0
  89. data/docs/Fox/FXFontDesc.html +710 -0
  90. data/docs/Fox/FXFontDialog.html +420 -0
  91. data/docs/Fox/FXFontSelector.html +576 -0
  92. data/docs/Fox/FXFrame.html +1012 -0
  93. data/docs/Fox/FXGIFCursor.html +337 -0
  94. data/docs/Fox/FXGIFIcon.html +450 -0
  95. data/docs/Fox/FXGIFImage.html +434 -0
  96. data/docs/Fox/FXGLCanvas.html +700 -0
  97. data/docs/Fox/FXGLCone.html +785 -0
  98. data/docs/Fox/FXGLContext.html +649 -0
  99. data/docs/Fox/FXGLCube.html +703 -0
  100. data/docs/Fox/FXGLCylinder.html +791 -0
  101. data/docs/Fox/FXGLGroup.html +1385 -0
  102. data/docs/Fox/FXGLLine.html +653 -0
  103. data/docs/Fox/FXGLObject.html +759 -0
  104. data/docs/Fox/FXGLPoint.html +561 -0
  105. data/docs/Fox/FXGLShape.html +714 -0
  106. data/docs/Fox/FXGLSphere.html +626 -0
  107. data/docs/Fox/FXGLViewer.html +3506 -0
  108. data/docs/Fox/FXGLVisual.html +2147 -0
  109. data/docs/Fox/FXGradient.html +562 -0
  110. data/docs/Fox/FXGradientBar.html +2479 -0
  111. data/docs/Fox/FXGroupBox.html +688 -0
  112. data/docs/Fox/FXHeader.html +3040 -0
  113. data/docs/Fox/FXHeaderItem.html +1353 -0
  114. data/docs/Fox/FXHiliteStyle.html +804 -0
  115. data/docs/Fox/FXHorizontalFrame.html +359 -0
  116. data/docs/Fox/FXHorizontalSeparator.html +349 -0
  117. data/docs/Fox/FXICOIcon.html +450 -0
  118. data/docs/Fox/FXICOImage.html +434 -0
  119. data/docs/Fox/FXIcon.html +384 -0
  120. data/docs/Fox/FXIconDict.html +752 -0
  121. data/docs/Fox/FXIconItem.html +1518 -0
  122. data/docs/Fox/FXIconList.html +4676 -0
  123. data/docs/Fox/FXIconSource.html +963 -0
  124. data/docs/Fox/FXId.html +712 -0
  125. data/docs/Fox/FXImage.html +2328 -0
  126. data/docs/Fox/FXImageFrame.html +489 -0
  127. data/docs/Fox/FXImageView.html +504 -0
  128. data/docs/Fox/FXInputDialog.html +894 -0
  129. data/docs/Fox/FXIrb.html +942 -0
  130. data/docs/Fox/FXJPGIcon.html +607 -0
  131. data/docs/Fox/FXJPGImage.html +591 -0
  132. data/docs/Fox/FXKnob.html +1048 -0
  133. data/docs/Fox/FXLabel.html +1013 -0
  134. data/docs/Fox/FXLight.html +920 -0
  135. data/docs/Fox/FXList.html +3717 -0
  136. data/docs/Fox/FXListBox.html +2518 -0
  137. data/docs/Fox/FXListItem.html +1459 -0
  138. data/docs/Fox/FXMDIChild.html +2175 -0
  139. data/docs/Fox/FXMDIClient.html +781 -0
  140. data/docs/Fox/FXMDIDeleteButton.html +334 -0
  141. data/docs/Fox/FXMDIMaximizeButton.html +334 -0
  142. data/docs/Fox/FXMDIMenu.html +335 -0
  143. data/docs/Fox/FXMDIMinimizeButton.html +334 -0
  144. data/docs/Fox/FXMDIRestoreButton.html +334 -0
  145. data/docs/Fox/FXMDIWindowButton.html +334 -0
  146. data/docs/Fox/FXMainWindow.html +337 -0
  147. data/docs/Fox/FXMaterial.html +570 -0
  148. data/docs/Fox/FXMatrix.html +734 -0
  149. data/docs/Fox/FXMemoryBuffer.html +472 -0
  150. data/docs/Fox/FXMemoryStream.html +632 -0
  151. data/docs/Fox/FXMenuBar.html +347 -0
  152. data/docs/Fox/FXMenuButton.html +829 -0
  153. data/docs/Fox/FXMenuCaption.html +1080 -0
  154. data/docs/Fox/FXMenuCascade.html +388 -0
  155. data/docs/Fox/FXMenuCheck.html +721 -0
  156. data/docs/Fox/FXMenuCommand.html +400 -0
  157. data/docs/Fox/FXMenuPane.html +333 -0
  158. data/docs/Fox/FXMenuRadio.html +721 -0
  159. data/docs/Fox/FXMenuSeparator.html +440 -0
  160. data/docs/Fox/FXMenuTitle.html +405 -0
  161. data/docs/Fox/FXMessageBox.html +658 -0
  162. data/docs/Fox/FXObject.html +545 -0
  163. data/docs/Fox/FXOption.html +491 -0
  164. data/docs/Fox/FXOptionMenu.html +885 -0
  165. data/docs/Fox/FXPCXIcon.html +450 -0
  166. data/docs/Fox/FXPCXImage.html +434 -0
  167. data/docs/Fox/FXPNGIcon.html +524 -0
  168. data/docs/Fox/FXPNGImage.html +508 -0
  169. data/docs/Fox/FXPPMIcon.html +450 -0
  170. data/docs/Fox/FXPPMImage.html +373 -0
  171. data/docs/Fox/FXPSBounds.html +500 -0
  172. data/docs/Fox/FXPacker.html +1229 -0
  173. data/docs/Fox/FXPicker.html +345 -0
  174. data/docs/Fox/FXPopup.html +1099 -0
  175. data/docs/Fox/FXPrintDialog.html +485 -0
  176. data/docs/Fox/FXPrinter.html +1330 -0
  177. data/docs/Fox/FXProgressBar.html +1150 -0
  178. data/docs/Fox/FXProgressDialog.html +715 -0
  179. data/docs/Fox/FXPseudoKeyboard.html +428 -0
  180. data/docs/Fox/FXPseudoMouse.html +800 -0
  181. data/docs/Fox/FXPseudoTarget.html +472 -0
  182. data/docs/Fox/FXQuatd.html +1377 -0
  183. data/docs/Fox/FXQuatf.html +1392 -0
  184. data/docs/Fox/FXRGBIcon.html +450 -0
  185. data/docs/Fox/FXRGBImage.html +434 -0
  186. data/docs/Fox/FXRadioButton.html +885 -0
  187. data/docs/Fox/FXRanged.html +1522 -0
  188. data/docs/Fox/FXRangef.html +1522 -0
  189. data/docs/Fox/FXRealSlider.html +1187 -0
  190. data/docs/Fox/FXRealSpinner.html +2175 -0
  191. data/docs/Fox/FXRecentFiles.html +841 -0
  192. data/docs/Fox/FXRectangle.html +802 -0
  193. data/docs/Fox/FXRegion.html +841 -0
  194. data/docs/Fox/FXRegistry.html +682 -0
  195. data/docs/Fox/FXReplaceDialog.html +648 -0
  196. data/docs/Fox/FXRootWindow.html +312 -0
  197. data/docs/Fox/FXRuler.html +2000 -0
  198. data/docs/Fox/FXRulerView.html +3997 -0
  199. data/docs/Fox/FXScintilla.html +49117 -0
  200. data/docs/Fox/FXScrollArea.html +1363 -0
  201. data/docs/Fox/FXScrollBar.html +1019 -0
  202. data/docs/Fox/FXScrollCorner.html +290 -0
  203. data/docs/Fox/FXScrollPane.html +499 -0
  204. data/docs/Fox/FXScrollWindow.html +409 -0
  205. data/docs/Fox/FXSearchDialog.html +382 -0
  206. data/docs/Fox/FXSegment.html +422 -0
  207. data/docs/Fox/FXSeparator.html +402 -0
  208. data/docs/Fox/FXSettings.html +1861 -0
  209. data/docs/Fox/FXShell.html +233 -0
  210. data/docs/Fox/FXShutter.html +472 -0
  211. data/docs/Fox/FXShutterItem.html +669 -0
  212. data/docs/Fox/FXSize.html +592 -0
  213. data/docs/Fox/FXSlider.html +1129 -0
  214. data/docs/Fox/FXSphered.html +906 -0
  215. data/docs/Fox/FXSpheref.html +906 -0
  216. data/docs/Fox/FXSpinner.html +2102 -0
  217. data/docs/Fox/FXSplashScreen.html +497 -0
  218. data/docs/Fox/FXSplashWindow.html +494 -0
  219. data/docs/Fox/FXSplitter.html +643 -0
  220. data/docs/Fox/FXSpring.html +517 -0
  221. data/docs/Fox/FXStatusBar.html +593 -0
  222. data/docs/Fox/FXStatusLine.html +754 -0
  223. data/docs/Fox/FXStream.html +1372 -0
  224. data/docs/Fox/FXStreamAllocError.html +148 -0
  225. data/docs/Fox/FXStreamEndError.html +148 -0
  226. data/docs/Fox/FXStreamError.html +259 -0
  227. data/docs/Fox/FXStreamFailureError.html +148 -0
  228. data/docs/Fox/FXStreamFormatError.html +148 -0
  229. data/docs/Fox/FXStreamFullError.html +148 -0
  230. data/docs/Fox/FXStreamNoReadError.html +148 -0
  231. data/docs/Fox/FXStreamNoWriteError.html +148 -0
  232. data/docs/Fox/FXStreamUnknownError.html +148 -0
  233. data/docs/Fox/FXStringDict.html +552 -0
  234. data/docs/Fox/FXSwitcher.html +619 -0
  235. data/docs/Fox/FXTGAIcon.html +450 -0
  236. data/docs/Fox/FXTGAImage.html +434 -0
  237. data/docs/Fox/FXTIFIcon.html +604 -0
  238. data/docs/Fox/FXTIFImage.html +588 -0
  239. data/docs/Fox/FXTabBar.html +644 -0
  240. data/docs/Fox/FXTabBook.html +373 -0
  241. data/docs/Fox/FXTabItem.html +478 -0
  242. data/docs/Fox/FXTable.html +10107 -0
  243. data/docs/Fox/FXTableItem.html +2195 -0
  244. data/docs/Fox/FXTablePos.html +360 -0
  245. data/docs/Fox/FXTableRange.html +360 -0
  246. data/docs/Fox/FXText.html +6870 -0
  247. data/docs/Fox/FXTextChange.html +492 -0
  248. data/docs/Fox/FXTextField.html +2016 -0
  249. data/docs/Fox/FXToggleButton.html +844 -0
  250. data/docs/Fox/FXToolBar.html +452 -0
  251. data/docs/Fox/FXToolBarGrip.html +584 -0
  252. data/docs/Fox/FXToolBarShell.html +788 -0
  253. data/docs/Fox/FXToolBarTab.html +729 -0
  254. data/docs/Fox/FXToolTip.html +761 -0
  255. data/docs/Fox/FXTopWindow.html +1716 -0
  256. data/docs/Fox/FXTranslator.html +481 -0
  257. data/docs/Fox/FXTreeItem.html +2813 -0
  258. data/docs/Fox/FXTreeList.html +5095 -0
  259. data/docs/Fox/FXTreeListBox.html +3080 -0
  260. data/docs/Fox/FXTriStateButton.html +681 -0
  261. data/docs/Fox/FXUndoList.html +2560 -0
  262. data/docs/Fox/FXVec2d.html +1450 -0
  263. data/docs/Fox/FXVec2f.html +1442 -0
  264. data/docs/Fox/FXVec3d.html +1649 -0
  265. data/docs/Fox/FXVec3f.html +1649 -0
  266. data/docs/Fox/FXVec4d.html +1858 -0
  267. data/docs/Fox/FXVec4f.html +1858 -0
  268. data/docs/Fox/FXVerticalFrame.html +359 -0
  269. data/docs/Fox/FXVerticalSeparator.html +349 -0
  270. data/docs/Fox/FXViewport.html +780 -0
  271. data/docs/Fox/FXVisual.html +1023 -0
  272. data/docs/Fox/FXWindow.html +9948 -0
  273. data/docs/Fox/FXWizard.html +1052 -0
  274. data/docs/Fox/FXXBMIcon.html +453 -0
  275. data/docs/Fox/FXXBMImage.html +437 -0
  276. data/docs/Fox/FXXPMIcon.html +450 -0
  277. data/docs/Fox/FXXPMImage.html +434 -0
  278. data/docs/Fox/NotifyHeader.html +286 -0
  279. data/docs/Fox/SCNotification.html +1438 -0
  280. data/docs/Fox/TextRange.html +281 -0
  281. data/docs/Fox.html +11184 -0
  282. data/docs/IRB.html +204 -0
  283. data/docs/Responder.html +693 -0
  284. data/docs/Responder2.html +225 -0
  285. data/docs/_index.html +2101 -0
  286. data/docs/class_list.html +51 -0
  287. data/docs/css/common.css +1 -0
  288. data/docs/css/full_list.css +58 -0
  289. data/docs/css/style.css +496 -0
  290. data/docs/file.History.html +869 -0
  291. data/docs/file.README.html +104 -0
  292. data/docs/file_list.html +66 -0
  293. data/docs/frames.html +17 -0
  294. data/docs/index.html +614 -0
  295. data/docs/js/app.js +314 -0
  296. data/docs/js/full_list.js +216 -0
  297. data/docs/js/jquery.js +4 -0
  298. data/docs/method_list.html +31043 -0
  299. data/docs/top-level-namespace.html +214 -0
  300. data/examples/canvasdemo.rb +5 -1
  301. data/examples/gltest.rb +162 -106
  302. data/examples/glviewer.rb +12 -8
  303. data/ext/fox16_c/core_wrap.cpp +117 -115
  304. data/ext/fox16_c/dc_wrap.cpp +82 -60
  305. data/ext/fox16_c/dialogs_wrap.cpp +87 -67
  306. data/ext/fox16_c/extconf.rb +12 -12
  307. data/ext/fox16_c/frames_wrap.cpp +101 -75
  308. data/ext/fox16_c/fx3d_wrap.cpp +258 -302
  309. data/ext/fox16_c/iconlist_wrap.cpp +70 -52
  310. data/ext/fox16_c/icons_wrap.cpp +75 -55
  311. data/ext/fox16_c/image_wrap.cpp +75 -57
  312. data/ext/fox16_c/label_wrap.cpp +78 -60
  313. data/ext/fox16_c/layout_wrap.cpp +83 -65
  314. data/ext/fox16_c/list_wrap.cpp +70 -52
  315. data/ext/fox16_c/mdi_wrap.cpp +76 -58
  316. data/ext/fox16_c/menu_wrap.cpp +78 -60
  317. data/ext/fox16_c/scintilla_wrap.cpp +85 -61
  318. data/ext/fox16_c/swigruby.h +64 -46
  319. data/ext/fox16_c/table_wrap.cpp +80 -58
  320. data/ext/fox16_c/text_wrap.cpp +75 -55
  321. data/ext/fox16_c/treelist_wrap.cpp +71 -53
  322. data/ext/fox16_c/ui_wrap.cpp +101 -81
  323. data/fxruby.gemspec +1 -1
  324. data/lib/2.4/fox16_c.so +0 -0
  325. data/lib/2.5/fox16_c.so +0 -0
  326. data/lib/2.6/fox16_c.so +0 -0
  327. data/lib/2.7/fox16_c.so +0 -0
  328. data/lib/{2.2 → 3.0}/fox16_c.so +0 -0
  329. data/lib/fox16/aliases.rb +0 -0
  330. data/lib/fox16/bitmapview.rb +0 -0
  331. data/lib/fox16/calendar.rb +0 -0
  332. data/lib/fox16/canvas.rb +76 -45
  333. data/lib/fox16/chore.rb +0 -0
  334. data/lib/fox16/colors.rb +0 -0
  335. data/lib/fox16/core.rb +0 -0
  336. data/lib/fox16/dict.rb +0 -0
  337. data/lib/fox16/glgroup.rb +5 -5
  338. data/lib/fox16/glshapes.rb +111 -99
  339. data/lib/fox16/input.rb +0 -0
  340. data/lib/fox16/irb.rb +0 -0
  341. data/lib/fox16/iterators.rb +0 -0
  342. data/lib/fox16/keys.rb +0 -0
  343. data/lib/fox16/missingdep.rb +0 -0
  344. data/lib/fox16/pseudokeyboard.rb +0 -0
  345. data/lib/fox16/pseudomouse.rb +0 -0
  346. data/lib/fox16/responder.rb +0 -0
  347. data/lib/fox16/responder2.rb +0 -0
  348. data/lib/fox16/scintilla.rb +0 -0
  349. data/lib/fox16/settings.rb +0 -0
  350. data/lib/fox16/signal.rb +0 -0
  351. data/lib/fox16/timeout.rb +0 -0
  352. data/lib/fox16/tkcompat.rb +0 -0
  353. data/lib/fox16/undolist.rb +0 -0
  354. data/lib/fox16/version.rb +1 -1
  355. data/lib/fox16.rb +2 -4
  356. data/ports/x64-mingw32/bin/libFOX-1.6-0.dll +0 -0
  357. data/ports/x64-mingw32/bin/libfxscintilla-20.dll +0 -0
  358. data/ports/x64-mingw32/bin/libgcc_s_seh-1.dll +0 -0
  359. data/ports/x64-mingw32/bin/libjpeg-62.dll +0 -0
  360. data/ports/x64-mingw32/bin/libpng16-16.dll +0 -0
  361. data/ports/x64-mingw32/bin/libstdc++-6.dll +0 -0
  362. data/ports/x64-mingw32/bin/libtiff-5.dll +0 -0
  363. data/ports/x64-mingw32/bin/libwinpthread-1.dll +0 -0
  364. data/ports/x64-mingw32/bin/zlib1.dll +0 -0
  365. metadata +310 -20
  366. data/lib/2.3/fox16_c.so +0 -0
  367. data/ports/x86_64-w64-mingw32/bin/libFOX-1.6-0.dll +0 -0
  368. data/ports/x86_64-w64-mingw32/bin/libfxscintilla-20.dll +0 -0
  369. data/ports/x86_64-w64-mingw32/bin/libgcc_s_seh-1.dll +0 -0
  370. data/ports/x86_64-w64-mingw32/bin/libjpeg-62.dll +0 -0
  371. data/ports/x86_64-w64-mingw32/bin/libpng16-16.dll +0 -0
  372. data/ports/x86_64-w64-mingw32/bin/libstdc++-6.dll +0 -0
  373. data/ports/x86_64-w64-mingw32/bin/libtiff-5.dll +0 -0
  374. data/ports/x86_64-w64-mingw32/bin/libwinpthread-1.dll +0 -0
  375. data/ports/x86_64-w64-mingw32/bin/zlib1.dll +0 -0
@@ -52,6 +52,8 @@ class CanvasDemo < FXMainWindow
52
52
  FXMenuTitle.new(menu_bar, "&Edit", nil, edit_menu)
53
53
  FXMenuTitle.new(menu_bar, "&Help", nil, help_menu)
54
54
 
55
+ @birdImage = FXPNGImage.new(app, File.binread(File.expand_path("../icons/dippy.png", __FILE__)))
56
+
55
57
  # Status bar
56
58
  FXStatusBar.new(self,
57
59
  LAYOUT_SIDE_BOTTOM|LAYOUT_FILL_X|STATUSBAR_WITH_DRAGCORNER)
@@ -70,12 +72,14 @@ class CanvasDemo < FXMainWindow
70
72
  scene.addShape(CircleShape.new(50, 50, 20))
71
73
  scene.addShape(LineShape.new(10, 10, 70, 70))
72
74
  scene.addShape(RectangleShape.new(90, 90, 30, 40))
73
- scene.addShape(TextShape.new(60, 60, 30, 40, "Hello!"))
75
+ scene.addShape(TextShape.new(100, 40, 50, 15, "Hello g!"))
76
+ scene.addShape(ImageShape.new(160, 5, @birdImage ))
74
77
  scene
75
78
  end
76
79
 
77
80
  def create
78
81
  super
82
+ @birdImage.create
79
83
  show(PLACEMENT_SCREEN)
80
84
  end
81
85
  end
data/examples/gltest.rb CHANGED
@@ -3,73 +3,127 @@
3
3
  require 'fox16'
4
4
  begin
5
5
  require 'opengl'
6
- require 'glu'
7
6
  rescue LoadError
8
7
  require 'fox16/missingdep'
9
8
  MSG = <<EOM
10
- Sorry, this example depends on the opengl gems. Please execute:
11
- gem install opengl glu
9
+ Sorry, this example depends on the opengl-bindings gems. Please execute:
10
+ gem install opengl-bindings
12
11
  EOM
13
12
  missingDependency(MSG)
14
13
  end
15
14
 
16
15
 
17
- include Fox
18
16
 
19
- class GLTestWindow < FXMainWindow
17
+ class GLTestWindow < Fox::FXMainWindow
18
+ include Fox
19
+ include OpenGL
20
20
 
21
21
  # How often our timer will fire (in milliseconds)
22
22
  TIMER_INTERVAL = 100
23
23
 
24
24
  # Draws a simple box using the given corners
25
25
  def drawBox(xmin, ymin, zmin, xmax, ymax, zmax)
26
- GL.Begin(GL::TRIANGLE_STRIP)
27
- GL.Normal(0.0, 0.0, -1.0)
28
- GL.Vertex(xmin, ymin, zmin)
29
- GL.Vertex(xmin, ymax, zmin)
30
- GL.Vertex(xmax, ymin, zmin)
31
- GL.Vertex(xmax, ymax, zmin)
32
- GL.End()
33
-
34
- GL.Begin(GL::TRIANGLE_STRIP)
35
- GL.Normal(1.0, 0.0, 0.0)
36
- GL.Vertex(xmax, ymin, zmin)
37
- GL.Vertex(xmax, ymax, zmin)
38
- GL.Vertex(xmax, ymin, zmax)
39
- GL.Vertex(xmax, ymax, zmax)
40
- GL.End()
41
-
42
- GL.Begin(GL::TRIANGLE_STRIP)
43
- GL.Normal(0.0, 0.0, 1.0)
44
- GL.Vertex(xmax, ymin, zmax)
45
- GL.Vertex(xmax, ymax, zmax)
46
- GL.Vertex(xmin, ymin, zmax)
47
- GL.Vertex(xmin, ymax, zmax)
48
- GL.End()
49
-
50
- GL.Begin(GL::TRIANGLE_STRIP)
51
- GL.Normal(-1.0, 0.0, 0.0)
52
- GL.Vertex(xmin, ymin, zmax)
53
- GL.Vertex(xmin, ymax, zmax)
54
- GL.Vertex(xmin, ymin, zmin)
55
- GL.Vertex(xmin, ymax, zmin)
56
- GL.End()
57
-
58
- GL.Begin(GL::TRIANGLE_STRIP)
59
- GL.Normal(0.0, 1.0, 0.0)
60
- GL.Vertex(xmin, ymax, zmin)
61
- GL.Vertex(xmin, ymax, zmax)
62
- GL.Vertex(xmax, ymax, zmin)
63
- GL.Vertex(xmax, ymax, zmax)
64
- GL.End()
65
-
66
- GL.Begin(GL::TRIANGLE_STRIP)
67
- GL.Normal(0.0, -1.0, 0.0)
68
- GL.Vertex(xmax, ymin, zmax)
69
- GL.Vertex(xmax, ymin, zmin)
70
- GL.Vertex(xmin, ymin, zmax)
71
- GL.Vertex(xmin, ymin, zmin)
72
- GL.End()
26
+ glBegin(GL_TRIANGLE_STRIP)
27
+ glNormal3d(0.0, 0.0, -1.0)
28
+ glVertex3d(xmin, ymin, zmin)
29
+ glVertex3d(xmin, ymax, zmin)
30
+ glVertex3d(xmax, ymin, zmin)
31
+ glVertex3d(xmax, ymax, zmin)
32
+ glEnd()
33
+
34
+ glBegin(GL_TRIANGLE_STRIP)
35
+ glNormal3d(1.0, 0.0, 0.0)
36
+ glVertex3d(xmax, ymin, zmin)
37
+ glVertex3d(xmax, ymax, zmin)
38
+ glVertex3d(xmax, ymin, zmax)
39
+ glVertex3d(xmax, ymax, zmax)
40
+ glEnd()
41
+
42
+ glBegin(GL_TRIANGLE_STRIP)
43
+ glNormal3d(0.0, 0.0, 1.0)
44
+ glVertex3d(xmax, ymin, zmax)
45
+ glVertex3d(xmax, ymax, zmax)
46
+ glVertex3d(xmin, ymin, zmax)
47
+ glVertex3d(xmin, ymax, zmax)
48
+ glEnd()
49
+
50
+ glBegin(GL_TRIANGLE_STRIP)
51
+ glNormal3d(-1.0, 0.0, 0.0)
52
+ glVertex3d(xmin, ymin, zmax)
53
+ glVertex3d(xmin, ymax, zmax)
54
+ glVertex3d(xmin, ymin, zmin)
55
+ glVertex3d(xmin, ymax, zmin)
56
+ glEnd()
57
+
58
+ glBegin(GL_TRIANGLE_STRIP)
59
+ glNormal3d(0.0, 1.0, 0.0)
60
+ glVertex3d(xmin, ymax, zmin)
61
+ glVertex3d(xmin, ymax, zmax)
62
+ glVertex3d(xmax, ymax, zmin)
63
+ glVertex3d(xmax, ymax, zmax)
64
+ glEnd()
65
+
66
+ glBegin(GL_TRIANGLE_STRIP)
67
+ glNormal3d(0.0, -1.0, 0.0)
68
+ glVertex3d(xmax, ymin, zmax)
69
+ glVertex3d(xmax, ymin, zmin)
70
+ glVertex3d(xmin, ymin, zmax)
71
+ glVertex3d(xmin, ymin, zmin)
72
+ glEnd()
73
+ end
74
+
75
+ def gluPerspective(fovY, aspect, zNear, zFar )
76
+ fH = Math.tan( fovY / 360 * Math::PI ) * zNear;
77
+ fW = fH * aspect;
78
+
79
+ glFrustum( -fW, fW, -fH, fH, zNear, zFar );
80
+ end
81
+
82
+ # Define our own version of gluLookAt() to avoid dependency to deprecated GLU library
83
+ def gluLookAt(ex, ey, ez,
84
+ lx, ly, lz,
85
+ ux, uy, uz )
86
+ z0 = ex - lx
87
+ z1 = ey - ly
88
+ z2 = ez - lz
89
+ l = z0*z0+z1*z1+z2*z2
90
+ if l != 0 then
91
+ l = 1.0 / Math.sqrt(l)
92
+ z0 *= l
93
+ z1 *= l
94
+ z2 *= l
95
+ end
96
+
97
+ x0 = uy*z2-uz*z1
98
+ x1 = -ux*z2+uz*z0
99
+ x2 = ux*z1-uy*z0
100
+ l = x0*x0+x1*x1+x2*x2
101
+ if l != 0 then
102
+ l = 1.0 / Math.sqrt(l)
103
+ x0 *= l
104
+ x1 *= l
105
+ x2 *= l
106
+ end
107
+
108
+ y0 = z1*x2-z2*x1
109
+ y1 = -z0*x2+z2*x0
110
+ y2 = z0*x1-z1*x0
111
+ l = y0*y0+y1*y1+y2*y2
112
+ if l != 0 then
113
+ l = 1.0 / Math.sqrt(l)
114
+ y0 *= l
115
+ y1 *= l
116
+ y2 *= l
117
+ end
118
+
119
+ m4x4 = [
120
+ x0,y0,z0,0,
121
+ x1,y1,z1,0,
122
+ x2,y2,z2,0,
123
+ 0, 0, 0,1,
124
+ ].pack("d*")
125
+ glMultMatrixd m4x4
126
+ glTranslated -ex,-ey,-ez
73
127
  end
74
128
 
75
129
  # Draw the GL scene
@@ -87,80 +141,80 @@ class GLTestWindow < FXMainWindow
87
141
  # Make context current
88
142
  @glcanvas.makeCurrent()
89
143
 
90
- GL.Viewport(0, 0, @glcanvas.width, @glcanvas.height)
144
+ glViewport(0, 0, @glcanvas.width, @glcanvas.height)
91
145
 
92
- GL.ClearColor(1.0, 1.0, 1.0, 1.0)
93
- GL.Clear(GL::COLOR_BUFFER_BIT|GL::DEPTH_BUFFER_BIT)
94
- GL.Enable(GL::DEPTH_TEST)
146
+ glClearColor(1.0, 1.0, 1.0, 1.0)
147
+ glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT)
148
+ glEnable(GL_DEPTH_TEST)
95
149
 
96
- GL.Disable(GL::DITHER)
150
+ glDisable(GL_DITHER)
97
151
 
98
- GL.MatrixMode(GL::PROJECTION)
99
- GL.LoadIdentity()
100
- GLU.Perspective(30.0, aspect, 1.0, 100.0)
152
+ glMatrixMode(GL_PROJECTION)
153
+ glLoadIdentity()
154
+ gluPerspective(30.0, aspect, 1.0, 100.0)
101
155
 
102
- GL.MatrixMode(GL::MODELVIEW)
103
- GL.LoadIdentity()
104
- GLU.LookAt(5.0, 10.0, 15.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0)
156
+ glMatrixMode(GL_MODELVIEW)
157
+ glLoadIdentity()
158
+ gluLookAt(5.0, 10.0, 15.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0)
105
159
 
106
- GL.ShadeModel(GL::SMOOTH)
107
- GL.Light(GL::LIGHT0, GL::POSITION, lightPosition)
108
- GL.Light(GL::LIGHT0, GL::AMBIENT, lightAmbient)
109
- GL.Light(GL::LIGHT0, GL::DIFFUSE, lightDiffuse)
110
- GL.Enable(GL::LIGHT0)
111
- GL.Enable(GL::LIGHTING)
160
+ glShadeModel(GL_SMOOTH)
161
+ glLightfv(GL_LIGHT0, GL_POSITION, lightPosition.pack("f*"))
162
+ glLightfv(GL_LIGHT0, GL_AMBIENT, lightAmbient.pack("f*"))
163
+ glLightfv(GL_LIGHT0, GL_DIFFUSE, lightDiffuse.pack("f*"))
164
+ glEnable(GL_LIGHT0)
165
+ glEnable(GL_LIGHTING)
112
166
 
113
- GL.Material(GL::FRONT, GL::AMBIENT, blueMaterial)
114
- GL.Material(GL::FRONT, GL::DIFFUSE, blueMaterial)
167
+ glMaterialfv(GL_FRONT, GL_AMBIENT, blueMaterial.pack("f*"))
168
+ glMaterialfv(GL_FRONT, GL_DIFFUSE, blueMaterial.pack("f*"))
115
169
 
116
- GL.PushMatrix()
117
- GL.Rotated(@angle, 0.0, 1.0, 0.0)
170
+ glPushMatrix()
171
+ glRotated(@angle, 0.0, 1.0, 0.0)
118
172
  drawBox(-1, -1, -1, 1, 1, 1)
119
173
 
120
- GL.Material(GL::FRONT, GL::AMBIENT, redMaterial)
121
- GL.Material(GL::FRONT, GL::DIFFUSE, redMaterial)
174
+ glMaterialfv(GL_FRONT, GL_AMBIENT, redMaterial.pack("f*"))
175
+ glMaterialfv(GL_FRONT, GL_DIFFUSE, redMaterial.pack("f*"))
122
176
 
123
- GL.PushMatrix()
124
- GL.Translated(0.0, 1.75, 0.0)
125
- GL.Rotated(@angle, 0.0, 1.0, 0.0)
177
+ glPushMatrix()
178
+ glTranslated(0.0, 1.75, 0.0)
179
+ glRotated(@angle, 0.0, 1.0, 0.0)
126
180
  drawBox(-0.5, -0.5, -0.5, 0.5, 0.5, 0.5)
127
- GL.PopMatrix()
181
+ glPopMatrix()
128
182
 
129
- GL.PushMatrix()
130
- GL.Translated(0.0, -1.75, 0.0)
131
- GL.Rotated(@angle, 0.0, 1.0, 0.0)
183
+ glPushMatrix()
184
+ glTranslated(0.0, -1.75, 0.0)
185
+ glRotated(@angle, 0.0, 1.0, 0.0)
132
186
  drawBox(-0.5, -0.5, -0.5, 0.5, 0.5, 0.5)
133
- GL.PopMatrix()
187
+ glPopMatrix()
134
188
 
135
- GL.PushMatrix()
136
- GL.Rotated(90.0, 1.0, 0.0, 0.0)
137
- GL.Translated(0.0, 1.75, 0.0)
138
- GL.Rotated(@angle, 0.0, 1.0, 0.0)
189
+ glPushMatrix()
190
+ glRotated(90.0, 1.0, 0.0, 0.0)
191
+ glTranslated(0.0, 1.75, 0.0)
192
+ glRotated(@angle, 0.0, 1.0, 0.0)
139
193
  drawBox(-0.5,-0.5,-0.5,0.5,0.5,0.5)
140
- GL.PopMatrix()
194
+ glPopMatrix()
141
195
 
142
- GL.PushMatrix()
143
- GL.Rotated(90.0, -1.0, 0.0, 0.0)
144
- GL.Translated(0.0,1.75,0.0)
145
- GL.Rotated(@angle, 0.0, 1.0, 0.0)
196
+ glPushMatrix()
197
+ glRotated(90.0, -1.0, 0.0, 0.0)
198
+ glTranslated(0.0,1.75,0.0)
199
+ glRotated(@angle, 0.0, 1.0, 0.0)
146
200
  drawBox(-0.5,-0.5,-0.5,0.5,0.5,0.5)
147
- GL.PopMatrix()
201
+ glPopMatrix()
148
202
 
149
- GL.PushMatrix()
150
- GL.Rotated(90.0, 0.0, 0.0, 1.0)
151
- GL.Translated(0.0,1.75,0.0)
152
- GL.Rotated(@angle, 0.0, 1.0, 0.0)
203
+ glPushMatrix()
204
+ glRotated(90.0, 0.0, 0.0, 1.0)
205
+ glTranslated(0.0,1.75,0.0)
206
+ glRotated(@angle, 0.0, 1.0, 0.0)
153
207
  drawBox(-0.5,-0.5,-0.5,0.5,0.5,0.5)
154
- GL.PopMatrix()
208
+ glPopMatrix()
155
209
 
156
- GL.PushMatrix()
157
- GL.Rotated(90.0, 0.0, 0.0, -1.0)
158
- GL.Translated(0.0,1.75,0.0)
159
- GL.Rotated(@angle, 0.0, 1.0, 0.0)
210
+ glPushMatrix()
211
+ glRotated(90.0, 0.0, 0.0, -1.0)
212
+ glTranslated(0.0,1.75,0.0)
213
+ glRotated(@angle, 0.0, 1.0, 0.0)
160
214
  drawBox(-0.5,-0.5,-0.5,0.5,0.5,0.5)
161
- GL.PopMatrix()
215
+ glPopMatrix()
162
216
 
163
- GL.PopMatrix()
217
+ glPopMatrix()
164
218
 
165
219
  # Swap if it is double-buffered
166
220
  if @glvisual.isDoubleBuffer
@@ -175,6 +229,8 @@ class GLTestWindow < FXMainWindow
175
229
  # Invoke the base class initializer
176
230
  super(app, "OpenGL Test Application", :opts => DECOR_ALL, :width => 800, :height => 600)
177
231
 
232
+ OpenGL.load_lib
233
+
178
234
  # Construct the main window elements
179
235
  frame = FXHorizontalFrame.new(self, LAYOUT_SIDE_TOP|LAYOUT_FILL_X|LAYOUT_FILL_Y)
180
236
  frame.padLeft, frame.padRight = 0, 0
@@ -207,7 +263,7 @@ class GLTestWindow < FXMainWindow
207
263
  @glcanvas.connect(SEL_PAINT) { drawScene }
208
264
  @glcanvas.connect(SEL_CONFIGURE) do
209
265
  if @glcanvas.makeCurrent
210
- GL.Viewport(0, 0, @glcanvas.width, @glcanvas.height)
266
+ glViewport(0, 0, @glcanvas.width, @glcanvas.height)
211
267
  @glcanvas.makeNonCurrent
212
268
  end
213
269
  end
@@ -310,7 +366,7 @@ end
310
366
 
311
367
  if __FILE__ == $0
312
368
  # Construct the application
313
- application = FXApp.new("GLTest", "FoxTest")
369
+ application = Fox::FXApp.new("GLTest", "FoxTest")
314
370
 
315
371
  # Construct the main window
316
372
  GLTestWindow.new(application)
data/examples/glviewer.rb CHANGED
@@ -7,16 +7,15 @@ begin
7
7
  rescue LoadError
8
8
  require 'fox16/missingdep'
9
9
  MSG = <<EOM
10
- Sorry, this example depends on the OpenGL extension. Please
11
- check the Ruby Application Archives for an appropriate
12
- download site.
10
+ Sorry, this example depends on the opengl-bindings gems. Please execute:
11
+ gem install opengl-bindings
13
12
  EOM
14
13
  missingDependency(MSG)
15
14
  end
16
15
 
17
- include Fox
16
+ class TabBook < Fox::FXTabBook
17
+ include Fox
18
18
 
19
- class TabBook < FXTabBook
20
19
  def createAnglesPage(panels, mdiclient)
21
20
  # Angles tab
22
21
  FXTabItem.new(panels,
@@ -143,8 +142,8 @@ class TabBook < FXTabBook
143
142
  end
144
143
  end
145
144
 
146
- class GLViewWindow < FXMainWindow
147
-
145
+ class GLViewWindow < Fox::FXMainWindow
146
+ include Fox
148
147
  include Responder
149
148
 
150
149
  ID_QUERY_MODE = FXMainWindow::ID_LAST
@@ -162,6 +161,9 @@ class GLViewWindow < FXMainWindow
162
161
  # Initialize base class first
163
162
  super(app, "OpenGL Example Application", :opts => DECOR_ALL, :width => 800, :height => 600)
164
163
 
164
+ OpenGL.load_lib
165
+ GLU.load_lib
166
+
165
167
  # Define message identifiers for this class
166
168
 
167
169
  # Set up the message map
@@ -481,6 +483,8 @@ class GLViewWindow < FXMainWindow
481
483
  sphere = FXGLSphere.new(1.0, 1.0, 0.0, 0.5)
482
484
  sphere2 = FXGLSphere.new(0.0, 0.0, 0.0, 0.8)
483
485
  sphere.tipText = "Sphere"
486
+ gp2.append(FXGLLine.new(-2.0, 0.0, 0.0, -1.0, 1.0, 1.0))
487
+ gp2.append(FXGLPoint.new(-2.0, 0.0, 0.0))
484
488
  gp2.append(FXGLCube.new(-1.0, 0.0, 0.0, 1.0, 1.0, 1.0))
485
489
  gp2.append(FXGLCube.new( 1.0, 0.0, 0.0, 1.0, 1.0, 1.0))
486
490
  gp2.append(FXGLCube.new( 0.0,-1.0, 0.0, 1.0, 1.0, 1.0))
@@ -556,7 +560,7 @@ end
556
560
 
557
561
  if __FILE__ == $0
558
562
  # Make application
559
- application = FXApp.new("GLViewer", "FoxTest")
563
+ application = Fox::FXApp.new("GLViewer", "FoxTest")
560
564
  application.threadsEnabled = false
561
565
 
562
566
  # Make window