diff options
author | Yann Herklotz <ymherklotz@gmail.com> | 2017-10-31 22:11:18 +0000 |
---|---|---|
committer | Yann Herklotz <ymherklotz@gmail.com> | 2017-10-31 22:11:18 +0000 |
commit | f776df6076725d14679b31168e3ede53c966182e (patch) | |
tree | b843d7ef0d0722a1b3571ee09aa1345d19c60e7f /yage/core/spritesheet.h | |
parent | 1bb0ef8960c71ef505a351702bec54c01ba15e22 (diff) | |
download | YAGE-f776df6076725d14679b31168e3ede53c966182e.tar.gz YAGE-f776df6076725d14679b31168e3ede53c966182e.zip |
renaming base folder
Diffstat (limited to 'yage/core/spritesheet.h')
-rw-r--r-- | yage/core/spritesheet.h | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/yage/core/spritesheet.h b/yage/core/spritesheet.h new file mode 100644 index 00000000..2ead0ba1 --- /dev/null +++ b/yage/core/spritesheet.h @@ -0,0 +1,64 @@ +/* ---------------------------------------------------------------------------- + * spritesheet.h + * + * Copyright (c) 2017 Yann Herklotz Grave <ymherklotz@gmail.com> + * MIT License, see LICENSE file for more details. + * ---------------------------------------------------------------------------- + */ + +/** @file + */ + +#ifndef YAGE_SPRITESHEET_H +#define YAGE_SPRITESHEET_H + +#include "texture.h" + +#include <rapidjson/reader.h> + +#include <map> +#include <string> + +namespace yage +{ + +namespace details +{ + +struct Coordinate { + int x; + int y; + int width; + int height; + + Coordinate() = default; + + 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) + { + } +}; + +typedef std::map<std::string, details::Coordinate> SpriteMap; + +} // namespace details + +class SpriteSheet +{ +public: + SpriteSheet(std::string pngFileName, std::string jsonFileName); + + void sprite(std::string spriteName) const; + std::string fileContent(std::string jsonFileName) const; + +private: + Texture texture_; + details::SpriteMap fileLocations_; + + details::SpriteMap parseJson(int &width, int &height, + std::string jsonContent) const; +}; + +} // namespace yage + +#endif |