fxruby 1.6.38-x86-mingw32 → 1.6.43-x86-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 (360) hide show
  1. checksums.yaml +5 -5
  2. data/.travis.yml +3 -14
  3. data/.yardopts +1 -1
  4. data/Gemfile +8 -5
  5. data/History.md +1344 -21
  6. data/README.rdoc +5 -5
  7. data/Rakefile +100 -68
  8. data/appveyor.yml +17 -4
  9. data/docs/Fox.html +11184 -0
  10. data/docs/Fox/Canvas.html +141 -0
  11. data/docs/Fox/Canvas/CanvasError.html +124 -0
  12. data/docs/Fox/Canvas/CircleShape.html +477 -0
  13. data/docs/Fox/Canvas/ImageShape.html +477 -0
  14. data/docs/Fox/Canvas/LineShape.html +1005 -0
  15. data/docs/Fox/Canvas/PolygonShape.html +145 -0
  16. data/docs/Fox/Canvas/RectangleShape.html +439 -0
  17. data/docs/Fox/Canvas/SelectionPolicy.html +352 -0
  18. data/docs/Fox/Canvas/Shape.html +1955 -0
  19. data/docs/Fox/Canvas/ShapeCanvas.html +2031 -0
  20. data/docs/Fox/Canvas/ShapeGroup.html +527 -0
  21. data/docs/Fox/Canvas/SingleSelectionPolicy.html +291 -0
  22. data/docs/Fox/Canvas/TextShape.html +609 -0
  23. data/docs/Fox/FTNonModal.html +550 -0
  24. data/docs/Fox/FX4Splitter.html +1336 -0
  25. data/docs/Fox/FX7Segment.html +1010 -0
  26. data/docs/Fox/FXAccelTable.html +715 -0
  27. data/docs/Fox/FXApp.html +7998 -0
  28. data/docs/Fox/FXArc.html +562 -0
  29. data/docs/Fox/FXArrowButton.html +865 -0
  30. data/docs/Fox/FXBMPIcon.html +450 -0
  31. data/docs/Fox/FXBMPImage.html +434 -0
  32. data/docs/Fox/FXBitmap.html +1362 -0
  33. data/docs/Fox/FXBitmapFrame.html +595 -0
  34. data/docs/Fox/FXBitmapView.html +1451 -0
  35. data/docs/Fox/FXButton.html +534 -0
  36. data/docs/Fox/FXCURCursor.html +261 -0
  37. data/docs/Fox/FXCalendar.html +880 -0
  38. data/docs/Fox/FXCanvas.html +311 -0
  39. data/docs/Fox/FXCheckButton.html +949 -0
  40. data/docs/Fox/FXChoiceBox.html +472 -0
  41. data/docs/Fox/FXColor.html +1519 -0
  42. data/docs/Fox/FXColorBar.html +759 -0
  43. data/docs/Fox/FXColorDialog.html +591 -0
  44. data/docs/Fox/FXColorItem.html +323 -0
  45. data/docs/Fox/FXColorList.html +712 -0
  46. data/docs/Fox/FXColorRing.html +817 -0
  47. data/docs/Fox/FXColorSelector.html +796 -0
  48. data/docs/Fox/FXColorWell.html +850 -0
  49. data/docs/Fox/FXColorWheel.html +770 -0
  50. data/docs/Fox/FXComboBox.html +2939 -0
  51. data/docs/Fox/FXComboTableItem.html +544 -0
  52. data/docs/Fox/FXCommand.html +526 -0
  53. data/docs/Fox/FXComposite.html +433 -0
  54. data/docs/Fox/FXCursor.html +779 -0
  55. data/docs/Fox/FXDC.html +5231 -0
  56. data/docs/Fox/FXDCPrint.html +696 -0
  57. data/docs/Fox/FXDCWindow.html +358 -0
  58. data/docs/Fox/FXDataTarget.html +573 -0
  59. data/docs/Fox/FXDebugTarget.html +305 -0
  60. data/docs/Fox/FXDelegator.html +305 -0
  61. data/docs/Fox/FXDial.html +1133 -0
  62. data/docs/Fox/FXDialogBox.html +413 -0
  63. data/docs/Fox/FXDict.html +1063 -0
  64. data/docs/Fox/FXDirBox.html +752 -0
  65. data/docs/Fox/FXDirDialog.html +914 -0
  66. data/docs/Fox/FXDirItem.html +989 -0
  67. data/docs/Fox/FXDirList.html +1554 -0
  68. data/docs/Fox/FXDirSelector.html +995 -0
  69. data/docs/Fox/FXDockBar.html +1451 -0
  70. data/docs/Fox/FXDockHandler.html +468 -0
  71. data/docs/Fox/FXDockSite.html +678 -0
  72. data/docs/Fox/FXDockTitle.html +606 -0
  73. data/docs/Fox/FXDocument.html +536 -0
  74. data/docs/Fox/FXDragCorner.html +440 -0
  75. data/docs/Fox/FXDrawable.html +478 -0
  76. data/docs/Fox/FXDriveBox.html +746 -0
  77. data/docs/Fox/FXEvent.html +1736 -0
  78. data/docs/Fox/FXExtentd.html +1374 -0
  79. data/docs/Fox/FXExtentf.html +1374 -0
  80. data/docs/Fox/FXFileAssoc.html +850 -0
  81. data/docs/Fox/FXFileDialog.html +2688 -0
  82. data/docs/Fox/FXFileDict.html +1058 -0
  83. data/docs/Fox/FXFileItem.html +1141 -0
  84. data/docs/Fox/FXFileList.html +2259 -0
  85. data/docs/Fox/FXFileSelector.html +2529 -0
  86. data/docs/Fox/FXFileStream.html +503 -0
  87. data/docs/Fox/FXFoldingItem.html +2822 -0
  88. data/docs/Fox/FXFoldingList.html +5189 -0
  89. data/docs/Fox/FXFont.html +2998 -0
  90. data/docs/Fox/FXFontDesc.html +710 -0
  91. data/docs/Fox/FXFontDialog.html +420 -0
  92. data/docs/Fox/FXFontSelector.html +576 -0
  93. data/docs/Fox/FXFrame.html +1012 -0
  94. data/docs/Fox/FXGIFCursor.html +337 -0
  95. data/docs/Fox/FXGIFIcon.html +450 -0
  96. data/docs/Fox/FXGIFImage.html +434 -0
  97. data/docs/Fox/FXGLCanvas.html +700 -0
  98. data/docs/Fox/FXGLCone.html +785 -0
  99. data/docs/Fox/FXGLContext.html +649 -0
  100. data/docs/Fox/FXGLCube.html +703 -0
  101. data/docs/Fox/FXGLCylinder.html +791 -0
  102. data/docs/Fox/FXGLGroup.html +1385 -0
  103. data/docs/Fox/FXGLLine.html +653 -0
  104. data/docs/Fox/FXGLObject.html +759 -0
  105. data/docs/Fox/FXGLPoint.html +561 -0
  106. data/docs/Fox/FXGLShape.html +714 -0
  107. data/docs/Fox/FXGLSphere.html +626 -0
  108. data/docs/Fox/FXGLViewer.html +3506 -0
  109. data/docs/Fox/FXGLVisual.html +2147 -0
  110. data/docs/Fox/FXGradient.html +562 -0
  111. data/docs/Fox/FXGradientBar.html +2479 -0
  112. data/docs/Fox/FXGroupBox.html +688 -0
  113. data/docs/Fox/FXHeader.html +3040 -0
  114. data/docs/Fox/FXHeaderItem.html +1353 -0
  115. data/docs/Fox/FXHiliteStyle.html +804 -0
  116. data/docs/Fox/FXHorizontalFrame.html +359 -0
  117. data/docs/Fox/FXHorizontalSeparator.html +349 -0
  118. data/docs/Fox/FXICOIcon.html +450 -0
  119. data/docs/Fox/FXICOImage.html +434 -0
  120. data/docs/Fox/FXIcon.html +384 -0
  121. data/docs/Fox/FXIconDict.html +752 -0
  122. data/docs/Fox/FXIconItem.html +1518 -0
  123. data/docs/Fox/FXIconList.html +4676 -0
  124. data/docs/Fox/FXIconSource.html +963 -0
  125. data/docs/Fox/FXId.html +712 -0
  126. data/docs/Fox/FXImage.html +2328 -0
  127. data/docs/Fox/FXImageFrame.html +489 -0
  128. data/docs/Fox/FXImageView.html +504 -0
  129. data/docs/Fox/FXInputDialog.html +894 -0
  130. data/docs/Fox/FXIrb.html +942 -0
  131. data/docs/Fox/FXJPGIcon.html +607 -0
  132. data/docs/Fox/FXJPGImage.html +591 -0
  133. data/docs/Fox/FXKnob.html +1048 -0
  134. data/docs/Fox/FXLabel.html +1013 -0
  135. data/docs/Fox/FXLight.html +920 -0
  136. data/docs/Fox/FXList.html +3717 -0
  137. data/docs/Fox/FXListBox.html +2518 -0
  138. data/docs/Fox/FXListItem.html +1459 -0
  139. data/docs/Fox/FXMDIChild.html +2175 -0
  140. data/docs/Fox/FXMDIClient.html +781 -0
  141. data/docs/Fox/FXMDIDeleteButton.html +334 -0
  142. data/docs/Fox/FXMDIMaximizeButton.html +334 -0
  143. data/docs/Fox/FXMDIMenu.html +335 -0
  144. data/docs/Fox/FXMDIMinimizeButton.html +334 -0
  145. data/docs/Fox/FXMDIRestoreButton.html +334 -0
  146. data/docs/Fox/FXMDIWindowButton.html +334 -0
  147. data/docs/Fox/FXMainWindow.html +337 -0
  148. data/docs/Fox/FXMaterial.html +570 -0
  149. data/docs/Fox/FXMatrix.html +734 -0
  150. data/docs/Fox/FXMemoryBuffer.html +472 -0
  151. data/docs/Fox/FXMemoryStream.html +632 -0
  152. data/docs/Fox/FXMenuBar.html +347 -0
  153. data/docs/Fox/FXMenuButton.html +829 -0
  154. data/docs/Fox/FXMenuCaption.html +1080 -0
  155. data/docs/Fox/FXMenuCascade.html +388 -0
  156. data/docs/Fox/FXMenuCheck.html +721 -0
  157. data/docs/Fox/FXMenuCommand.html +400 -0
  158. data/docs/Fox/FXMenuPane.html +333 -0
  159. data/docs/Fox/FXMenuRadio.html +721 -0
  160. data/docs/Fox/FXMenuSeparator.html +440 -0
  161. data/docs/Fox/FXMenuTitle.html +405 -0
  162. data/docs/Fox/FXMessageBox.html +658 -0
  163. data/docs/Fox/FXObject.html +545 -0
  164. data/docs/Fox/FXOption.html +491 -0
  165. data/docs/Fox/FXOptionMenu.html +885 -0
  166. data/docs/Fox/FXPCXIcon.html +450 -0
  167. data/docs/Fox/FXPCXImage.html +434 -0
  168. data/docs/Fox/FXPNGIcon.html +524 -0
  169. data/docs/Fox/FXPNGImage.html +508 -0
  170. data/docs/Fox/FXPPMIcon.html +450 -0
  171. data/docs/Fox/FXPPMImage.html +373 -0
  172. data/docs/Fox/FXPSBounds.html +500 -0
  173. data/docs/Fox/FXPacker.html +1229 -0
  174. data/docs/Fox/FXPicker.html +345 -0
  175. data/docs/Fox/FXPopup.html +1099 -0
  176. data/docs/Fox/FXPrintDialog.html +485 -0
  177. data/docs/Fox/FXPrinter.html +1330 -0
  178. data/docs/Fox/FXProgressBar.html +1150 -0
  179. data/docs/Fox/FXProgressDialog.html +715 -0
  180. data/docs/Fox/FXPseudoKeyboard.html +428 -0
  181. data/docs/Fox/FXPseudoMouse.html +800 -0
  182. data/docs/Fox/FXPseudoTarget.html +472 -0
  183. data/docs/Fox/FXQuatd.html +1377 -0
  184. data/docs/Fox/FXQuatf.html +1392 -0
  185. data/docs/Fox/FXRGBIcon.html +450 -0
  186. data/docs/Fox/FXRGBImage.html +434 -0
  187. data/docs/Fox/FXRadioButton.html +885 -0
  188. data/docs/Fox/FXRanged.html +1522 -0
  189. data/docs/Fox/FXRangef.html +1522 -0
  190. data/docs/Fox/FXRealSlider.html +1187 -0
  191. data/docs/Fox/FXRealSpinner.html +2175 -0
  192. data/docs/Fox/FXRecentFiles.html +841 -0
  193. data/docs/Fox/FXRectangle.html +802 -0
  194. data/docs/Fox/FXRegion.html +841 -0
  195. data/docs/Fox/FXRegistry.html +682 -0
  196. data/docs/Fox/FXReplaceDialog.html +648 -0
  197. data/docs/Fox/FXRootWindow.html +312 -0
  198. data/docs/Fox/FXRuler.html +2000 -0
  199. data/docs/Fox/FXRulerView.html +3997 -0
  200. data/docs/Fox/FXScintilla.html +49117 -0
  201. data/docs/Fox/FXScrollArea.html +1363 -0
  202. data/docs/Fox/FXScrollBar.html +1019 -0
  203. data/docs/Fox/FXScrollCorner.html +290 -0
  204. data/docs/Fox/FXScrollPane.html +499 -0
  205. data/docs/Fox/FXScrollWindow.html +409 -0
  206. data/docs/Fox/FXSearchDialog.html +382 -0
  207. data/docs/Fox/FXSegment.html +422 -0
  208. data/docs/Fox/FXSeparator.html +402 -0
  209. data/docs/Fox/FXSettings.html +1861 -0
  210. data/docs/Fox/FXShell.html +233 -0
  211. data/docs/Fox/FXShutter.html +472 -0
  212. data/docs/Fox/FXShutterItem.html +669 -0
  213. data/docs/Fox/FXSize.html +592 -0
  214. data/docs/Fox/FXSlider.html +1129 -0
  215. data/docs/Fox/FXSphered.html +906 -0
  216. data/docs/Fox/FXSpheref.html +906 -0
  217. data/docs/Fox/FXSpinner.html +2102 -0
  218. data/docs/Fox/FXSplashScreen.html +497 -0
  219. data/docs/Fox/FXSplashWindow.html +494 -0
  220. data/docs/Fox/FXSplitter.html +643 -0
  221. data/docs/Fox/FXSpring.html +517 -0
  222. data/docs/Fox/FXStatusBar.html +593 -0
  223. data/docs/Fox/FXStatusLine.html +754 -0
  224. data/docs/Fox/FXStream.html +1372 -0
  225. data/docs/Fox/FXStreamAllocError.html +148 -0
  226. data/docs/Fox/FXStreamEndError.html +148 -0
  227. data/docs/Fox/FXStreamError.html +259 -0
  228. data/docs/Fox/FXStreamFailureError.html +148 -0
  229. data/docs/Fox/FXStreamFormatError.html +148 -0
  230. data/docs/Fox/FXStreamFullError.html +148 -0
  231. data/docs/Fox/FXStreamNoReadError.html +148 -0
  232. data/docs/Fox/FXStreamNoWriteError.html +148 -0
  233. data/docs/Fox/FXStreamUnknownError.html +148 -0
  234. data/docs/Fox/FXStringDict.html +552 -0
  235. data/docs/Fox/FXSwitcher.html +619 -0
  236. data/docs/Fox/FXTGAIcon.html +450 -0
  237. data/docs/Fox/FXTGAImage.html +434 -0
  238. data/docs/Fox/FXTIFIcon.html +604 -0
  239. data/docs/Fox/FXTIFImage.html +588 -0
  240. data/docs/Fox/FXTabBar.html +644 -0
  241. data/docs/Fox/FXTabBook.html +373 -0
  242. data/docs/Fox/FXTabItem.html +478 -0
  243. data/docs/Fox/FXTable.html +10107 -0
  244. data/docs/Fox/FXTableItem.html +2195 -0
  245. data/docs/Fox/FXTablePos.html +360 -0
  246. data/docs/Fox/FXTableRange.html +360 -0
  247. data/docs/Fox/FXText.html +6870 -0
  248. data/docs/Fox/FXTextChange.html +492 -0
  249. data/docs/Fox/FXTextField.html +2016 -0
  250. data/docs/Fox/FXToggleButton.html +844 -0
  251. data/docs/Fox/FXToolBar.html +452 -0
  252. data/docs/Fox/FXToolBarGrip.html +584 -0
  253. data/docs/Fox/FXToolBarShell.html +788 -0
  254. data/docs/Fox/FXToolBarTab.html +729 -0
  255. data/docs/Fox/FXToolTip.html +761 -0
  256. data/docs/Fox/FXTopWindow.html +1716 -0
  257. data/docs/Fox/FXTranslator.html +481 -0
  258. data/docs/Fox/FXTreeItem.html +2813 -0
  259. data/docs/Fox/FXTreeList.html +5095 -0
  260. data/docs/Fox/FXTreeListBox.html +3080 -0
  261. data/docs/Fox/FXTriStateButton.html +681 -0
  262. data/docs/Fox/FXUndoList.html +2560 -0
  263. data/docs/Fox/FXVec2d.html +1450 -0
  264. data/docs/Fox/FXVec2f.html +1442 -0
  265. data/docs/Fox/FXVec3d.html +1649 -0
  266. data/docs/Fox/FXVec3f.html +1649 -0
  267. data/docs/Fox/FXVec4d.html +1858 -0
  268. data/docs/Fox/FXVec4f.html +1858 -0
  269. data/docs/Fox/FXVerticalFrame.html +359 -0
  270. data/docs/Fox/FXVerticalSeparator.html +349 -0
  271. data/docs/Fox/FXViewport.html +780 -0
  272. data/docs/Fox/FXVisual.html +1023 -0
  273. data/docs/Fox/FXWindow.html +9948 -0
  274. data/docs/Fox/FXWizard.html +1052 -0
  275. data/docs/Fox/FXXBMIcon.html +453 -0
  276. data/docs/Fox/FXXBMImage.html +437 -0
  277. data/docs/Fox/FXXPMIcon.html +450 -0
  278. data/docs/Fox/FXXPMImage.html +434 -0
  279. data/docs/Fox/NotifyHeader.html +286 -0
  280. data/docs/Fox/SCNotification.html +1438 -0
  281. data/docs/Fox/TextRange.html +281 -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/examples/inputs.rb +9 -4
  304. data/examples/pig.rb +2 -2
  305. data/examples/unicode.rb +6 -27
  306. data/ext/fox16_c/FXRbApp.cpp +3 -17
  307. data/ext/fox16_c/FXRuby.cpp +36 -46
  308. data/ext/fox16_c/extconf.rb +50 -34
  309. data/ext/fox16_c/impl.cpp +1 -1
  310. data/ext/fox16_c/include/FXRbApp.h +2 -2
  311. data/ext/fox16_c/include/FXRbCommon.h +0 -2
  312. data/ext/fox16_c/include/FXRbText.h +82 -2
  313. data/ext/fox16_c/include/FXRbTextVirtuals.h +22 -0
  314. data/ext/fox16_c/include/FXRuby.h +21 -3
  315. data/ext/fox16_c/include/gvl_wrappers.h +29 -11
  316. data/ext/fox16_c/make_impl.rb +1 -1
  317. data/fxruby.gemspec +2 -1
  318. data/lib/fox16/aliases.rb +4 -1
  319. data/lib/fox16/bitmapview.rb +0 -0
  320. data/lib/fox16/calendar.rb +6 -8
  321. data/lib/fox16/canvas.rb +93 -62
  322. data/lib/fox16/chore.rb +0 -0
  323. data/lib/fox16/colors.rb +0 -0
  324. data/lib/fox16/core.rb +18 -18
  325. data/lib/fox16/dict.rb +0 -0
  326. data/lib/fox16/glgroup.rb +5 -5
  327. data/lib/fox16/glshapes.rb +111 -99
  328. data/lib/fox16/input.rb +9 -7
  329. data/lib/fox16/irb.rb +0 -0
  330. data/lib/fox16/iterators.rb +0 -0
  331. data/lib/fox16/keys.rb +0 -0
  332. data/lib/fox16/missingdep.rb +0 -0
  333. data/lib/fox16/pseudokeyboard.rb +0 -0
  334. data/lib/fox16/pseudomouse.rb +0 -0
  335. data/lib/fox16/responder.rb +0 -0
  336. data/lib/fox16/responder2.rb +0 -0
  337. data/lib/fox16/scintilla.rb +0 -0
  338. data/lib/fox16/settings.rb +0 -0
  339. data/lib/fox16/signal.rb +0 -0
  340. data/lib/fox16/timeout.rb +0 -0
  341. data/lib/fox16/tkcompat.rb +0 -0
  342. data/lib/fox16/undolist.rb +8 -8
  343. data/lib/fox16/version.rb +1 -1
  344. data/rdoc-sources/FXGLVisual.rb +8 -0
  345. data/rdoc-sources/FXIconList.rb +2 -0
  346. data/rdoc-sources/FXImage.rb +5 -0
  347. data/rdoc-sources/FXList.rb +2 -0
  348. data/rdoc-sources/FXListBox.rb +1 -1
  349. data/rdoc-sources/FXText.rb +4 -2
  350. data/swig-interfaces/FXGLVisual.i +1 -1
  351. data/swig-interfaces/FXImage.i +9 -4
  352. data/swig-interfaces/FXMemoryBuffer.i +3 -3
  353. data/swig-interfaces/FXText.i +10 -8
  354. data/swig-interfaces/macros.i +9 -0
  355. data/test/TC_FXGLViewer.rb +8 -1
  356. data/test/TC_FXImage.rb +8 -0
  357. data/test/TC_FXList.rb +8 -8
  358. data/test/TC_FXText.rb +19 -0
  359. data/test/TC_FXVec4f.rb +26 -12
  360. metadata +300 -9
