fxruby 1.6.46 → 1.6.47

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 (304) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/.github/workflows/binary.yml +4 -4
  4. data/.github/workflows/ci.yml +3 -3
  5. data/.yardopts +2 -2
  6. data/Gemfile +1 -1
  7. data/History.md +6 -0
  8. data/README.md +2 -2
  9. data/Rakefile +1 -1
  10. data/appveyor.yml +1 -1
  11. data/doap.rdf +1 -1
  12. data/docs/Fox/Canvas/CanvasError.html +2 -2
  13. data/docs/Fox/Canvas/CircleShape.html +2 -2
  14. data/docs/Fox/Canvas/ImageShape.html +2 -2
  15. data/docs/Fox/Canvas/LineShape.html +2 -2
  16. data/docs/Fox/Canvas/PolygonShape.html +2 -2
  17. data/docs/Fox/Canvas/RectangleShape.html +2 -2
  18. data/docs/Fox/Canvas/SelectionPolicy.html +2 -2
  19. data/docs/Fox/Canvas/Shape.html +2 -2
  20. data/docs/Fox/Canvas/ShapeCanvas.html +2 -2
  21. data/docs/Fox/Canvas/ShapeGroup.html +2 -2
  22. data/docs/Fox/Canvas/SingleSelectionPolicy.html +2 -2
  23. data/docs/Fox/Canvas/TextShape.html +2 -2
  24. data/docs/Fox/Canvas.html +2 -2
  25. data/docs/Fox/FTNonModal.html +2 -2
  26. data/docs/Fox/FX4Splitter.html +2 -2
  27. data/docs/Fox/FX7Segment.html +2 -2
  28. data/docs/Fox/FXAccelTable.html +2 -2
  29. data/docs/Fox/FXApp.html +2 -2
  30. data/docs/Fox/FXArc.html +2 -2
  31. data/docs/Fox/FXArrowButton.html +2 -2
  32. data/docs/Fox/FXBMPIcon.html +2 -2
  33. data/docs/Fox/FXBMPImage.html +2 -2
  34. data/docs/Fox/FXBitmap.html +2 -2
  35. data/docs/Fox/FXBitmapFrame.html +2 -2
  36. data/docs/Fox/FXBitmapView.html +2 -2
  37. data/docs/Fox/FXButton.html +2 -2
  38. data/docs/Fox/FXCURCursor.html +2 -2
  39. data/docs/Fox/FXCalendar.html +2 -2
  40. data/docs/Fox/FXCanvas.html +2 -2
  41. data/docs/Fox/FXCheckButton.html +2 -2
  42. data/docs/Fox/FXChoiceBox.html +2 -2
  43. data/docs/Fox/FXColor.html +2 -2
  44. data/docs/Fox/FXColorBar.html +2 -2
  45. data/docs/Fox/FXColorDialog.html +2 -2
  46. data/docs/Fox/FXColorItem.html +2 -2
  47. data/docs/Fox/FXColorList.html +2 -2
  48. data/docs/Fox/FXColorRing.html +2 -2
  49. data/docs/Fox/FXColorSelector.html +2 -2
  50. data/docs/Fox/FXColorWell.html +2 -2
  51. data/docs/Fox/FXColorWheel.html +2 -2
  52. data/docs/Fox/FXComboBox.html +2 -2
  53. data/docs/Fox/FXComboTableItem.html +2 -2
  54. data/docs/Fox/FXCommand.html +2 -2
  55. data/docs/Fox/FXComposite.html +2 -2
  56. data/docs/Fox/FXCursor.html +2 -2
  57. data/docs/Fox/FXDC.html +2 -2
  58. data/docs/Fox/FXDCPrint.html +2 -2
  59. data/docs/Fox/FXDCWindow.html +2 -2
  60. data/docs/Fox/FXDataTarget.html +2 -2
  61. data/docs/Fox/FXDebugTarget.html +2 -2
  62. data/docs/Fox/FXDelegator.html +2 -2
  63. data/docs/Fox/FXDial.html +2 -2
  64. data/docs/Fox/FXDialogBox.html +2 -2
  65. data/docs/Fox/FXDict.html +2 -2
  66. data/docs/Fox/FXDirBox.html +2 -2
  67. data/docs/Fox/FXDirDialog.html +2 -2
  68. data/docs/Fox/FXDirItem.html +2 -2
  69. data/docs/Fox/FXDirList.html +2 -2
  70. data/docs/Fox/FXDirSelector.html +2 -2
  71. data/docs/Fox/FXDockBar.html +2 -2
  72. data/docs/Fox/FXDockHandler.html +2 -2
  73. data/docs/Fox/FXDockSite.html +2 -2
  74. data/docs/Fox/FXDockTitle.html +2 -2
  75. data/docs/Fox/FXDocument.html +2 -2
  76. data/docs/Fox/FXDragCorner.html +2 -2
  77. data/docs/Fox/FXDrawable.html +2 -2
  78. data/docs/Fox/FXDriveBox.html +2 -2
  79. data/docs/Fox/FXEvent.html +2 -2
  80. data/docs/Fox/FXExtentd.html +2 -2
  81. data/docs/Fox/FXExtentf.html +2 -2
  82. data/docs/Fox/FXFileAssoc.html +2 -2
  83. data/docs/Fox/FXFileDialog.html +2 -2
  84. data/docs/Fox/FXFileDict.html +2 -2
  85. data/docs/Fox/FXFileItem.html +2 -2
  86. data/docs/Fox/FXFileList.html +2 -2
  87. data/docs/Fox/FXFileSelector.html +2 -2
  88. data/docs/Fox/FXFileStream.html +2 -2
  89. data/docs/Fox/FXFoldingItem.html +2 -2
  90. data/docs/Fox/FXFoldingList.html +2 -2
  91. data/docs/Fox/FXFont.html +2 -2
  92. data/docs/Fox/FXFontDesc.html +2 -2
  93. data/docs/Fox/FXFontDialog.html +2 -2
  94. data/docs/Fox/FXFontSelector.html +2 -2
  95. data/docs/Fox/FXFrame.html +2 -2
  96. data/docs/Fox/FXGIFCursor.html +2 -2
  97. data/docs/Fox/FXGIFIcon.html +2 -2
  98. data/docs/Fox/FXGIFImage.html +2 -2
  99. data/docs/Fox/FXGLCanvas.html +2 -2
  100. data/docs/Fox/FXGLCone.html +53 -60
  101. data/docs/Fox/FXGLContext.html +2 -2
  102. data/docs/Fox/FXGLCube.html +72 -78
  103. data/docs/Fox/FXGLCylinder.html +62 -69
  104. data/docs/Fox/FXGLGroup.html +57 -58
  105. data/docs/Fox/FXGLLine.html +44 -50
  106. data/docs/Fox/FXGLObject.html +2 -2
  107. data/docs/Fox/FXGLPoint.html +30 -36
  108. data/docs/Fox/FXGLShape.html +2 -2
  109. data/docs/Fox/FXGLSphere.html +38 -45
  110. data/docs/Fox/FXGLViewer.html +2 -2
  111. data/docs/Fox/FXGLVisual.html +2 -2
  112. data/docs/Fox/FXGradient.html +2 -2
  113. data/docs/Fox/FXGradientBar.html +2 -2
  114. data/docs/Fox/FXGroupBox.html +2 -2
  115. data/docs/Fox/FXHeader.html +2 -2
  116. data/docs/Fox/FXHeaderItem.html +2 -2
  117. data/docs/Fox/FXHiliteStyle.html +2 -2
  118. data/docs/Fox/FXHorizontalFrame.html +2 -2
  119. data/docs/Fox/FXHorizontalSeparator.html +2 -2
  120. data/docs/Fox/FXICOIcon.html +2 -2
  121. data/docs/Fox/FXICOImage.html +2 -2
  122. data/docs/Fox/FXIcon.html +2 -2
  123. data/docs/Fox/FXIconDict.html +2 -2
  124. data/docs/Fox/FXIconItem.html +2 -2
  125. data/docs/Fox/FXIconList.html +2 -2
  126. data/docs/Fox/FXIconSource.html +2 -2
  127. data/docs/Fox/FXId.html +2 -2
  128. data/docs/Fox/FXImage.html +2 -2
  129. data/docs/Fox/FXImageFrame.html +2 -2
  130. data/docs/Fox/FXImageView.html +2 -2
  131. data/docs/Fox/FXInputDialog.html +2 -2
  132. data/docs/Fox/FXIrb.html +2 -2
  133. data/docs/Fox/FXJPGIcon.html +2 -2
  134. data/docs/Fox/FXJPGImage.html +2 -2
  135. data/docs/Fox/FXKnob.html +2 -2
  136. data/docs/Fox/FXLabel.html +2 -2
  137. data/docs/Fox/FXLight.html +2 -2
  138. data/docs/Fox/FXList.html +2 -2
  139. data/docs/Fox/FXListBox.html +2 -2
  140. data/docs/Fox/FXListItem.html +2 -2
  141. data/docs/Fox/FXMDIChild.html +2 -2
  142. data/docs/Fox/FXMDIClient.html +2 -2
  143. data/docs/Fox/FXMDIDeleteButton.html +2 -2
  144. data/docs/Fox/FXMDIMaximizeButton.html +2 -2
  145. data/docs/Fox/FXMDIMenu.html +2 -2
  146. data/docs/Fox/FXMDIMinimizeButton.html +2 -2
  147. data/docs/Fox/FXMDIRestoreButton.html +2 -2
  148. data/docs/Fox/FXMDIWindowButton.html +2 -2
  149. data/docs/Fox/FXMainWindow.html +2 -2
  150. data/docs/Fox/FXMaterial.html +2 -2
  151. data/docs/Fox/FXMatrix.html +2 -2
  152. data/docs/Fox/FXMemoryBuffer.html +2 -2
  153. data/docs/Fox/FXMemoryStream.html +2 -2
  154. data/docs/Fox/FXMenuBar.html +2 -2
  155. data/docs/Fox/FXMenuButton.html +2 -2
  156. data/docs/Fox/FXMenuCaption.html +2 -2
  157. data/docs/Fox/FXMenuCascade.html +2 -2
  158. data/docs/Fox/FXMenuCheck.html +2 -2
  159. data/docs/Fox/FXMenuCommand.html +2 -2
  160. data/docs/Fox/FXMenuPane.html +2 -2
  161. data/docs/Fox/FXMenuRadio.html +2 -2
  162. data/docs/Fox/FXMenuSeparator.html +2 -2
  163. data/docs/Fox/FXMenuTitle.html +2 -2
  164. data/docs/Fox/FXMessageBox.html +2 -2
  165. data/docs/Fox/FXObject.html +2 -2
  166. data/docs/Fox/FXOption.html +2 -2
  167. data/docs/Fox/FXOptionMenu.html +2 -2
  168. data/docs/Fox/FXPCXIcon.html +2 -2
  169. data/docs/Fox/FXPCXImage.html +2 -2
  170. data/docs/Fox/FXPNGIcon.html +2 -2
  171. data/docs/Fox/FXPNGImage.html +2 -2
  172. data/docs/Fox/FXPPMIcon.html +2 -2
  173. data/docs/Fox/FXPPMImage.html +2 -2
  174. data/docs/Fox/FXPSBounds.html +2 -2
  175. data/docs/Fox/FXPacker.html +2 -2
  176. data/docs/Fox/FXPicker.html +2 -2
  177. data/docs/Fox/FXPopup.html +2 -2
  178. data/docs/Fox/FXPrintDialog.html +2 -2
  179. data/docs/Fox/FXPrinter.html +2 -2
  180. data/docs/Fox/FXProgressBar.html +2 -2
  181. data/docs/Fox/FXProgressDialog.html +2 -2
  182. data/docs/Fox/FXPseudoKeyboard.html +2 -2
  183. data/docs/Fox/FXPseudoMouse.html +2 -2
  184. data/docs/Fox/FXPseudoTarget.html +2 -2
  185. data/docs/Fox/FXQuatd.html +2 -2
  186. data/docs/Fox/FXQuatf.html +2 -2
  187. data/docs/Fox/FXRGBIcon.html +2 -2
  188. data/docs/Fox/FXRGBImage.html +2 -2
  189. data/docs/Fox/FXRadioButton.html +2 -2
  190. data/docs/Fox/FXRanged.html +2 -2
  191. data/docs/Fox/FXRangef.html +2 -2
  192. data/docs/Fox/FXRealSlider.html +2 -2
  193. data/docs/Fox/FXRealSpinner.html +2 -2
  194. data/docs/Fox/FXRecentFiles.html +2 -2
  195. data/docs/Fox/FXRectangle.html +2 -2
  196. data/docs/Fox/FXRegion.html +2 -2
  197. data/docs/Fox/FXRegistry.html +2 -2
  198. data/docs/Fox/FXReplaceDialog.html +2 -2
  199. data/docs/Fox/FXRootWindow.html +2 -2
  200. data/docs/Fox/FXRuler.html +2 -2
  201. data/docs/Fox/FXRulerView.html +2 -2
  202. data/docs/Fox/FXScintilla.html +2 -2
  203. data/docs/Fox/FXScrollArea.html +2 -2
  204. data/docs/Fox/FXScrollBar.html +2 -2
  205. data/docs/Fox/FXScrollCorner.html +2 -2
  206. data/docs/Fox/FXScrollPane.html +2 -2
  207. data/docs/Fox/FXScrollWindow.html +2 -2
  208. data/docs/Fox/FXSearchDialog.html +2 -2
  209. data/docs/Fox/FXSegment.html +2 -2
  210. data/docs/Fox/FXSeparator.html +2 -2
  211. data/docs/Fox/FXSettings.html +2 -2
  212. data/docs/Fox/FXShell.html +2 -2
  213. data/docs/Fox/FXShutter.html +2 -2
  214. data/docs/Fox/FXShutterItem.html +2 -2
  215. data/docs/Fox/FXSize.html +2 -2
  216. data/docs/Fox/FXSlider.html +2 -2
  217. data/docs/Fox/FXSphered.html +2 -2
  218. data/docs/Fox/FXSpheref.html +2 -2
  219. data/docs/Fox/FXSpinner.html +2 -2
  220. data/docs/Fox/FXSplashScreen.html +2 -2
  221. data/docs/Fox/FXSplashWindow.html +2 -2
  222. data/docs/Fox/FXSplitter.html +2 -2
  223. data/docs/Fox/FXSpring.html +2 -2
  224. data/docs/Fox/FXStatusBar.html +2 -2
  225. data/docs/Fox/FXStatusLine.html +2 -2
  226. data/docs/Fox/FXStream.html +2 -2
  227. data/docs/Fox/FXStreamAllocError.html +2 -2
  228. data/docs/Fox/FXStreamEndError.html +2 -2
  229. data/docs/Fox/FXStreamError.html +2 -2
  230. data/docs/Fox/FXStreamFailureError.html +2 -2
  231. data/docs/Fox/FXStreamFormatError.html +2 -2
  232. data/docs/Fox/FXStreamFullError.html +2 -2
  233. data/docs/Fox/FXStreamNoReadError.html +2 -2
  234. data/docs/Fox/FXStreamNoWriteError.html +2 -2
  235. data/docs/Fox/FXStreamUnknownError.html +2 -2
  236. data/docs/Fox/FXStringDict.html +2 -2
  237. data/docs/Fox/FXSwitcher.html +2 -2
  238. data/docs/Fox/FXTGAIcon.html +2 -2
  239. data/docs/Fox/FXTGAImage.html +2 -2
  240. data/docs/Fox/FXTIFIcon.html +2 -2
  241. data/docs/Fox/FXTIFImage.html +2 -2
  242. data/docs/Fox/FXTabBar.html +2 -2
  243. data/docs/Fox/FXTabBook.html +2 -2
  244. data/docs/Fox/FXTabItem.html +2 -2
  245. data/docs/Fox/FXTable.html +2 -2
  246. data/docs/Fox/FXTableItem.html +2 -2
  247. data/docs/Fox/FXTablePos.html +2 -2
  248. data/docs/Fox/FXTableRange.html +2 -2
  249. data/docs/Fox/FXText.html +2 -2
  250. data/docs/Fox/FXTextChange.html +2 -2
  251. data/docs/Fox/FXTextField.html +2 -2
  252. data/docs/Fox/FXToggleButton.html +2 -2
  253. data/docs/Fox/FXToolBar.html +2 -2
  254. data/docs/Fox/FXToolBarGrip.html +2 -2
  255. data/docs/Fox/FXToolBarShell.html +2 -2
  256. data/docs/Fox/FXToolBarTab.html +2 -2
  257. data/docs/Fox/FXToolTip.html +2 -2
  258. data/docs/Fox/FXTopWindow.html +2 -2
  259. data/docs/Fox/FXTranslator.html +2 -2
  260. data/docs/Fox/FXTreeItem.html +2 -2
  261. data/docs/Fox/FXTreeList.html +2 -2
  262. data/docs/Fox/FXTreeListBox.html +2 -2
  263. data/docs/Fox/FXTriStateButton.html +2 -2
  264. data/docs/Fox/FXUndoList.html +2 -2
  265. data/docs/Fox/FXVec2d.html +2 -2
  266. data/docs/Fox/FXVec2f.html +2 -2
  267. data/docs/Fox/FXVec3d.html +2 -2
  268. data/docs/Fox/FXVec3f.html +2 -2
  269. data/docs/Fox/FXVec4d.html +2 -2
  270. data/docs/Fox/FXVec4f.html +2 -2
  271. data/docs/Fox/FXVerticalFrame.html +2 -2
  272. data/docs/Fox/FXVerticalSeparator.html +2 -2
  273. data/docs/Fox/FXViewport.html +2 -2
  274. data/docs/Fox/FXVisual.html +2 -2
  275. data/docs/Fox/FXWindow.html +2 -2
  276. data/docs/Fox/FXWizard.html +2 -2
  277. data/docs/Fox/FXXBMIcon.html +2 -2
  278. data/docs/Fox/FXXBMImage.html +2 -2
  279. data/docs/Fox/FXXPMIcon.html +2 -2
  280. data/docs/Fox/FXXPMImage.html +2 -2
  281. data/docs/Fox/NotifyHeader.html +2 -2
  282. data/docs/Fox/SCNotification.html +2 -2
  283. data/docs/Fox/TextRange.html +2 -2
  284. data/docs/Fox.html +3 -3
  285. data/docs/IRB.html +2 -2
  286. data/docs/Responder.html +2 -2
  287. data/docs/Responder2.html +2 -2
  288. data/docs/_index.html +2 -2
  289. data/docs/file.History.html +11 -2
  290. data/docs/file.README.html +2 -2
  291. data/docs/index.html +481 -501
  292. data/docs/top-level-namespace.html +2 -2
  293. data/examples/gltest.rb +104 -105
  294. data/examples/glviewer.rb +3 -3
  295. data/ext/fox16_c/extconf.rb +5 -5
  296. data/fxruby.gemspec +2 -2
  297. data/lib/fox16/glgroup.rb +3 -4
  298. data/lib/fox16/glshapes.rb +85 -100
  299. data/lib/fox16/version.rb +1 -1
  300. data/scripts/iface.rb +8 -12
  301. data.tar.gz.sig +0 -0
  302. metadata +28 -32
  303. metadata.gz.sig +0 -0
  304. data/rdoc-sources/Makefile +0 -23
