diff options
author | Martin Ashby <martin@martin-laptop.lan> | 2018-05-28 16:57:07 +0100 |
---|---|---|
committer | Martin Ashby <martin@martin-laptop.lan> | 2018-05-28 16:57:07 +0100 |
commit | efe8866f28f229446440c6d871e4f9845a97266f (patch) | |
tree | 4ea2ccd1bf964809c8b6528e29d2c7f34286fa96 /unicorn/Unicorn2.go | |
parent | f20896ef3b147ac07769eb36c67ba436c6d2ed22 (diff) | |
download | unicornpaint-efe8866f28f229446440c6d871e4f9845a97266f.tar.gz unicornpaint-efe8866f28f229446440c6d871e4f9845a97266f.tar.bz2 unicornpaint-efe8866f28f229446440c6d871e4f9845a97266f.tar.xz unicornpaint-efe8866f28f229446440c6d871e4f9845a97266f.zip |
Added build tags. Builds & runs OK on RPi (can show test animation)
Diffstat (limited to 'unicorn/Unicorn2.go')
-rw-r--r-- | unicorn/Unicorn2.go | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/unicorn/Unicorn2.go b/unicorn/Unicorn2.go index 04722f7..81e3174 100644 --- a/unicorn/Unicorn2.go +++ b/unicorn/Unicorn2.go @@ -42,11 +42,9 @@ func (u *BaseUnicorn2) SetGif(g *gif.GIF) { u.g = g } -// StartRender ... -// Starts rendering the image. If it's an animated image, -// renders animation frames. Return a channel to stop the -// image rendering. -func (u *FakeUnicorn2) StartRender() chan bool { +// StartRenderBase ... +// Deals with the timing aspect of animated GIFs +func (u *BaseUnicorn2) StartRenderBase(renderImage func(image.Image)) chan bool { stopChan := make(chan bool) go func() { timer := time.NewTimer(0) @@ -61,12 +59,12 @@ func (u *FakeUnicorn2) StartRender() chan bool { gf := u.GetGif() im := gf.Image[imageIndex] delay := gf.Delay[imageIndex] //100ths of a second, 10^-2 - u.renderImage(im) - + renderImage(im) + timer.Reset(time.Duration(delay * 10000000)) // nanoseconds 10^-9 sec imageIndex = (imageIndex + 1) % len(gf.Image) } } }() return stopChan -}
\ No newline at end of file +} |