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)

voidAttributeChanged(const MWsWindowTreeNode &aWindowTreeNode,
TAttributesaAttribute
)[pure virtual]

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

Parameters

const MWsWindowTreeNode & aWindowTreeNodeUse to identify the affected node and query the new value of the changed attribute.
TAttributes aAttributeThe attribute that has changed.

ElementAdded(const MWsWindowTreeNode &, const MWsElement &)

voidElementAdded(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 & aWindowTreeNodeUse to query attributes of the node that has been changed.
const MWsElement & aElementUse to query attributes of the new element.

FadeAllChildren(const MWsWindowTreeNode &, TBool)

voidFadeAllChildren(const MWsWindowTreeNode &aWindowTreeNode,
TBoolaFaded
)[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 & aWindowTreeNodeTypically a root window, for which all children should have their fade state set to aFaded.
TBool aFadedThe new fade state to apply. ETrue means faded, EFalse not faded.

FadeCountChanged(const MWsWindowTreeNode &, TInt)

voidFadeCountChanged(const MWsWindowTreeNode &aWindowTreeNode,
TIntaFadeCount
)[pure virtual]

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

Parameters

const MWsWindowTreeNode & aWindowTreeNodeUse to query attributes of the node that has been changed.
TInt aFadeCountZero 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)

voidFlagChanged(const MWsWindowTreeNode &aWindowTreeNode,
TFlagsaFlag,
TBoolaNewValue
)[pure virtual]

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

Parameters

const MWsWindowTreeNode & aWindowTreeNodeUse to query attributes of the node that has been changed.
TFlags aFlagThe attribute that has changed.
TBool aNewValueThe new value for the attribute.

MovedToWindowGroup(const MWsWindowTreeNode &, const MWsWindowTreeNode &)

voidMovedToWindowGroup(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 & aWindowTreeNodeUse to query attributes of the node that has been moved.
const MWsWindowTreeNode & aNewWindowGroupNodeThe window group aWindowTreeNode has been moved to.

NodeActivated(const MWsWindowTreeNode &)

voidNodeActivated(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 & aWindowTreeNodeUse to query attributes of node that has been activated.

NodeCreated(const MWsWindowTreeNode &, const MWsWindowTreeNode *)

voidNodeCreated(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 & aWindowTreeNodeUse 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 * aParentThe 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 &)

voidNodeExtentChanged(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 & aWindowTreeNodeUse to query attributes of the node that has been changed.
const TRect & aRectThe new rectangle.

NodeReleased(const MWsWindowTreeNode &)

voidNodeReleased(const MWsWindowTreeNode &aWindowTreeNode)[pure virtual]

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

Parameters

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

SiblingOrderChanged(const MWsWindowTreeNode &, TInt)

voidSiblingOrderChanged(const MWsWindowTreeNode &aWindowTreeNode,
TIntaNewPos
)[pure virtual]

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

Parameters

const MWsWindowTreeNode & aWindowTreeNodeUse to query attributes of the node that has been changed..
TInt aNewPosThe new position of this node among its siblings.

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

voidTransparentRegionChanged(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 & aWindowTreeNodeUse to query attributes of the node that has been changed.
const TRegion & aNewTransparentRegionThe transparent region defined by the user. Coordinates are relative the window's origin.
const TRegion * aNewOpaqueRegionThe inverse of aNewTransparentRegion. Coordinates are relative the window's origin.

WindowGroupChainBrokenAfter(const MWsWindowTreeNode &)

voidWindowGroupChainBrokenAfter(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 & aWindowGroupNodeThe window group chain is broken directly after this window group.

WindowGroupChained(const MWsWindowTreeNode &, const MWsWindowTreeNode &)

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

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

Parameters

const MWsWindowTreeNode & aParentThe window group node to which a child has been attached.
const MWsWindowTreeNode & aChildThe 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.