mirror of
https://github.com/EnumeratedDev/typer.git
synced 2026-09-16 13:36:12 +00:00
Initial Commit
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"github.com/gdamore/tcell"
|
||||
"time"
|
||||
)
|
||||
|
||||
type TyperMessage struct {
|
||||
timestamp int64
|
||||
message string
|
||||
}
|
||||
|
||||
var messageLog = make([]TyperMessage, 0)
|
||||
|
||||
func PrintMessage(window *Window, message string) {
|
||||
messageLog = append(messageLog, TyperMessage{timestamp: time.Now().UnixMilli(), message: message})
|
||||
|
||||
err := window.screen.PostEvent(tcell.NewEventInterrupt(nil))
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
go func() {
|
||||
time.Sleep(5 * time.Second)
|
||||
|
||||
err := window.screen.PostEvent(tcell.NewEventInterrupt(nil))
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
}()
|
||||
}
|
||||
|
||||
func drawMessageBar(window *Window) {
|
||||
screen := window.screen
|
||||
|
||||
messageBarStyle := tcell.StyleDefault.Foreground(tcell.ColorBlack).Background(tcell.ColorWhite)
|
||||
|
||||
sizeX, sizeY := screen.Size()
|
||||
|
||||
messageToPrint := ""
|
||||
if len(messageLog) > 0 && time.Since(time.UnixMilli(messageLog[len(messageLog)-1].timestamp)).Seconds() < 5 {
|
||||
messageToPrint = messageLog[len(messageLog)-1].message
|
||||
}
|
||||
|
||||
for x := 0; x < sizeX; x++ {
|
||||
char := ' '
|
||||
if x < len(messageToPrint) {
|
||||
char = int32(messageToPrint[x])
|
||||
}
|
||||
|
||||
screen.SetContent(x, sizeY-1, char, nil, messageBarStyle)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user