From 793bcbe5d8308c8c33419f67378df9dc83462445 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Mon, 30 Jul 2012 02:53:13 +0300 Subject: Add addition options to skin objects. --- src/gui/theme.h | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) (limited to 'src/gui/theme.h') diff --git a/src/gui/theme.h b/src/gui/theme.h index 1cf8d9aa6..69a08bff0 100644 --- a/src/gui/theme.h +++ b/src/gui/theme.h @@ -42,9 +42,10 @@ class ProgressBar; class Skin { public: - Skin(ImageRect skin, Image *close, Image *stickyUp, Image *stickyDown, - const std::string &filePath, const std::string &name = "", - int padding = 3, int titlePadding = 4); + Skin(ImageRect skin, ImageRect images, const std::string &filePath, + const std::string &name = "", int padding = 3, + int titlePadding = 4, + std::map *options = nullptr); ~Skin(); @@ -101,6 +102,14 @@ class Skin int getTitlePadding() const { return mTitlePadding; } + int getOption(std::string name) + { + if (mOptions->find(name) != mOptions->end()) + return (*mOptions)[name]; + else + return 0; + } + int instances; private: @@ -112,6 +121,7 @@ class Skin Image *mStickyImageDown; /**< Sticky Button Image */ int mPadding; int mTitlePadding; + std::map *mOptions; }; class Theme : public Palette, public ConfigListener @@ -249,9 +259,12 @@ class Theme : public Palette, public ConfigListener /** * Loads a skin. */ - Skin *load(const std::string &filename, + Skin *load(const std::string &filename, bool full = true, const std::string &defaultPath = getThemePath()); + Skin *loadSkinRect(ImageRect &image, std::string name, + int start = 0, int end = 8); + void unload(Skin *skin); /** @@ -284,7 +297,7 @@ class Theme : public Palette, public ConfigListener Theme(); ~Theme(); - Skin *readSkin(const std::string &filename0); + Skin *readSkin(const std::string &filename0, bool full); // Map containing all window skins typedef std::map Skins; -- cgit v1.2.3-60-g2f50