feat: added ui_draw
parent
4f6d68c503
commit
b294a76cc9
|
@ -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() {
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue