diff --git a/widget.hpp b/widget.hpp
new file mode 100644
index 0000000000000000000000000000000000000000..02fa645d0af1f2a8e5595ca331e6eb9e752d1099
--- /dev/null
+++ b/widget.hpp
@@ -0,0 +1,25 @@
+#ifndef WIDGET_HPP
+#define WIDGET_HPP
+
+#include "graphics.hpp"
+
+class Alkalmazas;
+
+class Widget {
+protected:
+    int _x, _y;
+    int _meret_x, _meret_y;
+    Alkalmazas* _szulo;
+    bool _valtozott = true;
+
+public:
+    Widget(Alkalmazas* szulo, int x, int y, int meret_x, int meret_y);
+    virtual ~Widget() = default;
+
+    virtual bool kivalasztva(int eger_x, int eger_y);
+    virtual void rajzol() = 0;
+    virtual void kezel(genv::event ev) = 0;
+    virtual void rajzolBuffer(genv::canvas& cel);
+};
+
+#endif