K1Guitar/AT32F403ARCT7_BOOT/device/LCD_ILI9341/Drv_ILI9341_Lcd_App.h

61 lines
4.6 KiB
C
Raw Normal View History

/*
* @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_FROM_FLASH(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_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