From 68ac6628a31cb1472275b5282c5cf9a971d9bddd Mon Sep 17 00:00:00 2001 From: mrwastl Date: Sat, 17 Apr 2010 19:16:26 +0200 Subject: backport of skin-support from 0.2.x to 0.1.x, changes for gcc 4.3 conformity --- glcdskin/font.h | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 glcdskin/font.h (limited to 'glcdskin/font.h') diff --git a/glcdskin/font.h b/glcdskin/font.h new file mode 100644 index 0000000..d11fa50 --- /dev/null +++ b/glcdskin/font.h @@ -0,0 +1,73 @@ +/* + * GraphLCD skin library + * + * font.h - font class + * + * This file is released under the GNU General Public License. Refer + * to the COPYING file distributed with this package. + * + * based on text2skin + * + */ + +#ifndef _GLCDSKIN_FONT_H_ +#define _GLCDSKIN_FONT_H_ + +#include +#include + +#include + +#include "display.h" +#include "object.h" + +namespace GLCD +{ + +class cSkin; + +class cSkinFont +{ + friend bool StartElem(const std::string &name, std::map &attrs); + friend bool EndElem(const std::string &name); + +public: + enum eType + { + ftFNT, + ftFT2 + }; + +private: + cSkin * mSkin; + std::string mId; + eType mType; + std::string mFile; + int mSize; + cFont mFont; + cSkinFunction * mCondition; + cSkinDisplay mDummyDisplay; + cSkinObject mDummyObject; + +public: + cSkinFont(cSkin * Parent); + + bool ParseUrl(const std::string & Text); + bool ParseCondition(const std::string & Text); + + cSkin * Skin(void) const { return mSkin; } + const std::string & Id(void) const { return mId; } + const cFont * Font(void) const { return &mFont; } + cSkinFunction * Condition(void) const { return mCondition; } +}; + +class cSkinFonts: public std::vector +{ +public: + cSkinFonts(void); + ~cSkinFonts(void); +}; + +} // end of namespace + +#endif -- cgit v1.2.3