1 /* 2 * Copyright 2006, Haiku Inc. 3 * Distributed under the terms of the MIT License. 4 */ 5 #ifndef _ABSTRACT_LAYOUT_ITEM_H 6 #define _ABSTRACT_LAYOUT_ITEM_H 7 8 #include <Alignment.h> 9 #include <LayoutItem.h> 10 #include <Size.h> 11 12 13 class BAbstractLayoutItem : public BLayoutItem { 14 public: 15 BAbstractLayoutItem(); 16 virtual ~BAbstractLayoutItem(); 17 18 virtual BSize MinSize(); 19 virtual BSize MaxSize(); 20 virtual BSize PreferredSize(); 21 virtual BAlignment Alignment(); 22 23 virtual void SetExplicitMinSize(BSize size); 24 virtual void SetExplicitMaxSize(BSize size); 25 virtual void SetExplicitPreferredSize(BSize size); 26 virtual void SetExplicitAlignment(BAlignment alignment); 27 28 virtual BSize BaseMinSize(); 29 virtual BSize BaseMaxSize(); 30 virtual BSize BasePreferredSize(); 31 virtual BAlignment BaseAlignment(); 32 33 private: 34 BSize fMinSize; 35 BSize fMaxSize; 36 BSize fPreferredSize; 37 BAlignment fAlignment; 38 }; 39 40 #endif // _ABSTRACT_LAYOUT_ITEM_H 41