1 Commits
v1.0.0 ... main

Author SHA1 Message Date
3d3b3fbf7b new playAnimationUntil that stops animation when notify channel receives message
Some checks are pending
build lightwatch / build (push) Has started running
2024-02-05 21:42:01 +00:00

View File

@@ -64,7 +64,6 @@ func (tk *ToolKit) PlayAnimation(a Animation) error {
return err
}
}
if err == io.EOF {
return nil
}
@@ -72,6 +71,35 @@ func (tk *ToolKit) PlayAnimation(a Animation) error {
return err
}
func (tk *ToolKit) PlayAnimationUntil(a Animation, notify <-chan bool) error {
var err error
var i image.Image
var n <-chan time.Time
var outerError error
for outerError == nil {
select {
case <-notify:
return nil
default:
i, n, err = a.Next()
if err != nil {
outerError = err
break
}
if err := tk.PlayImageUntil(i, n); err != nil {
return err
}
}
}
if outerError == io.EOF {
return nil
}
return err
}
// PlayImageUntil draws the given image until is notified to stop
func (tk *ToolKit) PlayImageUntil(i image.Image, notify <-chan time.Time) error {
defer func() {