MWsWindowTreeObserver Class Reference

class MWsWindowTreeObserver : public MWsObjectProvider

An interface optionally provided by render stages, to observe changes in window tree structure, or changes to tree nodes.

Inherits from

Member Functions Documentation

AttributeChanged(const MWsWindowTreeNode &, TAttributes)

void AttributeChanged ( const MWsWindowTreeNode & aWindowTreeNode,
TAttributes aAttribute
) [pure virtual]

Callback to notify that a node has had one of its non-boolean attributes changed.

Parameters

const MWsWindowTreeNode & aWindowTreeNode Use to identify the affected node and query the new value of the changed attribute.
TAttributes aAttribute The attribute that has changed.

ElementAdded(const MWsWindowTreeNode &, const MWsElement &)

void ElementAdded ( const MWsWindowTreeNode & aWindowTreeNode,
const MWsElement & aElement
) [pure virtual]

Callback to notify that a element has been added to this window. The render stages implementing this interface know when elements are added or removed through MWsElement interface. The purpose of the ElementAdded API is only to enable render stages to make an association between the element and the window.

Parameters

const MWsWindowTreeNode & aWindowTreeNode Use to query attributes of the node that has been changed.
const MWsElement & aElement Use to query attributes of the new element.

FadeAllChildren(const MWsWindowTreeNode &, TBool)

void FadeAllChildren ( const MWsWindowTreeNode & aWindowTreeNode,
TBool aFaded
) [pure virtual]

Callback to notify that all nodes below aWindowTreeNode should be drawn faded, unless they have the ENonFading flag set. This API is primarily used in conjunction with application frameworks that uses absolute fading rather than counting fade.

Parameters

const MWsWindowTreeNode & aWindowTreeNode Typically a root window, for which all children should have their fade state set to aFaded.
TBool aFaded The new fade state to apply. ETrue means faded, EFalse not faded.

FadeCountChanged(const MWsWindowTreeNode &, TInt)

void FadeCountChanged ( const MWsWindowTreeNode & aWindowTreeNode,
TInt aFadeCount
) [pure virtual]

Callback to notify that a window's fade count has been changed.

Parameters

const MWsWindowTreeNode & aWindowTreeNode Use to query attributes of the node that has been changed.
TInt aFadeCount Zero means the window is not faded, an integer > 0 means faded if absolute fading is used, or the number of times SetFaded has been called if using counting fade.

FlagChanged(const MWsWindowTreeNode &, TFlags, TBool)

void FlagChanged ( const MWsWindowTreeNode & aWindowTreeNode,
TFlags aFlag,
TBool aNewValue
) [pure virtual]

Callback to notify that a node has had one of its boolean attributes changed.

Parameters

const MWsWindowTreeNode & aWindowTreeNode Use to query attributes of the node that has been changed.
TFlags aFlag The attribute that has changed.
TBool aNewValue The new value for the attribute.

MovedToWindowGroup(const MWsWindowTreeNode &, const MWsWindowTreeNode &)

void MovedToWindowGroup ( const MWsWindowTreeNode & aWindowTreeNode,
const MWsWindowTreeNode & aNewWindowGroupNode
) [pure virtual]

Callback to notify that a window has been moved to another window group. RWindowBase::MoveToGroup

Parameters

const MWsWindowTreeNode & aWindowTreeNode Use to query attributes of the node that has been moved.
const MWsWindowTreeNode & aNewWindowGroupNode The window group aWindowTreeNode has been moved to.

NodeActivated(const MWsWindowTreeNode &)

void NodeActivated ( const MWsWindowTreeNode & aWindowTreeNode ) [pure virtual]

Callback to notify that a node in the window tree has been activated. This event is only generated for windows which has a visual appearance (i.e. root windows and group windows are not activated). Before a node can be drawn it needs to be activated and visible and have a non-zero size.

Parameters

const MWsWindowTreeNode & aWindowTreeNode Use to query attributes of node that has been activated.

NodeCreated(const MWsWindowTreeNode &, const MWsWindowTreeNode *)

void NodeCreated ( const MWsWindowTreeNode & aWindowTreeNode,
const MWsWindowTreeNode * aParent
) [pure virtual]

Callback to notify that a MWsWindowTreeNode has just been created. Nodes are always added as the left-most sibling as this means they are added in front of exisitng nodes.

Parameters

const MWsWindowTreeNode & aWindowTreeNode Use to query attributes of the node that has been created. Note that attributes such as e.g. the extent is not yet set by the client when this notification arrives.
const MWsWindowTreeNode * aParent The parent node which aWindowTreeNode has been attached to. Special cases: aParent will be set to NULL for root windows, and set to the root window for floating sprites.

