fxruby 1.6.46 → 1.6.47

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