Window Compositor Developer's Guide (Compact 7)
In Windows Embedded Compact, Graphics, Windowing, and Events Subsystem (GWES) is the interface between applications and the system’s video drivers. Each application that produces visual output updates its own display window through GWES as if it were the only application that writes to the device display. GWES responds to each application display request as it receives the request and then uses the driver to update the device display. If two windows on a device overlap, GWES clips the underlying window area by updating only the primary display for the top window. As a result, the underlying window’s output is hidden, as shown in window the following figure.
An optional module named Window Compositor lets you configure and manage how multiple application windows display their output on a single device screen. Window Compositor uses a process called alpha blending to combine the graphical output from multiple applications so that overlapping windows appear partially transparent. Window Compositor works with GWES to provide alpha blending between the overlapping windows, as seen in the following figure.
If you want overlapping application windows to be fully or partially transparent, you must add Window Compositor and its alpha blending features to the OS design. You add Window Compositor to an OS design by setting the appropriate SYSGEN and optional board support package (BSP) variables before building a BSP.
As part of its application programming interface (API), Window Compositor includes several methods that let you determine whether Window Compositor performs alpha blending for entire windows or for individual pixels within each window. You can use these methods to fine-tune the alpha blending process for your application and improve the graphics performance.
If one application window completely covers another application window, you can improve graphics performance by making sure that the application that has the covered output window turns off output until that window is uncovered. To do this, Window Compositor sends a WM_OBSCURED message to inform the application that its display window is completely covered. When any part of the window (including the borders and title bar) is uncovered, Window Compositor sends a second WM_OBSCURED. Window Compositor considers a window uncovered if the covering window has any level of transparency that results from alpha blending.
- Alpha Blending in Window Compositor
Provides a detailed explanation of the alpha blending process.
- Window Compositor APIs
Lists the available API methods for alpha blending.
- Include Window Compositor in an OS Design
Provides instructions for adding Window Compositor to an OS image.
- Tune Graphics Performance with Window Compositor
Describes when and how to improve the graphics performance of a device that is using Windows Compositor to display multiple application windows.