Enabling the Graphics Architecture Variants

There are two variants of the graphics architecture. These are referred to as the ScreenPlay and the Non-ScreenPlay variants, respectively. This topic describes how to build and enable these two variants.

Enabling the ScreenPlay variant

To enable ScreenPlay using OpenWF Composition (OpenWF-C), declare the following variant macros in the Symbian_OS.hrh file:

SYMBIAN_BUILD_GCE
SYMBIAN_GRAPHICS_BUILD_OPENWF_WSERV

To select the ScreenPlay variant in the emulator, add the following line to the epoc.ini file:

SYMBIAN_GRAPHICS_USE_GCE ON

The Symbian OpenWF-C implementation provides support for the emulator only.

Enabling the non-ScreenPlay variant

By default, the non-ScreenPlay versions of the components are built in addition to the ScreenPlay ones and are included in the ROM. For some of the components that are present in both variants (such as Window Server, BitGDI and Screen Driver), different binaries are produced for the two variants.

Selecting the correct components is relatively straightforward when running and testing on hardware, because the choice is made at ROM build time. However, it is more complicated on the emulator, because the choice is made at runtime. Screen Driver is particularly significant in this respect because it is an adaptation component that can be modified by device creators.

If you extend the interface of the Screen Driver DLL (that is, you change the .def file or introduce new exports compared to the reference component), and want to build for the emulator, you need to regenerate the switch code as well. Although this is relatively easy, it can be confusing. The steps are as follows:

  1. Update the exports.

  2. Make the following files writable:

    • The header (.h) file in the Graphics\screendriver\scdv_switch directory.

    • The scdvswitchu.def file in the corresponding ..\bwins directory.

  3. Run the generate_stubs.pl Perl script to update these files.

  4. Rebuild the component.