MWsAnimationScheduler Class Reference

class MWsAnimationScheduler : public MWsObjectProvider

A system mechanism for customising the animation timer to a particular hardware variant or to a particular external compositor e.g. an out-of-scene transition engine. The default animation scheduler in WSERV does not understand device-dependant parameters e.g. screen refresh rates

Inherits from

Member Functions Documentation

Animate(MWsScreen &)

IMPORT_C voidAnimate(MWsScreen &aScreen)[protected]

Calls the screen's OnAnimation() callback

Parameters

MWsScreen & aScreenthe screen to be called back

Animate(MWsScreen &, TRequestStatus *)

IMPORT_C voidAnimate(MWsScreen &aScreen,
TRequestStatus *aFinished
)[protected]

Calls the screen's OnAnimation() callback.

Parameters

MWsScreen & aScreenThe screen to be called back.
TRequestStatus * aFinishedIf not NULL, then this is signalled when the next (down stream) render stage is ready to recieve further updates. Note that it is valid to call Animate() again, before aFinished is signalled, but the render-stage pipeline may not be ready to recieve updates.

ClearScreenUpdateObserver(const MScreenUpdateObserver &)

voidClearScreenUpdateObserver(const MScreenUpdateObserver &aObserver)[pure virtual]

Callback to use if aObserver gets deleted before screen update takes place.

Parameters

const MScreenUpdateObserver & aObserver

DoRedrawNow(MWsScreen &)

voidDoRedrawNow(MWsScreen &aScreen)[pure virtual]

Called to force a previously scheduled redraw for a screen to happen immediately. Used when we are about to loose our ability to perform the redraw correctly.

Parameters

MWsScreen & aScreenthe screen to recieve the event

DoRedrawNow(MWsScreen &, MScreenUpdateObserver &)

voidDoRedrawNow(MWsScreen &aScreen,
MScreenUpdateObserver &aObserver
)[pure virtual]

Called to force a previously scheduled redraw for a screen to happen immediately.

Parameters

MWsScreen & aScreenthe screen to recieve the event
MScreenUpdateObserver & aObserverreference which will receive a notification when the screen has been updated

Invalidate(const TGraphicDrawerId &)

voidInvalidate(const TGraphicDrawerId &aId)[pure virtual]

Called to schedule the redrawing of all screens containing this graphic. The redrawing of affected screens can be deferred by the scheduler.

Parameters

const TGraphicDrawerId & aIdthe ID of the graphic to be redrawn. The graphic itself need not exist (e.g. it has just been deleted, hence the need to redraw all potentially affected screens).

OnActive()

voidOnActive()[pure virtual]

Called when the Window Server receives a TRawEvent::EActive event, to signal screen back on

OnInactive()

voidOnInactive()[pure virtual]

Called when the Window Server receives a TRawEvent::EInactive event, to signal power-saving

Redraw(MWsScreen &)

IMPORT_C voidRedraw(MWsScreen &aScreen)[protected]

Calls the screen's Redraw() method

Parameters

MWsScreen & aScreenthe screen to be redrawn

RedrawInvalid(MWsScreen &, const TArray< TGraphicDrawerId > &)

IMPORT_C TBoolRedrawInvalid(MWsScreen &aScreen,
const TArray< TGraphicDrawerId > &aInvalid
)[protected]

Calls the screen's RedrawInvalid() method

Parameters

MWsScreen & aScreenthe screen to be signalled to redraw any affected areas
const TArray< TGraphicDrawerId > & aInvalid

ScheduleAnimation(MWsScreen &, const TTime &)

voidScheduleAnimation(MWsScreen &aScreen,
const TTime &aWhen
)[pure virtual]

Called to schedule an animation event for a screen to occur not before some point A screen may be scheduled to animate several times without actually receiving an animation event from the scheduler If the scheduler cannot honour the request e.g. device constraints, it ignores the request.

Parameters

MWsScreen & aScreenthe screen to recieve the event
const TTime & aWhenthe point in time the event need not occur before

ScheduleRedraw(MWsScreen &, const TTime &)

voidScheduleRedraw(MWsScreen &aScreen,
const TTime &aWhen
)[pure virtual]

Called to schedule a redraw for a screen which is out of date A screen may be scheduled to redraw several times without actually receiving aredraw event from the scheduler If this request is ignored then the screen will be draw incorrectly untill a such a request is not ignored.

Parameters

MWsScreen & aScreenthe screen to recieve the event
const TTime & aWhenthe point in time the event need not occur before

UnscheduleAnimation(MWsScreen &)

voidUnscheduleAnimation(MWsScreen &aScreen)[pure virtual]

Called if a screen determines that it no longer needs to schedule any animation

Parameters

MWsScreen & aScreenthe screen not needing to receive any animation events