Supplying a Full-Screen Renderer Filter (Windows Embedded CE 6.0)
1/6/2010
If neither of the previous options were successful, then the PID finds the first available filter in the filter graph that supports an IVideoWindow interface, and assumes that it is the current video renderer filter.
If no filters that support IVideoWindow are available, the call to change to full-screen mode will return VFW_E_NO_FULLSCREEN.
When asked to change into full-screen mode, the PID asks the current renderer if it can support full-screen mode efficiently. If so, no graph changes are made. If not, the PID stops the filter graph (if it is not already stopped), disconnects the current renderer, reconnects the DirectShow full-screen renderer in its place, and restores the original filter graph when it is done.
When switching out of full-screen mode, the opposite occurs. The full-screen renderer is disconnected and the original filter is reconnected. The state of the filter graph is restored.
The full-screen renderer is a specialized renderer that uses the display changing capabilities provided by DirectDraw. For example, it might switch the full-screen display 320 × 240 when it might have been in, for example, 1024 × 768.
By switching to lower resolution modes, it can cheaply implement full-screen rendering without having to stretch images.
The full-screen renderer currently implements 320 × 200 × 8/16 bits per pixel, 320 × 240 × 8/16, 640 × 400 × 8/16, 640 × 400 × 8/16, 640 × 480 × 8/16, 800 × 600 × 8/16, 1024 × 768 × 8/16, 1152 × 864 × 8/16, and 1280 × 1024 × 8/16 display modes.
No ModeX renderer is supplied for Windows Embedded CE, however the default video renderer will perform efficient full screen rendering if the graphics system provides hardware accelerated stretch blits.