Example #1
0
void Lcd_TFT_Init(void)
{
	Lcd_Init();
	Lcd_PowerEnable(0, 1);
	Lcd_EnvidOnOff(1);		//turn on vedio
	Lcd_ClearScr( (0x00<<11) | (0x00<<5) | (0x00) );  
}
void Touch_Test(void)
{
	#define X_OFFSET 0
	#define Y_OFFSET 10
	float r = 4;	// Brush size
	char str[8];
	Cursor strCursor1, strCursor2, strCursor3,
	       strCursor4, strCursor5, strCursor6,
				 buttonCursor;// String cursor
	touchscreen_data ts_data;
	
	Lcd_ClearScr(320,240,0xFFFF);
	strCursor1 = Set_Cursor(16 + X_OFFSET,0 + Y_OFFSET);
	strCursor2 = Set_Cursor(16 + X_OFFSET,16 + Y_OFFSET);
	strCursor3 = Set_Cursor(16 + X_OFFSET,32 + Y_OFFSET);
	strCursor4 = Set_Cursor(0 + X_OFFSET,0 + Y_OFFSET);
	strCursor5 = Set_Cursor(0 + X_OFFSET,16 + Y_OFFSET);
	strCursor6 = Set_Cursor(0 + X_OFFSET,32 + Y_OFFSET);
	GLCD_printf("x:", 0x0000, 0xffff, strCursor4);
	GLCD_printf("y:", 0x0000, 0xffff, strCursor5);
	GLCD_printf("p:", 0x0000, 0xffff, strCursor6);
	
	GLCD_RoundRect(10,90,80,110,5,LIGHT_BLUE);
	GLCD_RoundRect(10,90,120,150,5,LIGHT_BLUE);
	GLCD_RoundRect(10,90,160,190,5,LIGHT_BLUE);
	GLCD_RoundRect(10,90,200,230,5,LIGHT_BLUE);
	buttonCursor = Set_Cursor(46,87);
	GLCD_printf("+", WHITE, LIGHT_BLUE, buttonCursor);
	buttonCursor = Set_Cursor(46,127);
	GLCD_printf("-", WHITE, LIGHT_BLUE, buttonCursor);
	buttonCursor = Set_Cursor(22,167);
	GLCD_printf("Refresh", WHITE, LIGHT_BLUE, buttonCursor);
	buttonCursor = Set_Cursor(34,207);
	GLCD_printf("Back", WHITE, LIGHT_BLUE, buttonCursor);
	
	
	while(1)
	{
		ts_data = GetTS_Fast();
		GLCD_Ellipsoid(75-r,75+r,35-r,35+r,BLACK);
		putarea(91,105,0,239,WHITE);
		
		myItoa(ts_data.xvalue,str,10);
		GLCD_printf_window(str,0x0000, 0xffff, strCursor1, 4);
		myItoa(ts_data.yvalue,str,10);
		GLCD_printf_window(str,0x0000, 0xffff, strCursor2, 4);
		myItoa(ts_data.pvalue,str,10);
		GLCD_printf_window(str,0x0000, 0xffff, strCursor3, 4);
		if(ts_data.pvalue == 1024 && ts_data.xvalue > 105)
		{
			GLCD_Ellipsoid(ts_data.xvalue-r,ts_data.xvalue+r,ts_data.yvalue-r,ts_data.yvalue+r, BLACK);
		}
		else if(r < 15 && ts_data.pvalue == 1024 && ts_data.xvalue > 10 && ts_data.xvalue < 90 && ts_data.yvalue > 80 && ts_data.yvalue < 110)
		{
			r++;
			putarea(75-r,75+r,35-r,35+r,WHITE);
		}
		else if(r > 4 && ts_data.pvalue == 1024 && ts_data.xvalue > 10 && ts_data.xvalue < 90 && ts_data.yvalue > 120 && ts_data.yvalue < 150)
		{
			r--;
			putarea(50,90,20,50,WHITE);
		}
		else if(ts_data.pvalue == 1024 && ts_data.xvalue > 10 && ts_data.xvalue < 90 && ts_data.yvalue > 160 && ts_data.yvalue < 190)
		{
			putarea(106,319,0,239,WHITE);
		}
		else if(ts_data.pvalue == 1024 && ts_data.xvalue > 10 && ts_data.xvalue < 90 && ts_data.yvalue > 200 && ts_data.yvalue < 230)
		{
			return;
		}
	}
}