How does RBackedupWindow interact with app Menu??

Login to reply to this topic.
Thu, 2007-03-15 15:58
Joined: 2006-07-26
Forum posts: 27
Hi Experts,

I used

CCoeControl->CreateBackedupWindowL(CCoeEnv::Static->Rootwin());

to create the backedup windows for a control. Then I render the picture to the backedup bitmap and update to the screen.

But when I pop up the menu of the application, the menu will be covered by the backedup window.

How to let the backedup window interact with the menu properly? It will be much better if the menu can cover the backedup window and at the same time system will still render the picture on the screen.

Thank you in advance.

Taking you forward.


Thu, 2007-03-15 17:06
Joined: 2004-11-29
Forum posts: 1155
Re: How does RBackedupWindow interact with app Menu??
We have never got RBackedUpWindow to behave in any sane way, for the usecase you describe.

I would recommend using your own offscreen bitmap, and draw that one through the normal CWindowGc of your control.

That is the most compatible way to do it, and will always work on any phone.

For the blitting to be as efficient as possible, you should make sure the bitmap has the same displaymode as the screen.

If this really is not enough you could consider useing DSA to track your windows visible region, and blit directly to the screen. (as opposed to telling the wserv through IPC, that it should blit your bitmap to the screen as in above)

DSA can though be tricky to get right though, and could also interfere with other stuff in the phone wanting to use DSA.

I recommend the first solution, and it should be enough for almost all applications.
performance difference is not much compared to DSA as long as you don't rewrite your blitting routines to something faster then what is normally given by CFbsBitGc.
Or if you have a render engine that can draw regions and not only rects, you could also gain some on skipping the copying totally and draw directly too screen.
Though, this has also implications, somtimes (depening on what you draw and how, and how caches are configured) it might be faster to draw to a bitmap and copy to screen, then do draw to screen.

All these above methods does though have one problem in common: Tearing.

If you want to get rid of tearing too, you have no choice but to use CDirectScreenBitmap.
CDirectScreenBitmap is supposed to be used with DSA, though you will notice that the DSB interface isn't really compatible with DSA and regions, just rects..  But as long as you only draw fullscreen or in a rect it is usable. Also, there is issues in getting the framerate over 18fps, without some advanced active object programming...

Good luck Smiley
Thu, 2007-03-15 18:10
Joined: 2006-07-26
Forum posts: 27
Re: How does RBackedupWindow interact with app Menu??
Thank you! Your reply is very helpful!

Taking you forward.

  • Login to reply to this topic.