GPE Base Classes (Windows Embedded CE 6.0)

1/6/2010

The Graphics Primitive Engine (GPE) base class library is a device-independent bitmap (DIB) driver. GPE can use the emulation library, ClearType, antialiasing and gradient fill.

GPE and Video Adapters

The GPE base class library implements all basic drawing functions for video adapters that have the following characteristics:

  • Video buffers are accessible in system address space.
  • Video buffer is nonbanked.
  • Video buffer is nonplanar and has one plane.
  • Video buffers have one of the following bits-per-pixel: 1, 2, 4, 8, 16, 24, or 32.
    A 5-, 6-, or 15-bpp driver cannot be GPE-based.
  • GPE enables device-specific accelerations for the drawing of either raster (bitmap) or vector (lines and filled areas) graphic primitives. You have the freedom to tune the performance of a given display solution to use whatever hardware drawing support that is available.

GPE Source Code

The source code for Gpe.lib is in %_WINCEROOT%\Public\Common\OAK\Drivers\Display\GPE.

Raster drawing functions are commonly referred to as blits. GPE relies on the emulation library for basic raster drawing support.

The source files for Emul.lib are in the Platform Builder directory tree in %_WINCEROOT%\Public\Common\OAK\Drivers\Display\Emul. To remove the emulation library, set SYSGEN_GPE_NOEMUL.

Frame Buffer Requirements

The GPE classes require that your display hardware use a linear-frame buffer; that is, the display's memory must lie in a contiguous memory range. Modifying the GPE classes to use a noncontiguous frame buffer would require significant effort.

GPE Base Classes and Multithreading

To support multithreading, GPE ensures that calls into the display driver from GWES and GDI middleware components are properly serialized, synchronized, and packaged. Therefore, multithreading will work correctly, as long as you are not creating threads in your display drivers.

GPE Classes

The following list shows the GPE classes:

See Also

Tasks

Creating a Display Driver Based on the GPE Classes

Reference

BitBlT Emulation Library Functions

Concepts

Display Driver Development Concepts
How to Decide Whether to Use GPE in a Display Driver
Display Driver Extensions
Display Driver Samples
Primary Display Drivers
Secondary Display Drivers
DDI Functions
GDI Support Services
Display Buffer Formats
Line Drawing
Display Driver Escape Codes
Display Drivers and the Run-Time Image

Other Resources

Display Drivers