📄 msapi_gop.h
字号:
#ifndef MSAPI_GOP_H
#define MSAPI_GOP_H
#ifndef GOP_TEST_CODE
#define GOP_TEST_CODE 0
#endif
#include "drvgop.h"
#ifdef MSAPI_GOP_C
#define INTERFACE
#else
#define INTERFACE extern
#endif
/// DWIN scan mode
typedef enum
{
DWIN_SCAN_MODE_PROGRESSIVE, ///< progessive
DWIN_SCAN_MODE_INTERFACE, ///< interlace
} EN_DWIN_SCAN_MODE;
/// Scrolling direction
typedef enum
{
SCROLL_NONE = 0, ///< no scrolling
SCROLL_UP, ///< scrolling up
SCROLL_DOWN, ///< scrolling down
SCROLL_LEFT, ///< scrolling left
SCROLL_RIGHT, ///< scrolling right
SCROLL_MAX ///< scrolling max enum number
} SCROLL_DIR;
/// DWIN source data format
typedef enum
{
DWIN_DATA_FMT_UV7Y8 = 0, //!< CrYCb domain
DWIN_DATA_FMT_UV8Y8, //!< CrYCb domain
DWIN_DATA_FMT_ARGB8888, //!< RGB domain (CSC bypass)
DWIN_DATA_FMT_RGB565, //!< RGB domain (CSC bypass)
DWIN_DATA_FMT_MAX
} EN_DWIN_DATA_FMT;
#define INVALID_WIN_ID GWIN_NO_AVAILABLE
#if 0 //temp mark by nick
#define DEFAULT_FB_FMT FB_FMT_AS_DEFAULT
#else
//#define DEFAULT_FB_FMT 0xffff
#define DEFAULT_FB_FMT GE_FMT_RGB565
#endif
/// DWIN property
typedef struct
{
U16 u16x; ///< x
U16 u16y; ///< y
U16 u16w; ///< width
U16 u16h; ///< height
U32 u32fbaddr0; ///< Top field DRAM address
U32 u32fbaddr1; ///< Bottom field DRAM address
U16 u16fbw; ///< Number of bytes per horizontal line
} GOP_DWIN_Property;
// DWIN APIs
INTERFACE void msAPI_GOP_DWIN_Init(void);
INTERFACE void msAPI_GOP_DWIN_Enable(BOOLEAN bEnable);
INTERFACE void msAPI_GOP_DWIN_GetWinProperty(GOP_DWIN_Property *pproperty);
INTERFACE void msAPI_GOP_DWIN_SetWinProperty(GOP_DWIN_Property *pproperty);
INTERFACE void msAPI_GOP_DWIN_SelectSourceScanType(EN_DWIN_SCAN_MODE enScanMode);
INTERFACE void msAPI_GOP_DWIN_SetDataFmt(EN_DWIN_DATA_FMT fmt);
INTERFACE void msAPI_GOP_DWIN_SetAlphaValue(U8 u8AlphaVal);
//support for multi-window
INTERFACE U8 msAPI_GOP_GWIN_CreateWin(U16 width, U16 height, U16 fbFmt);
INTERFACE void msAPI_GOP_GWIN_Enable(U8 winId, BOOLEAN bEnable);
INTERFACE void msAPI_GOP_GWIN_SetDuplication(U8 hext, U8 vext);
INTERFACE void msAPI_GOP_GWIN_Extend(U8 hext, U8 vext);
INTERFACE void msAPI_GOP_GWIN_DeleteWin(U8 winId);
INTERFACE void msAPI_GOP_GWIN_SetWinPosition(U8 winId, U16 dispX, U16 dispY);
INTERFACE void msAPI_GOP_GWIN_SetWinPositionOffset(U8 winId, U16 x, U16 y);
INTERFACE void msAPI_GOP_GWIN_SetWinProperty(GOP_GWIN_DISP_PROPERTY WinProperty);
INTERFACE void msAPI_GOP_GWIN_Switch2Gwin(U8 winId);
INTERFACE void msAPI_GOP_GWIN_Switch2OSDwin();
INTERFACE void msAPI_GOP_GWIN_Switch2PrevGwin();
INTERFACE void msAPI_GOP_GWIN_ScrollLine(U8 winId, SCROLL_DIR dir, U16 pixLines, BOOLEAN bEnableGwin);
INTERFACE void msAPI_GOP_GWIN_GetScrollPosition(U8 winId, U16 *scrX, U16 *scrY);
INTERFACE void msAPI_GOP_GWIN_MapFBToWIN(U8 u8GEFrameBuffer_ID, U8 u8GWID);
INTERFACE void msAPI_GOP_GWIN_Switch2FB(U8 fbId);
INTERFACE void msAPI_GOP_GWIN_DeleteFB(U8 fbId);
INTERFACE U8 msAPI_GOP_GWIN_GetFreeWinID(void);
INTERFACE U8 msAPI_GOP_GWIN_GetMaxFreeWinID(void);
INTERFACE U8 msAPI_GOP_GWIN_GetFreeFBID(void);
INTERFACE U8 msAPI_GOP_GWIN_CreateFB(U8 FBId, U16 width, U16 height, U16 fbFmt);
INTERFACE U8 msAPI_GOP_GWIN_GetOSDID(void);
INTERFACE void msAPI_GOP_GWIN_Swap(U8 gId0, U8 gId1);
INTERFACE void msAPI_GOP_GWIN_SetBlending(U8 u8win, BOOLEAN bEnable, U8 u8coef);
INTERFACE void msAPI_GOP_RGB_Data_Mode_Select(U8 bEnable);
INTERFACE void msAPI_GOP_GWIN_SetFMT0TransClr(U16 clr);
INTERFACE U8 msAPI_GOP_GWIN_GetMAXFBID(void);
INTERFACE U8 msAPI_GOP_GWIN_GetMAXWinID(void);
INTERFACE void msAPI_GOP_GWIN_SetGOPInit(void);
INTERFACE void msAPI_GOP_GWIN_SetHScroll(U8 nWinID, U8 nRate, BOOLEAN bEnable);
INTERFACE void msAPI_GOP_GWIN_SetVScroll(U8 nWinID, U8 nRate, BOOLEAN bEnable);
INTERFACE BOOLEAN msAPI_GOP_GWIN_IsAllGWINDisabled(void);
INTERFACE BOOLEAN msAPI_GOP_GWIN_IsGWINEnabled(U8 winId);
INTERFACE U8 msAPI_GOP_GWIN_GetCurrentWinId();
INTERFACE void msAPI_GOP_GWIN_SetAlphaValue(U16 * Gwin01AlphaValue, U16 * Gwin23AlphaValue);
INTERFACE void msAPI_GOP_GWIN_GetAlphaValue(U16 * Gwin01AlphaValue, U16 * Gwin23AlphaValue);
INTERFACE void msAPI_GOP_GWIN_SetPallete(void);
#if (GOP_TEST_CODE == 1)
INTERFACE void msAPI_GOP_TEST(U32 testMask);
#endif
INTERFACE void msAPI_GOP_GWIN_SwitchGOP(U8 u8GOP);
INTERFACE void msAPI_GOP_GWIN_SetGOPDst(U8 u8GOP, U8 dsttype);
INTERFACE void msAPI_GOP_GWIN_MapFB2Win(U8 fbId, U8 gwinId);
INTERFACE void msAPI_GOP_GWIN_ReleaseWin(U8 gId);
INTERFACE U8 msAPI_GOP_GWIN_DestroyFB(U8 fbId);
INTERFACE void msAPI_GOP_GWIN_GetWinPosition(U8 winId, U16 * dispX, U16 *dispY);
INTERFACE U8 msAPI_GOP_GWIN_GetFBfromGWIN(U8 gwinId) ;
INTERFACE void msAPI_GOP_GWIN_GetFBRegion(U8 fbID, U16 *pX,U16 *pY, U16 *pW, U16 *pH);
INTERFACE void msAPI_GOP_GWIN_GetFBPosition(U8 fbID, U16 *pX,U16 *pY);
INTERFACE U8 msAPI_GOP_GWIN_CreateFB2(U8 FBId,U16 x, U16 y, U16 width, U16 height, U16 fbFmt);
INTERFACE void msAPI_GOP_GWIN_GetFBInfo(U8 fbId, Gwin_FB_Attr *fbAttr);
#undef INTERFACE
#endif /* MSAPI_GOP_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -