23#define __WIZARD_ENGINE_INTERNAL__
27std::vector<wze::renderable*> wze::renderable::_instances = {};
29std::vector<wze::renderable*>
const& wze::renderable::instances() {
33SDL_FRect
const& wze::renderable::screen_area()
const {
37void wze::renderable::set_screen_area(SDL_FRect
const& screen_area) {
38 _screen_area = screen_area;
41float wze::renderable::screen_angle()
const {
45void wze::renderable::set_screen_angle(
float screen_angle) {
46 _screen_angle = screen_angle;
49wze::renderable::renderable() {
50 set_screen_area({0, 0, 0, 0});
52 _instances.push_back(
this);
55wze::renderable::renderable(renderable
const& other) {
57 _instances.push_back(
this);
60wze::renderable::~renderable() {
61 _instances.erase(std::find(instances().begin(), instances().end(),
this));
66 set_screen_area(other.screen_area());
67 set_screen_angle(other.screen_angle());
Interface to make an object renderable.