亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? touch_calibrate.c

?? UC_GUI開發源代碼,里面含有范例,源文件
?? C
字號:
/*
*********************************************************************************************************
*                                             uC/GUI V3.98
*                        Universal graphic software for embedded applications
*
*                       (c) Copyright 2002, Micrium Inc., Weston, FL
*                       (c) Copyright 2002, SEGGER Microcontroller Systeme GmbH
*
*              礐/GUI is protected by international copyright laws. Knowledge of the
*              source code may not be used to write a similar product. This file may
*              only be used in accordance with a license and should not be redistributed
*              in any way. We appreciate your understanding and fairness.
*
----------------------------------------------------------------------
File        : TOUCH_Calibrate.c
Purpose     : Demonstrates how a touch screen can be calibrated at run time
---------------------------END-OF-HEADER------------------------------
*/

#include "GUI.h"

/********************************************************************
*
*       Static data
*
*********************************************************************
*/

static const char * _acPos[] = {
  "(upper left position)",
  "(lower right position)"
};

/*********************************************************************
*
*       Static code
*
**********************************************************************
*/
/*********************************************************************
*
*       _WaitForPressedState
*
* Purpose:
*   Waits until the touch is in the given pressed state for at least 250 ms
*/
static void _WaitForPressedState(int Pressed) {
  GUI_PID_STATE State;
  do {
    GUI_TOUCH_GetState(&State);
    GUI_Delay(1);
    if (State.Pressed == Pressed) {
      int TimeStart = GUI_GetTime();
      do {
        GUI_TOUCH_GetState(&State);
        GUI_Delay(1);
        if (State.Pressed != Pressed) {
          break;
        } else if ((GUI_GetTime() - 50) > TimeStart) {
          return;
        }
      } while (1);
    }
  } while (1);
}

/*********************************************************************
*
*       _DispStringCentered
*
* Purpose:
*   Shows the given text horizontally and vertically centered
*/
static void _DispStringCentered(const char * pString) {
  GUI_RECT Rect;
  Rect.x0 = Rect.y0 = 0;
  Rect.x1 = LCD_GetXSize() - 1;
  Rect.y1 = LCD_GetYSize() - 1;
  GUI_DispStringInRect(pString, &Rect, GUI_TA_HCENTER | GUI_TA_VCENTER);
}

/*********************************************************************
*
*       _GetPhysValues
*
* Purpose:
*   Asks the user to press the touch screen at the given position
*   and returns the physical A/D values
*/
static void _GetPhysValues(int LogX, int LogY, int * pPhysX, int * pPhysY, const char * pString) {
  char acText[] = "Press here";
  GUI_RECT Rect;
  int FontSizeY, Align;
  FontSizeY = GUI_GetFontSizeY();
  GUI_Clear();
  GUI_SetColor(GUI_BLACK);
  _DispStringCentered("Runtime calibration,\n"
                      "please touch the screen\n"
                      "at the center of the ring."); /* Ask user to press the touch */
  /* Calculate the rectangle for the string */
  Rect.y0 = LogY - FontSizeY;
  Rect.y1 = LogY + FontSizeY;
  if (LogX < LCD_GetXSize() / 2) {
    Rect.x0 = LogX + 15;
    Rect.x1 = LCD_GetXSize();
    Align = GUI_TA_LEFT;
  } else {
    Rect.x0 = 0;
    Rect.x1 = LogX - 15;
    Align = GUI_TA_RIGHT;
  }
  /* Show the text nearby the ring */
  GUI_DispStringInRect(acText, &Rect, Align | GUI_TA_TOP);
  GUI_DispStringInRect(pString, &Rect, Align | GUI_TA_BOTTOM);
  /* Draw the ring */
  GUI_FillCircle(LogX, LogY, 10);
  GUI_SetColor(GUI_WHITE);
  GUI_FillCircle(LogX, LogY, 5);
  GUI_SetColor(GUI_BLACK);
  /* Wait until touch is pressed */
  _WaitForPressedState(1);
  *pPhysX = GUI_TOUCH_GetxPhys();
  *pPhysY = GUI_TOUCH_GetyPhys();
  /* Wait until touch is released */
  _WaitForPressedState(0);
}

