/** * @file hv_drv_OsdGraphic.h * @brief Osd driver layer Graphic interface. * @verbatim * ============================================================================== * ##### How to use this driver ##### * ============================================================================== * (+) Use Hv_Drv_OsdGraphic_Init(...) to disable graphic layer. * (+) Use Hv_Drv_OsdGraphic_DrawGraphic(...) to draw graphic. * @endverbatim * * @author HiView SoC Software Team * @version 0.0.1 * @date 2022-08-22 */ #ifndef __HV_DRV_OSDGRAPHIC_H #define __HV_DRV_OSDGRAPHIC_H #include "hv_mw_OsdComm.h" #if (HV_PROJECT_CONFIG_OSD_GRAPHIC == HV_CONFIG_ON) /** * @brief get graphic layer is enable/disable * @param[in] None * @return BOOL enable/disable */ BOOL Hv_Drv_OsdGraphic_GetEnable(VOID); /** * @brief enable/disable graphic layer * @param[in] bEnable enable/disable status * @return VOID without return */ VOID Hv_Drv_OsdGraphic_SetEnable(BOOL bEnable); /** * @brief wait DMA copy of graphic data to finish * @param[in] None * @return HV_SUCCESS if transfer done, otherwise HV_FAILURE */ Status Hv_Drv_OsdGraphic_WaitTransferDone(VOID); /** * @brief draw graphic component * @param[in] pstGraphic component structure describing graphic data * @return VOID without return */ VOID Hv_Drv_OsdGraphic_DrawGraphic(const OsdGraphic *pstGraphic, const OsdGraphicAddition *pstGraphicAddition); VOID Hv_Drv_OsdGraphic_ClearCPUCanvas(); Status Hv_Drv_OsdGraphic_InitCPUCanvas(OsdGraphic *pstGraphic); Status Hv_Drv_OsdGraphic_DrawCPUCanvasPoint(USHORT16 usX, USHORT16 usY, UINT32 uiColor); VOID Hv_Drv_OsdGraphic_SwitchCPUCanvasBuffer(VOID); VOID Hv_Drv_OsdGraphic_ShowCPUCanvas(VOID); VOID Hv_Drv_OsdGraphic_CPUCanvasStep(); #endif /** * @brief Graphic layer init function * @param[in] None * @return VOID without return */ VOID Hv_Drv_OsdGraphic_Init(VOID); #endif