I posted a code sample on CodeProject a few moments ago. It is a remake of a simple game. Best of all if the game is run on a compatible Samsung device it will take advantage of the hardware via the Samsung Mobile SDK. For more information see the article at the following link:
http://www.codeproject.com/KB/mobile/WiMoBubblePuzzle.aspx
Tags:
14deb2f3-a46b-44a8-9e7f-f74e6dc627b3|0|.0
In my experience identifying the DirectDraw driver on the device is difficult to impossible. According to documentation the IDIRECTDRAW::GetDeviceIdentifier method should be used to retrieve the driver information. At the time that I am writing this the Windows Mobile 6 documentation shows that this method has one parameter of type LPDDDEVICEIDENTIFIER. But when you try to use the method you’ll find there is a second parameter needed of type DWORD. When I first came across this I was a little confused because there was no mention of it in the documentation. But I finally came across documentation for Windows CE 3.0 that mentioned the second parameter as being a flag and DDGDI_GETHOSTIDENTIFIER was the only possible value. I tried to use the flag but then I found that it wasn’t defined in my header file. After a bit of searching on the Internet I found this flag has a value of one. I added a conditional #define to my source code. It is conditional so that if I ever do get a correct header file it won’t break my code with redundant definitions.
#ifndef DDGDI_GETHOSTIDENTIFIER
#define DDGDI_GETHOSTIDENTIFIER 0x00000001L
#endif
I ran my code an error informing me that the argument was invalid. I considered the possibility that 1 wasn’t the correct value. So I tried calling the function in a for loop testing out all possible values. For the value of 0 I received E_NOTIMPL. For all other values I received E_INVALIDARG. As a final test I ran this against an emulator image with identical results. So as far as I am concerned this method cannot be called in confidence.
Tags:
fa96f668-777d-4fd0-999e-bb0b9e815e97|0|.0
I recent had to take into consideration the APIs available in Windows Mobile for something I was working on recreationally. As per usual I added my notes and conclusions to my OneNote notebook and thought I would share some of it for those that may need to look up the same information.
| GDI |
A moderate to slow speed performer with wide compatibility. |
| GDI+ |
Successor of GDI. GDI+ adds gradients, complex paths, and uses ARGB to represent color. |
| Imaging API |
for manipulating Images and manipulating them, but slow. |
| GAPI |
An API now officially dead as of WM6.5. Predates DirectX. Nothing more of it will be said here. |
| DirectDraw |
Gives extremely fast access to imaging surface. Targets low level operations. Centered around bit blting. |
| Direct3D |
Gives access to 3D display hardware and provides emulation where hardware isn’t available. Potentially high performing, though some OEMs use improper/slow implementation. HTC historically installed an improper version of Direct3D on their devices |
| DirectShow |
API for handling video and audio streams |
| OpenGL ES |
Platform independent graphic API. May or may not be present on your Windows Mobile device. If you use this be prepared to provide an implementation to the target device. |
I think I may have to go through all of these APIs and write a general introduction like what I did for Windows Mobile Power Management.
Tags:
2ed45d2d-4f39-47ce-b33d-ef351e359893|0|.0
I was evaluating the graphical capabilities od different Windows Mobile devices. I got tired of inspecting the state of the DDSCAPS (Direct Draw Capabilities) structure in code so I put together a UI that would display the information for me. This is all part of something else I am working on for another Windows Mobile article, but I thought I would go ahead and share the code. now. If you are interested in the program it is attached to this blog posting.
Tags:
2e021d56-7ad2-4079-8c06-0a105feba143|0|.0