TGulAlignment Class Reference

#include <mw/gulalign.h>

Link against: egul.lib

class TGulAlignment

Detailed Description

Provides a convenient way to describe horizontal and vertical layouts of rectangular objects and to enquire how they occupy an area given their alignment.

Constructor & Destructor Documentation

TGulAlignment ( )

TGulAlignment()[inline]

Default constructor.

TGulAlignment ( TGulAlignmentValue )

TGulAlignment(TGulAlignmentValueaValue)[inline]

Constructor initialising the object with an alignment value.

ParameterDescription
aValueThe alignment value.

TGulAlignment ( CGraphicsContext::TTextAlign, TGulVAlignment )

TGulAlignment(CGraphicsContext::TTextAlignaHAlign,
TGulVAlignmentaVAlign = EVTop
)[inline]

Constructor initialising the object with an alignment value.

ParameterDescription
aHAlignThe horizontal alignment value.
aVAlignThe vertical alignment value.

Member Function Documentation

HAlignment ( )

TGulHAlignment HAlignment()const [inline]

Gets the absolute horizontal alignment.

Note that this is the alignment in absolute terms. I.e. left and right alignment will not be swapped depending on language directionality.

Returns: Horizontal alignment.

HAlignment ( TBidiText::TDirectionality )

IMPORT_C TGulHAlignmentHAlignment(TBidiText::TDirectionalityaLanguageDirectionality)const

Return the horizontal alignment, relative to the language directionality specified. Calling this method will return a horizontal alignment where left and right has been swapped for any language with RightToLeft directionality, UNLESS the alignment has been set as being absolute, by calling SetAbsoluteHAlignment().

ParameterDescription
aLanguageDirectionalityThe language directionality to consider when swapping left and right.

Returns: The horizontal alignment, taking language directionality into account.

HasAbsoluteHAlignment ( )

IMPORT_C TBoolHasAbsoluteHAlignment()const

Return whether horizontal alignment will be treated as an absolute value, or relative the specified language directionality. In the latter case, left and right will be swapped (by TGulAlignment methods for which a TBidiText::TDirectionality is provided) for languages with RightToLeft directionality.

InnerRect ( const TRect &, const TSize & )

IMPORT_C TRectInnerRect(const TRect &aOuter,
const TSize &aInnerSize
)const

Gets the rectangle occupied by an object of size aInnerSize, which is placed in the area of the rectangle aOuter according to the current alignment.

Note that horizontal alignment is always treated as being in absolute terms.

ParameterDescription
aOuterThe outer rectangle.
aInnerSizeThe size of the inner rectangle.

Returns: The rectangle.

InnerRect ( const TRect &, const TSize &, TBidiText::TDirectionality )

IMPORT_C TRectInnerRect(const TRect &aOuter,
const TSize &aInnerSize,
TBidiText::TDirectionalityaLanguageDirectionality
)const

Gets the rectangle occupied by an object of size aInnerSize, which is placed in the area of the rectangle aOuter according to the current alignment.

Note that if RightToLeft language directionality is specified, left and right horizontal alignment for the inner object will be swapped.

ParameterDescription
aOuterThe outer rectangle.
aInnerSizeThe size of the inner rectangle.
aLanguageDirectionalityThe language directionality to consider when swapping left and right.

Returns: The rectangle.

InnerTopLeft ( const TRect &, const TSize & )

IMPORT_C TPointInnerTopLeft(const TRect &aOuter,
const TSize &aInnerSize
)const

Gets the co-ordinates of the top left corner of an object of size aInnerSize, which is placed in the area of the rectangle aOuter according to the current alignment.

Note that horizontal alignment is always treated as being in absolute terms.

ParameterDescription
aOuterThe outer rectangle.
aInnerSizeThe size of the inner rectangle.

Returns: The inner top left point.

InnerTopLeft ( const TRect &, const TSize &, TBidiText::TDirectionality )

IMPORT_C TPointInnerTopLeft(const TRect &aOuter,
const TSize &aInnerSize,
TBidiText::TDirectionalityaLanguageDirectionality
)const

Gets the co-ordinates of the top left corner of an object of size aInnerSize, which is placed in the area of the rectangle aOuter according to the current alignment.

