diff options
author | Dees_Troy <dees_troy@teamw.in> | 2012-09-05 21:24:24 +0200 |
---|---|---|
committer | Dees_Troy <dees_troy@teamw.in> | 2012-09-05 21:24:31 +0200 |
commit | 51a0e82eb29a6dfc79f93479883383fbdbf8bcc2 (patch) | |
tree | 52fc18206eb0feba9f50dc3b0ede9fdc5e40f35e /gui/resources.hpp | |
parent | Initial stub of partitions.hpp (diff) | |
download | android_bootable_recovery-51a0e82eb29a6dfc79f93479883383fbdbf8bcc2.tar android_bootable_recovery-51a0e82eb29a6dfc79f93479883383fbdbf8bcc2.tar.gz android_bootable_recovery-51a0e82eb29a6dfc79f93479883383fbdbf8bcc2.tar.bz2 android_bootable_recovery-51a0e82eb29a6dfc79f93479883383fbdbf8bcc2.tar.lz android_bootable_recovery-51a0e82eb29a6dfc79f93479883383fbdbf8bcc2.tar.xz android_bootable_recovery-51a0e82eb29a6dfc79f93479883383fbdbf8bcc2.tar.zst android_bootable_recovery-51a0e82eb29a6dfc79f93479883383fbdbf8bcc2.zip |
Diffstat (limited to '')
-rw-r--r-- | gui/resources.hpp | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/gui/resources.hpp b/gui/resources.hpp new file mode 100644 index 000000000..6cb5da263 --- /dev/null +++ b/gui/resources.hpp @@ -0,0 +1,87 @@ +// resources.hpp - Base classes for resource management of GUI + +#ifndef _RESOURCE_HEADER +#define _RESOURCE_HEADER + +// Base Objects +class Resource +{ +public: + Resource(xml_node<>* node, ZipArchive* pZip); + virtual ~Resource() {} + +public: + virtual void* GetResource(void) = 0; + std::string GetName(void) { return mName; } + +private: + std::string mName; + +protected: + static int ExtractResource(ZipArchive* pZip, std::string folderName, std::string fileName, std::string fileExtn, std::string destFile); +}; + +typedef enum { + TOUCH_START = 0, + TOUCH_DRAG = 1, + TOUCH_RELEASE = 2, + TOUCH_HOLD = 3, + TOUCH_REPEAT = 4 +} TOUCH_STATE; + +class FontResource : public Resource +{ +public: + FontResource(xml_node<>* node, ZipArchive* pZip); + virtual ~FontResource(); + +public: + virtual void* GetResource(void) { return mFont; } + +protected: + void* mFont; +}; + +class ImageResource : public Resource +{ +public: + ImageResource(xml_node<>* node, ZipArchive* pZip); + virtual ~ImageResource(); + +public: + virtual void* GetResource(void) { return mSurface; } + +protected: + gr_surface mSurface; +}; + +class AnimationResource : public Resource +{ +public: + AnimationResource(xml_node<>* node, ZipArchive* pZip); + virtual ~AnimationResource(); + +public: + virtual void* GetResource(void) { return mSurfaces.at(0); } + virtual void* GetResource(int entry) { return mSurfaces.at(entry); } + virtual int GetResourceCount(void) { return mSurfaces.size(); } + +protected: + std::vector<gr_surface> mSurfaces; +}; + +class ResourceManager +{ +public: + ResourceManager(xml_node<>* resList, ZipArchive* pZip); + virtual ~ResourceManager(); + +public: + Resource* FindResource(std::string name); + +private: + std::vector<Resource*> mResources; +}; + +#endif // _RESOURCE_HEADER + |