aboutsummaryrefslogtreecommitdiff
path: root/src/crepe/api/Sprite.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/crepe/api/Sprite.h')
-rw-r--r--src/crepe/api/Sprite.h26
1 files changed, 21 insertions, 5 deletions
diff --git a/src/crepe/api/Sprite.h b/src/crepe/api/Sprite.h
index 580f825..b06125e 100644
--- a/src/crepe/api/Sprite.h
+++ b/src/crepe/api/Sprite.h
@@ -1,16 +1,32 @@
#pragma once
-#include <string>
+#include <SDL2/SDL_rect.h>
+#include <cstdint>
+#include <memory>
-#include "../Component.h"
+#include "api/Color.h"
+#include "api/Texture.h"
+
+#include "Component.h"
namespace crepe::api {
+struct FlipSettings {
+ bool flip_x = 1;
+ bool flip_y = 1;
+};
+
class Sprite : public Component {
-public:
- Sprite(std::string path);
- std::string path;
+public:
+ Sprite(uint32_t game_id, std::shared_ptr<Texture> image,
+ const Color & color, const FlipSettings & flip);
+ ~Sprite();
+ std::shared_ptr<Texture> sprite_image;
+ Color color;
+ FlipSettings flip;
+ uint8_t sorting_in_layer;
+ uint8_t order_in_layer;
};
} // namespace crepe::api