package main import "os" import "fmt" import "time" import "git.tebibyte.media/sashakoshka/stone" // import _ "git.tebibyte.media/sashakoshka/stone/backends/x" func main () { application := &stone.Application { } channel, err := application.Run() if err != nil { panic(err) } currentTime := time.Time { } for { event := <- channel switch event.(type) { case stone.EventQuit: os.Exit(0) case stone.EventResize: currentTime = time.Now() application.ResetDot() fmt.Fprintln(application, "hellorld!") hour := currentTime.Hour() minute := currentTime.Minute() second := currentTime.Second() application.SetRune(0, 1, rune(hour / 10 + 48)) application.SetRune(1, 1, rune(hour % 10 + 48)) application.SetRune(2, 1, ':') application.SetRune(3, 1, rune(minute / 10 + 48)) application.SetRune(4, 1, rune(minute % 10 + 48)) application.SetRune(5, 1, ':') application.SetRune(6, 1, rune(second / 10 + 48)) application.SetRune(7, 1, rune(second % 10 + 48)) } } } // func run (application *stone.Application) { // currentTime := time.Time { } // frameDelay := time.Second / 2 // textBuffer := "" // // for { // typed := application.Typed() // textBuffer += typed // // shouldRender := // application.Resized() || // time.Since(currentTime) > frameDelay || // len(typed) > 0 // // if shouldRender { // currentTime = time.Now() // // application.ResetDot() // fmt.Fprintln(application, "hellorld!") // // hour := currentTime.Hour() // minute := currentTime.Minute() // second := currentTime.Second() // // application.SetRune(0, 1, rune(hour / 10 + 48)) // application.SetRune(1, 1, rune(hour % 10 + 48)) // application.SetRune(2, 1, ':') // application.SetRune(3, 1, rune(minute / 10 + 48)) // application.SetRune(4, 1, rune(minute % 10 + 48)) // application.SetRune(5, 1, ':') // application.SetRune(6, 1, rune(second / 10 + 48)) // application.SetRune(7, 1, rune(second % 10 + 48)) // // application.Dot.X = 0 // application.Dot.Y = 2 // fmt.Fprintln(application, textBuffer) // // } // // if application.Pressed(stone.MouseButtonLeft) { // x, y := application.MousePosition() // application.SetRune(x, y, '#') // } // // if !application.Await(frameDelay) { break } // } // }