forked from GWRon/Dig
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbase.util.graphicsmanager.ng.bmx
57 lines (44 loc) · 1.56 KB
/
base.util.graphicsmanager.ng.bmx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
SuperStrict
Import sdl.glsdlmax2d
Import sdl.gl2sdlmax2d
Import "base.util.graphicsmanagerbase.bmx"
'setup available renderers -> no renderers but GL2SDL
TGraphicsManager.SetRendererAvailable(-1, False)
TGraphicsManager.SetRendererAvailable(TGraphicsManager.RENDERER_OPENGL, GLMax2DDriver() <> Null)
TGraphicsManager.SetRendererAvailable(TGraphicsManager.RENDERER_GL2SDL, GL2Max2DDriver() <> Null)
Type TGraphicsManagerNG Extends TGraphicsManager
Function GetInstance:TGraphicsManager()
If Not TGraphicsManagerNG(_instance) Then _instance = New TGraphicsManagerNG
Return _instance
End Function
Method _InitGraphicsDefault:Int()
Select renderer
Case RENDERER_OPENGL
TLogger.Log("GraphicsManager.InitGraphics()", "SetGraphicsDriver ~qOpenGL~q.", LOG_DEBUG)
SetGraphicsDriver GLMax2DDriver()
'buffered gl?
'?android
Default
TLogger.Log("GraphicsManager.InitGraphics()", "SetGraphicsDriver ~qGL2SDL~q.", LOG_DEBUG)
SetGraphicsDriver GL2Max2DDriver()
renderer = RENDERER_GL2SDL
'?Not android
End Select
_g = Graphics(realWidth, realHeight, colorDepth*fullScreen, hertz, flags)
End Method
Method EnableSmoothLines:Int()
If renderer = RENDERER_OPENGL Or renderer = RENDERER_GL2SDL Or renderer = RENDERER_BUFFEREDOPENGL
?Not android
GlEnable(GL_LINE_SMOOTH)
?
Return True
Else
Return False
EndIf
End Method
End Type
'convenience function
Function GetGraphicsManagerNG:TGraphicsManager()
Return TGraphicsManagerNG.GetInstance()
End Function
GetGraphicsManagerNG()