fenster/examples/example.go
Serge Zaitsev f8e663ffb9 add Go bindings
2023-01-14 13:39:10 +01:00

34 lines
552 B
Go

package main
import (
"math/rand"
"time"
"github.com/zserge/fenster"
)
func main() {
f := fenster.New()
f.Open(320, 240, "Hello")
defer f.Close()
lastFrame := time.Now()
for f.Loop() {
// If escape is pressed - exit
if f.Key(27) {
break
}
// Fill screen with random noise
for i := 0; i < 240; i++ {
for j := 0; j < 320; j++ {
f.SetPixel(j, i, rand.Uint32())
}
}
// Wait for FPS rate
sleep := 16*time.Millisecond - time.Now().Sub(lastFrame)
if sleep > 0 {
time.Sleep(sleep)
}
lastFrame = time.Now()
}
}