From fb7542a5e7d390a20eefc946cc5054dc79d74180 Mon Sep 17 00:00:00 2001 From: Alexander Sulfrian Date: Thu, 22 Mar 2012 22:52:59 +0100 Subject: menu/container: clipping requires window coordinates glScissor only work with window coordinates. to calculate that a control has to know it position on the window and therefor the parent container have to track the position in the window --- src/menu/drawable_control.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/menu/drawable_control.cpp') diff --git a/src/menu/drawable_control.cpp b/src/menu/drawable_control.cpp index 00b6fa78..10da2bfc 100644 --- a/src/menu/drawable_control.cpp +++ b/src/menu/drawable_control.cpp @@ -81,8 +81,11 @@ namespace usdx clipping_lock.unlock(); boost::mutex::scoped_lock lock(size_mutex); - ClippingHelper clipping(Rectangle(position, size)); + Point offset(0, 0); + if (parent) + offset = parent->get_window_coords(); + ClippingHelper clipping(Rectangle(offset + position, size)); Drawable::repaint(); } else { -- cgit v1.2.3