CartoType API
Public Member Functions
CartoType::TTransform Class Reference

#include <cartotype_transform.h>

List of all members.

Public Member Functions

 TTransform ()
bool IsIdentity () const
void SetIdentity ()
TFixed A () const
TFixed B () const
TFixed C () const
TFixed D () const
TFixed Tx () const
TFixed Ty () const
CT_IMPORT TTransform (TFixed aA, TFixed aB, TFixed aC, TFixed aD, TFixed aTx, TFixed aTy)
CT_IMPORT bool operator== (const TTransform &aTransform) const
bool operator!= (const TTransform &aTransform) const
CT_IMPORT void Concat (const TTransform &aTransform)
CT_IMPORT void Transform (TPoint &aPoint) const
CT_IMPORT void TransformPointIn64ths (TPoint &aPoint) const
CT_IMPORT void Transform (TFixed &aX, TFixed &aY) const
void Transform (TPointFixed &aPoint) const
CT_IMPORT void ExtractScale (TFixed &aXScale, TFixed &aYScale)
CT_IMPORT void Rotate (TFixed aX, TFixed aY)
CT_IMPORT void Scale (TFixed aXScale, TFixed aYScale)
CT_IMPORT void Translate (TFixed aXOffset, TFixed aYOffset)
CT_IMPORT TResult Invert ()
int32 Type () const

Detailed Description

A two-dimensional affine transform. The parameter names A, B, C, D, Tx, Ty are those used in the PostScript Language Reference Manual.


Constructor & Destructor Documentation

CartoType::TTransform::TTransform ( ) [inline]

Create an identity transform.

CT_EXPORT TTransform::TTransform ( TFixed  aA,
TFixed  aB,
TFixed  aC,
TFixed  aD,
TFixed  aTx,
TFixed  aTy 
)

Create a transform by specifying all six parameters.


Member Function Documentation

TFixed CartoType::TTransform::A ( ) const [inline]

Return the A (x scale) parameter.

TFixed CartoType::TTransform::B ( ) const [inline]

Return the B (y shear) parameter.

TFixed CartoType::TTransform::C ( ) const [inline]

Return the C (x shear) parameter.

CT_EXPORT void TTransform::Concat ( const TTransform aTransform)

Set the transform to the result of concatenating aTransform to it.

TFixed CartoType::TTransform::D ( ) const [inline]

Return the D (y scale) parameter.

CT_EXPORT void TTransform::ExtractScale ( TFixed aXScale,
TFixed aYScale 
)

Remove the non-negative scale components from a transform and return them in aXScale and aYScale. There is no unique way of doing this, but the method chosen here minimises shear and prefers to decompose into scale plus rotation.

CT_EXPORT TResult TTransform::Invert ( )

Invert a transform if it is invertible. If not, convert the transform to the identity transform and return KErrorNoInverse.

bool CartoType::TTransform::IsIdentity ( ) const [inline]

Return true if the transform is identity (has no effect).

bool CartoType::TTransform::operator!= ( const TTransform aTransform) const [inline]

The inequality operator.

CT_EXPORT bool TTransform::operator== ( const TTransform aTransform) const

The equality operator.

CT_EXPORT void TTransform::Rotate ( TFixed  aX,
TFixed  aY 
)

Rotate a transform by the amount defined by the vector (aX,aY), where zero rotation is the vector (1,0);

CT_EXPORT void TTransform::Scale ( TFixed  aXScale,
TFixed  aYScale 
)

Scale a transform by aXScale and aYScale. Do nothing if either XScale or YScale is zero.

void CartoType::TTransform::SetIdentity ( ) [inline]

Set the transform to identity.

CT_EXPORT void TTransform::Transform ( TPoint aPoint) const

Transform a point.

CT_EXPORT void TTransform::Transform ( TFixed aX,
TFixed aY 
) const

Transform a point specified as two fixed-point numbers.

void CartoType::TTransform::Transform ( TPointFixed aPoint) const [inline]

Transform a TPointFixed object in place.

CT_EXPORT void TTransform::TransformPointIn64ths ( TPoint aPoint) const

Transform a point in 64ths of pixels, the offsets in the transform itself being in pixels.

CT_EXPORT void TTransform::Translate ( TFixed  aXOffset,
TFixed  aYOffset 
)

Translate a transform by aXOffset and aYOffset.

TFixed CartoType::TTransform::Tx ( ) const [inline]

Return the TX (x translation) parameter.

TFixed CartoType::TTransform::Ty ( ) const [inline]

Return the TY (y translation) parameter.


The documentation for this class was generated from the following files: