/* * Copyright 2006, Haiku Inc. * Distributed under the terms of the MIT License. */ #ifndef _ABSTRACT_LAYOUT_ITEM_H #define _ABSTRACT_LAYOUT_ITEM_H #include #include #include class BAbstractLayoutItem : public BLayoutItem { public: BAbstractLayoutItem(); virtual ~BAbstractLayoutItem(); virtual BSize MinSize(); virtual BSize MaxSize(); virtual BSize PreferredSize(); virtual BAlignment Alignment(); virtual void SetExplicitMinSize(BSize size); virtual void SetExplicitMaxSize(BSize size); virtual void SetExplicitPreferredSize(BSize size); virtual void SetExplicitAlignment(BAlignment alignment); virtual BSize BaseMinSize(); virtual BSize BaseMaxSize(); virtual BSize BasePreferredSize(); virtual BAlignment BaseAlignment(); private: BSize fMinSize; BSize fMaxSize; BSize fPreferredSize; BAlignment fAlignment; }; #endif // _ABSTRACT_LAYOUT_ITEM_H