@@ -204,9 +204,9 @@
204
204
  </div>
205
205
 
206
206
  <div id="footer">
207
- Generated on Mon Jan 2 11:47:21 2023 by
207
+ Generated on Sun May 14 21:55:15 2023 by
208
208
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
209
- 0.9.28 (ruby-3.1.2).
209
+ 0.9.34 (ruby-3.2.0).
210
210
  </div>
211
211
 
212
212
  </div>
data/examples/gltest.rb CHANGED
@@ -6,8 +6,8 @@ begin
6
6
  rescue LoadError
7
7
  require 'fox16/missingdep'
8
8
  MSG = <<EOM
9
- Sorry, this example depends on the opengl-bindings gems. Please execute:
10
- gem install opengl-bindings
9
+ Sorry, this example depends on the opengl-bindings2 gems. Please execute:
10
+ gem install opengl-bindings2
11
11
  EOM
12
12
  missingDependency(MSG)
13
13
  end
@@ -16,67 +16,66 @@ end
16
16
 
17
17
  class GLTestWindow < Fox::FXMainWindow
18
18
  include Fox
19
- include OpenGL
20
19
 
21
20
  # How often our timer will fire (in milliseconds)
22
21
  TIMER_INTERVAL = 100
23
22
 
24
23
  # Draws a simple box using the given corners
