⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 my_windows.c

📁 没有开发板也可以学ARM。ucos-ii与ZLG-GUI的GBA移植
💻 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 + -