12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- /**
- * @file hv_drv_OsdRotate.h
- * @brief Osd driver rotation interface.
- * @verbatim
- * ==============================================================================
- * ##### How to use this driver #####
- * ==============================================================================
- * (+) Use Hv_Drv_OsdSetRotateType(...) to set rotate type.
- * (+) Use Hv_Drv_OsdGetRotateType(...) to get rotate type.
- * (+) Use Hv_Drv_OsdAppendDrawAreaBox(...) to append draw area box for rotation.
- * (+) Use Hv_Drv_OsdRotationWhole(...) to rotate whole DDR buffer.
- * (+) Use Hv_Drv_OsdRotationArea(...) to rotate areas in DDR buffer.
- *
- * @endverbatim
- *
- * @author HiView SoC Software Team
- * @version 0.0.1
- * @date 2022-08-22
- */
- #ifndef _HV_DRV_OSDROTATE_H
- #define _HV_DRV_OSDROTATE_H
- #include "hv_comm_DataType.h"
- #include "hv_drv_OsdTypes.h"
- #if (HV_PROJECT_CONFIG_OSD_ROTATION == HV_CONFIG_ON)
- /**
- * @brief set rotate type
- * @param[in] enRotate rotate type
- */
- VOID Hv_Drv_OsdSetRotateType(OsdRotationType enRotate);
- /**
- * @brief get rotate type
- * @return OsdRotationType rotate type
- */
- OsdRotationType Hv_Drv_OsdGetRotateType(VOID);
- OsdRotationType Hv_Drv_OsdGetRealRotateType(VOID);
- /**
- * @brief set rotate skip
- * @param[in] bSkip HV_TRUE-skip(do not rotate), HV_FALSE-do not skip
- */
- VOID Hv_Drv_OsdSetRotateSkip(BOOL bSkip);
- /**
- * @brief get rotate skip
- * @return BOOL HV_TRUE-skip(do not rotate), HV_FALSE-do not skip
- */
- BOOL Hv_Drv_OsdGetRotateSkip(VOID);
- /**
- * @brief append draw area box for rotation
- * @param[in] stBox area box: x, y, width, height
- */
- VOID Hv_Drv_OsdAppendDrawAreaBox(OsdBox stBox);
- /**
- * @brief clear draw area box for rotation
- */
- VOID Hv_Drv_OsdClearDrawAreaBox(VOID);
- VOID Hv_Drv_OsdSetRotationPartFlag(UCHAR8 ucSceneId);
- VOID Hv_Drv_OsdRecordAbsolutePostion(USHORT16 usX, USHORT16 usY);
- VOID Hv_Drv_OsdCancelAbsolutePostion(VOID);
- /**
- * @brief rotate whole DDR buffer
- */
- VOID Hv_Drv_OsdRotationWhole(VOID);
- /**
- * @brief rotate areas in DDR buffer
- */
- VOID Hv_Drv_OsdRotationArea(UCHAR8 ucSceneId);
- #if (HV_PROJECT_CONFIG_OSD_ROTATION_TYPE == OSD_ROTATE_IN_PLACE_ALL)
- VOID Hv_Drv_OsdCalculateUnrotateBoxOnScreen(OsdBox *pstBox, UINT32 uiTotalWidth, UINT32 uiTotalHeight, OsdRotationType enRotate);
- #else
- VOID Hv_Drv_OsdCalculateRotateBoxOnScreen(OsdBox *pstBox, UINT32 uiTotalWidth, UINT32 uiTotalHeight, OsdRotationType enRotate);
- #endif
- #endif
- #endif
|