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 void Animate ( MWsScreen & aScreen ) [protected]

Calls the screen's OnAnimation() callback

Parameters

MWsScreen & aScreen the screen to be called back

Animate(MWsScreen &, TRequestStatus *)

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

Calls the screen's OnAnimation() callback.

Parameters

MWsScreen & aScreen The screen to be called back.
TRequestStatus * aFinished If 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 &)

void ClearScreenUpdateObserver ( const MScreenUpdateObserver & aObserver ) [pure virtual]

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

Parameters

const MScreenUpdateObserver & aObserver

DoRedrawNow(MWsScreen &)

void DoRedrawNow ( 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 & aScreen the screen to recieve the event

DoRedrawNow(MWsScreen &, MScreenUpdateObserver &)

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

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

Parameters

MWsScreen & aScreen the screen to recieve the event
MScreenUpdateObserver & aObserver reference which will receive a notification when the screen has been updated

Invalidate(const TGraphicDrawerId &)

void Invalidate ( 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 & aId the 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()

void OnActive ( ) [pure virtual]

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

OnInactive()

void OnInactive ( ) [pure virtual]

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

Redraw(MWsScreen &)

IMPORT_C void Redraw ( MWsScreen & aScreen ) [protected]

Calls the screen's Redraw() method

Parameters

MWsScreen & aScreen the screen to be redrawn

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

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

Calls the screen's RedrawInvalid() method

Parameters

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

ScheduleAnimation(MWsScreen &, const TTime &)

void ScheduleAnimation ( 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 & aScreen the screen to recieve the event
const TTime & aWhen the point in time the event need not occur before

ScheduleRedraw(MWsScreen &, const TTime &)

void ScheduleRedraw ( 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 & aScreen the screen to recieve the event
const TTime & aWhen the point in time the event need not occur before

UnscheduleAnimation(MWsScreen &)

void UnscheduleAnimation ( MWsScreen & aScreen ) [pure virtual]

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

Parameters

MWsScreen & aScreen the screen not needing to receive any animation events