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

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

?? guidemo_cursor.c

?? LPC2368驅動淘寶上27元錢的TFT的代碼
?? C
字號:
/*
*********************************************************************************************************
*   											 uC/GUI
*   					 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		: GUIDEMO_Cursor.c
Purpose 	: shows Cursor-API
----------------------------------------------------------------------
*/

#include "GUI.h"
#include "GUIDEMO.h"

#if (GUI_SUPPORT_CURSOR & GUI_SUPPORT_TOUCH)

/*********************************************************************
*
*   	defines
*
**********************************************************************
*/

#define countof(Obj) (sizeof(Obj)/sizeof(Obj[0]))

#if GUIDEMO_LARGE
#define NUM_CURSORS   3
#define XMAX  28
#else
#define NUM_CURSORS   2
#define XMAX  24
#endif

/*********************************************************************
*
*   	types
*
**********************************************************************
*/

typedef struct
{
	const GUI_CURSOR*pCursor;
	char			Size;
} CURSOR_INFO;

typedef struct
{
	const CURSOR_INFO	aCursor[NUM_CURSORS];
	const char			*pType;
} CURSORTYPE_INFO;

/*********************************************************************
*
*   	static data
*
**********************************************************************
*/

static const CURSORTYPE_INFO _CursorArrow = {
&GUI_CursorArrowS, 'S', &GUI_CursorArrowM, 'M',
#if (NUM_CURSORS == 3)
& GUI_CursorArrowL, 'L',
"arrow cursors"
#else
"arrow\ncursors"
#endif
};

#if !(GUIDEMO_TINY)
static const CURSORTYPE_INFO _CursorArrowI = {
&GUI_CursorArrowSI, 'S', &GUI_CursorArrowMI, 'M',
#if (NUM_CURSORS == 3)
& GUI_CursorArrowLI, 'L',
"inverted arrow cursors"
#else
"inverted\narrow cursors"
#endif
};
#endif

static const CURSORTYPE_INFO _CursorCross = {
&GUI_CursorCrossS, 'S', &GUI_CursorCrossM, 'M',
#if (NUM_CURSORS == 3)
& GUI_CursorCrossL, 'L',
"cross cursors"
#else
"cross\ncursors"
#endif
};

#if !(GUIDEMO_TINY)
static const CURSORTYPE_INFO _CursorCrossI = {
&GUI_CursorCrossSI, 'S', &GUI_CursorCrossMI, 'M',
#if (NUM_CURSORS == 3)
& GUI_CursorCrossLI, 'L',
"inverted cross cursors"
#else
"inverted\ncross cursors"
#endif
};
#endif

static const GUI_CURSOR* _aCursor[] = { 
&GUI_CursorArrowM,
#if !(GUIDEMO_TINY)
& GUI_CursorArrowMI,
#endif
& GUI_CursorCrossM,
#if !(GUIDEMO_TINY)
& GUI_CursorCrossMI,
#endif
};

/*********************************************************************
*
*   	static code
*
**********************************************************************
*/
/*********************************************************************
*
*   	_ShowCursorType
*/
static void _ShowCursorType(const CURSORTYPE_INFO *pCursorType, int x0, int y0)
{
	const GUI_CURSOR* pCursor;
	char Char;
	int i, x, y;
	int yMax = 0;
	int yHot = 0;
	/* Calculate height and width of biggest cursor */
	for (i = 0; i < NUM_CURSORS; i++)
	{
		pCursor = pCursorType->aCursor[i].pCursor;
		if (pCursor->pBitmap->YSize > yMax)
		{
			yMax = pCursor->pBitmap->YSize;
			yHot = pCursor->yHot;
		}
	}
#if ((LCD_YSIZE >= 220) && (LCD_XSIZE >= 300))
	GUI_SetFont(&GUI_FontComic18B_ASCII);
#else
	GUI_SetFont(&GUI_Font13B_ASCII);
#endif
#if (NUM_CURSORS != 3)
	GUI_SetLBorder(x0);
#endif
	GUI_DispStringAt(pCursorType->pType, x0, y0);
#if GUIDEMO_LARGE
	y0 += GUI_GetFontDistY() + 1;
	GUI_SetFont(&GUI_Font13B_ASCII);
#else
#if (LCD_YSIZE < 80)
	x0 += 50;
#else
	y0 += GUI_GetFontDistY() * 2 + 1;
#endif
	GUI_SetFont(&GUI_Font10_ASCII);
#endif
	for (i = 0; i < NUM_CURSORS; i++)
	{
		pCursor = pCursorType->aCursor[i].pCursor;
		Char = pCursorType->aCursor[i].Size;
		y = y0 + yHot - pCursor->yHot;
		x = ((pCursor->pBitmap->XSize - GUI_GetCharDistX(Char)) >> 1);
		GUI_DrawBitmap(pCursor->pBitmap, x0 + XMAX * i + 5, y);
		GUI_DispCharAt(Char, x0 + XMAX * i + 5 + x, y0 + yMax + 2);
	}
}

