Page 1 of 1

DirectDraw on WM5/6

PostPosted: Feb 27, 2008 @ 7:31pm
by alanhorne
We currently have 3 phones we are deploying to - an HTC Dash (WM5), Motorola Q (WM5), and Samsung Blackjack (WM6).

Using openmethod = DOM_DIRECTDRAW and surfacedefault = EST_SYSTEMAPI in the display parameters we are able to get access to a DirectDraw surface through GetSysApiSurface() on the Dash, but on the Q/Blackjack it returns null, suggesting that DirectDraw is not getting used.

What sort of factors aside from the display flags would impact whether DirectDraw is invoked? It's odd that we are getting DD on one WM5 machine but not on the other WM5 or the WM6.

The end goal here is to use the DirectDraw API to render Windows fonts onto an Edge surface - we of course have the fallback of using bitmap fonts but we'd like to avoid them if possible.

PostPosted: Feb 28, 2008 @ 1:03pm
by edge
Hi Alanhorne,

If there is a problem opening the display in DirectDraw, it tries to use different methods. However, it's strange that the Windows Mobile 5+ devices can't open DirectDraw.

Can you try creating your surface using EST_HARDWARE and see if you notice any difference?

PostPosted: Feb 28, 2008 @ 7:26pm
by alanhorne
First I'd like to correct some errors in what I posted - the Dash is WM6 (not WM5) and the Blackjack does manage to get DirectDraw surface access but goes into some sort of odd crash/lockup state - I haven't pinned down the exact cause of this, though.

I just ran some tests with every combination of DOM_DIRECTDRAW / DOM_DEFAULT and EST_SYSMEMORY / EST_SYSTEMAPI / EST_HARDWARE. The only combination that works at all is DOM_DIRECTDRAW + EST_SYSTEMAPI, and it only works on the Dash. (It half-works on the Blackjack too as I mentioned earlier.)

PostPosted: Feb 29, 2008 @ 11:02am
by edge
Hi Alanhorne,

Can you confirm that the default display settings doesn't work on the BlackJack and the Motorola Q? Could you rebuild the helloworld sample using the EDGELIB Builder and post the results?

PostPosted: Feb 29, 2008 @ 4:56pm
by alanhorne

PostPosted: Mar 3, 2008 @ 10:33am
by edge
Hi Alanhorne,

The default settings are DOM_DEFAULT and EST_SYSTEMAPI. In some cases DOM_DEFAULT does open a DirectDraw display mode, if the framebuffer is unavailable. It could be, that it can open the DirectDraw display mode on your devices, but not create a native surface.

Can you post your EDGELIB framework and display configuration here?

PostPosted: Mar 5, 2008 @ 3:44pm
by alanhorne

PostPosted: Mar 6, 2008 @ 11:30am
by edge