@@ -1,6 +1,6 @@
1
1
  #!/bin/env ruby
2
2
 
3
- $special_stubclasses = ["FXGLSHAPE", "FXICONITEM", "FXTABLE", "FXTABLEITEM", "FXTREEITEM"]
3
+ $special_stubclasses = ["FXGLSHAPE", "FXICONITEM", "FXTABLE", "FXTABLEITEM", "FXTEXT", "FXTREEITEM"]
4
4
 
5
5
  class Processor
6
6
  def initialize
@@ -31,7 +31,7 @@ Gem::Specification.new do |spec|
31
31
  spec.email = ["lyle@lylejohnson.name", "lars@greiz-reinsdorf.de"]
32
32
 
33
33
  spec.summary = %q{FXRuby is the Ruby binding to the FOX GUI toolkit.}
34
- spec.homepage = "http://fxruby.org/"
34
+ spec.homepage = "https://github.com/larskanis/fxruby"
35
35
  spec.license = 'LGPL-2.1'
36
36
 
37
37
  spec.files = `git ls-files -z`.split("\x0").reject do |f|
@@ -48,6 +48,7 @@ Gem::Specification.new do |spec|
48
48
  spec.require_paths = ["lib"]
49
49
  spec.extensions = ["ext/fox16_c/extconf.rb"]
