Rapicorn - Experimental UI Toolkit - Source Code  13.07.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines
arrangementimpl.hh
Go to the documentation of this file.
00001  // Licensed GNU LGPL v3 or later: http://www.gnu.org/licenses/lgpl.html
00002 #ifndef __RAPICORN_ARRANGEMENT_IMPL_HH__
00003 #define __RAPICORN_ARRANGEMENT_IMPL_HH__
00004 
00005 #include <ui/arrangement.hh>
00006 #include <ui/container.hh>
00007 
00008 namespace Rapicorn {
00009 
00010 class ArrangementImpl : public virtual MultiContainerImpl, public virtual Arrangement {
00011   Point         origin_;
00012   float         origin_hanchor_;
00013   float         origin_vanchor_;
00014   Rect          child_area_;
00015 public:
00016   explicit                      ArrangementImpl         ();
00017   virtual                       ~ArrangementImpl        ();
00018   virtual double                xorigin                 () const                { return origin_.x; }
00019   virtual void                  xorigin                 (double v)              { origin_.x = v; invalidate(); }
00020   virtual double                yorigin                 () const                { return origin_.y; }
00021   virtual void                  yorigin                 (double v)              { origin_.y = v; invalidate(); }
00022   virtual float                 origin_hanchor          () const                { return origin_hanchor_; }
00023   virtual void                  origin_hanchor          (float align)           { origin_hanchor_ = align; invalidate(); }
00024   virtual float                 origin_vanchor          () const                { return origin_vanchor_; }
00025   virtual void                  origin_vanchor          (float align)           { origin_vanchor_ = align; invalidate(); }
00026   virtual Rect                  child_area              ();
00027 protected:
00028   virtual void                  size_request            (Requisition &requisition);
00029   virtual void                  size_allocate           (Allocation area, bool changed);
00030   Allocation                    local_child_allocation  (WidgetImpl &child,
00031                                                          double    width,
00032                                                          double    height);
00033 };
00034 
00035 } // Rapicorn
00036 
00037 #endif  /* __RAPICORN_ARRANGEMENT_IMPL_HH__ */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines