×
Namespaces

Variants
Actions

How to get ReDraw event in exe from window server?

From Nokia Developer Wiki
Jump to: navigation, search
Article Metadata
Article
Created: savaj (08 Mar 2009)
Last edited: hamishwillee (09 Feb 2012)


Why it is required?
When you draw something in exe (without CONE environment), you will not get redraw event automatically. It is required because when some part of your rect gets invalid than you have to validate it again. Possible cases when your rect might get invalid are opening other aap, receive call, receive SMS etc.

How to implement it?
We have to request redraw events from the window server, we can do this by the RedrawReady method of window server. We also need to create an active object for redraw events.

CMyReDraw::CMyReDraw(RWsSession& aWsSession): CActive(CActive::EPriorityStandard), iWsSession(aWsSession)
{
CActiveScheduler::Add(this);
 
iStatus = KRequestPending;
//iWsSession is your window server session and assuming u have created it.
iWsSession.RedrawReady(&iStatus);
SetActive();
}
 
CMyReDraw::~CMyReDraw()
{
Cancel();
}
 
void CMyReDraw::RunL()
{
TWsRedrawEvent e;
//GetRedraw will give you redraw event
iWsSession.GetRedraw(e);
 
//you can call your drawing function here.
 
iStatus = KRequestPending;
//you should not call RedrawReady again until you've either called GetRedraw() or RedrawReadyCancel().
iWsSession.RedrawReady(&iStatus);
SetActive();
}
 
void CMyReDraw::DoCancel()
{
iWsSession.RedrawReadyCancel();
}


Related Links:

This page was last modified on 9 February 2012, at 07:33.
30 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×