50
50
  spec.metadata['msys2_mingw_dependencies'] = 'fox'
51
+ spec.required_ruby_version = [">= 2.2", "< 4"]
51
52
 
52
53
  spec.add_runtime_dependency 'mini_portile2', '~> 2.1'
53
54
  end
@@ -1976,7 +1976,7 @@ module Fox
1976
1976
  end
1977
1977
  class FXGLVisual
1978
1978
  def FXGLVisual.supported?(*args) # :nodoc:
1979
- FXGLVisual.supported(*args)
1979
+ FXGLVisual.supported(*args)[0]
1980
1980
  end
1981
1981
  def redSize(*args) # :nodoc:
1982
1982
  getRedSize(*args)
@@ -2414,6 +2414,9 @@ module Fox
2414
2414
  def data(*args) # :nodoc:
2415
2415
  getData(*args)
2416
2416
  end
2417
+ def dataPtr(*args) # :nodoc:
2418
+ getDataPtr(*args)
2419
+ end
2417
2420
  def pixels=(*args) # :nodoc:
2418
2421
  setPixels(*args)
2419
2422
  end
File without changes
@@ -99,7 +99,7 @@ module Fox
99
99
  btn.connect(SEL_COMMAND) do |send, sel, ev|
100
100
  @selected = Time.local(@date_showing.year, @date_showing.month,
101
101
  send.text.to_i)
