30 #ifndef _CEGUILayoutContainer_h_
31 #define _CEGUILayoutContainer_h_
33 #include "../Window.h"
38 # pragma warning(push)
39 # pragma warning(disable : 4251)
85 void markNeedsLayouting();
91 bool needsLayouting()
const;
97 virtual void layout() = 0;
104 virtual void layoutIfNecessary();
107 virtual void update(
float elapsed);
109 virtual const CachedRectf& getClientChildContentArea()
const;
111 virtual void notifyScreenAreaChanged(
bool recursive);
115 virtual Rectf getUnclippedInnerRect_impl(
bool skipAllPixelAlignment)
const;
117 Rectf getClientChildContentArea_impl(
bool skipAllPixelAlignment)
const;
119 size_t getIdxOfChild(
Window* wnd)
const;
122 virtual void addChild_impl(
Element* element);
124 virtual void removeChild_impl(
Element* element);
138 virtual bool handleChildSized(
const EventArgs& e);
149 virtual bool handleChildMarginChanged(
const EventArgs& e);
160 virtual bool handleChildAdded(
const EventArgs& e);
171 virtual bool handleChildRemoved(
const EventArgs& e);
192 bool d_needsLayouting;
194 typedef std::multimap<Window*, Event::Connection> ConnectionTracker;
198 CachedRectf d_clientChildContentArea;
203 #if defined(_MSC_VER)
204 # pragma warning(pop)
207 #endif // end of guard _CEGUILayoutContainer_h_