Sprite.h 591 B

123456789101112131415161718192021222324252627282930
  1. #pragma once
  2. #include "RenderBuffer.h"
  3. #include "Vector.h"
  4. struct SpriteData {
  5. uint8_t width = 0;
  6. uint8_t height = 0;
  7. uint8_t *data = NULL;
  8. };
  9. class Sprite : public Buffer {
  10. const SpriteData *_icon;
  11. Vector anchor = {0.5, 0.5};
  12. public:
  13. DrawMode draw_mode;
  14. Sprite(const SpriteData *icon, DrawMode draw_mode);
  15. Sprite(const SpriteData &icon, DrawMode draw_mode);
  16. virtual ~Sprite() {
  17. FURI_LOG_D("App", "Sprite cleared");
  18. }
  19. const SpriteData *get_data() { return _icon; }
  20. void set_anchor(float x, float y);
  21. Vector get_offset();
  22. };