📄 my_windows.c
字号:
#include "config.h"
/****************************************************************************
* 名称:GUI_Point_Index()
* 功能:在指定位置上画点。
* 入口参数:x 指定点所在列的位置
* y 指定点所在行的位置
* Index 显示颜色索引值
* 出口参数:返回值为1时表示操作成功,为0时表示操作失败。
* 说明:操作失败原因是指定地址超出缓冲区范围。
****************************************************************************/
uint8 GUI_Point_Index(uint8 x, uint8 y, uint16 Index)
{
// 参数过滤
if(x>=GUI_LCM_XMAX) return(0);
if(y>=GUI_LCM_YMAX) return(0);
*(&GBA_VRAM + 240*y + x) = Index;
return(1);
}
/****************************************************************************
* 名称:MyGUI_LoadLine()
* 功能:输出彩色图形的一行数据。
* 入口参数: x 指定显示位置,x坐标
* y 指定显示位置,y坐标
* dat 要输出显示的数据。
* no 要显示此行的点个数
* 出口参数:返回值为1时表示操作成功,为0时表示操作失败。
* 说明:操作失败原因是指定地址超出有效范围。
****************************************************************************/
uint8 MyGUI_LoadLine(uint32 x, uint32 y, uint8 *dat, uint32 no)
{
uint32 i;
uint8 bit_dat0;
uint8 bit_dat1;
/* 参数过滤 */
if(x>=GUI_LCM_XMAX) return(0);
if(y>=GUI_LCM_YMAX) return(0);
for(i=0; i<no; i++)
{
bit_dat0 = *dat++;
bit_dat1 = *dat++;
GUI_Point_Index(x,y,bit_dat0|(bit_dat1<<7));
if(++x>=GUI_LCM_XMAX)
return(0);
}
return(1);
}
/****************************************************************************
* 名称:MyGUI_LoadPic()
* 功能:输出彩色图形数据。
* 入口参数: x 指定显示位置,x坐标
* y 指定显示位置,y坐标
* dat 要输出显示的数据
* 出口参数:无
* 说明:操作失败原因是指定地址超出有效范围。
****************************************************************************/
void MyGUI_LoadPic(uint32 x, uint32 y, uint8 *dat)
{
uint32 i;
uint32 hno, lno;
HEADCOLOR * head;
head = (HEADCOLOR * )dat;
hno = head->w ;
lno = head->h ;
dat += sizeof(HEADCOLOR);
for(i=0; i<lno; i++)
{
MyGUI_LoadLine(x, y, dat, hno); // 输出一行数据
dat += (hno*2); // 计算下一行的数据
y++; // 显示下一行
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -