Microsoft DirectX 8.1 (C++) |
The IFullScreenVideo interface is implemented on the Full Screen Renderer filter. The filter graph manager uses the Full Screen Renderer to render full-screen video on systems with older graphics cards that cannot quickly stretch a 320x240 video to 1024x768. To overcome this hardware limitation, the Full Screen Renderer simply switches the graphics display card into 320x240 mode. Newer video cards can stretch the display quickly enough to permit the Video Renderer filter to be used for both windowed and full-screen modes. The display goes into full-screen mode when an application calls IVideoWindow::put_FullScreenMode and returns to normal window playback when the user presses the Escape key.
When connected, the Full Screen Renderer loads the display modes that are available. This number of modes available can be obtained through IFullScreenVideo::CountModes. Information on each individual mode is then available by calling IFullScreenVideo::GetModeInfo and IFullScreenVideo::IsModeAvailable. An application can enable and disable any mode by calling the IFullScreenVideo::SetEnabled method. The current value can be queried by calling IFullScreenVideo::IsModeEnabled. An application can enable or disable any mode by calling the IFullScreenVideo::SetEnabled flag with OATRUE or OAFALSE (not C/C++ TRUE and FALSE values).
The Full Screen Renderer can function only when it is the foreground active window. If the user tries to switch to another application while in full-screen mode, the video will be hidden. The Full Screen Renderer does this by minimizing the window it is actually drawing the video in (although the use of a window is transparent to the user). Maximizing the window restores the video.
In addition to the methods inherited from IUnknown, the IFullScreenVideo interface exposes the following methods.
Method | Description |
GetCurrentMode | Retrieves the video mode currently in effect. |
IsModeAvailable | Determines if a specified video mode is available. |
IsModeEnabled | Determines if a specified video mode is enabled. |
SetEnabled | Enables and disables video modes. |
GetClipFactor | Retrieves the current clip loss factor setting. |
SetClipFactor | Specifies the video mode based on the maximum image area that will be lost. |
SetMessageDrain | Specifies a window that will receive window messages sent to the renderer. |
GetMessageDrain | Retrieves the window set to receive window messages sent to the renderer. |
SetMonitor | Sets the monitor in use (for use with multiple-monitor implementations). |
GetMonitor | Retrieves the monitor in use. |
HideOnDeactivate | Hides the window when it is deactivated. |
IsHideOnDeactivate | Retrieves the state of the HideOnDeactivate property. |
SetCaption | Sets the caption associated with the full-screen window. |
GetCaption | Retrieves the caption associated with the full-screen window. |
SetDefault | Sets the default for all full-screen video renderer properties. |