What Are DirectDraw Objects?

The DirectDraw object is the heart of all DirectDraw applications. It is the first object you create and, through it, you create all other related objects. Typically, you create a DirectDraw object by calling the DirectDrawCreate function, which returns an IDirectDraw interface. If you want to work with a different iteration of the interface (such as IDirectDraw4) to take advantage of new features it provides, you can query for it. (See Getting an IDirectDraw4 Interface.) The DirectDraw object represents the display device and makes use of hardware acceleration if the display device for which it was created supports hardware acceleration. Each unique DirectDraw object can manipulate the display device and create surfaces, palettes, and clipper objects that are dependent on (or are, connected to) the object that created them. For example, to create surfaces, you call the IDirectDraw4::CreateSurface method. Or, if you need a palette object to apply to a surface, call the IDirectDraw4::CreatePalette method. Additionally, the IDirectDraw4 interface exposes similar methods to create clipper objects.

The DirectDraw object manages all of the objects it creates. It controls the default palette (if the primary surface is in 8-bits-per-pixel mode), the default color key, and the hardware display mode. It tracks what resources have been allocated and what resources remain to be allocated.

© 1992-2003 Microsoft Corporation. All rights reserved.