/*********************************************************************
*
*   	_MoveCursor
*/
static void _MoveCursor(const GUI_CURSOR *Cursor)
{
	int x, y;
	int xMax = LCD_XSIZE >> 1;
	int yMax = LCD_YSIZE >> 1;
#if !GUIDEMO_LARGE
	xMax *= 1.3;
	yMax *= 1.3;
#endif
	GUI_CURSOR_Select(Cursor);  
	for (x = y = 0; ((x < xMax) && (y < yMax) && !GUIDEMO_CheckCancel()); x += 6, y += 6)
	{
		if (x == xMax)
		{
			x = xMax;
		}
		if (y == yMax)
		{
			y = yMax;
		}
		GUI_CURSOR_SetPosition(x, y);
		GUIDEMO_Delay(75);
	}
}

/*********************************************************************
*
*   	_DispCursor
*/
static void _DispCursor(void)
{
#if !(GUIDEMO_LARGE)
	int x0 = 0;
#endif
	int y0, dx, dy;
	GUI_CURSOR_Hide();
	GUI_SetTextMode(GUI_TM_TRANS);
#if GUIDEMO_LARGE
	GUI_SetFont(&GUI_FontComic24B_ASCII);
	GUI_DispStringAt("Available\n  cursors:", 18, 12);
#else
#if GUIDEMO_TINY
	GUI_SetFont(&GUI_Font13B_ASCII);
#else
	GUI_SetFont(&GUI_FontComic18B_ASCII);
#endif
	GUI_DispStringHCenterAt("Available cursors:", LCD_XSIZE >> 1, LCD_YSIZE >> 5);
#endif
	/* Display the cursors */
#if GUIDEMO_LARGE
	y0 = 68;
	dx = LCD_XSIZE / 2.5;
#if (LCD_YSIZE > 240)
	dy = LCD_YSIZE / 3.2;
#else
	dy = 75;
#endif
#if ((LCD_YSIZE < 220) || (LCD_XSIZE < 300))
	y0 -= 3;
	dy -= 12;
#endif
	_ShowCursorType(&_CursorArrow, 0, y0);
	_ShowCursorType(&_CursorCross, 0, y0 + dy);
	_ShowCursorType(&_CursorArrowI, dx, y0);
	_ShowCursorType(&_CursorCrossI, dx, y0 + dy);
#else
#if GUIDEMO_TINY
	y0 = 20;
#else
	y0 = 30;
#endif
#if ((LCD_XSIZE < 160) && ((LCD_YSIZE >= 160) || (LCD_YSIZE < 90)))
	x0 = 10;
#endif
	dx = LCD_XSIZE / 2.2;
	dy = LCD_YSIZE / 2.6;
	_ShowCursorType(&_CursorArrow, x0, y0);
#if (LCD_YSIZE >= 160)
	_ShowCursorType(&_CursorCross, x0, y0 + dy);
#elif (LCD_YSIZE < 90)
	GUIDEMO_Delay(2000);
	GUI_ClearRect(0, 20, LCD_XSIZE - 1, LCD_YSIZE - 1);
	_ShowCursorType(&_CursorCross, x0, y0);
#else
	_ShowCursorType(&_CursorCross, dx, y0);
#endif
#if ((LCD_YSIZE >= 160) && (LCD_XSIZE >= 160))
	_ShowCursorType(&_CursorArrowI, dx, y0);
	_ShowCursorType(&_CursorCrossI, dx, y0 + dy);
#endif
#endif
}

