bwidgets/inc/basic_widgets/abstract/layout.hpp

28 lines
588 B
C++
Raw Normal View History

2021-06-08 14:30:38 +02:00
#ifndef LAYOUT_HPP
#define LAYOUT_HPP
#include <vector>
2021-07-09 13:50:17 +02:00
#include <basic_widgets/abstract/widget.hpp>
2021-06-08 14:30:38 +02:00
2021-07-10 19:55:53 +02:00
namespace bwidgets::abstract
2021-06-08 14:30:38 +02:00
{
2021-07-10 19:55:53 +02:00
class Layout : public abstract::Widget
{
protected:
2021-07-11 17:06:18 +02:00
int _interspace = 8;
2021-07-10 19:55:53 +02:00
std::vector<Widget*> _widgets;
2021-06-08 14:30:38 +02:00
2021-07-10 19:55:53 +02:00
virtual void _update_layout() = 0;
2021-06-08 14:30:38 +02:00
2021-07-10 19:55:53 +02:00
public:
virtual ~Layout();
virtual void add_widget(Widget*);
virtual void handle_event(const SDL_Event&);
virtual void render(SDL_Renderer*);
virtual void viewport(SDL_Rect);
};
}
2021-06-08 14:30:38 +02:00
#endif