feat: added ui_draw

main
Sara 2025-01-27 00:42:32 +01:00
parent 4f6d68c503
commit b294a76cc9
2 changed files with 10 additions and 0 deletions

View File

@ -34,6 +34,10 @@ void Level::propagate_draw(SDL_Renderer *render) {
0.5f / this->view_transform.scale.x, 0.5f / this->view_transform.scale.x,
0.5f / this->view_transform.scale.y * ratio 0.5f / this->view_transform.scale.y * ratio
}) * this->view_transform * screen_transform); }) * this->view_transform * screen_transform);
this->root->propagate_draw_ui(render, Transform().translated({
0.5f / this->view_transform.scale.x,
0.5f / this->view_transform.scale.y * ratio
}) * screen_transform);
} }
Node *Level::get_root() { Node *Level::get_root() {

View File

@ -2,6 +2,7 @@
#define CANVAS_LEVEL_HPP #define CANVAS_LEVEL_HPP
#include "node.hpp" #include "node.hpp"
#include <memory>
namespace ce { namespace ce {
class Level { class Level {
@ -19,6 +20,7 @@ public:
void deinstantiate(); void deinstantiate();
void propagate_tick(double delta_time); void propagate_tick(double delta_time);
void propagate_draw(SDL_Renderer *render); void propagate_draw(SDL_Renderer *render);
template<class TLevel, typename... TArgs> static std::unique_ptr<Level> make(TArgs... args);
Node *get_root(); Node *get_root();
bool is_instantiated() const; bool is_instantiated() const;
@ -27,6 +29,10 @@ public:
protected: protected:
Node::OwnedPtr &get_owned_root(); Node::OwnedPtr &get_owned_root();
}; };
template<class TLevel, typename... TArgs> std::unique_ptr<Level> Level::make(TArgs... args) {
return std::unique_ptr<Level>(new TLevel(args...));
}
} }
#endif // !CANVAS_LEVEL_HPP #endif // !CANVAS_LEVEL_HPP