DDraw Off-Screen Surfaces

Send Feedback

This code sample is named DDEx3. It demonstrates how to use off-screen surfaces, how to initialize DirectDraw, and how to create a DirectDraw surface. It creates a "back surface," and uses Page Flipping and Back Buffering to alternately display the contents of the front and back surfaces. Other techniques demonstrated include Color Fills, and how to use GDI functions on a DirectDraw surface.

Feature Area

Relevant APIs

Usage

To run the code sample

  1. Navigate to the solution file (*.sln), and double-click it. By default, the solution file is copied to the following folder:

    C:\Program Files\Windows CE Tools\wce500\Windows Mobile 5.0 Pocket PC SDK\Samples\CPP\Win32\Directx\Ddraw\Ddex3\``DDEx3.sln

    Microsoft Visual Studio 2005 launches and loads the solution.

  2. Build the solution (Ctrl+Shift+B).

  3. Deploy the solution (F5).

To use the application

  • DDEx3 requires no user input.
  • Press the ACTION button to quit the program.

Remarks

The DDEx3 code sample is an extension of DDEx2.

In addition to the front and back surfaces, the program creates two Off-Screen Surfaces, and loads bitmaps into them. It calls the IDirectDrawSurface5::BltFast method to copy the contents of an off-screen surface to the back surface, alternating the source surface on each frame. After it blits the bitmap to the back surface, DDEx3 flips the front and back surfaces.

This sample requires support for hardware flipping. If the display driver doesn't support page flipping the sample will exit during initialization.

This code sample requires at least 1.2 MB of video RAM.

Requirements

Pocket PC SDK: Windows Mobile 5.0 Pocket PC SDK.
Smartphone SDK: Windows Mobile 5.0 Smartphone SDK.
Development Environment: Visual Studio 2005.
ActiveSync: Version 4.0.

See Also

Code Samples | Working with DirectDraw Surfaces | Creating an Off-Screen Surface | DDraw and Animation | DDraw and Audio | DDraw and Bitmaps | DDraw Initialization

Send Feedback on this topic to the authors

Feedback FAQs

© 2006 Microsoft Corporation. All rights reserved.