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.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/crepe/api/Sprite.h b/src/crepe/api/Sprite.h
new file mode 100644
index 0000000..b06125e
--- /dev/null
+++ b/src/crepe/api/Sprite.h
@@ -0,0 +1,32 @@
+#pragma once
+
+#include <SDL2/SDL_rect.h>
+#include <cstdint>
+#include <memory>
+
+#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(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