diff --git a/oswidget.cpp b/oswidget.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..e13290a11118db697bc2671e88c7f267b6009300
--- /dev/null
+++ b/oswidget.cpp
@@ -0,0 +1,10 @@
+#include "oswidget.hpp"
+
+OSWidget::OSWidget(Window* window, int pos_x, int pos_y, int width, int height)
+    : _window(window), _pos_x(pos_x), _pos_y(pos_y), _width(width), _height(height) {}
+
+bool OSWidget::is_selected(int mouse_x, int mouse_y) {
+    return (mouse_x >= _pos_x && mouse_x <= _pos_x + _width &&
+            mouse_y >= _pos_y && mouse_y <= _pos_y + _height);
+}
+