Crazy Eddies GUI System  0.6.0
Public Member Functions | Protected Member Functions | List of all members
CEGUI::BaseDim Class Referenceabstract

Abstract interface for a generic 'dimension' class. More...

Inherited by CEGUI::AbsoluteDim, CEGUI::FontDim, CEGUI::ImageDim, CEGUI::PropertyDim, CEGUI::UnifiedDim, and CEGUI::WidgetDim.

Public Member Functions

float getValue (const Window &wnd) const
 Return a value that represents this dimension as absolute pixels. More...
 
float getValue (const Window &wnd, const Rect &container) const
 Return a value that represents this dimension as absolute pixels. More...
 
BaseDimclone () const
 Create an exact copy of the specialised class and return it as a pointer to a BaseDim object. More...
 
DimensionOperator getDimensionOperator () const
 Return the DimensionOperator set for this BaseDim based object. More...
 
void setDimensionOperator (DimensionOperator op)
 Set the DimensionOperator set for this BaseDim based object. More...
 
const BaseDimgetOperand () const
 Return a pointer to the BaseDim set to be used as the other operand. More...
 
void setOperand (const BaseDim &operand)
 Set the BaseDim set to be used as the other operand in calculations for this BaseDim. More...
 
void writeXMLToStream (XMLSerializer &xml_stream) const
 Writes an xml representation of this BaseDim to out_stream. More...
 

Protected Member Functions

virtual float getValue_impl (const Window &wnd) const =0
 Implementataion method to return the base value for this BaseDim. This method should not attempt to apply the mathematical operator; this is handled automatically.
 
virtual float getValue_impl (const Window &wnd, const Rect &container) const =0
 Implementataion method to return the base value for this BaseDim. This method should not attempt to apply the mathematical operator; this is handled automatically by BaseDim.
 
virtual BaseDimclone_impl () const =0
 Implementataion method to return a clone of this sub-class of BaseDim. This method should not attempt to clone the mathematical operator or operand; theis is handled automatically by BaseDim.
 
virtual void writeXMLElementName_impl (XMLSerializer &xml_stream) const =0
 Implementataion method to output real xml element name.
 
virtual void writeXMLElementAttributes_impl (XMLSerializer &xml_stream) const =0
 Implementataion method to create the element attributes.
 

Detailed Description

Abstract interface for a generic 'dimension' class.

Member Function Documentation

BaseDim * CEGUI::BaseDim::clone ( ) const

Create an exact copy of the specialised class and return it as a pointer to a BaseDim object.

Since the system needs to be able to copy objects derived from BaseDim, but only
has knowledge of the BaseDim interface, this clone method is provided to prevent
slicing issues.
Returns
BaseDim object pointer

References clone(), and clone_impl().

Referenced by clone(), CEGUI::Dimension::Dimension(), CEGUI::Dimension::operator=(), CEGUI::Dimension::setBaseDimension(), and setOperand().

DimensionOperator CEGUI::BaseDim::getDimensionOperator ( ) const

Return the DimensionOperator set for this BaseDim based object.

Returns
One of the DimensionOperator enumerated values representing a mathematical operation to be performed upon this BaseDim using the set operand.
const BaseDim * CEGUI::BaseDim::getOperand ( ) const

Return a pointer to the BaseDim set to be used as the other operand.

Returns
Pointer to the BaseDim object.
float CEGUI::BaseDim::getValue ( const Window wnd) const

Return a value that represents this dimension as absolute pixels.

Parameters
wndWindow object that may be used by the specialised class to aid in calculating the final value.
Returns
float value which represents, in pixels, the same value as this BaseDim.

References CEGUI::DOP_ADD, CEGUI::DOP_DIVIDE, CEGUI::DOP_MULTIPLY, CEGUI::DOP_SUBTRACT, getValue(), and getValue_impl().

Referenced by CEGUI::ComponentArea::getPixelRect(), getValue(), CEGUI::ImageDim::getValue_impl(), CEGUI::WidgetDim::getValue_impl(), CEGUI::FontDim::getValue_impl(), and CEGUI::PropertyDim::getValue_impl().

float CEGUI::BaseDim::getValue ( const Window wnd,
const Rect container 
) const

Return a value that represents this dimension as absolute pixels.

Parameters
wndWindow object that may be used by the specialised class to aid in calculating the final value (typically would be used to obtain window/widget dimensions).
containerRect object which describes an area to be considered as the base area when calculating the final value. Basically this means that relative values are calculated from the dimensions of this Rect.
Returns
float value which represents, in pixels, the same value as this BaseDim.

References CEGUI::DOP_ADD, CEGUI::DOP_DIVIDE, CEGUI::DOP_MULTIPLY, CEGUI::DOP_SUBTRACT, getValue(), and getValue_impl().

void CEGUI::BaseDim::setDimensionOperator ( DimensionOperator  op)

Set the DimensionOperator set for this BaseDim based object.

Parameters
opOne of the DimensionOperator enumerated values representing a mathematical operation to be performed upon this BaseDim using the set operand.
Returns
Nothing.
void CEGUI::BaseDim::setOperand ( const BaseDim operand)

Set the BaseDim set to be used as the other operand in calculations for this BaseDim.

Parameters
operandsub-class of BaseDim representing the 'other' operand. The given object will be cloned; no transfer of ownership occurrs for the passed object.
Returns
Nothing.

References clone().

void CEGUI::BaseDim::writeXMLToStream ( XMLSerializer xml_stream) const

Writes an xml representation of this BaseDim to out_stream.

Parameters
xml_streamStream where xml data should be output.
Returns
Nothing.

References CEGUI::XMLSerializer::attribute(), CEGUI::XMLSerializer::closeTag(), CEGUI::XMLSerializer::openTag(), writeXMLElementAttributes_impl(), writeXMLElementName_impl(), and writeXMLToStream().

Referenced by writeXMLToStream(), and CEGUI::Dimension::writeXMLToStream().