25
24
  def drawBox(xmin, ymin, zmin, xmax, ymax, zmax)
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()
25
+ GL.Begin(GL::TRIANGLE_STRIP)
26
+ GL.Normal3d(0.0, 0.0, -1.0)
27
+ GL.Vertex3d(xmin, ymin, zmin)
28
+ GL.Vertex3d(xmin, ymax, zmin)
29
+ GL.Vertex3d(xmax, ymin, zmin)
30
+ GL.Vertex3d(xmax, ymax, zmin)
31
+ GL.End()
32
+
33
+ GL.Begin(GL::TRIANGLE_STRIP)
34
+ GL.Normal3d(1.0, 0.0, 0.0)
35
+ GL.Vertex3d(xmax, ymin, zmin)
36
+ GL.Vertex3d(xmax, ymax, zmin)
37
+ GL.Vertex3d(xmax, ymin, zmax)
38
+ GL.Vertex3d(xmax, ymax, zmax)
39
+ GL.End()
40
+
41
+ GL.Begin(GL::TRIANGLE_STRIP)
42
+ GL.Normal3d(0.0, 0.0, 1.0)
43
+ GL.Vertex3d(xmax, ymin, zmax)
44
+ GL.Vertex3d(xmax, ymax, zmax)
45
+ GL.Vertex3d(xmin, ymin, zmax)
46
+ GL.Vertex3d(xmin, ymax, zmax)
47
+ GL.End()
48
+
49
+ GL.Begin(GL::TRIANGLE_STRIP)
50
+ GL.Normal3d(-1.0, 0.0, 0.0)
51
+ GL.Vertex3d(xmin, ymin, zmax)
52
+ GL.Vertex3d(xmin, ymax, zmax)
53
+ GL.Vertex3d(xmin, ymin, zmin)
54
+ GL.Vertex3d(xmin, ymax, zmin)
55
+ GL.End()
56
+
57
+ GL.Begin(GL::TRIANGLE_STRIP)
58
+ GL.Normal3d(0.0, 1.0, 0.0)
59
+ GL.Vertex3d(xmin, ymax, zmin)
60
+ GL.Vertex3d(xmin, ymax, zmax)
61
+ GL.Vertex3d(xmax, ymax, zmin)
62
+ GL.Vertex3d(xmax, ymax, zmax)
63
+ GL.End()
64
+
65
+ GL.Begin(GL::TRIANGLE_STRIP)
66
+ GL.Normal3d(0.0, -1.0, 0.0)
67
+ GL.Vertex3d(xmax, ymin, zmax)
68
+ GL.Vertex3d(xmax, ymin, zmin)
69
+ GL.Vertex3d(xmin, ymin, zmax)
70
+ GL.Vertex3d(xmin, ymin, zmin)
71
+ GL.End()
73
72
  end
