tft_user.c

来自「Taiwan sunplus develop spce3200, it is a」· C语言 代码 · 共 66 行

C
66
字号
//====================================================================================
//File Name:	TFT_User.c
//Description:	TFT user-defined callback routines
//Update:		2007.01.17 V0.1 by wangtao <wangtao@sunnorth.com.cn>
//====================================================================================
#include "TFT_API.h"
#include "Resource.h"

extern short gAsciiFontType;
extern short gChineseFontType;
extern STR_FONT gAsciiFont;
extern STR_FONT gChineseFont;

const STR_FONT AsciiFontSet[] = {						// ASCII font list
	{8, 16, RES_ASC16},
};

const STR_FONT ChineseFontSet[] = {						// Chinese font list
	{16, 16, RES_HZK16},
};

//=============================================================
// Prototype:		void TFT_CallBack_UpdateFont(void);
// Description:		Update information of current font. It will be called by TFT_API.c.
// Arguments:		None 
// Return Value:	None
//=============================================================
void TFT_CallBack_UpdateFont(void)
{
	gAsciiFont.CharWidth = AsciiFontSet[gAsciiFontType].CharWidth;
	gAsciiFont.CharHeight = AsciiFontSet[gAsciiFontType].CharHeight;
	gAsciiFont.FontBuf = AsciiFontSet[gAsciiFontType].FontBuf;
	
	gChineseFont.CharWidth = ChineseFontSet[gChineseFontType].CharWidth;
	gChineseFont.CharHeight = ChineseFontSet[gChineseFontType].CharHeight;
	gChineseFont.FontBuf = ChineseFontSet[gChineseFontType].FontBuf;
}

//=============================================================
// Prototype:	void TFT_CallBack_GetCharBuf(unsigned short CharCode, STR_FONT *Font_Char);
// Description:	Set TFT buffer format and address.
// Arguments:		
//				CharCode - Character code 
//				Font_Char - Address of dot matrix structure
// Return Value:	
//				None
//=============================================================
void TFT_CallBack_GetCharBuf(unsigned short CharCode, STR_FONT *Font_Char)
{
	if(CharCode<=0x00FF)								// ASCII character
	{
		Font_Char->CharWidth = gAsciiFont.CharWidth;
		Font_Char->CharHeight = gAsciiFont.CharHeight;
		Font_Char->FontBuf = gAsciiFont.FontBuf;
		Font_Char->FontBuf += CharCode*gAsciiFont.CharHeight*((gAsciiFont.CharWidth+7)>>3);
	}
	else												// Chinese character
	{
		Font_Char->CharWidth = gChineseFont.CharWidth;
		Font_Char->CharHeight = gChineseFont.CharHeight;
		Font_Char->FontBuf = gChineseFont.FontBuf;
		Font_Char->FontBuf += (unsigned int)(94*((CharCode&0xFF)-0xA1)+((CharCode>>8)-0xA1))
				* gChineseFont.CharHeight * ((gChineseFont.CharWidth+7)>>3);
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?