/****************************************************************************** BaseDim ******************************************************************************/ class BaseDim { tolua_throws|CEGUI::InvalidRequestException,error| float getValue(const Window& wnd) const; tolua_throws|CEGUI::InvalidRequestException,error| float getValue(const Window& wnd, const Rect& container) const; BaseDim* clone() const; DimensionOperator getDimensionOperator() const; void setDimensionOperator(DimensionOperator op); const BaseDim* getOperand() const; void setOperand(const BaseDim& operand); //void writeXMLToStream(OutStream& out_stream) const; }; /****************************************************************************** AbsoluteDim ******************************************************************************/ class AbsoluteDim : public BaseDim { void setValue(float val); AbsoluteDim(float val); }; /****************************************************************************** ImageDim ******************************************************************************/ class ImageDim : public BaseDim { void setSourceImage(string imageset, string image); void setSourceDimension(DimensionType dim); ImageDim(string imageset, string image, DimensionType dim); }; /****************************************************************************** WidgetDim ******************************************************************************/ class WidgetDim : public BaseDim { void setWidgetName(string name); void setSourceDimension(DimensionType dim); WidgetDim(string name, DimensionType dim); }; /****************************************************************************** UnifiedDim ******************************************************************************/ class UnifiedDim : public BaseDim { UnifiedDim(const UDim& value, DimensionType dim); }; /****************************************************************************** FontDim ******************************************************************************/ class FontDim : public BaseDim { FontDim(string name, string font, string text, FontMetricType metric, float padding = 0); }; /****************************************************************************** PropertyDim ******************************************************************************/ class PropertyDim : public BaseDim { PropertyDim(string name, string property, DimensionType type); }; /****************************************************************************** Dimension ******************************************************************************/ class Dimension { const BaseDim& getBaseDimension() const; void setBaseDimension(const BaseDim& dim); DimensionType getDimensionType() const; void setDimensionType(DimensionType type); //Dimension& operator=(const Dimension& other); //void writeXMLToStream(OutStream& out_stream) const; Dimension(const BaseDim& dim, DimensionType type); Dimension(const Dimension& other); Dimension(); }; /****************************************************************************** ComponentArea ******************************************************************************/ class ComponentArea { Rect getPixelRect(const Window& wnd) const; Rect getPixelRect(const Window& wnd, const Rect& container) const; //void writeXMLToStream(OutStream& out_stream) const; bool isAreaFetchedFromProperty() const; string getAreaPropertySource() const; void setAreaPropertySource(string property); Dimension d_left; Dimension d_top; Dimension d_right_or_width; Dimension d_bottom_or_height; ComponentArea(); };