102
- target.handle(self, MKUINT(selector, SEL_COMMAND), @selected) if target
102
+ target.handle(self, Fox.MKUINT(selector, SEL_COMMAND), @selected) if target
103
103
  end
104
104
  end
105
105
  _build_date_matrix()
@@ -202,16 +202,14 @@ end
202
202
 
203
203
  if __FILE__ == $0
204
204
 
205
- include Fox
206
-
207
- app = FXApp.new('Calendar', 'FXRuby')
205
+ app = Fox::FXApp.new('Calendar', 'FXRuby')
208
206
  app.init(ARGV)
209
- mainwin = FXMainWindow.new(app, "Calendar Test", nil, nil, DECOR_ALL, 0, 0, 500, 500)
210
- calendar = FXCalendar.new(mainwin, Time.now, nil, 0, LAYOUT_FILL_X|LAYOUT_FILL_Y)
211
- calendar.connect(SEL_COMMAND) do |sender, sel, data|
207
+ mainwin = Fox::FXMainWindow.new(app, "Calendar Test", nil, nil, Fox::DECOR_ALL, 0, 0, 500, 500)
208
+ calendar = Fox::FXCalendar.new(mainwin, Time.now, nil, 0, Fox::LAYOUT_FILL_X|Fox::LAYOUT_FILL_Y)
209
+ calendar.connect(Fox::SEL_COMMAND) do |sender, sel, data|
212
210
  puts data.to_s
213
211
  end
214
212
  app.create
215
- mainwin.show(PLACEMENT_SCREEN)
213
+ mainwin.show(Fox::PLACEMENT_SCREEN)
216
214
  app.run
217
215
  end
@@ -133,6 +133,13 @@ module Fox
133
133
  # Default: make 6 control points
134
134
  def makeControlPoints
135
135
  end
136
+
137
+ protected def apply_dc(dc)
138
+ oldForeground = dc.foreground
139
+ dc.foreground = foreground
140
+ yield
141
+ dc.foreground = oldForeground
142
+ end
136
143
  end
137
144
 
138
145
  class ShapeGroup
@@ -191,29 +198,28 @@ module Fox
191
198
  end
192
199
 
193
200
  def draw(dc)
194
- # Save old values
195
- oldForeground = dc.foreground
196
- oldLineWidth = dc.lineWidth
197
- oldLineCap = dc.lineCap
198
- oldLineJoin = dc.lineJoin
199
- oldLineStyle = dc.lineStyle
200
-
201
- # Set properties for this line
202
- dc.foreground = foreground
203
- dc.lineWidth = lineWidth
204
- dc.lineCap = lineCap
205
- dc.lineJoin = lineJoin
206
- dc.lineStyle = lineStyle
207
-
208
- # Draw the line
209
- dc.drawLine(x1, y1, x2, y2)
210
-
211
- # Restore old properties
212
- dc.lineWidth = oldLineWidth
213
- dc.lineCap = oldLineCap
214
- dc.lineJoin = oldLineJoin
215
- dc.lineStyle = oldLineStyle
216
- dc.foreground = oldForeground
201
+ apply_dc(dc) do
202
+ # Save old values
203
+ oldLineWidth = dc.lineWidth
204
+ oldLineCap = dc.lineCap
205
+ oldLineJoin = dc.lineJoin
206
+ oldLineStyle = dc.lineStyle
207
+
208
+ # Set properties for this line
209
+ dc.lineWidth = lineWidth
210
+ dc.lineCap = lineCap
211
+ dc.lineJoin = lineJoin
212
+ dc.lineStyle = lineStyle
213
+
214
+ # Draw the line
215
+ dc.drawLine(x1, y1, x2, y2)
216
+
217
+ # Restore old properties
218
+ dc.lineWidth = oldLineWidth
219
+ dc.lineCap = oldLineCap
220
+ dc.lineJoin = oldLineJoin
221
+ dc.lineStyle = oldLineStyle
222
+ end
217
223
  end
218
224
  end
219
225
 
@@ -228,31 +234,42 @@ module Fox
228
234
  end
