35 lines
621 B
Go
35 lines
621 B
Go
package glfw
|
|
|
|
import (
|
|
engine "dev.euph.git/snoweuph/game-engine/pkg/engine/ports"
|
|
_glfw "github.com/go-gl/glfw/v3.3/glfw"
|
|
)
|
|
|
|
type GLFWWindow struct {
|
|
window *_glfw.Window
|
|
}
|
|
|
|
func NewGLFWWindow(w int, h int, title string) (engine.Window, error) {
|
|
window, err := _glfw.CreateWindow(w, h, title, nil, nil)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
window.MakeContextCurrent()
|
|
|
|
return &GLFWWindow{
|
|
window: window,
|
|
}, nil
|
|
}
|
|
|
|
func (w GLFWWindow) Destroy(){
|
|
w.window.Destroy()
|
|
}
|
|
|
|
func (w GLFWWindow) SwapBuffers() {
|
|
w.window.SwapBuffers()
|
|
}
|
|
|
|
func (w GLFWWindow) ShouldClose() bool {
|
|
return w.window.ShouldClose()
|
|
}
|