123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183 |
- /**
- * @file hv_drv_OsdWindow.h
- * @brief Osd driver layer window drawing interface.
- * @verbatim
- * ==============================================================================
- * ##### How to use this driver #####
- * ==============================================================================
- * (+) Use Hv_Drv_OsdWindow_(Draw/Update/Erase)Rect(...) to handle rect.
- * (+) Use Hv_Drv_OsdWindow_(Draw/Update/Erase)RectGrid(...) to handle rectgrid.
- * (+) Use Hv_Drv_OsdWindow_(Draw/Update/Erase)Line(...) to handle line.
- * (+) Use Hv_Drv_OsdWindow_(Draw/Update/Erase)LineGrid(...) to handle linegrid.
- * (+) Use Hv_Drv_OsdWindow_(Draw/Update/Erase)Window(...) to handle window.
- * @endverbatim
- *
- * @author HiView SoC Software Team
- * @version 0.0.1
- * @date 2022-08-22
- */
- #ifndef __HV_DRV_OSDWINDOW_H
- #define __HV_DRV_OSDWINDOW_H
- #include "hv_comm_DataType.h"
- #include "hv_mw_OsdComm.h"
- #include "hv_drv_OsdTypes.h"
- /**
- * @brief convert pixel format
- * @param[in] enSrcFormat source pixel format
- * @param[in] enDstFormat destination pixel format
- * @param[in] uiColor color value
- * @return color value of required format
- */
- UINT32 Hv_Drv_OsdWindow_PixelFormatConvert(OsdPixelFormat enSrcFormat, OsdPixelFormat enDstFormat, UINT32 uiColor);
- /**
- * @brief draw rect
- * @param[in] pstRect rect structure
- * @param[in] pstRectStyle rect style
- * @return VOID without return
- */
- VOID Hv_Drv_OsdWindow_DrawRect(OsdRect *pstRect, const OsdRectStyle *pstRectStyle);
- /**
- * @brief update rect
- * @param[in] pstRect rect structure
- * @param[in] pstRectStyle rect style
- * @return VOID without return
- */
- VOID Hv_Drv_OsdWindow_UpdateRect(OsdRect *pstRect, const OsdRectStyle *pstRectStyle);
- /**
- * @brief hide rect
- * @param[in] pstRect rect structure
- * @return VOID without return
- */
- VOID Hv_Drv_OsdWindow_EraseRect(OsdRect *pstRect);
- /**
- * @brief draw rectgrid
- * @param[in] pstGrid rectgrid structure
- * @param[in] pstNonHlRectStyle non-highlight rect style
- * @param[in] pstRectHighlight highlight options
- * @param[in] pstHlRectStyle highlight rect style
- * @return VOID without return
- */
- VOID Hv_Drv_OsdWindow_DrawRectGrid(OsdRectGrid* pstGrid,
- const OsdRectStyle *pstNonHlRectStyle,
- const OsdRectHighlight *pstRectHighlight,
- const OsdRectStyle *pstHlRectStyle);
- /**
- * @brief update rectgrid
- * @param[in] pstGrid rectgrid structure
- * @param[in] pstNonHlRectStyle non-highlight rect style
- * @param[in] pstRectHighlight highlight options
- * @param[in] pstHlRectStyle highlight rect style
- * @return VOID without return
- */
- VOID Hv_Drv_OsdWindow_UpdateRectGrid(OsdRectGrid* pstGrid,
- const OsdRectStyle *pstNonHlRectStyle,
- const OsdRectHighlight *pstRectHighlight,
- const OsdRectStyle *pstHlRectStyle);
- /**
- * @brief hide rectgrid
- * @param[in] pstGrid rectgrid structure
- * @return VOID without return
- */
- VOID Hv_Drv_OsdWindow_EraseRectGrid(OsdRectGrid* pstGrid);
- /**
- * @brief draw linegrid
- * @param[in] pstLineGrid linegrid structure
- * @param[in] pstLineHighlight highlight options
- * @return VOID without return
- */
- VOID Hv_Drv_OsdWindow_DrawLineGrid(OsdLineGrid* pstLineGrid, const OsdLineHighlight *pstLineHighlight);
- /**
- * @brief update linegrid
- * @param[in] pstLineGrid linegrid structure
- * @param[in] pstLineHighlight highlight options
- * @return VOID without return
- */
- VOID Hv_Drv_OsdWindow_UpdateLineGrid(OsdLineGrid* pstLineGrid, const OsdLineHighlight *pstLineHighlight);
- /**
- * @brief hide line grid
- * @param[in] pstLineGrid linegrid structure
- * @return VOID without return
- */
- VOID Hv_Drv_OsdWindow_EraseLineGrid(OsdLineGrid* pstLineGrid);
- /**
- * @brief draw line
- * @param[in] pstLine line structure
- * @return VOID without return
- */
- VOID Hv_Drv_OsdWindow_DrawLine(OsdLine* pstLine);
- /**
- * @brief update line
- * @param[in] pstLine line structure
- * @return VOID without return
- */
- VOID Hv_Drv_OsdWindow_UpdateLine(OsdLine* pstLine);
- /**
- * @brief hide line
- * @param[in] pstLine line structure
- * @return VOID without return
- */
- VOID Hv_Drv_OsdWindow_EraseLine(OsdLine* pstLine);
- /**
- * @brief get current window index
- * @param[in] None
- * @return current window index
- */
- OsdWindowPhyId Hv_Drv_OsdWindow_GetCurrentWindow(VOID);
- /**
- * @brief set current window index
- * @param[in] enIndex window index
- * @return VOID without return
- */
- VOID Hv_Drv_OsdWindow_SetCurrentWindow(OsdWindowPhyId enIndex);
- /**
- * @brief set all window font en
- * @param[in] bEnable enable
- */
- VOID Hv_Drv_OsdWindow_SetAllFontEnable(BOOL bEnable);
- /**
- * @brief disable rect/grid/line/font of all windows
- * @param[in] None
- * @return VOID without return
- */
- VOID Hv_Drv_OsdWindow_DisableAll(VOID);
- /**
- * @brief draw window
- * @param[in] pstWindowProp window property structure
- * @return VOID without return
- */
- VOID Hv_Drv_OsdWindow_DrawWindow(OsdWindowProp *pstWindowProp);
- /**
- * @brief update window property
- * @param[in] pstWindowProp window property structure
- * @return VOID without return
- */
- VOID Hv_Drv_OsdWindow_UpdateWindow(OsdWindowProp *pstWindowProp);
- /**
- * @brief hide window
- * @param[in] pstWindowProp window property structure
- * @return VOID without return
- */
- VOID Hv_Drv_OsdWindow_EraseWindow(OsdWindowProp *pstWindowProp);
- #endif
|