229
235
 
230
236
  def draw(dc)
231
- oldForeground = dc.foreground
232
- dc.foreground = foreground
233
- dc.drawRectangle(x, y, width, height)
234
- dc.foreground = oldForeground
237
+ apply_dc(dc) do
238
+ dc.lineWidth = 5 if selected?
239
+ dc.drawRectangle(x, y, width, height)
240
+ end
235
241
  end
236
242
  end
237
243
 
238
- class TextShape < RectangleShape
244
+ class TextShape < Shape
239
245
 
240
246
  attr_reader :font, :text
247
+ attr_accessor :width, :height
241
248
 
242
249
  def initialize(x, y, w, h, text=nil)
243
- super(x, y, w, h)
250
+ super(x, y)
251
+ @width = w
252
+ @height = h
244
253
  @text = text
245
254
  @font = FXApp.instance.normalFont
246
255
  end
247
256
 
248
257
  def draw(dc)
249
- super(dc)
250
- oldForeground = dc.foreground
251
- oldTextFont = dc.font
252
- dc.font = @font
253
- dc.drawImageText(x, y, text)
254
- dc.font = oldTextFont if oldTextFont
255
- dc.foreground = oldForeground
258
+ old_foreground = dc.foreground
259
+ apply_dc(dc) do
260
+ if selected?
261
+ dc.lineWidth = 5
262
+ dc.drawRectangle(x - 3, y - 3, width + 6, height + 6)
263
+ end
264
+
265
+ old_background = dc.background
266
+ dc.background = old_foreground
267
+ oldTextFont = dc.font
268
+ dc.font = @font
269
+ dc.drawImageText(x, y + height, text)
270
+ dc.font = oldTextFont if oldTextFont
271
+ dc.background = old_foreground
272
+ end
256
273
  end
257
274
  end
258
275
 
@@ -274,14 +291,13 @@ module Fox
274
291
  end
275
292
 
276
293
  def draw(dc)
277
- oldForeground = dc.foreground
278
- oldLineWidth = dc.lineWidth
279
- dc.foreground = foreground
280
- dc.lineWidth = 5 if selected?
281
- dc.drawArc(x, y, width, height, 0, 64*180)
282
- dc.drawArc(x, y, width, height, 64*180, 64*360)
283
- dc.foreground = oldForeground
284
- dc.lineWidth = oldLineWidth
294
+ apply_dc(dc) do
295
+ oldLineWidth = dc.lineWidth
296
+ dc.lineWidth = 5 if selected?
297
+ dc.drawArc(x, y, width, height, 0, 64*180)
298
+ dc.drawArc(x, y, width, height, 64*180, 64*360)
299
+ dc.lineWidth = oldLineWidth
300
+ end
285
301
  end
286
302
  end
287
303
 
@@ -293,11 +309,26 @@ module Fox
293
309
  attr_accessor :image
294
310
 
295
311
  def initialize(x, y, image)
312
+ super(x, y)
296
313
  @image = image
297
314
  end
298
315
 
316
+ def width
317
+ @image.width
318
+ end
319
+
320
+ def height
321
+ @image.height
322
+ end
323
+
299
324
  def draw(dc)
300
- dc.drawImage(image)
325
+ apply_dc(dc) do
326
+ if selected?
327
+ dc.lineWidth = 5
328
+ dc.drawRectangle(x - 3, y - 3, width + 5, height + 5)
329
+ end
330
+ dc.drawImage(image, x, y)
331
+ end
301
332
  end
302
333
  end
303
334
 
@@ -312,7 +343,7 @@ module Fox
312
343
  shape.select
313
344
  @canvas.updateShape(shape)
314
345
  if notify && (@canvas.target != nil)
315
- @canvas.target.handle(@canvas, MKUINT(@canvas.message, SEL_SELECTED), shape)
346
+ @canvas.target.handle(@canvas, Fox.MKUINT(@canvas.message, SEL_SELECTED), shape)
316
347
  end
317
348
  end
318
349
  end
@@ -322,7 +353,7 @@ module Fox
322
353
  shape.deselect
323
354
  @canvas.updateShape(shape)
324
355
  if notify && (@canvas.target != nil)
325
- @canvas.target.handle(@canvas, MKUINT(@canvas.message, SEL_DESELECTED), shape)
356
+ @canvas.target.handle(@canvas, Fox.MKUINT(@canvas.message, SEL_DESELECTED), shape)
326
357
  end
327
358
  end
328
359
  end
@@ -463,7 +494,7 @@ module Fox
463
494
  updateShape(shape)
464
495
  changes = true
465
496
  if notify && (target != nil)
466
- target.handle(self, MKUINT(message, SEL_DESELECTED), shape)
497
+ target.handle(self, Fox.MKUINT(message, SEL_DESELECTED), shape)
467
498
  end
468
499
  end
469
500
  end
@@ -486,7 +517,7 @@ module Fox
486
517
  def onMotion(sender, sel, evt)
487
518
  # Drag and drop mode
488
519
  if (@flags & FLAG_DODRAG) != 0
489
- handle(self, MKUINT(0, SEL_DRAGGED), evt)
520
+ handle(self, Fox.MKUINT(0, SEL_DRAGGED), evt)
490
521
  return 1
491
522
  end
492
523
 
@@ -494,7 +525,7 @@ module Fox
494
525
  if (@flags & FLAG_TRYDRAG) != 0
495
526
  if evt.moved?
496
527
  @flags &= ~FLAG_TRYDRAG
497
- if handle(this, MKUINT(0, SEL_BEGINDRAG), evt) != 0
528
+ if handle(this, Fox.MKUINT(0, SEL_BEGINDRAG), evt) != 0
498
529
  @flags |= FLAG_DODRAG
499
530
  end
500
531
  end
@@ -504,13 +535,13 @@ module Fox
504
535
 
505
536
  # Left button press
506
537
  def onLeftBtnPress(sender, sel, evt)
507
- handle(self, MKUINT(0, SEL_FOCUS_SELF), evt)
538
+ handle(self, Fox.MKUINT(0, SEL_FOCUS_SELF), evt)
508
539
  if enabled?
509
540
  grab
510
541
  flags &= ~FLAG_UPDATE
511
542
 
512
543
  # Give target the first chance at handling this
513
- return 1 if target && (target.handle(self, MKUINT(message, SEL_LEFTBUTTONPRESS), evt) != 0)
544
+ return 1 if target && (target.handle(self, Fox.MKUINT(message, SEL_LEFTBUTTONPRESS), evt) != 0)
514
545
 
515
546
  # Locate shape
516
547
  shape = findShape(evt.win_x, evt.win_y)
@@ -548,11 +579,11 @@ module Fox
548
579
  @flags &= ~(FLAG_PRESSED|FLAG_TRYDRAG|FLAG_LASSO|FLAG_DODRAG)
549
580
 
550
581
  # First chance callback
551
- return 1 if target && target.handle(self, MKUINT(message, SEL_LEFTBUTTONRELEASE), evt) != 0
582
+ return 1 if target && target.handle(self, Fox.MKUINT(message, SEL_LEFTBUTTONRELEASE), evt) != 0
552
583
 
553
584
  # Was dragging
554
585
  if (flg & FLAG_DODRAG) != 0
