chainreaction/layer.hpp

32 lines
804 B
C++

#ifndef LAYER_HPP
#define LAYER_HPP
#include <functional>
#include <basic_widgets/w/feat/font_handler.hpp>
#include <basic_widgets/w/base/widget.hpp>
union SDL_Event;
struct SDL_Rect;
struct SDL_Renderer;
namespace game::ui
{
class Layer : public bwidgets::widget::Widget,
public bwidgets::widget::FontHandler
{
protected:
virtual void _for_widgets(std::function<void (bwidgets::widget::Widget&)>) = 0;
virtual void _handle_font_change(bwidgets::core::Font*) override;
virtual void _handle_renderer_change(bwidgets::core::Renderer*) override;
virtual void _handle_rendering() override;
public:
Layer(Widget* parent=nullptr);
virtual Layer* handle_event(const SDL_Event&) override;
};
}
#endif