DirectDraw OS Design Development (Windows CE 5.0)
DirectDraw for Microsoft Windows CE allows you to directly manipulate display memory, the hardware blitter, hardware overlays, and surface flipping.
OS Design Information Summary
The following table shows operating system design information for DirectDraw.
Concept | Description |
---|---|
Dependencies | Your OS design must contain the components from the minimal GDI design template and the MGDX component from GWES. |
Hardware considerations | 2-D graphics hardware is generally required for best performance.
You must have a DirectDraw-enabled driver for your hardware. |
DirectDraw is a software interface that provides direct access to display devices while maintaining compatibility with the Windows graphics device interface (GDI). It is not a high-level API for graphics. DirectDraw provides a device-independent way for games and such subsystem software as graphics packages and digital video codecs to gain access to the capabilities of specific display devices.
DirectDraw works with a wide variety of display hardware — ranging from simple SVGA monitors to advanced hardware implementations — that provide clipping, stretching, and non-RGB color format support. The interface is designed so that applications can enumerate the capabilities of the underlying hardware and then use any supported hardware-accelerated functionality. DirectDraw emulates capabilities that are not hardware-accelerated.
DirectDraw is also used internally within Direct3D Mobile for surface and texture map management.
Modules and Components
The following table shows the components and modules that implement DirectDraw.
Item | Module | Component |
---|---|---|
DirectDraw core functionality | ddcore | directdraw |
Hardware emulation layer | ddhel | ddhel |
Sample driver for TIVA 5000 | ddi_tvia5 | ddi_tiva5 |
DirectDraw sample applications | ddex1 | ddsamples |
DirectDraw capabilities viewer | ddcaps | ddcaps |
DirectX capabilities viewer | dxview | dxview |
Implementation Considerations
DirectDraw requires 2-D graphics hardware and drivers to be DirectDraw-enabled and is implemented as a single unit. You cannot selectively include individual DirectDraw capabilities in your OS design.
When you port existing DirectDraw code from the Windows-based desktop computer, keep in mind that there are specific hardware-related situations where the Windows CE implementation behaves differently than the desktop implementation. Key differences are as follows:
- DirectDraw cannot change the display mode. It can only operate in the mode that is set for the Windows CE-based device.
- On platforms with multiple screens, DirectDraw will only work on the primary display device. All other screens are left under the control of the graphics device interface (GDI).
- DirectDraw and screen rotation are mutually exclusive features. The Rflat driver does not have any DirectDraw entry points.
The following table shows the Sysgen variables that enable DirectDraw.
Sysgen variable | Description |
---|---|
SYSGEN_DIRECTDRAW | Set to the value 1 to enable DirectDraw. |
Application Development Topics
DirectDraw Application Development
Device Driver Development Topics
DirectDraw Display Driver Development Concepts
See Also
Send Feedback on this topic to the authors