#include "../../include/gui/CustomRendererWidget.hpp" #include namespace gsr { CustomRendererWidget::CustomRendererWidget(mgl::vec2f size) : size(size) {} bool CustomRendererWidget::on_event(mgl::Event &event, mgl::Window &window, mgl::vec2f offset) { if(!visible || !event_handler) return true; return event_handler(event, window, position + offset, size); } void CustomRendererWidget::draw(mgl::Window &window, mgl::vec2f offset) { if(!visible) return; const mgl::vec2f draw_pos = position + offset; const mgl::Scissor prev_scissor = window.get_scissor(); window.set_scissor({draw_pos.to_vec2i(), size.to_vec2i()}); if(draw_handler) draw_handler(window, draw_pos, size); window.set_scissor(prev_scissor); } mgl::vec2f CustomRendererWidget::get_size() { if(!visible) return {0.0f, 0.0f}; return size; } void CustomRendererWidget::set_size(mgl::vec2f size) { this->size = size; } }