|
|
|
|
@ -64,40 +64,12 @@ func (tk *ToolKit) PlayAnimation(a Animation) error {
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if err == io.EOF {
|
|
|
|
|
return nil
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
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 {
|
|
|
|
|
if err == io.EOF {
|
|
|
|
|
return nil
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return err
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// PlayImageUntil draws the given image until is notified to stop
|
|
|
|
|
|