summaryrefslogtreecommitdiff
path: root/plugingui/widget.cc
diff options
context:
space:
mode:
Diffstat (limited to 'plugingui/widget.cc')
-rw-r--r--plugingui/widget.cc17
1 files changed, 7 insertions, 10 deletions
diff --git a/plugingui/widget.cc b/plugingui/widget.cc
index 9b766df..4b92e65 100644
--- a/plugingui/widget.cc
+++ b/plugingui/widget.cc
@@ -103,6 +103,8 @@ void Widget::resize(int width, int height)
_width = width;
_height = height;
pixbuf.realloc(width, height);
+
+ sizeChangeNotifier(width, height);
}
void Widget::move(size_t x, size_t y)
@@ -111,12 +113,12 @@ void Widget::move(size_t x, size_t y)
_y = y;
}
-size_t Widget::x()
+int Widget::x()
{
return _x;
}
-size_t Widget::y()
+int Widget::y()
{
return _y;
}
@@ -153,26 +155,21 @@ size_t Widget::windowY()
return window_y;
}
-Widget* Widget::find(size_t x, size_t y)
+Widget* Widget::find(int x, int y)
{
for(auto i = children.rbegin(); i != children.rend(); ++i)
{
Widget* widget = *i;
if(widget->visible())
{
- if((widget->x() <= x) && ((widget->x() + widget->width()) >= x) &&
- (widget->y() <= y) && ((widget->y() + widget->height()) >= y))
+ if((x >= widget->x()) && (x < (widget->x() + (int)widget->width())) &&
+ (y >= widget->y()) && (y < (widget->y() + (int)widget->height())))
{
return widget->find(x - widget->x(), y - widget->y());
}
}
}
- if((x > width()) || (y > height()))
- {
- return nullptr;
- }
-
return this;
}