74
73
 
75
74
  def gluPerspective(fovY, aspect, zNear, zFar )
76
75
  fH = Math.tan( fovY / 360 * Math::PI ) * zNear;
77
76
  fW = fH * aspect;
78
77
 
79
- glFrustum( -fW, fW, -fH, fH, zNear, zFar );
78
+ GL.Frustum( -fW, fW, -fH, fH, zNear, zFar );
80
79
  end
81
80
 
82
81
  # Define our own version of gluLookAt() to avoid dependency to deprecated GLU library
@@ -122,8 +121,8 @@ class GLTestWindow < Fox::FXMainWindow
122
121
  x2,y2,z2,0,
123
122
  0, 0, 0,1,
124
123
  ].pack("d*")
125
- glMultMatrixd m4x4
126
- glTranslated -ex,-ey,-ez
124
+ GL.MultMatrixd m4x4
125
+ GL.Translated -ex,-ey,-ez
127
126
  end
128
127
 
129
128
  # Draw the GL scene
@@ -141,80 +140,80 @@ class GLTestWindow < Fox::FXMainWindow
141
140
  # Make context current
142
141
  @glcanvas.makeCurrent()
143
142
 
144
- glViewport(0, 0, @glcanvas.width, @glcanvas.height)
143
+ GL.Viewport(0, 0, @glcanvas.width, @glcanvas.height)
145
144
 
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)
145
+ GL.ClearColor(1.0, 1.0, 1.0, 1.0)
146
+ GL.Clear(GL::COLOR_BUFFER_BIT|GL::DEPTH_BUFFER_BIT)
147
+ GL.Enable(GL::DEPTH_TEST)
149
148
 