555
- handle(self, MKUINT(0, SEL_ENDDRAG), evt)
586
+ handle(self, Fox.MKUINT(0, SEL_ENDDRAG), evt)
556
587
  return 1
557
588
  end
558
589
 
@@ -565,16 +596,16 @@ module Fox
565
596
 
566
597
  # Generate clicked callbacks
567
598
  if evt.click_count == 1
568
- handle(self, MKUINT(0, SEL_CLICKED), @currentShape)
599
+ handle(self, Fox.MKUINT(0, SEL_CLICKED), @currentShape)
569
600
  elsif evt.click_count == 2
570
- handle(self, MKUINT(0, SEL_DOUBLECLICKED), @currentShape)
601
+ handle(self, Fox.MKUINT(0, SEL_DOUBLECLICKED), @currentShape)
571
602
  elseif evt.click_count == 3
572
- handle(self, MKUINT(0, SEL_TRIPLECLICKED), @currentShape)
603
+ handle(self, Fox.MKUINT(0, SEL_TRIPLECLICKED), @currentShape)
573
604
  end
574
605
 
575
606
  # Generate command callback only when clicked on item
576
607
  if @currentShape && @currentShape.enabled?
577
- handle(self, MKUINT(0, SEL_COMMAND), @currentShape)
608
+ handle(self, Fox.MKUINT(0, SEL_COMMAND), @currentShape)
578
609
  end
579
610
  return 1
580
611
  end
@@ -584,22 +615,22 @@ module Fox
584
615
 
585
616
  # Command message
586
617
  def onCommand(sender, sel, ptr)
587
- return target && target.handle(self, MKUINT(message, SEL_COMMAND), ptr)
618
+ return target && target.handle(self, Fox.MKUINT(message, SEL_COMMAND), ptr)
588
619
  end
589
620
 
590
621
  # Clicked on canvas
591
622
  def onClicked(sender, sel, ptr)
592
- return target && target.handle(self, MKUINT(message, SEL_CLICKED), ptr)
623
+ return target && target.handle(self, Fox.MKUINT(message, SEL_CLICKED), ptr)
593
624
  end
594
625
 
595
626
  # Double-clicked on canvas
596
627
  def onDoubleClicked(sender, sel, ptr)
597
- return target && target.handle(self, MKUINT(message, SEL_DOUBLECLICKED), ptr)
628
+ return target && target.handle(self, Fox.MKUINT(message, SEL_DOUBLECLICKED), ptr)
598
629
  end
599
630
 
600
631
  # Triple-clicked on canvas
601
632
  def onTripleClicked(sender, sel, ptr)
602
- return target && target.handle(self, MKUINT(message, SEL_TRIPLECLICKED), ptr)
633
+ return target && target.handle(self, Fox.MKUINT(message, SEL_TRIPLECLICKED), ptr)
603
634
  end
604
635
  end
605
636
  end
File without changes
File without changes
@@ -421,24 +421,24 @@ module Fox
421
421
  #
422
422
  def FXStreamError.makeStreamError(status)
423
423
  case status
424
- when FXStreamEnd
425
- FXStreamEndError
426
- when FXStreamFull
427
- FXStreamFullError
428
- when FXStreamNoWrite
429
- FXStreamNoWriteError
430
- when FXStreamNoRead
431
- FXStreamNoReadError
432
- when FXStreamFormat
433
- FXStreamFormatError
434
- when FXStreamUnknown
435
- FXStreamUnknownError
436
- when FXStreamAlloc
437
- FXStreamAllocError
438
- when FXStreamFailure
439
- FXStreamFailureError
440
- else
441
- FXStreamError
424
+ when FXStreamEnd
425
+ FXStreamEndError
426
+ when FXStreamFull
427
+ FXStreamFullError
428
+ when FXStreamNoWrite
429
+ FXStreamNoWriteError
430
+ when FXStreamNoRead
431
+ FXStreamNoReadError
432
+ when FXStreamFormat
433
+ FXStreamFormatError
434
+ when FXStreamUnknown
435
+ FXStreamUnknownError
436
+ when FXStreamAlloc
437
+ FXStreamAllocError
438
+ when FXStreamFailure
439
+ FXStreamFailureError
440
+ else
441
+ FXStreamError
442
442
  end
443
443
  end
444
444
  end
File without changes
@@ -9,7 +9,7 @@ module Fox
9
9
  # A group of OpenGL objects
10
10
  #
11
11
  class FXGLGroup < FXGLObject
12
-
12
+ include OpenGL if defined?(OpenGL)
13
13
  include Enumerable
14
14
 
15
15
  FLT_MAX = 1.0e+20
@@ -80,12 +80,12 @@ module Fox
80
80
  #
81
81
  def hit(viewer)
82
82
  # GL.PushName(0xffffffff)
83
- GL.PushName(1000000)
83
+ glPushName(1000000)
84
84
  @list.each_with_index do |obj, i|
85
- GL.LoadName(i)
86
- obj.hit(viewer)
85
+ glLoadName(i)
86
+ obj.hit(viewer)
87
87
  end
88
- GL.PopName
88
+ glPopName
89
89
  end
90
90
 
91
91
  #
@@ -9,6 +9,7 @@ module Fox
9
9
  # OpenGL point object
10
10
  #
11
11
  class FXGLPoint < FXGLObject
12
+ include OpenGL
12
13
 
13
14
  # Point position, in model coordinates (a 3-element array)
14
15
  attr_accessor :pos
@@ -47,20 +48,20 @@ module Fox
47
48
  # Draw this point into _viewer_ (an FXGLViewer instance).
48
49
  #
49
50
  def draw(viewer)
50
- GL::Color(0.0, 0.0, 1.0)
51
- GL::PointSize(HANDLE_SIZE)
52
- GL::Begin(GL::POINTS)
53
- GL::Vertex(@pos)
54
- GL::End()
51
+ glColor3d(0.0, 0.0, 1.0)
52
+ glPointSize(HANDLE_SIZE)
53
+ glBegin(GL_POINTS)
54
+ glVertex3d(*@pos)
55
+ glEnd()
55
56
  end
56
57
 
57
58
  #
58
59
  # Perform hit test for this point in _viewer_ (an FXGLViewer instance).
59
60
  #
60
61
  def hit(viewer)
61
- GL::Begin(GL::POINTS)
62
- GL::Vertex(@pos)
63
- GL::End()
62
+ glBegin(GL_POINTS)
63
+ glVertex3d(*@pos)
64
+ glEnd()
64
65
  end
65
66
  end
66
67
 
@@ -68,6 +69,7 @@ module Fox
68
69
  # OpenGL line object
69
70
  #
70
71
  class FXGLLine < FXGLObject
72
+ include OpenGL
71
73
 
72
74
  # Starting point for line [FXGLPoint]
73
75
  attr_accessor :fm
@@ -93,14 +95,14 @@ module Fox
93
95
  def initialize(*args)
94
96
  super()
95
97
  if args.length == 0
96
- @fm = FXGLPoint.new(-0.5, 0.0, 0.0)
97
- @to = FXGLPoint.new( 0.5, 0.0, 0.0)
98
+ @fm = FXGLPoint.new(-0.5, 0.0, 0.0)
99
+ @to = FXGLPoint.new( 0.5, 0.0, 0.0)
98
100
  elsif args.length == 1
