166 lines
5.3 KiB
C
166 lines
5.3 KiB
C
/*
|
|
*********************************************************************************************************
|
|
* uC/GUI
|
|
* Universal graphic software for embedded applications
|
|
*
|
|
* (c) Copyright 2002, Micrium Inc., Weston, FL
|
|
* (c) Copyright 2002, SEGGER Microcontroller Systeme GmbH
|
|
*
|
|
* µC/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_Intro.c
|
|
Purpose : Introduction for emWin generic demo
|
|
(This is also a good file to demo and explain basic
|
|
emWin features by setting breakpoints)
|
|
----------------------------------------------------------------------
|
|
*/
|
|
|
|
#include "GUI.h"
|
|
#include "GUIDEMO.h"
|
|
#include <string.h>
|
|
|
|
/*********************************************************************
|
|
*
|
|
* GUIDEMO_Intro
|
|
*
|
|
**********************************************************************
|
|
*/
|
|
|
|
#if GUIDEMO_LARGE
|
|
|
|
void GUIDEMO_Intro(void) {
|
|
int xCenter = LCD_XSIZE >> 1;
|
|
int y, yPos;
|
|
char acText[50] = "Version of emWin: ";
|
|
strcat(acText, GUI_GetVersionString());
|
|
GUIDEMO_SetBkColor(GUI_BLUE);
|
|
GUIDEMO_SetColor(GUI_WHITE);
|
|
GUI_Clear();
|
|
GUI_SetFont(&GUI_FontComic18B_ASCII);
|
|
GUI_DispStringHCenterAt("emWin", xCenter, y = 12);
|
|
GUI_SetFont(&GUI_Font13H_ASCII);
|
|
GUI_DispStringHCenterAt("Universal graphic software"
|
|
"\nfor embedded applications"
|
|
, xCenter, y += 23);
|
|
GUI_SetColor(GUI_RED);
|
|
GUI_SetFont(&GUI_Font16_ASCII);
|
|
GUI_DispStringHCenterAt("Any CPU - Any LCD - Any Application"
|
|
, xCenter, y += 32);
|
|
GUI_SetFont(&GUI_Font10S_ASCII);
|
|
GUI_DispStringHCenterAt("Compiled " __DATE__ " "__TIME__, xCenter, y += 18);
|
|
GUI_SetFont(&GUI_Font13HB_ASCII);
|
|
GUI_SetColor(GUI_WHITE);
|
|
GUI_DispStringHCenterAt(acText, xCenter, y += 15);
|
|
GUI_SetFont(&GUI_FontComic18B_ASCII);
|
|
GUI_SetColor(GUI_WHITE);
|
|
GUI_DispStringHCenterAt("www.segger.com", LCD_XSIZE >> 1, LCD_YSIZE - 20);
|
|
yPos = y + 15 + ((LCD_YSIZE - y - 33) >> 1);
|
|
yPos -= bmSeggerLogoBlue.YSize >> 1;
|
|
if (yPos > 160) {
|
|
yPos = 160;
|
|
}
|
|
GUI_DrawBitmap(&bmSeggerLogoBlue, (LCD_XSIZE - bmSeggerLogoBlue.XSize) >> 1, yPos);
|
|
#if (LCD_YSIZE >= 220)
|
|
GUI_SetFont(&GUI_Font10S_ASCII);
|
|
GUI_DispStringAt("GUI_OS: ", 0, LCD_YSIZE - 30); GUI_DispDecMin(GUI_OS);
|
|
GUI_DispStringAt("GUI_ALLOC_SIZE: ",0, LCD_YSIZE - 20); GUI_DispDecMin(GUI_ALLOC_SIZE);
|
|
GUI_DispStringAt("Compiler: "
|
|
#ifdef _MSC_VER
|
|
"Microsoft"
|
|
#elif defined (NC308)
|
|
"Mitsubishi NC308"
|
|
#elif defined (NC30)
|
|
"Mitsubishi NC30"
|
|
#elif defined (__TID__)
|
|
#if (((__TID__ >>8) &0x7f) == 48) /* IAR MC80 */
|
|
"IAR M32C"
|
|
#elif (((__TID__ >>8) &0x7f) == 85) /* IAR V850 */
|
|
"IAR V850"
|
|
#elif defined (__ICCARM__) /* IAR ARM */
|
|
"IAR ARM"
|
|
#else /* IAR MC16 */
|
|
"IAR M32C"
|
|
#endif
|
|
#elif defined __WATCOMC__ /* WATCOM */
|
|
"WATCOM"
|
|
#elif defined __GNUC__
|
|
"GNU"
|
|
#else
|
|
"Unknown"
|
|
#endif
|
|
,0, LCD_YSIZE - 10);
|
|
#endif
|
|
GUIDEMO_Delay(5000);
|
|
GUIDEMO_NotifyStartNext();
|
|
}
|
|
|
|
#else /* GUIDEMO_LARGE */
|
|
|
|
void GUIDEMO_Intro(void) {
|
|
#if GUIDEMO_TINY
|
|
char acText[20] = "Version: ";
|
|
#else
|
|
char acText[32] = "Version of emWin: ";
|
|
#endif
|
|
int xCenter, dy, y0 = 0;
|
|
xCenter = LCD_XSIZE >> 1;
|
|
#if (LCD_YSIZE < 72)
|
|
dy = 0;
|
|
#else
|
|
dy = ((LCD_YSIZE - 72) >> 3);
|
|
if (dy > 14) dy = 14;
|
|
#endif
|
|
strcat(acText, GUI_GetVersionString());
|
|
/* Clear the background */
|
|
GUIDEMO_SetBkColor(GUI_BLUE);
|
|
GUIDEMO_SetColor(GUI_WHITE);
|
|
GUI_Clear();
|
|
/* Display headline */
|
|
GUI_SetFont(&GUI_Font13B_ASCII);
|
|
GUI_DispStringHCenterAt("emWin", xCenter, dy + 1);
|
|
/* Display description */
|
|
#if (LCD_XSIZE < 140)
|
|
GUI_SetFont(&GUI_Font8_ASCII);
|
|
#else
|
|
GUI_SetFont(&GUI_Font10_ASCII);
|
|
#endif
|
|
GUI_DispStringHCenterAt("Universal graphic software\n"
|
|
"for embedded applications", xCenter, 2 * dy + 18);
|
|
/* Display compile time */
|
|
GUI_SetFont(&GUI_Font10S_ASCII);
|
|
GUI_DispStringHCenterAt("Compiled " __DATE__ " "__TIME__, xCenter, 3 * dy + 37);
|
|
/* Display version number */
|
|
#if (LCD_YSIZE < 80)
|
|
GUI_DispStringAt(acText, 6, LCD_YSIZE - 13);
|
|
#else
|
|
GUI_DispStringHCenterAt(acText, xCenter, 4 * dy + 49);
|
|
#endif
|
|
GUIDEMO_Delay(5000);
|
|
GUIDEMO_NotifyStartNext();
|
|
/* Show SEGGER logo */
|
|
GUI_Clear();
|
|
#if GUIDEMO_TINY
|
|
y0 = 2;
|
|
#endif
|
|
#if (LCD_YSIZE >= 90)
|
|
y0 += (LCD_YSIZE - 90) >> 1;
|
|
#endif
|
|
GUI_DrawBitmap(&bmSeggerLogoBlue, xCenter - (bmSeggerLogoBlue.XSize >> 1), y0);
|
|
/* Display URL */
|
|
#if (LCD_YSIZE < 80)
|
|
GUI_SetFont(&GUI_Font10_ASCII);
|
|
#else
|
|
GUI_SetFont(&GUI_Font13B_ASCII);
|
|
#endif
|
|
y0 += bmSeggerLogoBlue.YSize + 1;
|
|
GUI_DispStringHCenterAt("www.segger.com", xCenter, y0);
|
|
GUIDEMO_Delay(5000);
|
|
GUIDEMO_NotifyStartNext();
|
|
}
|
|
|
|
#endif
|