29 #ifndef _CEGUILayoutContainer_h_
30 #define _CEGUILayoutContainer_h_
32 #include "../Window.h"
37 # pragma warning(push)
38 # pragma warning(disable : 4251)
84 void markNeedsLayouting();
90 bool needsLayouting()
const;
96 virtual void layout() = 0;
103 virtual void layoutIfNecessary();
106 virtual void update(
float elapsed);
108 virtual const CachedRectf& getClientChildContentArea()
const;
110 virtual void notifyScreenAreaChanged(
bool recursive);
114 virtual Rectf getUnclippedInnerRect_impl(
bool skipAllPixelAlignment)
const;
116 Rectf getClientChildContentArea_impl(
bool skipAllPixelAlignment)
const;
118 size_t getIdxOfChild(
Window* wnd)
const;
121 virtual void addChild_impl(
Element* element);
123 virtual void removeChild_impl(
Element* element);
137 virtual bool handleChildSized(
const EventArgs& e);
148 virtual bool handleChildMarginChanged(
const EventArgs& e);
159 virtual bool handleChildAdded(
const EventArgs& e);
170 virtual bool handleChildRemoved(
const EventArgs& e);
191 bool d_needsLayouting;
193 typedef std::multimap<Window*, Event::Connection> ConnectionTracker;
197 CachedRectf d_clientChildContentArea;
202 #if defined(_MSC_VER)
203 # pragma warning(pop)
206 #endif // end of guard _CEGUILayoutContainer_h_