DirectDraw OS Design Development

Other versions of this page are also available for the following:

Windows Mobile Not SupportedWindows Embedded CE Supported


DirectDraw for Windows Embedded 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


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



Hardware emulation layer



Sample driver for TIVA 5000



DirectDraw sample applications



DirectDraw capabilities viewer



DirectX capabilities viewer



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 Embedded 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 Embedded 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).

** The following table shows the Sysgen variables that enable DirectDraw.

Sysgen variable Description


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

Other Resources