apiosdutil.c

来自「mstar 776 开发的车载dvd」· C语言 代码 · 共 75 行

C
75
字号
#include <DataType.h>
#include "drvGE.h"
#include "drvGOP.h"
#include "apiOsdGC.h"
#include "apiOSDUtil.h"
#include "apiOsdRender.h"
#include "msAPI_GOP.h"

GE_Buffer_Format MapGEColorType(GC_ColorFmt  fmt)
{
    switch(fmt)
    {
        case FMT_RGB555:
            return GE_FMT_ARGB1555;
        case FMT_RGB565:
            return GE_FMT_RGB565;
        case FMT_ARGB4444:
            return GE_FMT_ARGB4444;
        case FMT_ARGB8888:
            return GE_FMT_ARGB8888;
        case FMT_I8:
            return GE_FMT_I8;

        default:
            return 0xff;
    }
}

U8 MapGCColorDepth (GC_ColorFmt  fmt)
{
    switch(fmt)
    {
        case FMT_RGB555:
        case FMT_RGB565:
        case FMT_ARGB4444:
            return 2;
        case FMT_ARGB8888:
            return 4;
        case FMT_I8:
            return 1;
        default:
            return 0xff;
    }
}

void SetDstBuffer(OsdGC *pGC, U8 index)
{
    //GE_BUFFER_INFO *pBuffer;
    Rect r;
    OSD_ALPHA_BLENDING Alpha_Blending;
    OSD_COLOR_FMT eColorFmt = OSD_ARGB8888;
    //OSD_COLOR eColor;

    Alpha_Blending.bEnable_Blend = FALSE;
	//pBuffer = GetBufferHandle(pGC);
    if(index == BUFFER_TEMP)
    {
        RECT(r, 0, 0, pGC->s16Width, pGC->s16Height);
    }
    else if(index == ON_SCREEN)
    {
        RECT(r, 0, 0, pGC->s16Width, pGC->s16Height);
    }

    msAPI_GOP_GWIN_Switch2FB(pGC->u8FBID);

	//PRINTE("\r\n[Note] GWin Switch to %d FB", (U16)pGC->u8FBID);

	//if (MDrv_GE_PE_SetDstBufferInfo(pBuffer ,0) != GESTATUS_SUCCESS)
    //{
    //    PRINTE ("MApi_Osd_BeginDraw: fall by call SetDstBuffer -> MDrv_GE_PE_SetDstBufferInfo \r\n");
    //    return;
    //}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?