DirectDraw OS Design Development (Windows CE 5.0)

Send Feedback

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

DirectDraw Reference

DirectDraw Security

DirectDraw Registry Settings

Device Driver Development Topics

DirectDraw Display Driver Development Concepts

See Also

DirectDraw

Send Feedback on this topic to the authors

Feedback FAQs

© 2006 Microsoft Corporation. All rights reserved.