Replace Open with New

This commit is contained in:
Dimitri Sokolyuk
2023-01-15 21:09:31 +01:00
parent 24e42e4e8d
commit 2d544291d8
3 changed files with 13 additions and 9 deletions

View File

@ -3,6 +3,7 @@
package main
import (
"log"
"math/rand"
"time"
@ -10,8 +11,10 @@ import (
)
func main() {
f := fenster.New()
f.Open(320, 240, "Hello")
f, err := fenster.New(320, 240, "Hello")
if err != nil {
log.Fatal(err)
}
defer f.Close()
lastFrame := time.Now()
for f.Loop() {

View File

@ -24,8 +24,10 @@ func openImage(fname string) (image.Image, error) {
}
func main() {
f := fenster.New()
f.Open(320, 240, "Hello")
f, err := fenster.New(320, 240, "Hello")
if err != nil {
log.Fatal(err)
}
defer f.Close()
lastFrame := time.Now()

View File

@ -22,7 +22,6 @@ func init() {
}
type Fenster interface {
Open(w, h int, title string) error
Loop() bool
Close()
Key(byte) bool
@ -66,8 +65,8 @@ func (f *fenster) Bounds() image.Rectangle {
return image.Rect(0, 0, int(f.f.width), int(f.f.height))
}
func New() Fenster { return &fenster{} }
func (f *fenster) Open(w, h int, title string) error {
func New(w, h int, title string) (Fenster, error) {
f := new(fenster)
f.f.title = C.CString(title)
f.f.width = C.int(w)
f.f.height = C.int(h)
@ -75,9 +74,9 @@ func (f *fenster) Open(w, h int, title string) error {
f.buf = unsafe.Slice((*uint32)(f.f.buf), w*h)
res := C.fenster_open(&f.f)
if res != 0 {
return fmt.Errorf("failed to open window: %d", res)
return nil, fmt.Errorf("failed to open window: %d", res)
}
return nil
return f, nil
}
func (f *fenster) Loop() bool { return C.fenster_loop(&f.f) == 0 }
func (f *fenster) Close() { C.fenster_close(&f.f) }