summaryrefslogtreecommitdiffstats
path: root/gui/resources.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'gui/resources.hpp')
-rw-r--r--gui/resources.hpp24
1 files changed, 17 insertions, 7 deletions
diff --git a/gui/resources.hpp b/gui/resources.hpp
index cc5e7b6ff..69d24279f 100644
--- a/gui/resources.hpp
+++ b/gui/resources.hpp
@@ -17,8 +17,8 @@ public:
virtual ~Resource() {}
public:
- virtual void* GetResource(void) = 0;
- std::string GetName(void) { return mName; }
+ std::string GetName() { return mName; }
+ virtual bool loadedOK() = 0;
private:
std::string mName;
@@ -44,7 +44,10 @@ public:
virtual ~FontResource();
public:
- virtual void* GetResource(void) { return mFont; }
+ void* GetResource() { return this ? mFont : NULL; }
+ int GetHeight() { return gr_getMaxFontHeight(this ? mFont : NULL); }
+
+ virtual bool loadedOK() { return mFont != NULL; }
protected:
void* mFont;
@@ -58,7 +61,11 @@ public:
virtual ~ImageResource();
public:
- virtual void* GetResource(void) { return mSurface; }
+ gr_surface GetResource() { return this ? mSurface : NULL; }
+ int GetWidth() { return gr_get_width(this ? mSurface : NULL); }
+ int GetHeight() { return gr_get_height(this ? mSurface : NULL); }
+
+ virtual bool loadedOK() { return mSurface != NULL; }
protected:
gr_surface mSurface;
@@ -71,9 +78,12 @@ public:
virtual ~AnimationResource();
public:
- virtual void* GetResource(void) { return mSurfaces.empty() ? NULL : mSurfaces.at(0); }
- virtual void* GetResource(int entry) { return mSurfaces.empty() ? NULL : mSurfaces.at(entry); }
- virtual int GetResourceCount(void) { return mSurfaces.size(); }
+ gr_surface GetResource() { return (!this || mSurfaces.empty()) ? NULL : mSurfaces.at(0); }
+ gr_surface GetResource(int entry) { return (!this || mSurfaces.empty()) ? NULL : mSurfaces.at(entry); }
+ int GetWidth() { return gr_get_width(this ? GetResource() : NULL); }
+ int GetHeight() { return gr_get_height(this ? GetResource() : NULL); }
+ int GetResourceCount() { return mSurfaces.size(); }
+ virtual bool loadedOK() { return !mSurfaces.empty(); }
protected:
std::vector<gr_surface> mSurfaces;