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