This is retired content. This content is outdated and is no
longer being maintained. It is provided as a courtesy for
individuals who are still using these technologies. This content
may contain URLs that were valid when originally published, but now
link to sites or pages that no longer exist.
You can think of DirectDraw as being composed of several objects
that work together. This section briefly describes the objects you
use when working with the DirectDraw component, organized by object
type. For detailed information, see
Working with
DirectDraw Objects.
The DirectDraw component uses the following objects:
DirectDraw object
The DirectDraw object is the heart of all DirectDraw
applications. It's the first object you create, and you use it to
make all other related objects. You create a DirectDraw object by
calling the
DirectDrawCreatefunction. DirectDraw objects expose their
functionality through the
IDirectDraw,
IDirectDraw2, and
IDirectDraw4interfaces.
For more information, see
Working with
DirectDraw Objects.
DirectDrawSurface object
The DirectDrawSurface object (casually referred to as a
"surface") represents an area in memory that holds data to be
displayed on the monitor as images or moved to other surfaces. You
usually create a surface by calling the
IDirectDraw4::CreateSurfacemethod of the DirectDraw object with
which it will be associated. DirectDrawSurface objects expose their
functionality through the
IDirectDrawSurface5interface. For more information, see
Working with
DirectDraw Surfaces.
DirectDrawPalette object
The DirectDrawPalette object (casually referred to as a
"palette") represents a 16- or 256-color indexed palette to be used
with a surface. It contains a series of indexed RGB triplets that
describe colors associated with values within a surface. You do not
use palettes with surfaces that use a pixel format depth greater
than 8 bits. You can create a DirectDrawPalette object by calling
the
IDirectDraw4::CreatePalettemethod. DirectDrawPalette objects
expose their functionality through the
IDirectDrawPaletteinterface. For more information, see
Working with
DirectDraw Palettes.
DirectDrawClipper object
The DirectDrawClipper object (casually referred to as a
"clipper") helps you prevent blitting to certain portions of a
surface or beyond the bounds of a surface. You can create a clipper
by calling the
IDirectDraw4::CreateClippermethod. DirectDrawClipper objects
expose their functionality through the
IDirectDrawClipperinterface. For more information, see
Working with
DirectDraw Clippers.
DirectDrawVideoPort object
The DirectDrawVideoPort object represents video-port hardware
present in some systems. This hardware allows direct access to the
frame buffer without accessing the CPU or using the PCI bus. You
can create a DirectDrawVideoPort object by calling a
QueryInterfacemethod for the DirectDraw object, specifying the
IID_IDDVideoPortContainer reference identifier. DirectDrawVideoPort
objects expose their functionality through the
IDDVideoPortContainerand
IDirectDrawVideoPortinterfaces. For more information, see
Video Ports.