fxruby 1.6.38-x86-mingw32 → 1.6.43-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
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