NodeExtentChanged(const MWsWindowTreeNode &, const TRect &)

void NodeExtentChanged ( const MWsWindowTreeNode & aWindowTreeNode,
const TRect & aRect
) [pure virtual]

Callback to notify that a node's extent has changed. It is guaranteed that there will be at least one NodeExtentChanged notification between the NodeCreated and NodeActivated notifications. Note that when a window has child-windows, those are always moving along with their parent but no NodeExtentChanged notifications will be generated for the child-windows.

Parameters

const MWsWindowTreeNode & aWindowTreeNode Use to query attributes of the node that has been changed.
const TRect & aRect The new rectangle.

NodeReleased(const MWsWindowTreeNode &)

void NodeReleased ( const MWsWindowTreeNode & aWindowTreeNode ) [pure virtual]

Callback to notify that a node in the window tree is about to be destroyed.

Parameters

const MWsWindowTreeNode & aWindowTreeNode Use to query attributes of node that's about to be destroyed.

SiblingOrderChanged(const MWsWindowTreeNode &, TInt)

void SiblingOrderChanged ( const MWsWindowTreeNode & aWindowTreeNode,
TInt aNewPos
) [pure virtual]

Callback to notify that the ordinal position of a window has changed.

Parameters

const MWsWindowTreeNode & aWindowTreeNode Use to query attributes of the node that has been changed..
TInt aNewPos The new position of this node among its siblings.

TransparentRegionChanged(const MWsWindowTreeNode &, const TRegion &, const TRegion *)

void TransparentRegionChanged ( const MWsWindowTreeNode & aWindowTreeNode,
const TRegion & aNewTransparentRegion,
const TRegion * aNewOpaqueRegion
) [pure virtual]

Callback to notify that the user defined transparent region of a window has changed. This information is for optimisation purpose only, the rendering engine don't need to do a full back-to-front rendering behind the opaque region.

Parameters

const MWsWindowTreeNode & aWindowTreeNode Use to query attributes of the node that has been changed.
const TRegion & aNewTransparentRegion The transparent region defined by the user. Coordinates are relative the window's origin.
const TRegion * aNewOpaqueRegion The inverse of aNewTransparentRegion. Coordinates are relative the window's origin.

WindowGroupChainBrokenAfter(const MWsWindowTreeNode &)

void WindowGroupChainBrokenAfter ( const MWsWindowTreeNode & aWindowGroupNode ) [pure virtual]

Callback to notify that a window group chain has been broken. Special case: Deleting a window group that is part of a chain will break all chaining after the deleted window group and a notification for each node being dequed will be sent.

Parameters

const MWsWindowTreeNode & aWindowGroupNode The window group chain is broken directly after this window group.

WindowGroupChained(const MWsWindowTreeNode &, const MWsWindowTreeNode &)

void WindowGroupChained ( const MWsWindowTreeNode & aParent,
const MWsWindowTreeNode & aChild
) [pure virtual]

Callback to notify that a window group chain has been formed or extended.

Parameters

const MWsWindowTreeNode & aParent The window group node to which a child has been attached.
const MWsWindowTreeNode & aChild The window group node that has been attached to aParent.

Member Enumerations Documentation

Enum TAttributes

This enum encapsulates the set of non-boolean attribute changes that can be observed using the MWsWindowTreeObserver interface. AttributeChanged

Enumerators

ECursorType = 1

Cursor type. MWsStandardTextCursor::Type()

ECursorClipRect

Cursor clip rect. MWsStandardTextCursor::ClipRect()

ECursorFlags

Cursor flags. MWsStandardTextCursor::Flags()

ECursorColor

Cursor color. MWsStandardTextCursor::Color()

EWindowShape

Window shape. MWsWindow::WindowArea()

EWindowGroupName

Window group name MWsWindowGroup::Name()

Enum TFlags

This enum encapsulates the set of boolean attribute changes that can be observed using the MWsWindowTreeObserver interface. FlagChanged

Enumerators

EVisible = 1

For a window to be drawn, it needs to be activated and visible and have visible parents. Making a window invisible, implies that its children should be invisible as well. The default value for a window is true.

ENonFading

Non-fading windows should not be drawn faded regardless of their fade-count. The default value is false.

EAlphaChannelTransparencyEnabled

Windows with this attribute enabled uses alpha channel to control its transparency. The default value is false.

ECursorClipRectSet

True if a clipping rect should be applied when drawing a standard text cursor, false otherwise. The default value is false.