99
- @fm = args[0].fm
100
- @to = args[0].to
101
+ @fm = args[0].fm
102
+ @to = args[0].to
101
103
  else
102
- @fm = FXGLPoint.new(args[0], args[1], args[2])
103
- @to = FXGLPoint.new(args[3], args[4], args[5])
104
+ @fm = FXGLPoint.new(args[0], args[1], args[2])
105
+ @to = FXGLPoint.new(args[3], args[4], args[5])
104
106
  end
105
107
  end
106
108
 
@@ -120,22 +122,22 @@ module Fox
120
122
  # Draw this line into _viewer_ (an FXGLViewer instance).
121
123
  #
122
124
  def draw(viewer)
123
- GL::Color(1.0, 0.0, 0.0)
124
- GL::PointSize(HANDLE_SIZE)
125
- GL::Begin(GL::LINES)
126
- GL::Vertex(@fm.pos)
127
- GL::Vertex(@to.pos)
128
- GL::End()
125
+ glColor3d(1.0, 0.0, 0.0)
126
+ glPointSize(HANDLE_SIZE)
127
+ glBegin(GL_LINES)
128
+ glVertex3d(*@fm.pos)
129
+ glVertex3d(*@to.pos)
130
+ glEnd()
129
131
  end
130
132
 
131
133
  #
132
134
  # Perform hit-test for this line in _viewer_ (an FXGLViewer instance).
133
135
  #
134
136
  def hit(viewer)
135
- GL::Begin(GL::LINES)
136
- GL::Vertex(@fm.pos)
137
- GL::Vertex(@to.pos)
138
- GL::End()
137
+ glBegin(GL_LINES)
138
+ glVertex3d(*@fm.pos)
139
+ glVertex3d(*@to.pos)
140
+ glEnd()
139
141
  end
140
142
  end
141
143
 
@@ -143,6 +145,7 @@ module Fox
143
145
  # OpenGL cube object
144
146
  #
145
147
  class FXGLCube < FXGLShape
148
+ include OpenGL
146
149
 
147
150
  # Cube width [Float]
148
151
  attr_accessor :width
@@ -173,17 +176,17 @@ module Fox
173
176
  #
174
177
  def initialize(*args)
175
178
  if args.length == 7
176
- super(args[0], args[1], args[2], SHADING_SMOOTH|STYLE_SURFACE,
179
+ super(args[0], args[1], args[2], SHADING_SMOOTH|STYLE_SURFACE,
177
180
  args[6], args[6])
178
181
  else
179
- super(args[0], args[1], args[2], SHADING_SMOOTH|STYLE_SURFACE)
182
+ super(args[0], args[1], args[2], SHADING_SMOOTH|STYLE_SURFACE)
180
183
  end
181
184
  @width = args[3] ? args[3] : 1.0
182
185
  @height = args[4] ? args[4] : 1.0
183
186
  @depth = args[5] ? args[5] : 1.0
184
187
  setRange(FXRangef.new(-0.5*@width, 0.5*@width,
185
- -0.5*@height, 0.5*@height,
186
- -0.5*@depth, 0.5*@depth))
188
+ -0.5*@height, 0.5*@height,
189
+ -0.5*@depth, 0.5*@depth))
187
190
  end
188
191
 
189
192
  #
@@ -195,58 +198,58 @@ module Fox
195
198
  zmin, zmax = -0.5*@depth, 0.5*@depth
196
199
 
197
200
  # Draw low face
198
- GL::Begin(GL::TRIANGLE_STRIP)
199
- GL::Normal(0.0, 0.0, -1.0)
200
- GL::Vertex(xmin, ymin, zmin)
201
- GL::Vertex(xmin, ymax, zmin)
202
- GL::Vertex(xmax, ymin, zmin)
203
- GL::Vertex(xmax, ymax, zmin)
204
- GL::End()
201
+ glBegin(GL_TRIANGLE_STRIP)
202
+ glNormal3d(0.0, 0.0, -1.0)
203
+ glVertex3d(xmin, ymin, zmin)
204
+ glVertex3d(xmin, ymax, zmin)
205
+ glVertex3d(xmax, ymin, zmin)
206
+ glVertex3d(xmax, ymax, zmin)
207
+ glEnd()
205
208
 
206
209
  # Draw east face
207
- GL::Begin(GL::TRIANGLE_STRIP)
208
- GL::Normal(1.0, 0.0, 0.0)
209
- GL::Vertex(xmax, ymin, zmin)
210
- GL::Vertex(xmax, ymax, zmin)
211
- GL::Vertex(xmax, ymin, zmax)
212
- GL::Vertex(xmax, ymax, zmax)
213
- GL::End()
210
+ glBegin(GL_TRIANGLE_STRIP)
211
+ glNormal3d(1.0, 0.0, 0.0)
212
+ glVertex3d(xmax, ymin, zmin)
213
+ glVertex3d(xmax, ymax, zmin)
214
+ glVertex3d(xmax, ymin, zmax)
215
+ glVertex3d(xmax, ymax, zmax)
216
+ glEnd()
214
217
 
215
218
  # Draw high face
216
- GL::Begin(GL::TRIANGLE_STRIP)
217
- GL::Normal(0.0, 0.0, 1.0)
218
- GL::Vertex(xmax, ymin, zmax)
219
- GL::Vertex(xmax, ymax, zmax)
220
- GL::Vertex(xmin, ymin, zmax)
221
- GL::Vertex(xmin, ymax, zmax)
222
- GL::End()
219
+ glBegin(GL_TRIANGLE_STRIP)
220
+ glNormal3d(0.0, 0.0, 1.0)
221
+ glVertex3d(xmax, ymin, zmax)
222
+ glVertex3d(xmax, ymax, zmax)
223
+ glVertex3d(xmin, ymin, zmax)
224
+ glVertex3d(xmin, ymax, zmax)
225
+ glEnd()
223
226
 
224
227
  # Draw west face
225
- GL::Begin(GL::TRIANGLE_STRIP)
226
- GL::Normal(-1.0, 0.0, 0.0)
227
- GL::Vertex(xmin, ymin, zmax)
228
- GL::Vertex(xmin, ymax, zmax)
229
- GL::Vertex(xmin, ymin, zmin)
230
- GL::Vertex(xmin, ymax, zmin)
231
- GL::End()
228
+ glBegin(GL_TRIANGLE_STRIP)
229
+ glNormal3d(-1.0, 0.0, 0.0)
230
+ glVertex3d(xmin, ymin, zmax)
231
+ glVertex3d(xmin, ymax, zmax)
232
+ glVertex3d(xmin, ymin, zmin)
233
+ glVertex3d(xmin, ymax, zmin)
234
+ glEnd()
232
235
 
233
236
  # Draw north face
234
- GL::Begin(GL::TRIANGLE_STRIP)
235
- GL::Normal(0.0, 1.0, 0.0)
236
- GL::Vertex(xmin, ymax, zmin)
237
- GL::Vertex(xmin, ymax, zmax)
238
- GL::Vertex(xmax, ymax, zmin)
239
- GL::Vertex(xmax, ymax, zmax)
240
- GL::End()
237
+ glBegin(GL_TRIANGLE_STRIP)
238
+ glNormal3d(0.0, 1.0, 0.0)
239
+ glVertex3d(xmin, ymax, zmin)
240
+ glVertex3d(xmin, ymax, zmax)
241
+ glVertex3d(xmax, ymax, zmin)
242
+ glVertex3d(xmax, ymax, zmax)
243
+ glEnd()
241
244
 
