/*
 * @file hv_app_OsdDialog.h
 * @brief Header file of osd dialog.
 *
 * @verbatim
 * ==============================================================================
 *                        ##### How to use #####
 * ==============================================================================

 *
 * @author HiView SoC Software Team
 * @version 1.0.0
 * @date 2022-09-01
 */

#ifndef _HV_APP_OSD_DIALOG_H
#define _HV_APP_OSD_DIALOG_H

#include "hv_mw_AppInterface.h"


typedef struct _OsdTimingInfo
{
    LinkPortIndex enPort;
    USHORT16 usHActive;
    USHORT16 usVActive;
    USHORT16 usFrameRate;
    ColorFormatType enColorFmt;
    BOOL bIsVrr;
    BOOL bIsFreesync;
    UCHAR8 ucFreesyncVersion;
    BOOL bIsHdr;
    BOOL bInterlacedMode;
    BOOL bIsFrc;
    BOOL bSignalSync;
} OsdTimingInfo;

/**
 * @brief 获取当前timing信息
 * @return 当前timing信息结构体地址
 */
OsdTimingInfo *Hv_App_OsdGetCurrentTimingInfo(VOID);

#define CUR_TIMING_INFO(param)   Hv_App_OsdGetCurrentTimingInfo()->param

/**
 * @brief 显示信号源不支持界面
 */
VOID Hv_App_OsdSignalUnsupportEnter(USHORT16 usValue);

/**
 * @brief 退出信号源不支持界面
 */
VOID Hv_App_OsdSignalUnsupportExit(VOID);

VOID Hv_App_OsdFunctionUnsupportEnter(VOID);

/**
 * @brief 退出功能不支持界面
 */
VOID Hv_App_OsdFunctionUnsupportExit(VOID);

VOID Hv_App_OsdNoSignalEnter(LinkPortIndex enPort);

/**
 * @brief 退出无信号界面
 */
VOID Hv_App_OsdNoSignalExit(VOID);

/**
 * @brief 刷新信号源插入界面
 */
VOID Hv_App_OsdSourcePlugInUpdate(VOID);

VOID Hv_App_OsdSourcePlugInEnter(LinkPortIndex enPort);

/**
 * @brief 退出信号源插入界面
 */
VOID Hv_App_OsdSourcePlugInExit(VOID);

/**
 * @brief 信号源拔出
 */
VOID Hv_App_OsdSourcePlugOut(USHORT16 usValue);

/**
 * @brief 信号源就绪准备工作：亮屏前配置画质参数
 */
VOID Hv_App_OsdSignalReady(USHORT16 usValue);

/**
 * @brief 进入信号源状态显示
 */
VOID Hv_App_OsdSignalStateEnter(USHORT16 usValue);

#endif
