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.c | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 glcdgraphics/image.c (limited to 'glcdgraphics/image.c') diff --git a/glcdgraphics/image.c b/glcdgraphics/image.c new file mode 100644 index 0000000..72003b1 --- /dev/null +++ b/glcdgraphics/image.c @@ -0,0 +1,67 @@ +/* + * GraphLCD graphics library + * + * image.c - 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 + */ + +#include "bitmap.h" +#include "image.h" + + +namespace GLCD +{ + +using namespace std; + +cImage::cImage() +: width(0), + height(0), + delay(0), + curBitmap(0), + lastChange(0) +{ +} + +cImage::~cImage() +{ + Clear(); +} + +cBitmap * cImage::GetBitmap() const +{ + if (curBitmap < bitmaps.size()) + return bitmaps[curBitmap]; + return NULL; +} + +cBitmap * cImage::GetBitmap(unsigned int nr) const +{ + if (nr < bitmaps.size()) + return bitmaps[nr]; + return NULL; +} + +void cImage::Clear() +{ + vector ::iterator it; + for (it = bitmaps.begin(); it != bitmaps.end(); it++) + { + delete *it; + } + bitmaps.clear(); + width = 0; + height = 0; + delay = 0; + curBitmap = 0; + lastChange = 0; +} + +} // end of namespace -- cgit v1.2.3