/********************************************************************************************************** * @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 ******************************/ /****************************** WINDOW SET ******************************/ #define LOC_NORMAL_W 1280 #define LOC_NORMAL_H 480 #define LOC_NORMAL_PITCH 1280 #define LOC_JPEG_W 1280 #define LOC_JPEG_H 480 #define LOC_JPEGL_PITCH 1280 #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 { Left_Sprite, Middle_Sprite, Right_Sprite, Top1_Sprite, //Top2_Sprite, //AirP1_Sprite, Clock_Sprite, Top4_Sprite, Top5_Sprite, //AirP2_Sprite, Top6_Sprite, Top7_Sprite, Bottm1_Sprite, Bottm2_Sprite, Bottm2P_Sprite, Bottm3_Sprite, Bottm4_Sprite, Bottm5_Sprite, Bottm6_Sprite, Bottm7_Sprite, //Bottm8_Sprite, Bottm9_Sprite, Bottm10_Sprite, Bottm11_Sprite, Stop_Sprite, Park_Sprite, //Battery_Sprite, Charge_Sprite, 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; float i32Angle; float fModulus; uint8_t u8Dir; uint8_t u8AlphaEn; int32_t i32Alpha; uint8_t u8ScaleEn; float fFactor; uint8_t u8UnicodeEn; uint32_t u32UnicodeColor; uint8_t UnicodeLen; uint16_t *pUnicode; } LogicLayerAttr_t; typedef struct { uint16_t u16JPEGWinWidth; uint16_t u16JPEGWinHeight; uint16_t u16JPEGWinPitch; uint16_t u16LocWinWidth; uint16_t u16LocWinHeight; uint16_t u16LocWinPitch; uint8_t u8ScreenRefrsh; //单位Unit = 10ms 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); void loc_Display_Service(void); //要求10ms任务调用 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); #endif