150
- glDisable(GL_DITHER)
149
+ GL.Disable(GL::DITHER)
151
150
 
152
- glMatrixMode(GL_PROJECTION)
153
- glLoadIdentity()
151
+ GL.MatrixMode(GL::PROJECTION)
152
+ GL.LoadIdentity()
154
153
  gluPerspective(30.0, aspect, 1.0, 100.0)
155
154
 
156
- glMatrixMode(GL_MODELVIEW)
157
- glLoadIdentity()
155
+ GL.MatrixMode(GL::MODELVIEW)
156
+ GL.LoadIdentity()
158
157
  gluLookAt(5.0, 10.0, 15.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0)
159
158
 
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)
159
+ GL.ShadeModel(GL::SMOOTH)
160
+ GL.Lightfv(GL::LIGHT0, GL::POSITION, lightPosition.pack("f*"))
161
+ GL.Lightfv(GL::LIGHT0, GL::AMBIENT, lightAmbient.pack("f*"))
162
+ GL.Lightfv(GL::LIGHT0, GL::DIFFUSE, lightDiffuse.pack("f*"))
163
+ GL.Enable(GL::LIGHT0)
164
+ GL.Enable(GL::LIGHTING)
166
165
 
167
- glMaterialfv(GL_FRONT, GL_AMBIENT, blueMaterial.pack("f*"))
168
- glMaterialfv(GL_FRONT, GL_DIFFUSE, blueMaterial.pack("f*"))
166
+ GL.Materialfv(GL::FRONT, GL::AMBIENT, blueMaterial.pack("f*"))
167
+ GL.Materialfv(GL::FRONT, GL::DIFFUSE, blueMaterial.pack("f*"))
169
168
 
170
- glPushMatrix()
171
- glRotated(@angle, 0.0, 1.0, 0.0)
169
+ GL.PushMatrix()
170
+ GL.Rotated(@angle, 0.0, 1.0, 0.0)
172
171
  drawBox(-1, -1, -1, 1, 1, 1)
173
172
 
174
- glMaterialfv(GL_FRONT, GL_AMBIENT, redMaterial.pack("f*"))
175
- glMaterialfv(GL_FRONT, GL_DIFFUSE, redMaterial.pack("f*"))
173
+ GL.Materialfv(GL::FRONT, GL::AMBIENT, redMaterial.pack("f*"))
174
+ GL.Materialfv(GL::FRONT, GL::DIFFUSE, redMaterial.pack("f*"))
176
175
 
177
- glPushMatrix()
178
- glTranslated(0.0, 1.75, 0.0)
179
- glRotated(@angle, 0.0, 1.0, 0.0)
176
+ GL.PushMatrix()
177
+ GL.Translated(0.0, 1.75, 0.0)
178
+ GL.Rotated(@angle, 0.0, 1.0, 0.0)
180
179
  drawBox(-0.5, -0.5, -0.5, 0.5, 0.5, 0.5)
181
- glPopMatrix()
180
+ GL.PopMatrix()
182
181
 
183
- glPushMatrix()
184
- glTranslated(0.0, -1.75, 0.0)
185
- glRotated(@angle, 0.0, 1.0, 0.0)
182
+ GL.PushMatrix()
183
+ GL.Translated(0.0, -1.75, 0.0)
184
+ GL.Rotated(@angle, 0.0, 1.0, 0.0)
186
185
  drawBox(-0.5, -0.5, -0.5, 0.5, 0.5, 0.5)
187
- glPopMatrix()
186
+ GL.PopMatrix()
188
187
 
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)
188
+ GL.PushMatrix()
189
+ GL.Rotated(90.0, 1.0, 0.0, 0.0)
190
+ GL.Translated(0.0, 1.75, 0.0)
191
+ GL.Rotated(@angle, 0.0, 1.0, 0.0)
193
192
  drawBox(-0.5,-0.5,-0.5,0.5,0.5,0.5)
194
- glPopMatrix()
193
+ GL.PopMatrix()
195
194
 
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)
195
+ GL.PushMatrix()
196
+ GL.Rotated(90.0, -1.0, 0.0, 0.0)
197
+ GL.Translated(0.0,1.75,0.0)
198
+ GL.Rotated(@angle, 0.0, 1.0, 0.0)
200
199
  drawBox(-0.5,-0.5,-0.5,0.5,0.5,0.5)
