hv_drv_OsdEffect.h 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. /**
  2. * @file hv_drv_OsdEffect.h
  3. * @brief Osd driver layer font effect interface.
  4. * @verbatim
  5. * ==============================================================================
  6. * ##### How to use this driver #####
  7. * ==============================================================================
  8. * (+) Use Hv_Drv_OsdEffect_StartFadeInOut(...) to execute fade in/out effect.
  9. * (+) Use Hv_Drv_OsdEffect_StartShutterInOut(...) to execute shutter in/out effect.
  10. * (+) Use Hv_Drv_OsdEffect_SetBlinkEnable(...) to set row blink effect.
  11. * @endverbatim
  12. *
  13. * @author HiView SoC Software Team
  14. * @version 0.0.1
  15. * @date 2022-08-22
  16. */
  17. #ifndef __HV_DRV_OSDEFFECT_H
  18. #define __HV_DRV_OSDEFFECT_H
  19. #include "hv_mw_OsdComm.h"
  20. #include "hv_drv_OsdTypes.h"
  21. /*
  22. * 百叶窗多少行为一段
  23. *
  24. * 可以设置的值为 16、32、64、128
  25. */
  26. #define OSD_SHUTTER_SEGMENT 64
  27. /*
  28. * 百叶窗每次增加几行
  29. *
  30. * 可以设置的值为 1~255
  31. */
  32. #define OSD_SHUTTER_STEP 4
  33. /**
  34. * @brief set time in ms of one blink period
  35. * @param[in] enId window index to which apply blink effect
  36. * @param[in] usMs time in ms of one blink period
  37. * @return VOID without return
  38. */
  39. VOID Hv_Drv_OsdEffect_SetBlinkPeriod(OsdWindowPhyId enId, USHORT16 usMs);
  40. /**
  41. * @brief set blink duration
  42. * @param[in] enId window index to which apply blink effect
  43. * @param[in] enDuty blink duration OSD_BLINK_DUTY_25: stay 25% percent of time
  44. * OSD_BLINK_DUTY_50: stay 50% percent of time
  45. * OSD_BLINK_DUTY_75: stay 75% percent of time
  46. * @return VOID without return
  47. */
  48. VOID Hv_Drv_OsdEffect_SetBlinkDuration(OsdWindowPhyId enId, OsdBlinkDuty enDuty);
  49. /**
  50. * @brief set blink effect by row Y-axis
  51. * @param[in] enId window index to which apply blink effect
  52. * @param[in] usY Y-axis value of the row
  53. * @param[in] bEnable enable or disable blink effect
  54. * @return VOID without return
  55. */
  56. VOID Hv_Drv_OsdEffect_SetBlinkEnable(OsdWindowPhyId enId, USHORT16 usY, BOOL bEnable);
  57. /**
  58. * @brief set total time to execute fade effect
  59. * @param[in] enId window index to which apply fade effect
  60. * @param[in] usMs time in ms to execute fade effect
  61. * @return VOID without return
  62. */
  63. VOID Hv_Drv_OsdEffect_SetFadeInOutSpeed(OsdWindowPhyId enId, USHORT16 usMs);
  64. /**
  65. * @brief start to execute font fade in/out effect
  66. * @param[in] enId window index of which to apply fade effect
  67. * @param[in] bIsShowing fade-in or fade-out
  68. * @return VOID without return
  69. */
  70. VOID Hv_Drv_OsdEffect_StartFadeInOut(OsdWindowPhyId enId, BOOL bIsShowing);
  71. /**
  72. * @brief set total time to execute shutter effect
  73. * @param[in] enId window index to which apply shutter effect
  74. * @param[in] usMs time in ms to execute shutter effect
  75. * @return VOID without return
  76. */
  77. VOID Hv_Drv_OsdEffect_SetShutterSpeed(OsdWindowPhyId enId, USHORT16 usMs);
  78. /**
  79. * @brief start to execute font shutter in/out effect
  80. * @param[in] enId window index to which apply shutter effect
  81. * @param[in] bIsShowing shutter-in or shutter-out
  82. * @param[in] enDirection OSD_TRANS_DI_V: V direction shutter
  83. * OSD_TRANS_DI_H: H direction shutter
  84. * OSD_TRANS_DI_V_H: H&V direction shutter
  85. * @return VOID without return
  86. */
  87. VOID Hv_Drv_OsdEffect_StartShutterInOut(OsdWindowPhyId enId, BOOL bIsShowing, OsdTransDirection enDirection);
  88. /**
  89. * @brief set shutter2 effect
  90. * @param[in] enId window index to which apply shutter effect
  91. * @param[in] ucSpeed effect speed(pixels per frame)
  92. * @param[in] enDirection OSD_TRANS_DI_V: V direction shutter
  93. * OSD_TRANS_DI_H: H direction shutter
  94. * OSD_TRANS_DI_V_H: H&V direction shutter
  95. * @return VOID without return
  96. */
  97. VOID Hv_Drv_OsdEffect_SetShutter2(OsdWindowPhyId enId, UCHAR8 ucSpeed, OsdTransDirection enDirection);
  98. /**
  99. * @brief disable trans effect
  100. * @param[in] enId window index to which apply shutter effect
  101. * @return VOID without return
  102. */
  103. VOID Hv_Drv_OsdEffect_DisableTranMode(OsdWindowPhyId enId);
  104. #endif