123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741 |
- /*
- * @file hv_mw_OsdOperation.h
- * @brief Header file of osd MiddleWare operation.
- *
- * @verbatim
- * ==============================================================================
- *
- * ==============================================================================
- * (+) Use Hv_Mw_OsdOpsIsRedraw() to get current frame is need redraw
- * (+) Use Hv_Mw_OsdOpsClearRedrawFlag() to clear redraw flag
- * (+) Use Hv_Mw_OsdOpsForceRedraw() to set current frame be need redraw forcely
- * (+) Use Hv_Mw_OsdOpsInit() to init osd operations's data
- * (+) Use Hv_Mw_OsdComponentGetDynamicProp() to get a component's dynamic data
- * (+) Use Hv_Mw_OsdComponentUpdateByUserdata() to update&show a dynamic component by userdata
- * (+) Use Hv_Mw_OsdComponentShow() to show a component
- * (+) Use Hv_Mw_OsdComponentHide() to hide a component
- * (+) Use Hv_Mw_OsdItemShow() to show a item
- * (+) Use Hv_Mw_OsdItemHide() to hide a item
- * (+) Use Hv_Mw_OsdItemGetEnable() to get item's enable state
- * (+) Use Hv_Mw_OsdItemSetEnable() to set item's enable state
- * (+) Use Hv_Mw_OsdItemEnableList() to set item list's enable state
- * (+) Use Hv_Mw_OsdSetItemNumInPage() to set item's max num in page
- * (+) Use Hv_Mw_OsdGetItemNumInPage() to get item's max num in page
- * (+) Use Hv_Mw_OsdItemGetLevel() to get item's menu level
- * (+) Use Hv_Mw_OsdItemGetStartIdInPage() to get first item in item's list page
- * (+) Use Hv_Mw_OsdItemGetBias() to get a item's bias in its list
- * (+) Use Hv_Mw_OsdItemGetPage() to get a item's page info
- * (+) Use Hv_Mw_OsdItemShowList() to update&show a item list
- * (+) Use Hv_Mw_OsdItemShowListWithSingleChild() to update&show a item list with child
- * (+) Use Hv_Mw_OsdItemShowListWithSingleValue() to update&show a item list with value
- * (+) Use Hv_Mw_OsdItemShowValueList() to update&show a item's value list
- * (+) Use Hv_Mw_OsdItemRefreshList() to refresh a item list (already visable)
- * (+) Use Hv_Mw_OsdItemHideList() to hide a item list
- * (+) Use Hv_Mw_OsdItemHideListWithSingleChild() to hide a item list with child
- * (+) Use Hv_Mw_OsdItemHideListWithSingleValue() to hide a item list with value
- * (+) Use Hv_Mw_OsdItemHideValueList() to hide a item's value list
- * (+) Use Hv_Mw_OsdItemUnSelect() to unselect a item
- * (+) Use Hv_Mw_OsdItemSelect() to select a item
- * (+) Use Hv_Mw_OsdItemUpdateSelectList() to update a select list
- * (+) Use Hv_Mw_OsdItemGetFocusing() to get current focusing item
- * (+) Use Hv_Mw_OsdItemFocusClear() to clear currennt focusing item
- * (+) Use Hv_Mw_OsdItemFocus() to set focusing on a item
- * (+) Use Hv_Mw_OsdItemFocusChild() to move focusing to child item
- * (+) Use Hv_Mw_OsdItemFocusChildSelect() to move focusing to child item which is selected
- * (+) Use Hv_Mw_OsdItemFocusValue() to move focusing to value item
- * (+) Use Hv_Mw_OsdItemFocusParent() to move focusing to parent item
- * (+) Use Hv_Mw_OsdItemFocusNext() to move focusing to next item
- * (+) Use Hv_Mw_OsdItemFocusPrev() to move focusing to previous item
- * (+) Use Hv_Mw_OsdWindowClearShowList() to clear a window's ShowList
- * (+) Use Hv_Mw_OsdWindowClearDeleteList() to clear a window's DeleteList
- * (+) Use Hv_Mw_OsdWindowClearUpdateInfo() to clear a window's UpdateInfo
- * (+) Use Hv_Mw_OsdWindowCheckIsEmpty() to check a window is empty.
- * (+) Use Hv_Mw_OsdSceneInit() to init a scene before show
- * (+) Use Hv_Mw_OsdSceneShow() to show a scene.
- * (+) Use Hv_Mw_OsdSceneHide() to hide a scene.
- * (+) Use Hv_Mw_OsdSceneRefresh() to refresh a scene's data
- * (+) Use Hv_Mw_OsdSceneRefreshAll() to refresh all scenes's data
- * (+) Use Hv_Mw_OsdSceneClear() to clear a scene's data
- * (+) Use Hv_Mw_OsdSceneClearAll() to hide & clear all scenes's data
- * (+) Use Hv_Mw_OsdSceneIsShowing() to check a scene is showing
- *
- * @endverbatim
- * @author HiView SoC Software Team
- * @version 1.0.0
- * @date 2022-09-01
- */
- typedef enum {
- FOCUSING_NEXT,
- FOCUSING_PREV,
- FOCUSING_CHILD,
- FOCUSING_CHILD_SELECT,
- FOCUSING_VALUE,
- FOCUSING_PARENT,
- FOCUSING_CHOSEN,
- FOCUSING_CLEAR,
- } OsdMoveFocusingItem;
- /**
- * @brief 判断当前帧是否需要重画
- * @return HV_TRUE-需要重画, HV_FALSE-不需要重画(更新)
- */
- BOOL Hv_Mw_OsdOpsIsRedraw(VOID);
- /**
- * @brief 清除重画flag
- */
- VOID Hv_Mw_OsdOpsClearRedrawFlag(VOID);
- /**
- * @brief 强制设置当前帧是否重画
- * @param[in] bRedraw HV_TRUE-重画, HV_FALSE-仅更新画
- */
- VOID Hv_Mw_OsdOpsForceRedraw(BOOL bRedraw);
- /**
- * @brief 重置所有window的font记录信息
- */
- VOID Hv_Mw_OsdResetFontResList(VOID);
- /**
- * @brief FOR DEBUG,打印所有window的font记录信息
- */
- VOID Hv_Mw_OsdPrintFontResList(VOID);
- /**
- * @brief 判断当前界面是否需要多帧画
- * @return HV_TRUE-需要多帧画, HV_FALSE-不需要多帧画
- */
- BOOL Hv_Mw_OsdOpsIsMultiFrameDraw(VOID);
- /**
- * @brief 清除多帧画flag
- */
- VOID Hv_Mw_OsdOpsClearMultiFrameDrawFlag(VOID);
- /**
- * @brief Osd operations模块数据初始化
- */
- VOID Hv_Mw_OsdOpsInit(VOID);
- /**
- * @brief 输出OSD界面统计数据信息
- */
- VOID Hv_Mw_OsdSceneDebugStat(VOID);
- /**
- * @brief 获取组件所在window
- * @return OsdWindow window结构体指针
- */
- OsdWindow *Hv_Mw_OsdComponentGetWindow(OsdComponent stCp);
- /**
- * @brief 获取组件的绝对位置
- * @param[in] usItemId Item的Id,若组件属于scene需将usItemId设置为ITEM_NONE_ID
- * @param[in] stCp 组件类型及Id
- * @param[out] usX 获取的组件X位置
- * @param[out] usY 获取的组件Y位置
- */
- VOID Hv_Mw_OsdComponentGetPosition(USHORT16 usItemId, OsdComponent stCp, USHORT16 usX, USHORT16 usY);
- /**
- * @brief 获取组件的动态数据指针
- * @param[in] stCp 组件类型及Id
- * @param[in] usX bIsOffset==true为组件X位置,bIsOffset==false为Item的X位置
- * @param[in] usY bIsOffset==true为组件Y位置,bIsOffset==false为Item的Y位置
- * @param[in] bIsOffset 区分直接设置组件位置和通过Item偏移设置组件位置
- */
- VOID Hv_Mw_OsdComponentSetPosition(OsdComponent stCp, USHORT16 usX, USHORT16 usY, BOOL bIsOffset);
- /**
- * @brief 获取组件的动态数据指针
- * @param[in] stCp 组件类型及Id
- * @return 对应的动态数据指针
- */
- VOID *Hv_Mw_OsdComponentGetDynamicProp(OsdComponent stCp);
- /**
- * @brief 获取组件Node
- * @param[in] stCp 组件类型及Id
- * @return OsdComponentNode 对应的Node指针
- */
- OsdComponentNode *Hv_Mw_OsdComponentGetNode(OsdComponent stCp);
- /**
- * @brief 更新AsciiString组件的字符串内容
- * @param[in] enIndex 组件Id
- * @param[in] pucString 字符串
- * @param[in] ucStringLength 字符串长度
- */
- VOID Hv_Mw_OsdDynamicAsciiStringUpdate(OsdAsciiStringId enIndex, UCHAR8* pucString, UCHAR8 ucStringLength);
- /**
- * @brief 更新显示AsciiString组件的字符串内容
- * @param[in] usId 组件Id
- * @param[in] fmt 格式化字符串
- */
- VOID Hv_Mw_OsdAsciiStringComponentShow(USHORT16 usId, const CHAR8 *fmt, ...);
- /**
- * @brief 根据指定userdata的值,更新并显示组件
- * @param[in] stCp 组件类型及Id
- * @param[in] enUserdata userdata枚举类型
- */
- VOID Hv_Mw_OsdComponentUpdateByUserdata(OsdComponent stCp, UserdataId enUserdata);
- /**
- * @brief 显示一个组件
- * @param[in] stCp 组件类型及Id
- */
- VOID Hv_Mw_OsdComponentShow(OsdComponent stCp);
- /**
- * @brief 隐藏一个组件
- * @param[in] stCp 组件类型及Id
- */
- VOID Hv_Mw_OsdComponentHide(OsdComponent stCp);
- /**
- * @brief 显示指定item的当前状态下的cursor
- * @param[in] usItemId 指定item的Id
- */
- VOID Hv_Mw_OsdCursorShowByItem(USHORT16 usItemId);
- /**
- * @brief 隐藏指定item的当前状态下的cursor
- * @param[in] usItemId 指定item的Id
- */
- VOID Hv_Mw_OsdCursorHideByItem(USHORT16 usItemId);
- /**
- * @brief 设置一个item的位置
- * @param[in] usItemId item的Id
- * @param[in] usX x坐标值
- * @param[in] usY y坐标值
- */
- VOID Hv_Mw_OsdItemSetPosition(USHORT16 usItemId, USHORT16 usX, USHORT16 usY);
- /**
- * @brief 设置一个item的位置
- * @param[in] ucCursorId cursor的Id
- * @param[in] usItemX x坐标值
- * @param[in] usItemY y坐标值
- * @param[in] ucItemState cursor 所在item的状态
- */
- VOID Hv_Mw_OsdCursorSetPositon(UCHAR8 ucCursorId, USHORT16 usItemX, USHORT16 usItemY, UCHAR8 ucItemState);
- /**
- * @brief 判断一个item是否正在显示
- * @param[in] usItemId item的Id
- */
- BOOL Hv_Mw_OsdItemIsShowing(USHORT16 usItemId);
- /**
- * @brief 显示一个item
- * @param[in] usItemId item的Id
- */
- VOID Hv_Mw_OsdItemShow(USHORT16 usItemId);
- /**
- * @brief 隐藏一个item
- * @param[in] usItemId item的Id
- */
- VOID Hv_Mw_OsdItemHide(USHORT16 usItemId);
- /**
- * @brief 刷新一个item
- * @param[in] usItemId item的Id
- */
- VOID Hv_Mw_OsdItemRefresh(USHORT16 usItemId);
- /**
- * @brief 更新一个item的状态并显示(强制更新状态,不会进行disable/disable hide检查)
- * @param[in] usItemId item的Id
- * @param[in] enState item的状态
- */
- VOID Hv_Mw_OsdItemShowWithState(USHORT16 usItemId, OsdItemState enState);
- /**
- * @brief 更新一个item的状态
- * @param[in] usItemId item的Id
- * @param[in] enState item的状态
- */
- VOID Hv_Mw_OsdItemSetState(USHORT16 usItemId, OsdItemState enState);
- /**
- * @brief 获取一个item的状态
- * @param[in] usItemId item的Id
- * @return OsdItemState item的状态
- */
- OsdItemState Hv_Mw_OsdItemGetState(USHORT16 usItemId);
- /**
- * @brief 获取一个item是否enable
- * @param[in] usItemId item的Id
- * @return BOOL 正常-HV_TRUE, 禁用-HV_FALSE
- */
- BOOL Hv_Mw_OsdItemGetEnable(USHORT16 usItemId);
- /**
- * @brief 设置一个item是否enable
- * @param[in] usItemId item的Id
- * @param[in] bEnable 正常-HV_TRUE, 禁用-HV_FALSE
- */
- VOID Hv_Mw_OsdItemSetEnable(USHORT16 usItemId, BOOL bEnable);
- /**
- * @brief 更新item列表中的所有item的禁用状态
- * @param[in] usItem list中的ItemId
- * @param[in] bIncludeSelf 是否包含当前item
- * @param[in] bEnable 正常-HV_TRUE, 禁用-HV_FALSE
- */
- VOID Hv_Mw_OsdItemEnableList(USHORT16 usItem, BOOL bIncludeSelf, BOOL bEnable);
- /**
- * @brief 设置当前页的item最大显示个数
- * @param[in] usNum 最大显示个数
- */
- VOID Hv_Mw_OsdSetItemNumInPage(USHORT16 usNum);
- /**
- * @brief 获取当前页的item最大显示个数
- * @return USHORT16 最大显示个数
- */
- USHORT16 Hv_Mw_OsdGetItemNumInPage(VOID);
- /**
- * @brief 获取item所在的list的item总数
- * @return USHORT16 item数量
- */
- USHORT16 Hv_Mw_OsdItemGetListNum(USHORT16 usItemId);
- /**
- * @brief 获取item的child item总数
- * @return USHORT16 child item数量
- */
- USHORT16 Hv_Mw_OsdItemGetChildNum(USHORT16 usItemId);
- /**
- * @brief 获取item所在的菜单等级
- * @return USHORT16 菜单等级
- */
- USHORT16 Hv_Mw_OsdItemGetLevel(USHORT16 usItem);
- /**
- * @brief 获取一个item在显示页中的首个Item
- * @param[in] usItem item的Id
- * @return 首个Itemitem的Id
- */
- USHORT16 Hv_Mw_OsdItemGetStartIdInPage(USHORT16 usItem);
- /**
- * @brief 获取一个item在显示页中的最后一个Item
- * @param[in] usItem item的Id
- * @return 最后一个Itemitem的Id
- */
- USHORT16 Hv_Mw_OsdItemGetEndIdInPage(USHORT16 usItem);
- /**
- * @brief 获取一个item在显示列表中的偏移
- * @param[in] usItem item的Id
- * @return item的偏移
- */
- USHORT16 Hv_Mw_OsdItemGetBias(USHORT16 usItem);
- /**
- * @brief 获取一个item所绑定的userdata id
- * @param[in] usItem item的Id
- * @return userdata id
- */
- USHORT16 Hv_Mw_OsdItemGetUserdata(USHORT16 usItemId);
- /**
- * @brief 获取一个item所绑定的userdata id的值
- * @param[in] usItem item的Id
- * @return userdata的值
- */
- USHORT16 Hv_Mw_OsdItemGetUserdataValue(USHORT16 usItemId);
- /**
- * @brief 获取一个item在显示列表中的页信息
- * @param[in] usItem item的Id
- * @param[in] ucCurPage item所在的页数
- * @param[in] ucTotalPageNum item所在的列表的总页数
- */
- VOID Hv_Mw_OsdItemGetPage(USHORT16 usItem, UCHAR8 *pucCurPage, UCHAR8 *pucTotalPageNum);
- /**
- * @brief 获取一个item在显示列表中的页信息(若页面全部disable,则不计入该页)
- * @param[in] usItem item的Id
- * @param[in] ucCurPage item所在的页数
- * @param[in] ucTotalPageNum item所在的列表的总页数
- */
- VOID Hv_Mw_OsdItemGetPageCheckEnable(USHORT16 usItem, UCHAR8 *pucCurPage, UCHAR8 *pucTotalPageNum);
- /**
- * @brief 判断两个item是否在同一页
- * @param[in] usItem1 item1的Id
- * @param[in] usItem2 item2的Id
- * @return HV_TRUE-在同一页, HV_FALSE-不在同一页
- */
- BOOL Hv_Mw_OsdItemIsAtSamePage(USHORT16 usItem1, USHORT16 usItem2);
- /**
- * @brief 更新并显示一个item列表
- * @param[in] usItem item列表中任意一个item的Id
- */
- VOID Hv_Mw_OsdItemShowList(USHORT16 usItem);
- /**
- * @brief 更新并显示一个item列表(若当前页面全部disable,则显示下一页)
- * @param[in] usItem item列表中任意一个item的Id
- * @return USHORT16 首个未被禁用的item id
- */
- USHORT16 Hv_Mw_OsdItemShowListCheckEnable(USHORT16 usItem);
- /**
- * @brief 隐藏一个item列表(若当前页面全部disable,则隐藏下一页)
- * @param[in] usItem item列表中任意一个item的Id
- */
- VOID Hv_Mw_OsdItemHideListCheckEnable(USHORT16 usItem);
- /**
- * @brief 更新并显示一个item列表及每个item的child
- * @param[in] usItem item列表中任意一个item的Id
- */
- VOID Hv_Mw_OsdItemShowListWithSingleChild(USHORT16 usItem);
- /**
- * @brief 更新并显示一个item列表及每个item的value
- * @param[in] usItem item列表中任意一个item的Id
- */
- VOID Hv_Mw_OsdItemShowListWithSingleValue(USHORT16 usItem);
- /**
- * @brief 更新并显示一个item value的列表
- * @param[in] usItem item列表中任意一个item的Id
- */
- VOID Hv_Mw_OsdItemShowValueList(USHORT16 usItem);
- /**
- * @brief 刷新item所在的整个item列表
- * @param[in] usItem item列表中任意一个item的Id
- */
- VOID Hv_Mw_OsdItemRefreshList(USHORT16 usItem);
- /**
- * @brief 隐藏一个item列表
- * @param[in] usItem item列表中任意一个item的Id
- */
- VOID Hv_Mw_OsdItemHideList(USHORT16 usItem);
- /**
- * @brief 隐藏item所在的整个item列表
- * @param[in] usItem item列表中任意一个item的Id
- */
- VOID Hv_Mw_OsdItemHideListAll(USHORT16 usItem);
- /**
- * @brief 隐藏一个item列表及每个item的child
- * @param[in] usItem item列表中任意一个item的Id
- */
- VOID Hv_Mw_OsdItemHideListWithSingleChild(USHORT16 usItem);
- /**
- * @brief 隐藏一个item列表及每个item的value
- * @param[in] usItem item列表中任意一个item的Id
- */
- VOID Hv_Mw_OsdItemHideListWithSingleValue(USHORT16 usItem);
- /**
- * @brief 隐藏一个item value的列表
- * @param[in] usItem item列表中任意一个item的Id
- */
- VOID Hv_Mw_OsdItemHideValueList(USHORT16 usItem);
- /**
- * @brief 获取一个item自动对齐后在显示列表中的页信息
- * @param[in] usItem item的Id
- * @param[in] ucCurPage item所在的页数
- * @param[in] ucTotalPageNum item所在的列表的总页数
- */
- VOID Hv_Mw_OsdItemGetPageAlign(USHORT16 usItemId, UCHAR8 *pucCurPage, UCHAR8 *pucTotalPageNum);
- /**
- * @brief 自动对齐并显示一个item 列表
- * @param[in] usItem item列表中任意一个item的Id
- */
- VOID Hv_Mw_OsdItemShowListAlign(USHORT16 usItemId);
- /**
- * @brief 自动对齐并隐藏一个item 列表
- * @param[in] usItem item列表中任意一个item的Id
- */
- VOID Hv_Mw_OsdItemHideListAlign(USHORT16 usItemId);
- /**
- * @brief 根据条件禁用item列表
- * @param[in] bCondition 判断条件
- * @param[in] pusItemArray item列表
- * @param[in] usItemNum item数量
- */
- VOID Hv_Mw_ItemDisableByCondition(BOOL bCondition, const USHORT16 *pusItemArray, USHORT16 usItemNum);
- /**
- * @brief 恢复所有禁用Item的状态
- */
- VOID Hv_Mw_ItemRecoverDisableArray(VOID);
- /**
- * @brief 检查item是否被选中
- * @param[in] usItemId item list中的任意一个的item的Id
- * @param[in] bCheckState HV_TRUE-根据item当前状态寻找,HV_FALSE-根据当前对应userdata值寻找
- * @return item是否被选中
- */
- BOOL Hv_Mw_OsdItemCheckSelect(USHORT16 usItemId, BOOL bCheckState);
- /**
- * @brief 查找item list中被选中的item
- * @param[in] usItemId item list中的任意一个的item的Id
- * @param[in] bCheckState HV_TRUE-根据item当前状态寻找,HV_FALSE-根据当前对应userdata值寻找
- * @return 当前选择的item的Id
- */
- USHORT16 Hv_Mw_OsdItemFindSelected(USHORT16 usItemId, BOOL bCheckState);
- /**
- * @brief 取消选择一个item为当前设置项,将item状态更新为NORMAL/FOCUSING
- * @param[in] usItemId 要取消选择的item的Id
- */
- VOID Hv_Mw_OsdItemUnSelect(USHORT16 usItemId);
- /**
- * @brief 选择一个item为当前设置项,将item状态更新为SELECT/SELECT_FOCUS
- * @param[in] usItemId 要选择的item的Id
- * @return 对应的userdata值
- */
- SHORT16 Hv_Mw_OsdItemSelect(USHORT16 usItemId);
- /**
- * @brief 根据当前userdata值,更新select列表的选中状态
- * @param[in] usItemListStartId select列表的任意item的Id
- * @return select的itemid
- */
- USHORT16 Hv_Mw_OsdItemUpdateSelectList(USHORT16 usItemId);
- /**
- * @brief 根据当前userdata值,显示select item所在的页
- * @param[in] usItem select列表中的任意item的Id
- * @return select的itemid
- */
- USHORT16 Hv_Mw_OsdItemShowSelectedList(USHORT16 usItem);
- /**
- * @brief 隐藏select item所在的页
- * @param[in] usItem select列表中的任意item的Id
- */
- VOID Hv_Mw_OsdItemHideSelectedList(USHORT16 usItem);
- /**
- * @brief 获取当前正在聚焦的item的id
- * @return 正在聚焦的item的id
- */
- USHORT16 Hv_Mw_OsdItemGetFocusing(VOID);
- /**
- * @brief 清除当前正在聚焦的item
- */
- VOID Hv_Mw_OsdItemFocusClear(VOID);
- /**
- * @brief 根据当前item查找指定的item
- * @param[in] usCurItemId 当前item的id
- * @param[in] eWhichItem 查找item与当前item的关系
- * @return 查找到的item的数据结构
- */
- OsdItem *Hv_Mw_OsdItemSearchMoveFocus(USHORT16 usCurItemId, OsdMoveFocusingItem eWhichItem);
- /**
- * @brief 聚焦到指定的item
- * @param[in] usItemId 指定聚焦的item的id
- * @return 当前聚焦的item id
- */
- USHORT16 Hv_Mw_OsdItemFocus(USHORT16 usItemId);
- /**
- * @brief 移动聚焦到子item
- * @return 当前聚焦的item id
- */
- USHORT16 Hv_Mw_OsdItemFocusChild(VOID);
- /**
- * @brief 移动聚焦到被选中的子item,没有被选中的则聚焦到首个
- * @return 当前聚焦的item id
- */
- USHORT16 Hv_Mw_OsdItemFocusChildSelect(VOID);
- /**
- * @brief 移动聚焦到被选中的value item
- * @return 当前聚焦的item id
- */
- USHORT16 Hv_Mw_OsdItemFocusValue(VOID);
- /**
- * @brief 移动聚焦到父item
- * @return 当前聚焦的item id
- */
- USHORT16 Hv_Mw_OsdItemFocusParent(VOID);
- /**
- * @brief 移动聚焦到下一个item
- * @return 当前聚焦的item id
- */
- USHORT16 Hv_Mw_OsdItemFocusNext(VOID);
- /**
- * @brief 移动聚焦到上一个item
- * @return 当前聚焦的item id
- */
- USHORT16 Hv_Mw_OsdItemFocusPrev(VOID);
- /**
- * @brief 移动聚焦到下一个item,并且自动翻页
- * @return 当前聚焦的item id
- */
- USHORT16 Hv_Mw_OsdItemFocusNextAutoFlip(VOID);
- /**
- * @brief 移动聚焦到上一个item,并且自动翻页
- * @return 当前聚焦的item id
- */
- USHORT16 Hv_Mw_OsdItemFocusPrevAutoFlip(VOID);
- /**
- * @brief 移动聚焦到下一个item,并且自动翻页(包括child item list)
- * @return 当前聚焦的item id
- */
- USHORT16 Hv_Mw_OsdItemFocusNextAutoFlipWithSingleChild(VOID);
- /**
- * @brief 移动聚焦到上一个item,并且自动翻页(包括child item list)
- * @return 当前聚焦的item id
- */
- USHORT16 Hv_Mw_OsdItemFocusPrevAutoFlipWithSingleChild(VOID);
- /**
- * @brief 移动聚焦到下一个item,并且自动翻页(包括value item list)
- * @return 当前聚焦的item id
- */
- USHORT16 Hv_Mw_OsdItemFocusNextAutoFlipWithSingleValue(VOID);
- /**
- * @brief 移动聚焦到上一个item,并且自动翻页(包括value item list)
- * @return 当前聚焦的item id
- */
- USHORT16 Hv_Mw_OsdItemFocusPrevAutoFlipWithSingleValue(VOID);
- /**
- * @brief 清除当前window的显示绘制链表
- * @param[in] pstWindow window结构体指针
- */
- VOID Hv_Mw_OsdWindowClearShowList(OsdWindow* pstWindow);
- /**
- * @brief 清除当前window的删除绘制链表
- * @param[in] pstWindow window结构体指针
- */
- VOID Hv_Mw_OsdWindowClearDeleteList(OsdWindow* pstWindow);
- /**
- * @brief 清除当前window的update绘制信息
- * @param[in] pstWindow window结构体指针
- */
- VOID Hv_Mw_OsdWindowClearUpdateInfo(OsdWindow* pstWindow);
- /**
- * @brief 判断Window是否为空
- * @return HV_TRUE-为空, HV_FALSE-非空
- */
- BOOL Hv_Mw_OsdWindowCheckIsEmpty(UCHAR8 ucWindowId);
- /**
- * @brief 初始化一个scene,绘制之前调用
- * @param[in] ucSceneId scene的id
- */
- VOID Hv_Mw_OsdSceneInit(UCHAR8 ucSceneId);
- /**
- * @brief 显示一个scene,绘制完成最后调用
- * @param[in] ucSceneId scene的id
- */
- VOID Hv_Mw_OsdSceneShow(UCHAR8 ucSceneId);
- /**
- * @brief 隐藏一个scene
- * @param[in] ucSceneId scene的id
- */
- VOID Hv_Mw_OsdSceneHide(UCHAR8 ucSceneId);
- /**
- * @brief 刷新一个scene
- * @param[in] ucSceneId scene的id
- */
- VOID Hv_Mw_OsdSceneRefresh(UCHAR8 ucSceneId);
- /**
- * @brief 刷新所有显示的scene
- */
- VOID Hv_Mw_OsdRefreshAll(VOID);
- /**
- * @brief 清除一个scene的信息及数据
- * @param[in] ucSceneId scene的id
- */
- VOID Hv_Mw_OsdSceneClear(UCHAR8 ucSceneId);
- /**
- * @brief 隐藏清除所有scene的信息及数据
- */
- VOID Hv_Mw_OsdSceneClearAll(VOID);
- /**
- * @brief 获取Scene是否正在显示
- * @param[in] ucSceneId scene的id
- * @return HV_TRUE-显示中, HV_FALSE-未显示
- */
- BOOL Hv_Mw_OsdSceneIsShowing(UCHAR8 ucSceneId);
- /**
- * @brief 获取正在显示的scene id
- * @param[in] ucSceneIdStart 起始检查的Scene id
- * @return UCHAR8 正在显示的首个scene id
- */
- UCHAR8 Hv_Mw_OsdSceneGetShowing(UCHAR8 ucSceneIdStart);
- /**
- * @brief 获取是否有OSD正在显示
- * @return HV_TRUE-显示中, HV_FALSE-未显示
- */
- BOOL Hv_Mw_OsdIsShowing(VOID);
|