201
- glPopMatrix()
200
+ GL.PopMatrix()
202
201
 
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)
202
+ GL.PushMatrix()
203
+ GL.Rotated(90.0, 0.0, 0.0, 1.0)
204
+ GL.Translated(0.0,1.75,0.0)
205
+ GL.Rotated(@angle, 0.0, 1.0, 0.0)
207
206
  drawBox(-0.5,-0.5,-0.5,0.5,0.5,0.5)
208
- glPopMatrix()
207
+ GL.PopMatrix()
209
208
 
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)
209
+ GL.PushMatrix()
210
+ GL.Rotated(90.0, 0.0, 0.0, -1.0)
211
+ GL.Translated(0.0,1.75,0.0)
212
+ GL.Rotated(@angle, 0.0, 1.0, 0.0)
214
213
  drawBox(-0.5,-0.5,-0.5,0.5,0.5,0.5)
215
- glPopMatrix()
214
+ GL.PopMatrix()
216
215
 
217
- glPopMatrix()
216
+ GL.PopMatrix()
218
217
 
219
218
  # Swap if it is double-buffered
220
219
  if @glvisual.isDoubleBuffer
@@ -229,7 +228,7 @@ class GLTestWindow < Fox::FXMainWindow
229
228
  # Invoke the base class initializer
230
229
  super(app, "OpenGL Test Application", :opts => DECOR_ALL, :width => 800, :height => 600)
231
230
 
232
- OpenGL.load_lib
231
+ GL.load_lib
233
232
 
234
233
  # Construct the main window elements
235
234
  frame = FXHorizontalFrame.new(self, LAYOUT_SIDE_TOP|LAYOUT_FILL_X|LAYOUT_FILL_Y)
@@ -263,7 +262,7 @@ class GLTestWindow < Fox::FXMainWindow
263
262
  @glcanvas.connect(SEL_PAINT) { drawScene }
264
263
  @glcanvas.connect(SEL_CONFIGURE) do
265
264
  if @glcanvas.makeCurrent
266
- glViewport(0, 0, @glcanvas.width, @glcanvas.height)
265
+ GL.Viewport(0, 0, @glcanvas.width, @glcanvas.height)
267
266
  @glcanvas.makeNonCurrent
268
267
  end
269
268
  end
data/examples/glviewer.rb CHANGED
@@ -7,8 +7,8 @@ begin
7
7
  rescue LoadError
8
8
  require 'fox16/missingdep'
9
9
  MSG = <<EOM
10
- Sorry, this example depends on the opengl-bindings gems. Please execute:
11
- gem install opengl-bindings
10
+ Sorry, this example depends on the opengl-bindings2 gems. Please execute:
11
+ gem install opengl-bindings2
12
12
  EOM
13
13
  missingDependency(MSG)
14
14
  end
@@ -161,7 +161,7 @@ class GLViewWindow < Fox::FXMainWindow
161
161
  # Initialize base class first
162
162
  super(app, "OpenGL Example Application", :opts => DECOR_ALL, :width => 800, :height => 600)
163
163
 
164
- OpenGL.load_lib
164
+ GL.load_lib
165
165
  GLU.load_lib
166
166
 
167
167
  # Define message identifiers for this class
@@ -20,20 +20,20 @@ def fxscintilla_support_suppressed?
20
20
  !with_config("fxscintilla", true)
21
21
  end
22
22
 
23
- LIBZ_VERSION = ENV['LIBZ_VERSION'] || '1.2.13'
23
+ LIBZ_VERSION = ENV['LIBZ_VERSION'] || '1.3.1'
24
24
  LIBZ_SOURCE_URI = "http://zlib.net/fossils/zlib-#{LIBZ_VERSION}.tar.gz"
25
25
 
26
- LIBPNG_VERSION = ENV['LIBPNG_VERSION'] || '1.6.39'
26
+ LIBPNG_VERSION = ENV['LIBPNG_VERSION'] || '1.6.42'
27
27
  # LIBPNG_SOURCE_URI = "http://prdownloads.sourceforge.net/libpng/libpng-#{LIBPNG_VERSION}.tar.gz"
28
28
  LIBPNG_SOURCE_URI = "https://netcologne.dl.sourceforge.net/project/libpng/libpng16/#{LIBPNG_VERSION}/libpng-#{LIBPNG_VERSION}.tar.xz"
29
29
 
30
30
  # LIBJPEG_VERSION = ENV['LIBJPEG_VERSION'] || '9b'
31
31
  # LIBJPEG_SOURCE_URI = "http://www.ijg.org/files/jpegsrc.v#{LIBJPEG_VERSION}.tar.gz"
32
32
 
33
- LIBJPEG_VERSION = ENV['LIBJPEG_VERSION'] || '2.1.5.1'
34
- LIBJPEG_SOURCE_URI = "https://downloads.sourceforge.net/libjpeg-turbo/libjpeg-turbo-#{LIBJPEG_VERSION}.tar.gz"
33
+ LIBJPEG_VERSION = ENV['LIBJPEG_VERSION'] || '3.0.2'
34
+ LIBJPEG_SOURCE_URI = "https://github.com/libjpeg-turbo/libjpeg-turbo/releases/download/#{LIBJPEG_VERSION}/libjpeg-turbo-#{LIBJPEG_VERSION}.tar.gz"
35
35
 
36
- LIBTIFF_VERSION = ENV['LIBTIFF_VERSION'] || '4.5.0'
36
+ LIBTIFF_VERSION = ENV['LIBTIFF_VERSION'] || '4.6.0'
37
37
  LIBTIFF_SOURCE_URI = "http://download.osgeo.org/libtiff/tiff-#{LIBTIFF_VERSION}.tar.gz"
38
38
 
