?? guidemo_speed.c
字號(hào):
/*
*********************************************************************************************************
* 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_Speed.c
Purpose : Speed demo
----------------------------------------------------------------------
*/
#include <stdlib.h> /* for rand */
#include "GUI.h"
#include "GUIDEMO.h"
//extern int rand(void);
static const GUI_COLOR _aColor[8] = {
0x000000,
0x0000FF,
0x00FF00,
0x00FFFF,
0xFF0000,
0xFF00FF,
0xFFFF00,
0xFFFFFF
};
/*********************************************************************
*
* GUIDEMO_Speed
*
**********************************************************************
*/
void GUIDEMO_Speed(void)
{
int t, i;
I32 NumPixels = 0;
U16 aColorIndex[8];
GUIDEMO_ShowIntro("High speed", "\nmulti layer clipping"
"\nhighly optimized drivers");
for (i = 0; i < 8; i++)
{
aColorIndex[i] = GUI_Color2Index(_aColor[i]);
}
t = GUI_GetTime();
for (i = 0; ((GUI_GetTime() - t) < 8000) && !GUIDEMO_CheckCancel(); i++)
{
GUI_RECT r;
GUI_SetColorIndex(aColorIndex[i & 7]);
/* Calculate random positions */
r.x0 = rand() % LCD_XSIZE - LCD_XSIZE / 2;
r.y0 = rand() % LCD_YSIZE - LCD_YSIZE / 2;
r.x1 = r.x0 + 20 + rand() % LCD_XSIZE;
r.y1 = r.y0 + 20 + rand() % LCD_YSIZE;
GUI_FillRect(r.x0, r.y0, r.x1, r.y1);
/* Clip rectangle to visible area and add the number of pixels (for speed computation) */
if (r.x1 >= LCD_XSIZE)
{
r.x1 = LCD_XSIZE - 1;
}
if (r.y1 >= LCD_YSIZE)
{
r.y1 = LCD_YSIZE - 1;
}
if (r.x0 < 0)
{
r.x0 = 0;
}
if (r.y1 < 0)
{
r.y1 = 0;
}
NumPixels += (r.x1 - r.x0) * (r.y1 - r.y0);
/* Allow short breaks so we do not use all available CPU time ... */
}
t = (GUI_GetTime() - t) / 100;
GUI_Clear();
GUIDEMO_NotifyStartNext();
#if GUIDEMO_LARGE
GUI_SetFont(&GUI_FontComic24B_ASCII);
#elif !(GUIDEMO_TINY)
GUI_SetFont(&GUI_Font16B_ASCII);
#else
GUI_SetFont(&GUI_Font13B_ASCII);
#endif
GUI_SetColor(GUI_WHITE);
GUI_DispStringAt("Pixels/sec: ", 5, (LCD_YSIZE - GUI_GetFontSizeY()) / 2);
if (t == 0)
{
t++;
}
GUI_DispDecMin(10 * (NumPixels / t));
GUIDEMO_Wait();
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -