Files
player/Project/Src/MyWin/MyWinCore/mywin_lcd.h
2025-07-06 18:46:13 +08:00

97 lines
3.3 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#ifndef MYWIN_LCD_H__
#define MYWIN_LCD_H__
// 创建一个虚拟屏幕
WIN_LcdStruct *WIN_CreatVirtualLcd(int x_size, int y_size);
// 删除虚拟屏幕
void WIN_DeleteVirtualLcd(WIN_LcdStruct *lcd);
// 设置屏幕显示方向
void WIN_LcdSetScreenDis(WIN_LcdStruct *lcd, int d);
// 设置活动窗口
void WIN_LcdSetWindow(WIN_LcdStruct *lcd, int x_s, int y_s, int x_size,
int y_size);
int WIN_LcdGetWindowSizeX(WIN_LcdStruct *lcd);
int WIN_LcdGetWindowSizeY(WIN_LcdStruct *lcd);
int WIN_LcdGetLcdSizeX(WIN_LcdStruct *lcd);
int WIN_LcdGetLcdSizeY(WIN_LcdStruct *lcd);
u32 WIN_LcdSetLcdColor(WIN_LcdStruct *lcd, u32 color);
u32 WIN_LcdSetLcdBkColor(WIN_LcdStruct *lcd, u32 color);
u32 WIN_LcdSetLcdColor16(WIN_LcdStruct *lcd, u32 color);
u32 WIN_LcdSetLcdBkColor16(WIN_LcdStruct *lcd, u32 color);
u32 WIN_LcdGetLcdColor(WIN_LcdStruct *lcd);
u32 WIN_LcdGetLcdBkColor(WIN_LcdStruct *lcd);
u32 WIN_LcdGetLcdColor16(WIN_LcdStruct *lcd);
u32 WIN_LcdGetLcdBkColor16(WIN_LcdStruct *lcd);
// 设置绘制模式1不绘制背景0绘制背景
void WIN_LcdSetLcdDrawMode(WIN_LcdStruct *lcd, int mode);
void WIN_LcdFillRectOff16At(WIN_LcdStruct *lcd, int s_x, int s_y, int s_xsize,
int s_ysize, u16 *buff, int x_s, int y_s, int xsize,
int ysize);
// 安全画点,以屏幕窗口的坐标为原点,并且画点不会超出窗口范围
void WIN_LcdDrawPointSafe(WIN_LcdStruct *lcd, int x, int y, int mode);
// 安全画点,以屏幕窗口的坐标为原点,并且画点不会超出窗口范围
// 以指定颜色画点,而不是前景色
void WIN_LcdDrawPointSafeColor(WIN_LcdStruct *lcd, int x, int y, u16 color);
// 以指定色透明度画点0~32,0,全透明31不透明
void WIN_LcdDrawPointSafeColorAlpha(WIN_LcdStruct *lcd, int x, int y, u16 color,
u8 alpha);
// 填充矩形,已窗口坐标为原点
void WIN_LcdFillRectByColor(WIN_LcdStruct *lcd, int x, int y, int x_size,
int y_size);
// 以透明度填充矩形,已窗口坐标为原点
void WIN_LcdFillRectByColorAlpha(WIN_LcdStruct *lcd, int x, int y, int x_size,
int y_size, u8 alpha);
// 绘制图标,图标使用const数组编译在程序里其本身已经附带了大小等参数
// 此函数效率比较低,只用于绘制小图标,绘制图片使用矩形填充函数
void WIN_LcdDrawImag(WIN_LcdStruct *lcd, int x, int y, int xsize, int ysize,
const u8 *buff);
// 绘制图标,但是不绘制指定颜色
void WIN_LcdDrawImagButColor(WIN_LcdStruct *lcd, int x, int y, int xsize,
int ysize, const u8 *buff, u16 color);
// 绘制图标,把图像的有效部分绘制为指定颜色
// 此函数效率比较低,只用于绘制小图标,绘制图片使用矩形填充函数
void WIN_LcdDrawImagByColor(WIN_LcdStruct *lcd, int x, int y, int xsize,
int ysize, const u8 *buff, u16 color);
// 绘制图标,把原图像转化为透明度,用指定颜色来绘制
// 此函数效率比较低,只用于绘制小图标,绘制图片使用矩形填充函数
void WIN_LcdDrawImagByAlpha(WIN_LcdStruct *lcd, int x, int y, int xsize,
int ysize, const u8 *buff, u16 color);
// 清除绘图窗口内的显示
void WIN_LcdClear(WIN_LcdStruct *lcd);
// 清除矩形内的显示
void WIN_LcdClearRect(WIN_LcdStruct *lcd, int x, int y, int x_size, int y_size);
// 获取指定矩形空间的屏幕颜色,屏幕的绝对坐标
void WIN_LcdGetColors(WIN_LcdStruct *lcd, u16 *buff, int x_s, int y_s,
int x_size, int y_size);
#endif