aboutsummaryrefslogtreecommitdiffstats
path: root/yage/base
diff options
context:
space:
mode:
Diffstat (limited to 'yage/base')
-rw-r--r--yage/base/spritesheet.h26
-rw-r--r--yage/base/texture.h5
2 files changed, 30 insertions, 1 deletions
diff --git a/yage/base/spritesheet.h b/yage/base/spritesheet.h
index 2b70ad8b..dbde07c0 100644
--- a/yage/base/spritesheet.h
+++ b/yage/base/spritesheet.h
@@ -11,13 +11,37 @@
#include "texture.h"
+#include <map>
+#include <string>
+
namespace yage
{
+namespace
+{
+
+struct Coordinate {
+ int x;
+ int y;
+ int width;
+ int height;
+
+ Coordinate(int x_i, int y_i, int width_i, int height_i)
+ : x(x_i), y(y_i), width(width_i), height(height_i)
+ {
+ }
+};
+
+} // namespace
+
class SpriteSheet
{
+public:
+ SpriteSheet(std::string pngFileName, std::string jsonFileName);
+
private:
- Texture texture_;
+ Texture texture_;
+ std::map<std::string, Coordinate> fileLocations_;
};
} // namespace yage
diff --git a/yage/base/texture.h b/yage/base/texture.h
index d1fdcbf2..3688bf04 100644
--- a/yage/base/texture.h
+++ b/yage/base/texture.h
@@ -18,6 +18,11 @@ struct Texture {
GLuint id;
int width;
int height;
+
+ Texture(GLuint id_i, int width_i, int height_i)
+ : id(id_i), width(width_i), height(height_i)
+ {
+ }
};
} // namespace yage