h6. [[Programmer's Reference Manuals]] h6(. » [[List of modules]] h6((. » VideoOverlay The VideoOverlay module acts as a manager for any graphics/video overlays that are supported by the system, e.g. for directly displaying YUV video frames. Its SWIs act as a high-level interface which applications can use to create and manipulate overlays. Internally, it uses the [[GraphicsV]] API to manage the overlays (e.g. reason codes 20-28). The GraphicsV overlay API is a low-level interface that should not be used directly by programs, as any overlay operations which are performed via GraphicsV may conflict with operations that VideoOverlay (or a replacement manager module) may be performing. The current version of the module is functional, but incomplete. Once completed, its full set of duties are expected to include: * Rendering (or coordinating the rendering) of alpha/TCK sections to allow Z-order overlays to be visible * Associating overlays with Wimp windows/tasks ** Allows Z-order to be automatically updated ** Ensures overlay is destroyed if task exits or window is destroyed * Notifying programs of when their overlays have been lost * The public API doesn't use GraphicsV overlay IDs directly; instead a different ID system is used, to prevent a program which has lost its overlay due to a mode change from accidentally interacting with an overlay that belongs to a different program * Dealing with some of the complexities of the "Basic" overlay type * Software emulation of overlays * Allowing screen output to be redirected to an overlay With the overlay ID system that VideoOverlay uses, zero is a suitable value for programs to use as an invalid overlay ID. Since generic hardware overlays aren't a critical system component, the VideoOverlay module is typically disc-based rather than ROM-based. Thus, programs which expect to use it should attempt to RMLoad it from !System, in the usual manner. h4. Details * [[VideoOverlay SWI Calls|SWI Calls]] h4. See also * [[GraphicsV]]