firmware/br-ext-chip-sigmastar/package/sigmastar-osdrv-ssc335/files/include/mi_gfx.h

77 lines
3.8 KiB
C
Raw Blame History

/* Copyright (c) 2018-2019 Sigmastar Technology Corp.
All rights reserved.
Unless otherwise stipulated in writing, any and all information contained
herein regardless in any format shall remain the sole proprietary of
Sigmastar Technology Corp. and be kept in strict confidence
(<28><>Sigmastar Confidential Information<6F><6E>) by the recipient.
Any unauthorized act including without limitation unauthorized disclosure,
copying, use, reproduction, sale, distribution, modification, disassembling,
reverse engineering and compiling of the contents of Sigmastar Confidential
Information is unlawful and strictly prohibited. Sigmastar hereby reserves the
rights to any and all damages, losses, costs and expenses resulting therefrom.
*/
#ifndef _MI_GFX_H_
#define _MI_GFX_H_
#ifdef __cplusplus
extern "C" {
#endif
#include "mi_common.h"
#include "mi_gfx_datatype.h"
#define GFX_MAJOR_VERSION 2
#define GFX_SUB_VERSION 5
#define MACRO_TO_STR(macro) #macro
#define GFX_VERSION_STR(major_version,sub_version) ({char *tmp = sub_version/100 ? \
"mi_gfx_version_" MACRO_TO_STR(major_version)"." MACRO_TO_STR(sub_version) : sub_version/10 ? \
"mi_gfx_version_" MACRO_TO_STR(major_version)".0" MACRO_TO_STR(sub_version) : \
"mi_gfx_version_" MACRO_TO_STR(major_version)".00" MACRO_TO_STR(sub_version);tmp;})
#define MI_GFX_API_VERSION GFX_VERSION_STR(GFX_MAJOR_VERSION,GFX_SUB_VERSION)
/*-------------------------------------------------------------------------------------------
* Global Functions
-------------------------------------------------------------------------------------------*/
MI_S32 MI_GFX_Open(void);
MI_S32 MI_GFX_Close(void);
MI_S32 MI_GFX_WaitAllDone(MI_BOOL bWaitAllDone, MI_U16 u16TargetFence);
//-------------------------------------------------------------------------------------------------
/// Fill Rect
/// @param pstDst \b IN: Target Surface info
/// @param pstDstRect \b IN: Target Rect info
/// @param u32ColorVal \b IN: Color to fill
/// For all RGB color, the color set as the ARGB8888 format.\n
/// Each color component need to shift to high bit.\n
/// Use ARGB1555 as the example, the source color key as the following:\n
/// ARGB1555 --> ARRRRRGGGGGBBBBB (every character represents one bit)\n
/// For I8 format, the index set to b component\n
/// @param pu16Fence \b OUT: wait fence
/// @return MI_SUCCESS - Success
/// @return OTHER - Failure
//------------------------------------------------------------------------------------------------
MI_S32 MI_GFX_QuickFill(MI_GFX_Surface_t *pstDst, MI_GFX_Rect_t *pstDstRect,
MI_U32 u32ColorVal, MI_U16 *pu16Fence);
MI_S32 MI_GFX_GetAlphaThresholdValue(MI_U8 *pu8ThresholdValue);
MI_S32 MI_GFX_SetAlphaThresholdValue(MI_U8 u8ThresholdValue);
MI_S32 MI_GFX_BitBlit(MI_GFX_Surface_t *pstSrc, MI_GFX_Rect_t *pstSrcRect,
MI_GFX_Surface_t *pstDst, MI_GFX_Rect_t *pstDstRect, MI_GFX_Opt_t *pstOpt, MI_U16 *pu16Fence);
//-------------------------------------------------------------------------------------------------
/// Set Palette for Index Color format(I2/I4/I8)
/// @param eColorFmt \b IN: Index Color format(I2/I4/I8)
/// @param pstPalette \b IN: RGB color data array for corresponding Index Color
/// @return MI_SUCCESS - Success
/// @return OTHER - Failure,refer to error code
//------------------------------------------------------------------------------------------------
MI_S32 MI_GFX_SetPalette(MI_GFX_ColorFmt_e eColorFmt, MI_GFX_Palette_t* pstPalette);
MI_S32 MI_GFX_InitDev(MI_GFX_InitParam_t *pstInitParam);
MI_S32 MI_GFX_DeInitDev(void);
#ifdef __cplusplus
}
#endif
#endif //_MI_GFX_H_