From 884de984f36b63e50066554884865d426c2e2e32 Mon Sep 17 00:00:00 2001 From: Henrique Santiago Date: Sat, 26 Mar 2011 17:53:08 -0300 Subject: [PATCH] resource ls, init fonts --- src/framework/engine.cpp | 4 ++++ src/framework/fonts.cpp | 22 ++++++++++++++++++++++ src/framework/fonts.h | 27 +++++++++++++++++++++++++++ src/framework/resourcemanager.cpp | 12 ++++++++++++ src/framework/resourcemanager.h | 3 +++ 5 files changed, 68 insertions(+) create mode 100644 src/framework/fonts.cpp create mode 100644 src/framework/fonts.h diff --git a/src/framework/engine.cpp b/src/framework/engine.cpp index d7516a2b..1993d324 100644 --- a/src/framework/engine.cpp +++ b/src/framework/engine.cpp @@ -23,6 +23,7 @@ #include "engine.h" +#include "fonts.h" #include "platform.h" #include "graphics.h" #include "input.h" @@ -47,6 +48,9 @@ void Engine::init() // initialize graphics stuff g_graphics.init(); + // load fonts + g_fonts.load(); + // finally show the window onResize(Platform::getWindowWidth(), Platform::getWindowHeight()); } diff --git a/src/framework/fonts.cpp b/src/framework/fonts.cpp new file mode 100644 index 00000000..19f66633 --- /dev/null +++ b/src/framework/fonts.cpp @@ -0,0 +1,22 @@ +#include "fonts.h" +#include "resourcemanager.h" + +Fonts g_fonts; + +Fonts::Fonts() +{ +} + +Fonts::~Fonts() +{ +} + +bool Fonts::load() +{ + std::list files = g_resources.getDirectoryFiles("fonts"); + for(std::list::iterator it = files.begin(), end = files.end(); it != end; ++it) { + notice("File: %s", (*it).c_str()); + } + + return true; +} diff --git a/src/framework/fonts.h b/src/framework/fonts.h new file mode 100644 index 00000000..f68cd1c4 --- /dev/null +++ b/src/framework/fonts.h @@ -0,0 +1,27 @@ +#ifndef FONTS_H +#define FONTS_H + +#include "prerequisites.h" +#include "rect.h" + +struct Font +{ + + Rect textureArea[256]; +}; + +class Fonts +{ +public: + Fonts(); + ~Fonts(); + + bool load(); + +private: + std::map mFonts; +}; + +extern Fonts g_fonts; + +#endif // FONTS_H diff --git a/src/framework/resourcemanager.cpp b/src/framework/resourcemanager.cpp index 574c9b1a..011abd6e 100644 --- a/src/framework/resourcemanager.cpp +++ b/src/framework/resourcemanager.cpp @@ -117,3 +117,15 @@ bool ResourceManager::saveTextFile(const std::string &fileName, std::string text { return saveFile(fileName, (const unsigned char*)text.c_str(), text.size()); } + +std::list ResourceManager::getDirectoryFiles(const std::string& directory) +{ + std::list files; + char **rc = PHYSFS_enumerateFiles(directory.c_str()); + + for(char **i = rc; *i != NULL; i++) + files.push_back(*i); + + PHYSFS_freeList(rc); + return files; +} diff --git a/src/framework/resourcemanager.h b/src/framework/resourcemanager.h index 9333653c..66f43a17 100644 --- a/src/framework/resourcemanager.h +++ b/src/framework/resourcemanager.h @@ -63,6 +63,9 @@ public: /// Save a text file into write directory bool saveTextFile(const std::string &fileName, std::string text); + + /// Get a list with all files in a directory + std::list getDirectoryFiles(const std::string& directory); }; extern ResourceManager g_resources;