FLAT SKIN (Sample)
Jump to navigation
Jump to search
| FLAT_SKIN_Demo.c | |
|---|---|
![]() | |
| File(s) required |
|
| Runs in simulation | Yes |
| Runs on target | Yes |
| Download | FLAT_SKIN_Demo.c |
An interactive demo showing the new FLAT skin in all supported widgets.
Demo
Code
/*********************************************************************
* SEGGER Microcontroller GmbH *
* Solutions for real time microcontroller applications *
**********************************************************************
* *
* (c) 1996 - 2020 SEGGER Microcontroller GmbH *
* *
* Internet: www.segger.com Support: support@segger.com *
* *
**********************************************************************
** emWin V7.0.0 - Graphical user interface for embedded applications **
emWin 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 re-
distributed in any way. We appreciate your understanding and fairness.
----------------------------------------------------------------------
File : FLAT_SKIN_Demo.c
Purpose : An animated demonstration showing the appearance of the
widgets using the FLAT_SKIN theme.
Requirements: WindowManager - (x)
MemoryDevices - ( )
AntiAliasing - (x)
VNC-Server - ( )
PNG-Library - ( )
TrueTypeFonts - ( )
---------------------------END-OF-HEADER------------------------------
*/
#include "FLAT_SKIN.h"
/*********************************************************************
*
* Defines
*
**********************************************************************
*/
#define CREATE_DEMO 0
#define CLOSE_DEMO 1
#define PERIOD_IN 300
#define PERIOD_OUT 300
#define DO_PID 0
#define DO_KEY 1
#define DO_DELAY 2
#define APP_ANIMATION_END (WM_USER + 0)
#define APP_REMEMBER_HWIN (WM_USER + 1)
#define APP_BUTTON_COLSET (WM_USER + 2)
/*********************************************************************
*
* Types
*
**********************************************************************
*/
typedef struct {
U8 Cmd;
U16 Id;
int d0, d1, d2;
U32 Period;
} ANIM_ITEM;
typedef struct {
const ANIM_ITEM * pData;
unsigned NumItems;
unsigned CurrentItem;
WM_HWIN hWin;
GUI_TIMER_HANDLE hTimer;
GUI_ANIM_HANDLE hAnim;
} ANIM_CONTEXT;
typedef struct {
const char * pName;
void (* pFuncCreate)(WM_HWIN hWin);
ANIM_CONTEXT * pContext;
} DEMO_ITEM;
/*********************************************************************
*
* Static data
*
**********************************************************************
*/
/*********************************************************************
*
* BUTTON image: _bmArrowDown_24x16_b
*/
static GUI_CONST_STORAGE unsigned char _acArrowDown_24x16_b[] = {
0xAB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAB,
0x0F, 0xDE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0x0F,
0x00, 0x33, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x33, 0x00,
0x00, 0x00, 0x6E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x6E, 0x00, 0x00,
0x00, 0x00, 0x00, 0xAB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAB, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x0F, 0xDE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0x0F, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x33, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x33, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xDE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAB, 0xFF, 0xFF, 0xFF, 0xFF, 0xAB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xDE, 0xFF, 0xFF, 0xDE, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0xF7, 0xF7, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6E, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
static GUI_CONST_STORAGE GUI_BITMAP _bmArrowDown_24x16_b = {
24, // xSize
16, // ySize
24, // BytesPerLine
8, // BitsPerPixel
(const unsigned char *)_acArrowDown_24x16_b, // Pointer to picture data
NULL, // Pointer to palette
GUI_DRAW_A8
};
/*********************************************************************
*
* BUTTON image: _bmArrowRight_16x24_b
*/
static GUI_CONST_STORAGE unsigned char _acArrowRight_16x24_b[] = {
0xAB, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xDE, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0xF7, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0xFF, 0xFF, 0xAB, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAB, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x6E, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAB, 0x0F, 0x00, 0x00,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0x33, 0x00,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x6E,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x6E,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0x33, 0x00,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAB, 0x0F, 0x00, 0x00,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x6E, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAB, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0xFF, 0xFF, 0xAB, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0xF7, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xDE, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xAB, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
static GUI_CONST_STORAGE GUI_BITMAP _bmArrowRight_16x24_b = {
16, // xSize
24, // ySize
16, // BytesPerLine
8, // BitsPerPixel
(const unsigned char *)_acArrowRight_16x24_b, // Pointer to picture data
NULL, // Pointer to palette
GUI_DRAW_A8
};
/*********************************************************************
*
* BUTTON image: _bmArrowUp_24x16_b
*/
static GUI_CONST_STORAGE unsigned char _acArrowUp_24x16_b[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6E, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0xF7, 0xF7, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xDE, 0xFF, 0xFF, 0xDE, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAB, 0xFF, 0xFF, 0xFF, 0xFF, 0xAB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xDE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x33, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x33, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x0F, 0xDE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0x0F, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xAB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAB, 0x00, 0x00, 0x00,
0x00, 0x00, 0x6E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x6E, 0x00, 0x00,
0x00, 0x33, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x33, 0x00,
0x0F, 0xDE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0x0F,
0xAB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAB
};
static GUI_CONST_STORAGE GUI_BITMAP _bmArrowUp_24x16_b = {
24, // xSize
16, // ySize
24, // BytesPerLine
8, // BitsPerPixel
(const unsigned char *)_acArrowUp_24x16_b, // Pointer to picture data
NULL, // Pointer to palette
GUI_DRAW_A8
};
/*********************************************************************
*
* BUTTON image: _bmPen_32x32_b
*/
static GUI_CONST_STORAGE unsigned char _acPen_32x32_b[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xBF, 0xFF, 0x8F, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xCF, 0xFF, 0xFF, 0xFF, 0x9F, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x8F,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xCF, 0xFF, 0x9F, 0x00, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xCF, 0xFF, 0xFF, 0xFF, 0x9F, 0x00, 0x9F, 0xFF, 0xFF, 0xFF, 0xCF, 0x10,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x00, 0x9F, 0xFF, 0xCF, 0x10, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x00, 0x80, 0x10, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x10, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x10, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x10, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x10, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x30, 0x30, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x20, 0xEF, 0x30, 0x30, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x40, 0xFF, 0xEF, 0x30, 0x30, 0xEF, 0xFF, 0xFF, 0xFF, 0xCF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x80, 0xFF, 0xFF, 0xEF, 0x30, 0x30, 0xEF, 0xFF, 0xCF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x9F, 0xFF, 0xFF, 0xFF, 0xEF, 0x30, 0x30, 0xBF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xBF, 0x9F, 0x80, 0x40, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
static GUI_CONST_STORAGE GUI_BITMAP _bmPen_32x32_b = {
32, // xSize
32, // ySize
32, // BytesPerLine
8, // BitsPerPixel
(const unsigned char *)_acPen_32x32_b, // Pointer to picture data
NULL, // Pointer to palette
GUI_DRAW_A8
};
/*********************************************************************
*
* BUTTON image: _bmZoomMinus_32x32_b
*/
static GUI_CONST_STORAGE unsigned char _acZoomMinus_32x32_b[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x8B, 0xC5, 0xEC, 0xFF, 0xFF, 0xED, 0xC5, 0x8C, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x65, 0xDC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0x67, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0xCE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x46, 0xF5, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0x4B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x47, 0xF9, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xA6, 0x53, 0x23, 0x00, 0x00, 0x22, 0x52, 0xA4, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x28, 0xF5, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xAA, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0x2C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x01, 0xCE, 0xFF, 0xFF, 0xFF, 0xFF, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x69, 0xFE, 0xFF, 0xFF, 0xFF, 0xD1, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x65, 0xFF, 0xFF, 0xFF, 0xFF, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0xFF, 0xFF, 0xFF, 0xFF, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xDC, 0xFF, 0xFF, 0xFF, 0xAD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA9, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00,
0x43, 0xFF, 0xFF, 0xFF, 0xF8, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0xF6, 0xFF, 0xFF, 0xFF, 0x47, 0x00, 0x00, 0x00, 0x00,
0x8B, 0xFF, 0xFF, 0xFF, 0xA6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA1, 0xFF, 0xFF, 0xFF, 0x8F, 0x00, 0x00, 0x00, 0x00,
0xC5, 0xFF, 0xFF, 0xFF, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4F, 0xFF, 0xFF, 0xFF, 0xC9, 0x00, 0x00, 0x00, 0x00,
0xEC, 0xFF, 0xFF, 0xFF, 0x23, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x1D, 0xFF, 0xFF, 0xFF, 0xF3, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
0xED, 0xFF, 0xFF, 0xFF, 0x22, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x1C, 0xFF, 0xFF, 0xFF, 0xF2, 0x00, 0x00, 0x00, 0x00,
0xC5, 0xFF, 0xFF, 0xFF, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xFF, 0xFF, 0xFF, 0xC8, 0x00, 0x00, 0x00, 0x00,
0x8C, 0xFF, 0xFF, 0xFF, 0xA4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9F, 0xFF, 0xFF, 0xFF, 0x8F, 0x00, 0x00, 0x00, 0x00,
0x45, 0xFF, 0xFF, 0xFF, 0xF7, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0xF6, 0xFF, 0xFF, 0xFF, 0x47, 0x00, 0x00, 0x00, 0x00,
0x00, 0xDD, 0xFF, 0xFF, 0xFF, 0xAA, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA6, 0xFF, 0xFF, 0xFF, 0xDF, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x67, 0xFF, 0xFF, 0xFF, 0xFF, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x65, 0xFF, 0xFF, 0xFF, 0xFF, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x02, 0xD0, 0xFF, 0xFF, 0xFF, 0xFE, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x65, 0xFD, 0xFF, 0xFF, 0xFF, 0xD1, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x2B, 0xF5, 0xFF, 0xFF, 0xFF, 0xFF, 0xA9, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0xA6, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x4B, 0xFB, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0xA1, 0x4F, 0x1D, 0x00, 0x00, 0x1C, 0x4E, 0x9F, 0xF6, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x1E, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x4C, 0xF5, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x1E, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xD1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x1E, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x69, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x68, 0x03, 0x1E, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x1E, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x90, 0xC9, 0xF3, 0xFF, 0xFF, 0xF2, 0xC8, 0x8F, 0x47, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x1E,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xE0, 0xFF, 0xFF, 0xFF, 0xC6,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xBC, 0xFF, 0xC6, 0x21
};
static GUI_CONST_STORAGE GUI_BITMAP _bmZoomMinus_32x32_b = {
32, // xSize
32, // ySize
32, // BytesPerLine
8, // BitsPerPixel
(const unsigned char *)_acZoomMinus_32x32_b, // Pointer to picture data
NULL, // Pointer to palette
GUI_DRAW_A8
};
/*********************************************************************
*
* BUTTON image: _bmZoomPlus_32x32_b
*/
static GUI_CONST_STORAGE unsigned char _acZoomPlus_32x32_b[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x8B, 0xC5, 0xEC, 0xFF, 0xFF, 0xED, 0xC5, 0x8C, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x65, 0xDC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0x67, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0xCE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x2A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x46, 0xF5, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0x4B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x47, 0xF9, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xA6, 0x53, 0x23, 0x00, 0x00, 0x22, 0x52, 0xA4, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0x4B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x28, 0xF5, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xAA, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x01, 0xCE, 0xFF, 0xFF, 0xFF, 0xFF, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x69, 0xFE, 0xFF, 0xFF, 0xFF, 0xD1, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x65, 0xFF, 0xFF, 0xFF, 0xFF, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0xFF, 0xFF, 0xFF, 0xFF, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xDC, 0xFF, 0xFF, 0xFF, 0xAD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA9, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00,
0x43, 0xFF, 0xFF, 0xFF, 0xF8, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0xF6, 0xFF, 0xFF, 0xFF, 0x47, 0x00, 0x00, 0x00, 0x00,
0x8B, 0xFF, 0xFF, 0xFF, 0xA6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA1, 0xFF, 0xFF, 0xFF, 0x8F, 0x00, 0x00, 0x00, 0x00,
0xC4, 0xFF, 0xFF, 0xFF, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4F, 0xFF, 0xFF, 0xFF, 0xC9, 0x00, 0x00, 0x00, 0x00,
0xEC, 0xFF, 0xFF, 0xFF, 0x23, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x1D, 0xFF, 0xFF, 0xFF, 0xF3, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
0xED, 0xFF, 0xFF, 0xFF, 0x22, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x1C, 0xFF, 0xFF, 0xFF, 0xF1, 0x00, 0x00, 0x00, 0x00,
0xC5, 0xFF, 0xFF, 0xFF, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xFF, 0xFF, 0xFF, 0xC8, 0x00, 0x00, 0x00, 0x00,
0x8C, 0xFF, 0xFF, 0xFF, 0xA4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9F, 0xFF, 0xFF, 0xFF, 0x8F, 0x00, 0x00, 0x00, 0x00,
0x45, 0xFF, 0xFF, 0xFF, 0xF7, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0xF6, 0xFF, 0xFF, 0xFF, 0x47, 0x00, 0x00, 0x00, 0x00,
0x00, 0xDD, 0xFF, 0xFF, 0xFF, 0xAA, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA6, 0xFF, 0xFF, 0xFF, 0xDF, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x67, 0xFF, 0xFF, 0xFF, 0xFF, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x65, 0xFF, 0xFF, 0xFF, 0xFF, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x02, 0xD0, 0xFF, 0xFF, 0xFF, 0xFE, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x65, 0xFD, 0xFF, 0xFF, 0xFF, 0xD0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x2B, 0xF5, 0xFF, 0xFF, 0xFF, 0xFF, 0xA9, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0xA6, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x4B, 0xFB, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0xA1, 0x4F, 0x1D, 0x00, 0x00, 0x1C, 0x4E, 0x9F, 0xF6, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x1E, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x4C, 0xF5, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x1E, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xD1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x1E, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x69, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x68, 0x03, 0x1E, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x1E, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x8F, 0xC9, 0xF3, 0xFF, 0xFF, 0xF2, 0xC8, 0x8F, 0x47, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x1E,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xE0, 0xFF, 0xFF, 0xFF, 0xC6,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xBC, 0xFF, 0xC5, 0x21
};
static GUI_CONST_STORAGE GUI_BITMAP _bmZoomPlus_32x32_b = {
32, // xSize
32, // ySize
32, // BytesPerLine
8, // BitsPerPixel
(const unsigned char *)_acZoomPlus_32x32_b, // Pointer to picture data
NULL, // Pointer to palette
GUI_DRAW_A8
};
/*********************************************************************
*
* Animation data: COLSET demo
*/
static const ANIM_ITEM _aData_COLSET[] = {
{ DO_DELAY, 0x1234, 0, 0, 0, 6000 },
{ DO_DELAY, 0x1234, 0, 0, 0, 500 },
};
static ANIM_CONTEXT _Anim_COLSET = { _aData_COLSET, GUI_COUNTOF(_aData_COLSET) };
/*********************************************************************
*
* Animation data: BUTTON demo
*/
static const ANIM_ITEM _aData_BUTTON[] = {
{ DO_DELAY, 0x1234, 0, 0, 0, 500 },
{ DO_PID, GUI_ID_BUTTON0, 5, 5, 1, 300 },
{ DO_PID, GUI_ID_BUTTON0, 5, 5, 0, 300 },
{ DO_PID, GUI_ID_BUTTON3, 5, 5, 1, 300 },
{ DO_PID, GUI_ID_BUTTON3, 5, 5, 0, 300 },
{ DO_PID, GUI_ID_BUTTON1, 5, 5, 1, 300 },
{ DO_PID, GUI_ID_BUTTON1, 5, 5, 0, 300 },
{ DO_PID, GUI_ID_BUTTON4, 5, 5, 1, 300 },
{ DO_PID, GUI_ID_BUTTON4, 5, 5, 0, 300 },
{ DO_PID, GUI_ID_BUTTON2, 5, 5, 1, 300 },
{ DO_PID, GUI_ID_BUTTON2, 5, 5, 0, 300 },
{ DO_PID, GUI_ID_BUTTON5, 5, 5, 1, 300 },
{ DO_PID, GUI_ID_BUTTON5, 5, 5, 0, 300 },
{ DO_PID, GUI_ID_BUTTON0, 5, 5, 1, 100 },
{ DO_PID, GUI_ID_BUTTON0, 5, 5, 0, 100 },
{ DO_PID, GUI_ID_BUTTON3, 5, 5, 1, 100 },
{ DO_PID, GUI_ID_BUTTON3, 5, 5, 0, 100 },
{ DO_PID, GUI_ID_BUTTON1, 5, 5, 1, 100 },
{ DO_PID, GUI_ID_BUTTON1, 5, 5, 0, 100 },
{ DO_PID, GUI_ID_BUTTON4, 5, 5, 1, 100 },
{ DO_PID, GUI_ID_BUTTON4, 5, 5, 0, 100 },
{ DO_PID, GUI_ID_BUTTON2, 5, 5, 1, 100 },
{ DO_PID, GUI_ID_BUTTON2, 5, 5, 0, 100 },
{ DO_PID, GUI_ID_BUTTON5, 5, 5, 1, 100 },
{ DO_PID, GUI_ID_BUTTON5, 5, 5, 0, 100 },
};
static ANIM_CONTEXT _Anim_BUTTON = { _aData_BUTTON, GUI_COUNTOF(_aData_BUTTON) };
/*********************************************************************
*
* Animation data: CHECKBOX demo
*/
static const ANIM_ITEM _aData_CHECKBOX[] = {
{ DO_PID, GUI_ID_CHECK0, 5, 5, 1, 100 },
{ DO_PID, GUI_ID_CHECK0, 5, 5, 0, 100 },
{ DO_PID, GUI_ID_CHECK1, 5, 5, 1, 100 },
{ DO_PID, GUI_ID_CHECK1, 5, 5, 0, 100 },
{ DO_PID, GUI_ID_CHECK2, 5, 5, 1, 100 },
{ DO_PID, GUI_ID_CHECK2, 5, 5, 0, 100 },
{ DO_PID, GUI_ID_CHECK3, 5, 5, 1, 100 },
{ DO_PID, GUI_ID_CHECK3, 5, 5, 0, 100 },
{ DO_PID, GUI_ID_CHECK0, 5, 5, 1, 100 },
{ DO_PID, GUI_ID_CHECK0, 5, 5, 0, 100 },
{ DO_PID, GUI_ID_CHECK1, 5, 5, 1, 100 },
{ DO_PID, GUI_ID_CHECK1, 5, 5, 0, 100 },
{ DO_PID, GUI_ID_CHECK2, 5, 5, 1, 100 },
{ DO_PID, GUI_ID_CHECK2, 5, 5, 0, 100 },
{ DO_PID, GUI_ID_CHECK3, 5, 5, 1, 100 },
{ DO_PID, GUI_ID_CHECK3, 5, 5, 0, 100 },
{ DO_PID, GUI_ID_CHECK0, 5, 5, 1, 100 },
{ DO_PID, GUI_ID_CHECK0, 5, 5, 0, 100 },
{ DO_PID, GUI_ID_CHECK1, 5, 5, 1, 100 },
{ DO_PID, GUI_ID_CHECK1, 5, 5, 0, 100 },
{ DO_PID, GUI_ID_CHECK2, 5, 5, 1, 100 },
{ DO_PID, GUI_ID_CHECK2, 5, 5, 0, 100 },
{ DO_PID, GUI_ID_CHECK3, 5, 5, 1, 100 },
{ DO_PID, GUI_ID_CHECK3, 5, 5, 0, 100 },
{ DO_PID, GUI_ID_CHECK0, 5, 5, 1, 100 },
{ DO_PID, GUI_ID_CHECK0, 5, 5, 0, 100 },
{ DO_PID, GUI_ID_CHECK1, 5, 5, 1, 100 },
{ DO_PID, GUI_ID_CHECK1, 5, 5, 0, 100 },
{ DO_PID, GUI_ID_CHECK2, 5, 5, 1, 100 },
{ DO_PID, GUI_ID_CHECK2, 5, 5, 0, 100 },
{ DO_PID, GUI_ID_CHECK3, 5, 5, 1, 100 },
{ DO_PID, GUI_ID_CHECK3, 5, 5, 0, 100 },
{ DO_PID, GUI_ID_CHECK0, 5, 5, 1, 100 },
{ DO_PID, GUI_ID_CHECK0, 5, 5, 0, 100 },
{ DO_PID, GUI_ID_CHECK1, 5, 5, 1, 100 },
{ DO_PID, GUI_ID_CHECK1, 5, 5, 0, 100 },
{ DO_PID, GUI_ID_CHECK2, 5, 5, 1, 100 },
{ DO_PID, GUI_ID_CHECK2, 5, 5, 0, 100 },
{ DO_PID, GUI_ID_CHECK3, 5, 5, 1, 100 },
{ DO_PID, GUI_ID_CHECK3, 5, 5, 0, 100 },
};
static ANIM_CONTEXT _Anim_CHECKBOX = { _aData_CHECKBOX, GUI_COUNTOF(_aData_CHECKBOX) };
/*********************************************************************
*
* Animation data: DROPDOWN demo
*/
static const ANIM_ITEM _aData_DROPDOWN[] = {
{ DO_PID, GUI_ID_DROPDOWN0, 5, 5, 1, 500 },
{ DO_PID, GUI_ID_DROPDOWN0, 5, 5, 0, 300 },
{ DO_KEY, GUI_ID_DROPDOWN0, GUI_KEY_DOWN, 1, 0, 300 },
{ DO_KEY, GUI_ID_DROPDOWN0, GUI_KEY_DOWN, 1, 0, 300 },
{ DO_KEY, GUI_ID_DROPDOWN0, GUI_KEY_DOWN, 1, 0, 300 },
{ DO_KEY, GUI_ID_DROPDOWN0, GUI_KEY_DOWN, 1, 0, 300 },
{ DO_KEY, GUI_ID_DROPDOWN0, GUI_KEY_DOWN, 1, 0, 300 },
{ DO_KEY, GUI_ID_DROPDOWN0, GUI_KEY_DOWN, 1, 0, 300 },
{ DO_KEY, GUI_ID_DROPDOWN0, GUI_KEY_DOWN, 1, 0, 300 },
{ DO_KEY, GUI_ID_DROPDOWN0, GUI_KEY_DOWN, 1, 0, 300 },
{ DO_KEY, GUI_ID_DROPDOWN0, GUI_KEY_DOWN, 1, 0, 300 },
{ DO_KEY, GUI_ID_DROPDOWN0, GUI_KEY_DOWN, 1, 0, 300 },
{ DO_KEY, GUI_ID_DROPDOWN0, GUI_KEY_DOWN, 1, 0, 300 },
{ DO_KEY, GUI_ID_DROPDOWN0, GUI_KEY_UP, 1, 0, 200 },
{ DO_KEY, GUI_ID_DROPDOWN0, GUI_KEY_UP, 1, 0, 200 },
{ DO_KEY, GUI_ID_DROPDOWN0, GUI_KEY_UP, 1, 0, 200 },
{ DO_KEY, GUI_ID_DROPDOWN0, GUI_KEY_UP, 1, 0, 200 },
{ DO_KEY, GUI_ID_DROPDOWN0, GUI_KEY_UP, 1, 0, 200 },
{ DO_KEY, GUI_ID_DROPDOWN0, GUI_KEY_UP, 1, 0, 200 },
{ DO_PID, GUI_ID_DROPDOWN0, 5, 5, 1, 500 },
{ DO_PID, GUI_ID_DROPDOWN0, 5, 5, 0, 300 },
{ DO_PID, GUI_ID_DROPDOWN0, 5, 5, 1, 500 },
{ DO_PID, GUI_ID_DROPDOWN0, 5, 5, 0, 300 },
{ DO_KEY, GUI_ID_DROPDOWN0, GUI_KEY_DOWN, 1, 0, 300 },
{ DO_KEY, GUI_ID_DROPDOWN0, GUI_KEY_DOWN, 1, 0, 300 },
{ DO_KEY, GUI_ID_DROPDOWN0, GUI_KEY_DOWN, 1, 0, 300 },
{ DO_KEY, GUI_ID_DROPDOWN0, GUI_KEY_DOWN, 1, 0, 300 },
{ DO_KEY, GUI_ID_DROPDOWN0, GUI_KEY_DOWN, 1, 0, 300 },
{ DO_KEY, GUI_ID_DROPDOWN0, GUI_KEY_DOWN, 1, 0, 300 },
{ DO_KEY, GUI_ID_DROPDOWN0, GUI_KEY_DOWN, 1, 0, 300 },
{ DO_KEY, GUI_ID_DROPDOWN0, GUI_KEY_DOWN, 1, 0, 300 },
{ DO_KEY, GUI_ID_DROPDOWN0, GUI_KEY_DOWN, 1, 0, 300 },
{ DO_KEY, GUI_ID_DROPDOWN0, GUI_KEY_DOWN, 1, 0, 300 },
{ DO_KEY, GUI_ID_DROPDOWN0, GUI_KEY_DOWN, 1, 0, 300 },
{ DO_KEY, GUI_ID_DROPDOWN0, GUI_KEY_UP, 1, 0, 200 },
{ DO_KEY, GUI_ID_DROPDOWN0, GUI_KEY_UP, 1, 0, 200 },
{ DO_KEY, GUI_ID_DROPDOWN0, GUI_KEY_UP, 1, 0, 200 },
{ DO_KEY, GUI_ID_DROPDOWN0, GUI_KEY_UP, 1, 0, 200 },
{ DO_KEY, GUI_ID_DROPDOWN0, GUI_KEY_UP, 1, 0, 200 },
{ DO_KEY, GUI_ID_DROPDOWN0, GUI_KEY_UP, 1, 0, 200 },
{ DO_PID, GUI_ID_DROPDOWN0, 5, 5, 1, 500 },
{ DO_PID, GUI_ID_DROPDOWN0, 5, 5, 0, 300 },
};
static ANIM_CONTEXT _Anim_DROPDOWN = { _aData_DROPDOWN, GUI_COUNTOF(_aData_DROPDOWN) };
/*********************************************************************
*
* Animation data: EDIT demo
*/
static const ANIM_ITEM _aData_EDIT[] = {
{ DO_DELAY, GUI_ID_EDIT0, 0, 0, 0, 500 },
{ DO_PID, GUI_ID_EDIT0, 5, 5, 1, 500 },
{ DO_PID, GUI_ID_EDIT0, 5, 5, 0, 500 },
{ DO_KEY, GUI_ID_EDIT0, 'I', 1, 0, 300 },
{ DO_KEY, GUI_ID_EDIT0, ' ', 1, 0, 300 },
{ DO_KEY, GUI_ID_EDIT0, 'a', 1, 0, 300 },
{ DO_KEY, GUI_ID_EDIT0, 'm', 1, 0, 300 },
{ DO_KEY, GUI_ID_EDIT0, ' ', 1, 0, 300 },
{ DO_KEY, GUI_ID_EDIT0, 'a', 1, 0, 300 },
{ DO_KEY, GUI_ID_EDIT0, 'n', 1, 0, 300 },
{ DO_KEY, GUI_ID_EDIT0, ' ', 1, 0, 300 },
{ DO_KEY, GUI_ID_EDIT0, 'E', 1, 0, 300 },
{ DO_KEY, GUI_ID_EDIT0, 'D', 1, 0, 300 },
{ DO_KEY, GUI_ID_EDIT0, 'I', 1, 0, 300 },
{ DO_KEY, GUI_ID_EDIT0, 'T', 1, 0, 300 },
{ DO_KEY, GUI_ID_EDIT0, ' ', 1, 0, 300 },
{ DO_KEY, GUI_ID_EDIT0, 'w', 1, 0, 300 },
{ DO_KEY, GUI_ID_EDIT0, 'i', 1, 0, 300 },
{ DO_KEY, GUI_ID_EDIT0, 'd', 1, 0, 300 },
{ DO_KEY, GUI_ID_EDIT0, 'g', 1, 0, 300 },
{ DO_KEY, GUI_ID_EDIT0, 'e', 1, 0, 300 },
{ DO_KEY, GUI_ID_EDIT0, 't', 1, 0, 300 },
{ DO_KEY, GUI_ID_EDIT0, '.', 1, 0, 300 },
{ DO_KEY, GUI_ID_EDIT0, '.', 1, 0, 300 },
{ DO_KEY, GUI_ID_EDIT0, '.', 1, 0, 300 },
{ DO_KEY, GUI_ID_EDIT0, '.', 1, 0, 1000 },
{ DO_KEY, GUI_ID_EDIT0, GUI_KEY_BACKSPACE, 1, 0, 100 },
{ DO_KEY, GUI_ID_EDIT0, GUI_KEY_BACKSPACE, 1, 0, 100 },
{ DO_KEY, GUI_ID_EDIT0, GUI_KEY_BACKSPACE, 1, 0, 100 },
{ DO_KEY, GUI_ID_EDIT0, GUI_KEY_BACKSPACE, 1, 0, 100 },
{ DO_KEY, GUI_ID_EDIT0, GUI_KEY_BACKSPACE, 1, 0, 100 },
{ DO_KEY, GUI_ID_EDIT0, GUI_KEY_BACKSPACE, 1, 0, 100 },
{ DO_KEY, GUI_ID_EDIT0, GUI_KEY_BACKSPACE, 1, 0, 100 },
{ DO_KEY, GUI_ID_EDIT0, GUI_KEY_BACKSPACE, 1, 0, 100 },
{ DO_KEY, GUI_ID_EDIT0, GUI_KEY_BACKSPACE, 1, 0, 100 },
{ DO_KEY, GUI_ID_EDIT0, GUI_KEY_BACKSPACE, 1, 0, 100 },
{ DO_KEY, GUI_ID_EDIT0, GUI_KEY_BACKSPACE, 1, 0, 100 },
{ DO_KEY, GUI_ID_EDIT0, GUI_KEY_BACKSPACE, 1, 0, 100 },
{ DO_KEY, GUI_ID_EDIT0, GUI_KEY_BACKSPACE, 1, 0, 100 },
{ DO_KEY, GUI_ID_EDIT0, GUI_KEY_BACKSPACE, 1, 0, 100 },
{ DO_KEY, GUI_ID_EDIT0, GUI_KEY_BACKSPACE, 1, 0, 100 },
{ DO_KEY, GUI_ID_EDIT0, GUI_KEY_BACKSPACE, 1, 0, 100 },
{ DO_KEY, GUI_ID_EDIT0, GUI_KEY_BACKSPACE, 1, 0, 100 },
{ DO_KEY, GUI_ID_EDIT0, GUI_KEY_BACKSPACE, 1, 0, 100 },
{ DO_KEY, GUI_ID_EDIT0, GUI_KEY_BACKSPACE, 1, 0, 100 },
{ DO_KEY, GUI_ID_EDIT0, GUI_KEY_BACKSPACE, 1, 0, 100 },
{ DO_KEY, GUI_ID_EDIT0, GUI_KEY_BACKSPACE, 1, 0, 100 },
{ DO_KEY, GUI_ID_EDIT0, GUI_KEY_BACKSPACE, 1, 0, 100 },
{ DO_KEY, GUI_ID_EDIT0, GUI_KEY_BACKSPACE, 1, 0, 100 },
};
static ANIM_CONTEXT _Anim_EDIT = { _aData_EDIT, GUI_COUNTOF(_aData_EDIT) };
/*********************************************************************
*
* Animation data: FRAMEWIN demo
*/
static const ANIM_ITEM _aData_FRAMEWIN[] = {
{ DO_DELAY, 0x1234, 0, 0, 0, 500 },
{ DO_PID, GUI_ID_MAXIMIZE, 5, 5, 1, 300 },
{ DO_PID, GUI_ID_MAXIMIZE, 5, 5, 0, 300 },
{ DO_DELAY, 0x1234, 0, 0, 0, 500 },
{ DO_PID, GUI_ID_MAXIMIZE, 5, 5, 1, 300 },
{ DO_PID, GUI_ID_MAXIMIZE, 5, 5, 0, 300 },
{ DO_DELAY, 0x1234, 0, 0, 0, 500 },
{ DO_PID, GUI_ID_MINIMIZE, 5, 5, 1, 300 },
{ DO_PID, GUI_ID_MINIMIZE, 5, 5, 0, 300 },
{ DO_DELAY, 0x1234, 0, 0, 0, 500 },
{ DO_PID, GUI_ID_MINIMIZE, 5, 5, 1, 300 },
{ DO_PID, GUI_ID_MINIMIZE, 5, 5, 0, 300 },
{ DO_DELAY, 0x1234, 0, 0, 0, 500 },
{ DO_PID, GUI_ID_MINIMIZE, -50, 10, 1, 30 },
{ DO_PID, GUI_ID_MINIMIZE, -55, 10, 1, 30 },
{ DO_PID, GUI_ID_MINIMIZE, -52, 10, 1, 30 },
{ DO_PID, GUI_ID_MINIMIZE, -52, 10, 1, 30 },
{ DO_PID, GUI_ID_MINIMIZE, -52, 10, 1, 30 },
{ DO_PID, GUI_ID_MINIMIZE, -52, 10, 1, 30 },
{ DO_PID, GUI_ID_MINIMIZE, -50, 10, 1, 30 },
{ DO_PID, GUI_ID_MINIMIZE, -50, 12, 1, 30 },
{ DO_PID, GUI_ID_MINIMIZE, -50, 12, 1, 30 },
{ DO_PID, GUI_ID_MINIMIZE, -50, 12, 1, 30 },
{ DO_PID, GUI_ID_MINIMIZE, -50, 12, 1, 30 },
{ DO_PID, GUI_ID_MINIMIZE, -50, 12, 1, 30 },
{ DO_PID, GUI_ID_MINIMIZE, -50, 10, 1, 30 },
{ DO_PID, GUI_ID_MINIMIZE, -48, 10, 1, 30 },
{ DO_PID, GUI_ID_MINIMIZE, -48, 10, 1, 30 },
{ DO_PID, GUI_ID_MINIMIZE, -48, 10, 1, 30 },
{ DO_PID, GUI_ID_MINIMIZE, -48, 10, 1, 30 },
{ DO_PID, GUI_ID_MINIMIZE, -48, 10, 1, 30 },
{ DO_PID, GUI_ID_MINIMIZE, -48, 10, 1, 30 },
{ DO_PID, GUI_ID_MINIMIZE, -48, 10, 1, 30 },
{ DO_PID, GUI_ID_MINIMIZE, -48, 10, 1, 30 },
{ DO_PID, GUI_ID_MINIMIZE, -48, 10, 1, 30 },
{ DO_PID, GUI_ID_MINIMIZE, -48, 10, 1, 30 },
{ DO_PID, GUI_ID_MINIMIZE, -50, 10, 1, 30 },
{ DO_PID, GUI_ID_MINIMIZE, -50, 8, 1, 30 },
{ DO_PID, GUI_ID_MINIMIZE, -50, 8, 1, 30 },
{ DO_PID, GUI_ID_MINIMIZE, -50, 8, 1, 30 },
{ DO_PID, GUI_ID_MINIMIZE, -50, 8, 1, 30 },
{ DO_PID, GUI_ID_MINIMIZE, -50, 8, 1, 30 },
{ DO_PID, GUI_ID_MINIMIZE, -50, 8, 1, 30 },
{ DO_PID, GUI_ID_MINIMIZE, -50, 8, 1, 30 },
{ DO_PID, GUI_ID_MINIMIZE, -50, 8, 1, 30 },
{ DO_PID, GUI_ID_MINIMIZE, -50, 8, 1, 30 },
{ DO_PID, GUI_ID_MINIMIZE, -50, 8, 1, 30 },
{ DO_PID, GUI_ID_MINIMIZE, -50, 10, 1, 30 },
{ DO_PID, GUI_ID_MINIMIZE, -52, 10, 1, 30 },
{ DO_PID, GUI_ID_MINIMIZE, -52, 10, 1, 30 },
{ DO_PID, GUI_ID_MINIMIZE, -52, 10, 1, 30 },
{ DO_PID, GUI_ID_MINIMIZE, -52, 10, 1, 30 },
{ DO_PID, GUI_ID_MINIMIZE, -52, 10, 1, 30 },
{ DO_PID, GUI_ID_MINIMIZE, -52, 10, 1, 30 },
{ DO_PID, GUI_ID_MINIMIZE, -52, 10, 1, 30 },
{ DO_PID, GUI_ID_MINIMIZE, -52, 10, 1, 30 },
{ DO_PID, GUI_ID_MINIMIZE, -52, 10, 1, 30 },
{ DO_PID, GUI_ID_MINIMIZE, -55, 10, 1, 30 },
{ DO_PID, GUI_ID_MINIMIZE, -50, 10, 1, 30 },
{ DO_PID, GUI_ID_MINIMIZE, -50, 12, 1, 30 },
{ DO_PID, GUI_ID_MINIMIZE, -50, 12, 1, 30 },
{ DO_PID, GUI_ID_MINIMIZE, -50, 12, 1, 30 },
{ DO_PID, GUI_ID_MINIMIZE, -50, 12, 1, 30 },
{ DO_PID, GUI_ID_MINIMIZE, -50, 12, 1, 30 },
{ DO_PID, GUI_ID_MINIMIZE, -50, 10, 1, 30 },
{ DO_PID, GUI_ID_MINIMIZE, -48, 10, 1, 30 },
{ DO_PID, GUI_ID_MINIMIZE, -48, 10, 1, 30 },
{ DO_PID, GUI_ID_MINIMIZE, -48, 10, 1, 30 },
{ DO_PID, GUI_ID_MINIMIZE, -48, 10, 1, 30 },
{ DO_PID, GUI_ID_MINIMIZE, -48, 10, 1, 30 },
{ DO_PID, GUI_ID_MINIMIZE, -50, 10, 0, 30 },
};
static ANIM_CONTEXT _Anim_FRAMEWIN = { _aData_FRAMEWIN, GUI_COUNTOF(_aData_FRAMEWIN) };
/*********************************************************************
*
* Animation data: LISTBOX demo
*/
static const ANIM_ITEM _aData_LISTBOX[] = {
{ DO_DELAY, 0x1234, 0, 0, 0, 500 },
{ DO_PID, GUI_ID_LISTBOX0, 5, 60, 1, 25 },
{ DO_PID, GUI_ID_LISTBOX0, 5, 50, 1, 25 },
{ DO_PID, GUI_ID_LISTBOX0, 5, 40, 1, 25 },
{ DO_PID, GUI_ID_LISTBOX0, 5, 30, 1, 25 },
{ DO_PID, GUI_ID_LISTBOX0, 5, 20, 1, 25 },
{ DO_PID, GUI_ID_LISTBOX0, 5, 10, 1, 25 },
{ DO_PID, GUI_ID_LISTBOX0, 5, 10, 0, 25 },
{ DO_PID, GUI_ID_LISTBOX0, 5, 60, 1, 50 },
{ DO_PID, GUI_ID_LISTBOX0, 5, 60, 0, 50 },
{ DO_DELAY, 0x1234, 0, 0, 0, 500 },
{ DO_PID, GUI_ID_LISTBOX0, 5, 60, 1, 25 },
{ DO_PID, GUI_ID_LISTBOX0, 5, 50, 1, 25 },
{ DO_PID, GUI_ID_LISTBOX0, 5, 40, 1, 25 },
{ DO_PID, GUI_ID_LISTBOX0, 5, 30, 1, 25 },
{ DO_PID, GUI_ID_LISTBOX0, 5, 20, 1, 25 },
{ DO_PID, GUI_ID_LISTBOX0, 5, 10, 1, 25 },
{ DO_PID, GUI_ID_LISTBOX0, 5, 10, 0, 25 },
{ DO_PID, GUI_ID_LISTBOX0, 5, 60, 1, 50 },
{ DO_PID, GUI_ID_LISTBOX0, 5, 60, 0, 50 },
{ DO_DELAY, 0x1234, 0, 0, 0, 500 },
{ DO_PID, GUI_ID_LISTBOX0, 5, 40, 1, 25 },
{ DO_PID, GUI_ID_LISTBOX0, 5, 50, 1, 25 },
{ DO_PID, GUI_ID_LISTBOX0, 5, 60, 1, 25 },
{ DO_PID, GUI_ID_LISTBOX0, 5, 70, 1, 25 },
{ DO_PID, GUI_ID_LISTBOX0, 5, 80, 1, 25 },
{ DO_PID, GUI_ID_LISTBOX0, 5, 90, 1, 25 },
{ DO_PID, GUI_ID_LISTBOX0, 5, 90, 0, 25 },
{ DO_PID, GUI_ID_LISTBOX0, 5, 60, 1, 50 },
{ DO_PID, GUI_ID_LISTBOX0, 5, 60, 0, 50 },
{ DO_DELAY, 0x1234, 0, 0, 0, 500 },
{ DO_PID, GUI_ID_LISTBOX0, 5, 40, 1, 25 },
{ DO_PID, GUI_ID_LISTBOX0, 5, 50, 1, 25 },
{ DO_PID, GUI_ID_LISTBOX0, 5, 60, 1, 25 },
{ DO_PID, GUI_ID_LISTBOX0, 5, 70, 1, 25 },
{ DO_PID, GUI_ID_LISTBOX0, 5, 80, 1, 25 },
{ DO_PID, GUI_ID_LISTBOX0, 5, 90, 1, 25 },
{ DO_PID, GUI_ID_LISTBOX0, 5, 90, 0, 25 },
{ DO_PID, GUI_ID_LISTBOX0, 5, 60, 1, 50 },
{ DO_PID, GUI_ID_LISTBOX0, 5, 60, 0, 50 },
{ DO_DELAY, 0x1234, 0, 0, 0, 500 },
};
static ANIM_CONTEXT _Anim_LISTBOX = { _aData_LISTBOX, GUI_COUNTOF(_aData_LISTBOX) };
/*********************************************************************
*
* Animation data: LISTVIEW demo
*/
static const ANIM_ITEM _aData_LISTVIEW[] = {
{ DO_DELAY, 0x1234, 0, 0, 0, 500 },
{ DO_PID, GUI_ID_LISTVIEW0, 95, 95, 1, 30 },
{ DO_PID, GUI_ID_LISTVIEW0, 90, 90, 1, 30 },
{ DO_PID, GUI_ID_LISTVIEW0, 85, 85, 1, 30 },
{ DO_PID, GUI_ID_LISTVIEW0, 80, 80, 1, 30 },
{ DO_PID, GUI_ID_LISTVIEW0, 75, 75, 1, 30 },
{ DO_PID, GUI_ID_LISTVIEW0, 70, 70, 1, 30 },
{ DO_PID, GUI_ID_LISTVIEW0, 65, 65, 1, 30 },
{ DO_PID, GUI_ID_LISTVIEW0, 60, 60, 1, 30 },
{ DO_PID, GUI_ID_LISTVIEW0, 55, 55, 1, 30 },
{ DO_PID, GUI_ID_LISTVIEW0, 50, 50, 1, 30 },
{ DO_PID, GUI_ID_LISTVIEW0, 45, 45, 1, 30 },
{ DO_PID, GUI_ID_LISTVIEW0, 40, 40, 1, 30 },
{ DO_DELAY, 0x1234, 0, 0, 0, 500 },
{ DO_PID, GUI_ID_LISTVIEW0, 40, 40, 1, 30 },
{ DO_PID, GUI_ID_LISTVIEW0, 45, 45, 1, 30 },
{ DO_PID, GUI_ID_LISTVIEW0, 50, 50, 1, 30 },
{ DO_PID, GUI_ID_LISTVIEW0, 55, 55, 1, 30 },
{ DO_PID, GUI_ID_LISTVIEW0, 60, 60, 1, 30 },
{ DO_PID, GUI_ID_LISTVIEW0, 65, 65, 1, 30 },
{ DO_PID, GUI_ID_LISTVIEW0, 70, 70, 1, 30 },
{ DO_PID, GUI_ID_LISTVIEW0, 75, 75, 1, 30 },
{ DO_PID, GUI_ID_LISTVIEW0, 80, 80, 1, 30 },
{ DO_PID, GUI_ID_LISTVIEW0, 85, 85, 1, 30 },
{ DO_PID, GUI_ID_LISTVIEW0, 90, 90, 1, 30 },
{ DO_PID, GUI_ID_LISTVIEW0, 95, 95, 1, 30 },
{ DO_PID, GUI_ID_LISTVIEW0, 95, 95, 0, 30 },
{ DO_PID, GUI_ID_LISTVIEW0, 120, 80, 1, 200 },
{ DO_PID, GUI_ID_LISTVIEW0, 120, 80, 0, 200 },
{ DO_DELAY, 0x1234, 0, 0, 0, 500 },
{ DO_PID, GUI_ID_LISTVIEW0, 120, 10, 1, 200 },
{ DO_PID, GUI_ID_LISTVIEW0, 120, 10, 0, 200 },
{ DO_DELAY, 0x1234, 0, 0, 0, 500 },
{ DO_PID, GUI_ID_LISTVIEW0, 120, 10, 1, 200 },
{ DO_PID, GUI_ID_LISTVIEW0, 120, 10, 0, 200 },
{ DO_DELAY, 0x1234, 0, 0, 0, 500 },
};
static ANIM_CONTEXT _Anim_LISTVIEW = { _aData_LISTVIEW, GUI_COUNTOF(_aData_LISTVIEW) };
/*********************************************************************
*
* Animation data: MULTIEDIT demo
*/
static const ANIM_ITEM _aData_MULTIEDIT[] = {
{ DO_DELAY, 0x1234, 0, 0, 0, 500 },
{ DO_PID, GUI_ID_MULTIEDIT0, 10, 10, 1, 100 },
{ DO_PID, GUI_ID_MULTIEDIT0, 10, 10, 0, 100 },
{ DO_KEY, GUI_ID_MULTIEDIT0, 'Y', 1, 0, 300 },
{ DO_KEY, GUI_ID_MULTIEDIT0, 'e', 1, 0, 300 },
{ DO_KEY, GUI_ID_MULTIEDIT0, 's', 1, 0, 300 },
{ DO_KEY, GUI_ID_MULTIEDIT0, ',', 1, 0, 500 },
{ DO_KEY, GUI_ID_MULTIEDIT0, GUI_KEY_ENTER, 1, 0, 300 },
{ DO_KEY, GUI_ID_MULTIEDIT0, GUI_KEY_RIGHT, 1, 0, 300 },
{ DO_KEY, GUI_ID_MULTIEDIT0, GUI_KEY_RIGHT, 1, 0, 500 },
{ DO_KEY, GUI_ID_MULTIEDIT0, GUI_KEY_ENTER, 1, 0, 300 },
{ DO_KEY, GUI_ID_MULTIEDIT0, GUI_KEY_RIGHT, 1, 0, 300 },
{ DO_KEY, GUI_ID_MULTIEDIT0, GUI_KEY_RIGHT, 1, 0, 300 },
{ DO_KEY, GUI_ID_MULTIEDIT0, GUI_KEY_RIGHT, 1, 0, 500 },
{ DO_KEY, GUI_ID_MULTIEDIT0, GUI_KEY_ENTER, 1, 0, 300 },
{ DO_KEY, GUI_ID_MULTIEDIT0, GUI_KEY_END, 1, 0, 300 },
{ DO_KEY, GUI_ID_MULTIEDIT0, GUI_KEY_BACKSPACE, 1, 0, 300 },
{ DO_KEY, GUI_ID_MULTIEDIT0, '!', 1, 0, 300 },
{ DO_KEY, GUI_ID_MULTIEDIT0, '!', 1, 0, 300 },
{ DO_KEY, GUI_ID_MULTIEDIT0, '!', 1, 0, 800 },
{ DO_KEY, GUI_ID_MULTIEDIT0, GUI_KEY_BACKSPACE, 1, 0, 300 },
{ DO_KEY, GUI_ID_MULTIEDIT0, GUI_KEY_BACKSPACE, 1, 0, 300 },
{ DO_KEY, GUI_ID_MULTIEDIT0, GUI_KEY_BACKSPACE, 1, 0, 300 },
{ DO_KEY, GUI_ID_MULTIEDIT0, '.', 1, 0, 800 },
{ DO_KEY, GUI_ID_MULTIEDIT0, GUI_KEY_HOME, 1, 0, 300 },
{ DO_KEY, GUI_ID_MULTIEDIT0, GUI_KEY_BACKSPACE, 1, 0, 500 },
{ DO_KEY, GUI_ID_MULTIEDIT0, GUI_KEY_HOME, 1, 0, 300 },
{ DO_KEY, GUI_ID_MULTIEDIT0, GUI_KEY_BACKSPACE, 1, 0, 500 },
{ DO_KEY, GUI_ID_MULTIEDIT0, GUI_KEY_HOME, 1, 0, 300 },
{ DO_KEY, GUI_ID_MULTIEDIT0, GUI_KEY_BACKSPACE, 1, 0, 500 },
{ DO_KEY, GUI_ID_MULTIEDIT0, GUI_KEY_BACKSPACE, 1, 0, 300 },
{ DO_KEY, GUI_ID_MULTIEDIT0, GUI_KEY_BACKSPACE, 1, 0, 300 },
{ DO_KEY, GUI_ID_MULTIEDIT0, GUI_KEY_BACKSPACE, 1, 0, 300 },
{ DO_KEY, GUI_ID_MULTIEDIT0, GUI_KEY_BACKSPACE, 1, 0, 300 },
{ DO_DELAY, 0x1234, 0, 0, 0, 500 },
};
static ANIM_CONTEXT _Anim_MULTIEDIT = { _aData_MULTIEDIT, GUI_COUNTOF(_aData_MULTIEDIT) };
/*********************************************************************
*
* Animation data: PROGBAR demo
*/
static const ANIM_ITEM _aData_PROGBAR[] = {
{ DO_DELAY, 0x1234, 0, 0, 0, 6000 },
{ DO_DELAY, 0x1234, 0, 0, 0, 500 },
};
static ANIM_CONTEXT _Anim_PROGBAR = { _aData_PROGBAR, GUI_COUNTOF(_aData_PROGBAR) };
/*********************************************************************
*
* Animation data: RADIO demo
*/
static const ANIM_ITEM _aData_RADIO[] = {
{ DO_DELAY, 0x1234, 0, 0, 0, 500 },
{ DO_PID, GUI_ID_RADIO0, 5, 5, 1, 200 },
{ DO_PID, GUI_ID_RADIO0, 5, 5, 0, 200 },
{ DO_KEY, GUI_ID_RADIO0, GUI_KEY_DOWN, 1, 0, 500 },
{ DO_KEY, GUI_ID_RADIO0, GUI_KEY_DOWN, 1, 0, 500 },
{ DO_KEY, GUI_ID_RADIO0, GUI_KEY_DOWN, 1, 0, 500 },
{ DO_KEY, GUI_ID_RADIO0, GUI_KEY_DOWN, 1, 0, 500 },
{ DO_PID, GUI_ID_RADIO0, 5, 36, 1, 250 },
{ DO_PID, GUI_ID_RADIO0, 5, 36, 0, 250 },
{ DO_PID, GUI_ID_RADIO0, 5, 108, 1, 250 },
{ DO_PID, GUI_ID_RADIO0, 5, 108, 0, 250 },
{ DO_PID, GUI_ID_RADIO0, 5, 72, 1, 250 },
{ DO_PID, GUI_ID_RADIO0, 5, 72, 0, 250 },
};
static ANIM_CONTEXT _Anim_RADIO = { _aData_RADIO, GUI_COUNTOF(_aData_RADIO) };
/*********************************************************************
*
* Animation data: SLIDER demo
*/
static const ANIM_ITEM _aData_SLIDER[] = {
{ DO_DELAY, 0x1234, 0, 0, 0, 500 },
{ DO_PID, GUI_ID_SLIDER0, 16, 15, 1, 300 },
{ DO_PID, GUI_ID_SLIDER0, 48, 15, 1, 300 },
{ DO_PID, GUI_ID_SLIDER0, 80, 15, 1, 300 },
{ DO_PID, GUI_ID_SLIDER0, 112, 15, 1, 300 },
{ DO_PID, GUI_ID_SLIDER0, 144, 15, 1, 300 },
{ DO_PID, GUI_ID_SLIDER0, 176, 15, 1, 300 },
{ DO_PID, GUI_ID_SLIDER0, 208, 15, 1, 300 },
{ DO_PID, GUI_ID_SLIDER0, 208, 15, 0, 300 },
{ DO_DELAY, 0x1234, 0, 0, 0, 500 },
{ DO_PID, GUI_ID_SLIDER0, 208, 15, 1, 300 },
{ DO_PID, GUI_ID_SLIDER0, 176, 15, 1, 300 },
{ DO_PID, GUI_ID_SLIDER0, 144, 15, 1, 300 },
{ DO_PID, GUI_ID_SLIDER0, 112, 15, 1, 300 },
{ DO_PID, GUI_ID_SLIDER0, 80, 15, 1, 300 },
{ DO_PID, GUI_ID_SLIDER0, 48, 15, 1, 300 },
{ DO_PID, GUI_ID_SLIDER0, 16, 15, 1, 300 },
{ DO_PID, GUI_ID_SLIDER0, 16, 15, 0, 300 },
{ DO_DELAY, 0x1234, 0, 0, 0, 500 },
{ DO_PID, GUI_ID_SLIDER1, 16, 15, 1, 300 },
{ DO_PID, GUI_ID_SLIDER1, 24, 15, 1, 30 },
{ DO_PID, GUI_ID_SLIDER1, 32, 15, 1, 30 },
{ DO_PID, GUI_ID_SLIDER1, 40, 15, 1, 30 },
{ DO_PID, GUI_ID_SLIDER1, 48, 15, 1, 30 },
{ DO_PID, GUI_ID_SLIDER1, 56, 15, 1, 30 },
{ DO_PID, GUI_ID_SLIDER1, 64, 15, 1, 30 },
{ DO_PID, GUI_ID_SLIDER1, 72, 15, 1, 30 },
{ DO_PID, GUI_ID_SLIDER1, 80, 15, 1, 30 },
{ DO_PID, GUI_ID_SLIDER1, 88, 15, 1, 30 },
{ DO_PID, GUI_ID_SLIDER1, 96, 15, 1, 30 },
{ DO_PID, GUI_ID_SLIDER1, 104, 15, 1, 30 },
{ DO_PID, GUI_ID_SLIDER1, 112, 15, 1, 30 },
{ DO_PID, GUI_ID_SLIDER1, 120, 15, 1, 30 },
{ DO_PID, GUI_ID_SLIDER1, 128, 15, 1, 30 },
{ DO_PID, GUI_ID_SLIDER1, 136, 15, 1, 30 },
{ DO_PID, GUI_ID_SLIDER1, 144, 15, 1, 30 },
{ DO_PID, GUI_ID_SLIDER1, 152, 15, 1, 30 },
{ DO_PID, GUI_ID_SLIDER1, 160, 15, 1, 30 },
{ DO_PID, GUI_ID_SLIDER1, 168, 15, 1, 30 },
{ DO_PID, GUI_ID_SLIDER1, 176, 15, 1, 30 },
{ DO_PID, GUI_ID_SLIDER1, 184, 15, 1, 30 },
{ DO_PID, GUI_ID_SLIDER1, 192, 15, 1, 30 },
{ DO_PID, GUI_ID_SLIDER1, 200, 15, 1, 30 },
{ DO_PID, GUI_ID_SLIDER1, 208, 15, 1, 30 },
{ DO_PID, GUI_ID_SLIDER1, 208, 15, 0, 30 },
{ DO_DELAY, 0x1234, 0, 0, 0, 500 },
{ DO_PID, GUI_ID_SLIDER1, 208, 15, 1, 300 },
{ DO_PID, GUI_ID_SLIDER1, 200, 15, 1, 30 },
{ DO_PID, GUI_ID_SLIDER1, 192, 15, 1, 30 },
{ DO_PID, GUI_ID_SLIDER1, 184, 15, 1, 30 },
{ DO_PID, GUI_ID_SLIDER1, 176, 15, 1, 30 },
{ DO_PID, GUI_ID_SLIDER1, 168, 15, 1, 30 },
{ DO_PID, GUI_ID_SLIDER1, 160, 15, 1, 30 },
{ DO_PID, GUI_ID_SLIDER1, 152, 15, 1, 30 },
{ DO_PID, GUI_ID_SLIDER1, 144, 15, 1, 30 },
{ DO_PID, GUI_ID_SLIDER1, 136, 15, 1, 30 },
{ DO_PID, GUI_ID_SLIDER1, 128, 15, 1, 30 },
{ DO_PID, GUI_ID_SLIDER1, 120, 15, 1, 30 },
{ DO_PID, GUI_ID_SLIDER1, 112, 15, 1, 30 },
{ DO_PID, GUI_ID_SLIDER1, 104, 15, 1, 30 },
{ DO_PID, GUI_ID_SLIDER1, 96, 15, 1, 30 },
{ DO_PID, GUI_ID_SLIDER1, 88, 15, 1, 30 },
{ DO_PID, GUI_ID_SLIDER1, 80, 15, 1, 30 },
{ DO_PID, GUI_ID_SLIDER1, 72, 15, 1, 30 },
{ DO_PID, GUI_ID_SLIDER1, 64, 15, 1, 30 },
{ DO_PID, GUI_ID_SLIDER1, 56, 15, 1, 30 },
{ DO_PID, GUI_ID_SLIDER1, 48, 15, 1, 30 },
{ DO_PID, GUI_ID_SLIDER1, 40, 15, 1, 30 },
{ DO_PID, GUI_ID_SLIDER1, 32, 15, 1, 30 },
{ DO_PID, GUI_ID_SLIDER1, 24, 15, 1, 30 },
{ DO_PID, GUI_ID_SLIDER1, 16, 15, 1, 30 },
{ DO_PID, GUI_ID_SLIDER1, 16, 15, 0, 30 },
};
static ANIM_CONTEXT _Anim_SLIDER = { _aData_SLIDER, GUI_COUNTOF(_aData_SLIDER) };
/*********************************************************************
*
* Animation data: SWITCH demo
*/
static const ANIM_ITEM _aData_SWITCH[] = {
{ DO_DELAY, 0x1234, 0, 0, 0, 500 },
{ DO_PID, GUI_ID_SWITCH0, 5, 5, 1, 300 },
{ DO_PID, GUI_ID_SWITCH0, 5, 5, 0, 100 },
{ DO_DELAY, 0x1234, 0, 0, 0, 200 },
{ DO_PID, GUI_ID_SWITCH1, 5, 5, 1, 300 },
{ DO_PID, GUI_ID_SWITCH1, 5, 5, 0, 100 },
{ DO_DELAY, 0x1234, 0, 0, 0, 200 },
{ DO_PID, GUI_ID_SWITCH2, 5, 5, 1, 300 },
{ DO_PID, GUI_ID_SWITCH2, 5, 5, 0, 100 },
{ DO_DELAY, 0x1234, 0, 0, 0, 200 },
{ DO_PID, GUI_ID_SWITCH0, 5, 5, 1, 300 },
{ DO_PID, GUI_ID_SWITCH0, 5, 5, 0, 100 },
{ DO_DELAY, 0x1234, 0, 0, 0, 200 },
{ DO_PID, GUI_ID_SWITCH1, 5, 5, 1, 300 },
{ DO_PID, GUI_ID_SWITCH1, 5, 5, 0, 100 },
{ DO_DELAY, 0x1234, 0, 0, 0, 200 },
{ DO_PID, GUI_ID_SWITCH2, 5, 5, 1, 300 },
{ DO_PID, GUI_ID_SWITCH2, 5, 5, 0, 100 },
{ DO_DELAY, 0x1234, 0, 0, 0, 500 },
};
static ANIM_CONTEXT _Anim_SWITCH = { _aData_SWITCH, GUI_COUNTOF(_aData_SWITCH) };
//
// Arrow polygon
//
static const GUI_POINT _aPointArrow[] = {
{ 0, 0},
{ 50, -50},
{ 50, -20},
{ 100, -20},
{ 100, 20},
{ 50, 20},
{ 50, 50},
};
static GUI_TIMER_HANDLE _hTimerInput;
static int _InputExpected;
static int _TriggerTimer;
static void (* _pPaintHook)(WM_HWIN hWin);
static const GUI_COLOR * _apColors_COLSET[] = {
FLAT_SKIN_COLORS_DEFAULT,
FLAT_SKIN_COLORS_NIGHT,
FLAT_SKIN_COLORS_DAY,
};
static const char * _apNames_COLSET[] = {
"Default",
"Night",
"Day",
};
static GUI_COLOR _aColors_COLSET[9];
/*********************************************************************
*
* Static code
*
**********************************************************************
*/
/*********************************************************************
*
* _cbTimerInput
*/
void _cbTimerInput(GUI_TIMER_MESSAGE * pTM) {
GUI_TIMER_Delete(pTM->hTimer);
_hTimerInput = 0;
}
/*********************************************************************
*
* _CreateInputTimer
*/
static void _CreateInputTimer(void) {
_hTimerInput = GUI_TIMER_Create(_cbTimerInput, GUI_GetTime() + 3500, 0, 0);
GUI_TIMER_SetPeriod(_hTimerInput, 3500);
}
/*********************************************************************
*
* _PID_Hook
*/
static void _PID_Hook(GUI_PID_STATE * pState) {
//
// Detect 'real' input from keyboard
//
if (_InputExpected == 0) {
if (pState) {
if (pState->Pressed) {
_TriggerTimer = 1; // Timer is triggered in superloop
}
}
}
_InputExpected = 0;
}
/*********************************************************************
*
* _cbTimerAnim
*/
void _cbTimerAnim(GUI_TIMER_MESSAGE * pTM) {
ANIM_CONTEXT * pContext;
GUI_PID_STATE State;
const ANIM_ITEM * pItem;
WM_HWIN hWin;
pContext = (ANIM_CONTEXT *)pTM->Context;
if (_hTimerInput == 0) {
pItem = &pContext->pData[pContext->CurrentItem];
switch (pItem->Cmd) {
case DO_PID:
hWin = WM_GetDialogItem(pContext->hWin, pItem->Id);
State.x = WM_GetWindowOrgX(hWin) + pItem->d0;
State.y = WM_GetWindowOrgY(hWin) + pItem->d1;
State.Pressed = pItem->d2;
State.Layer = 0;
_InputExpected = 1; // Input comes from animation
GUI_PID_StoreState(&State);
break;
case DO_KEY:
GUI_StoreKeyMsg(pItem->d0, 1);
if (pItem->d1) {
GUI_StoreKeyMsg(pItem->d0, 0);
}
break;
case DO_DELAY:
break;
}
GUI_TIMER_SetPeriod(pTM->hTimer, pItem->Period);
GUI_TIMER_Restart(pTM->hTimer);
pContext->CurrentItem++;
if (pContext->CurrentItem == pContext->NumItems) {
WM_SendMessageNoPara(pContext->hWin, APP_ANIMATION_END);
}
} else {
GUI_TIMER_SetPeriod(pTM->hTimer, 3500);
GUI_TIMER_Restart(pTM->hTimer);
}
}
/*********************************************************************
*
* _cbWinDemo
*/
static void _cbWinDemo(WM_MESSAGE * pMsg) {
int Id, NCode, Sel;
switch (pMsg->MsgId) {
case WM_NOTIFY_PARENT:
Id = WM_GetId(pMsg->hWinSrc); // Id of widget
NCode = pMsg->Data.v; // Notification code
switch (Id) {
case APP_BUTTON_COLSET + 0:
case APP_BUTTON_COLSET + 1:
case APP_BUTTON_COLSET + 2:
if (NCode == WM_NOTIFICATION_RELEASED) {
Sel = Id - APP_BUTTON_COLSET;
FLAT_SKIN_SetColors(_apColors_COLSET[Sel]);
FRAMEWIN_SetDefaultClientColor(FLAT_SKIN_GetColor(FLAT_SKIN_CI_DIALOG));
WM_SendMessageNoPara(WM_GetParent(pMsg->hWin), APP_ANIMATION_END);
}
break;
}
break;
case WM_PAINT:
if (_pPaintHook) {
_pPaintHook(pMsg->hWin);
} else {
GUI_SetBkColor(FLAT_SKIN_GetColor(FLAT_SKIN_CI_DIALOG));
GUI_Clear();
}
break;
case APP_ANIMATION_END:
WM_SendMessageNoPara(WM_GetParent(pMsg->hWin), APP_ANIMATION_END);
break;
}
}
/*********************************************************************
*
* _AnimIn
*/
void _AnimIn(GUI_ANIM_INFO * pInfo, void * pVoid) {
ANIM_CONTEXT * pContext;
int xSizeDisplay, xPos;
pContext = (ANIM_CONTEXT *)pVoid;
xSizeDisplay = LCD_GetXSizeDisplay();
xPos = xSizeDisplay - (((xSizeDisplay / 3) * 2) * pInfo->Pos) / GUI_ANIM_RANGE;
WM_MoveTo(pContext->hWin, xPos, 0);
}
/*********************************************************************
*
* _AnimOut
*/
void _AnimOut(GUI_ANIM_INFO * pInfo, void * pVoid) {
ANIM_CONTEXT * pContext;
int xSizeDisplay, xPos;
pContext = (ANIM_CONTEXT *)pVoid;
xSizeDisplay = LCD_GetXSizeDisplay();
xPos = xSizeDisplay / 3 + (((xSizeDisplay / 3) * 2) * pInfo->Pos) / GUI_ANIM_RANGE;
WM_MoveTo(pContext->hWin, xPos, 0);
}
/*********************************************************************
*
* _AnimOnDeleteIn
*/
void _AnimOnDeleteIn(void * pVoid) {
ANIM_CONTEXT * pContext;
pContext = (ANIM_CONTEXT *)pVoid;
pContext->CurrentItem = 0;
pContext->hTimer = GUI_TIMER_Create(_cbTimerAnim, 0, (PTR_ADDR)pContext, 0);
pContext->hAnim = 0;
}
/*********************************************************************
*
* _AnimOnDeleteOut
*/
void _AnimOnDeleteOut(void * pVoid) {
ANIM_CONTEXT * pContext;
pContext = (ANIM_CONTEXT *)pVoid;
if (pContext->hWin) {
WM_DeleteWindow(pContext->hWin);
pContext->hWin = 0;
}
pContext->hAnim = 0;
}
/*********************************************************************
*
* _CreateLabel
*/
static void _CreateLabel(WM_HWIN hDemo, const char * p) {
const GUI_FONT * pFont;
int xSize, ySize;
WM_HWIN hWin;
pFont = FLAT_SKIN_GetFont();
xSize = WM_GetWindowSizeX(hDemo);
ySize = GUI_GetYDistOfFont(pFont) + 10;
hWin = TEXT_CreateUser(0, 0, xSize, ySize, hDemo, WM_CF_SHOW, 0, GUI_ID_TEXT0, p, 0);
TEXT_SetTextAlign(hWin, GUI_TA_HCENTER | GUI_TA_VCENTER);
TEXT_SetTextColor(hWin, GUI_MAKE_COLOR(0x0000E000));
TEXT_SetBkColor(hWin, GUI_GRAY_60);
}
/*********************************************************************
*
* _PushColors_COLSET
*/
static void _PushColors_COLSET(void) {
int i;
for (i = 0; i < FLAT_SKIN_CI__CNT; i++) {
_aColors_COLSET[i] = FLAT_SKIN_GetColor(i);
}
}
/*********************************************************************
*
* _PopColors_COLSET
*/
static void _PopColors_COLSET(void) {
int i;
for (i = 0; i < FLAT_SKIN_CI__CNT; i++) {
FLAT_SKIN_SetColor(i, _aColors_COLSET[i]);
}
}
/*********************************************************************
*
* _PaintHook_COLSET
*/
static void _PaintHook_COLSET(WM_HWIN hWin) {
int xSize, ySize, i, h, yPos;
yPos = GUI_GetYDistOfFont(FLAT_SKIN_GetFont()) + 10;
xSize = WM_GetWindowSizeX(hWin);
ySize = WM_GetWindowSizeY(hWin) - yPos;
h = ySize / 3 + 1;
_PushColors_COLSET();
for (i = 0; i < GUI_COUNTOF(_apColors_COLSET); i++) {
FLAT_SKIN_SetColors(_apColors_COLSET[i]);
GUI_SetBkColor(FLAT_SKIN_GetColor(FLAT_SKIN_CI_DIALOG));
GUI_ClearRect(0, yPos, xSize - 1, yPos + h);
yPos += h;
}
_PopColors_COLSET();
}
/*********************************************************************
*
* _Create_COLSET
*/
static void _Create_COLSET(WM_HWIN hDemo) {
WM_HWIN hWin;
int i, j, yPos, ySize, h;
yPos = GUI_GetYDistOfFont(FLAT_SKIN_GetFont()) + 10;
ySize = WM_GetWindowSizeY(hDemo) - yPos;
h = ySize / 3 + 1;
_CreateLabel(hDemo, "Select color set");
_PushColors_COLSET();
for (i = 0; i < GUI_COUNTOF(_apColors_COLSET); i++) {
FLAT_SKIN_SetColors(_apColors_COLSET[i]);
hWin = BUTTON_CreateUser(100, yPos + (h - 45) / 2, 120, 45, hDemo, WM_CF_SHOW, 0, APP_BUTTON_COLSET + i, 0);
for (j = 0; j < FLAT_SKIN_CI__CNT; j++) {
FLAT_SKIN_SetWidgetColor(hWin, j, FLAT_SKIN_GetColor(j));
}
BUTTON_SetText(hWin, _apNames_COLSET[i]);
yPos += h;
}
_PopColors_COLSET();
_pPaintHook = _PaintHook_COLSET;
}
/*********************************************************************
*
* _Create_BUTTON
*/
static void _Create_BUTTON(WM_HWIN hDemo) {
WM_HWIN hWin;
_CreateLabel(hDemo, "BUTTON");
hWin = BUTTON_CreateUser( 30, 60, 120, 45, hDemo, WM_CF_SHOW, 0, GUI_ID_BUTTON0, 0);
BUTTON_SetText(hWin, "Down");
BUTTON_SetBitmap(hWin, 0, &_bmArrowDown_24x16_b);
hWin = BUTTON_CreateUser( 30, 130, 120, 45, hDemo, WM_CF_SHOW, 0, GUI_ID_BUTTON1, 0);
BUTTON_SetText(hWin, "Right");
BUTTON_SetBitmap(hWin, 0, &_bmArrowRight_16x24_b);
hWin = BUTTON_CreateUser( 30, 200, 120, 45, hDemo, WM_CF_SHOW, 0, GUI_ID_BUTTON2, 0);
BUTTON_SetText(hWin, "Up");
BUTTON_SetBitmap(hWin, 0, &_bmArrowUp_24x16_b);
hWin = BUTTON_CreateUser( 170, 60, 120, 45, hDemo, WM_CF_SHOW, 0, GUI_ID_BUTTON3, 0);
BUTTON_SetText(hWin, "Edit");
BUTTON_SetBitmap(hWin, 0, &_bmPen_32x32_b);
hWin = BUTTON_CreateUser( 170, 130, 120, 45, hDemo, WM_CF_SHOW, 0, GUI_ID_BUTTON4, 0);
BUTTON_SetText(hWin, "Shrink");
BUTTON_SetBitmap(hWin, 0, &_bmZoomMinus_32x32_b);
hWin = BUTTON_CreateUser( 170, 200, 120, 45, hDemo, WM_CF_SHOW, 0, GUI_ID_BUTTON5, 0);
BUTTON_SetText(hWin, "Enlarge");
BUTTON_SetBitmap(hWin, 0, &_bmZoomPlus_32x32_b);
}
/*********************************************************************
*
* _Create_CHECKBOX
*/
static void _Create_CHECKBOX(WM_HWIN hDemo) {
WM_HWIN hWin;
_CreateLabel(hDemo, "CHECKBOX");
hWin = CHECKBOX_CreateUser(95, 90, 30, 30, hDemo, WM_CF_SHOW, 0, GUI_ID_CHECK0, 0);
CHECKBOX_SetNumStates(hWin, 3);
CHECKBOX_SetState(hWin, 1);
hWin = CHECKBOX_CreateUser(155, 90, 50, 50, hDemo, WM_CF_SHOW, 0, GUI_ID_CHECK1, 0);
CHECKBOX_SetNumStates(hWin, 3);
CHECKBOX_SetState(hWin, 1);
hWin = CHECKBOX_CreateUser(95, 160, 50, 50, hDemo, WM_CF_SHOW, 0, GUI_ID_CHECK2, 0);
CHECKBOX_SetState(hWin, 1);
hWin = CHECKBOX_CreateUser(175,180, 30, 30, hDemo, WM_CF_SHOW, 0, GUI_ID_CHECK3, 0);
CHECKBOX_SetState(hWin, 1);
}
/*********************************************************************
*
* _Create_DROPDOWN
*/
static void _Create_DROPDOWN(WM_HWIN hDemo) {
WM_HWIN hWin;
int i;
char acBuffer[] = "Item xx";
_CreateLabel(hDemo, "DROPDOWN");
hWin = DROPDOWN_CreateUser(85, 60, 150, 150, hDemo, WM_CF_SHOW, 0, GUI_ID_DROPDOWN0, 0);
for (i = 0; i < 20; i++) {
acBuffer[5] = '0' + i / 10;
acBuffer[6] = '0' + i % 10;
DROPDOWN_AddString(hWin, acBuffer);
}
DROPDOWN_EnableMotion(hWin, 1);
SCROLLER_CreateAttached(hWin, SCROLLER_CF_TOUCH | SCROLLER_CF_VERTICAL);
}
/*********************************************************************
*
* _Create_EDIT
*/
static void _Create_EDIT(WM_HWIN hDemo) {
WM_HWIN hWin;
_CreateLabel(hDemo, "EDIT");
hWin = EDIT_CreateUser(75, 125, 170, 30, hDemo, WM_CF_SHOW, 0, GUI_ID_EDIT0, 100, 0);
}
/*********************************************************************
*
* _Create_FRAMEWIN
*/
static void _Create_FRAMEWIN(WM_HWIN hDemo) {
WM_HWIN hWin;
_CreateLabel(hDemo, "FRAMEWIN");
hWin = FRAMEWIN_CreateUser(70, 80, 180, 120, hDemo, WM_CF_SHOW | WM_CF_MOTION_X | WM_CF_MOTION_Y, 0, 0x1234, "Title", NULL, 0);
WM_SetEnableState(FRAMEWIN_AddCloseButton(hWin, FRAMEWIN_BUTTON_RIGHT, 0), 0);
FRAMEWIN_AddMaxButton (hWin, FRAMEWIN_BUTTON_RIGHT, 0);
FRAMEWIN_AddMinButton (hWin, FRAMEWIN_BUTTON_RIGHT, 0);
}
/*********************************************************************
*
* _Create_LISTBOX
*/
static void _Create_LISTBOX(WM_HWIN hDemo) {
WM_HWIN hWin;
int i;
char acBuffer[] = "Item xx";
_CreateLabel(hDemo, "LISTBOX");
hWin = LISTBOX_CreateUser(70, 95, 180, 120, hDemo, WM_CF_SHOW, 0, GUI_ID_LISTBOX0, NULL, 0);
for (i = 0; i < 20; i++) {
acBuffer[5] = '0' + i / 10;
acBuffer[6] = '0' + i % 10;
LISTBOX_AddString(hWin, acBuffer);
}
LISTBOX_EnableMotion(hWin, LISTBOX_CF_MOTION_V);
SCROLLER_CreateAttached(hWin, SCROLLER_CF_TOUCH | SCROLLER_CF_VERTICAL);
}
/*********************************************************************
*
* _Create_LISTVIEW
*/
static void _Create_LISTVIEW(WM_HWIN hDemo) {
WM_HWIN hWin;
unsigned i, j;
char acBuffer[] = "Item x/yy";
char acCol[] = "Col x";
_CreateLabel(hDemo, "LISTVIEW");
hWin = LISTVIEW_CreateUser(30, 70, 260, 160, hDemo, WM_CF_SHOW, 0, GUI_ID_LISTVIEW0, 0);
for (i = 0; i < 4; i++) {
acCol[4] = '0' + i;
LISTVIEW_AddColumn(hWin, 90, acCol, GUI_ALIGN_CENTER);
}
for (i = 0; i < 20; i++) {
LISTVIEW_AddRow(hWin, NULL);
for (j = 0; j < LISTVIEW_GetNumColumns(hWin); j++) {
acBuffer[5] = '0' + j;
acBuffer[7] = '0' + i / 10;
acBuffer[8] = '0' + i % 10;
LISTVIEW_SetItemText(hWin, j, i, acBuffer);
}
}
SCROLLER_CreateAttached(hWin, SCROLLER_CF_TOUCH | SCROLLER_CF_HORIZONTAL);
SCROLLER_CreateAttached(hWin, SCROLLER_CF_TOUCH | SCROLLER_CF_VERTICAL);
LISTVIEW_EnableMotion(hWin, LISTVIEW_CF_MOTION_H | LISTVIEW_CF_MOTION_V);
LISTVIEW_EnableSort(hWin);
LISTVIEW_SetCompareFunc(hWin, 1, LISTVIEW_CompareText);
LISTVIEW_SetSort(hWin, 1, 0);
}
/*********************************************************************
*
* _Create_MULTIEDIT
*/
static void _Create_MULTIEDIT(WM_HWIN hDemo) {
WM_HWIN hWin;
_CreateLabel(hDemo, "MULTIEDIT");
hWin = MULTIEDIT_CreateUser(30, 60, 260, 160, hDemo, WM_CF_SHOW, 0, GUI_ID_MULTIEDIT0, 500, "I am able to edit long texts.", 0);
MULTIEDIT_SetInsertMode(hWin, 1);
MULTIEDIT_SetWrapWord(hWin);
}
/*********************************************************************
*
* _Create_PROGBAR
*/
static void _Create_PROGBAR(WM_HWIN hDemo) {
WM_HWIN hWin;
unsigned OldValueCirc, OldValueFlat;
_CreateLabel(hDemo, "PROGBAR");
hWin = PROGBAR_CreateUser( 55, 95, 180, 30, hDemo, WM_CF_SHOW, PROGBAR_CF_ENDLESS, GUI_ID_PROGBAR0, 0);
OldValueCirc = PROGBAR_SetDefaultPeriodCircular(5000);
hWin = PROGBAR_CreateUser( 55, 145, 50, 50, hDemo, WM_CF_SHOW, PROGBAR_CF_CIRCULAR | PROGBAR_CF_ENDLESS, GUI_ID_PROGBAR1, 0);
PROGBAR_SetDefaultPeriodCircular(4000);
hWin = PROGBAR_CreateUser(120, 145, 50, 50, hDemo, WM_CF_SHOW, PROGBAR_CF_CIRCULAR | PROGBAR_CF_ENDLESS, GUI_ID_PROGBAR2, 0);
PROGBAR_SetDefaultPeriodCircular(3000);
hWin = PROGBAR_CreateUser(185, 145, 50, 50, hDemo, WM_CF_SHOW, PROGBAR_CF_CIRCULAR | PROGBAR_CF_ENDLESS, GUI_ID_PROGBAR3, 0);
PROGBAR_SetDefaultPeriodCircular(OldValueCirc);
OldValueFlat = PROGBAR_SetDefaultPeriodLinear(6000);
hWin = PROGBAR_CreateUser(255, 95, 20, 95, hDemo, WM_CF_SHOW, PROGBAR_CF_VERTICAL | PROGBAR_CF_ENDLESS, GUI_ID_PROGBAR4, 0);
PROGBAR_SetDefaultPeriodLinear(OldValueFlat);
}
/*********************************************************************
*
* _Create_RADIO
*/
static void _Create_RADIO(WM_HWIN hDemo) {
WM_HWIN hWin;
_CreateLabel(hDemo, "RADIO");
hWin = RADIO_CreateUser( 100, 65, 120, 180, hDemo, WM_CF_SHOW, 0, GUI_ID_RADIO0, 5, 36, 0);
RADIO_SetText(hWin, "Option 0", 0);
RADIO_SetText(hWin, "Option 1", 1);
RADIO_SetText(hWin, "Option 2", 2);
RADIO_SetText(hWin, "Option 3", 3);
RADIO_SetText(hWin, "Option 4", 4);
}
/*********************************************************************
*
* _Create_SLIDER
*/
static void _Create_SLIDER(WM_HWIN hDemo) {
WM_HWIN hWin;
_CreateLabel(hDemo, "SLIDER");
hWin = SLIDER_CreateUser( 50, 110, 220, 30, hDemo, WM_CF_SHOW, 0, GUI_ID_SLIDER0, 0);
SLIDER_SetRange(hWin, 0, 6);
SLIDER_SetTicksVis(hWin, 1);
hWin = SLIDER_CreateUser( 50, 160, 220, 30, hDemo, WM_CF_SHOW, 0, GUI_ID_SLIDER1, 0);
SLIDER_SetRange(hWin, 0, 255);
}
/*********************************************************************
*
* _Create_SWITCH
*/
static void _Create_SWITCH(WM_HWIN hDemo) {
WM_HWIN hWin;
_CreateLabel(hDemo, "SWITCH");
hWin = TEXT_CreateUser ( 50, 85, 100, 25, hDemo, WM_CF_SHOW, 0, GUI_ID_TEXT0, "Option 1", 0);
hWin = SWITCH_CreateUser( 150, 85, 100, 30, hDemo, WM_CF_SHOW, 0, GUI_ID_SWITCH0, 0);
SWITCH_SetText(hWin, 0, "On");
SWITCH_SetText(hWin, 1, "Off");
SWITCH_EnableIcons(hWin, 1);
hWin = TEXT_CreateUser ( 50, 135, 100, 25, hDemo, WM_CF_SHOW, 0, GUI_ID_TEXT1, "Option 2", 0);
hWin = SWITCH_CreateUser( 150, 135, 100, 30, hDemo, WM_CF_SHOW, 0, GUI_ID_SWITCH1, 0);
SWITCH_SetText(hWin, 0, "On");
SWITCH_SetText(hWin, 1, "Off");
hWin = TEXT_CreateUser ( 50, 185, 100, 25, hDemo, WM_CF_SHOW, 0, GUI_ID_TEXT2, "Option 3", 0);
hWin = SWITCH_CreateUser( 150, 185, 100, 30, hDemo, WM_CF_SHOW, 0, GUI_ID_SWITCH2, 0);
SWITCH_SetText(hWin, 0, "On");
SWITCH_SetText(hWin, 1, "Off");
SWITCH_EnableIcons(hWin, 1);
}
/*********************************************************************
*
* _aDemoItems
*/
static DEMO_ITEM _aDemoItems[] = {
//
// Text Creation Animation
//
{ "COLORSET" , _Create_COLSET, &_Anim_COLSET },
{ "BUTTON" , _Create_BUTTON, &_Anim_BUTTON },
{ "CHECKBOX" , _Create_CHECKBOX, &_Anim_CHECKBOX },
{ "DROPDOWN" , _Create_DROPDOWN, &_Anim_DROPDOWN },
{ "EDIT" , _Create_EDIT, &_Anim_EDIT },
{ "FRAMEWIN" , _Create_FRAMEWIN, &_Anim_FRAMEWIN },
{ "LISTBOX" , _Create_LISTBOX, &_Anim_LISTBOX },
{ "LISTVIEW" , _Create_LISTVIEW, &_Anim_LISTVIEW },
{ "MULTIEDIT", _Create_MULTIEDIT, &_Anim_MULTIEDIT },
{ "PROGBAR" , _Create_PROGBAR, &_Anim_PROGBAR },
{ "RADIO" , _Create_RADIO, &_Anim_RADIO },
{ "SLIDER" , _Create_SLIDER, &_Anim_SLIDER },
{ "SWITCH" , _Create_SWITCH, &_Anim_SWITCH },
};
/*********************************************************************
*
* _Demo
*/
static void _Demo(WM_HWIN hParent, int Cmd, DEMO_ITEM * pItem) {
int xSizeDisplay, ySizeDisplay;
switch (Cmd) {
case CREATE_DEMO:
//
// Create shifting in animation to new demo
//
xSizeDisplay = LCD_GetXSizeDisplay();
ySizeDisplay = LCD_GetYSizeDisplay();
pItem->pContext->hWin = WM_CreateWindowAsChild(xSizeDisplay, 0, (xSizeDisplay / 3) * 2, ySizeDisplay, WM_HBKWIN, WM_CF_SHOW, _cbWinDemo, sizeof(void *));
WM_SetUserData(pItem->pContext->hWin, &pItem->pContext, sizeof(void *));
if (pItem->pFuncCreate) {
_pPaintHook = NULL;
pItem->pFuncCreate(pItem->pContext->hWin);
}
pItem->pContext->hAnim = GUI_ANIM_Create(PERIOD_IN, 25, (void *)pItem->pContext, NULL);
GUI_ANIM_AddItem(pItem->pContext->hAnim, 0, PERIOD_IN, ANIM_ACCELDECEL, (void *)pItem->pContext, _AnimIn);
GUI_ANIM_StartEx(pItem->pContext->hAnim, 1, _AnimOnDeleteIn);
break;
case CLOSE_DEMO:
//
// Create shifting out animation and remove current demo
//
if (pItem->pContext->hTimer) {
GUI_TIMER_Delete(pItem->pContext->hTimer);
pItem->pContext->hTimer = 0;
}
pItem->pContext->hAnim = GUI_ANIM_Create(PERIOD_OUT, 25, (void *)pItem->pContext, NULL);
GUI_ANIM_AddItem(pItem->pContext->hAnim, 0, PERIOD_OUT, ANIM_ACCELDECEL, (void *)pItem->pContext, _AnimOut);
GUI_ANIM_StartEx(pItem->pContext->hAnim, 1, _AnimOnDeleteOut);
break;
}
}
/*********************************************************************
*
* _cbWinWheel
*/
static void _cbWinWheel(WM_MESSAGE * pMsg) {
WM_HWIN hWheel;
int xSizeWindow, ySizeWindow, ySizeFont, ySizeWheel, NumItems, i, Id, NCode, Sel, Released;
const GUI_FONT * pFont;
static DEMO_ITEM * pItem;
switch (pMsg->MsgId) {
case WM_NOTIFY_PARENT:
Id = WM_GetId(pMsg->hWinSrc);
if (Id == GUI_ID_WHEEL0) {
NCode = pMsg->Data.v;
switch (NCode) {
case WM_NOTIFICATION_RELEASED:
//
// WHEEL has been released: Move to new selection on demand
//
Sel = WHEEL_GetSel (pMsg->hWinSrc);
Released = WHEEL_GetReleasedItem(pMsg->hWinSrc);
if (Released != Sel) {
if (WHEEL_IsMoving(pMsg->hWinSrc) == 0) {
WHEEL_MoveToPosEx(pMsg->hWinSrc, Released, 500);
}
}
break;
case WM_NOTIFICATION_CLICKED:
//
// WHEEL has been clicked: Execute demo which has been clicked
//
if (pItem) {
if (pItem->pContext->hAnim) {
GUI_ANIM_Stop(pItem->pContext->hAnim);
GUI_ANIM_Delete(pItem->pContext->hAnim);
pItem->pContext->hAnim = 0;
}
_Demo(pMsg->hWin, CLOSE_DEMO, pItem);
}
break;
case WM_NOTIFICATION_SEL_CHANGED:
//
// WHEEL has stopped
//
if (pItem) {
if (pItem->pContext->hTimer) {
GUI_TIMER_Delete(pItem->pContext->hTimer);
pItem->pContext->hTimer = 0;
}
if (pItem->pContext->hWin) {
WM_DeleteWindow(pItem->pContext->hWin);
pItem->pContext->hWin = 0;
}
}
Sel = WHEEL_GetSel(pMsg->hWinSrc);
pItem = &_aDemoItems[Sel];
_Demo(pMsg->hWin, CREATE_DEMO, pItem);
break;
}
}
break;
case WM_CREATE:
//
// Create WHEEL
//
pFont = GUI_FONT_16_ASCII_AA4;
ySizeFont = GUI_GetYDistOfFont(pFont);
xSizeWindow = WM_GetWindowSizeX(pMsg->hWin);
ySizeWindow = WM_GetWindowSizeY(pMsg->hWin);
NumItems = GUI_COUNTOF(_aDemoItems);
ySizeWheel = ySizeFont * (NumItems + 2);
hWheel = WHEEL_CreateUser(0, 0, xSizeWindow, ySizeWindow, pMsg->hWin, WM_CF_SHOW, WHEEL_MODE_PLAIN | WIDGET_CF_VERTICAL | WHEEL_MODE_ENDLESS, GUI_ID_WHEEL0, 0);
WHEEL_SetSizesPlain(hWheel, ySizeFont + 6, ySizeFont * 3);
WHEEL_SetBkColor(hWheel, 0xFF241C31/*(FLAT_SKIN_CI_ACTIVE)*/);
WHEEL_SetCenterColorPlain(hWheel, GUI_WHITE);
WHEEL_AddText(hWheel, &_aDemoItems[0].pName, 1, GUI_ALIGN_CENTER, 0, 0, GUI_WHITE, pFont);
WHEEL_SetPeriod(hWheel, 180);
for (i = 1; i < NumItems; i++) {
WHEEL_AddItemText(hWheel, 0, _aDemoItems[i].pName);
}
WHEEL_SetCenterTextAttrPlain(hWheel, 0, GUI_ALIGN_VCENTER | GUI_ALIGN_HCENTER, 0, 0, GUI_DARKGREEN, GUI_FONT_24_ASCII_AA4);
WHEEL_SetCenterBox(hWheel, 0xFFFDFDFD/*(FLAT_SKIN_CI_DIALOG)*/, 0xFF46D8FB/*(FLAT_SKIN_CI_FOCUS)*/, 0, 4);
//
// 'Move' to first item
//
WHEEL_MoveToPos(hWheel, GUI_COUNTOF(_aDemoItems));
break;
case APP_ANIMATION_END:
_Demo(pMsg->hWin, CLOSE_DEMO, pItem);
break;
}
}
/*********************************************************************
*
* _CreateDemo
*/
static WM_HWIN _CreateDemo(void) {
WM_HWIN hWin;
int xSizeDisplay, ySizeDisplay;
xSizeDisplay = LCD_GetXSizeDisplay();
ySizeDisplay = LCD_GetYSizeDisplay();
hWin = WM_CreateWindowAsChild(0, 0, xSizeDisplay / 3, ySizeDisplay, WM_HBKWIN, WM_CF_SHOW, _cbWinWheel, 0);
return hWin;
}
/*********************************************************************
*
* _cbBk
*/
static void _cbBk(WM_MESSAGE * pMsg) {
int xSizeDisplay, ySizeDisplay;
GUI_RECT Rect;
const GUI_FONT * pFont;
WM_HWIN hWin;
int Sel, NumItems;
static WM_HWIN hWinWheel;
switch (pMsg->MsgId) {
case APP_REMEMBER_HWIN:
hWinWheel = pMsg->Data.v;
break;
case APP_ANIMATION_END:
WM_SendMessageNoPara(hWinWheel, APP_ANIMATION_END);
hWin = WM_GetDialogItem(pMsg->hWin, GUI_ID_WHEEL0);
if (hWin) {
NumItems = WHEEL_GetNumTextItems(hWin, 0);
Sel = WHEEL_GetSel(hWin) + 1;
if (Sel == NumItems) {
Sel = 0;
}
_CreateInputTimer();
WHEEL_MoveToPosEx(hWin, Sel, 500);
}
break;
case WM_PAINT:
pFont = FLAT_SKIN_GetFont();
xSizeDisplay = LCD_GetXSizeDisplay();
ySizeDisplay = LCD_GetYSizeDisplay();
Rect.x0 = xSizeDisplay / 3;
Rect.y0 = 0;
Rect.x1 = xSizeDisplay - 1;
Rect.y1 = GUI_GetYDistOfFont(pFont) + 9;
GUI_SetColor(FLAT_SKIN_GetColor(FLAT_SKIN_CI_ACTIVE));
GUI_FillRectEx(&Rect);
Rect.y0 = Rect.y1 + 1;
Rect.y1 = ySizeDisplay - 1;
GUI_SetColor(FLAT_SKIN_GetColor(FLAT_SKIN_CI_DIALOG));
GUI_FillRectEx(&Rect);
GUI_SetColor(0xFF46D8FB/*(FLAT_SKIN_CI_FOCUS)*/);
GUI_AA_DrawPolygonEx(_aPointArrow, GUI_COUNTOF(_aPointArrow), 4, xSizeDisplay / 3 + 30, ySizeDisplay / 2);
Rect.x0 = xSizeDisplay / 3 + 150;
Rect.y0 = 0;
Rect.x1 = xSizeDisplay - 1;
Rect.y1 = ySizeDisplay - 1;
GUI_SetFont(pFont);
GUI_SetTextMode(GUI_TM_TRANS);
GUI_SetColor(FLAT_SKIN_GetColor(FLAT_SKIN_CI_ACTIVE));
GUI_DispStringInRect("Turn the wheel...", &Rect, GUI_TA_HCENTER | GUI_TA_VCENTER);
break;
default:
WM_DefaultProc(pMsg);
}
}
/*********************************************************************
*
* MainTask
*/
void MainTask(void) {
WM_MESSAGE Msg = {0};
WM_HWIN hWin;
static int Cnt;
GUI_Init();
//
// Set client color
//
FRAMEWIN_SetDefaultClientColor(FLAT_SKIN_GetColor(FLAT_SKIN_CI_DIALOG));
//
// Set font of skin
//
FLAT_SKIN_SetFont(GUI_FONT_24_1_AA4);
//
// Choose skin as default
//
FLAT_SKIN_SetDefault();
//
// The app...
//
GUI_PID_SetHook(_PID_Hook);
_CreateInputTimer();
WM_SetWindowPos(WM_HBKWIN, 0, 0, LCD_GetXSizeDisplay(), LCD_GetYSizeDisplay());
WM_MULTIBUF_Enable(1);
WM_SetCallback(WM_HBKWIN, _cbBk);
SCROLLER_SetDefaultColor(SCROLLER_CI_ACTIVE, SCROLLER_GetDefaultColor(SCROLLER_CI_INACTIVE));
TEXT_SetDefaultFont(FLAT_SKIN_GetFont());
hWin = _CreateDemo();
Msg.Data.v = hWin;
Msg.MsgId = APP_REMEMBER_HWIN;
WM_SendMessage(WM_HBKWIN, &Msg);
while (1) {
GUI_Delay(5);
if (_TriggerTimer) {
if (_hTimerInput == 0) {
_CreateInputTimer();
} else {
GUI_TIMER_Restart(_hTimerInput);
}
_TriggerTimer = 0;
}
}
}
/*************************** End of file ****************************/