Note that if RightToLeft language directionality is specified, left and right horizontal alignment for the inner object will be swapped.

ParameterDescription
aOuterThe outer rectangle.
aInnerSizeThe size of the inner rectangle.
aLanguageDirectionalityThe language directionality to consider when swapping left and right.

Returns: The inner top left point.

ParaAlign ( )

IMPORT_C CParaFormat::TAlignmentParaAlign()const

Return the horizontal alignment as a CParaFormat::TAlignment object. Note that the CParaFormat::TAlignment class supports the concept of horizontal absolute alignment, so left and right alignment will not be swapped.

Returns: The horizontal alignment, including whether it's absolute or not.

SetAbsoluteHAlignment ( TBool )

IMPORT_C voidSetAbsoluteHAlignment(TBoolaAbsoluteHAlignment)

Set the current horizontal alignment to be used as an absolute value. If set to true, this means that the alignment will NOT be swapped depending on language directionality when calling e.g. HAlignment(TBidiText::TDirectionality).

Note that the default is false (i.e. relative alignment), and calling any of the setters on the TGulAlignment object will reset it to relative alignment (i.e. always call this method after the horizontal alignment has been set).

Also note that support for absolute horizontal alignment was added to TGulAlignment late in Symbian OS release 9.1. Hence if this method is called on an object that is passed to a client compiled against an earlier release (or if the client does not yet support absolute alignment) then the resulting alignment may be incorrect.

SetHAlignment ( TGulHAlignment )

IMPORT_C voidSetHAlignment(TGulHAlignmentaHAlign)

Sets the horizontal alignment. Alignment will be reset to relative. I.e. when calling HAlignment() with a TBidiText::ERightToLeft argument, left and right will be swapped. Calling HAlignment() without argument will always return the alignment in absolute terms.

ParameterDescription
aHAlignThe horizontal alignment.

SetHAlignment ( CGraphicsContext::TTextAlign )

IMPORT_C voidSetHAlignment(CGraphicsContext::TTextAlignaHAlign)

Sets the horizontal alignment. Alignment will be reset to relative. I.e. when calling HAlignment() with a TBidiText::ERightToLeft argument, left and right will be swapped. Calling HAlignment() without argument will always return the alignment in absolute terms.

ParameterDescription
aHAlignThe horizontal alignment.

SetHAlignment ( CParaFormat::TAlignment )

IMPORT_C voidSetHAlignment(CParaFormat::TAlignmentaHAlign)

Sets the horizontal alignment. Alignment will be set to absolute for EAbsoluteLeftAlign and EAbsoluteRightAlign, otherwise relative the language directionality (if specified).

ParameterDescription
aHAlignThe horizontal alignment.

SetVAlignment ( TGulVAlignment )

IMPORT_C voidSetVAlignment(TGulVAlignmentaVAlign)

Sets the vertical alignment.

ParameterDescription
aVAlignThe vertical alignment.

TextAlign ( )

CGraphicsContext::TTextAlign TextAlign()const [inline]

Gets the absolute horizontal text alignment.

Note that this is the alignment in absolute terms. I.e. left and right alignment will not be swapped depending on language directionality.

Returns: The horizontal text alignment.

TextAlign ( TBidiText::TDirectionality )

IMPORT_C CGraphicsContext::TTextAlignTextAlign(TBidiText::TDirectionalityaLanguageDirectionality)const

Return the horizontal alignment, relative to the language directionality specified. Calling this method will return a horizontal alignment where left and right has been swapped for any language with RightToLeft directionality, UNLESS the alignment has been set as being absolute, by calling SetAbsoluteHAlignment().

ParameterDescription
aLanguageDirectionalityThe language directionality to consider when swapping left and right.

Returns: The horizontal alignment, taking language directionlity into account.

VAlignment ( )

TGulVAlignment VAlignment()const [inline]

Gets the vertical alignment.

Returns: Vertical alignment.

operator TGulAlignmentValue ( )

IMPORT_Coperator TGulAlignmentValue()const

Gets the (absolute) alignment value as TGulAlignmentValue.

Note that this has the absolute horizontal alignment. I.e. left and right horizontal alignment will not be swapped depending on language directionality.