loc_graphics.h 3.31 KB
Newer Older
hu's avatar
hu committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
/**********************************************************************************************************
* @file    loc_graphics.h
* @author  HZS
* @version V1.0.0
* @date    2020.12.24
* @brief   c header file
********************************************************************************************************/
#ifndef LOC_GRAPHICS_H_
#define LOC_GRAPHICS_H_

#include "r_typedefs.h"        /* Renesas basic types, e.g. uint32_t */

/******************************
WINDOW  SET
******************************/
#define GUI_BLENDMODE_CUSTOM        0
#define GUI_BLENDMODE_SRC_OVER      2

typedef struct
{
    uint32_t MemBase;
    uint32_t WrapBits;
    uint32_t WrapBase;
    uint32_t WrapSize;
    uint32_t Alignment;
} r_cdi_Wrap_t;

typedef enum
{
hu's avatar
hu committed
30 31 32 33 34 35 36 37 38 39 40 41 42
    WET_Sprite,         /*区域1 - 量表显示    - WET*/
    AdBlue_Sprite,      /*区域1 - 量表显示    - AdBlue*/
    TRIP_Sprite,        /*区域2 - TRIP显示*/
    ODO_Sprite,         /*区域2 - ODO显示*/
    WarningLight_Sprite,/*区域3 - 警告灯显示*/
    ADAS_Sprite,        /*区域4 - ADAS显示*/
    MultiPurpose_Sprite,/*区域5 - 多目的性显示区域*/
    Cruise_Sprite,      /*区域6 - 巡航显示*/
    Gear_Sprite,        /*区域7 - 档位显示*/
    Temp_Sprite,        /*区域8 - 温度显示*/
    Time_Sprite,        /*区域8 - 时间显示*/
    Calendar_Sprite,    /*区域8 - 日历显示*/
    MENU_Sprite,        /*菜单区域*/
hu's avatar
hu committed
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
    Max_Sprite,
} SpriteName_t;

typedef enum
{
    TARGET_FLASH = 0u,
    TARGET_LRAM,
    TARGET_SDRAM,
    TARGET_VRAM,
    TARGET_VRAM_RGB888,
    TARGET_VRAM_ARGB6666,
    TARGET_VRAM_RGB666,
} SpriteTarge_t;


typedef struct
{
    uint16_t     u16ImageID;
    uint16_t     u16PosX;
    uint16_t     u16PosY;
    uint8_t      u8BlendEn;
    uint8_t      u8RotateEn;
    int32_t      i32Angle;
    float        fModulus;
    uint8_t      u8Dir;
    uint8_t      u8AlphaEn;
    int32_t      i32Alpha;
    uint8_t      u8ScaleEn;
    float        fFactor;
    uint8_t      u8UnicodeEn;
hu's avatar
hu committed
73
    uint32_t     u32UnicodeColor;
hu's avatar
hu committed
74
    uint8_t      UnicodeLen;
hu's avatar
hu committed
75
    uint16_t     *pUnicode;
hu's avatar
hu committed
76 77 78 79 80 81 82 83 84 85
} LogicLayerAttr_t;

typedef struct
{
    uint16_t     u16JPEGWinWidth;
    uint16_t     u16JPEGWinHeight;
    uint16_t     u16JPEGWinPitch;
    uint16_t     u16LocWinWidth;
    uint16_t     u16LocWinHeight;
    uint16_t     u16LocWinPitch;
hu's avatar
hu committed
86
    uint8_t      u8ScreenRefrsh;   /*单位Unit = 10ms*/
hu's avatar
hu committed
87 88 89 90 91 92 93 94 95 96 97
    uint8_t      u8NumOfMainScreenSprite;
    uint8_t      u8NumofAllSprite;
    uint16_t     u16NumofImage;
} r_screen_attr_t;

/**********************************************APP**********************************************/
void loc_App(void *pSpriteHandler, void *pScreenAttr);
r_Error_t loc_RenderTexture_Normal(SpriteName_t SpriteID, LogicLayerAttr_t locParam);
r_Error_t loc_Unicode_Normal(SpriteName_t  SpriteID, LogicLayerAttr_t locParam, uint16_t Unicode[], uint8_t Length);
void loc_Disable_Window_App(void);
void loc_Enable_Window_App(void);
hu's avatar
hu committed
98
void loc_Display_Service(void);   /*要求10ms任务调用*/
hu's avatar
hu committed
99 100 101 102 103 104 105 106 107 108 109
void loc_power_off(void);
void loc_memset_LogicLayerAttr(LogicLayerAttr_t *locParam);
void loc_Del_Sprite(SpriteName_t DelStartID, SpriteName_t DelEndID);
void loc_free_mem(uint8_t startID, uint8_t endID);
void loc_enable_mem(uint8_t startID, uint8_t endID);
void loc_Move_Sprite(SpriteName_t SpriteID, uint32_t PosX, uint32_t PosY, uint32_t PosZ);

#endif