/* * @Author: CTW * @Date: 2025-11-13 16:56:59 * @FilePath: \PhoenixSMGT_Testproject\Drivers\LCD_ILI9341\Drv_ILI9341_Lcd_App.h * @Description: XXX * @INPUT: XXX * @OUTPUT: XXX */ #ifndef __DRV_ILI9341_LCD_APP_H #define __DRV_ILI9341_LCD_APP_H #include "includes.h" // 对齐模式宏(复用之前定义,若已定义可省略) #define LCD_ALIGN_LEFT 0 // 靠左对齐(左边界贴X=0) #define LCD_ALIGN_CENTER 1 // 居中对齐(字符串水平居中) #define LCD_ALIGN_RIGHT 2 // 靠右对齐(右边界贴X=240) extern uint16_t RGB(int r,int g,int b); extern void LCD_FillByColor(uint16_t xsta,uint16_t ysta,uint16_t xend,uint16_t yend,uint16_t color); extern void LCD_DrawRect(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2, uint16_t color, uint8_t fill); extern void LCD_FillRoundRect(uint16_t x0, uint16_t y0, uint16_t w, uint16_t h, uint16_t radius, uint16_t color); extern void LCD_FillRoundRectGradient(uint16_t x, uint16_t y, uint16_t w, uint16_t h, uint16_t r, uint16_t color_top, uint16_t color_bottom); extern void LCD_FillGradient(uint16_t xsta, uint16_t ysta, uint16_t xend, uint16_t yend, uint16_t color_top, uint16_t color_bottom); extern void LCD_WR_PIC(uint16_t x, uint16_t y, uint16_t length, uint16_t width, const uint8_t data[]); extern void LCD_WR_PIC_Trans(uint16_t x, uint16_t y, uint16_t length, uint16_t width, const uint8_t data[], uint16_t key_color); extern void LCD_WR_PIC_FROM_FLASH(uint16_t x, uint16_t y, uint16_t length, uint16_t width, uint32_t flash_addr); extern void LCD_WR_PIC_ClipX(uint16_t x, uint16_t y, uint16_t full_w, uint16_t h, uint16_t clip_w, const uint8_t data[]); extern void LCD_WR_PIC_FROM_FLASH_Trans(uint16_t x, uint16_t y, uint16_t length, uint16_t width, uint32_t flash_addr); extern void LCD_WR_PIC_ClipX(uint16_t x, uint16_t y, uint16_t full_w, uint16_t h, uint16_t clip_w, const uint8_t data[]); extern void LCD_WR_PIC_FROM_FLASH_Trans(uint16_t x, uint16_t y, uint16_t length, uint16_t width, uint32_t flash_addr); extern void LCD_DrawPoint(uint16_t x, uint16_t y, uint16_t color); //在指定位置画一个点 extern void LCD_DrawLine(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2, uint16_t color); //在指定位置画一条线 extern void LCD_DrawRectangle(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2, uint16_t color); //在指定位置画一个矩形 extern void LCD_DrawCircle(uint16_t x0, uint16_t y0, uint8_t r, uint16_t color); //在指定位置画一个圆 extern void LCD_FillCircle(uint16_t x0, uint16_t y0, uint8_t r, uint16_t color); //实心圆 extern void LCD_ShowChar(uint16_t x, uint16_t y, uint8_t num, uint16_t fc, uint16_t bc, uint8_t sizey, uint8_t mode); //extern void LCD_ShowChinese(uint16_t x, uint16_t y, uint8_t *str, uint16_t fc, uint16_t bc, uint8_t sizey, uint8_t mode); extern void LCD_ShowChinese(uint16_t x, uint16_t y, uint8_t index, uint16_t fc, uint16_t bc, uint8_t sizey, uint8_t mode); extern void LCD_ShowString(uint16_t x, uint16_t y, const uint8_t *p, uint16_t fc, uint16_t bc, uint8_t sizey, uint8_t mode); extern void LCD_ShowChineseString(uint16_t x, uint16_t y, uint8_t *str, uint16_t fc, uint16_t bc, uint8_t sizey, uint8_t mode); extern uint16_t LCD_ShowMixedString(uint16_t x1, uint16_t x2, uint16_t y, uint8_t *str, uint8_t align, uint16_t fc, uint16_t bc, uint8_t sizey, uint8_t mode); extern void LCD_ClearString(uint16_t x, uint16_t y, const uint8_t *p, uint16_t bc, uint8_t sizey, uint8_t mode); extern uint16_t LCD_ShowString_AutoAlign(uint16_t x1, uint16_t x2, uint16_t y, const uint8_t *p,uint8_t align, uint16_t fc, uint16_t bc, uint8_t mode, uint8_t size); extern void LCD_ClearString_AutoAlign(uint16_t x1, uint16_t x2, uint16_t y, const uint8_t *p,uint8_t align,uint16_t fc, uint16_t bc, uint8_t mode, uint8_t size); extern uint32_t LCD_ShowChinese_AutoAlign(uint16_t x1, uint16_t x2, uint16_t y, const uint8_t *p, uint8_t align, uint16_t fc, uint16_t bc, uint8_t mode, uint8_t size); //extern void LCD_ClearChinese_AutoAlign(uint8_t x, uint16_t y, const uint8_t *p, uint8_t align,uint16_t fc, uint16_t bc, uint8_t mode, uint8_t size); extern void LCD_ClearChinese_AutoAlign(uint16_t x1, uint16_t x2, uint16_t y, const uint8_t *p, uint8_t align, uint8_t fc,uint16_t bc, uint8_t mode, uint8_t size); extern void LCD_DrawArrow_Left(uint16_t x, uint16_t y, uint8_t size, uint16_t color, uint16_t bg_color); extern void LCD_DrawArrow_Right(uint16_t x, uint16_t y, uint8_t size, uint16_t color, uint16_t bg_color); extern void LCD_DrawPlus_RoundBox(uint16_t x, uint16_t y, uint8_t size, uint8_t radius, uint16_t fg_color, uint16_t bg_color); extern void LCD_DrawMinus_RoundBox(uint16_t x, uint16_t y, uint8_t size, uint8_t radius, uint16_t fg_color, uint16_t bg_color); extern void Draw_Volume_Bar(uint16_t x, uint16_t y, uint8_t volume_level,uint8_t scale,uint16_t color_on, uint16_t color_off); extern void Draw_Bluetooth_Icon(uint16_t x, uint16_t y, bool bt_state); //extern void Draw_Battery_Icon(uint16_t x, uint16_t y, uint8_t battery_percent); extern void Draw_Battery_Icon(uint16_t x, uint16_t y, uint8_t battery_percent,uint8_t scale, uint16_t border_color, uint16_t bg_color, uint16_t fill_color); extern void Draw_Charging_Icon(uint16_t x, uint16_t y, uint8_t scale, uint16_t ring_color); #endif