Crazy Eddie's GUI System  0.8.4
CEGUI::OperatorDim Class Reference

Dimension type that represents the result of an operation performed on two other dimension values. Implements BaseDim interface. More...

+ Inheritance diagram for CEGUI::OperatorDim:
+ Collaboration diagram for CEGUI::OperatorDim:

List of all members.

Public Member Functions

 OperatorDim (DimensionOperator op)
 OperatorDim (DimensionOperator op, BaseDim *left, BaseDim *right)
void setLeftOperand (const BaseDim *operand)
 set the left hand side operand (passed object is cloned)
BaseDimgetLeftOperand () const
 return pointer to the left hand side operand
void setRightOperand (const BaseDim *operand)
 set the right hand side operand (passed object is cloned)
BaseDimgetRightOperand () const
 return pointer to the right hand side operand
void setOperator (DimensionOperator op)
 Set the operation to be performed.
DimensionOperator getOperator () const
 Get the current operation that will be performed.
void setNextOperand (const BaseDim *operand)
 helper to set the next free operand, will throw after 2 are set
float getValue (const Window &wnd) const
 Return a value that represents this dimension as absolute pixels.
float getValue (const Window &wnd, const Rectf &container) const
 Return a value that represents this dimension as absolute pixels.
BaseDimclone () const
 Create an exact copy of the specialised object and return it as a pointer to a BaseDim object.

Protected Member Functions

float getValueImpl (const float lval, const float rval) const
void writeXMLToStream (XMLSerializer &xml_stream) const
 Writes an xml representation of this BaseDim to out_stream.
void writeXMLElementName_impl (XMLSerializer &xml_stream) const
 Implementataion method to output real xml element name.
void writeXMLElementAttributes_impl (XMLSerializer &xml_stream) const
 Implementataion method to create the element attributes.

Protected Attributes

BaseDimd_left
BaseDimd_right
DimensionOperator d_op

Detailed Description

Dimension type that represents the result of an operation performed on two other dimension values. Implements BaseDim interface.


Member Function Documentation

BaseDim* CEGUI::OperatorDim::clone ( ) const [virtual]

Create an exact copy of the specialised object 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.

Implements CEGUI::BaseDim.

float CEGUI::OperatorDim::getValue ( const Window wnd) const [virtual]

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.

Implements CEGUI::BaseDim.

float CEGUI::OperatorDim::getValue ( const Window wnd,
const Rectf container 
) const [virtual]

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.

Implements CEGUI::BaseDim.

void CEGUI::OperatorDim::writeXMLToStream ( XMLSerializer xml_stream) const [protected, virtual]

Writes an xml representation of this BaseDim to out_stream.

Parameters:
xml_streamStream where xml data should be output.

Reimplemented from CEGUI::BaseDim.

 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends