TTmDocPos Class Reference

#include <tagma.h>

Link against: tagma.lib

class TTmDocPos
Public Attributes
TBool iLeadingEdge
TInt iPos
Public Member Functions
TTmDocPos()
TTmDocPos(TInt, TBool)
TBool operator!=(const TTmDocPos &)
TBool operator<(const TTmDocPos &)
TBool operator<=(const TTmDocPos &)
IMPORT_C TBooloperator==(const TTmDocPos &)
IMPORT_C TBooloperator>(const TTmDocPos &)
IMPORT_C TBooloperator>=(const TTmDocPos &)

Detailed Description

A structure for holding a raw document position that can be converted to or from an x-y position and compared ordinally, which cannot be done with the more abstract TTmDocPosSpec class. Leading edges are distinguished from trailing edges so that bidirectional hit testing and cursor positioning can distinguish between 'after character N', and 'before character N + 1', which may be some distance apart if N and N + 1 are in runs of opposite directionality.

Member Attribute Documentation

iLeadingEdge

TBool iLeadingEdge

true if the position is a leading edge

iPos

TInt iPos

the edge position in the document; 0 ... document length

Constructor & Destructor Documentation

TTmDocPos ( )

TTmDocPos()[inline]

Constructs a TTmDocPos object, setting iPos to 0 and iLeadingEdge to false. This is the lowest legal value for a TTmDocPos object. A trailing edge comes before a leading edge because it is the trailing edge of the character before the position, while the leading edge is that of the character after the position. ('Leading' means the first to be encountered when traversing the document in logical order).

TTmDocPos ( TInt, TBool )

TTmDocPos(TIntaPos,
TBoolaLeadingEdge
)[inline]

Constructs a TTmDocPos object, setting iPos to aPos and iLeadingEdge to aLeadingEdge.

Member Function Documentation

operator!= ( const TTmDocPos & )

TBool operator!=(const TTmDocPos &aPos)const [inline]

The not equal operator.

Return Value
True if both sides have different values.

operator< ( const TTmDocPos & )

TBool operator<(const TTmDocPos &aPos)const [inline]

Smaller than operator.

Return Value
True if the right side of the operator is further on in the document than the left hand side.

operator<= ( const TTmDocPos & )

TBool operator<=(const TTmDocPos &aPos)const [inline]

Smaller than or equal to operator.

Return Value
True if the right side of the operator is further on in the document than the left hand side or if both sides are identical.

operator== ( const TTmDocPos & )

IMPORT_C TBooloperator==(const TTmDocPos &aPos)const

The equality operator.

Return Value
True if both sides are identical.

operator> ( const TTmDocPos & )

IMPORT_C TBooloperator>(const TTmDocPos &aPos)const

Greater than operator.

Return Value
True if the left side of the operator is further on in the document than the right hand side.

operator>= ( const TTmDocPos & )

IMPORT_C TBooloperator>=(const TTmDocPos &aPos)const

Greater than or equal to operator.

Return Value
True if the left side of the operator is further on in the document than the right hand side or if both sides are identical.