#include "guecs/sfml/backend.hpp" #include "guecs/sfml/shaders.hpp" #include "guecs/sfml/sound.hpp" #include "guecs/sfml/textures.hpp" namespace sfml { guecs::SpriteTexture Backend::get_sprite(const string& name) { auto sp = textures::get(name); return {sp.sprite, sp.texture, sp.frame_size}; } guecs::SpriteTexture Backend::get_icon(const string& name) { return get_sprite(name); } Backend::Backend() { sound::init(); shaders::init(); textures::init(); } void Backend::sound_play(const string& name) { sound::play(name); } void Backend::sound_stop(const string& name) { sound::stop(name); } std::shared_ptr Backend::get_shader(const std::string& name) { return shaders::get(name); } bool Backend::shader_updated() { if(shaders::updated($shaders_version)) { $shaders_version = shaders::version(); return true; } else { return false; } } guecs::Theme Backend::theme() { guecs::Theme theme; theme.PADDING = 3; theme.BORDER_PX = 1; theme.TEXT_SIZE = 30; theme.LABEL_SIZE = 20; theme.FILL_COLOR = theme.DARK_MID; theme.TEXT_COLOR = theme.LIGHT_LIGHT; theme.BG_COLOR = theme.DARK_DARK; theme.BORDER_COLOR = theme.DARK_LIGHT; theme.BG_COLOR_DARK = theme.BLACK; theme.FONT_FILE_NAME = "assets/text.otf"; return theme; } }