mirror of
https://github.com/hajimehoshi/ebiten.git
synced 2024-12-24 02:38:53 +01:00
internal/ui: bug fix: the env variable should be used only when the library is not specified
Updates #2378
This commit is contained in:
parent
8d020ad414
commit
e5b9569142
2
doc.go
2
doc.go
@ -67,7 +67,7 @@
|
||||
//
|
||||
// `EBITENGINE_GRAPHICS_LIBRARY` environment variable specifies the graphics library.
|
||||
// If the specified graphics library is not available, RunGame returns an error.
|
||||
// This environment variable can also be set programmatically through os.Setenv before RunGame is called.
|
||||
// This environment variable works when RunGame is called or RunGameWithOptions is called with GraphicsLibraryAuto.
|
||||
// This can take one of the following value:
|
||||
//
|
||||
// "auto": Ebitengine chooses the graphics library automatically. This is the default value.
|
||||
|
@ -29,26 +29,27 @@ type graphicsDriverCreator interface {
|
||||
}
|
||||
|
||||
func newGraphicsDriver(creator graphicsDriverCreator, graphicsLibrary GraphicsLibrary) (graphicsdriver.Graphics, error) {
|
||||
envName := "EBITENGINE_GRAPHICS_LIBRARY"
|
||||
env := os.Getenv(envName)
|
||||
if env == "" {
|
||||
// For backward compatibility, read the EBITEN_ version.
|
||||
envName = "EBITEN_GRAPHICS_LIBRARY"
|
||||
env = os.Getenv(envName)
|
||||
}
|
||||
if graphicsLibrary == GraphicsLibraryAuto {
|
||||
envName := "EBITENGINE_GRAPHICS_LIBRARY"
|
||||
env := os.Getenv(envName)
|
||||
if env == "" {
|
||||
// For backward compatibility, read the EBITEN_ version.
|
||||
envName = "EBITEN_GRAPHICS_LIBRARY"
|
||||
env = os.Getenv(envName)
|
||||
}
|
||||
|
||||
switch env {
|
||||
case "", "auto":
|
||||
// Use the specified graphics library.
|
||||
// Otherwise, prefer the environment variable.
|
||||
case "opengl":
|
||||
graphicsLibrary = GraphicsLibraryOpenGL
|
||||
case "directx":
|
||||
graphicsLibrary = GraphicsLibraryDirectX
|
||||
case "metal":
|
||||
graphicsLibrary = GraphicsLibraryMetal
|
||||
default:
|
||||
return nil, fmt.Errorf("ui: an unsupported graphics library is specified by the environment variable: %s", env)
|
||||
switch env {
|
||||
case "", "auto":
|
||||
// Keep the automatic choosing.
|
||||
case "opengl":
|
||||
graphicsLibrary = GraphicsLibraryOpenGL
|
||||
case "directx":
|
||||
graphicsLibrary = GraphicsLibraryDirectX
|
||||
case "metal":
|
||||
graphicsLibrary = GraphicsLibraryMetal
|
||||
default:
|
||||
return nil, fmt.Errorf("ui: an unsupported graphics library is specified by the environment variable: %s", env)
|
||||
}
|
||||
}
|
||||
|
||||
switch graphicsLibrary {
|
||||
|
Loading…
Reference in New Issue
Block a user