/*********************************************************************
*
*   	public code
*
**********************************************************************
*/
/*********************************************************************
*
*   	GUIDEMO_Cursor
*/
void GUIDEMO_Cursor(void)
{
	int i = 0;
	GUIDEMO_ShowIntro("Cursor", "\nemWin supports"
					"\nsoftware cursor");
	GUIDEMO_SetBkColor(GUI_BLUE);
	GUI_Clear();
	_DispCursor();
	GUIDEMO_Delay(1500);
	GUIDEMO_NotifyStartNext();
	GUI_CURSOR_Show();
	for (i = 0; (i < countof(_aCursor) && !GUIDEMO_CheckCancel()); i++)
	{
		_MoveCursor(_aCursor[i]);
	}
	GUI_CURSOR_SetPosition(0, 0);
	GUI_CURSOR_Select(&GUI_CursorArrowM);
}

#else

void GUIDEMO_Cursor(void)
{
}

#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
顶级嫩模精品视频在线看| 欧美一区二区久久| 欧美一区二区美女| 亚洲欧美视频在线观看| 国产一区二区三区电影在线观看| 91亚洲永久精品| 久久久精品国产99久久精品芒果| 亚洲一区二区三区四区的| 国产精品白丝jk白祙喷水网站 | 欧美一级夜夜爽| 亚洲天堂2016| 成人免费毛片嘿嘿连载视频| 欧美一区二区三区视频| 一区二区日韩av| 成人激情电影免费在线观看| 精品国产三级电影在线观看| 日韩国产精品久久久久久亚洲| 91在线视频免费观看| 国产日本亚洲高清| 韩国在线一区二区| 日韩免费观看高清完整版| 日韩激情一区二区| 欧美日韩一区三区四区| 亚洲自拍另类综合| 在线观看三级视频欧美| 亚洲欧美日本在线| 在线观看91视频| 一区二区三区免费| 色呦呦网站一区| 一区二区三区四区在线| 色狠狠综合天天综合综合| 综合分类小说区另类春色亚洲小说欧美 | 中文字幕免费不卡在线| 国产成人av一区二区三区在线观看| 日韩美女一区二区三区四区| 日本特黄久久久高潮| 91超碰这里只有精品国产| 香蕉久久一区二区不卡无毒影院 | 性感美女极品91精品| 欧美日韩精品一区二区三区蜜桃 | 亚洲精品乱码久久久久久| 99久久夜色精品国产网站| 日本一区二区动态图| voyeur盗摄精品| 亚洲婷婷国产精品电影人久久| 99国产精品久久| 亚洲国产精品久久人人爱 | 久久精品一区二区三区四区| 国产精品123| 亚洲三级在线看| 欧美天堂亚洲电影院在线播放| 夜夜操天天操亚洲| 91精品国产品国语在线不卡| 国产专区综合网| 亚洲欧美一区二区三区久本道91| 色婷婷久久久综合中文字幕| 午夜欧美2019年伦理| 91麻豆精品国产91久久久久久久久| 久久精品国产精品亚洲精品| 国产精品毛片久久久久久| 在线欧美一区二区| 久久精品国产999大香线蕉| 国产精品毛片a∨一区二区三区| 在线精品视频一区二区三四| 看国产成人h片视频| 亚洲私人黄色宅男| 欧美一级视频精品观看| 成人精品电影在线观看| 亚洲成人手机在线| 中文字幕二三区不卡| 精品视频免费看| 国产高清在线精品| 亚洲高清免费观看高清完整版在线观看 | 1区2区3区国产精品| 欧美猛男超大videosgay| 成人一区二区三区中文字幕| 日日骚欧美日韩| 亚洲欧洲www| 精品国产91洋老外米糕| 欧美在线观看视频一区二区三区| 狠狠色丁香久久婷婷综合_中| 中文字幕在线免费不卡| 精品国产亚洲一区二区三区在线观看| av亚洲精华国产精华精华| 免费观看在线综合色| 亚洲精品欧美综合四区| 久久久久久久综合日本| 91精品欧美福利在线观看| av在线不卡电影| 国产精品一二三| 另类小说视频一区二区| 亚洲一区二区三区在线看| 国产精品久久久久久久蜜臀| 精品日韩一区二区三区| 9191成人精品久久| 欧美怡红院视频| 色综合天天狠狠| 丁香婷婷深情五月亚洲| 国产一二精品视频| 国产综合久久久久久鬼色| 美脚の诱脚舐め脚责91 | 国产九色精品成人porny| 亚洲国产婷婷综合在线精品| 亚洲精品日产精品乱码不卡| 亚洲欧美日韩综合aⅴ视频| 国产精品无码永久免费888| 国产午夜亚洲精品不卡| 日韩精品综合一本久道在线视频| 91精品国产综合久久香蕉的特点 | 亚洲成a人v欧美综合天堂下载| 国产精品理伦片| 国产精品久久久久9999吃药| 国产精品伦理在线| 国产精品久久久久久久久免费丝袜 | 欧美影院一区二区三区| 色天使色偷偷av一区二区 | 国产福利一区在线| 国产不卡视频一区| 成人黄色软件下载| 一本一本久久a久久精品综合麻豆| 懂色av中文字幕一区二区三区| 国产成人精品一区二区三区网站观看| 国产一区二区三区在线观看免费 | 日韩电影在线观看网站| 日本亚洲欧美天堂免费| 久久99久国产精品黄毛片色诱| 蜜臀a∨国产成人精品| 韩国av一区二区| 成人免费毛片高清视频| 99久久久国产精品免费蜜臀| 91丨porny丨中文| 欧美日韩国产综合久久| 日韩精品一区二区三区四区| 久久―日本道色综合久久| 中文字幕精品一区二区精品绿巨人 | 91在线视频在线| 欧美日韩精品电影| 精品少妇一区二区三区| 国产精品久久久久精k8 | 欧美日韩午夜在线| 欧美成人精精品一区二区频| 国产欧美va欧美不卡在线| 一区二区三区四区蜜桃| 日本 国产 欧美色综合| 国产黄色91视频| 欧美日韩一区二区三区高清| 精品国产电影一区二区| 综合久久久久久久| 日本美女一区二区三区视频| 成人爽a毛片一区二区免费| 欧美性xxxxx极品少妇| 精品精品国产高清a毛片牛牛| 国产精品色在线观看| 午夜在线成人av| 福利一区二区在线观看| 欧美午夜精品理论片a级按摩| 26uuu色噜噜精品一区| 一区二区三区国产豹纹内裤在线 | 视频一区二区三区中文字幕| 国产91综合网| 欧美丰满一区二区免费视频| 国产精品丝袜在线| 免费成人在线网站| 欧美伊人久久久久久午夜久久久久| 久久综合色婷婷| 偷拍自拍另类欧美| 色综合久久六月婷婷中文字幕| 欧美一二三区精品| 亚洲欧美国产毛片在线| 国产老妇另类xxxxx| 欧美人妖巨大在线| 亚洲精品一二三四区| 高清久久久久久| 精品国产1区2区3区| 亚洲v中文字幕| 在线亚洲高清视频| 中文字幕五月欧美| 福利电影一区二区| 26uuu成人网一区二区三区| 天天色图综合网| 欧美综合欧美视频| 亚洲色图欧洲色图| kk眼镜猥琐国模调教系列一区二区| 日韩免费观看高清完整版在线观看| 亚洲国产日韩a在线播放性色| 99久久国产综合精品色伊| 久久精品一区二区三区不卡牛牛| 麻豆国产精品一区二区三区 | 免费成人美女在线观看| 欧美午夜精品一区| 亚洲成人黄色小说| 欧美无砖专区一中文字| 一区二区在线看| 色噜噜久久综合| 中文字幕在线观看一区| 成人av电影观看| 亚洲欧美韩国综合色| 色婷婷精品久久二区二区蜜臂av | 极品美女销魂一区二区三区| 欧美电视剧在线看免费|