summaryrefslogtreecommitdiffstats
path: root/resources.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'resources.cpp')
-rw-r--r--resources.cpp280
1 files changed, 0 insertions, 280 deletions
diff --git a/resources.cpp b/resources.cpp
deleted file mode 100644
index 2f2ea95b0..000000000
--- a/resources.cpp
+++ /dev/null
@@ -1,280 +0,0 @@
-// resource.cpp - Source to manage GUI resources
-
-#include <stdarg.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <fcntl.h>
-#include <sys/reboot.h>
-#include <sys/stat.h>
-#include <sys/time.h>
-#include <sys/mman.h>
-#include <sys/types.h>
-#include <sys/ioctl.h>
-#include <time.h>
-#include <unistd.h>
-#include <stdlib.h>
-
-#include <string>
-#include <sstream>
-#include <iostream>
-#include <iomanip>
-
-extern "C" {
-#include "../common.h"
-#include "../minuitwrp/minui.h"
-#include "../recovery_ui.h"
-}
-
-#include "rapidxml.hpp"
-#include "objects.hpp"
-
-#define TMP_RESOURCE_NAME "/tmp/extract.bin"
-
-Resource::Resource(xml_node<>* node, ZipArchive* pZip)
-{
- if (node && node->first_attribute("name"))
- mName = node->first_attribute("name")->value();
-}
-
-
-int Resource::ExtractResource(ZipArchive* pZip,
- std::string folderName,
- std::string fileName,
- std::string fileExtn,
- std::string destFile)
-{
- if (!pZip) return -1;
-
- std::string src = folderName + "/" + fileName + fileExtn;
-
- const ZipEntry* binary = mzFindZipEntry(pZip, src.c_str());
- if (binary == NULL) {
- return -1;
- }
-
- unlink(destFile.c_str());
- int fd = creat(destFile.c_str(), 0666);
- if (fd < 0)
- return -1;
-
- int ret = 0;
- if (!mzExtractZipEntryToFile(pZip, binary, fd))
- ret = -1;
-
- close(fd);
- return ret;
-}
-
-FontResource::FontResource(xml_node<>* node, ZipArchive* pZip)
- : Resource(node, pZip)
-{
- std::string file;
-
- mFont = NULL;
- if (!node) return;
-
- if (node->first_attribute("filename"))
- file = node->first_attribute("filename")->value();
-
- if (ExtractResource(pZip, "fonts", file, ".dat", TMP_RESOURCE_NAME) == 0)
- {
- mFont = gr_loadFont(TMP_RESOURCE_NAME);
- unlink(TMP_RESOURCE_NAME);
- }
- else
- {
- mFont = gr_loadFont(file.c_str());
- }
-}
-
-FontResource::~FontResource()
-{
-}
-
-ImageResource::ImageResource(xml_node<>* node, ZipArchive* pZip)
- : Resource(node, pZip)
-{
- std::string file;
-
- mSurface = NULL;
- if (!node) return;
-
- if (node->first_attribute("filename"))
- file = node->first_attribute("filename")->value();
-
- if (ExtractResource(pZip, "images", file, ".png", TMP_RESOURCE_NAME) == 0)
- {
- res_create_surface(TMP_RESOURCE_NAME, &mSurface);
- unlink(TMP_RESOURCE_NAME);
- } else if (ExtractResource(pZip, "images", file, "", TMP_RESOURCE_NAME) == 0)
- {
- // JPG includes the .jpg extension in the filename so extension should be blank
- res_create_surface(TMP_RESOURCE_NAME, &mSurface);
- unlink(TMP_RESOURCE_NAME);
- }
- else
- res_create_surface(file.c_str(), &mSurface);
-}
-
-ImageResource::~ImageResource()
-{
- if (mSurface)
- res_free_surface(mSurface);
-}
-
-AnimationResource::AnimationResource(xml_node<>* node, ZipArchive* pZip)
- : Resource(node, pZip)
-{
- std::string file;
- int fileNum = 1;
-
- if (!node) return;
-
- if (node->first_attribute("filename"))
- file = node->first_attribute("filename")->value();
-
- for ( ; ; )
- {
- std::ostringstream fileName;
- fileName << file << std::setfill ('0') << std::setw (3) << fileNum;
-
- gr_surface surface;
- if (pZip)
- {
- if (ExtractResource(pZip, "images", fileName.str(), ".png", TMP_RESOURCE_NAME) != 0)
- break;
-
- if (res_create_surface(TMP_RESOURCE_NAME, &surface))
- break;
-
- unlink(TMP_RESOURCE_NAME);
- }
- else
- {
- if (res_create_surface(fileName.str().c_str(), &surface))
- break;
- }
- mSurfaces.push_back(surface);
- fileNum++;
- }
-}
-
-AnimationResource::~AnimationResource()
-{
- std::vector<gr_surface>::iterator it;
-
- for (it = mSurfaces.begin(); it != mSurfaces.end(); ++it)
- {
- res_free_surface(*it);
- }
- mSurfaces.clear();
-}
-
-Resource* ResourceManager::FindResource(std::string name)
-{
- std::vector<Resource*>::iterator iter;
-
- for (iter = mResources.begin(); iter != mResources.end(); iter++)
- {
- if (name == (*iter)->GetName())
- return (*iter);
- }
- return NULL;
-}
-
-ResourceManager::ResourceManager(xml_node<>* resList, ZipArchive* pZip)
-{
- xml_node<>* child;
-
- if (!resList) return;
-
- child = resList->first_node("resource");
- while (child != NULL)
- {
- xml_attribute<>* attr = child->first_attribute("type");
- if (!attr)
- break;
-
- std::string type = attr->value();
-
- if (type == "font")
- {
- FontResource* res = new FontResource(child, pZip);
- if (res == NULL || res->GetResource() == NULL)
- {
- xml_attribute<>* attr_name = child->first_attribute("name");
-
- if (!attr_name) {
- std::string res_name = attr_name->value();
- LOGE("Resource (%s)-(%s) failed to load\n", type.c_str(), res_name.c_str());
- } else
- LOGE("Resource type (%s) failed to load\n", type.c_str());
-
- delete res;
- }
- else
- {
- mResources.push_back((Resource*) res);
- }
- }
- else if (type == "image")
- {
- ImageResource* res = new ImageResource(child, pZip);
- if (res == NULL || res->GetResource() == NULL)
- {
- xml_attribute<>* attr_name = child->first_attribute("name");
-
- if (!attr_name) {
- std::string res_name = attr_name->value();
- LOGE("Resource (%s)-(%s) failed to load\n", type.c_str(), res_name.c_str());
- } else
- LOGE("Resource type (%s) failed to load\n", type.c_str());
-
- delete res;
- }
- else
- {
- mResources.push_back((Resource*) res);
- }
- }
- else if (type == "animation")
- {
- AnimationResource* res = new AnimationResource(child, pZip);
- if (res == NULL || res->GetResource() == NULL)
- {
- xml_attribute<>* attr_name = child->first_attribute("name");
-
- if (!attr_name) {
- std::string res_name = attr_name->value();
- LOGE("Resource (%s)-(%s) failed to load\n", type.c_str(), res_name.c_str());
- } else
- LOGE("Resource type (%s) failed to load\n", type.c_str());
-
- delete res;
- }
- else
- {
- mResources.push_back((Resource*) res);
- }
- }
- else
- {
- LOGE("Resource type (%s) not supported.\n", type.c_str());
- }
-
- child = child->next_sibling("resource");
- }
-}
-
-ResourceManager::~ResourceManager()
-{
- std::vector<Resource*>::iterator iter;
-
- for (iter = mResources.begin(); iter != mResources.end(); iter++)
- {
- delete *iter;
- }
- mResources.clear();
-}
-