diff options
Diffstat (limited to 'unicorn/Unicorn2.go')
-rw-r--r-- | unicorn/Unicorn2.go | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/unicorn/Unicorn2.go b/unicorn/Unicorn2.go new file mode 100644 index 0000000..716fe4d --- /dev/null +++ b/unicorn/Unicorn2.go @@ -0,0 +1,32 @@ +// Version 2 of unicorn, uses gif.GIF as store of pixels +// & a separate goroutine to render it so it can do +// animated GIFs +package unicorn + +import ( + "image/gif" +) + +// Unicorn2 ... +// Interface for interacting with the Unicorn HAT HD +// Implemented by both real & fake unicorns. +type Unicorn2 interface { + GetGif() *gif.GIF + SetGif(*gif.GIF) + + StartRender() + // Required for os to not think we're stuck + MainLoop() +} + +type BaseUnicorn2 struct { + g *gif.GIF +} + +func (u *BaseUnicorn2) GetGif() *gif.GIF { + return u.g +} + +func (u *BaseUnicorn2) SetGif(g *gif.GIF) { + u.g = g +} |