2018-06-05 23:56:48 +08:00

64 lines
860 B
Go

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()
}
})
}