diff --git a/widget.hpp b/widget.hpp new file mode 100644 index 0000000000000000000000000000000000000000..c2a6e392fa5b96c247411d11fe907f44878dbf56 --- /dev/null +++ b/widget.hpp @@ -0,0 +1,20 @@ +#ifndef WIDGET_HPP +#define WIDGET_HPP + + +#include "graphics.hpp" + +class Widget { +protected: + int x, y, width, height; + bool selected; +public: + Widget(int x_, int y_, int w_, int h_); + virtual void draw() const = 0; + virtual void handle(genv::event ev) = 0; + virtual bool is_selected(int mx, int my) const; + virtual void set_focus(bool f); + virtual ~Widget() {} +}; + +#endif