/********************************************************************
*
*       _Explain
*
* Purpose:
*   Shows a text to give a short explanation of the sample program
*/
static void _Explain(void) {
  _DispStringCentered("This sample shows how\n"
                      "a touch screen can be\n"
                      "calibrated at run time.\n"
                      "Please press the touch\n"
                      "screen to continue...");
  GUI_DispStringHCenterAt("TOUCH_Calibrate", LCD_GetXSize() / 2, 5);
  _WaitForPressedState(1);
  _WaitForPressedState(0);
}
/*********************************************************************
*
*       Public code
*
**********************************************************************
*/
/*********************************************************************
*
*       MainTask
*/
void MainTask(void) {
  int aPhysX[2], aPhysY[2], aLogX[2], aLogY[2], i;
  GUI_Init();
  GUI_SetBkColor(GUI_WHITE);
  GUI_Clear();
  GUI_SetColor(GUI_BLACK);
  GUI_SetFont(&GUI_Font13B_ASCII);
  _Explain();
  /* Set the logical values */
  aLogX[0] = 15;
  aLogY[0] = 15;
  aLogX[1] = LCD_GetXSize() - 15;
  aLogY[1] = LCD_GetYSize() - 15;
  /* Get the physical values of the AD converter for 2 positions */
  for (i = 0; i < 2; i++) {
    _GetPhysValues(aLogX[i], aLogY[i], &aPhysX[i], &aPhysY[i], _acPos[i]);
  }
  /* Use the physical values to calibrate the touch screen */
  GUI_TOUCH_Calibrate(0, aLogX[0], aLogX[1], aPhysX[0], aPhysX[1]); /* Calibrate X-axis */
  GUI_TOUCH_Calibrate(1, aLogY[0], aLogY[1], aPhysY[0], aPhysY[1]); /* Calibrate Y-axis */
  /* Display the result */
  GUI_CURSOR_Show();
  GUI_Clear();
  _DispStringCentered("Congratulation, your\n"
                      "touch screen has been\n"
                      "calibrated. Please use\n"
                      "the cursor to test\n"
                      "the calibration...");
  /* Let the user play */
  while(1) {
    GUI_PID_STATE State;
    GUI_TOUCH_GetState(&State);
    if (State.Pressed == 1) {
      GUI_FillCircle(State.x, State.y, 3);
    }
    GUI_Delay(10);
  }
}
	 	 			 		    	 				 	  			   	 	 	 	 	 	  	  	      	   		 	 	 		  		  	 		 	  	  			     			       	   	 			  		    	 	     	 				  	 					 	 			   	  	  			 				 		 	 	 			     			 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧洲人成人精品| 男女性色大片免费观看一区二区| 国产精品一区二区三区网站| 精品免费日韩av| 国内成人精品2018免费看| 亚洲精品一区二区三区在线观看| 国产精品亚洲第一| 国产精品国模大尺度视频| 色哟哟一区二区三区| 日韩在线一区二区三区| 久久久亚洲精品一区二区三区 | 日韩主播视频在线| 日韩情涩欧美日韩视频| 国产999精品久久| 亚洲男帅同性gay1069| 欧美日韩在线不卡| 国产成人av影院| 一区二区三区不卡在线观看 | 欧美日韩一区二区不卡| 三级欧美韩日大片在线看| 欧美电视剧在线观看完整版| 懂色av一区二区在线播放| 亚洲一区二区在线播放相泽| 日韩你懂的在线播放| 99久久综合国产精品| 日韩黄色小视频| 国产精品久久久久久户外露出| 欧美日韩欧美一区二区| 国产福利一区二区三区视频在线| 亚洲美女屁股眼交3| 日韩亚洲欧美中文三级| 成人激情av网| 免费成人在线观看视频| 自拍偷自拍亚洲精品播放| 欧美一级日韩免费不卡| 99re这里只有精品首页| 久久91精品久久久久久秒播| 亚洲精品亚洲人成人网 | 成人国产精品免费网站| 免费在线成人网| 亚洲免费av观看| 国产片一区二区三区| 欧美一激情一区二区三区| 色综合久久久久综合体桃花网| 久久精品99久久久| 成人激情开心网| 日av在线不卡| 午夜电影一区二区三区| 亚洲日本丝袜连裤袜办公室| 国产亚洲视频系列| 欧美一级高清大全免费观看| 一区二区三区在线高清| 久久综合狠狠综合久久综合88| 色婷婷av一区| 国产99久久精品| 激情久久五月天| 亚洲第一久久影院| 亚洲女人的天堂| 亚洲欧洲国产日韩| 亚洲一区二区三区在线| 在线观看免费亚洲| 成人黄色av电影| 国产精品一区二区不卡| 久久草av在线| 免费看欧美女人艹b| 亚洲综合成人网| 亚洲欧美成人一区二区三区| 中文字幕在线不卡国产视频| 高清国产一区二区| 国产成人精品亚洲777人妖| 中文字幕一区二区日韩精品绯色| 99精品久久只有精品| 国产揄拍国内精品对白| 国产在线视视频有精品| 韩国视频一区二区| 日韩福利视频网| 亚洲一区二区三区在线播放| 一卡二卡欧美日韩| 亚洲免费av网站| 亚洲综合精品自拍| 亚洲一区二区三区中文字幕| 亚洲h动漫在线| 老司机免费视频一区二区| 久久久久青草大香线综合精品| 欧美这里有精品| 国产综合成人久久大片91| 蜜桃视频一区二区三区在线观看| 亚洲欧美在线观看| 奇米一区二区三区| 久久只精品国产| 不卡av免费在线观看| 日本aⅴ亚洲精品中文乱码| 丝袜诱惑制服诱惑色一区在线观看| 日韩av中文字幕一区二区三区| 国产精品国产三级国产三级人妇| 国产精品不卡一区二区三区| 天堂va蜜桃一区二区三区 | 亚洲乱码国产乱码精品精可以看| 欧美无砖砖区免费| 成人99免费视频| 国产盗摄视频一区二区三区| 蜜臀精品久久久久久蜜臀| 樱花影视一区二区| 亚洲精品乱码久久久久久黑人| 亚洲天堂a在线| |精品福利一区二区三区| 国产欧美一区二区在线观看| 久久国产日韩欧美精品| 白白色 亚洲乱淫| 精品粉嫩aⅴ一区二区三区四区| 亚洲欧洲精品一区二区三区不卡| 免费观看在线综合| 精品一区二区三区视频在线观看| 国产成人精品影视| 色天天综合色天天久久| 精品国产伦一区二区三区观看方式| 中文字幕不卡在线| 亚洲欧美在线aaa| 午夜一区二区三区视频| 99在线精品一区二区三区| 91蜜桃传媒精品久久久一区二区| 欧美一区二区三区免费视频| 欧美变态tickle挠乳网站| 欧美国产精品v| 五月婷婷久久丁香| 美国毛片一区二区| 成人网在线免费视频| av亚洲精华国产精华| 欧美色图片你懂的| 久久久蜜桃精品| 亚洲国产一区二区在线播放| 亚洲成人精品一区| 精品在线观看视频| 精品久久国产字幕高潮| 美女久久久精品| 日韩欧美国产不卡| 亚洲图片欧美综合| 欧美在线短视频| 亚洲影视在线观看| 丁香婷婷综合网| 中文字幕久久午夜不卡| 日本国产一区二区| 午夜激情一区二区三区| 欧美精品一区二区在线观看| 亚洲一区中文在线| 国产精品一区三区| 欧美xxxx老人做受| 亚洲成人午夜影院| 91视频国产资源| 国产精品素人视频| 国产成a人亚洲精品| 久久综合久久99| 美女视频黄免费的久久 | 欧美日韩一区二区欧美激情| 国产精品全国免费观看高清| 狠狠色丁香久久婷婷综合丁香| 欧美日韩国产色站一区二区三区| 亚洲少妇30p| 91在线无精精品入口| 亚洲国产电影在线观看| 国产成人av一区二区三区在线观看| 精品乱人伦一区二区三区| 青青草精品视频| 欧美一区二区在线视频| 日韩av一区二区在线影视| 欧美性猛交一区二区三区精品| 亚洲成av人影院在线观看网| 色悠悠久久综合| 伊人婷婷欧美激情| 色婷婷综合久久久| 一区二区三区四区乱视频| 色94色欧美sute亚洲线路二| 一卡二卡三卡日韩欧美| 欧美放荡的少妇| 免费看日韩a级影片| 精品国产乱码久久久久久久久| 黄色成人免费在线| 日本一区二区成人| 91在线观看一区二区| 一区二区三区电影在线播| 欧美日韩免费观看一区三区| 日韩精品亚洲专区| 欧美成人午夜电影| 成人午夜碰碰视频| 亚洲精品乱码久久久久久日本蜜臀| 在线观看日韩电影| 蜜臀av国产精品久久久久| 精品av综合导航| 成人精品国产福利| 亚洲综合久久久| 日韩美女天天操| 成人动漫精品一区二区| 亚洲狠狠丁香婷婷综合久久久| 91超碰这里只有精品国产| 狠狠色综合播放一区二区| 亚洲男同性视频| 日韩精品一区二区三区三区免费 | 成人污污视频在线观看| 亚洲免费在线观看| 日韩西西人体444www|