242
245
  # Draw south face
243
- GL::Begin(GL::TRIANGLE_STRIP)
244
- GL::Normal(0.0, -1.0, 0.0)
245
- GL::Vertex(xmin, ymin, zmax)
246
- GL::Vertex(xmin, ymin, zmin)
247
- GL::Vertex(xmax, ymin, zmax)
248
- GL::Vertex(xmax, ymin, zmin)
249
- GL::End()
246
+ glBegin(GL_TRIANGLE_STRIP)
247
+ glNormal3d(0.0, -1.0, 0.0)
248
+ glVertex3d(xmin, ymin, zmax)
249
+ glVertex3d(xmin, ymin, zmin)
250
+ glVertex3d(xmax, ymin, zmax)
251
+ glVertex3d(xmax, ymin, zmin)
252
+ glEnd()
250
253
  end
251
254
  end
252
255
 
@@ -254,6 +257,9 @@ module Fox
254
257
  # OpenGL cone object
255
258
  #
256
259
  class FXGLCone < FXGLShape
260
+ include OpenGL
261
+ include GLU
262
+
257
263
  # Cone fidelity
258
264
  SLICES_NUMBER = 20
259
265
  STACKS_NUMBER = 20
@@ -293,9 +299,9 @@ module Fox
293
299
  #
294
300
  def initialize(*args)
295
301
  if args.length == 5
296
- super(args[0], args[1], args[2], SHADING_SMOOTH|STYLE_SURFACE)
302
+ super(args[0], args[1], args[2], SHADING_SMOOTH|STYLE_SURFACE)
297
303
  elsif args.length == 6
298
- super(args[0], args[1], args[2], SHADING_SMOOTH|STYLE_SURFACE,
304
+ super(args[0], args[1], args[2], SHADING_SMOOTH|STYLE_SURFACE,
299
305
  args[5], args[5])
300
306
  end
301
307
  @height = args[3] ? args[3] : 1.0
@@ -310,15 +316,15 @@ module Fox
310
316
  # Draw this cone into _viewer_ (an FXGLViewer instance).
311
317
  #
312
318
  def drawshape(viewer)
313
- quad = GLU::NewQuadric()
314
- GLU::QuadricDrawStyle(quad, GLU::FILL)
315
- GL::PushMatrix()
316
- GL::Rotate(-90, 1, 0, 0)
317
- GLU::Cylinder(quad, @radius, 0, @height, @slices, @stacks)
318
- GLU::QuadricOrientation(quad, GLU::INSIDE)
319
- GLU::Disk(quad, 0, @radius, @slices, @loops)
320
- GLU::DeleteQuadric(quad)
321
- GL::PopMatrix()
319
+ quad = gluNewQuadric()
320
+ gluQuadricDrawStyle(quad, GLU_FILL)
321
+ glPushMatrix()
322
+ glRotated(-90, 1, 0, 0)
323
+ gluCylinder(quad, @radius, 0, @height, @slices, @stacks)
324
+ gluQuadricOrientation(quad, GLU_INSIDE)
325
+ gluDisk(quad, 0, @radius, @slices, @loops)
326
+ gluDeleteQuadric(quad)
327
+ glPopMatrix()
322
328
  end
323
329
  end
324
330
 
@@ -326,6 +332,9 @@ module Fox
326
332
  # OpenGL cylinder object
327
333
  #
328
334
  class FXGLCylinder < FXGLShape
335
+ include OpenGL
336
+ include GLU
337
+
329
338
  # Cylinder fidelity
330
339
  SLICES_NUMBER = 20
331
340
  STACKS_NUMBER = 20
@@ -365,9 +374,9 @@ module Fox
365
374
  #
366
375
  def initialize(*args)
367
376
  if args.length == 5
368
- super(args[0], args[1], args[2], SHADING_SMOOTH|STYLE_SURFACE)
377
+ super(args[0], args[1], args[2], SHADING_SMOOTH|STYLE_SURFACE)
369
378
  else
370
- super(args[0], args[1], args[2], SHADING_SMOOTH|STYLE_SURFACE,
379
+ super(args[0], args[1], args[2], SHADING_SMOOTH|STYLE_SURFACE,
371
380
  args[5], args[5])
372
381
  end
373
382
  @height = args[3] ? args[3] : 1.0
@@ -382,18 +391,18 @@ module Fox
382
391
  # Draw this cylinder into _viewer_ (an FXGLViewer instance).
383
392
  #
384
393
  def drawshape(viewer)
385
- quad = GLU::NewQuadric()
386
- GLU::QuadricDrawStyle(quad, GLU::FILL)
387
- GL::PushMatrix()
388
- GL::Rotate(-90, 1, 0, 0)
389
- GLU::Cylinder(quad, @radius, @radius, @height, @slices, @stacks)
390
- GLU::QuadricOrientation(quad, GLU::INSIDE)
391
- GLU::Disk(quad, 0, @radius, @slices, @loops)
392
- GL::Translate(0, 0, @height)
393
- GLU::QuadricOrientation(quad, GLU::OUTSIDE)
394
- GLU::Disk(quad, 0, @radius, @slices, @loops)
395
- GL::PopMatrix()
396
- GLU::DeleteQuadric(quad)
394
+ quad = gluNewQuadric()
395
+ gluQuadricDrawStyle(quad, GLU_FILL)
396
+ glPushMatrix()
397
+ glRotated(-90, 1, 0, 0)
398
+ gluCylinder(quad, @radius, @radius, @height, @slices, @stacks)
399
+ gluQuadricOrientation(quad, GLU_INSIDE)
400
+ gluDisk(quad, 0, @radius, @slices, @loops)
401
+ glTranslated(0, 0, @height)
402
+ gluQuadricOrientation(quad, GLU_OUTSIDE)
403
+ gluDisk(quad, 0, @radius, @slices, @loops)
404
+ glPopMatrix()
405
+ gluDeleteQuadric(quad)
397
406
  end
398
407
  end
399
408
 
@@ -401,6 +410,9 @@ module Fox
401
410
  # OpenGL sphere object
402
411
  #
403
412
  class FXGLSphere < FXGLShape
413
+ include OpenGL
414
+ include GLU
415
+
404
416
  # Sphere fidelity
405
417
  SLICES_NUMBER = 20
406
418
  STACKS_NUMBER = 20
@@ -448,10 +460,10 @@ module Fox
448
460
  # Draw this sphere into _viewer_ (an FXGLViewer instance).
449
461
  #
450
462
  def drawshape(viewer)
451
- quad = GLU::NewQuadric()
452
- GLU::QuadricDrawStyle(quad, GLU::FILL)
453
- GLU::Sphere(quad, @radius, @slices, @stacks)
454
- GLU::DeleteQuadric(quad)
463
+ quad = gluNewQuadric()
464
+ gluQuadricDrawStyle(quad, GLU_FILL)
465
+ gluSphere(quad, @radius, @slices, @stacks)
466
+ gluDeleteQuadric(quad)
455
467
  end
456
468
  end
457
469
  end