To implement the Multi-Window Apps in BREW3.1.5SP01 | developer.brewmp.com To implement the Multi-Window Apps in BREW3.1.5SP01 | developer.brewmp.com

Developer

To implement the Multi-Window Apps in BREW3.1.5SP01

Forums:

Now We'd like to implement multi-window applications, that is, more than one apps can run(as window) on the screen at the same time. I know BREW4.0 & BMP has this feature. But How about BREW3.1.5SP01?? Can Qualcomm provide any solution, Or suggestion??

If no, then we'd like implement it ourself, And two questions need your help, as below:

1. How to enable a suspended or background app to directly draw/update to screen??

I already try to create IDisplay instance in system context, but use this IDisplay instance in background/suspended app, still can not draw/update screen

2. If the IDisplay's destination is not device bitmap(as NULL), just another IBitmap instance, then How to catch(be notified) when its update be called, what is its dirty area??(For non-device bitmap destination, IDisplay_Update will do nothing, But I also want to catch the invoking for IDisplay_Update & the dirty area/rect for the IBitmap)

I don't see any possibility as suspended/background applications cannot have access to display.

I don't see any possibility as suspended/background applications cannot have access to display.

As far I know you can't have multi-screen application in BREW 3.1, it required quite a bit of internal work

As far I know you can't have multi-screen application in BREW 3.1, it required quite a bit of internal work

I already implement it.
Thx a lot

I already implement it.
Thx a lot

Can you share how you implemented it ? will help other developers.

Can you share how you implemented it ? will help other developers.

HI ,
please can you share how you have implemented .
Thanks.

HI ,
please can you share how you have implemented .
Thanks.

If you really want to implement it
1. Create a top level application that would own the main display frame buffer (which would essentially act as canvas).
2. Now create bunch of (number of application as needed) background application as needed, each of these application would have their own IBitmap, and they would draw in their own bitmap.
3. Top level application in invoke draw to each of the application, in that draw call each of the background application would draw.
4. If top level application wants of composite (to support alpha transparency) it can composite each of the background application's frame buffer.
5. Foreground application would act as pipe for key events etc.

If you really want to implement it
1. Create a top level application that would own the main display frame buffer (which would essentially act as canvas).
2. Now create bunch of (number of application as needed) background application as needed, each of these application would have their own IBitmap, and they would draw in their own bitmap.
3. Top level application in invoke draw to each of the application, in that draw call each of the background application would draw.
4. If top level application wants of composite (to support alpha transparency) it can composite each of the background application's frame buffer.
5. Foreground application would act as pipe for key events etc.

Hi, ruben:
Right !! It is just what i do. But I meet a difficult. That is, How foreground app to catch when the bg app update the display, and what is the dirty area??

Hi, ruben:
Right !! It is just what i do. But I meet a difficult. That is, How foreground app to catch when the bg app update the display, and what is the dirty area??

Maybe each bg app should post to fg app some user event with pointer to IBitmap as parameter when it want to redraw. Also it can specify rect on this bitmap to draw.

Maybe each bg app should post to fg app some user event with pointer to IBitmap as parameter when it want to redraw. Also it can specify rect on this bitmap to draw.