39
39
  LIBFOX_VERSION = ENV['LIBFOX_VERSION'] || '1.6.57'
data/fxruby.gemspec CHANGED
@@ -50,12 +50,12 @@ Gem::Specification.new do |spec|
50
50
  spec.require_paths = ["lib"]
51
51
  spec.extensions = ["ext/fox16_c/extconf.rb"]
52
52
  spec.metadata['msys2_mingw_dependencies'] = 'fox'
53
- spec.required_ruby_version = [">= 2.5", "< 4"]
53
+ spec.required_ruby_version = [">= 2.6", "< 4"]
54
54
 
55
55
  spec.add_runtime_dependency 'mini_portile2', '~> 2.1'
56
56
 
57
57
  yardopts = File.read(".yardopts")
58
- spec.rdoc_options = ["--main", "README.rdoc",
58
+ spec.rdoc_options = ["--main", "README.md",
59
59
  "--title", "FXRuby API Documentation"]
60
60
  docfiles = yardopts.lines.map(&:strip).select{|r| r=~/^[^-]/ }
61
61
  spec.extra_rdoc_files = `git ls-files -z #{docfiles.join(" ")}`.split("\x0")
data/lib/fox16/glgroup.rb CHANGED
@@ -9,7 +9,6 @@ module Fox
9
9
  # A group of OpenGL objects
10
10
  #
11
11
  class FXGLGroup < FXGLObject
12
- include OpenGL if defined?(OpenGL)
13
12
  include Enumerable
14
13
 
15
14
  FLT_MAX = 1.0e+20
@@ -80,12 +79,12 @@ module Fox
80
79
  #
81
80
  def hit(viewer)
82
81
  # GL.PushName(0xffffffff)
83
- glPushName(1000000)
82
+ GL.PushName(1000000)
84
83
  @list.each_with_index do |obj, i|
85
- glLoadName(i)
84
+ GL.LoadName(i)
86
85
  obj.hit(viewer)
87
86
  end
88
- glPopName
87
+ GL.PopName
89
88
  end
90
89
 
91
90
  #
@@ -9,8 +9,6 @@ module Fox
9
9
  # OpenGL point object
10
10
  #
11
11
  class FXGLPoint < FXGLObject
12
- include OpenGL
13
-
14
12
  # Point position, in model coordinates (a 3-element array)
15
13
  attr_accessor :pos
16
14
 
@@ -48,20 +46,20 @@ module Fox
48
46
  # Draw this point into _viewer_ (an FXGLViewer instance).
49
47
  #
50
48
  def draw(viewer)
51
- glColor3d(0.0, 0.0, 1.0)
52
- glPointSize(HANDLE_SIZE)
53
- glBegin(GL_POINTS)
54
- glVertex3d(*@pos)
55
- glEnd()
49
+ GL.Color3d(0.0, 0.0, 1.0)
50
+ GL.PointSize(HANDLE_SIZE)
51
+ GL.Begin(GL::POINTS)
52
+ GL.Vertex3d(*@pos)
53
+ GL.End()
56
54
  end
57
55
 
58
56
  #
59
57
  # Perform hit test for this point in _viewer_ (an FXGLViewer instance).
60
58
  #
61
59
  def hit(viewer)
62
- glBegin(GL_POINTS)
63
- glVertex3d(*@pos)
64
- glEnd()
60
+ GL.Begin(GL::POINTS)
61
+ GL.Vertex3d(*@pos)
62
+ GL.End()
65
63
  end
66
64
  end
67
65
 
@@ -69,8 +67,6 @@ module Fox
69
67
  # OpenGL line object
70
68
  #
71
69
  class FXGLLine < FXGLObject
72
- include OpenGL
73
-
74
70
  # Starting point for line [FXGLPoint]
75
71
  attr_accessor :fm
76
72
 
@@ -122,22 +118,22 @@ module Fox
122
118
  # Draw this line into _viewer_ (an FXGLViewer instance).
123
119
  #
124
120
  def draw(viewer)
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()
121
+ GL.Color3d(1.0, 0.0, 0.0)
122
+ GL.PointSize(HANDLE_SIZE)
123
+ GL.Begin(GL::LINES)
124
+ GL.Vertex3d(*@fm.pos)
125
+ GL.Vertex3d(*@to.pos)
126
+ GL.End()
131
127
  end
132
128
 
133
129
  #
134
130
  # Perform hit-test for this line in _viewer_ (an FXGLViewer instance).
135
131
  #
136
132
  def hit(viewer)
137
- glBegin(GL_LINES)
138
- glVertex3d(*@fm.pos)
139
- glVertex3d(*@to.pos)
140
- glEnd()
133
+ GL.Begin(GL::LINES)
134
+ GL.Vertex3d(*@fm.pos)
135
+ GL.Vertex3d(*@to.pos)
136
+ GL.End()
141
137
  end
142
138
  end
143
139
 
@@ -145,8 +141,6 @@ module Fox
145
141
  # OpenGL cube object
146
142
  #
147
143
  class FXGLCube < FXGLShape
148
- include OpenGL
149
-
150
144
  # Cube width [Float]
151
145
  attr_accessor :width
152
146
 
@@ -198,58 +192,58 @@ module Fox
198
192
  zmin, zmax = -0.5*@depth, 0.5*@depth
199
193
 
200
194
  # Draw low face
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()
195
+ GL.Begin(GL::TRIANGLE_STRIP)
196
+ GL.Normal3d(0.0, 0.0, -1.0)
197
+ GL.Vertex3d(xmin, ymin, zmin)
198
+ GL.Vertex3d(xmin, ymax, zmin)
199
+ GL.Vertex3d(xmax, ymin, zmin)
200
+ GL.Vertex3d(xmax, ymax, zmin)
201
+ GL.End()
208
202
 
209
203
  # Draw east face
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()
204
+ GL.Begin(GL::TRIANGLE_STRIP)
205
+ GL.Normal3d(1.0, 0.0, 0.0)
206
+ GL.Vertex3d(xmax, ymin, zmin)
207
+ GL.Vertex3d(xmax, ymax, zmin)
208
+ GL.Vertex3d(xmax, ymin, zmax)
209
+ GL.Vertex3d(xmax, ymax, zmax)
210
+ GL.End()
217
211
 
218
212
  # Draw high face
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()
213
+ GL.Begin(GL::TRIANGLE_STRIP)
214
+ GL.Normal3d(0.0, 0.0, 1.0)
215
+ GL.Vertex3d(xmax, ymin, zmax)
216
+ GL.Vertex3d(xmax, ymax, zmax)
217
+ GL.Vertex3d(xmin, ymin, zmax)
218
+ GL.Vertex3d(xmin, ymax, zmax)
219
+ GL.End()
226
220
 
227
221
  # Draw west face
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()
222
+ GL.Begin(GL::TRIANGLE_STRIP)
223
+ GL.Normal3d(-1.0, 0.0, 0.0)
224
+ GL.Vertex3d(xmin, ymin, zmax)
225
+ GL.Vertex3d(xmin, ymax, zmax)
226
+ GL.Vertex3d(xmin, ymin, zmin)
227
+ GL.Vertex3d(xmin, ymax, zmin)
228
+ GL.End()
235
229
 
236
230
  # Draw north face
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()
231
+ GL.Begin(GL::TRIANGLE_STRIP)
232
+ GL.Normal3d(0.0, 1.0, 0.0)
233
+ GL.Vertex3d(xmin, ymax, zmin)
234
+ GL.Vertex3d(xmin, ymax, zmax)
235
+ GL.Vertex3d(xmax, ymax, zmin)
236
+ GL.Vertex3d(xmax, ymax, zmax)
237
+ GL.End()
244
238
 
245
239
  # Draw south face
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()
240
+ GL.Begin(GL::TRIANGLE_STRIP)
241
+ GL.Normal3d(0.0, -1.0, 0.0)
242
+ GL.Vertex3d(xmin, ymin, zmax)
243
+ GL.Vertex3d(xmin, ymin, zmin)
244
+ GL.Vertex3d(xmax, ymin, zmax)
245
+ GL.Vertex3d(xmax, ymin, zmin)
246
+ GL.End()
253
247
  end
254
248
  end
255
249
 
@@ -257,9 +251,6 @@ module Fox
257
251
  # OpenGL cone object
258
252
  #
259
253
  class FXGLCone < FXGLShape
260
- include OpenGL
261
- include GLU
262
-
263
254
  # Cone fidelity
264
255
  SLICES_NUMBER = 20
265
256
  STACKS_NUMBER = 20
@@ -316,15 +307,15 @@ module Fox
316
307
  # Draw this cone into _viewer_ (an FXGLViewer instance).
317
308
  #
318
309
  def drawshape(viewer)
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()
310
+ quad = GLU.NewQuadric()
311
+ GLU.QuadricDrawStyle(quad, GLU::FILL)
312
+ GL.PushMatrix()
313
+ GL.Rotated(-90, 1, 0, 0)
314
+ GLU.Cylinder(quad, @radius, 0, @height, @slices, @stacks)
315
+ GLU.QuadricOrientation(quad, GLU::INSIDE)
316
+ GLU.Disk(quad, 0, @radius, @slices, @loops)
317
+ GLU.DeleteQuadric(quad)
318
+ GL.PopMatrix()
328
319
  end
329
320
  end
330
321
 
@@ -332,9 +323,6 @@ module Fox
332
323
  # OpenGL cylinder object
333
324
  #
334
325
  class FXGLCylinder < FXGLShape
335
- include OpenGL
336
- include GLU
337
-
338
326
  # Cylinder fidelity
339
327
  SLICES_NUMBER = 20
340
328
  STACKS_NUMBER = 20
@@ -391,18 +379,18 @@ module Fox
391
379
  # Draw this cylinder into _viewer_ (an FXGLViewer instance).
392
380
  #
393
381
  def drawshape(viewer)
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)
382
+ quad = GLU.NewQuadric()
383
+ GLU.QuadricDrawStyle(quad, GLU::FILL)
384
+ GL.PushMatrix()
385
+ GL.Rotated(-90, 1, 0, 0)
386
+ GLU.Cylinder(quad, @radius, @radius, @height, @slices, @stacks)
387
+ GLU.QuadricOrientation(quad, GLU::INSIDE)
388
+ GLU.Disk(quad, 0, @radius, @slices, @loops)
389
+ GL.Translated(0, 0, @height)
390
+ GLU.QuadricOrientation(quad, GLU::OUTSIDE)
391
+ GLU.Disk(quad, 0, @radius, @slices, @loops)
392
+ GL.PopMatrix()
393
+ GLU.DeleteQuadric(quad)
406
394
  end
407
395
  end
408
396
 
@@ -410,9 +398,6 @@ module Fox
410
398
  # OpenGL sphere object
411
399
  #
412
400
  class FXGLSphere < FXGLShape
413
- include OpenGL
414
- include GLU
415
-
416
401
  # Sphere fidelity
417
402
  SLICES_NUMBER = 20
418
403
  STACKS_NUMBER = 20
@@ -460,10 +445,10 @@ module Fox
460
445
  # Draw this sphere into _viewer_ (an FXGLViewer instance).
461
446
  #
462
447
  def drawshape(viewer)
463
- quad = gluNewQuadric()
464
- gluQuadricDrawStyle(quad, GLU_FILL)
465
- gluSphere(quad, @radius, @slices, @stacks)
466
- gluDeleteQuadric(quad)
448
+ quad = GLU.NewQuadric()
449
+ GLU.QuadricDrawStyle(quad, GLU::FILL)
450
+ GLU.Sphere(quad, @radius, @slices, @stacks)
451
+ GLU.DeleteQuadric(quad)
467
452
  end
468
453
  end
469
454
  end