CEGUI::BaseDim Class Reference

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

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

Collaboration diagram for CEGUI::BaseDim:

Collaboration graph
[legend]

List of all members.

Public Member Functions

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

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(), clone_impl(), d_operand, and d_operator.

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 Rect container 
) const

Return a value that represents this dimension as absolute pixels.

Parameters:
wnd Window 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).
container Rect 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().

float CEGUI::BaseDim::getValue ( const Window wnd  )  const

Return a value that represents this dimension as absolute pixels.

Parameters:
wnd Window 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::PropertyDim::getValue_impl(), CEGUI::FontDim::getValue_impl(), CEGUI::WidgetDim::getValue_impl(), and CEGUI::ImageDim::getValue_impl().

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

Set the DimensionOperator set for this BaseDim based object.

Parameters:
op One 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:
operand sub-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_stream Stream 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 CEGUI::Dimension::writeXMLToStream(), and writeXMLToStream().


Generated on Thu Nov 27 20:34:40 2008 for Crazy Eddies GUI System by  doxygen 1.5.7.1