?? loadbit.c
字號:
/****************************************************************************************
* 文件名:LOADBIT.C
* 功能:顯示單色圖形及漢字顯示。先將圖形轉換為對應的點陣數組,然后即可調用此文件的函數輸出驅動。
* 作者:黃紹斌
* 日期:2004.02.26
* 備注:使用GUI_SetBackColor()函數設置顯示顏色及背景色。
****************************************************************************************/
#include "config.h"
#if (GUI_LoadPic_EN==1)|(GUI_MenuIco_EN==1)|(GUI_PutHZ_EN==1)
/****************************************************************************
* 名稱:GUI_LoadLine()
* 功能:輸出單色圖形的一行數據。
* 入口參數: x 指定顯示位置,x坐標
* y 指定顯示位置,y坐標
* dat 要輸出顯示的數據。
* no 要顯示此行的點個數
* 出口參數:返回值為1時表示操作成功,為0時表示操作失敗。
* 說明:操作失敗原因是指定地址超出有效范圍。
****************************************************************************/
uint8 GUI_LoadLine(uint32 x, uint32 y, uint8 *dat, uint32 no)
{ uint8 bit_dat;
uint8 i;
TCOLOR bakc;
/* 參數過濾 */
if(x>=GUI_LCM_XMAX) return(0);
if(y>=GUI_LCM_YMAX) return(0);
for(i=0; i<no; i++)
{ /* 判斷是否要讀取點陣數據 */
if( (i%8)==0 ) bit_dat = *dat++;
/* 設置相應的點為color或為back_color */
if( (bit_dat&DCB2HEX_TAB[i&0x07])==0 ) GUI_CopyColor(&bakc, back_color);
else GUI_CopyColor(&bakc, disp_color);
GUI_Point(x, y, bakc);
if( (++x)>=GUI_LCM_XMAX ) return(0);
}
return(1);
}
#endif
#if (GUI_LoadPic_EN==1)|(GUI_MenuIco_EN==1)
/****************************************************************************
* 名稱:GUI_LoadPic()
* 功能:輸出單色圖形數據。
* 入口參數: x 指定顯示位置,x坐標
* y 指定顯示位置,y坐標
* dat 要輸出顯示的數據
* hno 要顯示此行的點個數
* lno 要顯示此列的點個數
* 出口參數:無
* 說明:操作失敗原因是指定地址超出有效范圍。
****************************************************************************/
void GUI_LoadPic(uint32 x, uint32 y, uint8 *dat, uint32 hno, uint32 lno)
{ uint32 i;
for(i=0; i<lno; i++)
{ GUI_LoadLine(x, y, dat, hno); // 輸出一行數據
y++; // 顯示下一行
dat += (hno>>3); // 計算下一行的數據
if( (hno&0x07)!=0 ) dat++;
}
}
/****************************************************************************
* 名稱:GUI_LoadPic1()
* 功能:輸出單色圖形數據,反相顯示。
* 入口參數: x 指定顯示位置,x坐標
* y 指定顯示位置,y坐標
* dat 要輸出顯示的數據。
* hno 要顯示此行的點個數
* lno 要顯示此列的點個數
* 出口參數:無
* 說明:操作失敗原因是指定地址超出有效范圍。
****************************************************************************/
void GUI_LoadPic1(uint32 x, uint32 y, uint8 *dat, uint32 hno, uint32 lno)
{ uint32 i;
GUI_ExchangeColor(); // 顯示色與背景色交換
for(i=0; i<lno; i++)
{ GUI_LoadLine(x, y, dat, hno); // 輸出一行數據
y++; // 顯示下一行
dat += (hno>>3); // 計算下一行的數據
if( (hno&0x07)!=0 ) dat++;
}
GUI_ExchangeColor();
}
#endif
#if GUI_PutHZ_EN==1
/****************************************************************************
* 名稱:GUI_PutHZ()
* 功能:顯示漢字。
* 入口參數: x 指定顯示位置,x坐標
* y 指定顯示位置,y坐標
* dat 要輸出顯示的漢字點陣數據。
* hno 要顯示此行的點個數
* lno 要顯示此列的點個數
* 出口參數:無
* 說明:操作失敗原因是指定地址超出有效范圍。
****************************************************************************/
void GUI_PutHZ(uint32 x, uint32 y, uint8 *dat, uint8 hno, uint8 lno)
{ uint8 i;
for(i=0; i<lno; i++)
{ GUI_LoadLine(x, y, dat, hno); // 輸出一行數據
y++; // 顯示下一行
dat += (hno>>3); // 計算下一行的數據
if( (hno&0x07)!=0 ) dat++;
}
}
#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -