To determine the hardware’s overlay capabilities, a user-mode driver can call VC_GetOverlayMode. This function indicates whether or not overlay capabilities are provided, and also indicates the type of support provided for color keying and rectangle specifications. Based on the returned information, the driver can call VC_SetKeyColourPalIdx, VC_SetKeyColourRGB, or VC_GetKeyColour to set or retrieve the overlay’s key color. The driver should call VC_SetOverlayRect to specify the area to be overlaid and VC_SetOverlayOffset to specify which portion of the frame buffer to display in the overlay area. To enable the hardware’s overlay capabilities, the driver calls VC_Overlay.