From 10ab31fa86dbf9875b5f6baa6ac59fefaaf86be3 Mon Sep 17 00:00:00 2001 From: andreas 'randy' weinberger Date: Sun, 21 Feb 2010 19:58:27 +0100 Subject: initial git upload, based on graphlcd-base-0.1.5 --- glcdgraphics/image.h | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 glcdgraphics/image.h (limited to 'glcdgraphics/image.h') diff --git a/glcdgraphics/image.h b/glcdgraphics/image.h new file mode 100644 index 0000000..888d942 --- /dev/null +++ b/glcdgraphics/image.h @@ -0,0 +1,58 @@ +/* + * GraphLCD graphics library + * + * image.h - image and animation handling + * + * based on graphlcd plugin 0.1.1 for the Video Disc Recorder + * (c) 2001-2004 Carsten Siebholz + * + * This file is released under the GNU General Public License. Refer + * to the COPYING file distributed with this package. + * + * (c) 2004 Andreas Regel + */ + +#ifndef _GLCDGRAPHICS_IMAGE_H_ +#define _GLCDGRAPHICS_IMAGE_H_ + +#include + +#include + +namespace GLCD +{ + +class cBitmap; + +class cImage +{ +private: + unsigned int width; + unsigned int height; + unsigned int delay; + unsigned int curBitmap; + uint64_t lastChange; + std::vector bitmaps; +public: + cImage(); + ~cImage(); + + unsigned int Width() const { return width; } + unsigned int Height() const { return height; } + unsigned int Count() const { return bitmaps.size(); } + unsigned int Delay() const { return delay; } + uint64_t LastChange() const { return lastChange; } + void First(uint64_t t) { lastChange = t; curBitmap = 0; } + bool Next(uint64_t t) { lastChange = t; curBitmap++; return curBitmap < bitmaps.size(); } + void SetWidth(unsigned int Width) { width = Width; } + void SetHeight(unsigned int Height) { height = Height; } + void SetDelay(unsigned int d) { delay = d; } + cBitmap * GetBitmap(unsigned int nr) const; + cBitmap * GetBitmap() const; + void AddBitmap(cBitmap * Bitmap) { bitmaps.push_back(Bitmap); } + void Clear(); +}; + +} // end of namespace + +#endif -- cgit v1.2.3