aboutsummaryrefslogtreecommitdiffstats
path: root/src/menu/drawable_control.cpp
diff options
context:
space:
mode:
authorAlexander Sulfrian <alexander@sulfrian.net>2012-03-22 22:52:59 +0100
committerAlexander Sulfrian <alexander@sulfrian.net>2013-01-13 22:40:51 +0100
commitfb7542a5e7d390a20eefc946cc5054dc79d74180 (patch)
tree164c6640dfbb0be0b260cd6fb709477e6d753f58 /src/menu/drawable_control.cpp
parentb44ac46e4e54f228fd9c25c042da2efd2ab45b64 (diff)
downloadusdx-fb7542a5e7d390a20eefc946cc5054dc79d74180.tar.gz
usdx-fb7542a5e7d390a20eefc946cc5054dc79d74180.tar.xz
usdx-fb7542a5e7d390a20eefc946cc5054dc79d74180.zip
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
Diffstat (limited to '')
-rw-r--r--src/menu/drawable_control.cpp5
1 files changed, 4 insertions, 1 deletions
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<int>(position, size));
+ Point<int> offset(0, 0);
+ if (parent)
+ offset = parent->get_window_coords();
+ ClippingHelper clipping(Rectangle<int>(offset + position, size));
Drawable::repaint();
}
else {