DirectGDI Library Overview

The DirectGDI library provides the key elements of the DirectGDI component—driver, resources and drawing context.

Target audience: Device creators.

Note: DirectGDI is deprecated in Symbian^3.

The following table identifies the Dynamic Link Library (DLL) that provides the core DirectGDI functionality.

DLL LIB Short Description

directgdi.dll

directgdi.lib

This DLL provides the key elements of DirectGDI—driver, resources and drawing context.

Key classes

The following table provides a summary of the key classes that make up the DirectGDI API library.

Class Description

CDirectGdiDriver

This class defines the API which is used by DirectGDI client applications. It is implemented using the handle/body idiom. The handle part forms the public and private API that is used by DirectGDI client applications and other DirectGDI generic parts. The body part defines the HAI that needs to be implemented by an adaptation. The implementation of the handle part is generic for all adaptations. The implementation of the body part is adaptation specific and provides interfaces for initialization, termination, construction of the concrete drawing engine and the creation of source or target rendering. This class is a singleton within a thread. It delegates to an adaptation-specific implementation that provides a platform-specific mechanism. See DirectGDI Interface Component Overview for more information.

CDirectGdiContext

This class is the new drawing context intended for hardware accelerated rendering. It defines an API that is very similar to that provided by CFbsBitGc but which enables hardware accelerated rendering when it is available. A software implementation can be used on devices where hardware acceleration is not available. In addition it provides new APIs for drawing using DirectGDI drawable sources. This class is part of the generic layer and forwards drawing requests to the adaptation-specific drawing engine to execute.

CDirectGdiFont

This class is very similar to the CFbsBitGcFont class. The major portion of text rendering (for example, font rasterization, layout and glyph shaping) is done at the generic layer.