mirror of
https://github.com/clockworkpi/LauncherGoDev.git
synced 2025-12-12 16:08:52 +01:00
64 lines
860 B
Go
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()
|
|
}
|
|
})
|
|
}
|
|
|
|
|
|
|