hv_drv_OsdGraphic.h 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. /**
  2. * @file hv_drv_OsdGraphic.h
  3. * @brief Osd driver layer Graphic interface.
  4. * @verbatim
  5. * ==============================================================================
  6. * ##### How to use this driver #####
  7. * ==============================================================================
  8. * (+) Use Hv_Drv_OsdGraphic_Init(...) to disable graphic layer.
  9. * (+) Use Hv_Drv_OsdGraphic_DrawGraphic(...) to draw graphic.
  10. * @endverbatim
  11. *
  12. * @author HiView SoC Software Team
  13. * @version 0.0.1
  14. * @date 2022-08-22
  15. */
  16. #ifndef __HV_DRV_OSDGRAPHIC_H
  17. #define __HV_DRV_OSDGRAPHIC_H
  18. #include "hv_mw_OsdComm.h"
  19. #if (HV_PROJECT_CONFIG_OSD_GRAPHIC == HV_CONFIG_ON)
  20. /**
  21. * @brief get graphic layer is enable/disable
  22. * @param[in] None
  23. * @return BOOL enable/disable
  24. */
  25. BOOL Hv_Drv_OsdGraphic_GetEnable(VOID);
  26. /**
  27. * @brief enable/disable graphic layer
  28. * @param[in] bEnable enable/disable status
  29. * @return VOID without return
  30. */
  31. VOID Hv_Drv_OsdGraphic_SetEnable(BOOL bEnable);
  32. /**
  33. * @brief wait DMA copy of graphic data to finish
  34. * @param[in] None
  35. * @return HV_SUCCESS if transfer done, otherwise HV_FAILURE
  36. */
  37. Status Hv_Drv_OsdGraphic_WaitTransferDone(VOID);
  38. /**
  39. * @brief draw graphic component
  40. * @param[in] pstGraphic component structure describing graphic data
  41. * @return VOID without return
  42. */
  43. VOID Hv_Drv_OsdGraphic_DrawGraphic(const OsdGraphic *pstGraphic, const OsdGraphicAddition *pstGraphicAddition);
  44. VOID Hv_Drv_OsdGraphic_ClearCPUCanvas();
  45. Status Hv_Drv_OsdGraphic_InitCPUCanvas(OsdGraphic *pstGraphic);
  46. Status Hv_Drv_OsdGraphic_DrawCPUCanvasPoint(USHORT16 usX, USHORT16 usY, UINT32 uiColor);
  47. VOID Hv_Drv_OsdGraphic_SwitchCPUCanvasBuffer(VOID);
  48. VOID Hv_Drv_OsdGraphic_ShowCPUCanvas(VOID);
  49. VOID Hv_Drv_OsdGraphic_CPUCanvasStep();
  50. #endif
  51. /**
  52. * @brief Graphic layer init function
  53. * @param[in] None
  54. * @return VOID without return
  55. */
  56. VOID Hv_Drv_OsdGraphic_Init(VOID);
  57. #endif