#include "GUI_Interface.h" #include "jcua.h" #include "loc_graphics.h" /****************************************************************************** 函数名:GUI_General_Digit_Display ******************************************************************************/ /*数字显示函数 Digit:数值 Font: 字号 Len: 长度 Blank:消隐 *px: X坐标,个位在前 y: Y坐标 */ void GUI_General_Digit_Display(SpriteName_t SpriteID, uint32_t Digit, uint16_t Font, uint8_t Len, uint8_t Blank, const uint16_t *px, uint16_t y, uint8_t u8BlendEn) { uint8_t i; uint8_t ActLen; uint8_t d[10]; LogicLayerAttr_t LogicLayerAttr = {0}; ActLen = 0; while (Digit) { d[ActLen] = Digit % 10; Digit /= 10; ActLen++; } if (ActLen == 0) { ActLen = 1; d[0] = 0; } for (i = ActLen; i < Len; i++ ) d[i] = 0; i = (Len - 1); while ((d[i] == 0) && (i >= (Len - Blank))) { d[i] = 0xFF; i--; } loc_memset_LogicLayerAttr(&LogicLayerAttr); LogicLayerAttr.u8BlendEn = u8BlendEn; for (i = 0; i < Len; i++) { if (d[i] == 0xFF) return; else { LogicLayerAttr.u16ImageID = Font + d[i]; LogicLayerAttr.u16PosX = *(px + i); LogicLayerAttr.u16PosY = y; loc_RenderTexture_Normal(SpriteID, LogicLayerAttr); } } } /* Function : GUI_Translate_Display SpriteID : The map's name Position : posx posy 坐标自行填写 */ void GUI_Translate_Display(SpriteName_t SpriteID, uint16_t ImageID, uint16_t Posx, uint16_t Posy, uint8_t u8BlendEn) { LogicLayerAttr_t LogicLayerAttr = {0}; loc_memset_LogicLayerAttr(&LogicLayerAttr); LogicLayerAttr.u16ImageID = ImageID; LogicLayerAttr.u16PosX = Posx; LogicLayerAttr.u16PosY = Posy; LogicLayerAttr.u8BlendEn = u8BlendEn; loc_RenderTexture_Normal(SpriteID, LogicLayerAttr); } void GUI_Translate_Display1(SpriteName_t SpriteID, uint16_t ImageID, uint16_t Posx, uint16_t Posy, uint8_t u8RotateEn, float angle, float floatN, uint8_t dir) { LogicLayerAttr_t LogicLayerAttr = {0}; loc_memset_LogicLayerAttr(&LogicLayerAttr); LogicLayerAttr.u16ImageID = ImageID; LogicLayerAttr.u16PosX = Posx; LogicLayerAttr.u16PosY = Posy; LogicLayerAttr.i32Angle = angle; LogicLayerAttr.fModulus = floatN; LogicLayerAttr.u8Dir = dir; LogicLayerAttr.u8RotateEn = u8RotateEn; loc_RenderTexture_Normal(SpriteID, LogicLayerAttr); } /* Function : GUI_General_Display SpriteID : The map's name 坐标自动索引 底图用jpg格式用此函数 */ void GUI_General_Display(SpriteName_t SpriteID, uint16_t ImageID, uint8_t u8BlendEn) { LogicLayerAttr_t LogicLayerAttr = {0}; t_PicStruct picStruct = get_Pic_Attribute(ImageID); if (picStruct .u16Pic_Format != JPG) { loc_memset_LogicLayerAttr(&LogicLayerAttr); LogicLayerAttr.u16ImageID = ImageID; LogicLayerAttr.u16PosX = picStruct.u16Pic_X; LogicLayerAttr.u16PosY = picStruct.u16Pic_Y; LogicLayerAttr.u8BlendEn = u8BlendEn; loc_RenderTexture_Normal(SpriteID, LogicLayerAttr); } else loc_JcuaRun(picStruct.u32Pic_Addr); } /* Function : GUI_General_Display SpriteID : The map's name 坐标自动索引 底图用jpg格式用此函数 */ void GUI_General_Display0(uint16_t SpriteID) { t_PicStruct picStruct = get_Pic_Attribute(SpriteID); /* if (picStruct .u16Pic_Format != JPG) loc_RenderTexture_normal(SpriteID); else*/ loc_JcuaRun(picStruct .u32Pic_Addr); }