From ce83bbe3db755828faea0490ede53f8889ba0254 Mon Sep 17 00:00:00 2001 From: Alexander Sulfrian Date: Thu, 22 Mar 2012 22:39:19 +0100 Subject: menu/drawable_control: added size to controls and clip drawing if requested if requested (set_clipping_required) DrawableControl will use ClippingHelper to setup glScissor befor drawing the content. container will request clipping by default --- src/menu/drawable_control.hpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/menu/drawable_control.hpp') diff --git a/src/menu/drawable_control.hpp b/src/menu/drawable_control.hpp index e954f291..64bd5a24 100644 --- a/src/menu/drawable_control.hpp +++ b/src/menu/drawable_control.hpp @@ -34,6 +34,7 @@ #include "drawable.hpp" #include "control.hpp" #include "utils/point.hpp" +#include "utils/dimension.hpp" namespace usdx { @@ -45,8 +46,14 @@ namespace usdx static log4cpp::Category& log; Point position; + Dimension size; + + bool clipping_required; boost::mutex position_mutex; + boost::mutex size_mutex; + boost::mutex clipping_required_mutex; + protected: Container* parent; @@ -61,6 +68,9 @@ namespace usdx }; DrawableControl(Container*, const ContainerHelper&); + bool get_clipping_required(void) const; + void set_clipping_required(const bool); + public: DrawableControl(Container*); virtual ~DrawableControl(); @@ -73,6 +83,13 @@ namespace usdx const Point& get_position(void) const; int get_left(void) const; int get_top(void) const; + + void set_size(const Dimension& size); + void set_size(int width, int height); + + const Dimension& get_size(void) const; + int get_width(void) const; + int get_height(void) const; }; }; -- cgit v1.2.3