From 51a0e82eb29a6dfc79f93479883383fbdbf8bcc2 Mon Sep 17 00:00:00 2001 From: Dees_Troy Date: Wed, 5 Sep 2012 15:24:24 -0400 Subject: TWRP-ify AOSP code Pull in most TWRP sources Stub out partition management code Make it compile -- probably will not boot Kind of a mess but have to start somewhere --- gui/resources.hpp | 87 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 gui/resources.hpp (limited to 'gui/resources.hpp') 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 mSurfaces; +}; + +class ResourceManager +{ +public: + ResourceManager(xml_node<>* resList, ZipArchive* pZip); + virtual ~ResourceManager(); + +public: + Resource* FindResource(std::string name); + +private: + std::vector mResources; +}; + +#endif // _RESOURCE_HEADER + -- cgit v1.2.3