mirror of
https://github.com/clockworkpi/LauncherGoDev.git
synced 2026-03-22 03:42:42 +01:00
first commit
This commit is contained in:
63
gogame/display/display.go
Normal file
63
gogame/display/display.go
Normal file
@@ -0,0 +1,63 @@
|
||||
package display
|
||||
|
||||
import (
|
||||
"github.com/veandco/go-sdl2/sdl"
|
||||
"../../gogame"
|
||||
)
|
||||
|
||||
var Inited = false
|
||||
var window *sdl.Window
|
||||
|
||||
func AssertInited() {
|
||||
if Inited == false {
|
||||
panic("run gogame.DisplayInit first")
|
||||
}
|
||||
}
|
||||
|
||||
func Init() bool {
|
||||
sdl.Do(func() {
|
||||
|
||||
if err := sdl.Init(sdl.INIT_EVERYTHING); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
Inited = true
|
||||
})
|
||||
|
||||
return Inited
|
||||
}
|
||||
|
||||
|
||||
func SetMode(w,h,flags,depth int32) *sdl.Surface {
|
||||
var err error
|
||||
var surface *sdl.Surface
|
||||
AssertInited()
|
||||
|
||||
sdl.Do(func() {
|
||||
window, err = sdl.CreateWindow("gogame", sdl.WINDOWPOS_UNDEFINED, sdl.WINDOWPOS_UNDEFINED,
|
||||
w, h, uint32( gogame.SHOWN | flags))
|
||||
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
surface,err = window.GetSurface()
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
})
|
||||
|
||||
return surface
|
||||
}
|
||||
|
||||
func Flip() {
|
||||
sdl.Do(func() {
|
||||
|
||||
if window != nil {
|
||||
window.UpdateSurface()
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user