32 lines
804 B
C++
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
|