*
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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 : GUIConf.h
|
||||
Purpose : Configures abilities, fonts etc.
|
||||
----------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
|
||||
#ifndef GUICONF_H
|
||||
#define GUICONF_H
|
||||
|
||||
#define GUI_OS (1) /* Compile with multitasking support */
|
||||
#define GUI_SUPPORT_TOUCH (1) /* Support a touch screen (req. win-manager) */
|
||||
#define GUI_SUPPORT_UNICODE (1) /* Support mixed ASCII/UNICODE strings */
|
||||
|
||||
#define GUI_DEFAULT_FONT &GUI_Font6x8
|
||||
#define GUI_ALLOC_SIZE 10000 /* Size of dynamic memory ... For WM and memory devices*/
|
||||
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Configuration of available packages
|
||||
*/
|
||||
|
||||
#define GUI_WINSUPPORT 1 /* Window manager package available */
|
||||
#define GUI_SUPPORT_MEMDEV 1 /* Memory devices available */
|
||||
#define GUI_SUPPORT_AA 1 /* Anti aliasing available */
|
||||
|
||||
#endif /* Avoid multiple inclusion */
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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 : GUITouch.Conf.h
|
||||
Purpose : Configures touch screen module
|
||||
----------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
|
||||
#ifndef __GUITOUCH_CONF_H
|
||||
#define __GUITOUCH_CONF_H
|
||||
|
||||
#define GUI_TOUCH_SWAP_XY 0
|
||||
#define GUI_TOUCH_MIRROR_X 0
|
||||
#define GUI_TOUCH_MIRROR_Y 0
|
||||
|
||||
#define GUI_TOUCH_AD_LEFT NULL
|
||||
#define GUI_TOUCH_AD_RIGHT NULL
|
||||
#define GUI_TOUCH_AD_TOP NULL
|
||||
#define GUI_TOUCH_AD_BOTTOM NULL
|
||||
|
||||
#endif /* GUITOUCH_CONF_H */
|
||||
@@ -0,0 +1,36 @@
|
||||
/*********************************************************************************************************
|
||||
*
|
||||
* File : LCDConf.h
|
||||
* Hardware Environment:
|
||||
* Build Environment : RealView MDK-ARM Version: 4.20
|
||||
* Version : V1.0
|
||||
* By :
|
||||
*
|
||||
* (c) Copyright 2005-2011, WaveShare
|
||||
* http://www.waveshare.net
|
||||
* All Rights Reserved
|
||||
*
|
||||
*********************************************************************************************************/
|
||||
|
||||
|
||||
#ifndef LCDCONF_H
|
||||
#define LCDCONF_H
|
||||
|
||||
/* Private define ------------------------------------------------------------*/
|
||||
#define HY32D (8989)
|
||||
|
||||
#define LCD_XSIZE (320)
|
||||
#define LCD_YSIZE (240)
|
||||
#define LCD_CONTROLLER (HY32D)
|
||||
#define LCD_BITSPERPIXEL (16)
|
||||
#define LCD_FIXEDPALETTE (565)
|
||||
#define LCD_SWAP_RB (1)
|
||||
//#define LCD_SWAP_XY (1)
|
||||
#define LCD_INIT_CONTROLLER() LCD_Initializtion()
|
||||
|
||||
|
||||
#endif
|
||||
/*********************************************************************************************************
|
||||
END FILE
|
||||
*********************************************************************************************************/
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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 : GUI_TOUCH_X.C
|
||||
Purpose : Config / System dependent externals for GUI
|
||||
---------------------------END-OF-HEADER------------------------------
|
||||
*/
|
||||
|
||||
/* Includes ------------------------------------------------------------------*/
|
||||
#include <includes.h>
|
||||
|
||||
|
||||
void GUI_TOUCH_X_ActivateX(void) {
|
||||
}
|
||||
|
||||
void GUI_TOUCH_X_ActivateY(void) {
|
||||
}
|
||||
|
||||
int GUI_TOUCH_X_MeasureX(void) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
int GUI_TOUCH_X_MeasureY(void) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
extern int xPhys, yPhys;
|
||||
int CalibrationComplete = 0;
|
||||
|
||||
void GUI_TOUCH_Measure(void) {
|
||||
Coordinate * Ptr;
|
||||
|
||||
xPhys = -1; yPhys = -1;
|
||||
|
||||
Ptr = Read_Ads7846();
|
||||
|
||||
if( Ptr != (void*)0 )
|
||||
{
|
||||
xPhys = Ptr->x;
|
||||
yPhys = Ptr->y;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,212 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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.
|
||||
*
|
||||
---Author-Explanation
|
||||
*
|
||||
* 1.00.00 020519 JJL First release of uC/GUI to uC/OS-II interface
|
||||
*
|
||||
*
|
||||
* Known problems or limitations with current version
|
||||
*
|
||||
* None.
|
||||
*
|
||||
*
|
||||
* Open issues
|
||||
*
|
||||
* None
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
|
||||
#include <includes.h>
|
||||
#include "uCGUI\inc\GUI_Private.H"
|
||||
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* GLOBAL VARIABLES
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
|
||||
static OS_EVENT *DispSem;
|
||||
static OS_EVENT *EventMbox;
|
||||
|
||||
static OS_EVENT *KeySem;
|
||||
static int KeyPressed;
|
||||
static char KeyIsInited;
|
||||
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* TIMING FUNCTIONS
|
||||
*
|
||||
* Notes: Some timing dependent routines of uC/GUI require a GetTime and delay funtion.
|
||||
* Default time unit (tick), normally is 1 ms.
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
|
||||
int GUI_X_GetTime(void)
|
||||
{
|
||||
return ((int)OSTimeGet());
|
||||
}
|
||||
|
||||
void GUI_X_Delay(int period)
|
||||
{
|
||||
INT32U ticks;
|
||||
ticks=(period*1000)/OS_TICKS_PER_SEC;
|
||||
OSTimeDly((INT16U)ticks);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* GUI_X_ExecIdle()
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
|
||||
/* WM空闲时调用 */
|
||||
void GUI_X_ExecIdle(void)
|
||||
{
|
||||
OSTimeDly(50);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* MULTITASKING INTERFACE FUNCTIONS
|
||||
*
|
||||
* Note(1): 1) The following routines are required only if uC/GUI is used in a true multi task environment,
|
||||
* which means you have more than one thread using the uC/GUI API. In this case the #define
|
||||
* GUI_OS 1 needs to be in GUIConf.h
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
|
||||
void GUI_X_InitOS (void)
|
||||
{
|
||||
DispSem = OSSemCreate(1); /* 建立一个互斥型信号量 */
|
||||
EventMbox = OSMboxCreate((void *)0); /* 建立一个邮箱 */
|
||||
}
|
||||
|
||||
|
||||
void GUI_X_Lock(void)
|
||||
{
|
||||
INT8U err;
|
||||
OSSemPend(DispSem,0,&err);
|
||||
}
|
||||
|
||||
|
||||
void GUI_X_Unlock(void)
|
||||
{
|
||||
OSSemPost(DispSem);
|
||||
}
|
||||
|
||||
|
||||
U32 GUI_X_GetTaskId(void)
|
||||
{
|
||||
return ((U32)(OSTCBCur->OSTCBPrio));
|
||||
}
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* GUI_X_WaitEvent()
|
||||
* GUI_X_SignalEvent()
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
|
||||
|
||||
void GUI_X_WaitEvent(void)
|
||||
{
|
||||
INT8U err;
|
||||
(void)OSMboxPend(EventMbox,0,&err);
|
||||
}
|
||||
|
||||
|
||||
void GUI_X_SignalEvent(void)
|
||||
{
|
||||
(void)OSMboxPost(EventMbox,(void *)1);
|
||||
}
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* KEYBOARD INTERFACE FUNCTIONS
|
||||
*
|
||||
* Purpose: The keyboard routines are required only by some widgets.
|
||||
* If widgets are not used, they may be eliminated.
|
||||
*
|
||||
* Note(s): If uC/OS-II is used, characters typed into the log window will be placed in the keyboard buffer.
|
||||
* This is a neat feature which allows you to operate your target system without having to use or
|
||||
* even to have a keyboard connected to it. (useful for demos !)
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
|
||||
static void CheckInit(void)
|
||||
{
|
||||
if(KeyIsInited==DEF_FALSE)
|
||||
{
|
||||
KeyIsInited = DEF_TRUE;
|
||||
GUI_X_Init();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* 被GUI_Init()调用,用来初始化一些GUI运行之前需要用的硬件,如键盘或者鼠标之类的.如果不需要的话,可以为空 */
|
||||
void GUI_X_Init(void)
|
||||
{
|
||||
KeySem = OSSemCreate(0);
|
||||
}
|
||||
|
||||
|
||||
int GUI_X_GetKey(void)
|
||||
{
|
||||
int r;
|
||||
r = KeyPressed;
|
||||
CheckInit();
|
||||
KeyPressed = 0;
|
||||
return (r);
|
||||
}
|
||||
|
||||
|
||||
int GUI_X_WaitKey(void)
|
||||
{
|
||||
int r;
|
||||
INT8U err;
|
||||
CheckInit();
|
||||
if(KeyPressed==0)
|
||||
{
|
||||
OSSemPend(KeySem,0,&err); /* 等待信号量 */
|
||||
}
|
||||
r= KeyPressed;
|
||||
KeyPressed = 0;
|
||||
return (r);
|
||||
}
|
||||
|
||||
|
||||
void GUI_X_StoreKey(int k)
|
||||
{
|
||||
KeyPressed = k;
|
||||
OSSemPost(KeySem); /* 释放信号量 */
|
||||
}
|
||||
|
||||
void GUI_X_Log(const char *s)
|
||||
{
|
||||
GUI_USE_PARA(s);
|
||||
}
|
||||
|
||||
void GUI_X_Warn(const char *s)
|
||||
{
|
||||
GUI_USE_PARA(s);
|
||||
}
|
||||
|
||||
void GUI_X_ErrorOut(const char *s)
|
||||
{
|
||||
GUI_USE_PARA(s);
|
||||
}
|
||||
@@ -0,0 +1,163 @@
|
||||
/*********************************************************************
|
||||
* SEGGER MICROCONTROLLER SYSTEME GmbH *
|
||||
* Solutions for real time microcontroller applications *
|
||||
**********************************************************************
|
||||
* *
|
||||
* (c) 1996 - 2007 SEGGER Microcontroller Systeme GmbH *
|
||||
* *
|
||||
* Internet: www.segger.com Support: support@segger.com *
|
||||
* *
|
||||
**********************************************************************
|
||||
|
||||
** emWin V4.14 - 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 : LCD_X_8080.c
|
||||
Purpose : Port routines 8080 interface, 16 bit data bus
|
||||
----------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Hardware configuration
|
||||
*
|
||||
**********************************************************************
|
||||
Needs to be adapted to your target hardware.
|
||||
*/
|
||||
#include <includes.h>
|
||||
#include "LCDConf.h"
|
||||
#include "GUI.h"
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Local defines (sfrs used in LCD_X_8080_16.c)
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
void LCD_CtrlLinesConfig(void)
|
||||
{
|
||||
GPIO_InitTypeDef GPIO_InitStructure;
|
||||
|
||||
/* Enable FSMC, GPIOD, GPIOE, GPIOF, GPIOG and AFIO clocks */
|
||||
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_FSMC, ENABLE);
|
||||
|
||||
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOC|RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOE |
|
||||
RCC_APB2Periph_GPIOF | RCC_APB2Periph_GPIOG |
|
||||
RCC_APB2Periph_AFIO, ENABLE);
|
||||
|
||||
//±³¹â¿ØÖÆ
|
||||
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8
|
||||
;
|
||||
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
|
||||
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
|
||||
GPIO_Init(GPIOA, &GPIO_InitStructure);
|
||||
GPIO_WriteBit(GPIOA, GPIO_Pin_8, Bit_RESET);
|
||||
|
||||
//±³¹â¿ØÖÆ
|
||||
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;
|
||||
GPIO_Init(GPIOC, &GPIO_InitStructure);
|
||||
GPIO_WriteBit(GPIOC, GPIO_Pin_6, Bit_SET);
|
||||
|
||||
/* Set PD.00(D2), PD.01(D3), PD.04(NOE), PD.05(NWE), PD.08(D13), PD.09(D14),
|
||||
PD.10(D15), PD.14(D0), PD.15(D1) as alternate
|
||||
function push pull */
|
||||
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_4 | GPIO_Pin_5 |
|
||||
GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_14 |
|
||||
GPIO_Pin_15;
|
||||
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
|
||||
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
|
||||
GPIO_Init(GPIOD, &GPIO_InitStructure);
|
||||
|
||||
/* Set PE.07(D4), PE.08(D5), PE.09(D6), PE.10(D7), PE.11(D8), PE.12(D9), PE.13(D10),
|
||||
PE.14(D11), PE.15(D12) as alternate function push pull */
|
||||
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 |
|
||||
GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 |
|
||||
GPIO_Pin_15;
|
||||
GPIO_Init(GPIOE, &GPIO_InitStructure);
|
||||
|
||||
// GPIO_WriteBit(GPIOE, GPIO_Pin_6, Bit_SET);
|
||||
/* Set PF.00(A0 (RS)) as alternate function push pull */
|
||||
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
|
||||
GPIO_Init(GPIOF, &GPIO_InitStructure);
|
||||
|
||||
/* Set PG.12(NE4 (LCD/CS)) as alternate function push pull - CE3(LCD /CS) */
|
||||
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12;
|
||||
GPIO_Init(GPIOG, &GPIO_InitStructure);
|
||||
}
|
||||
|
||||
/*******************************************************************************
|
||||
* Function Name : LCD_FSMCConfig
|
||||
* Description : Configures the Parallel interface (FSMC) for LCD(Parallel mode)
|
||||
* Input : None
|
||||
* Output : None
|
||||
* Return : None
|
||||
*******************************************************************************/
|
||||
void LCD_FSMCConfig(void)
|
||||
{
|
||||
FSMC_NORSRAMInitTypeDef FSMC_NORSRAMInitStructure;
|
||||
FSMC_NORSRAMTimingInitTypeDef p;
|
||||
|
||||
/*-- FSMC Configuration ------------------------------------------------------*/
|
||||
/*----------------------- SRAM Bank 4 ----------------------------------------*/
|
||||
/* FSMC_Bank1_NORSRAM4 configuration */
|
||||
p.FSMC_AddressSetupTime = 0;
|
||||
p.FSMC_AddressHoldTime = 0;
|
||||
p.FSMC_DataSetupTime = 2;
|
||||
p.FSMC_BusTurnAroundDuration = 0;
|
||||
p.FSMC_CLKDivision = 0;
|
||||
p.FSMC_DataLatency = 0;
|
||||
p.FSMC_AccessMode = FSMC_AccessMode_A;
|
||||
|
||||
/* Color LCD configuration ------------------------------------
|
||||
LCD configured as follow:
|
||||
- Data/Address MUX = Disable
|
||||
- Memory Type = SRAM
|
||||
- Data Width = 16bit
|
||||
- Write Operation = Enable
|
||||
- Extended Mode = Enable
|
||||
- Asynchronous Wait = Disable */
|
||||
FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM4;
|
||||
FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable;
|
||||
FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_SRAM;
|
||||
FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b;
|
||||
FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable;
|
||||
FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low;
|
||||
FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable;
|
||||
FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState;
|
||||
FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable;
|
||||
FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable;
|
||||
FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable;
|
||||
FSMC_NORSRAMInitStructure.FSMC_AsyncWait = FSMC_AsyncWait_Disable;
|
||||
FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable;
|
||||
FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p;
|
||||
FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p;
|
||||
|
||||
FSMC_NORSRAMInit(&FSMC_NORSRAMInitStructure);
|
||||
|
||||
/* BANK 4 (of NOR/SRAM Bank 1~4) is enabled */
|
||||
FSMC_NORSRAMCmd(FSMC_Bank1_NORSRAM4, ENABLE);
|
||||
}
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* High level LCD access macros
|
||||
*
|
||||
**********************************************************************
|
||||
Usually, there is no need to modify these macros.
|
||||
It should be sufficient ot modify the low-level macros
|
||||
above.
|
||||
*/
|
||||
|
||||
void LCD_X_Init(void) {
|
||||
/* Configure the LCD Control pins --------------------------------------------*/
|
||||
LCD_CtrlLinesConfig();
|
||||
|
||||
/* Configure the FSMC Parallel interface -------------------------------------*/
|
||||
LCD_FSMCConfig();
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
REM ****************************************
|
||||
REM Compile GUIDemo modules
|
||||
REM ****************************************
|
||||
|
||||
CALL CC GUIDEMO
|
||||
CALL CC GUIDEMO_Automotive
|
||||
CALL CC GUIDEMO_Bitmap
|
||||
CALL CC GUIDEMO_Bitmap4bpp
|
||||
CALL CC GUIDEMO_Circle
|
||||
CALL CC GUIDEMO_ColorBar
|
||||
CALL CC GUIDEMO_ColorList
|
||||
CALL CC GUIDEMO_Cursor
|
||||
CALL CC GUIDEMO_Dialog
|
||||
CALL CC GUIDEMO_Font
|
||||
CALL CC GUIDEMO_FrameWin
|
||||
CALL CC GUIDEMO_Graph
|
||||
CALL CC GUIDEMO_HardwareInfo
|
||||
CALL CC GUIDEMO_Intro
|
||||
CALL CC GUIDEMO_LUT
|
||||
CALL CC GUIDEMO_MemDevB
|
||||
CALL CC GUIDEMO_Navi
|
||||
CALL CC GUIDEMO_Polygon
|
||||
CALL CC GUIDEMO_ProgBar
|
||||
CALL CC GUIDEMO_Speed
|
||||
CALL CC GUIDEMO_Touch
|
||||
CALL CC SeggerLogoBlue
|
||||
@@ -0,0 +1,447 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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.c
|
||||
Purpose : Several GUIDEMO routines
|
||||
----------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
#include <stddef.h>
|
||||
#include "GUI.h"
|
||||
#if GUI_WINSUPPORT
|
||||
#include "PROGBAR.h"
|
||||
#include "LISTBOX.h"
|
||||
#include "FRAMEWIN.h"
|
||||
#include "BUTTON.h"
|
||||
#endif
|
||||
#include "GUIDEMO.h"
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Static variables
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
#if GUI_WINSUPPORT
|
||||
static BUTTON_Handle _ahButton[2];
|
||||
static FRAMEWIN_Handle _ahFrameWin[3];
|
||||
static int _ButtonSizeX, _ButtonSizeY;
|
||||
#if GUIDEMO_LARGE
|
||||
static FRAMEWIN_Handle _ahInfoWin[2];
|
||||
static const char* _sInfo;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
static int _iTest, _iTestMinor;
|
||||
static char _CmdNext;
|
||||
static const char* _sExplain;
|
||||
|
||||
#define countof(Obj) (sizeof(Obj)/sizeof(Obj[0]))
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Routine table
|
||||
*
|
||||
**********************************************************************
|
||||
|
||||
The routines to be called are listed here. The advantage to calling
|
||||
directly is that we can execute some code before and after.
|
||||
*/
|
||||
|
||||
typedef void fVoidVoid(void);
|
||||
|
||||
static fVoidVoid * _apfTest[] = {
|
||||
GUIDEMO_HardwareInfo,
|
||||
GUIDEMO_Speed,
|
||||
#if GUI_SUPPORT_MEMDEV
|
||||
// GUIDEMO_Graph,
|
||||
#endif
|
||||
// GUIDEMO_Bitmap,
|
||||
// GUIDEMO_Cursor,
|
||||
// GUIDEMO_ShowInternationalFonts,
|
||||
GUIDEMO_ShowColorBar,
|
||||
GUIDEMO_ShowColorList,
|
||||
// GUIDEMO_DemoLUT,
|
||||
GUIDEMO_DemoPolygon,
|
||||
GUIDEMO_Circle,
|
||||
// GUIDEMO_ShowMemoryDevice,
|
||||
// GUIDEMO_Automotive,
|
||||
// GUIDEMO_Navigation,
|
||||
|
||||
#if GUI_WINSUPPORT
|
||||
GUIDEMO_DemoProgBar,
|
||||
GUIDEMO_DemoFrameWin,
|
||||
GUIDEMO_Dialog,
|
||||
// GUIDEMO_WM,
|
||||
#if GUI_SUPPORT_TOUCH
|
||||
// GUIDEMO_Touch,
|
||||
#endif
|
||||
#endif
|
||||
0
|
||||
};
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Static routines
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
static void _UpdateCmdWin(void) {
|
||||
#if GUI_WINSUPPORT && GUIDEMO_LARGE
|
||||
WM_InvalidateWindow(_ahInfoWin[1]);
|
||||
#endif
|
||||
}
|
||||
|
||||
#if (GUI_WINSUPPORT && GUIDEMO_LARGE)
|
||||
static void _cbCmdWin(WM_MESSAGE* pMsg) {
|
||||
switch (pMsg->MsgId) {
|
||||
case WM_PAINT:
|
||||
/* Update info in command window */
|
||||
GUI_SetBkColor(GUI_GRAY);
|
||||
GUI_Clear();
|
||||
GUI_DispStringAt("Demo ", 0, 0);
|
||||
GUI_DispDecMin(_iTest + 1);
|
||||
GUI_DispString(".");
|
||||
GUI_DispDecMin(_iTestMinor);
|
||||
GUI_DispString("/");
|
||||
GUI_DispDecMin(countof(_apfTest));
|
||||
default:
|
||||
WM_DefaultProc(pMsg);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
static void _UpdateInfoWin(void) {
|
||||
#if GUI_WINSUPPORT && GUIDEMO_LARGE
|
||||
GUI_RECT rClient;
|
||||
WM_HWIN hWin;
|
||||
GUI_CONTEXT ContextOld;
|
||||
GUI_SaveContext(&ContextOld);
|
||||
/* Update info window */
|
||||
WM_ShowWindow(_ahInfoWin[0]);
|
||||
WM_ShowWindow(_ahFrameWin[0]);
|
||||
hWin = WM_SelectWindow(_ahInfoWin[0]);
|
||||
GUI_GetClientRect(&rClient);
|
||||
GUI_SetBkColor(GUI_WHITE);
|
||||
GUI_Clear();
|
||||
GUI_SetColor(GUI_BLACK);
|
||||
GUI_SetFont(&GUI_Font13_1);
|
||||
GUI_SetTextAlign(GUI_TA_HCENTER);
|
||||
GUI_DispStringHCenterAt(_sInfo, (rClient.x1 - rClient.x0) / 2, 0);
|
||||
GUI_SetTextAlign(GUI_TA_LEFT);
|
||||
GUI_SetFont(&GUI_Font8_ASCII);
|
||||
GUI_DispStringAt(_sExplain, 0, 20);
|
||||
WM_SelectWindow(hWin);
|
||||
GUI_RestoreContext(&ContextOld);
|
||||
#endif
|
||||
}
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Exported routines
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
GUI_COLOR GUIDEMO_SetBkColor(GUI_COLOR Color) {
|
||||
GUI_COLOR r;
|
||||
if (GUI_ColorIsAvailable(GUI_RED)) {
|
||||
r = Color;
|
||||
} else {
|
||||
r = GUI_BLACK;
|
||||
}
|
||||
GUI_SetBkColor(r);
|
||||
return r;
|
||||
}
|
||||
|
||||
GUI_COLOR GUIDEMO_SetColor(GUI_COLOR Color) {
|
||||
GUI_COLOR r;
|
||||
if (GUI_ColorIsAvailable(GUI_RED)) {
|
||||
r = Color;
|
||||
} else {
|
||||
r = GUI_WHITE;
|
||||
}
|
||||
GUI_SetColor(r);
|
||||
return r;
|
||||
}
|
||||
|
||||
int GUIDEMO_Delay(int t) {
|
||||
int r = 0;
|
||||
#if GUI_WINSUPPORT
|
||||
U32 value, tm;
|
||||
#if GUIDEMO_LARGE
|
||||
PROGBAR_Handle hProg;
|
||||
#endif
|
||||
WM_SetForegroundWindow(_ahButton[0]);
|
||||
#if GUIDEMO_LARGE
|
||||
hProg = (t > 100) ? PROGBAR_CreateAsChild(10, 10, 60, 7, _ahInfoWin[1], 0,
|
||||
WM_CF_SHOW | WM_CF_STAYONTOP| WM_CF_MEMDEV) : 0;
|
||||
PROGBAR_SetMinMax(hProg, 0, t);
|
||||
#endif
|
||||
tm = GUI_GetTime();
|
||||
do {
|
||||
value = GUI_GetTime() - tm;
|
||||
#if GUIDEMO_LARGE
|
||||
PROGBAR_SetValue(hProg, value);
|
||||
WM_ExecIdle();
|
||||
#endif
|
||||
GUI_Delay(10);
|
||||
} while ((value < (U32)t) && !GUIDEMO_CheckCancel());
|
||||
#if GUIDEMO_LARGE
|
||||
PROGBAR_Delete(hProg);
|
||||
#endif
|
||||
_UpdateCmdWin();
|
||||
WM_ExecIdle();
|
||||
#else
|
||||
GUI_Delay(t);
|
||||
#endif
|
||||
return r;
|
||||
}
|
||||
|
||||
void GUIDEMO_Wait(void) {
|
||||
GUIDEMO_Delay(4000);
|
||||
GUIDEMO_NotifyStartNext();
|
||||
}
|
||||
|
||||
int GUIDEMO_CheckCancel(void) {
|
||||
int c = GUI_GetKey();
|
||||
#if GUI_WINSUPPORT
|
||||
WM_ExecIdle();
|
||||
#endif
|
||||
if ((c == 'n') || (c=='N'))
|
||||
_CmdNext =1;
|
||||
if ((c == 'h') || (c=='H')) {
|
||||
GUI_Delay(500);
|
||||
do {
|
||||
GUI_Delay(10);
|
||||
#if GUI_WINSUPPORT
|
||||
WM_ExecIdle();
|
||||
#endif
|
||||
c = GUI_GetKey();
|
||||
} while (!c);
|
||||
}
|
||||
return _CmdNext;
|
||||
}
|
||||
|
||||
void GUIDEMO_ShowInfo(const char* s) {
|
||||
_sExplain = s;
|
||||
_UpdateInfoWin();
|
||||
}
|
||||
|
||||
void GUIDEMO_HideInfoWin(void) {
|
||||
#if GUI_WINSUPPORT
|
||||
WM_HideWindow(_ahFrameWin[0]);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
void GUIDEMO_NotifyStartNext(void) {
|
||||
_CmdNext = 0;
|
||||
_UpdateCmdWin();
|
||||
_iTestMinor++;
|
||||
}
|
||||
|
||||
int GUIDEMO_WaitKey(void) {
|
||||
int r = 0;
|
||||
U32 tMax = GUI_GetTime() + 4000;
|
||||
U32 tDiff;
|
||||
#if GUI_WINSUPPORT
|
||||
PROGBAR_Handle hProg = PROGBAR_Create(LCD_GetXSize() - 70,
|
||||
LCD_GetYSize() - 40,
|
||||
80, 5, WM_CF_SHOW);
|
||||
#endif
|
||||
while (tDiff = tMax - GUI_GetTime(), (tDiff > 0) && !GUIDEMO_CheckCancel()) {
|
||||
if ((r = GUI_GetKey()) != 0)
|
||||
break;
|
||||
}
|
||||
#if GUI_WINSUPPORT
|
||||
PROGBAR_Delete(hProg);
|
||||
WM_ExecIdle();
|
||||
#endif
|
||||
return r;
|
||||
}
|
||||
|
||||
void GUIDEMO_ShowIntro(const char * s, const char * sExp) {
|
||||
GUI_CONTEXT ContextOld;
|
||||
GUI_SaveContext(&ContextOld);
|
||||
#if GUI_WINSUPPORT && GUIDEMO_LARGE
|
||||
_sInfo = s;
|
||||
#endif
|
||||
_sExplain = sExp;
|
||||
GUI_SetDefault();
|
||||
GUIDEMO_HideInfoWin();
|
||||
GUIDEMO_SetBkColor(GUI_BLUE);
|
||||
GUI_SetColor(GUI_WHITE);
|
||||
GUI_Clear();
|
||||
#if !(GUIDEMO_TINY)
|
||||
GUI_SetFont(&GUI_FontComic18B_ASCII);
|
||||
GUI_DispStringHCenterAt(s, LCD_GET_XSIZE() / 2, LCD_GET_YSIZE() / 3 - 10);
|
||||
#else
|
||||
GUI_SetFont(&GUI_Font13B_ASCII);
|
||||
GUI_DispStringHCenterAt(s, LCD_GET_XSIZE() / 2, LCD_GET_YSIZE() / 3 - 18);
|
||||
#endif
|
||||
if (_sExplain) {
|
||||
GUI_SetFont(&GUI_Font8_ASCII);
|
||||
#if !(GUIDEMO_TINY)
|
||||
GUI_DispStringHCenterAt(_sExplain, LCD_GET_XSIZE() / 2, LCD_GET_YSIZE() / 2 - 10);
|
||||
#else
|
||||
GUI_DispStringHCenterAt(_sExplain, LCD_GET_XSIZE() / 2, LCD_GET_YSIZE() / 2 - 14);
|
||||
#endif
|
||||
}
|
||||
GUIDEMO_Delay(_sExplain ? 2000 : 4000);
|
||||
#if GUI_WINSUPPORT
|
||||
_UpdateInfoWin();
|
||||
_UpdateCmdWin();
|
||||
#endif
|
||||
GUI_RestoreContext(&ContextOld);
|
||||
#if GUI_WINSUPPORT
|
||||
WM_ExecIdle();
|
||||
#endif
|
||||
GUIDEMO_NotifyStartNext();
|
||||
GUIDEMO_SetBkColor(GUI_RED);
|
||||
GUI_Clear();
|
||||
}
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* GUIDEMO_main(): Large version of the demo
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
#if GUIDEMO_LARGE
|
||||
|
||||
void GUIDEMO_main(void) {
|
||||
#if GUI_WINSUPPORT
|
||||
int i;
|
||||
int xSize, ySize, xPos, yPos;
|
||||
#endif
|
||||
#if (GUI_SUPPORT_CURSOR|GUI_SUPPORT_TOUCH)
|
||||
GUI_CURSOR_Show();
|
||||
#endif
|
||||
GUI_Clear();
|
||||
#if GUI_WINSUPPORT
|
||||
#if GUI_NUM_LAYERS > 1
|
||||
_ahFrameWin[2] = FRAMEWIN_CreateAsChild(10, 10, 100, 100, WM_GetDesktopWindowEx(1), "Display 1", NULL, WM_CF_SHOW);
|
||||
WM_SetDesktopColorEx(GUI_RED, 1);
|
||||
GUI_Delay(1000);
|
||||
#endif
|
||||
WM_SetCreateFlags(WM_CF_MEMDEV); /* Automatically use memory devices on all windows */
|
||||
/* Calculate position and size of FrameWin[1] */
|
||||
_ButtonSizeX = 30;
|
||||
_ButtonSizeY = 20;
|
||||
/* Create the control window incl. buttons */
|
||||
_ahFrameWin[1] = FRAMEWIN_Create("Control", &_cbCmdWin, WM_CF_SHOW | WM_CF_STAYONTOP,
|
||||
LCD_GetXSize() - 80, LCD_GetYSize() - 60, 80, 60);
|
||||
_ahInfoWin[1] = WM_GetClientWindow(_ahFrameWin[1]);
|
||||
_ahButton[0] = BUTTON_CreateAsChild(4, 20, _ButtonSizeX, _ButtonSizeY, _ahInfoWin[1],
|
||||
'H' , WM_CF_SHOW | WM_CF_STAYONTOP | WM_CF_MEMDEV);
|
||||
_ahButton[1] = BUTTON_CreateAsChild(40, 20, _ButtonSizeX, _ButtonSizeY, _ahInfoWin[1],
|
||||
'N' , WM_CF_SHOW | WM_CF_STAYONTOP | WM_CF_MEMDEV);
|
||||
BUTTON_SetText(_ahButton[0], "Halt");
|
||||
BUTTON_SetText(_ahButton[1], "Next");
|
||||
_UpdateCmdWin();
|
||||
WM_ExecIdle();
|
||||
#endif
|
||||
/* Show Intro */
|
||||
GUIDEMO_Intro();
|
||||
#if GUI_WINSUPPORT
|
||||
/* Calculate position and size of FrameWin[0] */
|
||||
xSize = LCD_GetXSize() / 2;
|
||||
ySize = 65;
|
||||
xPos = LCD_GetXSize() - xSize;
|
||||
yPos = 0;
|
||||
/* Create info window and run the individual demos */
|
||||
_ahFrameWin[0] = FRAMEWIN_Create("emWin Demo", NULL, WM_CF_STAYONTOP,
|
||||
xPos, yPos, xSize, ySize);
|
||||
// _ahInfoWin[0] = WM_GetFirstChild(_ahFrameWin[0]);
|
||||
_ahInfoWin[0] = WM_CreateWindowAsChild(0, 0, 0, 0, WM_GetFirstChild(_ahFrameWin[0]), WM_CF_SHOW | WM_CF_STAYONTOP, 0, 0);
|
||||
WM_ExecIdle();
|
||||
#endif
|
||||
/* Run the individual demos ! */
|
||||
for (_iTest = 0; _apfTest[_iTest]; _iTest++) {
|
||||
GUI_CONTEXT ContextOld;
|
||||
GUI_SaveContext(&ContextOld);
|
||||
_iTestMinor = 0;
|
||||
_UpdateCmdWin();
|
||||
(*_apfTest[_iTest])();
|
||||
_CmdNext = 0;
|
||||
GUI_RestoreContext(&ContextOld);
|
||||
}
|
||||
/* Cleanup */
|
||||
#if GUI_WINSUPPORT
|
||||
for (i = 0; i < countof(_ahFrameWin); i++) {
|
||||
WM_DeleteWindow(_ahFrameWin[i]);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
#else /* GUIDEMO_LARGE */
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* GUIDEMO_main(): Small version of the demo
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
void GUIDEMO_main(void) {
|
||||
#if GUI_WINSUPPORT
|
||||
int i;
|
||||
#endif
|
||||
#if GUI_WINSUPPORT
|
||||
#if GUI_NUM_LAYERS > 1
|
||||
FRAMEWIN_CreateAsChild(10, 10, 100, 100, WM_GetDesktopWindowEx(1), "Display 1", NULL, WM_CF_SHOW);
|
||||
GUI_Delay(1000);
|
||||
#endif
|
||||
WM_SetCreateFlags(WM_CF_MEMDEV); /* Automatically use memory devices on all windows */
|
||||
_ButtonSizeX = 27;
|
||||
_ButtonSizeY = 14;
|
||||
_ahButton[0] = BUTTON_Create(LCD_GetXSize() - _ButtonSizeX * 2 - 4,
|
||||
LCD_GetYSize() - _ButtonSizeY - 2,
|
||||
_ButtonSizeX, _ButtonSizeY,
|
||||
'H' , WM_CF_SHOW | WM_CF_STAYONTOP | WM_CF_MEMDEV);
|
||||
_ahButton[1] = BUTTON_Create(LCD_GetXSize() - _ButtonSizeX - 2,
|
||||
LCD_GetYSize() - _ButtonSizeY - 2,
|
||||
_ButtonSizeX, _ButtonSizeY,
|
||||
'N' , WM_CF_SHOW | WM_CF_STAYONTOP | WM_CF_MEMDEV);
|
||||
BUTTON_SetFont(_ahButton[0], &GUI_Font8_ASCII);
|
||||
BUTTON_SetFont(_ahButton[1], &GUI_Font8_ASCII);
|
||||
BUTTON_SetText(_ahButton[0], "Halt");
|
||||
BUTTON_SetText(_ahButton[1], "Next");
|
||||
_UpdateCmdWin();
|
||||
WM_ExecIdle();
|
||||
#endif
|
||||
/* Show Intro */
|
||||
GUIDEMO_Intro();
|
||||
/* Run the individual demos ! */
|
||||
for (_iTest = 0; _apfTest[_iTest]; _iTest++) {
|
||||
GUI_CONTEXT ContextOld;
|
||||
GUI_SaveContext(&ContextOld);
|
||||
_iTestMinor = 0;
|
||||
_UpdateCmdWin();
|
||||
(*_apfTest[_iTest])();
|
||||
_CmdNext = 0;
|
||||
GUI_RestoreContext(&ContextOld);
|
||||
}
|
||||
/* Cleanup */
|
||||
#if GUI_WINSUPPORT
|
||||
for (i = 0; i < countof(_ahButton); i++) {
|
||||
BUTTON_Delete(_ahButton[i]);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
#endif /* GUIDEMO_LARGE */
|
||||
@@ -0,0 +1,126 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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.h
|
||||
Purpose : Multiple choice for emWin
|
||||
----------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
|
||||
#ifndef GUIDEMO_H
|
||||
#define GUIDEMO_H
|
||||
|
||||
#include "LCD_ConfDefaults.h" /* valid LCD configuration */
|
||||
|
||||
|
||||
#if defined(__cplusplus)
|
||||
extern "C" { /* Make sure we have C-declarations in C++ programs */
|
||||
#endif
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* GUIDEMO publics
|
||||
*
|
||||
*********************************************************************
|
||||
|
||||
The following are the routines which are available to the
|
||||
demo modules.
|
||||
*/
|
||||
|
||||
void GUIDEMO_main(void);
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* GUIDEMO main routines
|
||||
*
|
||||
*********************************************************************
|
||||
|
||||
The following are the routines which are available to the
|
||||
demo modules.
|
||||
*/
|
||||
|
||||
GUI_COLOR GUIDEMO_SetBkColor (GUI_COLOR Color);
|
||||
GUI_COLOR GUIDEMO_SetColor (GUI_COLOR Color);
|
||||
void GUIDEMO_Wait (void);
|
||||
int GUIDEMO_Delay (int t);
|
||||
void GUIDEMO_ShowIntro (const char*s, const char* sExplain);
|
||||
void GUIDEMO_ShowInfo (const char* sExplain);
|
||||
int GUIDEMO_CheckCancel (void);
|
||||
void GUIDEMO_NotifyStartNext (void);
|
||||
void GUIDEMO_HideInfoWin (void);
|
||||
int GUIDEMO_WaitKey (void);
|
||||
|
||||
|
||||
extern const GUI_BITMAP GUIDEMO_bm4bpp;
|
||||
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Demo modules
|
||||
*
|
||||
*********************************************************************
|
||||
|
||||
The demo consists of different modules which are usually called
|
||||
by the main routine.
|
||||
The following are the declarations for the individual routines.
|
||||
*/
|
||||
|
||||
void GUIDEMO_Messagebox(void);
|
||||
void GUIDEMO_Dialog(void);
|
||||
void GUIDEMO_Cursor(void);
|
||||
void GUIDEMO_HardwareInfo(void);
|
||||
void GUIDEMO_Graph(void);
|
||||
void GUIDEMO_Automotive(void);
|
||||
void GUIDEMO_Bitmap(void);
|
||||
void GUIDEMO_Intro(void);
|
||||
void GUIDEMO_Navigation(void);
|
||||
void GUIDEMO_ShowMemoryDevice(void);
|
||||
void GUIDEMO_DemoBITMAPObj(void);
|
||||
void GUIDEMO_Circle(void);
|
||||
void GUIDEMO_Speed(void);
|
||||
void GUIDEMO_ShowInternationalFonts(void);
|
||||
void GUIDEMO_ShowColorBar(void);
|
||||
void GUIDEMO_ShowColorList(void);
|
||||
void GUIDEMO_DemoFrameWin(void);
|
||||
void GUIDEMO_DemoLISTBOX(void);
|
||||
void GUIDEMO_DemoWidgets(void);
|
||||
void GUIDEMO_DemoPolygon(void);
|
||||
void GUIDEMO_DemoProgBar(void);
|
||||
//void GUIDEMO_ShowUCMix(void);
|
||||
void GUIDEMO_DemoLISTBOX(void);
|
||||
void GUIDEMO_DemoFrameWin(void);
|
||||
void GUIDEMO_DemoLUT(void);
|
||||
void GUIDEMO_ModifyLUT(int RFaktor, int GFaktor, int BFaktor);
|
||||
void GUIDEMO_ShowColorList(void);
|
||||
void GUIDEMO_Touch(void);
|
||||
|
||||
extern const GUI_BITMAP bmemWinGSCLogo320x46;
|
||||
extern const GUI_BITMAP bmSeggerLogoBlue;
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* GUIDEMO defines
|
||||
*
|
||||
*********************************************************************
|
||||
*/
|
||||
|
||||
#define GUIDEMO_LARGE ((LCD_XSIZE >= 240) && (LCD_YSIZE >= 200))
|
||||
#define GUIDEMO_TINY ((LCD_XSIZE < 140) || (LCD_YSIZE < 100))
|
||||
|
||||
#if defined(__cplusplus)
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
+625
@@ -0,0 +1,625 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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_Automotive.c
|
||||
Purpose : Automotive samples
|
||||
----------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
#include "GUI.h"
|
||||
#include "GUIDEMO.h"
|
||||
#include "LCD_ConfDefaults.h"
|
||||
|
||||
#if GUI_WINSUPPORT
|
||||
#include "WM.h"
|
||||
#endif
|
||||
|
||||
#if (GUI_SUPPORT_MEMDEV & GUI_SUPPORT_AA)
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* defines
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
#define countof(Obj) (sizeof(Obj) / sizeof(Obj[0]))
|
||||
#define DEG2RAD (3.1415926f / 180)
|
||||
|
||||
#define MAG 3
|
||||
|
||||
#if ((LCD_XSIZE >= 200) && !(GUIDEMO_TINY))
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* static data, scale bitmap (large)
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
static GUI_CONST_STORAGE GUI_COLOR _ColorsScaleR140[] = {
|
||||
0x000000, 0x00B400, 0xF5F5F5, 0x0000B4
|
||||
,0x00F500, 0x494949, 0xE1E1E1, 0xC0C0C0
|
||||
,0x7F7F7F, 0x8DD78D, 0x9B9B9B, 0xD7D7D7
|
||||
,0xA8A8A8, 0xB4D7B4, 0x5D5D5D, 0xD7F5D7
|
||||
,0x5DB45D, 0xB4B4D7, 0x5D5DB4, 0xD7D7F5
|
||||
,0x8D8DD7, 0xEBEBEB, 0x8DB4B4, 0x8D8D8D
|
||||
,0x5D8DB4, 0x8DB48D, 0xB4D7D7, 0x6F6F6F
|
||||
,0xB4B4B4
|
||||
};
|
||||
|
||||
static GUI_CONST_STORAGE GUI_LOGPALETTE _PalScaleR140 = {
|
||||
29, /* number of entries */
|
||||
0, /* No transparency */
|
||||
&_ColorsScaleR140[0]
|
||||
};
|
||||
|
||||
static GUI_CONST_STORAGE unsigned char _acScaleR140[] = {
|
||||
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, 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, 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, 0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x0C, 0x07, 0x07, 0x07, 0x0B, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x06, 0x07, 0x07, 0x07, 0x07, 0x08, 0x08, 0x08, 0x05, 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, 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, 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, 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, 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, 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, 0x08, 0x08, 0x07, 0x07, 0x06, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x07, 0x07, 0x0A, 0x08, 0x05, 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, 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, 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, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x08, 0x0C, 0x07, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x06, 0x07, 0x07, 0x07, 0x07, 0x07, 0x0C, 0x08, 0x08, 0x02, 0x02, 0x0B, 0x09, 0x09, 0x09, 0x09, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0F, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x0B, 0x07, 0x08, 0x0E, 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, 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, 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, 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, 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, 0x00, 0x00, 0x00, 0x08, 0x0A, 0x07, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x06, 0x07, 0x07, 0x0A, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x02, 0x09, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x10, 0x09, 0x09, 0x0D, 0x0D, 0x0F, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x0B, 0x0C, 0x08, 0x05, 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, 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, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x0C, 0x0B, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x06, 0x07, 0x0C, 0x08, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x02, 0x09, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x10, 0x09, 0x09, 0x0D, 0x0F, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x06, 0x07, 0x08, 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, 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, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x08, 0x07, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x07, 0x0A, 0x08, 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, 0x07, 0x02, 0x09, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x10, 0x09, 0x0D, 0x0F, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x0B, 0x0A, 0x0E, 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, 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, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0A, 0x0B, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x15, 0x07, 0x08, 0x05, 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, 0x00, 0x00, 0x07, 0x02, 0x09, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x09, 0x0D, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x06, 0x0C, 0x0E, 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, 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, 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, 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, 0x00, 0x05, 0x0A, 0x06, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x07, 0x07, 0x02, 0x07, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x02, 0x09, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x09, 0x0D, 0x0F, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x0C, 0x0E, 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, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0A, 0x0B, 0x02, 0x02, 0x02, 0x02, 0x02, 0x06, 0x07, 0x08, 0x00, 0x00, 0x05, 0x02, 0x02, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x02, 0x09, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x10, 0x02, 0x0F, 0x01, 0x01, 0x01, 0x10, 0x0D, 0x0F, 0x02, 0x02, 0x02, 0x02, 0x02, 0x06, 0x0C, 0x0E, 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, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x07, 0x02, 0x02, 0x02, 0x02, 0x02, 0x06, 0x0C, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x02, 0x0E, 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, 0x00, 0x00, 0x00, 0x00, 0x07, 0x02, 0x09, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x09, 0x02, 0x0D, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x10, 0x09, 0x0F, 0x02, 0x02, 0x02, 0x02, 0x02, 0x0B, 0x0A, 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, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0A, 0x06, 0x02, 0x02, 0x02, 0x02, 0x02, 0x07, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x02, 0x0A, 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, 0x00, 0x00, 0x00, 0x00, 0x07, 0x02, 0x09, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0D, 0x02, 0x09, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x10, 0x0D, 0x0F, 0x02, 0x02, 0x02, 0x02, 0x02, 0x0C, 0x0E, 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, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x07, 0x02, 0x02, 0x02, 0x02, 0x02, 0x0B, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x02, 0x07, 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, 0x00, 0x00, 0x00, 0x00, 0x07, 0x02, 0x09, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x10, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x10, 0x0D, 0x02, 0x02, 0x02, 0x02, 0x02, 0x0B, 0x0A, 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, 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, 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, 0x00, 0x00, 0x00, 0x08, 0x0B, 0x02, 0x02, 0x02, 0x02, 0x06, 0x0C, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x02, 0x02, 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, 0x00, 0x00, 0x00, 0x00, 0x07, 0x02, 0x09, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x10, 0x02, 0x0F, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x09, 0x0F, 0x02, 0x02, 0x02, 0x02, 0x06, 0x0A, 0x05, 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, 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, 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, 0x0A, 0x06, 0x02, 0x02, 0x02, 0x02, 0x0B, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x02, 0x0E, 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, 0x00, 0x00, 0x00, 0x07, 0x02, 0x09, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x09, 0x02, 0x0D, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x10, 0x0D, 0x02, 0x02, 0x02, 0x02, 0x02, 0x0C, 0x05, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x06, 0x02, 0x02, 0x02, 0x02, 0x07, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x02, 0x0A, 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, 0x00, 0x00, 0x00, 0x07, 0x02, 0x09, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0D, 0x02, 0x09, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x10, 0x0D, 0x0F, 0x02, 0x02, 0x02, 0x02, 0x0C, 0x05, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x06, 0x02, 0x02, 0x02, 0x02, 0x0C, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x02, 0x07, 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, 0x00, 0x00, 0x00, 0x07, 0x02, 0x09, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x10, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x09, 0x0F, 0x02, 0x02, 0x02, 0x02, 0x0C, 0x05, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x06, 0x02, 0x02, 0x02, 0x02, 0x0C, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x02, 0x02, 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, 0x00, 0x00, 0x00, 0x07, 0x02, 0x09, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x10, 0x02, 0x0F, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x09, 0x0F, 0x02, 0x02, 0x02, 0x02, 0x0C, 0x05, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x0B, 0x02, 0x02, 0x02, 0x02, 0x0C, 0x05, 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, 0x06, 0x02, 0x0E, 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, 0x00, 0x00, 0x07, 0x02, 0x09, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x09, 0x02, 0x0D, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x09, 0x0F, 0x02, 0x02, 0x02, 0x06, 0x0A, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0B, 0x02, 0x02, 0x02, 0x02, 0x0C, 0x05, 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, 0x00, 0x00, 0x07, 0x02, 0x0A, 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, 0x00, 0x00, 0x07, 0x02, 0x09, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0D, 0x02, 0x09, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x09, 0x0F, 0x02, 0x02, 0x02, 0x06, 0x08, 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, 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, 0x00, 0x00, 0x00, 0x0C, 0x02, 0x02, 0x02, 0x02, 0x07, 0x05, 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, 0x00, 0x00, 0x00, 0x00, 0x08, 0x02, 0x07, 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, 0x00, 0x00, 0x07, 0x02, 0x09, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x10, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x09, 0x02, 0x02, 0x02, 0x02, 0x0B, 0x05, 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,
|
||||
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, 0x08, 0x06, 0x02, 0x02, 0x02, 0x15, 0x0E, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x02, 0x02, 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, 0x00, 0x00, 0x07, 0x02, 0x09, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x10, 0x02, 0x0F, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x19, 0x02, 0x02, 0x02, 0x02, 0x02, 0x0C, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0B, 0x02, 0x02, 0x02, 0x06, 0x02, 0x06, 0x05, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x02, 0x0E, 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, 0x00, 0x07, 0x02, 0x09, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x09, 0x02, 0x0D, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0D, 0x02, 0x1A, 0x13, 0x02, 0x02, 0x02, 0x06, 0x08, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x02, 0x02, 0x02, 0x02, 0x0C, 0x00, 0x07, 0x02, 0x0C, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x02, 0x0A, 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, 0x00, 0x07, 0x02, 0x09, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0D, 0x02, 0x09, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x10, 0x02, 0x0F, 0x12, 0x03, 0x14, 0x13, 0x02, 0x02, 0x02, 0x07, 0x05, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0B, 0x02, 0x02, 0x02, 0x0B, 0x0E, 0x00, 0x00, 0x05, 0x02, 0x02, 0x0E, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x02, 0x07, 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, 0x00, 0x07, 0x02, 0x09, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x10, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0F, 0x02, 0x14, 0x03, 0x03, 0x03, 0x12, 0x11, 0x02, 0x02, 0x02, 0x06, 0x08, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x02, 0x02, 0x02, 0x02, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x02, 0x0B, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x02, 0x02, 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, 0x00, 0x07, 0x02, 0x09, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x10, 0x02, 0x0F, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x09, 0x02, 0x0B, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x12, 0x13, 0x02, 0x02, 0x02, 0x07, 0x05, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0B, 0x02, 0x02, 0x02, 0x0B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x02, 0x0A, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x02, 0x0E, 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, 0x07, 0x02, 0x09, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x09, 0x02, 0x0D, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x10, 0x02, 0x02, 0x12, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x11, 0x02, 0x02, 0x02, 0x06, 0x08, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x02, 0x02, 0x02, 0x02, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x02, 0x06, 0x05, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x02, 0x0A, 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, 0x07, 0x02, 0x09, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0D, 0x02, 0x09, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0D, 0x02, 0x11, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x12, 0x13, 0x02, 0x02, 0x02, 0x07, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x02, 0x02, 0x02, 0x0B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x02, 0x0C, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x02, 0x07, 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, 0x07, 0x02, 0x09, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x10, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x10, 0x02, 0x0F, 0x12, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x11, 0x02, 0x02, 0x02, 0x06, 0x05, 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, 0x00, 0x00, 0x05, 0x06, 0x02, 0x02, 0x02, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x02, 0x02, 0x0E, 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, 0x00, 0x00, 0x00, 0x00, 0x05, 0x02, 0x02, 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, 0x07, 0x02, 0x09, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x10, 0x02, 0x0F, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0F, 0x02, 0x16, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x14, 0x13, 0x02, 0x02, 0x02, 0x08, 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, 0x08, 0x02, 0x02, 0x02, 0x06, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x02, 0x0B, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x02, 0x0E, 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, 0x07, 0x02, 0x09, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x09, 0x02, 0x0D, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x09, 0x02, 0x0B, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x12, 0x11, 0x02, 0x02, 0x02, 0x07, 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, 0x07, 0x02, 0x02, 0x02, 0x07, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x02, 0x0A, 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, 0x00, 0x00, 0x00, 0x00, 0x07, 0x02, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x0A, 0x07, 0x07, 0x07, 0x0B, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x0F, 0x0D, 0x0D, 0x0D, 0x0D, 0x09, 0x09, 0x10, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0D, 0x02, 0x09, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x10, 0x02, 0x02, 0x12, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x14, 0x02, 0x02, 0x02, 0x06, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0B, 0x02, 0x02, 0x02, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x02, 0x06, 0x05, 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, 0x00, 0x00, 0x00, 0x08, 0x02, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x08, 0x0C, 0x07, 0x0B, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x0F, 0x0D, 0x0D, 0x09, 0x10, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x10, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0D, 0x02, 0x11, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x14, 0x13, 0x02, 0x02, 0x06, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x06, 0x02, 0x02, 0x06, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x02, 0x0C, 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, 0x00, 0x00, 0x00, 0x05, 0x02, 0x02, 0x00, 0x00, 0x00, 0x08, 0x0C, 0x07, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x07, 0x07, 0x07, 0x07, 0x07, 0x0A, 0x08, 0x08, 0x08, 0x17, 0x08, 0x08, 0x08, 0x07, 0x07, 0x07, 0x07, 0x07, 0x06, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x0F, 0x0D, 0x09, 0x10, 0x01, 0x10, 0x02, 0x0F, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x10, 0x02, 0x0F, 0x12, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x12, 0x13, 0x02, 0x02, 0x02, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x02, 0x02, 0x02, 0x06, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x02, 0x02, 0x0E, 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, 0x00, 0x00, 0x00, 0x15, 0x02, 0x0B, 0x06, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x07, 0x07, 0x0A, 0x08, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x08, 0x08, 0x07, 0x07, 0x06, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x15, 0x02, 0x0B, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0F, 0x02, 0x16, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x11, 0x02, 0x02, 0x02, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x02, 0x02, 0x02, 0x07, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x02, 0x0B, 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, 0x0E, 0x0A, 0x0B, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x06, 0x07, 0x0A, 0x08, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x08, 0x07, 0x0B, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x0F, 0x0D, 0x09, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x09, 0x02, 0x0B, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x14, 0x02, 0x02, 0x02, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x02, 0x02, 0x02, 0x07, 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, 0x06, 0x02, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x0C, 0x06, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x0B, 0x0C, 0x08, 0x05, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0A, 0x07, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x0D, 0x09, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x10, 0x02, 0x02, 0x18, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x14, 0x02, 0x02, 0x02, 0x06, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x02, 0x02, 0x02, 0x08, 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, 0x00, 0x0E, 0x02, 0x06, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0C, 0x06, 0x02, 0x02, 0x02, 0x02, 0x02, 0x06, 0x07, 0x08, 0x05, 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, 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, 0x00, 0x08, 0x0C, 0x0B, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x0D, 0x10, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0D, 0x02, 0x0D, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x12, 0x13, 0x02, 0x02, 0x06, 0x05, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x07, 0x02, 0x02, 0x02, 0x08, 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, 0x00, 0x00, 0x00, 0x07, 0x02, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x0B, 0x02, 0x02, 0x02, 0x02, 0x02, 0x06, 0x0C, 0x0E, 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, 0x04, 0x04, 0x04, 0x04, 0x04, 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, 0x00, 0x00, 0x00, 0x05, 0x0A, 0x0B, 0x02, 0x02, 0x02, 0x02, 0x02, 0x0F, 0x0D, 0x10, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x10, 0x02, 0x0F, 0x12, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x12, 0x13, 0x02, 0x02, 0x06, 0x05, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x05, 0x0B, 0x02, 0x02, 0x06, 0x08, 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, 0x00, 0x00, 0x00, 0x00, 0x05, 0x02, 0x02, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0C, 0x02, 0x02, 0x02, 0x02, 0x02, 0x06, 0x0C, 0x0E, 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, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x00, 0x04, 0x04, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0A, 0x0B, 0x02, 0x02, 0x02, 0x02, 0x02, 0x0F, 0x10, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0F, 0x02, 0x16, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x12, 0x13, 0x02, 0x02, 0x06, 0x08, 0x00, 0x00,
|
||||
0x00, 0x05, 0x06, 0x02, 0x02, 0x06, 0x05, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x02, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x0B, 0x02, 0x02, 0x02, 0x02, 0x02, 0x07, 0x0E, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0C, 0x06, 0x02, 0x02, 0x02, 0x02, 0x0F, 0x09, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x09, 0x02, 0x0F, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x11, 0x02, 0x02, 0x02, 0x08, 0x00,
|
||||
0x05, 0x06, 0x02, 0x02, 0x06, 0x05, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x02, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x0B, 0x02, 0x02, 0x02, 0x02, 0x06, 0x0A, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x04, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0B, 0x02, 0x02, 0x02, 0x02, 0x0F, 0x0D, 0x10, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x10, 0x02, 0x02, 0x18, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x11, 0x02, 0x02, 0x02, 0x08,
|
||||
0x0B, 0x02, 0x02, 0x06, 0x05, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x02, 0x06, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x06, 0x02, 0x02, 0x02, 0x02, 0x0B, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0C, 0x02, 0x02, 0x02, 0x02, 0x02, 0x0D, 0x10, 0x01, 0x01, 0x01, 0x01, 0x0D, 0x02, 0x0D, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x11, 0x02, 0x02, 0x06,
|
||||
0x02, 0x02, 0x02, 0x1B, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x02, 0x0C, 0x00, 0x00, 0x00, 0x0A, 0x06, 0x02, 0x02, 0x02, 0x02, 0x0C, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x06, 0x02, 0x02, 0x02, 0x02, 0x0D, 0x10, 0x01, 0x10, 0x02, 0x0F, 0x12, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x11, 0x02, 0x02, 0x17,
|
||||
0x05, 0x06, 0x02, 0x06, 0x05, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x02, 0x02, 0x0E, 0x0E, 0x0B, 0x02, 0x02, 0x02, 0x02, 0x0C, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x04, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x06, 0x02, 0x02, 0x02, 0x0F, 0x09, 0x0F, 0x02, 0x16, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x11, 0x02, 0x02, 0x17, 0x00,
|
||||
0x00, 0x05, 0x06, 0x02, 0x06, 0x05, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x0C, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x06, 0x02, 0x02, 0x02, 0x02, 0x0F, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x11, 0x02, 0x02, 0x08, 0x00, 0x00,
|
||||
0x00, 0x00, 0x05, 0x06, 0x02, 0x06, 0x05, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0C, 0x02, 0x02, 0x02, 0x02, 0x07, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x04, 0x04, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x02, 0x02, 0x02, 0x02, 0x13, 0x12, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x11, 0x02, 0x02, 0x08, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x05, 0x06, 0x02, 0x06, 0x05, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x06, 0x02, 0x02, 0x02, 0x0B, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0C, 0x02, 0x02, 0x02, 0x02, 0x11, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x11, 0x02, 0x02, 0x08, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x05, 0x06, 0x02, 0x06, 0x05, 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, 0x00, 0x00, 0x00, 0x05, 0x0B, 0x02, 0x02, 0x02, 0x06, 0x08, 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, 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, 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, 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, 0x05, 0x0B, 0x02, 0x02, 0x02, 0x13, 0x14, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x11, 0x02, 0x02, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x06, 0x02, 0x06, 0x05, 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, 0x00, 0x0A, 0x02, 0x02, 0x02, 0x02, 0x0C, 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, 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, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x08, 0x06, 0x02, 0x02, 0x02, 0x11, 0x12, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x11, 0x02, 0x02, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x06, 0x02, 0x06, 0x05, 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, 0x05, 0x0B, 0x02, 0x02, 0x02, 0x0B, 0x0E, 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, 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, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0C, 0x02, 0x02, 0x02, 0x13, 0x14, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x11, 0x02, 0x02, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x06, 0x02, 0x06, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x06, 0x02, 0x02, 0x02, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 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, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x06, 0x02, 0x02, 0x02, 0x11, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x11, 0x02, 0x02, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x06, 0x02, 0x06, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x02, 0x02, 0x02, 0x0B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x04, 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, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x02, 0x02, 0x02, 0x13, 0x12, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x11, 0x02, 0x02, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x06, 0x02, 0x06, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x06, 0x02, 0x02, 0x02, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 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, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x06, 0x02, 0x02, 0x02, 0x14, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x11, 0x02, 0x02, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x06, 0x02, 0x06, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x02, 0x02, 0x02, 0x06, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 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, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x07, 0x02, 0x02, 0x02, 0x11, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x11, 0x02, 0x02, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x06, 0x02, 0x06, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x02, 0x02, 0x02, 0x07, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 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, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x02, 0x02, 0x02, 0x13, 0x12, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x11, 0x02, 0x02, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x06, 0x02, 0x06, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x07, 0x02, 0x02, 0x02, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 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, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x06, 0x02, 0x02, 0x13, 0x12, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x11, 0x02, 0x02, 0x08, 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, 0x05, 0x06, 0x02, 0x06, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x06, 0x02, 0x02, 0x02, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 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, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x04, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x06, 0x02, 0x02, 0x02, 0x14, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x11, 0x02, 0x02, 0x08, 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, 0x00, 0x05, 0x06, 0x02, 0x06, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x06, 0x02, 0x02, 0x06, 0x05, 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, 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, 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, 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, 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, 0x00, 0x00, 0x07, 0x02, 0x02, 0x02, 0x14, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x11, 0x02, 0x02, 0x08, 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, 0x00, 0x00, 0x00, 0x05, 0x06, 0x02, 0x06, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x02, 0x02, 0x02, 0x0B, 0x05, 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, 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, 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, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x02, 0x02, 0x02, 0x11, 0x03, 0x03, 0x03, 0x03, 0x03, 0x11, 0x02, 0x02, 0x08, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x06, 0x02, 0x06, 0x05, 0x00, 0x00, 0x00, 0x08, 0x02, 0x02, 0x02, 0x07, 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, 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, 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, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x02, 0x02, 0x02, 0x11, 0x03, 0x03, 0x03, 0x11, 0x02, 0x02, 0x08, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x06, 0x02, 0x06, 0x05, 0x00, 0x08, 0x02, 0x02, 0x02, 0x07, 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, 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, 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, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x02, 0x02, 0x02, 0x11, 0x03, 0x11, 0x02, 0x02, 0x08, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x06, 0x02, 0x06, 0x17, 0x02, 0x02, 0x02, 0x0A, 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, 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, 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, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x06, 0x02, 0x02, 0x13, 0x02, 0x02, 0x08, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x06, 0x02, 0x02, 0x02, 0x02, 0x08, 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, 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, 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, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x06, 0x02, 0x02, 0x02, 0x08, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x02, 0x02, 0x02, 0x08, 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, 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, 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, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x02, 0x02, 0x1C, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 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, 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, 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, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x05, 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, 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, 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, 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, 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, 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, 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, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x04, 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, 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, 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, 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, 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, 0x00, 0x00, 0x00, 0x04, 0x04, 0x04, 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, 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, 0x00, 0x04, 0x04, 0x00, 0x04, 0x04, 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, 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, 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, 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, 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, 0x00, 0x04, 0x04, 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, 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, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x00, 0x04, 0x04, 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, 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, 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, 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, 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, 0x04, 0x04, 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, 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, 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x00, 0x04, 0x04, 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, 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, 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, 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, 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, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 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, 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, 0x04, 0x04, 0x00, 0x00, 0x00, 0x04, 0x04, 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, 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, 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, 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, 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, 0x04, 0x04, 0x00, 0x00, 0x00, 0x04, 0x04, 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,
|
||||
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, 0x04, 0x04, 0x00, 0x04, 0x04, 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, 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, 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, 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, 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, 0x04, 0x04, 0x00, 0x00, 0x00, 0x04, 0x04, 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,
|
||||
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, 0x04, 0x04, 0x04, 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, 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, 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, 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, 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, 0x00, 0x00, 0x04, 0x04, 0x04, 0x04, 0x04, 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, 0x00
|
||||
};
|
||||
|
||||
static GUI_CONST_STORAGE GUI_BITMAP _bmScaleR140 = {
|
||||
200, /* XSize */
|
||||
73, /* YSize */
|
||||
200, /* BytesPerLine */
|
||||
8, /* BitsPerPixel */
|
||||
_acScaleR140, /* Pointer to picture data (indices) */
|
||||
&_PalScaleR140 /* Pointer to palette */
|
||||
};
|
||||
|
||||
#else
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* static data, scale bitmap (small)
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
static GUI_CONST_STORAGE GUI_COLOR _ColorsScaleR80[] = {
|
||||
0x000000,0x101010,0x313031,0x525552
|
||||
,0x83858B,0x94959C,0xA4AAAC,0xC5CACD
|
||||
,0xD5DADE,0xFFFFFF,0xE6EAEE,0x202020
|
||||
,0xB4BABD,0x292C29,0x737973,0x626562
|
||||
,0x414041,0xDEE2E6,0x5ADE5A,0x41DA41
|
||||
,0x52DE52,0x62DE62,0x83E68B,0xA4EEAC
|
||||
,0xC5F2CD,0xE6FAEE,0x393C39,0x31D631
|
||||
,0x00CE00,0x10CE10,0x94EA9C,0xB4EEBD
|
||||
,0x737573,0xC5F2D5,0x737173,0x8BE694
|
||||
,0x20D220,0x73E273,0xD5F6DE,0xBDC2C5
|
||||
,0xD5DAE6,0x5A595A,0xA4B2BD,0xBDBEC5
|
||||
,0xE6F6EE,0x9499EE,0xE6EAFF,0xB4BAF6
|
||||
,0x0000CD,0x2020D5,0xA4AAEE,0x5255DE
|
||||
,0x8385E6,0x1010D5,0x7375E6,0xD5F2DE
|
||||
,0x6265E6,0x3130D5,0xD5DAFF,0xC5CAF6
|
||||
,0x4140DE,0xEEFAEE,0xEEEEF6,0xF6FAFF
|
||||
,0x6A6D6A,0xF6F6FF,0x7B797B,0xCDD2D5
|
||||
,0x4148D5,0x293429,0x181C18,0x181CD5
|
||||
,0x8B8D8B,0x00FF00,0x94E69C,0xB4BEC5
|
||||
,0x2028D5,0xC5C6CD
|
||||
};
|
||||
|
||||
static GUI_CONST_STORAGE GUI_LOGPALETTE _PalScaleR80 = {
|
||||
78, /* number of entries */
|
||||
0, /* No transparency */
|
||||
&_ColorsScaleR80[0]
|
||||
};
|
||||
|
||||
static GUI_CONST_STORAGE unsigned char _acScaleR80[] = {
|
||||
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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x08, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x0A, 0x08, 0x08, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01, 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, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x03, 0x04, 0x0C, 0x08, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x0A, 0x0C, 0x04, 0x03, 0x0B, 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, 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, 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, 0x00, 0x0D, 0x0E, 0x05, 0x08, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x0A, 0x08, 0x06, 0x05, 0x04, 0x0F, 0x03, 0x03, 0x10, 0x02, 0x11, 0x09, 0x12, 0x13, 0x14, 0x14, 0x15, 0x16, 0x16, 0x17, 0x18, 0x19, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x0A, 0x06, 0x0E, 0x1A, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x04, 0x08, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x07, 0x05, 0x0F, 0x10, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1B, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1D, 0x1B, 0x15, 0x1E, 0x1F, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x08, 0x05, 0x10, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x04, 0x0A, 0x09, 0x09, 0x09, 0x09, 0x09, 0x11, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1B, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1B, 0x15, 0x21, 0x09, 0x09, 0x09, 0x09, 0x09, 0x0A, 0x06, 0x10, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x20, 0x08, 0x09, 0x09, 0x09, 0x09, 0x08, 0x05, 0x22, 0x09, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1B, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x17, 0x09, 0x23, 0x16, 0x18, 0x09, 0x09, 0x09, 0x09, 0x08, 0x04, 0x0B, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x02, 0x06, 0x09, 0x09, 0x09, 0x09, 0x08, 0x04, 0x02, 0x00, 0x00, 0x01, 0x09, 0x09, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1B, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x19, 0x09, 0x1B, 0x1C, 0x1C, 0x24, 0x25, 0x18, 0x09, 0x09, 0x09, 0x09, 0x06, 0x10, 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, 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, 0x03, 0x0C, 0x09, 0x09, 0x09, 0x09, 0x06, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x09, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1B, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1B, 0x09, 0x19, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1B, 0x16, 0x19, 0x09, 0x09, 0x09, 0x08, 0x0F, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x08, 0x09, 0x09, 0x09, 0x08, 0x20, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x09, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1B, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x25, 0x09, 0x17, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x14, 0x26, 0x09, 0x09, 0x09, 0x08, 0x0F, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x08, 0x09, 0x09, 0x09, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x09, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1B, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1F, 0x09, 0x15, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x13, 0x1F, 0x09, 0x09, 0x09, 0x08, 0x03, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x27, 0x09, 0x09, 0x09, 0x0C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x09, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1B, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x09, 0x09, 0x24, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1B, 0x17, 0x09, 0x09, 0x09, 0x28, 0x29, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x05, 0x09, 0x09, 0x09, 0x08, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x09, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1B, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x13, 0x09, 0x26, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1B, 0x1F, 0x09, 0x09, 0x09, 0x2A, 0x0B, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x08, 0x09, 0x09, 0x09, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x09, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1B, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x16, 0x09, 0x1E, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1E, 0x09, 0x09, 0x09, 0x0A, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x06, 0x09, 0x09, 0x09, 0x05, 0x09, 0x09, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x09, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1B, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x18, 0x09, 0x14, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1D, 0x2C, 0x09, 0x2D, 0x2E, 0x09, 0x09, 0x07, 0x0B, 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, 0x00, 0x00, 0x03, 0x0A, 0x09, 0x09, 0x07, 0x02, 0x00, 0x04, 0x09, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x09, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1B, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1D, 0x09, 0x09, 0x1D, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1E, 0x09, 0x2F, 0x30, 0x31, 0x32, 0x09, 0x09, 0x09, 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, 0x00, 0x06, 0x09, 0x09, 0x09, 0x20, 0x00, 0x00, 0x00, 0x01, 0x08, 0x09, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1B, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x14, 0x09, 0x18, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1B, 0x09, 0x09, 0x31, 0x30, 0x30, 0x30, 0x33, 0x2E, 0x09, 0x09, 0x0C, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x08, 0x09, 0x09, 0x07, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x09, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x09, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1B, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1E, 0x09, 0x16, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1F, 0x09, 0x34, 0x30, 0x30, 0x30, 0x30, 0x30, 0x35, 0x2F, 0x09, 0x09, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x09, 0x09, 0x09, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x09, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x09, 0x09, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1B, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x26, 0x09, 0x13, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x14, 0x09, 0x2E, 0x35, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x36, 0x09, 0x09, 0x09, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x09, 0x09, 0x0A, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x09, 0x09, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x09, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1B, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1B, 0x09, 0x19, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x37, 0x09, 0x38, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x39, 0x3A, 0x09, 0x09, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x09, 0x09, 0x08, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x09, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x09, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1B, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x15, 0x09, 0x1F, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x16, 0x09, 0x3B, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x35, 0x2F, 0x09, 0x09, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x09, 0x09, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x09, 0x09, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x09, 0x08, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x10, 0x20, 0x04, 0x06, 0x07, 0x08, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x26, 0x26, 0x17, 0x1E, 0x25, 0x14, 0x24, 0x1C, 0x1C, 0x1C, 0x1C, 0x17, 0x09, 0x25, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x24, 0x09, 0x09, 0x3C, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x34, 0x09, 0x09, 0x08, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x08, 0x09, 0x09, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x09, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x09, 0x29, 0x04, 0x0C, 0x0A, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x1F, 0x16, 0x14, 0x3D, 0x09, 0x1B, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x17, 0x09, 0x32, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x38, 0x09, 0x09, 0x0A, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x02, 0x0A, 0x09, 0x09, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x09, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x20, 0x3E, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x08, 0x0C, 0x05, 0x04, 0x0F, 0x03, 0x03, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x04, 0x05, 0x06, 0x08, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x3F, 0x16, 0x1B, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1B, 0x09, 0x09, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x3C, 0x09, 0x09, 0x09, 0x10, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x40, 0x41, 0x09, 0x09, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x09, 0x0A, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x20, 0x07, 0x09, 0x09, 0x09, 0x09, 0x09, 0x08, 0x05, 0x0F, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0x05, 0x07, 0x09, 0x09, 0x09, 0x09, 0x09, 0x26, 0x16, 0x1B, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x18, 0x09, 0x34, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x3C, 0x2E, 0x09, 0x09, 0x42, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x43, 0x3F, 0x09, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x09, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x06, 0x09, 0x09, 0x09, 0x09, 0x0A, 0x06, 0x03, 0x01, 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, 0x00, 0x01, 0x03, 0x05, 0x0A, 0x09, 0x09, 0x09, 0x09, 0x18, 0x14, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x15, 0x09, 0x3A, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x44, 0x3F, 0x3F, 0x43, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x45, 0x3F, 0x09, 0x41, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x09, 0x09, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x08, 0x09, 0x09, 0x09, 0x0A, 0x06, 0x10, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x04, 0x0A, 0x09, 0x09, 0x09, 0x19, 0x16, 0x1D, 0x1C, 0x1C, 0x1C, 0x1D, 0x37, 0x09, 0x33, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x47, 0x41, 0x09, 0x3F, 0x45, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x46, 0x41, 0x09, 0x41, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x0C, 0x00, 0x00, 0x04, 0x0A, 0x09, 0x09, 0x09, 0x07, 0x03, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x06, 0x09, 0x09, 0x09, 0x09, 0x1E, 0x1D, 0x1C, 0x16, 0x09, 0x3B, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x47, 0x41, 0x09, 0x41, 0x46, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x41, 0x09, 0x41, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0A, 0x09, 0x48, 0x08, 0x09, 0x09, 0x09, 0x06, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x49, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x05, 0x09, 0x09, 0x09, 0x19, 0x4A, 0x09, 0x09, 0x39, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x47, 0x41, 0x09, 0x41, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x41, 0x09, 0x41, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x09, 0x09, 0x09, 0x06, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x49, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x05, 0x09, 0x09, 0x09, 0x09, 0x2F, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x47, 0x41, 0x09, 0x41, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x41, 0x09, 0x41, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x05, 0x09, 0x09, 0x09, 0x4B, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x05, 0x09, 0x09, 0x09, 0x2F, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x47, 0x41, 0x09, 0x41, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x41, 0x09, 0x41, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0A, 0x09, 0x09, 0x08, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x00, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x07, 0x09, 0x09, 0x09, 0x36, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x47, 0x41, 0x09, 0x41, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x41, 0x09, 0x41, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x09, 0x09, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0A, 0x09, 0x09, 0x2F, 0x35, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x47, 0x41, 0x09, 0x41, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x41, 0x09, 0x41, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x08, 0x09, 0x09, 0x07, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x49, 0x49, 0x49, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x0C, 0x09, 0x09, 0x2E, 0x3C, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x47, 0x41, 0x09, 0x41, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x41, 0x09, 0x41, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x09, 0x09, 0x09, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x49, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x49, 0x49, 0x49, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x09, 0x09, 0x09, 0x36, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x47, 0x41, 0x09, 0x41, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x41, 0x09, 0x41, 0x46, 0x00, 0x00, 0x00, 0x00, 0x04, 0x09, 0x09, 0x0A, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x49, 0x49, 0x49, 0x49, 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, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x08, 0x09, 0x09, 0x32, 0x30, 0x30, 0x30, 0x30, 0x47, 0x41, 0x09, 0x41, 0x46, 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, 0x46, 0x41, 0x09, 0x41, 0x46, 0x00, 0x00, 0x05, 0x09, 0x09, 0x08, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x49, 0x49, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0C, 0x09, 0x09, 0x2F, 0x35, 0x30, 0x47, 0x41, 0x09, 0x41, 0x46, 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, 0x46, 0x41, 0x09, 0x41, 0x46, 0x0C, 0x09, 0x09, 0x0C, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 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, 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, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x09, 0x3A, 0x4C, 0x41, 0x09, 0x41, 0x46, 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, 0x00, 0x00, 0x46, 0x41, 0x09, 0x3F, 0x09, 0x09, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 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, 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, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x09, 0x09, 0x3F, 0x09, 0x41, 0x46, 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, 0x00, 0x00, 0x00, 0x00, 0x46, 0x3F, 0x3F, 0x09, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x09, 0x3F, 0x3F, 0x46, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x45, 0x4D, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x49, 0x49, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x49, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x4D, 0x45, 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, 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, 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, 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, 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, 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, 0x49, 0x49, 0x49, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x49, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x49, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x49, 0x49, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x00, 0x49, 0x00, 0x49, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x49, 0x49, 0x49, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x49, 0x00, 0x00, 0x49, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x49, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x49, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x49, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x49, 0x49, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x49, 0x49, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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 _bmScaleR80 = {
|
||||
122, /* XSize */
|
||||
55, /* YSize */
|
||||
122, /* BytesPerLine */
|
||||
8, /* BitsPerPixel */
|
||||
_acScaleR80, /* Pointer to picture data (indices) */
|
||||
&_PalScaleR80 /* Pointer to palette */
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* static data, shape of polygons
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
#if GUIDEMO_LARGE
|
||||
static const GUI_POINT _aNeedle_0[] = {
|
||||
{ MAG * ( 0), MAG * ( 0 + 125)},
|
||||
{ MAG * (-3), MAG * (-15 + 125)},
|
||||
{ MAG * (-3), MAG * (-65 + 125)},
|
||||
{ MAG * ( 3), MAG * (-65 + 125)},
|
||||
{ MAG * ( 3), MAG * (-15 + 125)},
|
||||
};
|
||||
#endif
|
||||
|
||||
static const GUI_POINT _aNeedle_1[] = {
|
||||
{ MAG * ( 0), MAG * ( 0 + 125)},
|
||||
{ MAG * (-6), MAG * (-15 + 125)},
|
||||
{ MAG * ( 0), MAG * (-65 + 125)},
|
||||
{ MAG * ( 6), MAG * (-15 + 125)},
|
||||
};
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Structure containing information for drawing routine
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
typedef struct {
|
||||
GUI_AUTODEV_INFO AutoDevInfo; /* Information about what has to be displayed */
|
||||
GUI_POINT aPoints[7]; /* Polygon data */
|
||||
float Angle;
|
||||
} PARAM;
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* static code, get angle
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
#if GUIDEMO_LARGE
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* _GetAngle_0
|
||||
*/
|
||||
static float _GetAngle_0(int tDiff) {
|
||||
if (tDiff < 6000)
|
||||
return 225;
|
||||
tDiff -= 6000;
|
||||
if (tDiff < 15000) {
|
||||
return 225 - 0.006 * tDiff ;
|
||||
}
|
||||
tDiff -= 15000;
|
||||
if (tDiff < 7500) {
|
||||
return 225 - 90 + 0.012 * tDiff ;
|
||||
}
|
||||
return 225;
|
||||
}
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* _GetAngle_1
|
||||
*/
|
||||
static float _GetAngle_1(int tDiff) {
|
||||
if (tDiff < 12000) {
|
||||
return 225 - 0.0075 * tDiff ;
|
||||
}
|
||||
tDiff -= 18000;
|
||||
if (tDiff > 0) {
|
||||
return 225 - 90 + 0.0075 * tDiff;
|
||||
}
|
||||
return 225 - 90;
|
||||
}
|
||||
|
||||
#else /* GUIDEMO_LARGE */
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* _GetAngle
|
||||
*/
|
||||
static float _GetAngle(int tDiff) {
|
||||
if (tDiff < 10000) {
|
||||
return 225 - 0.009 * tDiff ;
|
||||
}
|
||||
tDiff -= 10000;
|
||||
if (tDiff > 0) {
|
||||
return 225 - 90 + 0.015 * tDiff;
|
||||
}
|
||||
return 225 - 90;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* static code, drawing routines
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
#if GUIDEMO_LARGE
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* _Draw_0
|
||||
*/
|
||||
static void _Draw_0(void * p) {
|
||||
PARAM* pParam = (PARAM *)p;
|
||||
/* Fixed background */
|
||||
if (pParam->AutoDevInfo.DrawFixed) {
|
||||
GUI_ClearRect (1,
|
||||
(LCD_YSIZE / 2 - 80) + _bmScaleR140.YSize,
|
||||
1 + _bmScaleR140.XSize - 1,
|
||||
(LCD_YSIZE / 2 + 20));
|
||||
GUI_DrawBitmap(&_bmScaleR140, 1, (LCD_YSIZE / 2 - 80));
|
||||
}
|
||||
/* Moving needle */
|
||||
GUI_SetColor(GUI_WHITE);
|
||||
GUI_AA_FillPolygon(pParam->aPoints,
|
||||
countof(_aNeedle_0),
|
||||
MAG * 101,
|
||||
MAG * (LCD_YSIZE / 2 + 60));
|
||||
/* Fixed foreground */
|
||||
if (pParam->AutoDevInfo.DrawFixed) {
|
||||
GUI_SetTextMode(GUI_TM_TRANS);
|
||||
GUI_SetColor(GUI_RED);
|
||||
GUI_SetFont(&GUI_Font24B_ASCII);
|
||||
GUI_DispStringHCenterAt("RPM / 1000", 101, (LCD_YSIZE / 2 - 20));
|
||||
}
|
||||
}
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* _Draw_1
|
||||
*/
|
||||
static void _Draw_1(void * p) {
|
||||
PARAM* pParam = (PARAM *)p;
|
||||
/* Fixed background */
|
||||
if (pParam->AutoDevInfo.DrawFixed) {
|
||||
GUI_ClearRect (1,
|
||||
(LCD_YSIZE / 2 + 21) + _bmScaleR140.YSize,
|
||||
1 + _bmScaleR140.XSize - 1,
|
||||
(LCD_YSIZE / 2 + 121));
|
||||
GUI_DrawBitmap(&_bmScaleR140, 1, (LCD_YSIZE / 2 + 21));
|
||||
}
|
||||
/* Moving needle */
|
||||
GUI_SetColor(GUI_WHITE);
|
||||
GUI_AA_FillPolygon(pParam->aPoints,
|
||||
countof(_aNeedle_1),
|
||||
MAG * 101,
|
||||
MAG * (LCD_YSIZE / 2 + 161));
|
||||
/* Fixed foreground */
|
||||
if (pParam->AutoDevInfo.DrawFixed) {
|
||||
GUI_SetTextMode(GUI_TM_TRANS);
|
||||
GUI_SetColor(GUI_RED);
|
||||
GUI_SetFont(&GUI_Font24B_ASCII);
|
||||
GUI_DispStringHCenterAt("MPH / 10", 101, (LCD_YSIZE / 2 + 81));
|
||||
}
|
||||
}
|
||||
|
||||
#else /* GUIDEMO_LARGE */
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* _MagnifyPolygon
|
||||
*/
|
||||
#if (GUIDEMO_TINY || (LCD_XSIZE < 200))
|
||||
static void _MagnifyPolygon(GUI_POINT* pPolygon, int NumPoints, float Mag) {
|
||||
int j;
|
||||
for (j = 0; j < NumPoints; j++) {
|
||||
(pPolygon + j)->x = (pPolygon + j)->x * Mag;
|
||||
(pPolygon + j)->y = (pPolygon + j)->y * Mag;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* _Draw
|
||||
*/
|
||||
static void _Draw(void* p) {
|
||||
GUI_CONST_STORAGE GUI_BITMAP* pBitmap;
|
||||
PARAM* pParam = (PARAM *)p;
|
||||
int xMid = LCD_XSIZE >> 1;
|
||||
int yMid = (LCD_YSIZE >> 1) + 3;
|
||||
int bmSizeX, bmSizeY;
|
||||
#if (GUIDEMO_TINY || (LCD_XSIZE < 200))
|
||||
pBitmap = &_bmScaleR80;
|
||||
#else
|
||||
pBitmap = &_bmScaleR140;
|
||||
#endif
|
||||
bmSizeX = pBitmap->XSize;
|
||||
bmSizeY = pBitmap->YSize;
|
||||
/* Fixed background */
|
||||
if (pParam->AutoDevInfo.DrawFixed) {
|
||||
#if (GUIDEMO_TINY || (LCD_XSIZE < 200))
|
||||
GUI_Clear();
|
||||
GUI_DrawBitmap(pBitmap, xMid - (bmSizeX >> 1), (yMid - 35));
|
||||
#else
|
||||
GUI_ClearRect (xMid - (bmSizeX >> 1), (yMid - 50) + bmSizeY,
|
||||
xMid + (bmSizeX >> 1) - 1, (yMid + 50));
|
||||
GUI_DrawBitmap(pBitmap, xMid - (bmSizeX >> 1), (yMid - 50));
|
||||
#endif
|
||||
}
|
||||
/* Moving needle */
|
||||
GUI_SetColor(GUI_WHITE);
|
||||
#if (GUIDEMO_TINY || (LCD_XSIZE < 200))
|
||||
GUI_AA_FillPolygon(pParam->aPoints, countof(_aNeedle_1), MAG * xMid, MAG * (yMid + 49));
|
||||
#else
|
||||
GUI_AA_FillPolygon(pParam->aPoints, countof(_aNeedle_1), MAG * xMid, MAG * (yMid + 90));
|
||||
#endif
|
||||
/* Fixed foreground */
|
||||
if (pParam->AutoDevInfo.DrawFixed) {
|
||||
GUI_SetTextMode(GUI_TM_TRANS);
|
||||
GUI_SetColor(GUI_RED);
|
||||
#if (GUIDEMO_TINY || (LCD_XSIZE < 200))
|
||||
GUI_SetFont(&GUI_Font13B_ASCII);
|
||||
#else
|
||||
GUI_SetFont(&GUI_Font24B_ASCII);
|
||||
#endif
|
||||
GUI_DispStringHCenterAt("MPH / 10", xMid, yMid + 10);
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* static code, demo
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
#if GUIDEMO_LARGE
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* _AutomotiveDemo
|
||||
*/
|
||||
static void _AutomotiveDemo(void) {
|
||||
int Cnt, i;
|
||||
int tDiff;
|
||||
int tDiff1 = 0;
|
||||
int tDiff2 = 0;
|
||||
int t0, t1;
|
||||
float Angle_0_Old, Angle_1_Old;
|
||||
PARAM Param[2]; /* Parameters for drawing routine */
|
||||
GUI_AUTODEV AutoDev[2]; /* Object for banding memory device */
|
||||
/* Create GUI_AUTODEV-objects */
|
||||
for (i = 0; i < 2; i++) {
|
||||
GUI_MEMDEV_CreateAuto(&AutoDev[i]);
|
||||
}
|
||||
t0 = GUI_GetTime(); /* Get current time */
|
||||
Angle_0_Old = Angle_1_Old = -1;
|
||||
/* Show needle for a fixed time */
|
||||
for (Cnt = 0; ((tDiff = GUI_GetTime() - t0) < 30000) && !GUIDEMO_CheckCancel(); Cnt++) {
|
||||
/* Get values to display and calculate polygon for needle 1 */
|
||||
Param[0].Angle = _GetAngle_0(tDiff)* DEG2RAD;
|
||||
if (Angle_0_Old != Param[0].Angle) {
|
||||
Angle_0_Old = Param[0].Angle;
|
||||
t1 = GUI_GetTime();
|
||||
GUI_RotatePolygon(Param[0].aPoints, _aNeedle_0, countof(_aNeedle_0), Param[0].Angle);
|
||||
GUI_MEMDEV_DrawAuto(&AutoDev[0], &Param[0].AutoDevInfo, _Draw_0, &Param[0]);
|
||||
tDiff1 = GUI_GetTime() - t1;
|
||||
if (tDiff1 < 50) {
|
||||
GUI_Delay(50 - tDiff1);
|
||||
}
|
||||
}
|
||||
/* Get values to display and calculate polygon for needle 2 */
|
||||
Param[1].Angle = _GetAngle_1(tDiff)* DEG2RAD;
|
||||
if (Angle_1_Old != Param[1].Angle) {
|
||||
Angle_1_Old = Param[1].Angle;
|
||||
t1 = GUI_GetTime();
|
||||
GUI_RotatePolygon(Param[1].aPoints, _aNeedle_1, countof(_aNeedle_1), Param[1].Angle);
|
||||
GUI_MEMDEV_DrawAuto(&AutoDev[1], &Param[1].AutoDevInfo, _Draw_1, &Param[1]);
|
||||
tDiff2 = GUI_GetTime() - t1;
|
||||
}
|
||||
/* Display used time */
|
||||
if (!(Cnt % 20)) {
|
||||
GUI_SetColor(GUI_WHITE);
|
||||
GUI_SetTextMode(GUI_TM_NORMAL);
|
||||
GUI_SetFont(&GUI_Font8_1);
|
||||
GUI_DispStringAt("msec/picture:\n", 10, 10);
|
||||
GUI_SetFont(&GUI_Font6x8);
|
||||
GUI_GotoX(10);
|
||||
GUI_DispDec(tDiff1, 3);
|
||||
GUI_DispNextLine();
|
||||
GUI_GotoX(10);
|
||||
GUI_DispDec(tDiff2, 3);
|
||||
}
|
||||
}
|
||||
GUIDEMO_Delay(1000);
|
||||
/* Delete GUI_AUTODEV-objects */
|
||||
for (i = 0; i < 2; i++) {
|
||||
GUI_MEMDEV_DeleteAuto(&AutoDev[i]);
|
||||
}
|
||||
}
|
||||
|
||||
#else /* GUIDEMO_LARGE */
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* _AutomotiveDemo
|
||||
*/
|
||||
static void _AutomotiveDemo(void) {
|
||||
int Cnt;
|
||||
int tDiff, t0;
|
||||
float Angle_Old;
|
||||
PARAM Param; /* Parameters for drawing routine */
|
||||
GUI_AUTODEV AutoDev; /* Object for banding memory device */
|
||||
/* Create GUI_AUTODEV-objects */
|
||||
GUI_MEMDEV_CreateAuto(&AutoDev);
|
||||
t0 = GUI_GetTime(); /* Get current time */
|
||||
Angle_Old = -1;
|
||||
/* Show needle for a fixed time */
|
||||
for (Cnt = 0; ((tDiff = GUI_GetTime() - t0) < 16000) && !GUIDEMO_CheckCancel(); Cnt++) {
|
||||
/* Get values to display and calculate polygon for needle 2 */
|
||||
Param.Angle = _GetAngle(tDiff) * DEG2RAD;
|
||||
if (Angle_Old != Param.Angle) {
|
||||
Angle_Old = Param.Angle;
|
||||
GUI_RotatePolygon(Param.aPoints, _aNeedle_1, countof(_aNeedle_1), Param.Angle);
|
||||
#if (GUIDEMO_TINY || (LCD_XSIZE < 200))
|
||||
_MagnifyPolygon(Param.aPoints, countof(_aNeedle_1), 0.575f);
|
||||
#endif
|
||||
GUI_MEMDEV_DrawAuto(&AutoDev, &Param.AutoDevInfo, _Draw, &Param);
|
||||
}
|
||||
}
|
||||
GUIDEMO_Delay(1000);
|
||||
/* Delete GUI_AUTODEV-objects */
|
||||
GUI_MEMDEV_DeleteAuto(&AutoDev);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* public code
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
/*********************************************************************
|
||||
*
|
||||
* GUIDEMO_Automotive
|
||||
*/
|
||||
void GUIDEMO_Automotive(void) {
|
||||
/* Show intro message */
|
||||
GUIDEMO_ShowIntro("Automotive samples",
|
||||
"\nExamples for the"
|
||||
"\nautomotive industrie");
|
||||
GUIDEMO_NotifyStartNext();
|
||||
GUI_SetBkColor(GUI_BLACK);
|
||||
GUI_Clear();
|
||||
/* Enable high resolution for antialiasing */
|
||||
GUI_AA_EnableHiRes();
|
||||
GUI_AA_SetFactor(MAG);
|
||||
_AutomotiveDemo();
|
||||
}
|
||||
|
||||
#else /* GUI_SUPPORT_MEMDEV | GUI_SUPPORT_AA */
|
||||
|
||||
void GUIDEMO_Automotive(void) {}
|
||||
|
||||
#endif /* GUI_SUPPORT_MEMDEV | GUI_SUPPORT_AA */
|
||||
+1125
File diff suppressed because it is too large
Load Diff
+152
@@ -0,0 +1,152 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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_Bitmap4bpp.c
|
||||
Purpose : Contains a 4bpp bitmap
|
||||
----------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
#include "GUI.h"
|
||||
#include "GUIDEMO.h"
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Static data
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
static const GUI_COLOR _ColorsJoerg[] = {
|
||||
0x000000, 0x111111, 0x222222, 0x333333
|
||||
,0x444444, 0x555555, 0x666666, 0x777777
|
||||
,0x888888, 0x999999, 0xAAAAAA, 0xBBBBBB
|
||||
,0xCCCCCC, 0xDDDDDD, 0xEEEEEE, 0xFFFFFF
|
||||
};
|
||||
|
||||
static const GUI_LOGPALETTE _PalJoerg = {
|
||||
16, /* number of entries */
|
||||
0, /* No transparency */
|
||||
&_ColorsJoerg[0]
|
||||
};
|
||||
|
||||
static const unsigned char _acJoerg[] = {
|
||||
0x88, 0x88, 0x88, 0x88, 0x89, 0x88, 0x99, 0x99, 0x89, 0x99, 0x88, 0x99, 0x98, 0x88, 0x98, 0x88, 0x89, 0x88, 0x89, 0x99, 0x88, 0x89, 0x88, 0x98, 0x98, 0x89, 0x88, 0x89, 0x98, 0x88, 0x80,
|
||||
0x88, 0x88, 0x88, 0x89, 0x88, 0x88, 0x88, 0x89, 0x89, 0x99, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x89, 0x89, 0x88, 0x98, 0x88, 0x89, 0x98, 0x89, 0x88, 0x88, 0x88, 0x88, 0x80,
|
||||
0x88, 0x88, 0x88, 0x88, 0x89, 0x88, 0x88, 0x88, 0x89, 0x88, 0x88, 0x88, 0x77, 0x75, 0x68, 0x56, 0x55, 0x55, 0x68, 0x88, 0x88, 0x99, 0x98, 0x99, 0x98, 0x88, 0x88, 0x88, 0x88, 0x88, 0x80,
|
||||
0x88, 0x88, 0x88, 0x88, 0x89, 0x88, 0x88, 0x88, 0x88, 0x85, 0x44, 0x55, 0x53, 0x54, 0x35, 0x33, 0x44, 0x44, 0x46, 0x67, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x80,
|
||||
0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x78, 0x75, 0x43, 0x33, 0x33, 0x33, 0x34, 0x33, 0x33, 0x33, 0x44, 0x55, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x80,
|
||||
0x98, 0x99, 0x88, 0x88, 0x88, 0x88, 0x87, 0x86, 0x63, 0x33, 0x33, 0x33, 0x33, 0x23, 0x22, 0x22, 0x23, 0x33, 0x33, 0x34, 0x56, 0x44, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x80,
|
||||
0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x85, 0x47, 0x54, 0x33, 0x33, 0x32, 0x22, 0x23, 0x22, 0x22, 0x22, 0x22, 0x22, 0x33, 0x33, 0x33, 0x43, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x80,
|
||||
0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x44, 0x43, 0x44, 0x33, 0x33, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x33, 0x23, 0x23, 0x33, 0x45, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x80,
|
||||
0x88, 0x88, 0x88, 0x88, 0x87, 0x65, 0x43, 0x33, 0x33, 0x33, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x23, 0x34, 0x46, 0x76, 0x88, 0x88, 0x88, 0x88, 0x80,
|
||||
0x98, 0x88, 0x88, 0x88, 0x76, 0x54, 0x33, 0x33, 0x23, 0x32, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x12, 0x22, 0x22, 0x22, 0x22, 0x33, 0x33, 0x44, 0x48, 0x88, 0x88, 0x88, 0x88, 0x80,
|
||||
0x9A, 0x99, 0x99, 0x99, 0x75, 0x43, 0x33, 0x33, 0x22, 0x22, 0x22, 0x22, 0x22, 0x12, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x23, 0x33, 0x33, 0x34, 0x76, 0x78, 0x88, 0x88, 0x88, 0x80,
|
||||
0x99, 0x99, 0x99, 0x97, 0x43, 0x33, 0x32, 0x32, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x22, 0x12, 0x22, 0x12, 0x22, 0x22, 0x32, 0x22, 0x22, 0x34, 0x34, 0x88, 0x99, 0x99, 0x99, 0x90,
|
||||
0x99, 0x99, 0x99, 0x75, 0x43, 0x32, 0x22, 0x22, 0x22, 0x23, 0x23, 0x22, 0x22, 0x22, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x23, 0x34, 0x68, 0x89, 0x89, 0x89, 0x80,
|
||||
0xAA, 0xAA, 0xA9, 0x86, 0x53, 0x22, 0x21, 0x22, 0x22, 0x23, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x24, 0x58, 0x99, 0x99, 0x99, 0x90,
|
||||
0xAA, 0xAA, 0xAA, 0x85, 0x32, 0x22, 0x21, 0x12, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x24, 0x46, 0x79, 0x99, 0x99, 0x90,
|
||||
0xAA, 0xAA, 0xA6, 0x33, 0x22, 0x22, 0x21, 0x22, 0x23, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x11, 0x22, 0x22, 0x22, 0x22, 0x22, 0x35, 0x68, 0x99, 0x99, 0x90,
|
||||
0xBB, 0xBA, 0xA4, 0x32, 0x22, 0x21, 0x21, 0x22, 0x23, 0x22, 0x22, 0x22, 0x22, 0x33, 0x33, 0x32, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x34, 0x66, 0x99, 0x99, 0x90,
|
||||
0xBB, 0xBA, 0x83, 0x22, 0x21, 0x12, 0x22, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x23, 0x33, 0x22, 0x33, 0x32, 0x22, 0x21, 0x12, 0x22, 0x33, 0x89, 0x99, 0x90,
|
||||
0xBB, 0xBA, 0x63, 0x22, 0x21, 0x11, 0x23, 0x34, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x34, 0x45, 0x43, 0x33, 0x33, 0x32, 0x32, 0x21, 0x12, 0x22, 0x23, 0x69, 0x99, 0x90,
|
||||
0xBB, 0xBA, 0x32, 0x22, 0x21, 0x22, 0x34, 0x44, 0x45, 0x55, 0x55, 0x55, 0x55, 0x55, 0x44, 0x44, 0x45, 0x44, 0x54, 0x43, 0x33, 0x33, 0x33, 0x43, 0x21, 0x12, 0x22, 0x33, 0x58, 0x99, 0x90,
|
||||
0xBB, 0xB6, 0x33, 0x22, 0x22, 0x23, 0x44, 0x55, 0x55, 0x56, 0x66, 0x66, 0x76, 0x66, 0x66, 0x55, 0x66, 0x55, 0x55, 0x44, 0x44, 0x44, 0x44, 0x44, 0x32, 0x22, 0x22, 0x23, 0x36, 0x99, 0x90,
|
||||
0xBB, 0x92, 0x33, 0x22, 0x22, 0x34, 0x55, 0x55, 0x56, 0x66, 0x66, 0x66, 0x66, 0x77, 0x77, 0x66, 0x67, 0x76, 0x66, 0x66, 0x66, 0x65, 0x55, 0x55, 0x43, 0x22, 0x22, 0x22, 0x34, 0x99, 0x90,
|
||||
0xBB, 0x43, 0x32, 0x22, 0x23, 0x44, 0x55, 0x55, 0x56, 0x66, 0x66, 0x76, 0x66, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x76, 0x66, 0x66, 0x65, 0x54, 0x21, 0x12, 0x22, 0x33, 0x69, 0x90,
|
||||
0xBC, 0x33, 0x32, 0x22, 0x24, 0x45, 0x55, 0x66, 0x66, 0x66, 0x67, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x76, 0x65, 0x55, 0x42, 0x12, 0x22, 0x34, 0x79, 0x90,
|
||||
0xBB, 0x33, 0x22, 0x22, 0x34, 0x45, 0x55, 0x66, 0x66, 0x66, 0x67, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x76, 0x66, 0x55, 0x43, 0x11, 0x22, 0x33, 0x69, 0x90,
|
||||
0xBB, 0x23, 0x23, 0x22, 0x34, 0x55, 0x55, 0x66, 0x66, 0x67, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x76, 0x55, 0x43, 0x22, 0x22, 0x33, 0x49, 0x90,
|
||||
0xBB, 0x23, 0x33, 0x33, 0x34, 0x55, 0x55, 0x66, 0x67, 0x67, 0x77, 0x77, 0x77, 0x77, 0x77, 0x87, 0x77, 0x87, 0x77, 0x77, 0x77, 0x77, 0x77, 0x76, 0x65, 0x54, 0x32, 0x22, 0x33, 0x47, 0x90,
|
||||
0xBA, 0x33, 0x33, 0x33, 0x44, 0x55, 0x55, 0x66, 0x67, 0x67, 0x77, 0x77, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x77, 0x77, 0x76, 0x65, 0x55, 0x32, 0x22, 0x33, 0x38, 0x90,
|
||||
0xB8, 0x33, 0x23, 0x33, 0x44, 0x55, 0x55, 0x66, 0x66, 0x77, 0x77, 0x77, 0x78, 0x88, 0x89, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x77, 0x76, 0x66, 0x55, 0x32, 0x23, 0x24, 0x38, 0x90,
|
||||
0xB9, 0x33, 0x33, 0x33, 0x45, 0x55, 0x55, 0x56, 0x66, 0x67, 0x77, 0x78, 0x88, 0x88, 0x89, 0x98, 0x99, 0x99, 0x98, 0x88, 0x87, 0x77, 0x77, 0x76, 0x66, 0x65, 0x43, 0x23, 0x33, 0x49, 0x90,
|
||||
0xB9, 0x32, 0x33, 0x34, 0x44, 0x55, 0x55, 0x56, 0x66, 0x67, 0x77, 0x88, 0x88, 0x88, 0x89, 0x88, 0x99, 0x89, 0x98, 0x88, 0x88, 0x77, 0x77, 0x76, 0x66, 0x65, 0x43, 0x33, 0x33, 0x49, 0x90,
|
||||
0xB9, 0x22, 0x33, 0x34, 0x44, 0x55, 0x55, 0x56, 0x66, 0x67, 0x77, 0x88, 0x88, 0x88, 0x99, 0x89, 0x98, 0x98, 0x88, 0x88, 0x88, 0x77, 0x76, 0x76, 0x66, 0x55, 0x43, 0x33, 0x34, 0x79, 0x90,
|
||||
0xB8, 0x32, 0x33, 0x34, 0x44, 0x55, 0x55, 0x56, 0x66, 0x67, 0x77, 0x87, 0x88, 0x88, 0x89, 0x89, 0x99, 0x98, 0x88, 0x88, 0x88, 0x77, 0x76, 0x66, 0x65, 0x55, 0x44, 0x33, 0x33, 0x89, 0x90,
|
||||
0xB5, 0x32, 0x33, 0x34, 0x44, 0x55, 0x55, 0x56, 0x66, 0x67, 0x77, 0x77, 0x88, 0x88, 0x89, 0x89, 0x99, 0x88, 0x88, 0x88, 0x78, 0x77, 0x76, 0x66, 0x66, 0x65, 0x43, 0x33, 0x33, 0x99, 0x90,
|
||||
0xB5, 0x32, 0x23, 0x34, 0x45, 0x55, 0x56, 0x66, 0x66, 0x77, 0x77, 0x77, 0x88, 0x88, 0x88, 0x88, 0x98, 0x89, 0x88, 0x88, 0x87, 0x77, 0x77, 0x66, 0x66, 0x55, 0x43, 0x33, 0x25, 0x99, 0x90,
|
||||
0xBA, 0x32, 0x23, 0x33, 0x45, 0x55, 0x66, 0x56, 0x66, 0x77, 0x77, 0x77, 0x78, 0x88, 0x89, 0x89, 0x88, 0x89, 0x88, 0x88, 0x88, 0x77, 0x77, 0x76, 0x66, 0x55, 0x43, 0x33, 0x28, 0x99, 0x90,
|
||||
0xB9, 0x23, 0x33, 0x34, 0x45, 0x55, 0x66, 0x66, 0x66, 0x77, 0x77, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x77, 0x77, 0x66, 0x65, 0x43, 0x23, 0x29, 0x99, 0x90,
|
||||
0xB9, 0x23, 0x33, 0x33, 0x55, 0x56, 0x66, 0x66, 0x66, 0x77, 0x77, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x89, 0x88, 0x88, 0x78, 0x77, 0x77, 0x77, 0x76, 0x65, 0x43, 0x23, 0x39, 0x99, 0x90,
|
||||
0xBB, 0x33, 0x33, 0x34, 0x55, 0x66, 0x66, 0x66, 0x77, 0x77, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x77, 0x76, 0x66, 0x53, 0x23, 0x1A, 0x99, 0x90,
|
||||
0xAA, 0x33, 0x33, 0x33, 0x55, 0x56, 0x66, 0x66, 0x66, 0x77, 0x77, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x89, 0x88, 0x88, 0x88, 0x78, 0x77, 0x77, 0x76, 0x66, 0x53, 0x23, 0x1A, 0xA9, 0x90,
|
||||
0xAA, 0x23, 0x33, 0x34, 0x56, 0x66, 0x66, 0x66, 0x66, 0x66, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x77, 0x76, 0x66, 0x53, 0x23, 0x1A, 0x99, 0x90,
|
||||
0xAA, 0x73, 0x33, 0x45, 0x66, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x66, 0x66, 0x77, 0x76, 0x66, 0x53, 0x33, 0x3A, 0x9A, 0xA0,
|
||||
0xAB, 0x84, 0x33, 0x35, 0x66, 0x56, 0x55, 0x44, 0x45, 0x43, 0x33, 0x34, 0x56, 0x67, 0x87, 0x77, 0x77, 0x88, 0x65, 0x65, 0x45, 0x55, 0x65, 0x66, 0x66, 0x66, 0x64, 0x33, 0x5A, 0x9A, 0xA0,
|
||||
0xAA, 0x33, 0x33, 0x36, 0x66, 0x65, 0x44, 0x45, 0x56, 0x55, 0x44, 0x44, 0x55, 0x66, 0x77, 0x67, 0x77, 0x77, 0x54, 0x44, 0x44, 0x44, 0x45, 0x55, 0x66, 0x66, 0x63, 0x33, 0x8A, 0x9A, 0xA0,
|
||||
0xA6, 0x63, 0x33, 0x46, 0x66, 0x65, 0x55, 0x56, 0x67, 0x77, 0x76, 0x55, 0x55, 0x66, 0x78, 0x77, 0x87, 0x76, 0x55, 0x55, 0x67, 0x77, 0x76, 0x55, 0x55, 0x66, 0x63, 0x43, 0x99, 0x9A, 0xA0,
|
||||
0xA5, 0x35, 0x33, 0x46, 0x66, 0x55, 0x55, 0x65, 0x65, 0x52, 0x34, 0x45, 0x54, 0x56, 0x78, 0x88, 0x88, 0x76, 0x66, 0x77, 0x88, 0x87, 0x77, 0x65, 0x65, 0x56, 0x63, 0x33, 0x34, 0xAA, 0xA0,
|
||||
0xB4, 0x45, 0x44, 0x46, 0x66, 0x65, 0x55, 0x43, 0x12, 0x2A, 0x12, 0x54, 0x44, 0x45, 0x68, 0x88, 0x88, 0x76, 0x66, 0x44, 0x12, 0x46, 0x77, 0x66, 0x66, 0x66, 0x63, 0x33, 0x77, 0x9A, 0xA0,
|
||||
0xB4, 0x45, 0x54, 0x46, 0x66, 0x66, 0x65, 0x32, 0x83, 0x22, 0x35, 0x75, 0x55, 0x45, 0x68, 0x88, 0x87, 0x65, 0x54, 0x51, 0x2A, 0x24, 0x24, 0x66, 0x67, 0x76, 0x63, 0x37, 0x75, 0x8A, 0xA0,
|
||||
0xB6, 0x45, 0x44, 0x56, 0x66, 0x66, 0x54, 0x55, 0x66, 0x34, 0x58, 0x56, 0x67, 0x44, 0x67, 0x88, 0x86, 0x68, 0x56, 0x83, 0x32, 0x39, 0x74, 0x46, 0x67, 0x77, 0x64, 0x57, 0x66, 0x9A, 0xA0,
|
||||
0xA7, 0x56, 0x54, 0x56, 0x66, 0x66, 0x56, 0x66, 0x66, 0x66, 0x77, 0x66, 0x66, 0x55, 0x67, 0x88, 0x87, 0x77, 0x65, 0x67, 0x44, 0x77, 0x66, 0x55, 0x67, 0x77, 0x64, 0x68, 0x76, 0x9A, 0xA0,
|
||||
0xA8, 0x56, 0x54, 0x56, 0x66, 0x66, 0x65, 0x56, 0x66, 0x77, 0x87, 0x66, 0x65, 0x55, 0x67, 0x78, 0x87, 0x67, 0x66, 0x67, 0x76, 0x77, 0x76, 0x66, 0x67, 0x76, 0x64, 0x78, 0x65, 0x9A, 0xA0,
|
||||
0xAB, 0x66, 0x43, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x76, 0x55, 0x56, 0x67, 0x87, 0x77, 0x76, 0x77, 0x77, 0x78, 0x88, 0x77, 0x77, 0x76, 0x76, 0x64, 0x88, 0x67, 0xAA, 0xA0,
|
||||
0xAB, 0x56, 0x44, 0x56, 0x66, 0x66, 0x76, 0x66, 0x77, 0x77, 0x77, 0x66, 0x65, 0x56, 0x67, 0x77, 0x87, 0x76, 0x77, 0x87, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x65, 0x68, 0x78, 0xAA, 0xA0,
|
||||
0xAA, 0x46, 0x46, 0x56, 0x66, 0x66, 0x77, 0x77, 0x77, 0x77, 0x76, 0x77, 0x65, 0x66, 0x67, 0x88, 0x87, 0x76, 0x77, 0x88, 0x88, 0x77, 0x88, 0x77, 0x77, 0x76, 0x66, 0x68, 0x7A, 0xAA, 0xA0,
|
||||
0xBA, 0x46, 0x55, 0x56, 0x66, 0x66, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x66, 0x65, 0x67, 0x78, 0x87, 0x66, 0x77, 0x77, 0x88, 0x88, 0x88, 0x88, 0x77, 0x76, 0x67, 0x78, 0x7A, 0xAA, 0xA0,
|
||||
0xAA, 0x46, 0x63, 0x67, 0x66, 0x66, 0x67, 0x77, 0x77, 0x77, 0x77, 0x77, 0x66, 0x66, 0x67, 0x78, 0x87, 0x67, 0x77, 0x77, 0x77, 0x77, 0x77, 0x88, 0x77, 0x76, 0x76, 0x78, 0x9A, 0xAA, 0xA0,
|
||||
0xAA, 0x55, 0x65, 0x37, 0x66, 0x66, 0x67, 0x67, 0x77, 0x77, 0x77, 0x77, 0x66, 0x56, 0x66, 0x78, 0x77, 0x66, 0x77, 0x88, 0x77, 0x77, 0x78, 0x88, 0x77, 0x76, 0x86, 0x78, 0xAA, 0xAA, 0xA0,
|
||||
0xAA, 0x95, 0x76, 0x56, 0x66, 0x66, 0x66, 0x77, 0x77, 0x87, 0x77, 0x87, 0x75, 0x56, 0x67, 0x78, 0x77, 0x76, 0x88, 0x88, 0x88, 0x77, 0x78, 0x87, 0x77, 0x77, 0x67, 0x77, 0xAA, 0xAA, 0xA0,
|
||||
0xAA, 0xA5, 0x66, 0x57, 0x66, 0x66, 0x67, 0x77, 0x77, 0x87, 0x88, 0x87, 0x55, 0x56, 0x67, 0x77, 0x87, 0x66, 0x78, 0x88, 0x88, 0x88, 0x87, 0x87, 0x78, 0x76, 0x79, 0x77, 0xAA, 0xAA, 0xA0,
|
||||
0xAA, 0xA7, 0x66, 0x57, 0x66, 0x66, 0x67, 0x77, 0x77, 0x88, 0x88, 0x76, 0x56, 0x66, 0x67, 0x78, 0x87, 0x66, 0x68, 0x89, 0x88, 0x88, 0x88, 0x87, 0x77, 0x76, 0x99, 0x77, 0xAA, 0xAA, 0xA0,
|
||||
0xAA, 0xAA, 0x66, 0x56, 0x66, 0x66, 0x77, 0x77, 0x78, 0x88, 0x77, 0x65, 0x57, 0x66, 0x67, 0x8A, 0x97, 0x77, 0x77, 0x79, 0x98, 0x98, 0x88, 0x88, 0x87, 0x76, 0x88, 0x6A, 0xAA, 0xAA, 0xA0,
|
||||
0xAA, 0xAA, 0x66, 0x57, 0x66, 0x66, 0x77, 0x77, 0x78, 0x88, 0x76, 0x65, 0x57, 0x76, 0x68, 0x89, 0x88, 0x77, 0x77, 0x77, 0x89, 0x98, 0x88, 0x88, 0x87, 0x76, 0x87, 0x6A, 0xAA, 0xAA, 0xA0,
|
||||
0xAA, 0xAA, 0xA6, 0x57, 0x66, 0x66, 0x77, 0x77, 0x77, 0x77, 0x77, 0x65, 0x44, 0x46, 0x68, 0x88, 0x88, 0x77, 0x77, 0x77, 0x88, 0x98, 0x88, 0x88, 0x87, 0x76, 0x88, 0x7A, 0xAA, 0xAA, 0xA0,
|
||||
0xA9, 0xAA, 0xAA, 0xA8, 0x66, 0x66, 0x77, 0x77, 0x77, 0x77, 0x76, 0x76, 0x55, 0x44, 0x47, 0x77, 0x86, 0x55, 0x77, 0x77, 0x78, 0x88, 0x88, 0x88, 0x77, 0x76, 0x76, 0xAA, 0xAA, 0xAA, 0xA0,
|
||||
0xAA, 0xAA, 0xAA, 0xA9, 0x66, 0x66, 0x67, 0x77, 0x77, 0x77, 0x76, 0x66, 0x66, 0x54, 0x45, 0x66, 0x66, 0x66, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x77, 0x66, 0x8B, 0xAA, 0xAA, 0xAA, 0xA0,
|
||||
0x9A, 0xAA, 0xA9, 0x9A, 0x77, 0x66, 0x77, 0x77, 0x77, 0x77, 0x76, 0x66, 0x66, 0x66, 0x65, 0x45, 0x56, 0x67, 0x77, 0x77, 0x87, 0x88, 0x88, 0x88, 0x77, 0x75, 0xBA, 0xAA, 0xAA, 0xAA, 0xA0,
|
||||
0xAA, 0xAA, 0xAA, 0xAA, 0x67, 0x66, 0x77, 0x77, 0x77, 0x77, 0x66, 0x66, 0x67, 0x67, 0x87, 0x77, 0x77, 0x77, 0x77, 0x77, 0x87, 0x78, 0x88, 0x88, 0x77, 0x64, 0xBA, 0xAA, 0xAA, 0xAA, 0xA0,
|
||||
0xA9, 0xAA, 0xAA, 0xAA, 0x67, 0x66, 0x67, 0x77, 0x77, 0x77, 0x56, 0x55, 0x55, 0x66, 0x77, 0x77, 0x78, 0x87, 0x67, 0x77, 0x88, 0x77, 0x88, 0x88, 0x77, 0x75, 0xAA, 0xAA, 0xAA, 0xAA, 0xA0,
|
||||
0xAA, 0xAA, 0xAA, 0xA9, 0x57, 0x66, 0x67, 0x78, 0x87, 0x76, 0x33, 0x34, 0x33, 0x45, 0x57, 0x77, 0x77, 0x77, 0x77, 0x77, 0x88, 0x88, 0x88, 0x87, 0x77, 0x79, 0xAA, 0xAA, 0xAA, 0xAA, 0xA0,
|
||||
0xAA, 0xAA, 0xAA, 0xAA, 0x76, 0x66, 0x77, 0x77, 0x89, 0x77, 0x66, 0x54, 0x44, 0x43, 0x23, 0x34, 0x34, 0x56, 0x66, 0x75, 0x68, 0x78, 0x88, 0x88, 0x77, 0x5B, 0xAA, 0xAA, 0xAA, 0xAA, 0xA0,
|
||||
0xAA, 0xAA, 0xAA, 0xAA, 0x76, 0x66, 0x75, 0x78, 0x88, 0x77, 0x76, 0x65, 0x55, 0x56, 0x65, 0x55, 0x55, 0x43, 0x34, 0x67, 0x67, 0x88, 0x88, 0x88, 0x76, 0x5A, 0xAA, 0xAA, 0xAA, 0xAA, 0xA0,
|
||||
0xA9, 0xAA, 0xAA, 0xAA, 0x76, 0x77, 0x76, 0x77, 0x78, 0x87, 0x76, 0x66, 0x65, 0x56, 0x66, 0x67, 0x66, 0x56, 0x67, 0x88, 0x88, 0x88, 0x88, 0x87, 0x76, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xA0,
|
||||
0xA9, 0xAA, 0xAA, 0xAA, 0x66, 0x67, 0x67, 0x77, 0x78, 0x87, 0x76, 0x76, 0x76, 0x66, 0x76, 0x67, 0x67, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xA0,
|
||||
0xA9, 0x9A, 0xAA, 0xAA, 0x66, 0x66, 0x77, 0x77, 0x77, 0x77, 0x76, 0x76, 0x77, 0x67, 0x66, 0x67, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x7B, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xA0,
|
||||
0xA9, 0xAA, 0xAA, 0xAA, 0x66, 0x56, 0x67, 0x77, 0x77, 0x77, 0x76, 0x67, 0x67, 0x77, 0x77, 0x77, 0x88, 0x88, 0x78, 0x88, 0x88, 0x88, 0x88, 0x77, 0x6A, 0xBA, 0xAA, 0xAA, 0xAA, 0xAA, 0xA0,
|
||||
0xA9, 0xAA, 0xAA, 0x74, 0x65, 0x55, 0x66, 0x66, 0x67, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xBA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xA0,
|
||||
0xAA, 0x9A, 0xA8, 0x54, 0x65, 0x55, 0x66, 0x66, 0x67, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0x5B, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xA0,
|
||||
0x99, 0xA9, 0x97, 0x45, 0x66, 0x65, 0x66, 0x66, 0x66, 0x66, 0x77, 0x77, 0x66, 0x67, 0x77, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0xBA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xBA, 0xA0,
|
||||
0x99, 0x99, 0x85, 0x75, 0x66, 0x66, 0x55, 0x55, 0x66, 0x66, 0x67, 0x77, 0x67, 0x77, 0x78, 0x87, 0x88, 0x88, 0x88, 0x88, 0x78, 0x77, 0x75, 0xBA, 0xAA, 0xAA, 0xAA, 0xAA, 0xBB, 0xAA, 0xA0,
|
||||
0x99, 0x99, 0x93, 0x73, 0x66, 0x66, 0x55, 0x55, 0x56, 0x66, 0x66, 0x77, 0x67, 0x78, 0x78, 0x88, 0x88, 0x88, 0x88, 0x87, 0x87, 0x77, 0x67, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xA0,
|
||||
0x99, 0x99, 0x95, 0x63, 0x65, 0x66, 0x56, 0x55, 0x55, 0x56, 0x67, 0x77, 0x67, 0x67, 0x78, 0x88, 0x88, 0x88, 0x87, 0x77, 0x77, 0x76, 0x66, 0xAB, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xA0,
|
||||
0x99, 0x99, 0x97, 0x33, 0x65, 0x55, 0x55, 0x55, 0x55, 0x55, 0x66, 0x66, 0x66, 0x77, 0x77, 0x77, 0x88, 0x87, 0x77, 0x77, 0x76, 0x66, 0x74, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xA0,
|
||||
0x99, 0x99, 0xA3, 0x32, 0x55, 0x66, 0x65, 0x55, 0x55, 0x55, 0x65, 0x66, 0x66, 0x77, 0x77, 0x77, 0x77, 0x88, 0x77, 0x77, 0x66, 0x67, 0x62, 0xA9, 0xAA, 0xBA, 0xAA, 0xBB, 0xAA, 0xAA, 0xA0,
|
||||
0x99, 0x9A, 0x91, 0x23, 0x56, 0x66, 0x66, 0x55, 0x55, 0x55, 0x55, 0x66, 0x66, 0x77, 0x77, 0x77, 0x77, 0x87, 0x77, 0x66, 0x76, 0x77, 0x62, 0x9A, 0xAA, 0xBA, 0xBA, 0xAA, 0xBA, 0xBA, 0xA0,
|
||||
0x99, 0x9A, 0xA1, 0x33, 0x56, 0x66, 0x66, 0x55, 0x55, 0x55, 0x55, 0x55, 0x66, 0x67, 0x77, 0x76, 0x76, 0x76, 0x66, 0x67, 0x77, 0x77, 0x33, 0x9A, 0xAA, 0xAA, 0xAA, 0xAA, 0xBB, 0xAB, 0xB0,
|
||||
0x99, 0x9A, 0xA2, 0x23, 0x55, 0x66, 0x66, 0x65, 0x55, 0x55, 0x55, 0x55, 0x56, 0x66, 0x66, 0x66, 0x66, 0x55, 0x56, 0x67, 0x77, 0x77, 0x23, 0x9A, 0xAA, 0xBB, 0xBB, 0xAA, 0xBA, 0xAA, 0xB0,
|
||||
0x99, 0x9A, 0xA5, 0x34, 0x55, 0x66, 0x66, 0x65, 0x66, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x66, 0x67, 0x77, 0x77, 0x77, 0x22, 0x9A, 0xAB, 0xAA, 0xBA, 0xAA, 0xBA, 0xAA, 0xA0,
|
||||
0x99, 0x9A, 0xA8, 0x34, 0x45, 0x66, 0x66, 0x56, 0x66, 0x65, 0x55, 0x55, 0x55, 0x55, 0x55, 0x56, 0x66, 0x67, 0x77, 0x77, 0x77, 0x75, 0x31, 0x8A, 0xAA, 0x9A, 0xAA, 0xBB, 0xAB, 0xBA, 0xA0,
|
||||
0x99, 0x9A, 0xA9, 0x34, 0x45, 0x66, 0x76, 0x66, 0x66, 0x65, 0x66, 0x66, 0x66, 0x65, 0x67, 0x77, 0x77, 0x77, 0x88, 0x77, 0x77, 0x75, 0x31, 0x9B, 0xBA, 0xBA, 0xAA, 0x9A, 0xBB, 0xBA, 0xB0,
|
||||
0x9A, 0x9A, 0xAA, 0x54, 0x45, 0x56, 0x66, 0x76, 0x77, 0x66, 0x66, 0x77, 0x77, 0x77, 0x67, 0x77, 0x77, 0x77, 0x78, 0x77, 0x77, 0x64, 0x31, 0xAA, 0xAA, 0xAB, 0xBB, 0xBA, 0x9A, 0xAA, 0xB0,
|
||||
0x99, 0x9A, 0xAA, 0xA3, 0x45, 0x56, 0x66, 0x77, 0x77, 0x67, 0x67, 0x77, 0x77, 0x77, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x77, 0x64, 0x35, 0xAA, 0xBA, 0xBB, 0xBA, 0xAA, 0xBB, 0xAA, 0xA0,
|
||||
0xA9, 0xAA, 0xAA, 0xB8, 0x44, 0x56, 0x66, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x88, 0x89, 0x88, 0x88, 0x88, 0x78, 0x77, 0x77, 0x53, 0x27, 0xAB, 0xBA, 0xBA, 0xBB, 0xBB, 0xBA, 0xAA, 0xB0
|
||||
};
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* GUIDEMO_bm4bpp
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
const GUI_BITMAP GUIDEMO_bm4bpp = {
|
||||
61, /* XSize */
|
||||
92, /* YSize */
|
||||
31, /* BytesPerLine */
|
||||
4, /* BitsPerPixel */
|
||||
_acJoerg, /* Pointer to picture data (indices) */
|
||||
&_PalJoerg /* Pointer to palette */
|
||||
};
|
||||
@@ -0,0 +1,76 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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_Circle.c
|
||||
Purpose : Drawing circles
|
||||
----------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
#include "GUI.h"
|
||||
#include "GUIDEMO.h"
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* GUIDEMO_Circle
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
void GUIDEMO_Circle(void) {
|
||||
int x0, y0, r;
|
||||
GUIDEMO_ShowIntro("Circles",
|
||||
"\nArbitrary circles"
|
||||
"\nand arcs.");
|
||||
GUI_Clear();
|
||||
GUI_SetFont(&GUI_Font8x16);
|
||||
GUI_SetColor(GUI_WHITE);
|
||||
x0 = LCD_XSIZE >> 1;
|
||||
y0 = LCD_YSIZE >> 1;
|
||||
#if GUIDEMO_LARGE
|
||||
r = 50;
|
||||
GUI_DispStringAt("Circle", 0, 0);
|
||||
#elif !(GUIDEMO_TINY)
|
||||
r = 40;
|
||||
#else
|
||||
#if (LCD_YSIZE < 80)
|
||||
r = 23;
|
||||
#else
|
||||
r = 30;
|
||||
#endif
|
||||
#endif
|
||||
GUI_FillCircle (x0, y0, r);
|
||||
GUIDEMO_Wait();
|
||||
GUI_SetDrawMode(GUI_DM_XOR);
|
||||
#if GUIDEMO_LARGE
|
||||
GUI_FillCircle (x0, y0, r + 10);
|
||||
#elif !(GUIDEMO_TINY)
|
||||
GUI_FillCircle (x0, y0, r + 8);
|
||||
#else
|
||||
GUI_FillCircle (x0, y0, r + 6);
|
||||
#endif
|
||||
GUI_SetDrawMode(0);
|
||||
GUIDEMO_Wait();
|
||||
#if GUI_SUPPORT_AA
|
||||
#if GUIDEMO_LARGE
|
||||
GUIDEMO_ShowInfo("Circles with\nAntialiasing");
|
||||
#endif
|
||||
GUI_Clear();
|
||||
GUI_SetColor(GUI_WHITE);
|
||||
#if GUIDEMO_LARGE
|
||||
GUI_DispStringAt("Antialiased\ncircle", 0, 0);
|
||||
#endif
|
||||
GUI_AA_FillCircle(x0, y0, r - 2);
|
||||
GUIDEMO_Wait();
|
||||
#endif
|
||||
}
|
||||
+166
@@ -0,0 +1,166 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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_ShowColorBar.c
|
||||
Purpose : Draws color bars
|
||||
----------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
#include "LCD.h" /* interface definitions */
|
||||
#include "LCD_ConfDefaults.h" /* valid LCD configuration */
|
||||
#include "GUI.h"
|
||||
#include "GUIDEMO.h"
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* GUIDEMO_ShowColorBar
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
#if LCD_BITSPERPIXEL > 2
|
||||
|
||||
void GUIDEMO_ShowColorBar(void) {
|
||||
int nBars = 13;
|
||||
int NumColors = LCD_GetDevCap(LCD_DEVCAP_NUMCOLORS);
|
||||
int XSize = LCD_XSIZE;
|
||||
int i, yStep, y0, x0;
|
||||
#if GUIDEMO_LARGE
|
||||
y0 = 70;
|
||||
x0 = 60;
|
||||
GUIDEMO_ShowIntro("Color bar",
|
||||
"emWin features "
|
||||
"\nan integrated color"
|
||||
"\nmanagement"
|
||||
"\nwill always find the best available color"
|
||||
"\nfor any logical color");
|
||||
#else
|
||||
#if !(GUIDEMO_TINY)
|
||||
y0 = 55;
|
||||
x0 = 55;
|
||||
GUIDEMO_ShowIntro("Color bar",
|
||||
"emWin features "
|
||||
"\nan integrated color"
|
||||
"\nmanagement will always"
|
||||
"\nfind the best available"
|
||||
"\ncolor for any logical color");
|
||||
#else
|
||||
y0 = 16;
|
||||
x0 = 40;
|
||||
GUIDEMO_ShowIntro("Color bar",
|
||||
"emWin features "
|
||||
"\nan integrated color"
|
||||
"\nmanagement");
|
||||
#endif
|
||||
#endif
|
||||
XSize -= x0;
|
||||
#if (LCD_YSIZE < 320)
|
||||
yStep = (LCD_YSIZE - y0) / nBars;
|
||||
#else
|
||||
yStep = (LCD_YSIZE - y0 - 60) / nBars;
|
||||
#endif
|
||||
GUI_SetColor(GUI_WHITE);
|
||||
GUI_SetBkColor(GUI_BLACK);
|
||||
GUI_Clear();
|
||||
GUI_SetFont(&GUI_Font8x16);
|
||||
GUI_DispString("Color bars\n");
|
||||
#if !(GUIDEMO_TINY)
|
||||
GUI_SetFont(&GUI_Font8_ASCII);
|
||||
#ifdef LCD_CONTROLLER
|
||||
GUI_DispString("\nLCD_CONTROLLER: ");
|
||||
GUI_DispDecMin(LCD_CONTROLLER);
|
||||
GUI_DispString("\n");
|
||||
#endif
|
||||
GUI_DispDecMin(LCD_BITSPERPIXEL);
|
||||
GUI_DispString(" bpp");
|
||||
#ifdef LCD_BUSWIDTH
|
||||
GUI_DispString(", ");
|
||||
GUI_DispDecMin(LCD_BUSWIDTH);
|
||||
GUI_DispString(" bit bus");
|
||||
#endif
|
||||
GUI_DispString(", ");
|
||||
GUI_DispDecMin(NumColors);
|
||||
GUI_DispString(" colors\n");
|
||||
#if (LCD_FIXEDPALETTE)
|
||||
GUI_DispString("Fixed palette: ");
|
||||
GUI_DispDecMin(LCD_FIXEDPALETTE);
|
||||
#else
|
||||
GUI_DispString("(Custom)");
|
||||
#endif
|
||||
#endif
|
||||
#if !GUIDEMO_LARGE
|
||||
#if (LCD_YSIZE < 100)
|
||||
GUI_SetFont(&GUI_Font4x6);
|
||||
#elif (LCD_YSIZE < 160)
|
||||
GUI_SetFont(&GUI_Font6x8);
|
||||
#else
|
||||
GUI_SetFont(&GUI_Font8x8);
|
||||
#endif
|
||||
#else
|
||||
GUI_SetFont(&GUI_Font8x8);
|
||||
#endif
|
||||
GUI_SetColor(GUI_WHITE);
|
||||
GUI_DispStringAt("Red", 0, y0 + yStep);
|
||||
GUI_DispStringAt("Green", 0, y0 + 3 * yStep);
|
||||
GUI_DispStringAt("Blue", 0, y0 + 5 * yStep);
|
||||
GUI_DispStringAt("Grey", 0, y0 + 6 * yStep);
|
||||
GUI_DispStringAt("Yellow", 0, y0 + 8 * yStep);
|
||||
GUI_DispStringAt("Cyan", 0, y0 + 10 * yStep);
|
||||
GUI_DispStringAt("Magenta", 0, y0 + 12 * yStep);
|
||||
for (i = 0; (i < XSize) && !GUIDEMO_CheckCancel(); i++) {
|
||||
U16 cs = (255 * (U32)i) / XSize;
|
||||
U16 x = x0 + i;;
|
||||
/* Red */
|
||||
GUI_SetColor(cs);
|
||||
GUI_DrawVLine(x, y0, y0 + yStep - 1);
|
||||
GUI_SetColor(0x0000ff + (255 - cs) * 0x10100L);
|
||||
GUI_DrawVLine(x, y0 + yStep, y0 + 2 * yStep - 1);
|
||||
/* Green */
|
||||
GUI_SetColor(cs<<8);
|
||||
GUI_DrawVLine(x, y0 + 2 * yStep, y0 + 3 * yStep - 1);
|
||||
GUI_SetColor(0x00ff00 + (255 - cs) * 0x10001L);
|
||||
GUI_DrawVLine(x, y0 + 3 * yStep, y0 + 4 * yStep - 1);
|
||||
/* Blue */
|
||||
GUI_SetColor(cs * 0x10000L);
|
||||
GUI_DrawVLine(x, y0 + 4 * yStep, y0 + 5 * yStep - 1);
|
||||
GUI_SetColor(0xff0000 + (255 - cs) * 0x00101L);
|
||||
GUI_DrawVLine(x, y0 + 5 * yStep, y0 + 6 * yStep - 1);
|
||||
/* Gray */
|
||||
GUI_SetColor(cs * 0x10101L);
|
||||
GUI_DrawVLine(x, y0 + 6 * yStep, y0 + 7 * yStep - 1);
|
||||
/* Yellow */
|
||||
GUI_SetColor(cs * 0x00101L);
|
||||
GUI_DrawVLine(x, y0 + 7 * yStep, y0 + 8 * yStep - 1);
|
||||
GUI_SetColor(0x00ffff + (255 - cs) * 0x10000L);
|
||||
GUI_DrawVLine(x, y0 + 8 * yStep, y0 + 9 * yStep - 1);
|
||||
/* Cyan */
|
||||
GUI_SetColor(cs * 0x10100L);
|
||||
GUI_DrawVLine(x, y0 + 9 * yStep, y0 + 10 * yStep - 1);
|
||||
GUI_SetColor(0xffff00 + (255 - cs) * 0x00001L);
|
||||
GUI_DrawVLine(x, y0 + 10 * yStep, y0 + 11 * yStep - 1);
|
||||
/* Magenta */
|
||||
GUI_SetColor(cs * 0x10001L);
|
||||
GUI_DrawVLine(x, y0 + 11 * yStep, y0 + 12 * yStep - 1);
|
||||
GUI_SetColor(0xff00ff + (255 - cs) * 0x00100L);
|
||||
GUI_DrawVLine(x, y0 + 12 * yStep, y0 + 13 * yStep - 1);
|
||||
}
|
||||
GUIDEMO_Wait();
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
void GUIDEMO_ShowColorBar(void) {}
|
||||
|
||||
#endif
|
||||
|
||||
+118
@@ -0,0 +1,118 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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_ColorList.c
|
||||
Purpose : Shows color list
|
||||
----------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
#include "LCD_ConfDefaults.h" /* valid LCD configuration */
|
||||
#include "GUI.h"
|
||||
#include "GUIDEMO.h"
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* GUIDEMO_ShowColorList
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
#if (LCD_BITSPERPIXEL > 2) && (LCD_BITSPERPIXEL <= 8)
|
||||
|
||||
void GUIDEMO_ShowColorList(void) {
|
||||
int NumColors = LCD_GetDevCap(LCD_DEVCAP_NUMCOLORS);
|
||||
int Lines = (NumColors - 1) / 16 + 1;
|
||||
int y0;
|
||||
#if (LCD_BITSPERPIXEL > 8)
|
||||
int XStep = LCD_XSIZE / 256;
|
||||
int YStep = NumColors / 256;
|
||||
#endif
|
||||
int i;
|
||||
#if GUIDEMO_LARGE
|
||||
y0 = 70;
|
||||
#elif !(GUIDEMO_TINY)
|
||||
#if (LCD_YSIZE < 120)
|
||||
y0 = 50;
|
||||
#else
|
||||
y0 = 55;
|
||||
#endif
|
||||
#else
|
||||
y0 = 16;
|
||||
#endif
|
||||
GUIDEMO_ShowIntro("Available colors",
|
||||
"Shows the first of the"
|
||||
"\navailable colors in the"
|
||||
"\nsimulated configuration");
|
||||
GUI_SetColor(GUI_WHITE);
|
||||
GUI_SetBkColor(GUI_BLACK);
|
||||
GUI_Clear();
|
||||
GUI_SetFont(&GUI_Font8x16);
|
||||
GUI_DispString("Available colors\n");
|
||||
#if !(GUIDEMO_TINY)
|
||||
GUI_SetFont(&GUI_Font8_ASCII);
|
||||
#ifdef LCD_CONTROLLER
|
||||
GUI_DispString("\nLCD_CONTROLLER: ");
|
||||
GUI_DispDecMin(LCD_CONTROLLER);
|
||||
GUI_DispString("\n");
|
||||
#endif
|
||||
GUI_DispDecMin(LCD_BITSPERPIXEL);
|
||||
GUI_DispString(" bpp");
|
||||
#ifdef LCD_BUSWIDTH
|
||||
GUI_DispString(", ");
|
||||
GUI_DispDecMin(LCD_BUSWIDTH);
|
||||
GUI_DispString(" bit bus");
|
||||
#endif
|
||||
GUI_DispString(", ");
|
||||
GUI_DispDecMin(NumColors);
|
||||
GUI_DispString(" colors\n");
|
||||
#if (LCD_FIXEDPALETTE)
|
||||
GUI_DispString("Fixed palette: ");
|
||||
GUI_DispDecMin(LCD_FIXEDPALETTE);
|
||||
#else
|
||||
GUI_DispString("(Custom)");
|
||||
#endif
|
||||
#endif
|
||||
#if (LCD_BITSPERPIXEL <= 8)
|
||||
{
|
||||
int XStep = LCD_XSIZE / 16;
|
||||
#if (LCD_YSIZE < 320)
|
||||
int YStep = (LCD_YSIZE - y0) / Lines;
|
||||
#else
|
||||
int YStep = (LCD_YSIZE - y0 - 60) / Lines;
|
||||
#endif
|
||||
int dy = (YStep <= 3) ? 1 : 2;
|
||||
for (i = 0; i < NumColors; i++) {
|
||||
GUI_SetColorIndex(i);
|
||||
GUI_FillRect((i%16) * XStep + 2,
|
||||
(i/16) * YStep + y0 + 1,
|
||||
(i%16 + 1) * XStep - 1,
|
||||
(i/16 + 1) * YStep + y0 - dy);
|
||||
}
|
||||
}
|
||||
#else
|
||||
{
|
||||
for (i = 0; i < NumColors; i++) {
|
||||
GUI_SetColorIndex(i);
|
||||
GUI_DrawPoint((U8)(i) + ((LCD_XSIZE - 1 - 256) >> 1), (i >> 8) + y0);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
GUIDEMO_Delay(2500);
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
void GUIDEMO_ShowColorList(void) {}
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,303 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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_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
|
||||
@@ -0,0 +1,272 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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_Dialog.c
|
||||
Purpose : Automotive samples
|
||||
----------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
#include <stddef.h> /* needed for definition of NULL */
|
||||
#include "GUI.h"
|
||||
#include "GUIDEMO.h"
|
||||
#include "LCD_ConfDefaults.h"
|
||||
|
||||
#if GUI_SUPPORT_MEMDEV && GUI_WINSUPPORT
|
||||
|
||||
#include "WM.h"
|
||||
#include "DIALOG.h"
|
||||
#include "LISTBOX.h"
|
||||
#include "EDIT.h"
|
||||
#include "SLIDER.h"
|
||||
#include "FRAMEWIN.h"
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* types
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
typedef struct {
|
||||
unsigned char Id;
|
||||
int Time;
|
||||
} KEYSIM;
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* static data
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
#if GUIDEMO_LARGE
|
||||
|
||||
static const GUI_WIDGET_CREATE_INFO aDialogCreate[] = {
|
||||
{ FRAMEWIN_CreateIndirect, "Dialog", 0, 10, 10, 162, 214, FRAMEWIN_CF_MOVEABLE},
|
||||
{ BUTTON_CreateIndirect, "OK", GUI_ID_OK, 90, 5, 60, 20 },
|
||||
{ BUTTON_CreateIndirect, "Cancel", GUI_ID_CANCEL, 90, 30, 60, 20 },
|
||||
{ TEXT_CreateIndirect, "LText", 0, 5, 59, 43, 15, TEXT_CF_LEFT },
|
||||
{ TEXT_CreateIndirect, "RText", 0, 5, 79, 43, 15, TEXT_CF_RIGHT },
|
||||
{ TEXT_CreateIndirect, "Hex", 0, 5, 99, 48, 15, TEXT_CF_LEFT },
|
||||
{ TEXT_CreateIndirect, "Bin", 0, 5, 119, 48, 15, TEXT_CF_LEFT },
|
||||
{ EDIT_CreateIndirect, "", GUI_ID_EDIT0, 50, 59, 100, 15, EDIT_CF_LEFT, 50 },
|
||||
{ EDIT_CreateIndirect, "", GUI_ID_EDIT1, 50, 79, 100, 15, EDIT_CF_RIGHT, 50 },
|
||||
{ EDIT_CreateIndirect, "", GUI_ID_EDIT2, 50, 99, 100, 15, EDIT_CF_RIGHT, 6 },
|
||||
{ EDIT_CreateIndirect, "", GUI_ID_EDIT3, 50, 119, 100, 15, EDIT_CF_LEFT, 0 },
|
||||
{ LISTBOX_CreateIndirect, "", GUI_ID_LISTBOX0, 5, 5, 75, 45, 0, 0 },
|
||||
{ SLIDER_CreateIndirect, NULL, GUI_ID_SLIDER1, 5, 140, 100, 20, 0, 0 },
|
||||
{ SLIDER_CreateIndirect, NULL, GUI_ID_SLIDER0, 5, 165, 145, 26, 0, 0 }
|
||||
};
|
||||
|
||||
static const KEYSIM _aID[] = {
|
||||
{ GUI_KEY_TAB, 400 },
|
||||
{ GUI_KEY_TAB, 400 },
|
||||
{ GUI_KEY_TAB, 400 },
|
||||
{ GUI_KEY_TAB, 400 },
|
||||
{ GUI_KEY_TAB, 400 },
|
||||
{ GUI_KEY_TAB, 400 },
|
||||
{ GUI_KEY_DOWN, 250 },
|
||||
{ GUI_KEY_DOWN, 250 },
|
||||
{ GUI_KEY_DOWN, 250 },
|
||||
{ GUI_KEY_DOWN, 250 },
|
||||
{ GUI_KEY_UP, 250 },
|
||||
{ GUI_KEY_UP, 250 }
|
||||
};
|
||||
|
||||
static const GUI_ConstString _apListBox[] = {
|
||||
"English", "Deutsch", "Français", "Japanese", "Italiano", NULL
|
||||
};
|
||||
|
||||
#elif !(GUIDEMO_TINY)
|
||||
|
||||
static const GUI_WIDGET_CREATE_INFO aDialogCreate[] = {
|
||||
{ FRAMEWIN_CreateIndirect, "Dialog", 0, 10, 10, 132, 113, FRAMEWIN_CF_MOVEABLE},
|
||||
{ BUTTON_CreateIndirect, "OK", GUI_ID_OK, 5, 5, 55, 20 },
|
||||
{ BUTTON_CreateIndirect, "Cancel", GUI_ID_CANCEL, 65, 5, 55, 20 },
|
||||
{ TEXT_CreateIndirect, "LText", 0, 5, 32, 33, 15, TEXT_CF_LEFT },
|
||||
{ TEXT_CreateIndirect, "RText", 0, 5, 52, 33, 15, TEXT_CF_RIGHT },
|
||||
{ EDIT_CreateIndirect, "", GUI_ID_EDIT0, 40, 32, 80, 15, EDIT_CF_LEFT, 50 },
|
||||
{ EDIT_CreateIndirect, "", GUI_ID_EDIT1, 40, 52, 80, 15, EDIT_CF_RIGHT, 50 },
|
||||
{ SLIDER_CreateIndirect, NULL, GUI_ID_SLIDER0, 5, 74, 116, 20, 0, 0 },
|
||||
};
|
||||
|
||||
static const KEYSIM _aID[] = {
|
||||
{ GUI_KEY_TAB, 400 },
|
||||
{ GUI_KEY_TAB, 400 },
|
||||
{ GUI_KEY_TAB, 400 },
|
||||
{ GUI_KEY_TAB, 400 },
|
||||
};
|
||||
|
||||
#else
|
||||
|
||||
static const GUI_WIDGET_CREATE_INFO aDialogCreate[] = {
|
||||
{ FRAMEWIN_CreateIndirect, "Dialog", 0, 0, 0, 110, 84, FRAMEWIN_CF_MOVEABLE},
|
||||
{ BUTTON_CreateIndirect, "OK", GUI_ID_OK, 4, 3, 95, 18 },
|
||||
{ TEXT_CreateIndirect, "Text", 0, 5, 25, 28, 15, TEXT_CF_LEFT },
|
||||
{ EDIT_CreateIndirect, "", GUI_ID_EDIT0, 30, 25, 69, 15, EDIT_CF_LEFT, 50 },
|
||||
};
|
||||
|
||||
static const KEYSIM _aID[] = {
|
||||
{ GUI_KEY_TAB, 400 },
|
||||
{ GUI_KEY_TAB, 400 },
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* static code
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
/*********************************************************************
|
||||
*
|
||||
* _cbCallback
|
||||
*/
|
||||
static void _cbCallback(WM_MESSAGE * pMsg) {
|
||||
WM_HWIN hWin = pMsg->hWin;
|
||||
#if GUIDEMO_LARGE
|
||||
int NCode, Id;
|
||||
#endif
|
||||
switch (pMsg->MsgId) {
|
||||
case WM_INIT_DIALOG:
|
||||
/* Initialize all widgets */
|
||||
#if GUIDEMO_TINY
|
||||
EDIT_SetText(WM_GetDialogItem(hWin, GUI_ID_EDIT0), "EDIT");
|
||||
#else
|
||||
EDIT_SetText(WM_GetDialogItem(hWin, GUI_ID_EDIT0), "EDIT widget 0");
|
||||
EDIT_SetText(WM_GetDialogItem(hWin, GUI_ID_EDIT1), "EDIT widget 1");
|
||||
#endif
|
||||
{
|
||||
#if GUIDEMO_LARGE
|
||||
WM_HWIN hListBox;
|
||||
EDIT_SetHexMode(WM_GetDialogItem(hWin, GUI_ID_EDIT2), 0x1234, 0, 0xffffff);
|
||||
EDIT_SetBinMode(WM_GetDialogItem(hWin, GUI_ID_EDIT3), 0x1234, 0, 0xffff);
|
||||
hListBox = WM_GetDialogItem(hWin, GUI_ID_LISTBOX0);
|
||||
LISTBOX_SetText(hListBox, _apListBox);
|
||||
SCROLLBAR_CreateAttached(hListBox, SCROLLBAR_CF_VERTICAL);
|
||||
#else
|
||||
GUI_RECT Rect;
|
||||
int x, y, ySize;
|
||||
ySize = LCD_GetYSize();
|
||||
if (ySize < 120) {
|
||||
WM_ResizeWindow(hWin, 0, -24);
|
||||
}
|
||||
WM_GetWindowRectEx(hWin, &Rect);
|
||||
x = (LCD_GetXSize() - (Rect.x1 - Rect.x0 + 1)) >> 1;
|
||||
y = (ySize - (Rect.y1 - Rect.y0 + 1)) >> 1;
|
||||
#if GUIDEMO_TINY
|
||||
WM_MoveTo(hWin, x, y);
|
||||
#else
|
||||
WM_MoveTo(hWin, x, y - 4);
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
break;
|
||||
case WM_KEY:
|
||||
switch (((WM_KEY_INFO*)(pMsg->Data.p))->Key) {
|
||||
case GUI_KEY_ESCAPE:
|
||||
GUI_EndDialog(hWin, 1);
|
||||
break;
|
||||
case GUI_KEY_ENTER:
|
||||
GUI_EndDialog(hWin, 0);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
#if GUIDEMO_LARGE
|
||||
case WM_NOTIFY_PARENT:
|
||||
Id = WM_GetId(pMsg->hWinSrc); /* Id of widget */
|
||||
NCode = pMsg->Data.v; /* Notification code */
|
||||
switch (NCode) {
|
||||
case WM_NOTIFICATION_RELEASED: /* React only if released */
|
||||
if (Id == GUI_ID_OK) { /* OK Button */
|
||||
GUI_EndDialog(hWin, 0);
|
||||
}
|
||||
if (Id == GUI_ID_CANCEL) { /* Cancel Button */
|
||||
GUI_EndDialog(hWin, 1);
|
||||
}
|
||||
break;
|
||||
case WM_NOTIFICATION_SEL_CHANGED: /* Selection changed */
|
||||
FRAMEWIN_SetText(hWin, "Dialog - sel changed");
|
||||
break;
|
||||
default:
|
||||
FRAMEWIN_SetText(hWin, "Dialog - notification received");
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
default:
|
||||
WM_DefaultProc(pMsg);
|
||||
}
|
||||
}
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* public code
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
/*********************************************************************
|
||||
*
|
||||
* GUIDEMO_Dialog
|
||||
*/
|
||||
void GUIDEMO_Dialog(void) {
|
||||
int i;
|
||||
WM_HWIN hWin;
|
||||
GUI_COLOR DesktopColorOld;
|
||||
GUIDEMO_ShowIntro("Dialog boxes", "\nDialog boxes\ncan easily be created");
|
||||
GUIDEMO_HideInfoWin();
|
||||
DesktopColorOld = GUIDEMO_SetBkColor(GUI_RED);
|
||||
DesktopColorOld = WM_SetDesktopColor(DesktopColorOld); /* Automatically update desktop window */
|
||||
hWin = GUI_CreateDialogBox(aDialogCreate, GUI_COUNTOF(aDialogCreate), _cbCallback, 0, 0, 0);
|
||||
for (i = 0; i < GUI_COUNTOF(_aID); i++) {
|
||||
GUIDEMO_Delay(_aID[i].Time);
|
||||
GUI_SendKeyMsg(_aID[i].Id, 1);
|
||||
}
|
||||
#if !(GUIDEMO_TINY)
|
||||
#if !(GUIDEMO_LARGE)
|
||||
if (LCD_GetYSize() < 120) {
|
||||
} else
|
||||
#endif
|
||||
{
|
||||
GUIDEMO_Delay(1000);
|
||||
for (i = 0; i <= 100; i += 10) {
|
||||
if (WM_IsWindow(hWin)) {
|
||||
SLIDER_SetValue(WM_GetDialogItem(hWin, GUI_ID_SLIDER0), i);
|
||||
}
|
||||
GUIDEMO_Delay(100);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
GUIDEMO_Delay(800);
|
||||
if (WM_IsWindow(hWin)) {
|
||||
WM_MoveTo(hWin, 20, 20);
|
||||
GUIDEMO_Delay(500);
|
||||
}
|
||||
if (WM_IsWindow(hWin)) {
|
||||
WM_MoveTo(hWin, 60, 20);
|
||||
GUIDEMO_Delay(800);
|
||||
}
|
||||
/* Cleanup ... */
|
||||
if (WM_IsWindow(hWin)) {
|
||||
WM_DeleteWindow(hWin);
|
||||
}
|
||||
GUIDEMO_NotifyStartNext();
|
||||
WM_SetDesktopColor(DesktopColorOld); /* Restore old settings */
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
void GUIDEMO_Dialog(void) {}
|
||||
|
||||
#endif /* GUI_SUPPORT_MEMDEV */
|
||||
File diff suppressed because it is too large
Load Diff
+128
@@ -0,0 +1,128 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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_DemoFrameWin.c
|
||||
Purpose : Demonstrates the FRAMEWIN widget
|
||||
----------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
#include <stddef.h>
|
||||
#include "GUI.h"
|
||||
#include "GUIDEMO.h"
|
||||
|
||||
#if GUI_WINSUPPORT
|
||||
|
||||
#include "WM.h"
|
||||
#include "LISTBOX.h"
|
||||
#include "FRAMEWIN.h"
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* defines
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
#if GUIDEMO_LARGE
|
||||
#define BORDER 10
|
||||
#elif !(GUIDEMO_TINY)
|
||||
#define BORDER 8
|
||||
#else
|
||||
#define BORDER 4
|
||||
#endif
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* static data
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
static const GUI_ConstString _asLang[] = {
|
||||
"English",
|
||||
"Deutsch",
|
||||
"Français",
|
||||
"Espa\xf1ol", /* "Español" -> "Espa\xf1ol" to avoid problems with NC308 */
|
||||
"Italiano",
|
||||
NULL
|
||||
};
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* public code
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
/*********************************************************************
|
||||
*
|
||||
* GUIDEMO_DemoFrameWin
|
||||
*/
|
||||
void GUIDEMO_DemoFrameWin(void) {
|
||||
FRAMEWIN_Handle hFrame;
|
||||
LISTBOX_Handle hListBox;
|
||||
int xSize = LCD_GetXSize();
|
||||
int ySize = LCD_GetYSize();
|
||||
int i, x, y, w, h;
|
||||
const GUI_FONT* pFont = &GUI_FontComic18B_1;
|
||||
GUI_COLOR DesktopColorOld;
|
||||
#if GUIDEMO_LARGE
|
||||
GUIDEMO_ShowIntro("Frame Window & Listbox", NULL);
|
||||
#else
|
||||
GUIDEMO_ShowIntro("Frame Window\n & Listbox", NULL);
|
||||
#endif
|
||||
DesktopColorOld = GUIDEMO_SetBkColor(GUI_RED);
|
||||
DesktopColorOld = WM_SetDesktopColor(DesktopColorOld); /* Automatically update desktop window */
|
||||
x = BORDER;
|
||||
#if GUIDEMO_LARGE
|
||||
y = 75;
|
||||
#else
|
||||
y = BORDER;
|
||||
#endif
|
||||
w = xSize - x - BORDER;
|
||||
h = ySize - y - BORDER;
|
||||
if (w > 140) {
|
||||
w = 140;
|
||||
}
|
||||
if (h > 120) {
|
||||
h = 120;
|
||||
}
|
||||
hFrame = FRAMEWIN_Create("Select language", NULL, WM_CF_SHOW, x, y, w, h);
|
||||
FRAMEWIN_SetActive(hFrame, 1);
|
||||
FRAMEWIN_SetMoveable(hFrame, 1);
|
||||
FRAMEWIN_AddMaxButton(hFrame, FRAMEWIN_BUTTON_RIGHT, 0);
|
||||
FRAMEWIN_AddMinButton(hFrame, FRAMEWIN_BUTTON_RIGHT, 1);
|
||||
FRAMEWIN_SetFont(hFrame, &GUI_Font13_ASCII);
|
||||
hListBox = LISTBOX_CreateAsChild(_asLang, WM_GetClientWindow(hFrame), 0, 0, 0, 0, WM_CF_SHOW | WM_SF_ANCHOR_LEFT | WM_SF_ANCHOR_TOP | WM_SF_ANCHOR_RIGHT | WM_SF_ANCHOR_BOTTOM);
|
||||
WM_SetFocus(hListBox);
|
||||
LISTBOX_SetFont(hListBox, pFont);
|
||||
GUIDEMO_Wait();
|
||||
for (i = 0; (i < 10) && !GUIDEMO_CheckCancel(); i++) {
|
||||
LISTBOX_IncSel(hListBox);
|
||||
GUIDEMO_Delay(250);
|
||||
}
|
||||
for (i = 0; (i < 10) && !GUIDEMO_CheckCancel(); i++) {
|
||||
LISTBOX_DecSel(hListBox);
|
||||
GUIDEMO_Delay(250);
|
||||
}
|
||||
GUIDEMO_Delay(500);
|
||||
LISTBOX_Delete(hListBox);
|
||||
FRAMEWIN_Delete(hFrame);
|
||||
WM_SetDesktopColor(DesktopColorOld);
|
||||
}
|
||||
|
||||
#elif defined(NC30) || defined(NC308)
|
||||
|
||||
void GUIDEMO_FrameWin(void) {}
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,377 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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_Graph.c
|
||||
Purpose : Several GUIDEMO routines
|
||||
----------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
#include "GUI.h"
|
||||
#include "LCD_ConfDefaults.h" /* valid LCD configuration */
|
||||
#include <math.h>
|
||||
#include <stdlib.h>
|
||||
#include "GUIDEMO.h"
|
||||
|
||||
#if GUI_SUPPORT_MEMDEV
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Structure containing information for drawing routine
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
typedef struct {
|
||||
I16 * aY;
|
||||
} PARAM;
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Defines
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
#if GUIDEMO_LARGE
|
||||
#define YSIZE (LCD_YSIZE - 100)
|
||||
#else
|
||||
#define YSIZE (LCD_YSIZE - 30)
|
||||
#endif
|
||||
|
||||
#define DEG2RAD (3.1415926f / 180)
|
||||
|
||||
#if LCD_BITSPERPIXEL == 1
|
||||
#define COLOR_GRAPH0 GUI_WHITE
|
||||
#define COLOR_GRAPH1 GUI_WHITE
|
||||
#else
|
||||
#define COLOR_GRAPH0 GUI_GREEN
|
||||
#define COLOR_GRAPH1 GUI_YELLOW
|
||||
#endif
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* static data
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
static int _YSize;
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Draws the graph
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
static void _Draw(void * p) {
|
||||
int i;
|
||||
PARAM * pParam = (PARAM *)p;
|
||||
GUI_SetBkColor(GUI_BLACK);
|
||||
GUI_SetColor(GUI_DARKGRAY);
|
||||
GUI_ClearRect(19, (LCD_YSIZE - 20) - _YSize, (LCD_XSIZE - 2), (LCD_YSIZE - 21));
|
||||
for (i = 0; i < (_YSize / 2); i += 20) {
|
||||
GUI_DrawHLine((LCD_YSIZE - 20) - (_YSize / 2) + i, 19, (LCD_XSIZE - 2));
|
||||
if (i) {
|
||||
GUI_DrawHLine((LCD_YSIZE - 20) - (_YSize / 2) - i, 19, (LCD_XSIZE - 2));
|
||||
}
|
||||
}
|
||||
for (i = 40; i < (LCD_XSIZE - 20); i += 40) {
|
||||
GUI_DrawVLine(18 + i, (LCD_YSIZE - 20) - _YSize, (LCD_YSIZE - 21));
|
||||
}
|
||||
GUIDEMO_SetColor(COLOR_GRAPH0);
|
||||
GUI_DrawGraph(pParam->aY, (LCD_XSIZE - 20), 19, (LCD_YSIZE - 20) - _YSize);
|
||||
}
|
||||
|
||||
static void _Draw2(void * p) {
|
||||
PARAM * pParam = (PARAM *)p;
|
||||
_Draw(p);
|
||||
GUI_SetColor(COLOR_GRAPH1);
|
||||
GUI_DrawGraph(pParam->aY+15, (LCD_XSIZE - 20), 19, (LCD_YSIZE - 20) - _YSize);
|
||||
}
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Labels the x & y-axis
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
static void _Label(void) {
|
||||
int x, y;
|
||||
GUI_SetPenSize(1);
|
||||
GUI_ClearRect(0, (LCD_YSIZE - 21) - _YSize, (LCD_XSIZE - 1), (LCD_YSIZE - 1));
|
||||
GUI_DrawRect(18, (LCD_YSIZE - 21) - _YSize, (LCD_XSIZE - 1), (LCD_YSIZE - 20));
|
||||
GUI_SetFont(&GUI_Font6x8);
|
||||
for (x = 0; x < (LCD_XSIZE - 20); x += 40) {
|
||||
int xPos = x + 18;
|
||||
GUI_DrawVLine(xPos, (LCD_YSIZE - 20), (LCD_YSIZE - 14));
|
||||
GUI_DispDecAt(x / 40, xPos - 2, (LCD_YSIZE - 9), 1);
|
||||
}
|
||||
for (y = 0; y < _YSize / 2; y += 20) {
|
||||
int yPos = (LCD_YSIZE - 20) - _YSize / 2 + y;
|
||||
GUI_DrawHLine(yPos, 13, 18);
|
||||
if (y) {
|
||||
GUI_GotoXY(1, yPos - 4);
|
||||
GUI_DispSDec(-y / 20, 2);
|
||||
yPos = (LCD_YSIZE - 20) - _YSize / 2 - y;
|
||||
GUI_DrawHLine(yPos, 13, 18);
|
||||
GUI_GotoXY(1, yPos - 4);
|
||||
GUI_DispSDec(y / 20, 2);
|
||||
} else {
|
||||
GUI_DispCharAt('0', 7, yPos - 4);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Draws random data
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
static void _GetRandomData(I16 * paY, int Time, int n) {
|
||||
int aDiff, i;
|
||||
if (Time > 5000)
|
||||
Time -= 5000;
|
||||
if (Time > 2500)
|
||||
Time = 5000 - Time;
|
||||
Time /= 200;
|
||||
aDiff = Time * Time + 1;
|
||||
for (i = 0; i < n; i++) {
|
||||
if (!i) {
|
||||
paY[i] = rand() % _YSize;
|
||||
} else {
|
||||
int Rnd0, Rnd1, yD;
|
||||
I16 yNew;
|
||||
Rnd0 = rand();
|
||||
yD = aDiff - (Rnd0 % aDiff);
|
||||
Rnd1 = rand();
|
||||
if (Rnd1 > Rnd0) {
|
||||
yNew = paY[i-1] + yD;
|
||||
} else {
|
||||
yNew = paY[i-1] - yD;
|
||||
}
|
||||
if (yNew > _YSize) {
|
||||
yNew -= yD;
|
||||
} else { if (yNew < 0)
|
||||
yNew += yD;
|
||||
}
|
||||
paY[i] = yNew;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void _ShowText(const char * sText) {
|
||||
GUIDEMO_SetColor(GUI_WHITE);
|
||||
GUIDEMO_SetBkColor(GUI_RED);
|
||||
#if GUIDEMO_LARGE
|
||||
GUI_ClearRect(0, 0, LCD_XSIZE, 60);
|
||||
GUI_SetFont(&GUI_FontComic18B_ASCII);
|
||||
GUI_DispStringAt(sText, 10, 20);
|
||||
#else
|
||||
sText = sText; /* Avoid warning */
|
||||
#endif
|
||||
}
|
||||
|
||||
static void _LabelMS(void) {
|
||||
GUI_SetFont(&GUI_Font6x8);
|
||||
#if GUIDEMO_LARGE
|
||||
GUI_DispStringAt("msec/graph:", 10, 50);
|
||||
#endif
|
||||
}
|
||||
|
||||
static void _DisplayTime(int tDiff) {
|
||||
#if GUIDEMO_LARGE
|
||||
GUI_GotoXY(80, 50);
|
||||
GUIDEMO_SetColor(GUI_WHITE);
|
||||
GUIDEMO_SetBkColor(GUI_RED);
|
||||
GUI_DispDecSpace(tDiff, 3);
|
||||
#else
|
||||
tDiff = tDiff; /* Avoid warning */
|
||||
#endif
|
||||
}
|
||||
|
||||
static void _DemoRandomGraph(void) {
|
||||
PARAM Param;
|
||||
int tDiff, t0;
|
||||
int Cnt = 0;
|
||||
GUI_HMEM hMem;
|
||||
GUI_RECT Rect;
|
||||
Rect.x0 = 19;
|
||||
Rect.y0 = (LCD_YSIZE - 20) - _YSize;
|
||||
Rect.x1 = LCD_XSIZE - 2;
|
||||
Rect.y1 = LCD_YSIZE - 21;
|
||||
hMem = GUI_ALLOC_AllocZero((LCD_XSIZE - 20) * sizeof(I16));
|
||||
_ShowText("Random graph");
|
||||
GUI_LOCK();
|
||||
Param.aY = (I16*)GUI_ALLOC_h2p(hMem);
|
||||
GUI_UNLOCK(); /* Note: unlocking is permitted only if no further allocation is done so hMem stays valid */
|
||||
/*
|
||||
GUI_SetFont(&GUI_Font6x8);
|
||||
GUI_DispStringAt("msec/graph:", 10, 50);
|
||||
*/
|
||||
_LabelMS();
|
||||
t0 = GUI_GetTime();
|
||||
while(((tDiff = (GUI_GetTime() - t0)) < 10000) && !GUIDEMO_CheckCancel()) {
|
||||
U32 t1, tDiff2;
|
||||
_GetRandomData(Param.aY, tDiff, (LCD_XSIZE - 20));
|
||||
t1 = GUI_GetTime();
|
||||
GUI_MEMDEV_Draw(&Rect, _Draw, &Param, 0, GUI_MEMDEV_NOTRANS);
|
||||
tDiff2 = GUI_GetTime() - t1;
|
||||
if (tDiff2 < 100) {
|
||||
GUI_Delay(100 - tDiff2);
|
||||
}
|
||||
if(!((++Cnt)%10)) {
|
||||
_DisplayTime(tDiff2);
|
||||
/*
|
||||
GUI_GotoXY(80, 50);
|
||||
GUI_SetColor(GUI_WHITE);
|
||||
GUI_SetBkColor(GUI_RED);
|
||||
GUI_DispDecSpace(tDiff2, 3);
|
||||
*/
|
||||
}
|
||||
}
|
||||
GUI_ALLOC_Free(hMem);
|
||||
}
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Draws a sine wave
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
static void _GetSineData(I16 * paY, int n) {
|
||||
int i;
|
||||
for (i = 0; i < n; i++) {
|
||||
float s = sin(i * DEG2RAD * 4);
|
||||
paY[i] = s * _YSize / 2 + _YSize / 2;
|
||||
}
|
||||
}
|
||||
|
||||
static void _DemoSineWave(void) {
|
||||
PARAM Param;
|
||||
I16 * pStart;
|
||||
int t0, Cnt = 0;
|
||||
GUI_HMEM hMem;
|
||||
GUI_RECT Rect;
|
||||
Rect.x0 = 19;
|
||||
Rect.y0 = (LCD_YSIZE - 20) - _YSize;
|
||||
Rect.x1 = LCD_XSIZE - 2;
|
||||
Rect.y1 = LCD_YSIZE - 21;
|
||||
hMem = GUI_ALLOC_AllocZero((LCD_XSIZE + 90) * sizeof(I16));
|
||||
_ShowText("Sine wave");
|
||||
GUI_LOCK();
|
||||
pStart = (I16*)GUI_ALLOC_h2p(hMem);
|
||||
GUI_UNLOCK(); /* Note: unlocking is permitted only if no further allocation is done so hMem stays valid */
|
||||
_GetSineData(pStart, LCD_XSIZE + 90);
|
||||
/*
|
||||
GUI_SetFont(&GUI_Font6x8);
|
||||
GUI_DispStringAt("msec/graph:", 10, 50);
|
||||
*/
|
||||
_LabelMS();
|
||||
t0 = GUI_GetTime();
|
||||
while(((GUI_GetTime() - t0) < 10000) && !GUIDEMO_CheckCancel()) {
|
||||
U32 t1, tDiff2;
|
||||
if (Cnt % 90) {
|
||||
Param.aY++;
|
||||
} else {
|
||||
Param.aY = pStart;
|
||||
}
|
||||
t1 = GUI_GetTime();
|
||||
GUI_MEMDEV_Draw(&Rect, _Draw2, &Param, 0, GUI_MEMDEV_NOTRANS);
|
||||
tDiff2 = GUI_GetTime() - t1;
|
||||
if (tDiff2 < 100) {
|
||||
GUI_Delay(100 - tDiff2);
|
||||
}
|
||||
if(!((++Cnt) % 10)) {
|
||||
_DisplayTime(tDiff2);
|
||||
/*
|
||||
GUI_GotoXY(80, 50);
|
||||
GUI_SetColor(GUI_WHITE);
|
||||
GUI_SetBkColor(GUI_RED);
|
||||
GUI_DispDecSpace(tDiff2, 3);
|
||||
*/
|
||||
}
|
||||
}
|
||||
GUI_ALLOC_Free(hMem);
|
||||
}
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Adds several waves
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
static void _DrawOrData(GUI_COLOR Color, I16 * paY) {
|
||||
GUIDEMO_SetColor(Color);
|
||||
GUI_DrawGraph(paY, (LCD_XSIZE - 20), 19, (LCD_YSIZE - 20) - _YSize);
|
||||
}
|
||||
|
||||
static void _DemoOrData(void) {
|
||||
int i;
|
||||
PARAM Param;
|
||||
GUI_RECT Rect;
|
||||
GUI_HMEM hMem;
|
||||
Rect.x0 = 19;
|
||||
Rect.y0 = (LCD_YSIZE - 20) - _YSize;
|
||||
Rect.x1 = LCD_XSIZE - 2;
|
||||
Rect.y1 = LCD_YSIZE - 21;
|
||||
hMem = GUI_ALLOC_AllocZero((LCD_XSIZE + 90) * sizeof(I16));
|
||||
_ShowText("Several waves...");
|
||||
GUI_LOCK();
|
||||
Param.aY = (I16*)GUI_ALLOC_h2p(hMem);
|
||||
GUI_UNLOCK();
|
||||
_GetSineData(Param.aY, LCD_XSIZE + 90);
|
||||
GUI_MEMDEV_Draw(&Rect, _Draw, &Param, 0, GUI_MEMDEV_NOTRANS);
|
||||
for (i = 0; (i < 90) && !GUIDEMO_CheckCancel(); i++) {
|
||||
_DrawOrData(GUI_GREEN, ++Param.aY);
|
||||
GUI_Delay(10);
|
||||
}
|
||||
GUI_ALLOC_Free(hMem);
|
||||
}
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* GUIDEMO_Graph
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
void GUIDEMO_Graph(void) {
|
||||
#if GUIDEMO_LARGE
|
||||
_YSize = (LCD_YSIZE - 100);
|
||||
#else
|
||||
_YSize = (LCD_YSIZE - 30);
|
||||
#endif
|
||||
GUIDEMO_ShowIntro("Drawing a graph",
|
||||
"\nOptimized drawing routine"
|
||||
"\nfor drawing graph data");
|
||||
GUI_Clear();
|
||||
_Label();
|
||||
_DemoRandomGraph();
|
||||
GUIDEMO_NotifyStartNext();
|
||||
_DemoSineWave();
|
||||
GUIDEMO_NotifyStartNext();
|
||||
_DemoOrData();
|
||||
}
|
||||
|
||||
#elif defined(NC30) || defined(NC308)
|
||||
|
||||
void GUIDEMO_Graph(void) {}
|
||||
|
||||
#endif
|
||||
+108
@@ -0,0 +1,108 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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_HardwareInfo.c
|
||||
Purpose : Displays hardware info
|
||||
----------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
#include "GUI.h"
|
||||
#include "GUIDEMO.h"
|
||||
#include "LCD_ConfDefaults.h" /* valid LCD configuration */
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Static functions
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
#if (LCD_CONTROLLER == 1375) | (LCD_CONTROLLER == 13705) | (LCD_CONTROLLER == 1386) | (LCD_CONTROLLER == 13806)
|
||||
static void _Show(const char* s0, const char* s1) {
|
||||
GUIDEMO_SetColor(GUI_WHITE);
|
||||
#if (LCD_YSIZE < 160)
|
||||
GUI_SetFont(&GUI_Font8_ASCII);
|
||||
#else
|
||||
GUI_SetFont(&GUI_Font13B_ASCII);
|
||||
#endif
|
||||
GUI_DispString("\n");
|
||||
#if (LCD_YSIZE < 128)
|
||||
GUIDEMO_Delay(200);
|
||||
GUI_GotoXY(0, LCD_YSIZE / 2 - 6);
|
||||
GUI_ClearRect(0, 24, LCD_XSIZE - 1, LCD_YSIZE - 1);
|
||||
GUIDEMO_Delay(200);
|
||||
#endif
|
||||
GUI_DispString(s0);
|
||||
GUIDEMO_Delay(500);
|
||||
#if GUIDEMO_LARGE
|
||||
GUI_GotoX(110);
|
||||
GUIDEMO_SetColor(GUI_GREEN);
|
||||
#else
|
||||
GUI_GotoX(100);
|
||||
GUIDEMO_SetColor(GUI_BLUE);
|
||||
#endif
|
||||
#if (LCD_XSIZE < 320)
|
||||
GUI_DispString("\n");
|
||||
#if (LCD_XSIZE < 200)
|
||||
GUI_GotoX(10);
|
||||
#else
|
||||
GUI_GotoX(LCD_XSIZE / 6);
|
||||
#endif
|
||||
#endif
|
||||
GUI_DispString(s1);
|
||||
GUIDEMO_Delay(1000);
|
||||
}
|
||||
#endif
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* GUIDEMO_HardwareInfo
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
void GUIDEMO_HardwareInfo(void) {
|
||||
#if (LCD_CONTROLLER == 1375) | (LCD_CONTROLLER == 13705) | (LCD_CONTROLLER == 1386) | (LCD_CONTROLLER == 13806)
|
||||
GUIDEMO_ShowIntro("Hardware info", "" );
|
||||
GUI_Clear();
|
||||
#if GUIDEMO_LARGE
|
||||
GUI_SetFont(&GUI_FontComic24B_ASCII);
|
||||
#else
|
||||
GUI_SetFont(&GUI_FontComic18B_ASCII);
|
||||
#endif
|
||||
GUIDEMO_SetColor(GUI_WHITE);
|
||||
#if (LCD_CONTROLLER == 1375) | (LCD_CONTROLLER == 13705)
|
||||
#if GUIDEMO_LARGE
|
||||
GUI_DispStringAt("EPSON 13705\n", 10, 65 );
|
||||
#else
|
||||
GUI_DispStringHCenterAt("EPSON 13705\n", LCD_XSIZE >> 1, LCD_YSIZE / 14);
|
||||
#endif
|
||||
_Show("On chip VRAM", "80 kb");
|
||||
_Show("Max. colors", "4096 (4 bit per color)");
|
||||
_Show("Display types", "Mono / color / TFT");
|
||||
_Show("LUT", "256 index colors");
|
||||
#elif (LCD_CONTROLLER == 1386) | (LCD_CONTROLLER == 13806)
|
||||
#if GUIDEMO_LARGE
|
||||
GUI_DispStringAt("EPSON 13806\n", 10, 65 );
|
||||
#else
|
||||
GUI_DispStringHCenterAt("EPSON 13806\n", LCD_XSIZE >> 1, LCD_YSIZE / 14);
|
||||
#endif
|
||||
_Show("On chip VRAM", "1200 kb");
|
||||
_Show("Max. colors", "65536 (up to 16 bpp)");
|
||||
_Show("Display types", "Mono / color / TFT (analog / digital)");
|
||||
_Show("LUT", "256 index colors");
|
||||
#endif
|
||||
GUIDEMO_Delay(1500);
|
||||
#endif
|
||||
}
|
||||
@@ -0,0 +1,165 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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
|
||||
@@ -0,0 +1,82 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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_Lut.c
|
||||
Purpose : Modify lookup table
|
||||
----------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
#include "GUI.h"
|
||||
#include "GUIDEMO.h"
|
||||
#include "LCD_ConfDefaults.h" /* valid LCD configuration */
|
||||
|
||||
#if (LCD_BITSPERPIXEL > 2) && (LCD_BITSPERPIXEL <= 8)
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Static functions
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
static void _ModifyLUT(int RFaktor, int GFaktor, int BFaktor) {
|
||||
int NumColors = LCD_GetDevCap(LCD_DEVCAP_NUMCOLORS);
|
||||
int i;
|
||||
for (i = 0; (i < NumColors) && !GUIDEMO_CheckCancel(); i++) {
|
||||
U32 Color = LCD_GetDevCap(LCD_DEVCAP_COLOR + i);
|
||||
U32 R = Color & 0xff;
|
||||
U32 G = (Color >> 8) & 0xff;
|
||||
U32 B = (Color >> 16) & 0xff;
|
||||
/* Now modify color */
|
||||
R = (R * RFaktor) / 100; if (R > 255) R = 255;
|
||||
G = (G * GFaktor) / 100; if (G > 255) G = 255;
|
||||
B = (B * BFaktor) / 100; if (B > 255) B = 255;
|
||||
/* Write modified color into lookup table */
|
||||
Color = R | (G << 8) | (B << 16);
|
||||
GUI_SetLUTEntry((U8)i, Color);
|
||||
}
|
||||
}
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* GUIDEMO_DemoLUT
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
void GUIDEMO_DemoLUT(void) {
|
||||
int i;
|
||||
GUIDEMO_ShowIntro("Modify LUT", "... after drawing color bars");
|
||||
GUIDEMO_ShowColorBar();
|
||||
for (i = 100; (i >= 0) && !GUIDEMO_CheckCancel(); i -= 2) {
|
||||
_ModifyLUT(100, 100, i);
|
||||
GUI_Delay(20);
|
||||
}
|
||||
for (i = 100; (i >= 0) && !GUIDEMO_CheckCancel(); i -= 2) {
|
||||
_ModifyLUT(100, i, 0);
|
||||
GUI_Delay(20);
|
||||
}
|
||||
for (i = 100; (i >= 0) && !GUIDEMO_CheckCancel(); i -= 2) {
|
||||
_ModifyLUT(i, i, i);
|
||||
GUI_Delay(20);
|
||||
}
|
||||
LCD_InitLUT();
|
||||
GUIDEMO_Wait();
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
void GUIDEMO_DemoLUT(void) {}
|
||||
|
||||
#endif
|
||||
+157
@@ -0,0 +1,157 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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_MemDevB.c
|
||||
Purpose : Memory device demo
|
||||
----------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
#include "GUI.h"
|
||||
#include "GUIDEMO.h"
|
||||
#if GUI_WINSUPPORT
|
||||
#include "WM.h"
|
||||
#endif
|
||||
#include "stdio.h"
|
||||
|
||||
#if GUI_SUPPORT_MEMDEV
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Static data
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
static const GUI_POINT _aArrow[] = {
|
||||
{ 0, 0 +85},
|
||||
{-40, -35 +85},
|
||||
{-10, -25 +85},
|
||||
{-10, -85 +85},
|
||||
{ 10, -85 +85},
|
||||
{ 10, -25 +85},
|
||||
{ 40, -35 +85}
|
||||
};
|
||||
|
||||
/* Define the callback structure. The structure should contain all the data
|
||||
required by the callback drawing funtion
|
||||
*/
|
||||
typedef struct {
|
||||
int Angle;
|
||||
int DoClear;
|
||||
GUI_COLOR BkColor;
|
||||
} tDrawContext;
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Static functions
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
/* The user defined callback routine */
|
||||
static void _Draw(void * p) {
|
||||
int XSize = LCD_GetXSize();
|
||||
int YSize = LCD_GetYSize();
|
||||
tDrawContext * pContext = (tDrawContext *)p;
|
||||
int i = pContext->Angle;
|
||||
static int iLast = -1;
|
||||
static GUI_POINT aPoint[7];
|
||||
if (pContext->DoClear) {
|
||||
GUI_SetBkColor(pContext->BkColor);
|
||||
GUI_Clear();
|
||||
}
|
||||
GUI_SetFont(&GUI_FontD24x32);
|
||||
GUI_SetTextMode(GUI_TM_TRANS);
|
||||
GUI_SetColor(GUI_GRAY);
|
||||
GUI_SetFont(&GUI_FontComic18B_ASCII);
|
||||
GUI_DispStringHCenterAt("Below arrow", XSize / 2, YSize / 2 - 20);
|
||||
if (iLast != i) {
|
||||
float Angle = 0.02 * (float)i;
|
||||
iLast = i;
|
||||
GUI_RotatePolygon(aPoint, _aArrow, 7, Angle);
|
||||
}
|
||||
GUI_SetColor(GUI_WHITE);
|
||||
GUI_FillPolygon(&aPoint[0], 7, XSize / 2, YSize / 2 + 30);
|
||||
GUI_SetTextMode(GUI_TM_TRANS);
|
||||
GUI_SetColor(GUI_DARKGRAY);
|
||||
GUI_SetFont(&GUI_FontComic18B_ASCII);
|
||||
GUI_DispStringHCenterAt("Above arrow", XSize / 2, YSize / 2);
|
||||
}
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* GUIDEMO_ShowMemoryDevice
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
void GUIDEMO_ShowMemoryDevice(void) {
|
||||
int i;
|
||||
U32 tDiff, t0;
|
||||
tDrawContext DrawContext;
|
||||
GUI_RECT rView, rPrev, rTemp;
|
||||
GUIDEMO_ShowIntro("Memory devices",
|
||||
"\nFor flicker free animation"
|
||||
"\nand other purposes");
|
||||
GUIDEMO_NotifyStartNext();
|
||||
GUI_SetBkColor(GUI_GREEN);
|
||||
GUI_Clear();
|
||||
/* Use banding memory device */
|
||||
GUI_GetClientRect(&rView);
|
||||
DrawContext.BkColor = GUI_ColorIsAvailable(GUI_RED) ? GUI_RED : GUI_BLACK;
|
||||
GUI_SetBkColor(DrawContext.BkColor);
|
||||
GUI_Clear();
|
||||
t0 = GUI_GetTime();
|
||||
for (i = 0; tDiff = GUI_GetTime() - t0, (tDiff < 8000) && !GUIDEMO_CheckCancel(); i++) {
|
||||
U32 t = GUI_GetTime();
|
||||
DrawContext.Angle = 90 + tDiff / 50;
|
||||
/* Calculate required size */
|
||||
{
|
||||
GUI_HMEM hMem = GUI_MEASDEV_Create();
|
||||
GUI_MEASDEV_Select(hMem);
|
||||
DrawContext.DoClear = 0;
|
||||
_Draw(&DrawContext);
|
||||
GUI_MEASDEV_GetRect(hMem, &rView);
|
||||
GUI_MEASDEV_Delete(hMem);
|
||||
rTemp = rView;
|
||||
if (i)
|
||||
GUI_MergeRect(&rView, &rView, &rPrev);
|
||||
rPrev = rTemp;
|
||||
}
|
||||
DrawContext.DoClear = 1;
|
||||
GUI_MEMDEV_Draw(&rView, _Draw, &DrawContext, 0, GUI_MEMDEV_NOTRANS);
|
||||
t = (GUI_GetTime() - t);
|
||||
if (t < 20) {
|
||||
GUI_Delay(20 -t);
|
||||
}
|
||||
}
|
||||
GUI_SetFont(&GUI_FontComic24B_ASCII);
|
||||
GUI_SetColor(GUI_WHITE);
|
||||
GUI_SetBkColor(DrawContext.BkColor);
|
||||
GUI_DispStringAt("ms/Update: ", 10 , 200);
|
||||
if (i) {
|
||||
GUI_DispDecMin(tDiff / i);
|
||||
}
|
||||
GUIDEMO_Delay(1000);
|
||||
GUI_Clear();
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
void GUIDEMO_ShowMemoryDevice(void) {}
|
||||
|
||||
#endif /* GUI_SUPPORT_MEMDEV */
|
||||
|
||||
|
||||
|
||||
+55
@@ -0,0 +1,55 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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_Messagebox.c
|
||||
Purpose : Messagebox samples
|
||||
----------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
#include <stddef.h> /* needed for definition of NULL */
|
||||
#include "GUI.h"
|
||||
#include "GUIDEMO.h"
|
||||
#include "LCD_ConfDefaults.h"
|
||||
|
||||
#if GUI_WINSUPPORT
|
||||
|
||||
#include "WM.h"
|
||||
#include "DIALOG.h"
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* GUIDEMO_Dialog
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
void GUIDEMO_Messagebox(void) {
|
||||
GUI_COLOR Color;
|
||||
GUIDEMO_ShowIntro("Message boxes",
|
||||
"Message boxes" "\ncan easily be created");
|
||||
Color = WM_SetDesktopColor(GUI_RED);
|
||||
GUI_MessageBox("Message", "Text", 0);
|
||||
GUI_Delay(1000);
|
||||
GUI_MessageBox("2. Message", "Text", 0);
|
||||
GUI_Delay(1000);
|
||||
WM_SetDesktopColor(Color);
|
||||
GUIDEMO_NotifyStartNext();
|
||||
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
void GUIDEMO_Messagebox(void) {}
|
||||
|
||||
#endif /* GUI_SUPPORT_MEMDEV */
|
||||
@@ -0,0 +1,190 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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_Navi.c
|
||||
Purpose : Navigation system demo
|
||||
----------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
#include <math.h>
|
||||
|
||||
#include "GUI.h"
|
||||
#include "GUIDEMO.h"
|
||||
|
||||
#if GUI_WINSUPPORT & GUI_SUPPORT_MEMDEV
|
||||
|
||||
#include "WM.h"
|
||||
#include "FRAMEWIN.h"
|
||||
|
||||
#include "Map.h"
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* defines
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
#if GUIDEMO_TINY
|
||||
#define BORDER 0
|
||||
#else
|
||||
#define BORDER 8
|
||||
#endif
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* static data
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
static int _MapX = 0;
|
||||
static int _MapY = 0;
|
||||
static int _MapHereX = 90;
|
||||
static int _MapHereY = 15;
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* static code
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
/*********************************************************************
|
||||
*
|
||||
* _cbNaviWindow
|
||||
*/
|
||||
static void _cbNaviWindow(WM_MESSAGE* pMsg) {
|
||||
switch (pMsg->MsgId) {
|
||||
case WM_PAINT:
|
||||
GUI_SetDrawMode(GUI_DRAWMODE_NORMAL);
|
||||
GUI_SetTextMode(GUI_TM_TRANS);
|
||||
GUI_SetFont(&GUI_FontComic18B_ASCII);
|
||||
GUI_SetColor(0x0050FF);
|
||||
GUI_DrawBitmap(&bmMap, -_MapX, -_MapY);
|
||||
GUI_DrawCircle(_MapHereX - _MapX, _MapHereY - _MapY, 4);
|
||||
GUI_DrawCircle(_MapHereX - _MapX, _MapHereY - _MapY, 5);
|
||||
GUI_DispStringAt("You are here", _MapHereX - _MapX - 45, _MapHereY - _MapY - 22);
|
||||
break;
|
||||
default:
|
||||
WM_DefaultProc(pMsg);
|
||||
}
|
||||
}
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* _NavigationDriveTo
|
||||
*/
|
||||
static void _NavigationDriveTo(WM_HWIN hWin, int x1, int y1) {
|
||||
GUI_RECT Rect;
|
||||
int x0 = _MapHereX;
|
||||
int y0 = _MapHereY;
|
||||
float dx = x1 - x0;
|
||||
float dy = y1 - y0;
|
||||
float Len = sqrt((dx * dx) + (dy * dy));
|
||||
float sx = dx / Len;
|
||||
float sy = dy / Len;
|
||||
int i, tRef;
|
||||
WM_GetClientRectEx(hWin, &Rect);
|
||||
for (i = 1; (i <= Len) && !GUIDEMO_CheckCancel(); i += 2) {
|
||||
tRef = GUI_GetTime();
|
||||
_MapHereX = x0 + (i * sx);
|
||||
_MapHereY = y0 + (i * sy);
|
||||
_MapX = _MapHereX - (Rect.x1 >> 1);
|
||||
_MapY = _MapHereY - (Rect.y1 >> 1);
|
||||
if (_MapX < 0) {
|
||||
_MapX = 0;
|
||||
} else if ((_MapX + Rect.x1) >= bmMap.XSize) {
|
||||
_MapX = bmMap.XSize - Rect.x1 - 1;
|
||||
}
|
||||
if (_MapY < 0) {
|
||||
_MapY = 0;
|
||||
} else if ((_MapY + Rect.y1) >= bmMap.YSize) {
|
||||
_MapY = bmMap.YSize - Rect.y1 - 1;
|
||||
}
|
||||
WM_InvalidateWindow(hWin);
|
||||
do {
|
||||
GUI_Exec();
|
||||
} while (((GUI_GetTime() - tRef) < 100) && !GUIDEMO_CheckCancel());
|
||||
}
|
||||
_MapHereX = x1;
|
||||
_MapHereY = y1;
|
||||
WM_InvalidateWindow(hWin);
|
||||
}
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* _ShowMovingMap
|
||||
*/
|
||||
static void _ShowMovingMap(void) {
|
||||
WM_HWIN hWin;
|
||||
WM_HWIN hClient;
|
||||
int i, x, y, w, h;
|
||||
int xSize = LCD_GetXSize();
|
||||
int ySize = LCD_GetYSize();
|
||||
const GUI_POINT aRouteToSegger[] = {
|
||||
{ 90, 15}, {131, 54}, {141, 62},
|
||||
{166, 46}, {180, 40}, {204, 113},
|
||||
{213, 156}, {217, 172}, {206, 173},
|
||||
{205, 165}
|
||||
};
|
||||
#if GUIDEMO_LARGE
|
||||
y = 70;
|
||||
#else
|
||||
y = BORDER;
|
||||
#endif
|
||||
x = BORDER;
|
||||
w = xSize - x - BORDER;
|
||||
h = ySize - y - BORDER;
|
||||
if (w > bmMap.XSize) {
|
||||
w = bmMap.XSize;
|
||||
}
|
||||
if (h > bmMap.YSize) {
|
||||
h = bmMap.YSize;
|
||||
}
|
||||
/* Initialize starting point */
|
||||
_MapHereX = aRouteToSegger[0].x;
|
||||
_MapHereY = aRouteToSegger[0].y;
|
||||
/* Create framewin */
|
||||
hWin = FRAMEWIN_CreateEx(x, y, w, h, WM_HBKWIN, WM_CF_SHOW | WM_CF_MEMDEV, 0, 0, "Map to Segger (Hilden)", _cbNaviWindow);
|
||||
FRAMEWIN_SetActive(hWin, 0);
|
||||
hClient = WM_GetClientWindow(hWin);
|
||||
WM_SetCallback(hClient, &_cbNaviWindow);
|
||||
/* Move over map */
|
||||
for (i = 1; (i < 10) && !GUIDEMO_CheckCancel(); i++) {
|
||||
_NavigationDriveTo(hClient, aRouteToSegger[i].x, aRouteToSegger[i].y);
|
||||
}
|
||||
GUIDEMO_Delay(1000);
|
||||
/* Delete framewin */
|
||||
WM_DeleteWindow(hWin);
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
#define _ShowMovingMap()
|
||||
|
||||
#endif
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* GUIDEMO_Navigation
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
void GUIDEMO_Navigation(void) {
|
||||
GUIDEMO_ShowIntro("Navigation system",
|
||||
"\nSamples used in"
|
||||
"\nNavigation systems");
|
||||
_ShowMovingMap();
|
||||
}
|
||||
+147
@@ -0,0 +1,147 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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_Polygon.c
|
||||
Purpose : Several GUIDEMO routines
|
||||
----------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
#include "GUI.h"
|
||||
#include "GUIDEMO.h"
|
||||
|
||||
#define COUNTOF(Obj) (sizeof(Obj)/sizeof(Obj[0]))
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Static data
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
static const GUI_POINT _aArrow[] = {
|
||||
{ 0, 30 },
|
||||
{-40, 0 },
|
||||
{-10, 10 },
|
||||
{-10, -50 },
|
||||
{ 10, -50 },
|
||||
{ 10, 10 },
|
||||
{ 40, 0 }
|
||||
};
|
||||
|
||||
static const GUI_POINT _aTriangle[] = {
|
||||
{ 0, 0 },
|
||||
{-30, 30 },
|
||||
{ 30, 30 },
|
||||
};
|
||||
|
||||
#if GUI_SUPPORT_AA
|
||||
static const GUI_POINT _aiCursor[] = {
|
||||
{ 0, -10 },
|
||||
{ 50, 0 },
|
||||
{ 0, -100 },
|
||||
{-50, 0 }
|
||||
};
|
||||
#endif
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* static code
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
/*********************************************************************
|
||||
*
|
||||
* _MagnifyPolygon
|
||||
*/
|
||||
#if ((LCD_XSIZE != 320) || (LCD_YSIZE != 240))
|
||||
static void _MagnifyPolygon(GUI_POINT* pDest, const GUI_POINT* pSrc, int NumPoints, float Mag) {
|
||||
int j;
|
||||
for (j = 0; j < NumPoints; j++) {
|
||||
(pDest + j)->x = (pSrc + j)->x * Mag;
|
||||
(pDest + j)->y = (pSrc + j)->y * Mag;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* public code
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
/*********************************************************************
|
||||
*
|
||||
* GUIDEMO_DemoPolygon
|
||||
*/
|
||||
void GUIDEMO_DemoPolygon(void) {
|
||||
GUI_COLOR Color;
|
||||
int XMid = (LCD_XSIZE >> 1);
|
||||
int YMid = (LCD_YSIZE >> 1);
|
||||
GUIDEMO_ShowIntro("Arbitrary Polygons",
|
||||
"\nStandard and antialiased");
|
||||
GUI_SetColor(GUI_WHITE);
|
||||
#if GUIDEMO_LARGE
|
||||
GUI_SetFont(&GUI_FontComic18B_ASCII);
|
||||
GUI_DispStringAt("Arbitrary\nPolygons", 0, 0);
|
||||
YMid += 10;
|
||||
#endif
|
||||
#if ((LCD_XSIZE != 320) || (LCD_YSIZE != 240))
|
||||
{
|
||||
GUI_POINT aPolygon[8];
|
||||
float Factor;
|
||||
#if ((LCD_XSIZE / 320) < (LCD_YSIZE / 240))
|
||||
Factor = LCD_XSIZE / 320.f;
|
||||
#else
|
||||
Factor = LCD_YSIZE / 240.f;
|
||||
#endif
|
||||
#if !(GUIDEMO_LARGE)
|
||||
Factor *= 1.2f;
|
||||
#endif
|
||||
/* Draw arrows */
|
||||
_MagnifyPolygon(aPolygon, _aArrow, COUNTOF(_aArrow), Factor);
|
||||
GUI_FillPolygon(aPolygon, 7, XMid - (50 * Factor), YMid);
|
||||
GUI_FillPolygon(aPolygon, 7, XMid + (50 * Factor), YMid);
|
||||
/* Draw triangle */
|
||||
_MagnifyPolygon(aPolygon, _aTriangle, COUNTOF(_aTriangle), Factor);
|
||||
Color = GUIDEMO_SetColor(GUI_GREEN);
|
||||
if (Color != GUI_GREEN) {
|
||||
GUI_SetColor(GUI_YELLOW);
|
||||
}
|
||||
GUI_FillPolygon(aPolygon, 3, XMid, YMid + (10 * Factor));
|
||||
/* Draw cursor */
|
||||
#if GUI_SUPPORT_AA
|
||||
GUI_SetColor(GUI_WHITE);
|
||||
GUI_AA_EnableHiRes();
|
||||
_MagnifyPolygon(aPolygon, _aiCursor, COUNTOF(_aiCursor), Factor);
|
||||
GUI_AA_FillPolygon(aPolygon, 4, XMid * 3, (YMid - (10 * Factor)) * 3);
|
||||
#endif
|
||||
}
|
||||
#else
|
||||
GUI_FillPolygon(_aArrow, 7, XMid - 50, YMid);
|
||||
GUI_FillPolygon(_aArrow, 7, XMid + 50, YMid);
|
||||
/* Draw triangle */
|
||||
Color = GUIDEMO_SetColor(GUI_GREEN);
|
||||
if (Color != GUI_GREEN) {
|
||||
GUI_SetColor(GUI_YELLOW);
|
||||
}
|
||||
GUI_FillPolygon(_aTriangle, 3, XMid, YMid + 10);
|
||||
/* Draw cursor */
|
||||
#if GUI_SUPPORT_AA
|
||||
GUI_SetColor(GUI_WHITE);
|
||||
GUI_AA_EnableHiRes();
|
||||
GUI_AA_FillPolygon((GUI_POINT*)_aiCursor, 4, XMid * 3, (YMid - 10) * 3);
|
||||
#endif
|
||||
#endif
|
||||
GUIDEMO_Wait();
|
||||
}
|
||||
+147
@@ -0,0 +1,147 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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_DemoProgBar.c
|
||||
Purpose : Progress bar demo
|
||||
----------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
#include "GUI.h"
|
||||
#include "GUIDEMO.h"
|
||||
|
||||
#if GUI_WINSUPPORT
|
||||
|
||||
#include "PROGBAR.h"
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* GUIDEMO_DemoProgBar
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
void GUIDEMO_DemoProgBar(void) {
|
||||
PROGBAR_Handle ahProgBar[2];
|
||||
int i, iRep;
|
||||
int XMid = LCD_GetXSize() / 2;
|
||||
int YMid = LCD_GetYSize() / 2;
|
||||
#if GUIDEMO_LARGE
|
||||
int MaxReps = 2;
|
||||
int Length[2] = {110, 140};
|
||||
int Height[2] = {20, 10};
|
||||
int y0 = YMid - 40;
|
||||
int dy = 10;
|
||||
#elif !(GUIDEMO_TINY)
|
||||
int MaxReps = 1;
|
||||
int Length[2] = {100, 130};
|
||||
int Height[2] = {18, 10};
|
||||
int y0 = YMid - 38;
|
||||
int dy = 9;
|
||||
#else
|
||||
int MaxReps = 1;
|
||||
int Length[2] = {85, 115};
|
||||
int Height[2] = {16, 8};
|
||||
int y0 = YMid - 35;
|
||||
int dy = 8;
|
||||
#endif
|
||||
if (YMid < 40) {
|
||||
Height[0] = 14;
|
||||
y0 = 1;
|
||||
dy = 4;
|
||||
}
|
||||
GUIDEMO_ShowIntro("Widgets",
|
||||
"\nProgressbars in"
|
||||
"\nall variations");
|
||||
GUI_Clear();
|
||||
GUI_SetColor(GUI_WHITE);
|
||||
GUI_SetFont(&GUI_Font8x16);
|
||||
GUI_DispStringHCenterAt("Progress bar", XMid, y0);
|
||||
/* Create `em */
|
||||
ahProgBar[0] = PROGBAR_Create(XMid - Length[0] / 2,
|
||||
YMid - Height[0],
|
||||
Length[0],
|
||||
Height[0],
|
||||
WM_CF_SHOW);
|
||||
ahProgBar[1] = PROGBAR_Create(XMid - Length[1] / 2,
|
||||
YMid + dy,
|
||||
Length[1],
|
||||
Height[1],
|
||||
WM_CF_SHOW);
|
||||
/* Use memory device (optional, for better looks) */
|
||||
#if GUI_SUPPORT_MEMDEV
|
||||
PROGBAR_EnableMemdev(ahProgBar[0]);
|
||||
PROGBAR_EnableMemdev(ahProgBar[1]);
|
||||
#endif
|
||||
GUIDEMO_Delay (800);
|
||||
PROGBAR_SetMinMax(ahProgBar[1], 0, 500);
|
||||
for (iRep = 0; iRep < MaxReps; iRep++) {
|
||||
#if !(GUIDEMO_TINY)
|
||||
PROGBAR_SetFont(ahProgBar[0], &GUI_Font8x16);
|
||||
#endif
|
||||
#if (LCD_BITSPERPIXEL == 2)
|
||||
PROGBAR_SetBarColor(ahProgBar[0], 0, GUI_DARKGRAY);
|
||||
PROGBAR_SetBarColor(ahProgBar[1], 0, GUI_DARKGRAY);
|
||||
PROGBAR_SetBarColor(ahProgBar[0], 1, GUI_WHITE);
|
||||
PROGBAR_SetBarColor(ahProgBar[1], 1, GUI_WHITE);
|
||||
#elif (LCD_BITSPERPIXEL <= 4)
|
||||
PROGBAR_SetBarColor(ahProgBar[0], 0, GUI_DARKGRAY);
|
||||
PROGBAR_SetBarColor(ahProgBar[0], 1, GUI_LIGHTGRAY);
|
||||
#else
|
||||
PROGBAR_SetBarColor(ahProgBar[0], 0, GUI_GREEN);
|
||||
PROGBAR_SetBarColor(ahProgBar[0], 1, GUI_RED);
|
||||
#endif
|
||||
for (i = 0; (i <= 100) && !GUIDEMO_CheckCancel(); i++) {
|
||||
PROGBAR_SetValue(ahProgBar[0], i);
|
||||
PROGBAR_SetValue(ahProgBar[1], i);
|
||||
GUI_Delay(5);
|
||||
}
|
||||
PROGBAR_SetText(ahProgBar[0], "Tank empty");
|
||||
for (; (i >= 0)&& !GUIDEMO_CheckCancel(); i--) {
|
||||
PROGBAR_SetValue(ahProgBar[0], i);
|
||||
PROGBAR_SetValue(ahProgBar[1], 200 - i);
|
||||
GUI_Delay(5);
|
||||
}
|
||||
PROGBAR_SetText(ahProgBar[0], "Any text ...");
|
||||
PROGBAR_SetTextAlign(ahProgBar[0], GUI_TA_LEFT);
|
||||
for (; (i <= 100)&& !GUIDEMO_CheckCancel(); i++) {
|
||||
PROGBAR_SetValue(ahProgBar[0], i);
|
||||
PROGBAR_SetValue(ahProgBar[1], 200 + i);
|
||||
GUI_Delay(5);
|
||||
}
|
||||
for (; (i >= 0)&& !GUIDEMO_CheckCancel(); i--) {
|
||||
PROGBAR_SetValue(ahProgBar[0], i);
|
||||
PROGBAR_SetValue(ahProgBar[1], 400 - i);
|
||||
GUI_Delay(5);
|
||||
}
|
||||
PROGBAR_SetFont(ahProgBar[0], &GUI_FontComic18B_1);
|
||||
PROGBAR_SetText(ahProgBar[0], "Any font ...");
|
||||
for (; (i <= 100)&& !GUIDEMO_CheckCancel(); i++) {
|
||||
PROGBAR_SetValue(ahProgBar[0], i);
|
||||
PROGBAR_SetValue(ahProgBar[1], 400 + i);
|
||||
GUI_Delay(5);
|
||||
}
|
||||
GUIDEMO_Delay(1000);
|
||||
}
|
||||
GUIDEMO_Delay(1000);
|
||||
PROGBAR_Delete(ahProgBar[0]);
|
||||
PROGBAR_Delete(ahProgBar[1]);
|
||||
GUIDEMO_Delay(1000);
|
||||
GUI_SetFont(&GUI_Font10S_ASCII);
|
||||
}
|
||||
|
||||
#elif defined(NC30) || defined(NC308)
|
||||
|
||||
void GUIDEMO_ProgBar(void) {}
|
||||
|
||||
#endif /* GUI_WINSUPPORT */
|
||||
@@ -0,0 +1,91 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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_Speed.c
|
||||
Purpose : Speed demo
|
||||
----------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
#include <stdlib.h> /* for rand */
|
||||
#include "GUI.h"
|
||||
#include "GUIDEMO.h"
|
||||
|
||||
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();
|
||||
}
|
||||
@@ -0,0 +1,388 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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_Touch
|
||||
Purpose : Touch demo
|
||||
---------------------------END-OF-HEADER------------------------------
|
||||
*/
|
||||
|
||||
#include "GUI.h"
|
||||
#include "LCD_ConfDefaults.h" /* valid LCD configuration */
|
||||
#include "GUIDEMO.h"
|
||||
|
||||
#if (GUI_WINSUPPORT && GUI_SUPPORT_TOUCH)
|
||||
|
||||
#include "BUTTON.h"
|
||||
#include "EDIT.h"
|
||||
|
||||
#define countof(Obj) (sizeof(Obj)/sizeof(Obj[0]))
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Static functions
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
static int _Log2Phys(int l, I32 l0, I32 l1, I32 p0, I32 p1) {
|
||||
return p0 + ((p1 - p0) * (l - l0)) / (l1 - l0);
|
||||
}
|
||||
|
||||
static void _Calibrate(int Coord, int Log0, int Log1, int Phys0, int Phys1, int *p0, int *p1) {
|
||||
int l0 = 0;
|
||||
int l1 = (Coord == GUI_COORD_X) ? LCD_XSIZE - 1 : LCD_YSIZE - 1;
|
||||
*p0 = _Log2Phys(l0, Log0, Log1, Phys0, Phys1);
|
||||
*p1 = _Log2Phys(l1, Log0, Log1, Phys0, Phys1);
|
||||
}
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* _ExecCalibration
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
static void _ExecCalibration(void) {
|
||||
int ax_Phys[2],ay_Phys[2];
|
||||
/* calculate log. Positions */
|
||||
int ax[2] = { 15, LCD_XSIZE -1-15};
|
||||
// const int ay[2] = { 15, LCD_YSIZE-1-15};
|
||||
int ay[2] = { LCD_YSIZE-1-15, 15};
|
||||
GUI_TOUCH_SetDefaultCalibration();
|
||||
/* _Calibrate upper left */
|
||||
GUI_SetBkColor(GUI_RED);
|
||||
GUI_Clear();
|
||||
GUI_SetColor(GUI_WHITE); GUI_FillCircle(ax[0], ay[0], 10);
|
||||
GUI_SetColor(GUI_RED); GUI_FillCircle(ax[0], ay[0], 5);
|
||||
GUI_SetColor(GUI_WHITE);
|
||||
GUI_DispStringAt("Press here", ax[0]+20, ay[0]);
|
||||
do {
|
||||
GUI_PID_STATE State;
|
||||
GUI_TOUCH_GetState(&State);
|
||||
if (State.Pressed) {
|
||||
ax_Phys[0] = GUI_TOUCH_GetxPhys();
|
||||
ay_Phys[0] = GUI_TOUCH_GetyPhys();
|
||||
break;
|
||||
}
|
||||
GUI_Delay (100);
|
||||
} while (1);
|
||||
/* Tell user to release */
|
||||
GUI_Clear();
|
||||
GUI_DispStringAt("OK", ax[0]+20, ay[0]);
|
||||
do {
|
||||
GUI_PID_STATE State;
|
||||
GUI_TOUCH_GetState(&State);
|
||||
if (State.Pressed == 0) {
|
||||
break;
|
||||
}
|
||||
GUI_Delay (100);
|
||||
} while (1);
|
||||
/* _Calibrate lower right */
|
||||
GUI_SetBkColor(GUI_RED);
|
||||
GUI_Clear();
|
||||
GUI_SetColor(GUI_WHITE); GUI_FillCircle(ax[1], ay[1], 10);
|
||||
GUI_SetColor(GUI_RED); GUI_FillCircle(ax[1], ay[1], 5);
|
||||
GUI_SetColor(GUI_WHITE);
|
||||
GUI_SetTextAlign(GUI_TA_RIGHT);
|
||||
GUI_DispStringAt("Press here", ax[1]-20, ay[1]);
|
||||
do {
|
||||
GUI_PID_STATE State;
|
||||
GUI_TOUCH_GetState(&State);
|
||||
if (State.Pressed) {
|
||||
ax_Phys[1] = GUI_TOUCH_GetxPhys();
|
||||
ay_Phys[1] = GUI_TOUCH_GetyPhys();
|
||||
break;
|
||||
}
|
||||
GUI_Delay (100);
|
||||
} while (1);
|
||||
GUI_TOUCH_Calibrate(GUI_COORD_X, ax[0], ax[1], ax_Phys[0], ax_Phys[1]);
|
||||
GUI_TOUCH_Calibrate(GUI_COORD_Y, ay[0], ay[1], ay_Phys[0], ay_Phys[1]);
|
||||
{ /* calculate and display values for configuration file */
|
||||
int x0, x1;
|
||||
int y0, y1;
|
||||
GUI_Clear();
|
||||
_Calibrate(GUI_COORD_X, ax[0], ax[1], ax_Phys[0], ax_Phys[1], &x0, &x1);
|
||||
_Calibrate(GUI_COORD_Y, ay[0], ay[1], ay_Phys[0], ay_Phys[1], &y0, &y1);
|
||||
GUI_DispStringAt("x0: ", 0, 0); GUI_DispDec(x0, 4); GUI_DispNextLine();
|
||||
GUI_DispString ("x1: "); GUI_DispDec(x1, 4); GUI_DispNextLine();
|
||||
GUI_DispString ("y0: "); GUI_DispDec(y0, 4); GUI_DispNextLine();
|
||||
GUI_DispString ("y1: "); GUI_DispDec(y1, 4); GUI_DispNextLine();
|
||||
GUI_DispString ("Please touch display to continue...");
|
||||
GUI_Delay(1000);
|
||||
do {
|
||||
GUI_PID_STATE State;
|
||||
GUI_TOUCH_GetState(&State);
|
||||
if (State.Pressed)
|
||||
break;
|
||||
GUI_Delay (10);
|
||||
} while (1);
|
||||
}
|
||||
}
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* _TestCalibration
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
static void _TestCalibration(void) {
|
||||
int IdleCnt=0;
|
||||
BUTTON_Handle hButton;
|
||||
GUI_SetBkColor(GUI_RED);
|
||||
GUI_SetColor(GUI_WHITE);
|
||||
GUI_Clear();
|
||||
hButton = BUTTON_Create( 225, 15, 80, 40, 1, BUTTON_CF_SHOW );
|
||||
BUTTON_SetText (hButton, "ABORT");
|
||||
BUTTON_SetFont (hButton, &GUI_FontComic18B_ASCII);
|
||||
while ((IdleCnt<50) && (GUI_GetKey()==0)) {
|
||||
static GUI_PID_STATE StateLast;
|
||||
GUI_PID_STATE State;
|
||||
GUI_TOUCH_GetState(&State);
|
||||
if ((StateLast.Pressed != State.Pressed) && (State.Pressed == 0)) {
|
||||
GUI_Clear();
|
||||
}
|
||||
if ((StateLast.x != State.x) || ((StateLast.y != State.y))) {
|
||||
if (State.Pressed) {
|
||||
GUI_FillCircle(State.x, State.y, 5);
|
||||
}
|
||||
StateLast = State;
|
||||
}
|
||||
if (State.Pressed) {
|
||||
IdleCnt =0;
|
||||
} else {
|
||||
IdleCnt++;
|
||||
}
|
||||
GUI_Delay (100);
|
||||
}
|
||||
EDIT_Delete(hButton);
|
||||
}
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* _ExecKeyboard
|
||||
*
|
||||
**********************************************************************
|
||||
|
||||
This creates a sample keyboard.
|
||||
The routine returns after ENTER or ESC has been pressed.
|
||||
*/
|
||||
|
||||
#if (LCD_XSIZE == 320) && (LCD_YSIZE == 240)
|
||||
|
||||
static char _acText[] = { '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '='
|
||||
,0, 'Q', 'W', 'E', 'R', 'T', 'Y', 'U', 'I', 'O', 'P'
|
||||
,0, 'A', 'S', 'D', 'F', 'G', 'H', 'J', 'K', 'L', 'Q'
|
||||
,0, 'Z', 'X', 'C', 'V', 'B', 'N', 'M', 'Ö', 'Ä', 'Ü'
|
||||
,' ', ' ', ' ', ' ', ' ', 0, 0
|
||||
};
|
||||
|
||||
static int _ExecKeyboard(void) {
|
||||
int i;
|
||||
int Key;
|
||||
BUTTON_Handle ahButton[52];
|
||||
BUTTON_Handle hButtonESC;
|
||||
EDIT_Handle hEdit;
|
||||
GUI_RECT rText = {000,0, LCD_XSIZE, 20};
|
||||
GUI_SetBkColor(GUI_RED);
|
||||
GUI_Clear();
|
||||
GUI_DrawBitmap(&bmSeggerLogoBlue, 0, 0);
|
||||
GUI_SetFont(&GUI_FontComic18B_ASCII);
|
||||
GUI_SetColor(GUI_WHITE);
|
||||
GUI_DispStringInRect("emWin", &rText, GUI_TA_RIGHT | GUI_TA_VCENTER);
|
||||
rText.y0 +=20;
|
||||
rText.y1 +=20;
|
||||
GUI_DispStringInRect("Touch screen demo", &rText, GUI_TA_RIGHT | GUI_TA_VCENTER);
|
||||
/* Create Keyboard Buttons */
|
||||
for (i=0; i< 51; i++) {
|
||||
int Pos = (i < 47) ? i : i+4;
|
||||
int x0 = 5 + 28*(Pos%11);
|
||||
int y0 = 100 + 28*(Pos/11);
|
||||
char c = _acText[i];
|
||||
int Id = c ? c : 1;
|
||||
char ac[2] = {0};
|
||||
char *s= ac;
|
||||
ac[0] = c;
|
||||
ahButton[i] = BUTTON_Create( x0, y0, 25, 25, Id,BUTTON_CF_SHOW );
|
||||
BUTTON_SetText (ahButton[i], s);
|
||||
#if GUI_SUPPORT_MEMDEV
|
||||
BUTTON_EnableMemdev(ahButton[i]);
|
||||
#endif
|
||||
}
|
||||
ahButton[i] = BUTTON_Create( 89, 212, 109, 25, ' ',BUTTON_CF_SHOW );
|
||||
hButtonESC = BUTTON_Create( 230, 40, 80, 25, GUI_ID_CANCEL,BUTTON_CF_SHOW );
|
||||
BUTTON_SetText (hButtonESC, "ESC");
|
||||
hEdit = EDIT_Create( 5, 70, 310, 25, ' ', 80, 0 );
|
||||
EDIT_SetFont(hEdit, &GUI_Font8x16);
|
||||
BUTTON_SetBkColor(ahButton[49], 0, GUI_RED);
|
||||
BUTTON_SetBkColor(ahButton[50], 0, GUI_BLUE);
|
||||
/* Handle Keyboard until ESC or ENTER is pressed */
|
||||
do {
|
||||
Key = GUIDEMO_WaitKey();
|
||||
switch (Key) {
|
||||
case 0:
|
||||
case GUI_ID_CANCEL:
|
||||
break;
|
||||
default:
|
||||
EDIT_AddKey(hEdit, Key);
|
||||
}
|
||||
} while ((Key != 'N') && (Key!=GUI_ID_CANCEL) && (Key!=0));
|
||||
/* Cleanup */
|
||||
for (i=0; i< countof(ahButton); i++) {
|
||||
BUTTON_Delete(ahButton[i]);
|
||||
}
|
||||
BUTTON_Delete(hButtonESC);
|
||||
EDIT_Delete(hEdit);
|
||||
return Key;
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
static char _acText[] = {
|
||||
'7','8','9','/',
|
||||
'4','5','6','*',
|
||||
'1','2','3','-',
|
||||
'0',',','+','=',0
|
||||
};
|
||||
|
||||
static int _ExecKeyboard(void) {
|
||||
int y0 = 75;
|
||||
int XSize = LCD_GetXSize();
|
||||
int YSize = LCD_GetYSize();
|
||||
int XStep = XSize / 4;
|
||||
int YStep = (YSize - y0) / 4;
|
||||
int i;
|
||||
int Key;
|
||||
BUTTON_Handle ahButton[16];
|
||||
BUTTON_Handle hButtonESC;
|
||||
EDIT_Handle hEdit;
|
||||
GUI_RECT rText = {0};
|
||||
rText.x1 = LCD_GetXSize() - 3;
|
||||
rText.y1 = 20;
|
||||
GUI_SetBkColor(GUI_RED);
|
||||
GUI_Clear();
|
||||
GUI_SetFont(&GUI_FontComic18B_ASCII);
|
||||
GUI_SetColor(GUI_WHITE);
|
||||
GUI_DispStringInRect("emWin", &rText, GUI_TA_RIGHT | GUI_TA_VCENTER);
|
||||
rText.y0 +=20;
|
||||
rText.y1 +=20;
|
||||
GUI_DispStringInRect("Touch screen demo", &rText, GUI_TA_RIGHT | GUI_TA_VCENTER);
|
||||
/* Create Keyboard Buttons */
|
||||
for (i=0; _acText[i]; i++) {
|
||||
int XPos = (i%4) * XStep + 3;
|
||||
int YPos = (i/4) * YStep + 3 + y0;
|
||||
char c = _acText[i];
|
||||
int Id = c ? c : 1;
|
||||
char ac[2] = {0};
|
||||
char *s= ac;
|
||||
ac[0] = c;
|
||||
ahButton[i] = BUTTON_Create( XPos, YPos, XStep - 5, YStep - 5, Id, BUTTON_CF_SHOW );
|
||||
BUTTON_SetText(ahButton[i], s);
|
||||
BUTTON_EnableMemdev(ahButton[i]);
|
||||
}
|
||||
hButtonESC = BUTTON_Create( 3, 3, 80, 25, GUI_ID_CANCEL, BUTTON_CF_SHOW );
|
||||
BUTTON_SetText(hButtonESC, "ESC");
|
||||
hEdit = EDIT_Create( 5, y0 - 30, XSize - 10, 25, ' ', 80, 0 );
|
||||
EDIT_SetFont(hEdit, &GUI_Font8x16);
|
||||
/* Handle Keyboard until ESC or ENTER is pressed */
|
||||
do {
|
||||
Key = GUIDEMO_WaitKey();
|
||||
switch (Key) {
|
||||
case 0:
|
||||
case GUI_ID_CANCEL:
|
||||
break;
|
||||
default:
|
||||
EDIT_AddKey(hEdit, Key);
|
||||
}
|
||||
} while ((Key != 'N') && (Key!=GUI_ID_CANCEL) && (Key!=0));
|
||||
/* Cleanup */
|
||||
for (i=0; i< countof(ahButton); i++) {
|
||||
BUTTON_Delete(ahButton[i]);
|
||||
}
|
||||
BUTTON_Delete(hButtonESC);
|
||||
EDIT_Delete(hEdit);
|
||||
return Key;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
/*
|
||||
**********************************************************************
|
||||
*
|
||||
* USER_Task
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
#if GUIDEMO_LARGE
|
||||
|
||||
void GUIDEMO_Touch(void) {
|
||||
#define ID_KEYBOARD 1
|
||||
#define ID_TESTCAL 2
|
||||
#define ID_CALIBRATE 3
|
||||
int i, r;
|
||||
int XSize = LCD_GetXSize();
|
||||
int YSize = LCD_GetYSize();
|
||||
int XMid = XSize / 2;
|
||||
int YMid = YSize / 2;
|
||||
GUIDEMO_NotifyStartNext();
|
||||
GUIDEMO_HideInfoWin();
|
||||
do {
|
||||
GUI_RECT rText;/*= {0, 80, XSize, 120};*/
|
||||
BUTTON_Handle ahButton[3];
|
||||
rText.x0=0;
|
||||
rText.y0=80;
|
||||
rText.x1=XSize;
|
||||
rText.y1=120;
|
||||
GUI_SetBkColor(GUI_BLUE);
|
||||
GUI_Clear();
|
||||
GUI_DrawBitmap(&bmSeggerLogoBlue, (XSize - 1 - bmSeggerLogoBlue.XSize) / 2, 15);
|
||||
GUI_SetFont(&GUI_FontComic18B_ASCII);
|
||||
GUI_DispStringInRect("emWin Touch screen demo", &rText, GUI_TA_HCENTER | GUI_TA_VCENTER);
|
||||
ahButton[0] = BUTTON_Create( XMid - 50, YMid - 20, 100, 50, ID_CALIBRATE,BUTTON_CF_SHOW );
|
||||
ahButton[1] = BUTTON_Create( XMid - 90, YMid + 40, 80, 30, ID_KEYBOARD, BUTTON_CF_SHOW );
|
||||
ahButton[2] = BUTTON_Create( XMid + 10, YMid + 40, 80, 30, ID_TESTCAL,BUTTON_CF_SHOW );
|
||||
BUTTON_SetText (ahButton[0], "Calibrate");
|
||||
BUTTON_SetBkColor(ahButton[0], 0, GUI_RED);
|
||||
BUTTON_SetText (ahButton[1], "Keyboard");
|
||||
BUTTON_SetText (ahButton[2], "Test calibration");
|
||||
BUTTON_SetFont(ahButton[0], &GUI_FontComic18B_ASCII);
|
||||
r = GUIDEMO_WaitKey();
|
||||
if (r==0) {
|
||||
r = ID_KEYBOARD;
|
||||
BUTTON_SetState(ahButton[1], BUTTON_STATE_PRESSED);
|
||||
GUIDEMO_Delay(500);
|
||||
}
|
||||
for (i=0; i< countof(ahButton); i++) {
|
||||
BUTTON_Delete(ahButton[i]);
|
||||
}
|
||||
switch (r) {
|
||||
case ID_KEYBOARD: r= _ExecKeyboard(); break;
|
||||
case ID_CALIBRATE: _ExecCalibration(); break;
|
||||
case ID_TESTCAL: _TestCalibration(); break;
|
||||
}
|
||||
} while (r && (r!='n') && (r!='N'));
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
void GUIDEMO_Touch(void) {}
|
||||
|
||||
#endif
|
||||
|
||||
#else
|
||||
|
||||
void GUIDEMO_Touch(void) {} /* avoid empty object files */
|
||||
|
||||
#endif /* #if GUI_WINSUPPORT */
|
||||
@@ -0,0 +1,28 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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 : MainTask.c
|
||||
Purpose : Init GUI & call of GUI-demo
|
||||
--------------------END-OF-HEADER-------------------------------------
|
||||
*/
|
||||
|
||||
#include "GUI.h"
|
||||
#include "GUIDEMO.h"
|
||||
|
||||
void MainTask(void) {
|
||||
GUI_Init();
|
||||
while(1) {
|
||||
GUIDEMO_main();
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,907 @@
|
||||
/*
|
||||
C-file generated by Bitmap converter for emWin GSC V2.30b, compiled May 8 2002, 10:05:14
|
||||
|
||||
Copyright (C) 1998-2002
|
||||
Segger Microcontroller Systeme GmbH
|
||||
www.segger.com
|
||||
|
||||
Solutions for real time microcontroller applications
|
||||
|
||||
Source file: SeggerLogo
|
||||
Dimensions: 138 * 65
|
||||
NumColors: 6
|
||||
*/
|
||||
|
||||
#include "stdlib.h"
|
||||
#include "GUI.h"
|
||||
#include "GUIDEMO.h"
|
||||
|
||||
#ifndef GUI_CONST_STORAGE
|
||||
#define GUI_CONST_STORAGE const
|
||||
#endif
|
||||
|
||||
extern const GUI_BITMAP bmSeggerLogoBlue;
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* colors (SEGGER logo)
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
GUI_CONST_STORAGE GUI_COLOR ColorsSeggerLogoBlue[] = {
|
||||
0x0000FF,0x000000,0x888888,0xFFFFFF
|
||||
,0xFF0000,0xBBBBBB
|
||||
};
|
||||
|
||||
GUI_CONST_STORAGE GUI_LOGPALETTE PalSeggerLogoBlue = {
|
||||
6, /* number of entries */
|
||||
1, /* Has transparency */
|
||||
&ColorsSeggerLogoBlue[0]
|
||||
};
|
||||
|
||||
#if !(GUIDEMO_TINY)
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* SEGGER logo, 100% size
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
#ifdef LOGO_COMP
|
||||
|
||||
GUI_CONST_STORAGE unsigned char acSeggerLogoBlue[] = {
|
||||
/* RLE: 141 Pixels @ 000,000*/ 141, 0x00,
|
||||
/* RLE: 132 Pixels @ 003,001*/ 132, 0x01,
|
||||
/* RLE: 005 Pixels @ 135,001*/ 5, 0x00,
|
||||
/* RLE: 134 Pixels @ 002,002*/ 134, 0x01,
|
||||
/* RLE: 003 Pixels @ 136,002*/ 3, 0x00,
|
||||
/* RLE: 004 Pixels @ 001,003*/ 4, 0x01,
|
||||
/* RLE: 128 Pixels @ 005,003*/ 128, 0x02,
|
||||
/* RLE: 004 Pixels @ 133,003*/ 4, 0x01,
|
||||
/* ABS: 005 Pixels @ 137,003*/ 0, 5, 0x00, 0x11, 0x10,
|
||||
/* RLE: 130 Pixels @ 004,004*/ 130, 0x03,
|
||||
/* RLE: 003 Pixels @ 134,004*/ 3, 0x01,
|
||||
/* ABS: 005 Pixels @ 137,004*/ 0, 5, 0x00, 0x11, 0x20,
|
||||
/* RLE: 130 Pixels @ 004,005*/ 130, 0x03,
|
||||
/* RLE: 003 Pixels @ 134,005*/ 3, 0x01,
|
||||
/* ABS: 005 Pixels @ 137,005*/ 0, 5, 0x00, 0x11, 0x20,
|
||||
/* RLE: 130 Pixels @ 004,006*/ 130, 0x03,
|
||||
/* ABS: 008 Pixels @ 134,006*/ 0, 8, 0x21, 0x10, 0x01, 0x12,
|
||||
/* RLE: 130 Pixels @ 004,007*/ 130, 0x03,
|
||||
/* ABS: 008 Pixels @ 134,007*/ 0, 8, 0x21, 0x10, 0x01, 0x12,
|
||||
/* RLE: 004 Pixels @ 004,008*/ 4, 0x03,
|
||||
/* RLE: 004 Pixels @ 008,008*/ 4, 0x04,
|
||||
/* RLE: 010 Pixels @ 012,008*/ 10, 0x03,
|
||||
/* RLE: 004 Pixels @ 022,008*/ 4, 0x04,
|
||||
/* RLE: 108 Pixels @ 026,008*/ 108, 0x03,
|
||||
/* ABS: 008 Pixels @ 134,008*/ 0, 8, 0x21, 0x10, 0x01, 0x12,
|
||||
/* RLE: 004 Pixels @ 004,009*/ 4, 0x03,
|
||||
/* RLE: 004 Pixels @ 008,009*/ 4, 0x04,
|
||||
/* RLE: 010 Pixels @ 012,009*/ 10, 0x03,
|
||||
/* RLE: 004 Pixels @ 022,009*/ 4, 0x04,
|
||||
/* RLE: 108 Pixels @ 026,009*/ 108, 0x03,
|
||||
/* ABS: 008 Pixels @ 134,009*/ 0, 8, 0x21, 0x10, 0x01, 0x12,
|
||||
/* RLE: 004 Pixels @ 004,010*/ 4, 0x03,
|
||||
/* RLE: 005 Pixels @ 008,010*/ 5, 0x04,
|
||||
/* RLE: 001 Pixels @ 013,010*/ 1, 0x05,
|
||||
/* RLE: 008 Pixels @ 014,010*/ 8, 0x03,
|
||||
/* RLE: 005 Pixels @ 022,010*/ 5, 0x04,
|
||||
/* RLE: 001 Pixels @ 027,010*/ 1, 0x05,
|
||||
/* RLE: 106 Pixels @ 028,010*/ 106, 0x03,
|
||||
/* ABS: 008 Pixels @ 134,010*/ 0, 8, 0x21, 0x10, 0x01, 0x12,
|
||||
/* RLE: 004 Pixels @ 004,011*/ 4, 0x03,
|
||||
/* RLE: 006 Pixels @ 008,011*/ 6, 0x04,
|
||||
/* RLE: 008 Pixels @ 014,011*/ 8, 0x03,
|
||||
/* RLE: 006 Pixels @ 022,011*/ 6, 0x04,
|
||||
/* RLE: 106 Pixels @ 028,011*/ 106, 0x03,
|
||||
/* ABS: 008 Pixels @ 134,011*/ 0, 8, 0x21, 0x10, 0x01, 0x12,
|
||||
/* RLE: 005 Pixels @ 004,012*/ 5, 0x03,
|
||||
/* RLE: 006 Pixels @ 009,012*/ 6, 0x04,
|
||||
/* RLE: 008 Pixels @ 015,012*/ 8, 0x03,
|
||||
/* RLE: 006 Pixels @ 023,012*/ 6, 0x04,
|
||||
/* RLE: 105 Pixels @ 029,012*/ 105, 0x03,
|
||||
/* ABS: 008 Pixels @ 134,012*/ 0, 8, 0x21, 0x10, 0x01, 0x12,
|
||||
/* RLE: 006 Pixels @ 004,013*/ 6, 0x03,
|
||||
/* RLE: 005 Pixels @ 010,013*/ 5, 0x04,
|
||||
/* RLE: 001 Pixels @ 015,013*/ 1, 0x05,
|
||||
/* RLE: 007 Pixels @ 016,013*/ 7, 0x03,
|
||||
/* RLE: 001 Pixels @ 023,013*/ 1, 0x05,
|
||||
/* RLE: 005 Pixels @ 024,013*/ 5, 0x04,
|
||||
/* RLE: 001 Pixels @ 029,013*/ 1, 0x05,
|
||||
/* RLE: 104 Pixels @ 030,013*/ 104, 0x03,
|
||||
/* ABS: 008 Pixels @ 134,013*/ 0, 8, 0x21, 0x10, 0x01, 0x12,
|
||||
/* RLE: 006 Pixels @ 004,014*/ 6, 0x03,
|
||||
/* RLE: 001 Pixels @ 010,014*/ 1, 0x05,
|
||||
/* RLE: 005 Pixels @ 011,014*/ 5, 0x04,
|
||||
/* RLE: 001 Pixels @ 016,014*/ 1, 0x05,
|
||||
/* RLE: 007 Pixels @ 017,014*/ 7, 0x03,
|
||||
/* RLE: 006 Pixels @ 024,014*/ 6, 0x04,
|
||||
/* RLE: 104 Pixels @ 030,014*/ 104, 0x03,
|
||||
/* ABS: 008 Pixels @ 134,014*/ 0, 8, 0x21, 0x10, 0x01, 0x12,
|
||||
/* RLE: 007 Pixels @ 004,015*/ 7, 0x03,
|
||||
/* RLE: 001 Pixels @ 011,015*/ 1, 0x05,
|
||||
/* RLE: 005 Pixels @ 012,015*/ 5, 0x04,
|
||||
/* RLE: 008 Pixels @ 017,015*/ 8, 0x03,
|
||||
/* RLE: 006 Pixels @ 025,015*/ 6, 0x04,
|
||||
/* RLE: 103 Pixels @ 031,015*/ 103, 0x03,
|
||||
/* ABS: 008 Pixels @ 134,015*/ 0, 8, 0x21, 0x10, 0x01, 0x12,
|
||||
/* RLE: 008 Pixels @ 004,016*/ 8, 0x03,
|
||||
/* RLE: 006 Pixels @ 012,016*/ 6, 0x04,
|
||||
/* RLE: 008 Pixels @ 018,016*/ 8, 0x03,
|
||||
/* RLE: 005 Pixels @ 026,016*/ 5, 0x04,
|
||||
/* RLE: 001 Pixels @ 031,016*/ 1, 0x05,
|
||||
/* RLE: 102 Pixels @ 032,016*/ 102, 0x03,
|
||||
/* ABS: 008 Pixels @ 134,016*/ 0, 8, 0x21, 0x10, 0x01, 0x12,
|
||||
/* RLE: 009 Pixels @ 004,017*/ 9, 0x03,
|
||||
/* RLE: 006 Pixels @ 013,017*/ 6, 0x04,
|
||||
/* RLE: 007 Pixels @ 019,017*/ 7, 0x03,
|
||||
/* RLE: 001 Pixels @ 026,017*/ 1, 0x05,
|
||||
/* RLE: 005 Pixels @ 027,017*/ 5, 0x04,
|
||||
/* RLE: 001 Pixels @ 032,017*/ 1, 0x05,
|
||||
/* RLE: 101 Pixels @ 033,017*/ 101, 0x03,
|
||||
/* ABS: 008 Pixels @ 134,017*/ 0, 8, 0x21, 0x10, 0x01, 0x12,
|
||||
/* RLE: 009 Pixels @ 004,018*/ 9, 0x03,
|
||||
/* RLE: 001 Pixels @ 013,018*/ 1, 0x05,
|
||||
/* RLE: 005 Pixels @ 014,018*/ 5, 0x04,
|
||||
/* RLE: 001 Pixels @ 019,018*/ 1, 0x05,
|
||||
/* RLE: 007 Pixels @ 020,018*/ 7, 0x03,
|
||||
/* RLE: 006 Pixels @ 027,018*/ 6, 0x04,
|
||||
/* RLE: 101 Pixels @ 033,018*/ 101, 0x03,
|
||||
/* ABS: 008 Pixels @ 134,018*/ 0, 8, 0x21, 0x10, 0x01, 0x12,
|
||||
/* RLE: 010 Pixels @ 004,019*/ 10, 0x03,
|
||||
/* RLE: 001 Pixels @ 014,019*/ 1, 0x05,
|
||||
/* RLE: 005 Pixels @ 015,019*/ 5, 0x04,
|
||||
/* RLE: 008 Pixels @ 020,019*/ 8, 0x03,
|
||||
/* RLE: 006 Pixels @ 028,019*/ 6, 0x04,
|
||||
/* RLE: 100 Pixels @ 034,019*/ 100, 0x03,
|
||||
/* ABS: 008 Pixels @ 134,019*/ 0, 8, 0x21, 0x10, 0x01, 0x12,
|
||||
/* RLE: 011 Pixels @ 004,020*/ 11, 0x03,
|
||||
/* RLE: 006 Pixels @ 015,020*/ 6, 0x04,
|
||||
/* RLE: 008 Pixels @ 021,020*/ 8, 0x03,
|
||||
/* RLE: 005 Pixels @ 029,020*/ 5, 0x04,
|
||||
/* RLE: 001 Pixels @ 034,020*/ 1, 0x05,
|
||||
/* RLE: 099 Pixels @ 035,020*/ 99, 0x03,
|
||||
/* ABS: 012 Pixels @ 134,020*/ 0, 12, 0x21, 0x10, 0x01, 0x12, 0x33, 0x34,
|
||||
/* RLE: 008 Pixels @ 008,021*/ 8, 0x03,
|
||||
/* RLE: 006 Pixels @ 016,021*/ 6, 0x04,
|
||||
/* RLE: 007 Pixels @ 022,021*/ 7, 0x03,
|
||||
/* RLE: 001 Pixels @ 029,021*/ 1, 0x05,
|
||||
/* RLE: 005 Pixels @ 030,021*/ 5, 0x04,
|
||||
/* RLE: 099 Pixels @ 035,021*/ 99, 0x03,
|
||||
/* ABS: 013 Pixels @ 134,021*/ 0, 13, 0x21, 0x10, 0x01, 0x12, 0x33, 0x34, 0x40,
|
||||
/* RLE: 007 Pixels @ 009,022*/ 7, 0x03,
|
||||
/* RLE: 001 Pixels @ 016,022*/ 1, 0x05,
|
||||
/* RLE: 005 Pixels @ 017,022*/ 5, 0x04,
|
||||
/* RLE: 001 Pixels @ 022,022*/ 1, 0x05,
|
||||
/* RLE: 007 Pixels @ 023,022*/ 7, 0x03,
|
||||
/* RLE: 006 Pixels @ 030,022*/ 6, 0x04,
|
||||
/* RLE: 098 Pixels @ 036,022*/ 98, 0x03,
|
||||
/* ABS: 014 Pixels @ 134,022*/ 0, 14, 0x21, 0x10, 0x01, 0x12, 0x33, 0x34, 0x44,
|
||||
/* RLE: 007 Pixels @ 010,023*/ 7, 0x03,
|
||||
/* RLE: 006 Pixels @ 017,023*/ 6, 0x04,
|
||||
/* RLE: 008 Pixels @ 023,023*/ 8, 0x03,
|
||||
/* RLE: 005 Pixels @ 031,023*/ 5, 0x04,
|
||||
/* RLE: 001 Pixels @ 036,023*/ 1, 0x05,
|
||||
/* RLE: 097 Pixels @ 037,023*/ 97, 0x03,
|
||||
/* ABS: 015 Pixels @ 134,023*/ 0, 15, 0x21, 0x10, 0x01, 0x12, 0x33, 0x34, 0x44, 0x50,
|
||||
/* RLE: 007 Pixels @ 011,024*/ 7, 0x03,
|
||||
/* RLE: 006 Pixels @ 018,024*/ 6, 0x04,
|
||||
/* RLE: 007 Pixels @ 024,024*/ 7, 0x03,
|
||||
/* RLE: 001 Pixels @ 031,024*/ 1, 0x05,
|
||||
/* RLE: 005 Pixels @ 032,024*/ 5, 0x04,
|
||||
/* RLE: 001 Pixels @ 037,024*/ 1, 0x05,
|
||||
/* RLE: 096 Pixels @ 038,024*/ 96, 0x03,
|
||||
/* ABS: 011 Pixels @ 134,024*/ 0, 11, 0x21, 0x10, 0x01, 0x12, 0x33, 0x30,
|
||||
/* RLE: 004 Pixels @ 007,025*/ 4, 0x04,
|
||||
/* RLE: 008 Pixels @ 011,025*/ 8, 0x03,
|
||||
/* RLE: 006 Pixels @ 019,025*/ 6, 0x04,
|
||||
/* RLE: 007 Pixels @ 025,025*/ 7, 0x03,
|
||||
/* RLE: 001 Pixels @ 032,025*/ 1, 0x05,
|
||||
/* RLE: 005 Pixels @ 033,025*/ 5, 0x04,
|
||||
/* RLE: 096 Pixels @ 038,025*/ 96, 0x03,
|
||||
/* ABS: 011 Pixels @ 134,025*/ 0, 11, 0x21, 0x10, 0x01, 0x12, 0x33, 0x30,
|
||||
/* RLE: 005 Pixels @ 007,026*/ 5, 0x04,
|
||||
/* RLE: 007 Pixels @ 012,026*/ 7, 0x03,
|
||||
/* RLE: 001 Pixels @ 019,026*/ 1, 0x05,
|
||||
/* RLE: 005 Pixels @ 020,026*/ 5, 0x04,
|
||||
/* RLE: 001 Pixels @ 025,026*/ 1, 0x05,
|
||||
/* RLE: 007 Pixels @ 026,026*/ 7, 0x03,
|
||||
/* RLE: 006 Pixels @ 033,026*/ 6, 0x04,
|
||||
/* RLE: 095 Pixels @ 039,026*/ 95, 0x03,
|
||||
/* ABS: 011 Pixels @ 134,026*/ 0, 11, 0x21, 0x10, 0x01, 0x12, 0x33, 0x30,
|
||||
/* RLE: 006 Pixels @ 007,027*/ 6, 0x04,
|
||||
/* RLE: 007 Pixels @ 013,027*/ 7, 0x03,
|
||||
/* RLE: 001 Pixels @ 020,027*/ 1, 0x05,
|
||||
/* RLE: 005 Pixels @ 021,027*/ 5, 0x04,
|
||||
/* RLE: 008 Pixels @ 026,027*/ 8, 0x03,
|
||||
/* RLE: 095 Pixels @ 034,027*/ 95, 0x04,
|
||||
/* RLE: 005 Pixels @ 129,027*/ 5, 0x03,
|
||||
/* ABS: 011 Pixels @ 134,027*/ 0, 11, 0x21, 0x10, 0x01, 0x12, 0x33, 0x30,
|
||||
/* RLE: 006 Pixels @ 007,028*/ 6, 0x04,
|
||||
/* RLE: 001 Pixels @ 013,028*/ 1, 0x05,
|
||||
/* RLE: 007 Pixels @ 014,028*/ 7, 0x03,
|
||||
/* RLE: 006 Pixels @ 021,028*/ 6, 0x04,
|
||||
/* RLE: 007 Pixels @ 027,028*/ 7, 0x03,
|
||||
/* RLE: 001 Pixels @ 034,028*/ 1, 0x05,
|
||||
/* RLE: 095 Pixels @ 035,028*/ 95, 0x04,
|
||||
/* RLE: 004 Pixels @ 130,028*/ 4, 0x03,
|
||||
/* ABS: 011 Pixels @ 134,028*/ 0, 11, 0x21, 0x10, 0x01, 0x12, 0x33, 0x30,
|
||||
/* RLE: 007 Pixels @ 007,029*/ 7, 0x04,
|
||||
/* RLE: 008 Pixels @ 014,029*/ 8, 0x03,
|
||||
/* RLE: 006 Pixels @ 022,029*/ 6, 0x04,
|
||||
/* RLE: 007 Pixels @ 028,029*/ 7, 0x03,
|
||||
/* RLE: 095 Pixels @ 035,029*/ 95, 0x04,
|
||||
/* RLE: 004 Pixels @ 130,029*/ 4, 0x03,
|
||||
/* ABS: 011 Pixels @ 134,029*/ 0, 11, 0x21, 0x10, 0x01, 0x12, 0x33, 0x30,
|
||||
/* RLE: 008 Pixels @ 007,030*/ 8, 0x04,
|
||||
/* RLE: 007 Pixels @ 015,030*/ 7, 0x03,
|
||||
/* RLE: 001 Pixels @ 022,030*/ 1, 0x05,
|
||||
/* RLE: 005 Pixels @ 023,030*/ 5, 0x04,
|
||||
/* RLE: 001 Pixels @ 028,030*/ 1, 0x05,
|
||||
/* RLE: 007 Pixels @ 029,030*/ 7, 0x03,
|
||||
/* RLE: 094 Pixels @ 036,030*/ 94, 0x04,
|
||||
/* RLE: 004 Pixels @ 130,030*/ 4, 0x03,
|
||||
/* ABS: 011 Pixels @ 134,030*/ 0, 11, 0x21, 0x10, 0x01, 0x12, 0x33, 0x30,
|
||||
/* RLE: 009 Pixels @ 007,031*/ 9, 0x04,
|
||||
/* RLE: 007 Pixels @ 016,031*/ 7, 0x03,
|
||||
/* RLE: 001 Pixels @ 023,031*/ 1, 0x05,
|
||||
/* RLE: 005 Pixels @ 024,031*/ 5, 0x04,
|
||||
/* RLE: 001 Pixels @ 029,031*/ 1, 0x05,
|
||||
/* RLE: 006 Pixels @ 030,031*/ 6, 0x03,
|
||||
/* RLE: 093 Pixels @ 036,031*/ 93, 0x04,
|
||||
/* RLE: 005 Pixels @ 129,031*/ 5, 0x03,
|
||||
/* ABS: 011 Pixels @ 134,031*/ 0, 11, 0x21, 0x10, 0x01, 0x12, 0x33, 0x30,
|
||||
/* RLE: 010 Pixels @ 007,032*/ 10, 0x04,
|
||||
/* RLE: 007 Pixels @ 017,032*/ 7, 0x03,
|
||||
/* RLE: 006 Pixels @ 024,032*/ 6, 0x04,
|
||||
/* RLE: 104 Pixels @ 030,032*/ 104, 0x03,
|
||||
/* ABS: 011 Pixels @ 134,032*/ 0, 11, 0x21, 0x10, 0x01, 0x12, 0x33, 0x30,
|
||||
/* RLE: 009 Pixels @ 007,033*/ 9, 0x04,
|
||||
/* RLE: 007 Pixels @ 016,033*/ 7, 0x03,
|
||||
/* RLE: 001 Pixels @ 023,033*/ 1, 0x05,
|
||||
/* RLE: 005 Pixels @ 024,033*/ 5, 0x04,
|
||||
/* RLE: 001 Pixels @ 029,033*/ 1, 0x05,
|
||||
/* RLE: 006 Pixels @ 030,033*/ 6, 0x03,
|
||||
/* RLE: 093 Pixels @ 036,033*/ 93, 0x04,
|
||||
/* RLE: 005 Pixels @ 129,033*/ 5, 0x03,
|
||||
/* ABS: 011 Pixels @ 134,033*/ 0, 11, 0x21, 0x10, 0x01, 0x12, 0x33, 0x30,
|
||||
/* RLE: 008 Pixels @ 007,034*/ 8, 0x04,
|
||||
/* RLE: 007 Pixels @ 015,034*/ 7, 0x03,
|
||||
/* RLE: 001 Pixels @ 022,034*/ 1, 0x05,
|
||||
/* RLE: 006 Pixels @ 023,034*/ 6, 0x04,
|
||||
/* RLE: 007 Pixels @ 029,034*/ 7, 0x03,
|
||||
/* RLE: 094 Pixels @ 036,034*/ 94, 0x04,
|
||||
/* RLE: 004 Pixels @ 130,034*/ 4, 0x03,
|
||||
/* ABS: 011 Pixels @ 134,034*/ 0, 11, 0x21, 0x10, 0x01, 0x12, 0x33, 0x30,
|
||||
/* RLE: 007 Pixels @ 007,035*/ 7, 0x04,
|
||||
/* RLE: 008 Pixels @ 014,035*/ 8, 0x03,
|
||||
/* RLE: 006 Pixels @ 022,035*/ 6, 0x04,
|
||||
/* RLE: 007 Pixels @ 028,035*/ 7, 0x03,
|
||||
/* RLE: 095 Pixels @ 035,035*/ 95, 0x04,
|
||||
/* RLE: 004 Pixels @ 130,035*/ 4, 0x03,
|
||||
/* ABS: 011 Pixels @ 134,035*/ 0, 11, 0x21, 0x10, 0x01, 0x12, 0x33, 0x30,
|
||||
/* RLE: 006 Pixels @ 007,036*/ 6, 0x04,
|
||||
/* RLE: 001 Pixels @ 013,036*/ 1, 0x05,
|
||||
/* RLE: 007 Pixels @ 014,036*/ 7, 0x03,
|
||||
/* RLE: 006 Pixels @ 021,036*/ 6, 0x04,
|
||||
/* RLE: 007 Pixels @ 027,036*/ 7, 0x03,
|
||||
/* RLE: 001 Pixels @ 034,036*/ 1, 0x05,
|
||||
/* RLE: 095 Pixels @ 035,036*/ 95, 0x04,
|
||||
/* RLE: 004 Pixels @ 130,036*/ 4, 0x03,
|
||||
/* ABS: 011 Pixels @ 134,036*/ 0, 11, 0x21, 0x10, 0x01, 0x12, 0x33, 0x30,
|
||||
/* RLE: 006 Pixels @ 007,037*/ 6, 0x04,
|
||||
/* RLE: 007 Pixels @ 013,037*/ 7, 0x03,
|
||||
/* RLE: 001 Pixels @ 020,037*/ 1, 0x05,
|
||||
/* RLE: 005 Pixels @ 021,037*/ 5, 0x04,
|
||||
/* RLE: 008 Pixels @ 026,037*/ 8, 0x03,
|
||||
/* RLE: 095 Pixels @ 034,037*/ 95, 0x04,
|
||||
/* RLE: 005 Pixels @ 129,037*/ 5, 0x03,
|
||||
/* ABS: 011 Pixels @ 134,037*/ 0, 11, 0x21, 0x10, 0x01, 0x12, 0x33, 0x30,
|
||||
/* RLE: 005 Pixels @ 007,038*/ 5, 0x04,
|
||||
/* RLE: 007 Pixels @ 012,038*/ 7, 0x03,
|
||||
/* RLE: 001 Pixels @ 019,038*/ 1, 0x05,
|
||||
/* RLE: 005 Pixels @ 020,038*/ 5, 0x04,
|
||||
/* RLE: 001 Pixels @ 025,038*/ 1, 0x05,
|
||||
/* RLE: 007 Pixels @ 026,038*/ 7, 0x03,
|
||||
/* RLE: 006 Pixels @ 033,038*/ 6, 0x04,
|
||||
/* RLE: 095 Pixels @ 039,038*/ 95, 0x03,
|
||||
/* ABS: 011 Pixels @ 134,038*/ 0, 11, 0x21, 0x10, 0x01, 0x12, 0x33, 0x30,
|
||||
/* RLE: 004 Pixels @ 007,039*/ 4, 0x04,
|
||||
/* RLE: 008 Pixels @ 011,039*/ 8, 0x03,
|
||||
/* RLE: 006 Pixels @ 019,039*/ 6, 0x04,
|
||||
/* RLE: 007 Pixels @ 025,039*/ 7, 0x03,
|
||||
/* RLE: 001 Pixels @ 032,039*/ 1, 0x05,
|
||||
/* RLE: 005 Pixels @ 033,039*/ 5, 0x04,
|
||||
/* RLE: 096 Pixels @ 038,039*/ 96, 0x03,
|
||||
/* ABS: 015 Pixels @ 134,039*/ 0, 15, 0x21, 0x10, 0x01, 0x12, 0x33, 0x34, 0x44, 0x50,
|
||||
/* RLE: 007 Pixels @ 011,040*/ 7, 0x03,
|
||||
/* RLE: 006 Pixels @ 018,040*/ 6, 0x04,
|
||||
/* RLE: 007 Pixels @ 024,040*/ 7, 0x03,
|
||||
/* RLE: 001 Pixels @ 031,040*/ 1, 0x05,
|
||||
/* RLE: 005 Pixels @ 032,040*/ 5, 0x04,
|
||||
/* RLE: 097 Pixels @ 037,040*/ 97, 0x03,
|
||||
/* ABS: 014 Pixels @ 134,040*/ 0, 14, 0x21, 0x10, 0x01, 0x12, 0x33, 0x34, 0x44,
|
||||
/* RLE: 007 Pixels @ 010,041*/ 7, 0x03,
|
||||
/* RLE: 001 Pixels @ 017,041*/ 1, 0x05,
|
||||
/* RLE: 005 Pixels @ 018,041*/ 5, 0x04,
|
||||
/* RLE: 008 Pixels @ 023,041*/ 8, 0x03,
|
||||
/* RLE: 005 Pixels @ 031,041*/ 5, 0x04,
|
||||
/* RLE: 001 Pixels @ 036,041*/ 1, 0x05,
|
||||
/* RLE: 097 Pixels @ 037,041*/ 97, 0x03,
|
||||
/* ABS: 013 Pixels @ 134,041*/ 0, 13, 0x21, 0x10, 0x01, 0x12, 0x33, 0x34, 0x40,
|
||||
/* RLE: 007 Pixels @ 009,042*/ 7, 0x03,
|
||||
/* RLE: 001 Pixels @ 016,042*/ 1, 0x05,
|
||||
/* RLE: 005 Pixels @ 017,042*/ 5, 0x04,
|
||||
/* RLE: 001 Pixels @ 022,042*/ 1, 0x05,
|
||||
/* RLE: 007 Pixels @ 023,042*/ 7, 0x03,
|
||||
/* RLE: 006 Pixels @ 030,042*/ 6, 0x04,
|
||||
/* RLE: 098 Pixels @ 036,042*/ 98, 0x03,
|
||||
/* ABS: 012 Pixels @ 134,042*/ 0, 12, 0x21, 0x10, 0x01, 0x12, 0x33, 0x34,
|
||||
/* RLE: 008 Pixels @ 008,043*/ 8, 0x03,
|
||||
/* RLE: 006 Pixels @ 016,043*/ 6, 0x04,
|
||||
/* RLE: 007 Pixels @ 022,043*/ 7, 0x03,
|
||||
/* RLE: 001 Pixels @ 029,043*/ 1, 0x05,
|
||||
/* RLE: 005 Pixels @ 030,043*/ 5, 0x04,
|
||||
/* RLE: 007 Pixels @ 035,043*/ 7, 0x03,
|
||||
/* ABS: 007 Pixels @ 042,043*/ 0, 7, 0x22, 0x11, 0x12, 0x20,
|
||||
/* RLE: 006 Pixels @ 049,043*/ 6, 0x03,
|
||||
/* RLE: 001 Pixels @ 055,043*/ 1, 0x02,
|
||||
/* RLE: 010 Pixels @ 056,043*/ 10, 0x01,
|
||||
/* RLE: 001 Pixels @ 066,043*/ 1, 0x02,
|
||||
/* RLE: 004 Pixels @ 067,043*/ 4, 0x03,
|
||||
/* ABS: 008 Pixels @ 071,043*/ 0, 8, 0x52, 0x21, 0x11, 0x25,
|
||||
/* RLE: 008 Pixels @ 079,043*/ 8, 0x03,
|
||||
/* ABS: 008 Pixels @ 087,043*/ 0, 8, 0x52, 0x21, 0x11, 0x25,
|
||||
/* RLE: 007 Pixels @ 095,043*/ 7, 0x03,
|
||||
/* RLE: 001 Pixels @ 102,043*/ 1, 0x02,
|
||||
/* RLE: 010 Pixels @ 103,043*/ 10, 0x01,
|
||||
/* ABS: 004 Pixels @ 113,043*/ 0, 4, 0x23, 0x32,
|
||||
/* RLE: 008 Pixels @ 117,043*/ 8, 0x01,
|
||||
/* ABS: 002 Pixels @ 125,043*/ 0, 2, 0x25,
|
||||
/* RLE: 007 Pixels @ 127,043*/ 7, 0x03,
|
||||
/* ABS: 012 Pixels @ 134,043*/ 0, 12, 0x21, 0x10, 0x01, 0x12, 0x33, 0x34,
|
||||
/* RLE: 007 Pixels @ 008,044*/ 7, 0x03,
|
||||
/* RLE: 006 Pixels @ 015,044*/ 6, 0x04,
|
||||
/* RLE: 008 Pixels @ 021,044*/ 8, 0x03,
|
||||
/* RLE: 005 Pixels @ 029,044*/ 5, 0x04,
|
||||
/* RLE: 001 Pixels @ 034,044*/ 1, 0x05,
|
||||
/* RLE: 006 Pixels @ 035,044*/ 6, 0x03,
|
||||
/* RLE: 009 Pixels @ 041,044*/ 9, 0x01,
|
||||
/* RLE: 001 Pixels @ 050,044*/ 1, 0x05,
|
||||
/* RLE: 004 Pixels @ 051,044*/ 4, 0x03,
|
||||
/* RLE: 011 Pixels @ 055,044*/ 11, 0x01,
|
||||
/* ABS: 005 Pixels @ 066,044*/ 0, 5, 0x23, 0x33, 0x20,
|
||||
/* RLE: 009 Pixels @ 071,044*/ 9, 0x01,
|
||||
/* RLE: 006 Pixels @ 080,044*/ 6, 0x03,
|
||||
/* RLE: 001 Pixels @ 086,044*/ 1, 0x02,
|
||||
/* RLE: 009 Pixels @ 087,044*/ 9, 0x01,
|
||||
/* RLE: 006 Pixels @ 096,044*/ 6, 0x03,
|
||||
/* RLE: 011 Pixels @ 102,044*/ 11, 0x01,
|
||||
/* ABS: 003 Pixels @ 113,044*/ 0, 3, 0x23, 0x30,
|
||||
/* RLE: 011 Pixels @ 116,044*/ 11, 0x01,
|
||||
/* RLE: 001 Pixels @ 127,044*/ 1, 0x05,
|
||||
/* RLE: 006 Pixels @ 128,044*/ 6, 0x03,
|
||||
/* ABS: 008 Pixels @ 134,044*/ 0, 8, 0x21, 0x10, 0x01, 0x12,
|
||||
/* RLE: 010 Pixels @ 004,045*/ 10, 0x03,
|
||||
/* RLE: 001 Pixels @ 014,045*/ 1, 0x05,
|
||||
/* RLE: 005 Pixels @ 015,045*/ 5, 0x04,
|
||||
/* RLE: 008 Pixels @ 020,045*/ 8, 0x03,
|
||||
/* RLE: 006 Pixels @ 028,045*/ 6, 0x04,
|
||||
/* RLE: 006 Pixels @ 034,045*/ 6, 0x03,
|
||||
/* ABS: 011 Pixels @ 040,045*/ 0, 11, 0x21, 0x12, 0x33, 0x35, 0x11, 0x10,
|
||||
/* RLE: 004 Pixels @ 051,045*/ 4, 0x03,
|
||||
/* RLE: 003 Pixels @ 055,045*/ 3, 0x01,
|
||||
/* RLE: 011 Pixels @ 058,045*/ 11, 0x03,
|
||||
/* ABS: 012 Pixels @ 069,045*/ 0, 12, 0x21, 0x12, 0x53, 0x35, 0x21, 0x11,
|
||||
/* RLE: 004 Pixels @ 081,045*/ 4, 0x03,
|
||||
/* ABS: 012 Pixels @ 085,045*/ 0, 12, 0x21, 0x12, 0x53, 0x35, 0x21, 0x11,
|
||||
/* RLE: 005 Pixels @ 097,045*/ 5, 0x03,
|
||||
/* RLE: 003 Pixels @ 102,045*/ 3, 0x01,
|
||||
/* RLE: 011 Pixels @ 105,045*/ 11, 0x03,
|
||||
/* RLE: 003 Pixels @ 116,045*/ 3, 0x01,
|
||||
/* RLE: 005 Pixels @ 119,045*/ 5, 0x03,
|
||||
/* ABS: 004 Pixels @ 124,045*/ 0, 4, 0x21, 0x12,
|
||||
/* RLE: 006 Pixels @ 128,045*/ 6, 0x03,
|
||||
/* ABS: 008 Pixels @ 134,045*/ 0, 8, 0x21, 0x10, 0x01, 0x12,
|
||||
/* RLE: 009 Pixels @ 004,046*/ 9, 0x03,
|
||||
/* RLE: 001 Pixels @ 013,046*/ 1, 0x05,
|
||||
/* RLE: 005 Pixels @ 014,046*/ 5, 0x04,
|
||||
/* RLE: 001 Pixels @ 019,046*/ 1, 0x05,
|
||||
/* RLE: 007 Pixels @ 020,046*/ 7, 0x03,
|
||||
/* RLE: 006 Pixels @ 027,046*/ 6, 0x04,
|
||||
/* RLE: 007 Pixels @ 033,046*/ 7, 0x03,
|
||||
/* RLE: 003 Pixels @ 040,046*/ 3, 0x01,
|
||||
/* RLE: 005 Pixels @ 043,046*/ 5, 0x03,
|
||||
/* ABS: 003 Pixels @ 048,046*/ 0, 3, 0x51, 0x20,
|
||||
/* RLE: 004 Pixels @ 051,046*/ 4, 0x03,
|
||||
/* RLE: 003 Pixels @ 055,046*/ 3, 0x01,
|
||||
/* RLE: 010 Pixels @ 058,046*/ 10, 0x03,
|
||||
/* ABS: 004 Pixels @ 068,046*/ 0, 4, 0x51, 0x12,
|
||||
/* RLE: 006 Pixels @ 072,046*/ 6, 0x03,
|
||||
/* ABS: 010 Pixels @ 078,046*/ 0, 10, 0x21, 0x23, 0x33, 0x51, 0x12,
|
||||
/* RLE: 006 Pixels @ 088,046*/ 6, 0x03,
|
||||
/* ABS: 003 Pixels @ 094,046*/ 0, 3, 0x21, 0x20,
|
||||
/* RLE: 005 Pixels @ 097,046*/ 5, 0x03,
|
||||
/* RLE: 003 Pixels @ 102,046*/ 3, 0x01,
|
||||
/* RLE: 011 Pixels @ 105,046*/ 11, 0x03,
|
||||
/* RLE: 003 Pixels @ 116,046*/ 3, 0x01,
|
||||
/* RLE: 006 Pixels @ 119,046*/ 6, 0x03,
|
||||
/* RLE: 003 Pixels @ 125,046*/ 3, 0x01,
|
||||
/* RLE: 006 Pixels @ 128,046*/ 6, 0x03,
|
||||
/* ABS: 008 Pixels @ 134,046*/ 0, 8, 0x21, 0x10, 0x01, 0x12,
|
||||
/* RLE: 009 Pixels @ 004,047*/ 9, 0x03,
|
||||
/* RLE: 006 Pixels @ 013,047*/ 6, 0x04,
|
||||
/* RLE: 007 Pixels @ 019,047*/ 7, 0x03,
|
||||
/* RLE: 001 Pixels @ 026,047*/ 1, 0x05,
|
||||
/* RLE: 005 Pixels @ 027,047*/ 5, 0x04,
|
||||
/* RLE: 001 Pixels @ 032,047*/ 1, 0x05,
|
||||
/* RLE: 007 Pixels @ 033,047*/ 7, 0x03,
|
||||
/* ABS: 005 Pixels @ 040,047*/ 0, 5, 0x21, 0x12, 0x50,
|
||||
/* RLE: 010 Pixels @ 045,047*/ 10, 0x03,
|
||||
/* RLE: 003 Pixels @ 055,047*/ 3, 0x01,
|
||||
/* RLE: 010 Pixels @ 058,047*/ 10, 0x03,
|
||||
/* ABS: 004 Pixels @ 068,047*/ 0, 4, 0x21, 0x15,
|
||||
/* RLE: 012 Pixels @ 072,047*/ 12, 0x03,
|
||||
/* ABS: 004 Pixels @ 084,047*/ 0, 4, 0x21, 0x15,
|
||||
/* RLE: 014 Pixels @ 088,047*/ 14, 0x03,
|
||||
/* RLE: 003 Pixels @ 102,047*/ 3, 0x01,
|
||||
/* RLE: 011 Pixels @ 105,047*/ 11, 0x03,
|
||||
/* RLE: 003 Pixels @ 116,047*/ 3, 0x01,
|
||||
/* RLE: 006 Pixels @ 119,047*/ 6, 0x03,
|
||||
/* RLE: 003 Pixels @ 125,047*/ 3, 0x01,
|
||||
/* RLE: 006 Pixels @ 128,047*/ 6, 0x03,
|
||||
/* ABS: 008 Pixels @ 134,047*/ 0, 8, 0x21, 0x10, 0x01, 0x12,
|
||||
/* RLE: 008 Pixels @ 004,048*/ 8, 0x03,
|
||||
/* RLE: 006 Pixels @ 012,048*/ 6, 0x04,
|
||||
/* RLE: 008 Pixels @ 018,048*/ 8, 0x03,
|
||||
/* RLE: 005 Pixels @ 026,048*/ 5, 0x04,
|
||||
/* RLE: 001 Pixels @ 031,048*/ 1, 0x05,
|
||||
/* RLE: 009 Pixels @ 032,048*/ 9, 0x03,
|
||||
/* RLE: 006 Pixels @ 041,048*/ 6, 0x01,
|
||||
/* ABS: 002 Pixels @ 047,048*/ 0, 2, 0x22,
|
||||
/* RLE: 006 Pixels @ 049,048*/ 6, 0x03,
|
||||
/* RLE: 010 Pixels @ 055,048*/ 10, 0x01,
|
||||
/* ABS: 006 Pixels @ 065,048*/ 0, 6, 0x23, 0x31, 0x11,
|
||||
/* RLE: 013 Pixels @ 071,048*/ 13, 0x03,
|
||||
/* RLE: 003 Pixels @ 084,048*/ 3, 0x01,
|
||||
/* RLE: 015 Pixels @ 087,048*/ 15, 0x03,
|
||||
/* RLE: 010 Pixels @ 102,048*/ 10, 0x01,
|
||||
/* ABS: 007 Pixels @ 112,048*/ 0, 7, 0x23, 0x33, 0x11, 0x10,
|
||||
/* RLE: 005 Pixels @ 119,048*/ 5, 0x03,
|
||||
/* ABS: 004 Pixels @ 124,048*/ 0, 4, 0x21, 0x12,
|
||||
/* RLE: 006 Pixels @ 128,048*/ 6, 0x03,
|
||||
/* ABS: 008 Pixels @ 134,048*/ 0, 8, 0x21, 0x10, 0x01, 0x12,
|
||||
/* RLE: 007 Pixels @ 004,049*/ 7, 0x03,
|
||||
/* RLE: 001 Pixels @ 011,049*/ 1, 0x05,
|
||||
/* RLE: 005 Pixels @ 012,049*/ 5, 0x04,
|
||||
/* RLE: 008 Pixels @ 017,049*/ 8, 0x03,
|
||||
/* RLE: 006 Pixels @ 025,049*/ 6, 0x04,
|
||||
/* RLE: 011 Pixels @ 031,049*/ 11, 0x03,
|
||||
/* ABS: 003 Pixels @ 042,049*/ 0, 3, 0x52, 0x20,
|
||||
/* RLE: 005 Pixels @ 045,049*/ 5, 0x01,
|
||||
/* RLE: 001 Pixels @ 050,049*/ 1, 0x02,
|
||||
/* RLE: 004 Pixels @ 051,049*/ 4, 0x03,
|
||||
/* RLE: 010 Pixels @ 055,049*/ 10, 0x01,
|
||||
/* ABS: 006 Pixels @ 065,049*/ 0, 6, 0x23, 0x31, 0x11,
|
||||
/* RLE: 004 Pixels @ 071,049*/ 4, 0x03,
|
||||
/* RLE: 001 Pixels @ 075,049*/ 1, 0x02,
|
||||
/* RLE: 005 Pixels @ 076,049*/ 5, 0x01,
|
||||
/* ABS: 006 Pixels @ 081,049*/ 0, 6, 0x23, 0x31, 0x11,
|
||||
/* RLE: 004 Pixels @ 087,049*/ 4, 0x03,
|
||||
/* RLE: 001 Pixels @ 091,049*/ 1, 0x02,
|
||||
/* RLE: 005 Pixels @ 092,049*/ 5, 0x01,
|
||||
/* RLE: 001 Pixels @ 097,049*/ 1, 0x02,
|
||||
/* RLE: 004 Pixels @ 098,049*/ 4, 0x03,
|
||||
/* RLE: 010 Pixels @ 102,049*/ 10, 0x01,
|
||||
/* ABS: 004 Pixels @ 112,049*/ 0, 4, 0x23, 0x33,
|
||||
/* RLE: 010 Pixels @ 116,049*/ 10, 0x01,
|
||||
/* RLE: 001 Pixels @ 126,049*/ 1, 0x02,
|
||||
/* RLE: 007 Pixels @ 127,049*/ 7, 0x03,
|
||||
/* ABS: 008 Pixels @ 134,049*/ 0, 8, 0x21, 0x10, 0x01, 0x12,
|
||||
/* RLE: 006 Pixels @ 004,050*/ 6, 0x03,
|
||||
/* RLE: 001 Pixels @ 010,050*/ 1, 0x05,
|
||||
/* RLE: 005 Pixels @ 011,050*/ 5, 0x04,
|
||||
/* RLE: 001 Pixels @ 016,050*/ 1, 0x05,
|
||||
/* RLE: 007 Pixels @ 017,050*/ 7, 0x03,
|
||||
/* RLE: 001 Pixels @ 024,050*/ 1, 0x05,
|
||||
/* RLE: 005 Pixels @ 025,050*/ 5, 0x04,
|
||||
/* RLE: 016 Pixels @ 030,050*/ 16, 0x03,
|
||||
/* ABS: 012 Pixels @ 046,050*/ 0, 12, 0x52, 0x11, 0x12, 0x33, 0x31, 0x11,
|
||||
/* RLE: 010 Pixels @ 058,050*/ 10, 0x03,
|
||||
/* RLE: 003 Pixels @ 068,050*/ 3, 0x01,
|
||||
/* RLE: 004 Pixels @ 071,050*/ 4, 0x03,
|
||||
/* RLE: 001 Pixels @ 075,050*/ 1, 0x02,
|
||||
/* RLE: 006 Pixels @ 076,050*/ 6, 0x01,
|
||||
/* ABS: 005 Pixels @ 082,050*/ 0, 5, 0x33, 0x11, 0x10,
|
||||
/* RLE: 004 Pixels @ 087,050*/ 4, 0x03,
|
||||
/* RLE: 001 Pixels @ 091,050*/ 1, 0x02,
|
||||
/* RLE: 006 Pixels @ 092,050*/ 6, 0x01,
|
||||
/* RLE: 004 Pixels @ 098,050*/ 4, 0x03,
|
||||
/* RLE: 003 Pixels @ 102,050*/ 3, 0x01,
|
||||
/* RLE: 011 Pixels @ 105,050*/ 11, 0x03,
|
||||
/* RLE: 010 Pixels @ 116,050*/ 10, 0x01,
|
||||
/* RLE: 001 Pixels @ 126,050*/ 1, 0x02,
|
||||
/* RLE: 007 Pixels @ 127,050*/ 7, 0x03,
|
||||
/* ABS: 008 Pixels @ 134,050*/ 0, 8, 0x21, 0x10, 0x01, 0x12,
|
||||
/* RLE: 006 Pixels @ 004,051*/ 6, 0x03,
|
||||
/* RLE: 005 Pixels @ 010,051*/ 5, 0x04,
|
||||
/* RLE: 001 Pixels @ 015,051*/ 1, 0x05,
|
||||
/* RLE: 007 Pixels @ 016,051*/ 7, 0x03,
|
||||
/* RLE: 001 Pixels @ 023,051*/ 1, 0x05,
|
||||
/* RLE: 005 Pixels @ 024,051*/ 5, 0x04,
|
||||
/* RLE: 001 Pixels @ 029,051*/ 1, 0x05,
|
||||
/* RLE: 010 Pixels @ 030,051*/ 10, 0x03,
|
||||
/* ABS: 003 Pixels @ 040,051*/ 0, 3, 0x21, 0x50,
|
||||
/* RLE: 005 Pixels @ 043,051*/ 5, 0x03,
|
||||
/* ABS: 010 Pixels @ 048,051*/ 0, 10, 0x51, 0x11, 0x33, 0x31, 0x11,
|
||||
/* RLE: 010 Pixels @ 058,051*/ 10, 0x03,
|
||||
/* ABS: 004 Pixels @ 068,051*/ 0, 4, 0x21, 0x15,
|
||||
/* RLE: 007 Pixels @ 072,051*/ 7, 0x03,
|
||||
/* RLE: 003 Pixels @ 079,051*/ 3, 0x01,
|
||||
/* ABS: 006 Pixels @ 082,051*/ 0, 6, 0x33, 0x21, 0x15,
|
||||
/* RLE: 007 Pixels @ 088,051*/ 7, 0x03,
|
||||
/* RLE: 003 Pixels @ 095,051*/ 3, 0x01,
|
||||
/* RLE: 004 Pixels @ 098,051*/ 4, 0x03,
|
||||
/* RLE: 003 Pixels @ 102,051*/ 3, 0x01,
|
||||
/* RLE: 011 Pixels @ 105,051*/ 11, 0x03,
|
||||
/* RLE: 003 Pixels @ 116,051*/ 3, 0x01,
|
||||
/* RLE: 005 Pixels @ 119,051*/ 5, 0x03,
|
||||
/* ABS: 004 Pixels @ 124,051*/ 0, 4, 0x21, 0x12,
|
||||
/* RLE: 006 Pixels @ 128,051*/ 6, 0x03,
|
||||
/* ABS: 008 Pixels @ 134,051*/ 0, 8, 0x21, 0x10, 0x01, 0x12,
|
||||
/* RLE: 005 Pixels @ 004,052*/ 5, 0x03,
|
||||
/* RLE: 006 Pixels @ 009,052*/ 6, 0x04,
|
||||
/* RLE: 008 Pixels @ 015,052*/ 8, 0x03,
|
||||
/* RLE: 006 Pixels @ 023,052*/ 6, 0x04,
|
||||
/* RLE: 011 Pixels @ 029,052*/ 11, 0x03,
|
||||
/* RLE: 003 Pixels @ 040,052*/ 3, 0x01,
|
||||
/* RLE: 006 Pixels @ 043,052*/ 6, 0x03,
|
||||
/* RLE: 003 Pixels @ 049,052*/ 3, 0x01,
|
||||
/* RLE: 003 Pixels @ 052,052*/ 3, 0x03,
|
||||
/* RLE: 003 Pixels @ 055,052*/ 3, 0x01,
|
||||
/* RLE: 010 Pixels @ 058,052*/ 10, 0x03,
|
||||
/* ABS: 004 Pixels @ 068,052*/ 0, 4, 0x51, 0x12,
|
||||
/* RLE: 006 Pixels @ 072,052*/ 6, 0x03,
|
||||
/* ABS: 010 Pixels @ 078,052*/ 0, 10, 0x21, 0x11, 0x33, 0x51, 0x12,
|
||||
/* RLE: 006 Pixels @ 088,052*/ 6, 0x03,
|
||||
/* ABS: 004 Pixels @ 094,052*/ 0, 4, 0x21, 0x11,
|
||||
/* RLE: 004 Pixels @ 098,052*/ 4, 0x03,
|
||||
/* RLE: 003 Pixels @ 102,052*/ 3, 0x01,
|
||||
/* RLE: 011 Pixels @ 105,052*/ 11, 0x03,
|
||||
/* RLE: 003 Pixels @ 116,052*/ 3, 0x01,
|
||||
/* RLE: 006 Pixels @ 119,052*/ 6, 0x03,
|
||||
/* RLE: 003 Pixels @ 125,052*/ 3, 0x01,
|
||||
/* RLE: 006 Pixels @ 128,052*/ 6, 0x03,
|
||||
/* ABS: 008 Pixels @ 134,052*/ 0, 8, 0x21, 0x10, 0x01, 0x12,
|
||||
/* RLE: 004 Pixels @ 004,053*/ 4, 0x03,
|
||||
/* RLE: 006 Pixels @ 008,053*/ 6, 0x04,
|
||||
/* RLE: 008 Pixels @ 014,053*/ 8, 0x03,
|
||||
/* RLE: 006 Pixels @ 022,053*/ 6, 0x04,
|
||||
/* RLE: 012 Pixels @ 028,053*/ 12, 0x03,
|
||||
/* ABS: 018 Pixels @ 040,053*/ 0, 18, 0x21, 0x11, 0x53, 0x33, 0x21, 0x12, 0x33, 0x31, 0x11,
|
||||
/* RLE: 011 Pixels @ 058,053*/ 11, 0x03,
|
||||
/* ABS: 009 Pixels @ 069,053*/ 0, 9, 0x21, 0x12, 0x53, 0x33, 0x20,
|
||||
/* RLE: 004 Pixels @ 078,053*/ 4, 0x01,
|
||||
/* RLE: 003 Pixels @ 082,053*/ 3, 0x03,
|
||||
/* ABS: 009 Pixels @ 085,053*/ 0, 9, 0x21, 0x12, 0x53, 0x33, 0x20,
|
||||
/* RLE: 004 Pixels @ 094,053*/ 4, 0x01,
|
||||
/* RLE: 004 Pixels @ 098,053*/ 4, 0x03,
|
||||
/* RLE: 003 Pixels @ 102,053*/ 3, 0x01,
|
||||
/* RLE: 011 Pixels @ 105,053*/ 11, 0x03,
|
||||
/* RLE: 003 Pixels @ 116,053*/ 3, 0x01,
|
||||
/* RLE: 006 Pixels @ 119,053*/ 6, 0x03,
|
||||
/* RLE: 003 Pixels @ 125,053*/ 3, 0x01,
|
||||
/* RLE: 006 Pixels @ 128,053*/ 6, 0x03,
|
||||
/* ABS: 008 Pixels @ 134,053*/ 0, 8, 0x21, 0x10, 0x01, 0x12,
|
||||
/* RLE: 004 Pixels @ 004,054*/ 4, 0x03,
|
||||
/* RLE: 005 Pixels @ 008,054*/ 5, 0x04,
|
||||
/* RLE: 001 Pixels @ 013,054*/ 1, 0x05,
|
||||
/* RLE: 008 Pixels @ 014,054*/ 8, 0x03,
|
||||
/* RLE: 005 Pixels @ 022,054*/ 5, 0x04,
|
||||
/* RLE: 001 Pixels @ 027,054*/ 1, 0x05,
|
||||
/* RLE: 013 Pixels @ 028,054*/ 13, 0x03,
|
||||
/* RLE: 001 Pixels @ 041,054*/ 1, 0x02,
|
||||
/* RLE: 008 Pixels @ 042,054*/ 8, 0x01,
|
||||
/* RLE: 001 Pixels @ 050,054*/ 1, 0x02,
|
||||
/* RLE: 004 Pixels @ 051,054*/ 4, 0x03,
|
||||
/* RLE: 011 Pixels @ 055,054*/ 11, 0x01,
|
||||
/* ABS: 005 Pixels @ 066,054*/ 0, 5, 0x23, 0x33, 0x20,
|
||||
/* RLE: 008 Pixels @ 071,054*/ 8, 0x01,
|
||||
/* ABS: 003 Pixels @ 079,054*/ 0, 3, 0x21, 0x10,
|
||||
/* RLE: 004 Pixels @ 082,054*/ 4, 0x03,
|
||||
/* RLE: 001 Pixels @ 086,054*/ 1, 0x02,
|
||||
/* RLE: 008 Pixels @ 087,054*/ 8, 0x01,
|
||||
/* ABS: 003 Pixels @ 095,054*/ 0, 3, 0x21, 0x10,
|
||||
/* RLE: 004 Pixels @ 098,054*/ 4, 0x03,
|
||||
/* RLE: 011 Pixels @ 102,054*/ 11, 0x01,
|
||||
/* ABS: 006 Pixels @ 113,054*/ 0, 6, 0x23, 0x31, 0x11,
|
||||
/* RLE: 006 Pixels @ 119,054*/ 6, 0x03,
|
||||
/* ABS: 003 Pixels @ 125,054*/ 0, 3, 0x21, 0x10,
|
||||
/* RLE: 006 Pixels @ 128,054*/ 6, 0x03,
|
||||
/* ABS: 008 Pixels @ 134,054*/ 0, 8, 0x21, 0x10, 0x01, 0x12,
|
||||
/* RLE: 004 Pixels @ 004,055*/ 4, 0x03,
|
||||
/* RLE: 004 Pixels @ 008,055*/ 4, 0x04,
|
||||
/* RLE: 001 Pixels @ 012,055*/ 1, 0x05,
|
||||
/* RLE: 009 Pixels @ 013,055*/ 9, 0x03,
|
||||
/* RLE: 004 Pixels @ 022,055*/ 4, 0x04,
|
||||
/* RLE: 001 Pixels @ 026,055*/ 1, 0x05,
|
||||
/* RLE: 015 Pixels @ 027,055*/ 15, 0x03,
|
||||
/* ABS: 008 Pixels @ 042,055*/ 0, 8, 0x52, 0x21, 0x11, 0x25,
|
||||
/* RLE: 005 Pixels @ 050,055*/ 5, 0x03,
|
||||
/* RLE: 001 Pixels @ 055,055*/ 1, 0x02,
|
||||
/* RLE: 010 Pixels @ 056,055*/ 10, 0x01,
|
||||
/* RLE: 001 Pixels @ 066,055*/ 1, 0x02,
|
||||
/* RLE: 004 Pixels @ 067,055*/ 4, 0x03,
|
||||
/* ABS: 011 Pixels @ 071,055*/ 0, 11, 0x52, 0x21, 0x12, 0x23, 0x51, 0x20,
|
||||
/* RLE: 005 Pixels @ 082,055*/ 5, 0x03,
|
||||
/* ABS: 011 Pixels @ 087,055*/ 0, 11, 0x52, 0x21, 0x12, 0x23, 0x51, 0x20,
|
||||
/* RLE: 004 Pixels @ 098,055*/ 4, 0x03,
|
||||
/* RLE: 001 Pixels @ 102,055*/ 1, 0x02,
|
||||
/* RLE: 010 Pixels @ 103,055*/ 10, 0x01,
|
||||
/* ABS: 006 Pixels @ 113,055*/ 0, 6, 0x23, 0x32, 0x12,
|
||||
/* RLE: 006 Pixels @ 119,055*/ 6, 0x03,
|
||||
/* ABS: 003 Pixels @ 125,055*/ 0, 3, 0x51, 0x20,
|
||||
/* RLE: 006 Pixels @ 128,055*/ 6, 0x03,
|
||||
/* ABS: 008 Pixels @ 134,055*/ 0, 8, 0x21, 0x10, 0x01, 0x12,
|
||||
/* RLE: 004 Pixels @ 004,056*/ 4, 0x03,
|
||||
/* RLE: 004 Pixels @ 008,056*/ 4, 0x04,
|
||||
/* RLE: 010 Pixels @ 012,056*/ 10, 0x03,
|
||||
/* RLE: 004 Pixels @ 022,056*/ 4, 0x04,
|
||||
/* RLE: 108 Pixels @ 026,056*/ 108, 0x03,
|
||||
/* ABS: 008 Pixels @ 134,056*/ 0, 8, 0x21, 0x10, 0x01, 0x12,
|
||||
/* RLE: 130 Pixels @ 004,057*/ 130, 0x03,
|
||||
/* ABS: 008 Pixels @ 134,057*/ 0, 8, 0x21, 0x10, 0x01, 0x12,
|
||||
/* RLE: 130 Pixels @ 004,058*/ 130, 0x03,
|
||||
/* ABS: 008 Pixels @ 134,058*/ 0, 8, 0x21, 0x10, 0x01, 0x12,
|
||||
/* RLE: 130 Pixels @ 004,059*/ 130, 0x03,
|
||||
/* RLE: 003 Pixels @ 134,059*/ 3, 0x01,
|
||||
/* ABS: 005 Pixels @ 137,059*/ 0, 5, 0x00, 0x11, 0x10,
|
||||
/* RLE: 129 Pixels @ 004,060*/ 129, 0x03,
|
||||
/* ABS: 006 Pixels @ 133,060*/ 0, 6, 0x51, 0x11, 0x00,
|
||||
/* RLE: 004 Pixels @ 001,061*/ 4, 0x01,
|
||||
/* RLE: 128 Pixels @ 005,061*/ 128, 0x02,
|
||||
/* RLE: 004 Pixels @ 133,061*/ 4, 0x01,
|
||||
/* ABS: 002 Pixels @ 137,061*/ 0, 2, 0x00,
|
||||
/* RLE: 135 Pixels @ 001,062*/ 135, 0x01,
|
||||
/* RLE: 005 Pixels @ 136,062*/ 5, 0x00,
|
||||
/* RLE: 132 Pixels @ 003,063*/ 132, 0x01,
|
||||
/* RLE: 008 Pixels @ 135,063*/ 8, 0x00,
|
||||
/* RLE: 128 Pixels @ 005,064*/ 128, 0x01,
|
||||
/* RLE: 005 Pixels @ 133,064*/ 5, 0x00,
|
||||
|
||||
0}; /* 1682 for 8970 pixels */
|
||||
|
||||
GUI_CONST_STORAGE GUI_BITMAP bmSeggerLogoBlue = {
|
||||
138, /* XSize */
|
||||
65, /* YSize */
|
||||
69, /* BytesPerLine */
|
||||
GUI_COMPRESS_RLE4, /* BitsPerPixel */
|
||||
acSeggerLogoBlue, /* Pointer to picture data (indices) */
|
||||
&PalSeggerLogoBlue /* Pointer to palette */
|
||||
,GUI_DRAW_RLE4
|
||||
};
|
||||
|
||||
#else
|
||||
|
||||
GUI_CONST_STORAGE unsigned char acSeggerLogoBlue[] = {
|
||||
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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x01, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x10, 0x00,
|
||||
0x00, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x00,
|
||||
0x01, 0x11, 0x12, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x11, 0x10,
|
||||
0x01, 0x11, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x11, 0x10,
|
||||
0x01, 0x12, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x11, 0x10,
|
||||
0x01, 0x12, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x01, 0x12, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x01, 0x12, 0x33, 0x33, 0x44, 0x44, 0x33, 0x33, 0x33, 0x33, 0x33, 0x44, 0x44, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x01, 0x12, 0x33, 0x33, 0x44, 0x44, 0x33, 0x33, 0x33, 0x33, 0x33, 0x44, 0x44, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x01, 0x12, 0x33, 0x33, 0x44, 0x44, 0x45, 0x33, 0x33, 0x33, 0x33, 0x44, 0x44, 0x45, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x01, 0x12, 0x33, 0x33, 0x44, 0x44, 0x44, 0x33, 0x33, 0x33, 0x33, 0x44, 0x44, 0x44, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x01, 0x12, 0x33, 0x33, 0x34, 0x44, 0x44, 0x43, 0x33, 0x33, 0x33, 0x34, 0x44, 0x44, 0x43, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x01, 0x12, 0x33, 0x33, 0x33, 0x44, 0x44, 0x45, 0x33, 0x33, 0x33, 0x35, 0x44, 0x44, 0x45, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x01, 0x12, 0x33, 0x33, 0x33, 0x54, 0x44, 0x44, 0x53, 0x33, 0x33, 0x33, 0x44, 0x44, 0x44, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x01, 0x12, 0x33, 0x33, 0x33, 0x35, 0x44, 0x44, 0x43, 0x33, 0x33, 0x33, 0x34, 0x44, 0x44, 0x43, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x01, 0x12, 0x33, 0x33, 0x33, 0x33, 0x44, 0x44, 0x44, 0x33, 0x33, 0x33, 0x33, 0x44, 0x44, 0x45, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x01, 0x12, 0x33, 0x33, 0x33, 0x33, 0x34, 0x44, 0x44, 0x43, 0x33, 0x33, 0x33, 0x54, 0x44, 0x44, 0x53, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x01, 0x12, 0x33, 0x33, 0x33, 0x33, 0x35, 0x44, 0x44, 0x45, 0x33, 0x33, 0x33, 0x34, 0x44, 0x44, 0x43, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x01, 0x12, 0x33, 0x33, 0x33, 0x33, 0x33, 0x54, 0x44, 0x44, 0x33, 0x33, 0x33, 0x33, 0x44, 0x44, 0x44, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x01, 0x12, 0x33, 0x33, 0x33, 0x33, 0x33, 0x34, 0x44, 0x44, 0x43, 0x33, 0x33, 0x33, 0x34, 0x44, 0x44, 0x53, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x01, 0x12, 0x33, 0x34, 0x33, 0x33, 0x33, 0x33, 0x44, 0x44, 0x44, 0x33, 0x33, 0x33, 0x35, 0x44, 0x44, 0x43, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x01, 0x12, 0x33, 0x34, 0x43, 0x33, 0x33, 0x33, 0x54, 0x44, 0x44, 0x53, 0x33, 0x33, 0x33, 0x44, 0x44, 0x44, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x01, 0x12, 0x33, 0x34, 0x44, 0x33, 0x33, 0x33, 0x34, 0x44, 0x44, 0x43, 0x33, 0x33, 0x33, 0x34, 0x44, 0x44, 0x53, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x01, 0x12, 0x33, 0x34, 0x44, 0x53, 0x33, 0x33, 0x33, 0x44, 0x44, 0x44, 0x33, 0x33, 0x33, 0x35, 0x44, 0x44, 0x45, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x01, 0x12, 0x33, 0x34, 0x44, 0x43, 0x33, 0x33, 0x33, 0x34, 0x44, 0x44, 0x43, 0x33, 0x33, 0x33, 0x54, 0x44, 0x44, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x01, 0x12, 0x33, 0x34, 0x44, 0x44, 0x33, 0x33, 0x33, 0x35, 0x44, 0x44, 0x45, 0x33, 0x33, 0x33, 0x34, 0x44, 0x44, 0x43, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x01, 0x12, 0x33, 0x34, 0x44, 0x44, 0x43, 0x33, 0x33, 0x33, 0x54, 0x44, 0x44, 0x33, 0x33, 0x33, 0x33, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x43, 0x33, 0x33, 0x21, 0x10,
|
||||
0x01, 0x12, 0x33, 0x34, 0x44, 0x44, 0x45, 0x33, 0x33, 0x33, 0x34, 0x44, 0x44, 0x43, 0x33, 0x33, 0x33, 0x54, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x33, 0x33, 0x21, 0x10,
|
||||
0x01, 0x12, 0x33, 0x34, 0x44, 0x44, 0x44, 0x33, 0x33, 0x33, 0x33, 0x44, 0x44, 0x44, 0x33, 0x33, 0x33, 0x34, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x33, 0x33, 0x21, 0x10,
|
||||
0x01, 0x12, 0x33, 0x34, 0x44, 0x44, 0x44, 0x43, 0x33, 0x33, 0x33, 0x54, 0x44, 0x44, 0x53, 0x33, 0x33, 0x33, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x33, 0x33, 0x21, 0x10,
|
||||
0x01, 0x12, 0x33, 0x34, 0x44, 0x44, 0x44, 0x44, 0x33, 0x33, 0x33, 0x35, 0x44, 0x44, 0x45, 0x33, 0x33, 0x33, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x43, 0x33, 0x33, 0x21, 0x10,
|
||||
0x01, 0x12, 0x33, 0x34, 0x44, 0x44, 0x44, 0x44, 0x43, 0x33, 0x33, 0x33, 0x44, 0x44, 0x44, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x01, 0x12, 0x33, 0x34, 0x44, 0x44, 0x44, 0x44, 0x33, 0x33, 0x33, 0x35, 0x44, 0x44, 0x45, 0x33, 0x33, 0x33, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x43, 0x33, 0x33, 0x21, 0x10,
|
||||
0x01, 0x12, 0x33, 0x34, 0x44, 0x44, 0x44, 0x43, 0x33, 0x33, 0x33, 0x54, 0x44, 0x44, 0x43, 0x33, 0x33, 0x33, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x33, 0x33, 0x21, 0x10,
|
||||
0x01, 0x12, 0x33, 0x34, 0x44, 0x44, 0x44, 0x33, 0x33, 0x33, 0x33, 0x44, 0x44, 0x44, 0x33, 0x33, 0x33, 0x34, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x33, 0x33, 0x21, 0x10,
|
||||
0x01, 0x12, 0x33, 0x34, 0x44, 0x44, 0x45, 0x33, 0x33, 0x33, 0x34, 0x44, 0x44, 0x43, 0x33, 0x33, 0x33, 0x54, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x33, 0x33, 0x21, 0x10,
|
||||
0x01, 0x12, 0x33, 0x34, 0x44, 0x44, 0x43, 0x33, 0x33, 0x33, 0x54, 0x44, 0x44, 0x33, 0x33, 0x33, 0x33, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x43, 0x33, 0x33, 0x21, 0x10,
|
||||
0x01, 0x12, 0x33, 0x34, 0x44, 0x44, 0x33, 0x33, 0x33, 0x35, 0x44, 0x44, 0x45, 0x33, 0x33, 0x33, 0x34, 0x44, 0x44, 0x43, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x01, 0x12, 0x33, 0x34, 0x44, 0x43, 0x33, 0x33, 0x33, 0x34, 0x44, 0x44, 0x43, 0x33, 0x33, 0x33, 0x54, 0x44, 0x44, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x01, 0x12, 0x33, 0x34, 0x44, 0x53, 0x33, 0x33, 0x33, 0x44, 0x44, 0x44, 0x33, 0x33, 0x33, 0x35, 0x44, 0x44, 0x43, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x01, 0x12, 0x33, 0x34, 0x44, 0x33, 0x33, 0x33, 0x35, 0x44, 0x44, 0x43, 0x33, 0x33, 0x33, 0x34, 0x44, 0x44, 0x53, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x01, 0x12, 0x33, 0x34, 0x43, 0x33, 0x33, 0x33, 0x54, 0x44, 0x44, 0x53, 0x33, 0x33, 0x33, 0x44, 0x44, 0x44, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x01, 0x12, 0x33, 0x34, 0x33, 0x33, 0x33, 0x33, 0x44, 0x44, 0x44, 0x33, 0x33, 0x33, 0x35, 0x44, 0x44, 0x43, 0x33, 0x33, 0x33, 0x22, 0x11, 0x12, 0x23, 0x33, 0x33, 0x32, 0x11, 0x11, 0x11, 0x11, 0x11, 0x23, 0x33, 0x35, 0x22, 0x11, 0x12, 0x53, 0x33, 0x33, 0x33, 0x35, 0x22, 0x11, 0x12, 0x53, 0x33, 0x33, 0x33, 0x21, 0x11, 0x11, 0x11, 0x11, 0x12, 0x33, 0x21, 0x11, 0x11, 0x11, 0x12, 0x53, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x01, 0x12, 0x33, 0x34, 0x33, 0x33, 0x33, 0x34, 0x44, 0x44, 0x43, 0x33, 0x33, 0x33, 0x34, 0x44, 0x44, 0x53, 0x33, 0x33, 0x31, 0x11, 0x11, 0x11, 0x11, 0x53, 0x33, 0x31, 0x11, 0x11, 0x11, 0x11, 0x11, 0x23, 0x33, 0x21, 0x11, 0x11, 0x11, 0x11, 0x33, 0x33, 0x33, 0x21, 0x11, 0x11, 0x11, 0x11, 0x33, 0x33, 0x33, 0x11, 0x11, 0x11, 0x11, 0x11, 0x12, 0x33, 0x11, 0x11, 0x11, 0x11, 0x11, 0x15, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x01, 0x12, 0x33, 0x33, 0x33, 0x33, 0x33, 0x54, 0x44, 0x44, 0x33, 0x33, 0x33, 0x33, 0x44, 0x44, 0x44, 0x33, 0x33, 0x33, 0x21, 0x12, 0x33, 0x35, 0x11, 0x13, 0x33, 0x31, 0x11, 0x33, 0x33, 0x33, 0x33, 0x33, 0x32, 0x11, 0x25, 0x33, 0x52, 0x11, 0x13, 0x33, 0x32, 0x11, 0x25, 0x33, 0x52, 0x11, 0x13, 0x33, 0x33, 0x11, 0x13, 0x33, 0x33, 0x33, 0x33, 0x33, 0x11, 0x13, 0x33, 0x33, 0x21, 0x12, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x01, 0x12, 0x33, 0x33, 0x33, 0x33, 0x35, 0x44, 0x44, 0x45, 0x33, 0x33, 0x33, 0x34, 0x44, 0x44, 0x43, 0x33, 0x33, 0x33, 0x11, 0x13, 0x33, 0x33, 0x51, 0x23, 0x33, 0x31, 0x11, 0x33, 0x33, 0x33, 0x33, 0x33, 0x51, 0x12, 0x33, 0x33, 0x33, 0x21, 0x23, 0x33, 0x51, 0x12, 0x33, 0x33, 0x33, 0x21, 0x23, 0x33, 0x33, 0x11, 0x13, 0x33, 0x33, 0x33, 0x33, 0x33, 0x11, 0x13, 0x33, 0x33, 0x31, 0x11, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x01, 0x12, 0x33, 0x33, 0x33, 0x33, 0x34, 0x44, 0x44, 0x43, 0x33, 0x33, 0x33, 0x54, 0x44, 0x44, 0x53, 0x33, 0x33, 0x33, 0x21, 0x12, 0x53, 0x33, 0x33, 0x33, 0x33, 0x31, 0x11, 0x33, 0x33, 0x33, 0x33, 0x33, 0x21, 0x15, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x21, 0x15, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x11, 0x13, 0x33, 0x33, 0x33, 0x33, 0x33, 0x11, 0x13, 0x33, 0x33, 0x31, 0x11, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x01, 0x12, 0x33, 0x33, 0x33, 0x33, 0x44, 0x44, 0x44, 0x33, 0x33, 0x33, 0x33, 0x44, 0x44, 0x45, 0x33, 0x33, 0x33, 0x33, 0x31, 0x11, 0x11, 0x12, 0x23, 0x33, 0x33, 0x31, 0x11, 0x11, 0x11, 0x11, 0x12, 0x33, 0x11, 0x13, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x11, 0x13, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x11, 0x11, 0x11, 0x11, 0x11, 0x23, 0x33, 0x11, 0x13, 0x33, 0x33, 0x21, 0x12, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x01, 0x12, 0x33, 0x33, 0x33, 0x35, 0x44, 0x44, 0x43, 0x33, 0x33, 0x33, 0x34, 0x44, 0x44, 0x43, 0x33, 0x33, 0x33, 0x33, 0x33, 0x52, 0x21, 0x11, 0x11, 0x23, 0x33, 0x31, 0x11, 0x11, 0x11, 0x11, 0x12, 0x33, 0x11, 0x13, 0x33, 0x32, 0x11, 0x11, 0x12, 0x33, 0x11, 0x13, 0x33, 0x32, 0x11, 0x11, 0x12, 0x33, 0x33, 0x11, 0x11, 0x11, 0x11, 0x11, 0x23, 0x33, 0x11, 0x11, 0x11, 0x11, 0x11, 0x23, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x01, 0x12, 0x33, 0x33, 0x33, 0x54, 0x44, 0x44, 0x53, 0x33, 0x33, 0x33, 0x54, 0x44, 0x44, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x52, 0x11, 0x12, 0x33, 0x31, 0x11, 0x33, 0x33, 0x33, 0x33, 0x33, 0x11, 0x13, 0x33, 0x32, 0x11, 0x11, 0x11, 0x33, 0x11, 0x13, 0x33, 0x32, 0x11, 0x11, 0x11, 0x33, 0x33, 0x11, 0x13, 0x33, 0x33, 0x33, 0x33, 0x33, 0x11, 0x11, 0x11, 0x11, 0x11, 0x23, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x01, 0x12, 0x33, 0x33, 0x33, 0x44, 0x44, 0x45, 0x33, 0x33, 0x33, 0x35, 0x44, 0x44, 0x45, 0x33, 0x33, 0x33, 0x33, 0x33, 0x21, 0x53, 0x33, 0x33, 0x51, 0x11, 0x33, 0x31, 0x11, 0x33, 0x33, 0x33, 0x33, 0x33, 0x21, 0x15, 0x33, 0x33, 0x33, 0x31, 0x11, 0x33, 0x21, 0x15, 0x33, 0x33, 0x33, 0x31, 0x11, 0x33, 0x33, 0x11, 0x13, 0x33, 0x33, 0x33, 0x33, 0x33, 0x11, 0x13, 0x33, 0x33, 0x21, 0x12, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x01, 0x12, 0x33, 0x33, 0x34, 0x44, 0x44, 0x43, 0x33, 0x33, 0x33, 0x34, 0x44, 0x44, 0x43, 0x33, 0x33, 0x33, 0x33, 0x33, 0x11, 0x13, 0x33, 0x33, 0x31, 0x11, 0x33, 0x31, 0x11, 0x33, 0x33, 0x33, 0x33, 0x33, 0x51, 0x12, 0x33, 0x33, 0x33, 0x21, 0x11, 0x33, 0x51, 0x12, 0x33, 0x33, 0x33, 0x21, 0x11, 0x33, 0x33, 0x11, 0x13, 0x33, 0x33, 0x33, 0x33, 0x33, 0x11, 0x13, 0x33, 0x33, 0x31, 0x11, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x01, 0x12, 0x33, 0x33, 0x44, 0x44, 0x44, 0x33, 0x33, 0x33, 0x33, 0x44, 0x44, 0x44, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x21, 0x11, 0x53, 0x33, 0x21, 0x12, 0x33, 0x31, 0x11, 0x33, 0x33, 0x33, 0x33, 0x33, 0x32, 0x11, 0x25, 0x33, 0x32, 0x11, 0x11, 0x33, 0x32, 0x11, 0x25, 0x33, 0x32, 0x11, 0x11, 0x33, 0x33, 0x11, 0x13, 0x33, 0x33, 0x33, 0x33, 0x33, 0x11, 0x13, 0x33, 0x33, 0x31, 0x11, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x01, 0x12, 0x33, 0x33, 0x44, 0x44, 0x45, 0x33, 0x33, 0x33, 0x33, 0x44, 0x44, 0x45, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x32, 0x11, 0x11, 0x11, 0x11, 0x23, 0x33, 0x31, 0x11, 0x11, 0x11, 0x11, 0x11, 0x23, 0x33, 0x21, 0x11, 0x11, 0x11, 0x12, 0x11, 0x33, 0x33, 0x21, 0x11, 0x11, 0x11, 0x12, 0x11, 0x33, 0x33, 0x11, 0x11, 0x11, 0x11, 0x11, 0x12, 0x33, 0x11, 0x13, 0x33, 0x33, 0x32, 0x11, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x01, 0x12, 0x33, 0x33, 0x44, 0x44, 0x53, 0x33, 0x33, 0x33, 0x33, 0x44, 0x44, 0x53, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x52, 0x21, 0x11, 0x25, 0x33, 0x33, 0x32, 0x11, 0x11, 0x11, 0x11, 0x11, 0x23, 0x33, 0x35, 0x22, 0x11, 0x22, 0x35, 0x12, 0x33, 0x33, 0x35, 0x22, 0x11, 0x22, 0x35, 0x12, 0x33, 0x33, 0x21, 0x11, 0x11, 0x11, 0x11, 0x12, 0x33, 0x21, 0x23, 0x33, 0x33, 0x35, 0x12, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x01, 0x12, 0x33, 0x33, 0x44, 0x44, 0x33, 0x33, 0x33, 0x33, 0x33, 0x44, 0x44, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x01, 0x12, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x01, 0x12, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x01, 0x12, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x11, 0x10,
|
||||
0x01, 0x11, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x35, 0x11, 0x10,
|
||||
0x01, 0x11, 0x12, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x11, 0x10,
|
||||
0x01, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x00,
|
||||
0x00, 0x01, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x10, 0x00,
|
||||
0x00, 0x00, 0x01, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x10, 0x00, 0x00
|
||||
};
|
||||
|
||||
GUI_CONST_STORAGE GUI_BITMAP bmSeggerLogoBlue = {
|
||||
138, /* XSize */
|
||||
65, /* YSize */
|
||||
69, /* BytesPerLine */
|
||||
4, /* BitsPerPixel */
|
||||
acSeggerLogoBlue, /* Pointer to picture data (indices) */
|
||||
&PalSeggerLogoBlue /* Pointer to palette */
|
||||
};
|
||||
|
||||
#endif /* LOGO_COMP */
|
||||
|
||||
#elif (LCD_YSIZE < 90) /* GUIDEMO_TINY */
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* SEGGER logo, 65% size
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
GUI_CONST_STORAGE unsigned char acSeggerLogoBlue[] = {
|
||||
0x01, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x10, 0x00,
|
||||
0x11, 0x12, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x11, 0x10,
|
||||
0x11, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x31, 0x10,
|
||||
0x12, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x31, 0x10,
|
||||
0x12, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x31, 0x10,
|
||||
0x12, 0x33, 0x34, 0x43, 0x33, 0x33, 0x33, 0x44, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x31, 0x10,
|
||||
0x12, 0x33, 0x34, 0x44, 0x53, 0x33, 0x33, 0x44, 0x45, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x31, 0x10,
|
||||
0x12, 0x33, 0x34, 0x44, 0x43, 0x33, 0x33, 0x44, 0x44, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x31, 0x10,
|
||||
0x12, 0x33, 0x33, 0x54, 0x44, 0x53, 0x33, 0x34, 0x44, 0x43, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x31, 0x10,
|
||||
0x12, 0x33, 0x33, 0x34, 0x44, 0x43, 0x33, 0x33, 0x44, 0x44, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x31, 0x10,
|
||||
0x12, 0x33, 0x33, 0x33, 0x44, 0x44, 0x33, 0x33, 0x54, 0x44, 0x53, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x31, 0x10,
|
||||
0x12, 0x33, 0x33, 0x33, 0x54, 0x44, 0x53, 0x33, 0x34, 0x44, 0x43, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x31, 0x10,
|
||||
0x12, 0x33, 0x33, 0x33, 0x34, 0x44, 0x43, 0x33, 0x33, 0x44, 0x44, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x31, 0x10,
|
||||
0x12, 0x33, 0x43, 0x33, 0x33, 0x44, 0x44, 0x33, 0x33, 0x54, 0x44, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x31, 0x10,
|
||||
0x12, 0x33, 0x44, 0x33, 0x33, 0x34, 0x44, 0x33, 0x33, 0x33, 0x44, 0x45, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x31, 0x10,
|
||||
0x12, 0x33, 0x44, 0x53, 0x33, 0x34, 0x44, 0x43, 0x33, 0x33, 0x44, 0x44, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x31, 0x10,
|
||||
0x12, 0x33, 0x44, 0x43, 0x33, 0x33, 0x54, 0x44, 0x33, 0x33, 0x34, 0x44, 0x43, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x31, 0x10,
|
||||
0x12, 0x33, 0x44, 0x44, 0x33, 0x33, 0x34, 0x44, 0x33, 0x33, 0x33, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x43, 0x33, 0x31, 0x10,
|
||||
0x12, 0x33, 0x44, 0x44, 0x43, 0x33, 0x33, 0x44, 0x44, 0x33, 0x33, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x33, 0x31, 0x10,
|
||||
0x12, 0x33, 0x44, 0x44, 0x43, 0x33, 0x33, 0x44, 0x44, 0x33, 0x33, 0x34, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x33, 0x31, 0x10,
|
||||
0x12, 0x33, 0x44, 0x44, 0x44, 0x43, 0x33, 0x34, 0x44, 0x43, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x31, 0x10,
|
||||
0x12, 0x33, 0x44, 0x44, 0x43, 0x33, 0x33, 0x44, 0x44, 0x33, 0x33, 0x34, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x33, 0x31, 0x10,
|
||||
0x12, 0x33, 0x44, 0x44, 0x43, 0x33, 0x33, 0x44, 0x44, 0x33, 0x33, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x33, 0x31, 0x10,
|
||||
0x12, 0x33, 0x44, 0x44, 0x33, 0x33, 0x34, 0x44, 0x33, 0x33, 0x33, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x43, 0x33, 0x31, 0x10,
|
||||
0x12, 0x33, 0x44, 0x43, 0x33, 0x33, 0x54, 0x44, 0x33, 0x33, 0x34, 0x44, 0x43, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x31, 0x10,
|
||||
0x12, 0x33, 0x44, 0x53, 0x33, 0x34, 0x44, 0x43, 0x33, 0x33, 0x44, 0x44, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x31, 0x10,
|
||||
0x12, 0x33, 0x44, 0x33, 0x33, 0x34, 0x44, 0x33, 0x33, 0x33, 0x44, 0x45, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x31, 0x10,
|
||||
0x12, 0x33, 0x43, 0x33, 0x33, 0x44, 0x44, 0x33, 0x33, 0x54, 0x44, 0x33, 0x33, 0x32, 0x11, 0x23, 0x33, 0x32, 0x11, 0x11, 0x11, 0x23, 0x33, 0x22, 0x11, 0x53, 0x33, 0x33, 0x52, 0x11, 0x23, 0x33, 0x33, 0x11, 0x11, 0x11, 0x12, 0x32, 0x11, 0x11, 0x15, 0x33, 0x33, 0x31, 0x10,
|
||||
0x12, 0x33, 0x43, 0x33, 0x34, 0x44, 0x43, 0x33, 0x33, 0x44, 0x44, 0x33, 0x33, 0x11, 0x11, 0x11, 0x53, 0x31, 0x11, 0x11, 0x11, 0x23, 0x32, 0x11, 0x11, 0x11, 0x33, 0x32, 0x11, 0x11, 0x11, 0x33, 0x33, 0x11, 0x11, 0x11, 0x12, 0x31, 0x11, 0x11, 0x11, 0x53, 0x33, 0x31, 0x10,
|
||||
0x12, 0x33, 0x33, 0x33, 0x54, 0x44, 0x53, 0x33, 0x34, 0x44, 0x43, 0x33, 0x33, 0x13, 0x33, 0x31, 0x23, 0x31, 0x13, 0x33, 0x33, 0x33, 0x11, 0x33, 0x33, 0x21, 0x33, 0x51, 0x23, 0x33, 0x31, 0x23, 0x33, 0x11, 0x33, 0x33, 0x33, 0x31, 0x13, 0x33, 0x31, 0x13, 0x33, 0x31, 0x10,
|
||||
0x12, 0x33, 0x33, 0x33, 0x44, 0x44, 0x33, 0x33, 0x54, 0x44, 0x53, 0x33, 0x33, 0x12, 0x53, 0x33, 0x33, 0x31, 0x13, 0x33, 0x33, 0x33, 0x11, 0x33, 0x33, 0x33, 0x33, 0x21, 0x53, 0x33, 0x33, 0x33, 0x33, 0x11, 0x33, 0x33, 0x33, 0x31, 0x13, 0x33, 0x31, 0x13, 0x33, 0x31, 0x10,
|
||||
0x12, 0x33, 0x33, 0x34, 0x44, 0x43, 0x33, 0x33, 0x44, 0x44, 0x33, 0x33, 0x33, 0x32, 0x21, 0x11, 0x23, 0x31, 0x11, 0x11, 0x11, 0x33, 0x11, 0x33, 0x21, 0x11, 0x23, 0x11, 0x33, 0x31, 0x11, 0x13, 0x33, 0x11, 0x11, 0x11, 0x23, 0x31, 0x11, 0x11, 0x12, 0x33, 0x33, 0x31, 0x10,
|
||||
0x12, 0x33, 0x33, 0x54, 0x44, 0x53, 0x33, 0x35, 0x44, 0x43, 0x33, 0x33, 0x33, 0x33, 0x35, 0x21, 0x13, 0x31, 0x13, 0x33, 0x33, 0x33, 0x11, 0x33, 0x21, 0x11, 0x13, 0x11, 0x33, 0x31, 0x11, 0x13, 0x33, 0x11, 0x33, 0x33, 0x33, 0x31, 0x11, 0x11, 0x12, 0x33, 0x33, 0x31, 0x10,
|
||||
0x12, 0x33, 0x34, 0x44, 0x43, 0x33, 0x33, 0x44, 0x44, 0x33, 0x33, 0x33, 0x33, 0x13, 0x33, 0x31, 0x13, 0x31, 0x13, 0x33, 0x33, 0x33, 0x11, 0x33, 0x33, 0x21, 0x13, 0x51, 0x23, 0x33, 0x31, 0x13, 0x33, 0x11, 0x33, 0x33, 0x33, 0x31, 0x13, 0x33, 0x31, 0x13, 0x33, 0x31, 0x10,
|
||||
0x12, 0x33, 0x34, 0x44, 0x53, 0x33, 0x33, 0x44, 0x45, 0x33, 0x33, 0x33, 0x33, 0x21, 0x11, 0x11, 0x23, 0x31, 0x11, 0x11, 0x11, 0x23, 0x32, 0x11, 0x11, 0x12, 0x13, 0x32, 0x11, 0x11, 0x12, 0x13, 0x33, 0x11, 0x11, 0x11, 0x12, 0x31, 0x13, 0x33, 0x31, 0x13, 0x33, 0x31, 0x10,
|
||||
0x12, 0x33, 0x34, 0x45, 0x33, 0x33, 0x33, 0x44, 0x53, 0x33, 0x33, 0x33, 0x33, 0x32, 0x21, 0x15, 0x33, 0x32, 0x11, 0x11, 0x11, 0x23, 0x33, 0x22, 0x12, 0x35, 0x23, 0x33, 0x52, 0x12, 0x25, 0x13, 0x33, 0x11, 0x11, 0x11, 0x12, 0x32, 0x23, 0x33, 0x31, 0x23, 0x33, 0x31, 0x10,
|
||||
0x12, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x31, 0x10,
|
||||
0x12, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x31, 0x10,
|
||||
0x11, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x51, 0x10,
|
||||
0x11, 0x12, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x11, 0x10,
|
||||
0x01, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x10, 0x00,
|
||||
0x00, 0x01, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00
|
||||
};
|
||||
|
||||
GUI_CONST_STORAGE GUI_BITMAP bmSeggerLogoBlue = {
|
||||
89, /* XSize */
|
||||
42, /* YSize */
|
||||
45, /* BytesPerLine */
|
||||
4, /* BitsPerPixel */
|
||||
acSeggerLogoBlue, /* Pointer to picture data (indices) */
|
||||
&PalSeggerLogoBlue /* Pointer to palette */
|
||||
};
|
||||
|
||||
#else /* (LCD_YSIZE < 90) */
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* SEGGER logo, 90% size
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
GUI_CONST_STORAGE unsigned char acSeggerLogoBlue[] = {
|
||||
0x00, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x10, 0x00,
|
||||
0x01, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x00,
|
||||
0x11, 0x11, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x11, 0x10,
|
||||
0x11, 0x13, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x11, 0x10,
|
||||
0x11, 0x23, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x11, 0x10,
|
||||
0x11, 0x23, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x11, 0x23, 0x33, 0x34, 0x44, 0x33, 0x33, 0x33, 0x33, 0x34, 0x44, 0x43, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x11, 0x23, 0x33, 0x34, 0x44, 0x33, 0x33, 0x33, 0x33, 0x34, 0x44, 0x43, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x11, 0x23, 0x33, 0x34, 0x44, 0x45, 0x33, 0x33, 0x33, 0x34, 0x44, 0x44, 0x53, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x11, 0x23, 0x33, 0x34, 0x44, 0x44, 0x33, 0x33, 0x33, 0x34, 0x44, 0x44, 0x43, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x11, 0x23, 0x33, 0x33, 0x44, 0x44, 0x43, 0x33, 0x33, 0x33, 0x44, 0x44, 0x44, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x11, 0x23, 0x33, 0x33, 0x34, 0x44, 0x45, 0x33, 0x33, 0x33, 0x54, 0x44, 0x44, 0x53, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x11, 0x23, 0x33, 0x33, 0x34, 0x44, 0x44, 0x53, 0x33, 0x33, 0x34, 0x44, 0x44, 0x43, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x11, 0x23, 0x33, 0x33, 0x35, 0x44, 0x44, 0x43, 0x33, 0x33, 0x33, 0x44, 0x44, 0x43, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x11, 0x23, 0x33, 0x33, 0x33, 0x34, 0x44, 0x44, 0x43, 0x33, 0x33, 0x35, 0x44, 0x44, 0x53, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x11, 0x23, 0x33, 0x33, 0x33, 0x35, 0x44, 0x44, 0x45, 0x33, 0x33, 0x33, 0x44, 0x44, 0x43, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x11, 0x23, 0x33, 0x33, 0x33, 0x33, 0x54, 0x44, 0x44, 0x33, 0x33, 0x33, 0x34, 0x44, 0x44, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x11, 0x23, 0x33, 0x33, 0x33, 0x33, 0x34, 0x44, 0x44, 0x33, 0x33, 0x33, 0x33, 0x44, 0x44, 0x53, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x11, 0x23, 0x33, 0x43, 0x33, 0x33, 0x33, 0x44, 0x44, 0x43, 0x33, 0x33, 0x33, 0x54, 0x44, 0x43, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x11, 0x23, 0x33, 0x44, 0x33, 0x33, 0x33, 0x54, 0x44, 0x45, 0x33, 0x33, 0x33, 0x34, 0x44, 0x44, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x11, 0x23, 0x33, 0x44, 0x43, 0x33, 0x33, 0x34, 0x44, 0x44, 0x33, 0x33, 0x33, 0x34, 0x44, 0x44, 0x53, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x11, 0x23, 0x33, 0x44, 0x43, 0x33, 0x33, 0x33, 0x44, 0x44, 0x43, 0x33, 0x33, 0x35, 0x44, 0x44, 0x45, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x11, 0x23, 0x33, 0x44, 0x43, 0x33, 0x33, 0x33, 0x34, 0x44, 0x44, 0x33, 0x33, 0x33, 0x54, 0x44, 0x44, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x11, 0x23, 0x33, 0x44, 0x44, 0x43, 0x33, 0x33, 0x33, 0x44, 0x44, 0x43, 0x33, 0x33, 0x33, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x33, 0x33, 0x21, 0x10,
|
||||
0x11, 0x23, 0x33, 0x44, 0x44, 0x45, 0x33, 0x33, 0x33, 0x44, 0x44, 0x44, 0x33, 0x33, 0x33, 0x54, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x43, 0x33, 0x21, 0x10,
|
||||
0x11, 0x23, 0x33, 0x44, 0x44, 0x44, 0x33, 0x33, 0x33, 0x34, 0x44, 0x44, 0x43, 0x33, 0x33, 0x34, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x43, 0x33, 0x21, 0x10,
|
||||
0x11, 0x23, 0x33, 0x44, 0x44, 0x44, 0x43, 0x33, 0x33, 0x35, 0x44, 0x44, 0x45, 0x33, 0x33, 0x33, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x43, 0x33, 0x21, 0x10,
|
||||
0x11, 0x23, 0x33, 0x44, 0x44, 0x44, 0x44, 0x33, 0x33, 0x33, 0x54, 0x44, 0x44, 0x53, 0x33, 0x33, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x33, 0x33, 0x21, 0x10,
|
||||
0x11, 0x23, 0x33, 0x44, 0x44, 0x44, 0x44, 0x43, 0x33, 0x33, 0x34, 0x44, 0x44, 0x43, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x11, 0x23, 0x33, 0x44, 0x44, 0x44, 0x44, 0x33, 0x33, 0x33, 0x54, 0x44, 0x44, 0x53, 0x33, 0x33, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x33, 0x33, 0x21, 0x10,
|
||||
0x11, 0x23, 0x33, 0x44, 0x44, 0x44, 0x43, 0x33, 0x33, 0x35, 0x44, 0x44, 0x44, 0x33, 0x33, 0x33, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x43, 0x33, 0x21, 0x10,
|
||||
0x11, 0x23, 0x33, 0x44, 0x44, 0x44, 0x33, 0x33, 0x33, 0x34, 0x44, 0x44, 0x43, 0x33, 0x33, 0x34, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x43, 0x33, 0x21, 0x10,
|
||||
0x11, 0x23, 0x33, 0x44, 0x44, 0x43, 0x33, 0x33, 0x33, 0x44, 0x44, 0x43, 0x33, 0x33, 0x33, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x33, 0x33, 0x21, 0x10,
|
||||
0x11, 0x23, 0x33, 0x44, 0x44, 0x33, 0x33, 0x33, 0x35, 0x44, 0x44, 0x53, 0x33, 0x33, 0x34, 0x44, 0x44, 0x43, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x11, 0x23, 0x33, 0x44, 0x43, 0x33, 0x33, 0x33, 0x34, 0x44, 0x44, 0x33, 0x33, 0x33, 0x54, 0x44, 0x44, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x11, 0x23, 0x33, 0x44, 0x43, 0x33, 0x33, 0x33, 0x44, 0x44, 0x43, 0x33, 0x33, 0x35, 0x44, 0x44, 0x43, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x11, 0x23, 0x33, 0x44, 0x43, 0x33, 0x33, 0x35, 0x44, 0x44, 0x33, 0x33, 0x33, 0x34, 0x44, 0x44, 0x53, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x11, 0x23, 0x33, 0x44, 0x33, 0x33, 0x33, 0x54, 0x44, 0x45, 0x33, 0x33, 0x33, 0x34, 0x44, 0x44, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x11, 0x23, 0x33, 0x43, 0x33, 0x33, 0x33, 0x44, 0x44, 0x43, 0x33, 0x33, 0x33, 0x54, 0x44, 0x43, 0x33, 0x33, 0x32, 0x21, 0x11, 0x22, 0x33, 0x33, 0x32, 0x11, 0x11, 0x11, 0x11, 0x12, 0x33, 0x35, 0x22, 0x11, 0x12, 0x53, 0x33, 0x33, 0x33, 0x52, 0x21, 0x12, 0x53, 0x33, 0x33, 0x32, 0x11, 0x11, 0x11, 0x11, 0x12, 0x33, 0x21, 0x11, 0x11, 0x11, 0x25, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x11, 0x23, 0x33, 0x43, 0x33, 0x33, 0x34, 0x44, 0x44, 0x33, 0x33, 0x33, 0x33, 0x44, 0x44, 0x53, 0x33, 0x33, 0x11, 0x11, 0x11, 0x11, 0x13, 0x33, 0x31, 0x11, 0x11, 0x11, 0x11, 0x12, 0x33, 0x31, 0x11, 0x11, 0x11, 0x11, 0x33, 0x33, 0x32, 0x11, 0x11, 0x11, 0x11, 0x33, 0x33, 0x31, 0x11, 0x11, 0x11, 0x11, 0x12, 0x33, 0x11, 0x11, 0x11, 0x11, 0x11, 0x53, 0x33, 0x33, 0x21, 0x10,
|
||||
0x11, 0x23, 0x33, 0x33, 0x33, 0x33, 0x54, 0x44, 0x44, 0x33, 0x33, 0x33, 0x34, 0x44, 0x44, 0x33, 0x33, 0x33, 0x11, 0x23, 0x33, 0x51, 0x13, 0x33, 0x31, 0x11, 0x33, 0x33, 0x33, 0x33, 0x33, 0x21, 0x25, 0x33, 0x52, 0x11, 0x33, 0x33, 0x21, 0x12, 0x53, 0x52, 0x11, 0x13, 0x33, 0x31, 0x11, 0x33, 0x33, 0x33, 0x33, 0x33, 0x11, 0x13, 0x33, 0x32, 0x11, 0x23, 0x33, 0x33, 0x21, 0x10,
|
||||
0x11, 0x23, 0x33, 0x33, 0x33, 0x34, 0x44, 0x44, 0x43, 0x33, 0x33, 0x35, 0x44, 0x44, 0x53, 0x33, 0x33, 0x33, 0x11, 0x25, 0x33, 0x33, 0x33, 0x33, 0x31, 0x11, 0x33, 0x33, 0x33, 0x33, 0x32, 0x15, 0x33, 0x33, 0x33, 0x33, 0x33, 0x32, 0x11, 0x53, 0x33, 0x33, 0x33, 0x33, 0x33, 0x31, 0x11, 0x33, 0x33, 0x33, 0x33, 0x33, 0x11, 0x13, 0x33, 0x33, 0x11, 0x13, 0x33, 0x33, 0x21, 0x10,
|
||||
0x11, 0x23, 0x33, 0x33, 0x33, 0x44, 0x44, 0x44, 0x33, 0x33, 0x33, 0x34, 0x44, 0x45, 0x33, 0x33, 0x33, 0x33, 0x11, 0x11, 0x11, 0x22, 0x33, 0x33, 0x31, 0x11, 0x11, 0x11, 0x11, 0x23, 0x31, 0x13, 0x33, 0x33, 0x33, 0x33, 0x33, 0x31, 0x11, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x31, 0x11, 0x11, 0x11, 0x11, 0x23, 0x33, 0x11, 0x13, 0x33, 0x32, 0x11, 0x23, 0x33, 0x33, 0x21, 0x10,
|
||||
0x11, 0x23, 0x33, 0x33, 0x35, 0x44, 0x44, 0x43, 0x33, 0x33, 0x33, 0x44, 0x44, 0x43, 0x33, 0x33, 0x33, 0x33, 0x35, 0x22, 0x11, 0x11, 0x13, 0x33, 0x31, 0x11, 0x11, 0x11, 0x11, 0x23, 0x31, 0x13, 0x33, 0x32, 0x11, 0x11, 0x23, 0x31, 0x11, 0x33, 0x32, 0x11, 0x11, 0x12, 0x33, 0x31, 0x11, 0x11, 0x11, 0x11, 0x23, 0x33, 0x11, 0x11, 0x11, 0x11, 0x12, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x11, 0x23, 0x33, 0x33, 0x34, 0x44, 0x44, 0x53, 0x33, 0x33, 0x35, 0x44, 0x44, 0x43, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x35, 0x21, 0x12, 0x33, 0x31, 0x11, 0x33, 0x33, 0x33, 0x33, 0x31, 0x13, 0x33, 0x32, 0x11, 0x11, 0x13, 0x31, 0x11, 0x33, 0x32, 0x11, 0x11, 0x11, 0x33, 0x31, 0x11, 0x33, 0x33, 0x33, 0x33, 0x33, 0x11, 0x11, 0x11, 0x11, 0x12, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x11, 0x23, 0x33, 0x33, 0x34, 0x44, 0x45, 0x33, 0x33, 0x33, 0x54, 0x44, 0x44, 0x53, 0x33, 0x33, 0x33, 0x33, 0x15, 0x33, 0x33, 0x35, 0x11, 0x33, 0x31, 0x11, 0x33, 0x33, 0x33, 0x33, 0x32, 0x15, 0x33, 0x33, 0x33, 0x31, 0x13, 0x32, 0x11, 0x53, 0x33, 0x33, 0x31, 0x11, 0x33, 0x31, 0x11, 0x33, 0x33, 0x33, 0x33, 0x33, 0x11, 0x13, 0x33, 0x32, 0x11, 0x23, 0x33, 0x33, 0x21, 0x10,
|
||||
0x11, 0x23, 0x33, 0x33, 0x44, 0x44, 0x43, 0x33, 0x33, 0x33, 0x44, 0x44, 0x44, 0x33, 0x33, 0x33, 0x33, 0x33, 0x11, 0x33, 0x33, 0x33, 0x11, 0x33, 0x31, 0x11, 0x33, 0x33, 0x33, 0x33, 0x35, 0x12, 0x33, 0x33, 0x33, 0x21, 0x13, 0x35, 0x11, 0x23, 0x33, 0x33, 0x21, 0x11, 0x33, 0x31, 0x11, 0x33, 0x33, 0x33, 0x33, 0x33, 0x11, 0x13, 0x33, 0x33, 0x11, 0x13, 0x33, 0x33, 0x21, 0x10,
|
||||
0x11, 0x23, 0x33, 0x34, 0x44, 0x44, 0x33, 0x33, 0x33, 0x34, 0x44, 0x44, 0x43, 0x33, 0x33, 0x33, 0x33, 0x33, 0x11, 0x15, 0x33, 0x32, 0x12, 0x33, 0x31, 0x11, 0x33, 0x33, 0x33, 0x33, 0x33, 0x21, 0x25, 0x33, 0x32, 0x11, 0x13, 0x33, 0x21, 0x12, 0x53, 0x32, 0x11, 0x11, 0x33, 0x31, 0x11, 0x33, 0x33, 0x33, 0x33, 0x33, 0x11, 0x13, 0x33, 0x33, 0x11, 0x13, 0x33, 0x33, 0x21, 0x10,
|
||||
0x11, 0x23, 0x33, 0x34, 0x44, 0x45, 0x33, 0x33, 0x33, 0x34, 0x44, 0x44, 0x53, 0x33, 0x33, 0x33, 0x33, 0x33, 0x21, 0x11, 0x11, 0x11, 0x13, 0x33, 0x31, 0x11, 0x11, 0x11, 0x11, 0x12, 0x33, 0x31, 0x11, 0x11, 0x11, 0x12, 0x13, 0x33, 0x32, 0x11, 0x11, 0x11, 0x12, 0x11, 0x33, 0x31, 0x11, 0x11, 0x11, 0x11, 0x12, 0x33, 0x11, 0x13, 0x33, 0x33, 0x21, 0x13, 0x33, 0x33, 0x21, 0x10,
|
||||
0x11, 0x23, 0x33, 0x34, 0x44, 0x53, 0x33, 0x33, 0x33, 0x34, 0x44, 0x45, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x35, 0x22, 0x11, 0x12, 0x53, 0x33, 0x32, 0x11, 0x11, 0x11, 0x11, 0x12, 0x33, 0x35, 0x22, 0x11, 0x22, 0x35, 0x23, 0x33, 0x33, 0x52, 0x21, 0x22, 0x35, 0x12, 0x33, 0x32, 0x11, 0x11, 0x11, 0x11, 0x12, 0x33, 0x21, 0x23, 0x33, 0x33, 0x51, 0x23, 0x33, 0x33, 0x21, 0x10,
|
||||
0x11, 0x23, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x11, 0x23, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x21, 0x10,
|
||||
0x11, 0x23, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x11, 0x10,
|
||||
0x11, 0x13, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x35, 0x11, 0x10,
|
||||
0x11, 0x11, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x11, 0x10,
|
||||
0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x00,
|
||||
0x00, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x10, 0x00,
|
||||
0x00, 0x00, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x10, 0x00, 0x00
|
||||
};
|
||||
|
||||
GUI_CONST_STORAGE GUI_BITMAP bmSeggerLogoBlue = {
|
||||
123, /* XSize */
|
||||
58, /* YSize */
|
||||
62, /* BytesPerLine */
|
||||
4, /* BitsPerPixel */
|
||||
acSeggerLogoBlue, /* Pointer to picture data (indices) */
|
||||
&PalSeggerLogoBlue /* Pointer to palette */
|
||||
};
|
||||
|
||||
#endif /* (LCD_YSIZE < 90) */
|
||||
|
||||
/* *** End of file *** */
|
||||
@@ -0,0 +1,166 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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 : BUTTON.h
|
||||
Purpose : BUTTON public header file (API)
|
||||
--------------------END-OF-HEADER-------------------------------------
|
||||
*/
|
||||
|
||||
#ifndef BUTTON_H
|
||||
#define BUTTON_H
|
||||
|
||||
#include "WM.h"
|
||||
#include "DIALOG_Intern.h" /* Req. for Create indirect data structure */
|
||||
#include "WIDGET.h"
|
||||
|
||||
|
||||
#if defined(__cplusplus)
|
||||
extern "C" { /* Make sure we have C-declarations in C++ programs */
|
||||
#endif
|
||||
|
||||
#if GUI_WINSUPPORT
|
||||
|
||||
/************************************************************
|
||||
*
|
||||
* Create flags
|
||||
*/
|
||||
/* For compatibility only ! */
|
||||
#define BUTTON_CF_HIDE WM_CF_HIDE
|
||||
#define BUTTON_CF_SHOW WM_CF_SHOW
|
||||
#define BUTTON_CF_MEMDEV WM_CF_MEMDEV
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Color indices
|
||||
*/
|
||||
#define BUTTON_CI_UNPRESSED 0
|
||||
#define BUTTON_CI_PRESSED 1
|
||||
#define BUTTON_CI_DISABLED 2
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Bitmap indices
|
||||
*/
|
||||
#define BUTTON_BI_UNPRESSED 0
|
||||
#define BUTTON_BI_PRESSED 1
|
||||
#define BUTTON_BI_DISABLED 2
|
||||
|
||||
/************************************************************
|
||||
*
|
||||
* Messages
|
||||
*/
|
||||
|
||||
/************************************************************
|
||||
*
|
||||
* States
|
||||
*/
|
||||
|
||||
#define BUTTON_STATE_FOCUS WIDGET_STATE_FOCUS
|
||||
#define BUTTON_STATE_PRESSED WIDGET_STATE_USER0
|
||||
|
||||
/************************************************************
|
||||
*
|
||||
* Types
|
||||
*
|
||||
*************************************************************
|
||||
*/
|
||||
typedef WM_HMEM BUTTON_Handle;
|
||||
|
||||
/************************************************************
|
||||
*
|
||||
* Create function(s)
|
||||
|
||||
Note: the parameters to a create function may vary.
|
||||
Some widgets may have multiple create functions
|
||||
*/
|
||||
|
||||
BUTTON_Handle BUTTON_Create (int x0, int y0, int xsize, int ysize, int ID, int Flags);
|
||||
BUTTON_Handle BUTTON_CreateAsChild (int x0, int y0, int xsize, int ysize, WM_HWIN hParent, int Id, int Flags);
|
||||
BUTTON_Handle BUTTON_CreateIndirect(const GUI_WIDGET_CREATE_INFO* pCreateInfo, WM_HWIN hWinParent, int x0, int y0, WM_CALLBACK* cb);
|
||||
BUTTON_Handle BUTTON_CreateEx (int x0, int y0, int xsize, int ysize, WM_HWIN hParent,
|
||||
int WinFlags, int ExFlags, int Id);
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Standard member functions
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
GUI_COLOR BUTTON_GetDefaultBkColor (unsigned Index);
|
||||
const GUI_FONT GUI_UNI_PTR * BUTTON_GetDefaultFont (void);
|
||||
int BUTTON_GetDefaultTextAlign(void);
|
||||
GUI_COLOR BUTTON_GetDefaultTextColor(unsigned Index);
|
||||
void BUTTON_SetDefaultBkColor (GUI_COLOR Color, unsigned Index);
|
||||
void BUTTON_SetDefaultFont (const GUI_FONT GUI_UNI_PTR * pFont);
|
||||
void BUTTON_SetDefaultTextAlign(int Align);
|
||||
void BUTTON_SetDefaultTextColor(GUI_COLOR Color, unsigned Index);
|
||||
|
||||
#define BUTTON_EnableMemdev(hObj) WM_EnableMemdev (hObj)
|
||||
#define BUTTON_DisableMemdev(hObj) WM_DisableMemdev (hObj)
|
||||
#define BUTTON_Delete(hObj) WM_DeleteWindow (hObj)
|
||||
#define BUTTON_Paint(hObj) WM_Paint (hObj)
|
||||
#define BUTTON_Invalidate(hObj) WM_InvalidateWindow(hObj)
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* The callback ...
|
||||
*
|
||||
* Do not call it directly ! It is only to be used from within an
|
||||
* overwritten callback.
|
||||
*/
|
||||
void BUTTON_Callback(WM_MESSAGE *pMsg);
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Member functions
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
GUI_COLOR BUTTON_GetBkColor (BUTTON_Handle hObj, unsigned int Index);
|
||||
const GUI_FONT GUI_UNI_PTR * BUTTON_GetFont(BUTTON_Handle hObj);
|
||||
void BUTTON_GetText (BUTTON_Handle hObj, char * pBuffer, int MaxLen);
|
||||
GUI_COLOR BUTTON_GetTextColor (BUTTON_Handle hObj, unsigned int Index);
|
||||
unsigned BUTTON_IsPressed (BUTTON_Handle hObj);
|
||||
void BUTTON_SetBitmap (BUTTON_Handle hObj, unsigned int Index, const GUI_BITMAP * pBitmap);
|
||||
void BUTTON_SetBitmapEx (BUTTON_Handle hObj, unsigned int Index, const GUI_BITMAP * pBitmap, int x, int y);
|
||||
void BUTTON_SetBkColor (BUTTON_Handle hObj, unsigned int Index, GUI_COLOR Color);
|
||||
void BUTTON_SetBMP (BUTTON_Handle hObj, unsigned int Index, const void * pBitmap);
|
||||
void BUTTON_SetBMPEx (BUTTON_Handle hObj, unsigned int Index, const void * pBitmap, int x, int y);
|
||||
void BUTTON_SetFont (BUTTON_Handle hObj, const GUI_FONT GUI_UNI_PTR * pfont);
|
||||
void BUTTON_SetState (BUTTON_Handle hObj, int State); /* Not to be doc. */
|
||||
void BUTTON_SetPressed (BUTTON_Handle hObj, int State);
|
||||
void BUTTON_SetFocussable (BUTTON_Handle hObj, int State);
|
||||
void BUTTON_SetStreamedBitmap (BUTTON_Handle hObj, unsigned int Index, const GUI_BITMAP_STREAM * pBitmap);
|
||||
void BUTTON_SetStreamedBitmapEx(BUTTON_Handle hObj, unsigned int Index, const GUI_BITMAP_STREAM * pBitmap, int x, int y);
|
||||
void BUTTON_SetText (BUTTON_Handle hObj, const char* s);
|
||||
void BUTTON_SetTextAlign (BUTTON_Handle hObj, int Align);
|
||||
void BUTTON_SetTextColor (BUTTON_Handle hObj, unsigned int Index, GUI_COLOR Color);
|
||||
void BUTTON_SetSelfDrawEx (BUTTON_Handle hObj, unsigned int Index, void (*pDraw)(void), int x, int y); /* Not to be doc. */
|
||||
void BUTTON_SetSelfDraw (BUTTON_Handle hObj, unsigned int Index, void (*pDraw)(void)); /* Not to be doc. */
|
||||
|
||||
/************************************************************
|
||||
*
|
||||
* States
|
||||
*/
|
||||
#define BUTTON_STATE_HASFOCUS 0
|
||||
|
||||
#endif /* BUTTON_H */
|
||||
|
||||
#if defined(__cplusplus)
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* BUTTON_H */
|
||||
@@ -0,0 +1,65 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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 : BUTTON_Private.h
|
||||
Purpose : BUTTON private header file
|
||||
--------------------END-OF-HEADER-------------------------------------
|
||||
*/
|
||||
|
||||
#ifndef BUTTON_PRIVATE_H
|
||||
#define BUTTON_PRIVATE_H
|
||||
|
||||
#include "WM.h"
|
||||
#include "BUTTON.h"
|
||||
|
||||
#if GUI_WINSUPPORT
|
||||
|
||||
#define BUTTON_ID 0x42555454
|
||||
|
||||
#define BUTTON_H2P(h) (BUTTON_Obj*) GUI_ALLOC_h2p(h)
|
||||
|
||||
#if GUI_DEBUG_LEVEL >= GUI_DEBUG_LEVEL_CHECK_ALL
|
||||
#define BUTTON_ASSERT_IS_VALID_PTR(p) GUI_DEBUG_ERROROUT_IF(p->DebugId != BUTTON_ID, "BUTTON.C: Wrong handle type or object not init'ed")
|
||||
#define BUTTON_INIT_ID(p) p->DebugId = BUTTON_ID
|
||||
#define BUTTON_DEINIT_ID(p) p->DebugId = BUTTON_ID+1
|
||||
#else
|
||||
#define BUTTON_ASSERT_IS_VALID_PTR(p)
|
||||
#define BUTTON_INIT_ID(p)
|
||||
#define BUTTON_DEINIT_ID(p)
|
||||
#endif
|
||||
|
||||
typedef struct {
|
||||
GUI_COLOR aBkColor[3];
|
||||
GUI_COLOR aTextColor[3];
|
||||
const GUI_FONT GUI_UNI_PTR * pFont;
|
||||
I16 Align;
|
||||
} BUTTON_PROPS;
|
||||
|
||||
typedef struct {
|
||||
WIDGET Widget;
|
||||
BUTTON_PROPS Props;
|
||||
WM_HMEM hpText;
|
||||
WM_HMEM ahDrawObj[3];
|
||||
#if GUI_DEBUG_LEVEL >= GUI_DEBUG_LEVEL_CHECK_ALL
|
||||
int DebugId;
|
||||
#endif
|
||||
} BUTTON_Obj;
|
||||
|
||||
extern BUTTON_PROPS BUTTON__DefaultProps;
|
||||
|
||||
void BUTTON__SetDrawObj(BUTTON_Handle hObj, int Index, GUI_DRAW_HANDLE hDrawObj);
|
||||
|
||||
|
||||
#endif /* GUI_WINSUPPORT */
|
||||
#endif /* BUTTON_H */
|
||||
@@ -0,0 +1,124 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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 : CHECKBOX.h
|
||||
Purpose : CHECKBOX include
|
||||
--------------------END-OF-HEADER-------------------------------------
|
||||
*/
|
||||
|
||||
#ifndef CHECKBOX_H
|
||||
#define CHECKBOX_H
|
||||
|
||||
#include "WM.h"
|
||||
#include "DIALOG_Intern.h" /* Req. for Create indirect data structure */
|
||||
|
||||
#if GUI_WINSUPPORT
|
||||
|
||||
#if defined(__cplusplus)
|
||||
extern "C" { /* Make sure we have C-declarations in C++ programs */
|
||||
#endif
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* defines
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Bitmap indices
|
||||
*/
|
||||
#define CHECKBOX_BI_INACTIV 0
|
||||
#define CHECKBOX_BI_ACTIV 1
|
||||
#define CHECKBOX_BI_INACTIV_3STATE 2
|
||||
#define CHECKBOX_BI_ACTIV_3STATE 3
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Public Types
|
||||
*
|
||||
**********************************************************************
|
||||
|
||||
*/
|
||||
typedef WM_HMEM CHECKBOX_Handle;
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Create functions
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
CHECKBOX_Handle CHECKBOX_Create (int x0, int y0, int xsize, int ysize, WM_HWIN hParent, int Id, int Flags);
|
||||
CHECKBOX_Handle CHECKBOX_CreateIndirect(const GUI_WIDGET_CREATE_INFO* pCreateInfo, WM_HWIN hWinParent, int x0, int y0, WM_CALLBACK* cb);
|
||||
CHECKBOX_Handle CHECKBOX_CreateEx (int x0, int y0, int xsize, int ysize, WM_HWIN hParent,
|
||||
int WinFlags, int ExFlags, int Id);
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Standard member functions
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
int CHECKBOX_GetDefaultAlign (void);
|
||||
GUI_COLOR CHECKBOX_GetDefaultBkColor (void);
|
||||
const GUI_FONT GUI_UNI_PTR * CHECKBOX_GetDefaultFont (void);
|
||||
int CHECKBOX_GetDefaultSpacing (void);
|
||||
int CHECKBOX_GetDefaultTextAlign(void);
|
||||
GUI_COLOR CHECKBOX_GetDefaultTextColor(void);
|
||||
void CHECKBOX_SetDefaultAlign (int Align);
|
||||
void CHECKBOX_SetDefaultBkColor (GUI_COLOR Color);
|
||||
void CHECKBOX_SetDefaultFont (const GUI_FONT GUI_UNI_PTR * pFont);
|
||||
void CHECKBOX_SetDefaultImage (const GUI_BITMAP * pBitmap, unsigned int Index);
|
||||
void CHECKBOX_SetDefaultSpacing (int Spacing);
|
||||
void CHECKBOX_SetDefaultTextAlign(int Align);
|
||||
void CHECKBOX_SetDefaultTextColor(GUI_COLOR Color);
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Member functions
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
int CHECKBOX_GetState (CHECKBOX_Handle hObj);
|
||||
int CHECKBOX_IsChecked (CHECKBOX_Handle hObj);
|
||||
void CHECKBOX_SetBkColor (CHECKBOX_Handle hObj, GUI_COLOR Color);
|
||||
void CHECKBOX_SetFont (CHECKBOX_Handle hObj, const GUI_FONT GUI_UNI_PTR * pFont);
|
||||
void CHECKBOX_SetImage (CHECKBOX_Handle hObj, const GUI_BITMAP * pBitmap, unsigned int Index);
|
||||
void CHECKBOX_SetNumStates(CHECKBOX_Handle hObj, unsigned NumStates);
|
||||
void CHECKBOX_SetSpacing (CHECKBOX_Handle hObj, unsigned Spacing);
|
||||
void CHECKBOX_SetState (CHECKBOX_Handle hObj, unsigned State);
|
||||
void CHECKBOX_SetText (CHECKBOX_Handle hObj, const char * pText);
|
||||
void CHECKBOX_SetTextAlign(CHECKBOX_Handle hObj, int Align);
|
||||
void CHECKBOX_SetTextColor(CHECKBOX_Handle hObj, GUI_COLOR Color);
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Macros for compatibility
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
#define CHECKBOX_Check(hObj) CHECKBOX_SetState(hObj, 1)
|
||||
#define CHECKBOX_Uncheck(hObj) CHECKBOX_SetState(hObj, 0)
|
||||
|
||||
#if defined(__cplusplus)
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* if GUI_WINSUPPORT */
|
||||
#endif /* CHECKBOX_H */
|
||||
@@ -0,0 +1,103 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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 : CHECKBOX_Private.h
|
||||
Purpose : CHECKBOX private header file
|
||||
--------------------END-OF-HEADER-------------------------------------
|
||||
*/
|
||||
|
||||
#ifndef CHECKBOX_PRIVATE_H
|
||||
#define CHECKBOX_PRIVATE_H
|
||||
|
||||
#include "WM.h"
|
||||
#include "WIDGET.h"
|
||||
#include "CHECKBOX.h"
|
||||
|
||||
#if GUI_WINSUPPORT
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Defines
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
#ifndef CHECKBOX_BKCOLOR0_DEFAULT
|
||||
#define CHECKBOX_BKCOLOR0_DEFAULT 0x808080 /* Inactive color */
|
||||
#endif
|
||||
|
||||
#ifndef CHECKBOX_BKCOLOR1_DEFAULT
|
||||
#define CHECKBOX_BKCOLOR1_DEFAULT GUI_WHITE /* Active color */
|
||||
#endif
|
||||
|
||||
#ifndef CHECKBOX_FGCOLOR0_DEFAULT
|
||||
#define CHECKBOX_FGCOLOR0_DEFAULT 0x101010
|
||||
#endif
|
||||
|
||||
#ifndef CHECKBOX_FGCOLOR1_DEFAULT
|
||||
#define CHECKBOX_FGCOLOR1_DEFAULT GUI_BLACK
|
||||
#endif
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Object definition
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
typedef struct {
|
||||
const GUI_FONT GUI_UNI_PTR * pFont;
|
||||
GUI_COLOR aBkColorBox[2]; /* Colors used to draw the box background */
|
||||
GUI_COLOR BkColor; /* Widget background color */
|
||||
GUI_COLOR TextColor;
|
||||
I16 Align;
|
||||
U8 Spacing;
|
||||
const GUI_BITMAP * apBm[4];
|
||||
} CHECKBOX_PROPS;
|
||||
|
||||
typedef struct {
|
||||
WIDGET Widget;
|
||||
CHECKBOX_PROPS Props;
|
||||
U8 NumStates;
|
||||
U8 CurrentState;
|
||||
WM_HMEM hpText;
|
||||
#if GUI_DEBUG_LEVEL > 1
|
||||
int DebugId;
|
||||
#endif
|
||||
} CHECKBOX_Obj;
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Macros for internal use
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
#define CHECKBOX_H2P(h) (CHECKBOX_Obj*) GUI_ALLOC_h2p(h)
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Public data (internal defaults)
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
extern CHECKBOX_PROPS CHECKBOX__DefaultProps;
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Extern data
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
extern const GUI_BITMAP CHECKBOX__abmCheck[2];
|
||||
|
||||
#endif /* GUI_WINSUPPORT */
|
||||
#endif /* CHECKBOX_PRIVATE_H */
|
||||
@@ -0,0 +1,54 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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 : Dialog.h
|
||||
Purpose : Dialog box include
|
||||
----------------------------------------------------------------------
|
||||
Open items:
|
||||
None
|
||||
--------------------END-OF-HEADER-------------------------------------
|
||||
*/
|
||||
|
||||
#ifndef DIALOG_H
|
||||
#define DIALOG_H
|
||||
|
||||
#include "WM.h"
|
||||
#include "BUTTON.h"
|
||||
#include "CHECKBOX.h"
|
||||
#include "DROPDOWN.h"
|
||||
#include "EDIT.h"
|
||||
#include "FRAMEWIN.h"
|
||||
#include "LISTBOX.h"
|
||||
#include "MULTIEDIT.h"
|
||||
#include "RADIO.h"
|
||||
#include "SLIDER.h"
|
||||
#include "TEXT.h"
|
||||
|
||||
#if GUI_WINSUPPORT
|
||||
|
||||
#if defined(__cplusplus)
|
||||
extern "C" { /* Make sure we have C-declarations in C++ programs */
|
||||
#endif
|
||||
|
||||
WM_HWIN WINDOW_CreateIndirect(const GUI_WIDGET_CREATE_INFO* pCreateInfo, WM_HWIN hWinParent, int x0, int y0, WM_CALLBACK* cb);
|
||||
void WINDOW_SetDefaultBkColor(GUI_COLOR Color);
|
||||
|
||||
#if defined(__cplusplus)
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,98 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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 : Dialog.h
|
||||
Purpose : Dialog box include
|
||||
----------------------------------------------------------------------
|
||||
Open items:
|
||||
None
|
||||
--------------------END-OF-HEADER-------------------------------------
|
||||
*/
|
||||
|
||||
#ifndef DIALOG_INTERN_H
|
||||
#define DIALOG_INTERN_H
|
||||
|
||||
#include "WM.h"
|
||||
|
||||
#if GUI_WINSUPPORT
|
||||
|
||||
|
||||
#if defined(__cplusplus)
|
||||
extern "C" { /* Make sure we have C-declarations in C++ programs */
|
||||
#endif
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* typedefs
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
typedef struct GUI_WIDGET_CREATE_INFO_struct GUI_WIDGET_CREATE_INFO;
|
||||
typedef WM_HWIN GUI_WIDGET_CREATE_FUNC (const GUI_WIDGET_CREATE_INFO* pCreate, WM_HWIN hWin, int x0, int y0, WM_CALLBACK* cb);
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* structures
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
struct GUI_WIDGET_CREATE_INFO_struct {
|
||||
GUI_WIDGET_CREATE_FUNC* pfCreateIndirect;
|
||||
const char* pName; /* Text ... Not used on all widgets */
|
||||
I16 Id; /* ID ... should be unique in a dialog */
|
||||
I16 x0, y0, xSize, ySize; /* Define position and size */
|
||||
U16 Flags; /* Widget specific create flags (opt.) */
|
||||
I32 Para; /* Widget specific parameter (opt.) */
|
||||
};
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Create functions for well known widgets
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
WM_HWIN BUTTON_CreateIndirect (const GUI_WIDGET_CREATE_INFO* pCreateInfo, WM_HWIN hWinParent, int x0, int y0, WM_CALLBACK* cb);
|
||||
WM_HWIN CHECKBOX_CreateIndirect (const GUI_WIDGET_CREATE_INFO* pCreateInfo, WM_HWIN hWinParent, int x0, int y0, WM_CALLBACK* cb);
|
||||
WM_HWIN EDIT_CreateIndirect (const GUI_WIDGET_CREATE_INFO* pCreateInfo, WM_HWIN hWinParent, int x0, int y0, WM_CALLBACK* cb);
|
||||
WM_HWIN FRAMEWIN_CreateIndirect (const GUI_WIDGET_CREATE_INFO* pCreateInfo, WM_HWIN hWinParent, int x0, int y0, WM_CALLBACK* cb);
|
||||
WM_HWIN RADIO_CreateIndirect (const GUI_WIDGET_CREATE_INFO* pCreateInfo, WM_HWIN hWinParent, int x0, int y0, WM_CALLBACK* cb);
|
||||
WM_HWIN SLIDER_CreateIndirect (const GUI_WIDGET_CREATE_INFO* pCreateInfo, WM_HWIN hWinParent, int x0, int y0, WM_CALLBACK* cb);
|
||||
WM_HWIN SCROLLBAR_CreateIndirect(const GUI_WIDGET_CREATE_INFO* pCreateInfo, WM_HWIN hWinParent, int x0, int y0, WM_CALLBACK* cb);
|
||||
WM_HWIN TEXT_CreateIndirect (const GUI_WIDGET_CREATE_INFO* pCreateInfo, WM_HWIN hWinParent, int x0, int y0, WM_CALLBACK* cb);
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Public API functions
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
int GUI_ExecDialogBox (const GUI_WIDGET_CREATE_INFO* paWidget, int NumWidgets, WM_CALLBACK* cb, WM_HWIN hParent, int x0, int y0);
|
||||
int GUI_ExecCreatedDialog (WM_HWIN hDialog);
|
||||
WM_HWIN GUI_CreateDialogBox (const GUI_WIDGET_CREATE_INFO* paWidget, int NumWidgets, WM_CALLBACK* cb, WM_HWIN hParent, int x0, int y0);
|
||||
void GUI_SetDialogStatusPtr(WM_HWIN hDialog, WM_DIALOG_STATUS* pDialogStatus); /* not to documented */
|
||||
WM_DIALOG_STATUS* GUI_GetDialogStatusPtr(WM_HWIN hDialog); /* not to documented */
|
||||
void GUI_EndDialog(WM_HWIN hWin, int r);
|
||||
LCD_COLOR DIALOG_GetBkColor(void); /* obsolete */
|
||||
LCD_COLOR DIALOG_SetBkColor(LCD_COLOR BkColor); /* obsolete */
|
||||
|
||||
#if defined(__cplusplus)
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#endif /* GUI_WINSUPPORT */
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,117 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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 : DROPDOWN.h
|
||||
Purpose : Multiple choice object include
|
||||
--------------------END-OF-HEADER-------------------------------------
|
||||
*/
|
||||
|
||||
#ifndef DROPDOWN_H
|
||||
#define DROPDOWN_H
|
||||
|
||||
#include "WM.h"
|
||||
#include "DIALOG_Intern.h" /* Req. for Create indirect data structure */
|
||||
|
||||
#if GUI_WINSUPPORT
|
||||
|
||||
#if defined(__cplusplus)
|
||||
extern "C" { /* Make sure we have C-declarations in C++ programs */
|
||||
#endif
|
||||
|
||||
typedef WM_HMEM DROPDOWN_Handle;
|
||||
|
||||
/************************************************************
|
||||
*
|
||||
* Create flags
|
||||
*/
|
||||
#define DROPDOWN_CF_AUTOSCROLLBAR (1 << 0)
|
||||
#define DROPDOWN_CF_UP (1 << 1)
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Color indices
|
||||
*/
|
||||
#define DROPDOWN_CI_UNSEL 0
|
||||
#define DROPDOWN_CI_SEL 1
|
||||
#define DROPDOWN_CI_SELFOCUS 2
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Standard member functions
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
#define DROPDOWN_EnableMemdev(hObj) WM_EnableMemdev(hObj)
|
||||
#define DROPDOWN_DisableMemdev(hObj) WM_DisableMemdev(hObj)
|
||||
#define DROPDOWN_Delete(hObj) WM_DeleteWindow(hObj)
|
||||
#define DROPDOWN_Paint(hObj) WM_Paint(hObj)
|
||||
#define DROPDOWN_Invalidate(hObj) WM_InvalidateWindow(hObj)
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Create functions
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
DROPDOWN_Handle DROPDOWN_Create (WM_HWIN hWinParent, int x0, int y0, int xsize, int ysize, int Flags);
|
||||
DROPDOWN_Handle DROPDOWN_CreateIndirect(const GUI_WIDGET_CREATE_INFO* pCreateInfo, WM_HWIN hWinParent, int x0, int y0, WM_CALLBACK* cb);
|
||||
DROPDOWN_Handle DROPDOWN_CreateEx (int x0, int y0, int xsize, int ysize, WM_HWIN hParent,
|
||||
int WinFlags, int ExFlags, int Id);
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Member functions
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
void DROPDOWN_AddKey (DROPDOWN_Handle hObj, int Key);
|
||||
void DROPDOWN_AddString (DROPDOWN_Handle hObj, const char* s);
|
||||
void DROPDOWN_Collapse (DROPDOWN_Handle hObj);
|
||||
void DROPDOWN_DecSel (DROPDOWN_Handle hObj);
|
||||
void DROPDOWN_DeleteItem (DROPDOWN_Handle hObj, unsigned int Index);
|
||||
void DROPDOWN_Expand (DROPDOWN_Handle hObj);
|
||||
unsigned DROPDOWN_GetItemSpacing (DROPDOWN_Handle hObj);
|
||||
int DROPDOWN_GetNumItems (DROPDOWN_Handle hObj);
|
||||
int DROPDOWN_GetSel (DROPDOWN_Handle hObj);
|
||||
void DROPDOWN_IncSel (DROPDOWN_Handle hObj);
|
||||
void DROPDOWN_InsertString (DROPDOWN_Handle hObj, const char* s, unsigned int Index);
|
||||
void DROPDOWN_SetAutoScroll (DROPDOWN_Handle hObj, int OnOff);
|
||||
void DROPDOWN_SetBkColor (DROPDOWN_Handle hObj, unsigned int index, GUI_COLOR color);
|
||||
void DROPDOWN_SetFont (DROPDOWN_Handle hObj, const GUI_FONT GUI_UNI_PTR * pfont);
|
||||
void DROPDOWN_SetItemSpacing (DROPDOWN_Handle hObj, unsigned Value);
|
||||
void DROPDOWN_SetSel (DROPDOWN_Handle hObj, int Sel);
|
||||
void DROPDOWN_SetScrollbarWidth(DROPDOWN_Handle hObj, unsigned Width);
|
||||
void DROPDOWN_SetTextAlign (DROPDOWN_Handle hObj, int Align);
|
||||
void DROPDOWN_SetTextColor (DROPDOWN_Handle hObj, unsigned int index, GUI_COLOR color);
|
||||
void DROPDOWN_SetTextHeight (DROPDOWN_Handle hObj, unsigned TextHeight);
|
||||
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Global functions
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
const GUI_FONT GUI_UNI_PTR * DROPDOWN_GetDefaultFont(void);
|
||||
void DROPDOWN_SetDefaultFont(const GUI_FONT* pFont);
|
||||
|
||||
#if defined(__cplusplus)
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* GUI_WINSUPPORT */
|
||||
#endif /* DROPDOWN_H */
|
||||
@@ -0,0 +1,66 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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 : DROPDOWN_Private.h
|
||||
Purpose : DROPDOWN private header file
|
||||
--------------------END-OF-HEADER-------------------------------------
|
||||
*/
|
||||
|
||||
#ifndef DROPDOWN_PRIVATE_H
|
||||
#define DROPDOWN_PRIVATE_H
|
||||
|
||||
#include "DROPDOWN.h"
|
||||
#include "WIDGET.h"
|
||||
#include "GUI_ARRAY.h"
|
||||
|
||||
#if GUI_WINSUPPORT
|
||||
|
||||
/************************************************************
|
||||
*
|
||||
* Create / Status flags
|
||||
*/
|
||||
#define DROPDOWN_SF_AUTOSCROLLBAR DROPDOWN_CF_AUTOSCROLLBAR
|
||||
|
||||
#define DROPDOWN_H2P(h) (DROPDOWN_Obj*) GUI_ALLOC_h2p(h)
|
||||
|
||||
typedef struct {
|
||||
const GUI_FONT GUI_UNI_PTR * pFont;
|
||||
GUI_COLOR aBackColor[3];
|
||||
GUI_COLOR aTextColor[3];
|
||||
I16 TextBorderSize;
|
||||
I16 Align;
|
||||
} DROPDOWN_PROPS;
|
||||
|
||||
typedef struct {
|
||||
WIDGET Widget;
|
||||
I16 Sel; /* current selection */
|
||||
I16 ySizeEx; /* Drop down size */
|
||||
I16 TextHeight;
|
||||
GUI_ARRAY Handles;
|
||||
WM_SCROLL_STATE ScrollState;
|
||||
DROPDOWN_PROPS Props;
|
||||
WM_HWIN hListWin;
|
||||
U8 Flags;
|
||||
U16 ItemSpacing;
|
||||
U8 ScrollbarWidth;
|
||||
char IsPressed;
|
||||
#if GUI_DEBUG_LEVEL >1
|
||||
int DebugId;
|
||||
#endif
|
||||
} DROPDOWN_Obj;
|
||||
|
||||
void DROPDOWN__AdjustHeight(DROPDOWN_Handle hObj, DROPDOWN_Obj* pObj);
|
||||
|
||||
#endif /* GUI_WINSUPPORT */
|
||||
#endif /* DROPDOWN_PRIVATE_H */
|
||||
@@ -0,0 +1,205 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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 : EDIT.h
|
||||
Purpose : EDIT include
|
||||
--------------------END-OF-HEADER-------------------------------------
|
||||
*/
|
||||
|
||||
#ifndef EDIT_H
|
||||
#define EDIT_H
|
||||
|
||||
#include "WM.h"
|
||||
#include "DIALOG_Intern.h" /* Req. for Create indirect data structure */
|
||||
|
||||
#if GUI_WINSUPPORT
|
||||
|
||||
#if defined(__cplusplus)
|
||||
extern "C" { /* Make sure we have C-declarations in C++ programs */
|
||||
#endif
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Defaults for configuration switches
|
||||
*
|
||||
**********************************************************************
|
||||
|
||||
The following are defaults for config switches which affect the
|
||||
interface specified in this module
|
||||
*/
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Defines
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
/************************************************************
|
||||
*
|
||||
* Create / Status flags
|
||||
*/
|
||||
#define EDIT_CF_LEFT GUI_TA_LEFT
|
||||
#define EDIT_CF_RIGHT GUI_TA_RIGHT
|
||||
#define EDIT_CF_HCENTER GUI_TA_HCENTER
|
||||
|
||||
#define EDIT_CF_VCENTER GUI_TA_VCENTER
|
||||
#define EDIT_CF_TOP GUI_TA_TOP
|
||||
#define EDIT_CF_BOTTOM GUI_TA_BOTTOM
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Color indices
|
||||
*/
|
||||
#define EDIT_CI_DISABLED 0
|
||||
#define EDIT_CI_ENABLED 1
|
||||
|
||||
/************************************************************
|
||||
*
|
||||
* States
|
||||
*/
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Types
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
typedef WM_HMEM EDIT_Handle;
|
||||
typedef void tEDIT_AddKeyEx (EDIT_Handle hObj, int Key);
|
||||
typedef void tEDIT_UpdateBuffer(EDIT_Handle hObj);
|
||||
|
||||
|
||||
/*
|
||||
*************************************************************
|
||||
* *
|
||||
* Create function(s) *
|
||||
* *
|
||||
* (Constructors) *
|
||||
* *
|
||||
*************************************************************
|
||||
|
||||
*/
|
||||
/* Note: the parameters to a create function may vary.
|
||||
Some widgets may have multiple create functions */
|
||||
|
||||
|
||||
EDIT_Handle EDIT_Create (int x0, int y0, int xsize, int ysize, int Id, int MaxLen, int Flags);
|
||||
EDIT_Handle EDIT_CreateAsChild (int x0, int y0, int xsize, int ysize, WM_HWIN hParent, int Id, int Flags, int MaxLen);
|
||||
EDIT_Handle EDIT_CreateIndirect(const GUI_WIDGET_CREATE_INFO* pCreateInfo, WM_HWIN hWinParent, int x0, int y0, WM_CALLBACK* cb);
|
||||
EDIT_Handle EDIT_CreateEx (int x0, int y0, int xsize, int ysize, WM_HWIN hParent,
|
||||
int WinFlags, int ExFlags, int Id, int MaxLen);
|
||||
|
||||
/*
|
||||
*************************************************************
|
||||
* *
|
||||
* Standard member functions *
|
||||
* *
|
||||
*************************************************************
|
||||
*/
|
||||
|
||||
#define EDIT_EnableMemdev(hObj) WM_EnableMemdev(hObj)
|
||||
#define EDIT_DisableMemdev(hObj) WM_DisableMemdev(hObj)
|
||||
#define EDIT_Delete(hObj) WM_DeleteWindow(hObj)
|
||||
#define EDIT_Paint(hObj) WM_Paint(hObj)
|
||||
#define EDIT_Invalidate(hObj) WM_InvalidateWindow(hObj)
|
||||
|
||||
/*
|
||||
*************************************************************
|
||||
* *
|
||||
* Individual member functions *
|
||||
* *
|
||||
*************************************************************
|
||||
|
||||
*/
|
||||
|
||||
/* Methods changing preferences */
|
||||
void EDIT_SetDefaultBkColor(unsigned int Index, GUI_COLOR Color);
|
||||
void EDIT_SetDefaultFont(const GUI_FONT* pFont);
|
||||
void EDIT_SetDefaultTextAlign(int Align);
|
||||
void EDIT_SetDefaultTextColor(unsigned int Index, GUI_COLOR Color);
|
||||
|
||||
/* Query preferences */
|
||||
GUI_COLOR EDIT_GetDefaultBkColor(unsigned int Index);
|
||||
const GUI_FONT GUI_UNI_PTR * EDIT_GetDefaultFont(void);
|
||||
int EDIT_GetDefaultTextAlign(void);
|
||||
GUI_COLOR EDIT_GetDefaultTextColor(unsigned int Index);
|
||||
|
||||
/* Methods changing properties */
|
||||
void EDIT_AddKey (EDIT_Handle hObj, int Key);
|
||||
void EDIT_ClearCursor (EDIT_Handle hObj);
|
||||
void EDIT_SetBkColor (EDIT_Handle hObj, unsigned int Index, GUI_COLOR color);
|
||||
void EDIT_SetCursorAtChar (EDIT_Handle hObj, int Pos);
|
||||
void EDIT_SetCursorAtPixel (EDIT_Handle hObj, int xPos);
|
||||
void EDIT_SetFont (EDIT_Handle hObj, const GUI_FONT GUI_UNI_PTR * pfont);
|
||||
int EDIT_SetInsertMode (EDIT_Handle hObj, int OnOff);
|
||||
void EDIT_SetMaxLen (EDIT_Handle hObj, int MaxLen);
|
||||
void EDIT_SetpfAddKeyEx (EDIT_Handle hObj, tEDIT_AddKeyEx * pfAddKeyEx);
|
||||
void EDIT_SetpfUpdateBuffer(EDIT_Handle hObj, tEDIT_UpdateBuffer * pfUpdateBuffer);
|
||||
void EDIT_SetText (EDIT_Handle hObj, const char* s);
|
||||
void EDIT_SetTextAlign (EDIT_Handle hObj, int Align);
|
||||
void EDIT_SetTextColor (EDIT_Handle hObj, unsigned int Index, GUI_COLOR color);
|
||||
void EDIT_SetSel (EDIT_Handle hObj, int FirstChar, int LastChar);
|
||||
|
||||
/* Get/Set user input */
|
||||
float EDIT_GetFloatValue(EDIT_Handle hObj);
|
||||
void EDIT_GetText (EDIT_Handle hObj, char* sDest, int MaxLen);
|
||||
I32 EDIT_GetValue (EDIT_Handle hObj);
|
||||
void EDIT_SetFloatValue(EDIT_Handle hObj, float Value);
|
||||
void EDIT_SetValue (EDIT_Handle hObj, I32 Value);
|
||||
int EDIT_GetNumChars (EDIT_Handle hObj);
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Routines for editing values
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
void EDIT_SetHexMode(EDIT_Handle hEdit, U32 Value, U32 Min, U32 Max);
|
||||
void EDIT_SetBinMode(EDIT_Handle hEdit, U32 Value, U32 Min, U32 Max);
|
||||
void EDIT_SetDecMode(EDIT_Handle hEdit, I32 Value, I32 Min, I32 Max, int Shift, U8 Flags);
|
||||
void EDIT_SetFloatMode(EDIT_Handle hEdit, float Value, float Min, float Max, int Shift, U8 Flags);
|
||||
|
||||
U32 GUI_EditHex(U32 Value, U32 Min, U32 Max, int Len, int xsize);
|
||||
U32 GUI_EditBin(U32 Value, U32 Min, U32 Max, int Len, int xsize);
|
||||
I32 GUI_EditDec(I32 Value, I32 Min, I32 Max, int Len, int xsize, int Shift, U8 Flags);
|
||||
float GUI_EditFloat(float Value, float Min, float Max, int Len, int xsize, int Shift, U8 Flags);
|
||||
void GUI_EditString(char * pString, int Len, int xsize);
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Flags
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
/* Signed or normal mode */
|
||||
#define GUI_EDIT_NORMAL 0
|
||||
#define GUI_EDIT_SIGNED 1
|
||||
|
||||
/* Edit modes */
|
||||
#define GUI_EDIT_MODE_INSERT 0
|
||||
#define GUI_EDIT_MODE_OVERWRITE 1
|
||||
|
||||
/* Compatibility macros */
|
||||
#define EDIT_CI_DISABELD EDIT_CI_DISABLED
|
||||
#define EDIT_CI_ENABELD EDIT_CI_ENABLED
|
||||
|
||||
#if defined(__cplusplus)
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* GUI_WINSUPPORT */
|
||||
#endif /* EDIT_H */
|
||||
@@ -0,0 +1,98 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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 : EDIT_Private.h
|
||||
Purpose : Internal header file
|
||||
---------------------------END-OF-HEADER------------------------------
|
||||
*/
|
||||
|
||||
|
||||
#if GUI_WINSUPPORT
|
||||
|
||||
#include "WIDGET.h"
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Defines
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
#define EDIT_REALLOC_SIZE 16
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Types
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
typedef struct EDIT_Obj_struct EDIT_Obj;
|
||||
|
||||
typedef struct {
|
||||
int Align;
|
||||
int Border;
|
||||
const GUI_FONT GUI_UNI_PTR * pFont;
|
||||
GUI_COLOR aTextColor[2];
|
||||
GUI_COLOR aBkColor[2];
|
||||
} EDIT_PROPS;
|
||||
|
||||
struct EDIT_Obj_struct {
|
||||
WIDGET Widget;
|
||||
WM_HMEM hpText;
|
||||
I16 MaxLen;
|
||||
U16 BufferSize;
|
||||
I32 Min, Max; /* Min max values as normalized floats (integers) */
|
||||
U8 NumDecs; /* Number of decimals */
|
||||
U32 CurrentValue; /* Current value */
|
||||
int CursorPos; /* Cursor position. 0 means left most */
|
||||
unsigned SelSize; /* Number of selected characters */
|
||||
U8 EditMode; /* Insert or overwrite mode */
|
||||
U8 XSizeCursor; /* Size of cursor when working in insert mode */
|
||||
U8 Flags;
|
||||
tEDIT_AddKeyEx * pfAddKeyEx; /* Handle key input */
|
||||
tEDIT_UpdateBuffer * pfUpdateBuffer; /* Update textbuffer */
|
||||
EDIT_PROPS Props;
|
||||
#if GUI_DEBUG_LEVEL >= GUI_DEBUG_LEVEL_CHECK_ALL
|
||||
int DebugId;
|
||||
#endif
|
||||
};
|
||||
|
||||
#if GUI_DEBUG_LEVEL >= GUI_DEBUG_LEVEL_CHECK_ALL
|
||||
EDIT_Obj* EDIT_h2p(EDIT_Handle h);
|
||||
#define EDIT_H2P(h) EDIT_h2p(h)
|
||||
#else
|
||||
#define EDIT_H2P(h) ((EDIT_Obj*)GUI_ALLOC_h2p(h))
|
||||
#endif
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Public data (internal defaults)
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
extern EDIT_PROPS EDIT__DefaultProps;
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Public functions (internal)
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
void EDIT__SetCursorPos (EDIT_Obj* pObj, int CursorPos);
|
||||
U16 EDIT__GetCurrentChar (EDIT_Obj* pObj);
|
||||
|
||||
#endif /* GUI_WINSUPPORT */
|
||||
@@ -0,0 +1,173 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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 : FRAMEWIN.h
|
||||
Purpose : Frame window include
|
||||
--------------------END-OF-HEADER-------------------------------------
|
||||
*/
|
||||
|
||||
#ifndef FRAMEWIN_H
|
||||
#define FRAMEWIN_H
|
||||
|
||||
#include "WM.h"
|
||||
#if GUI_WINSUPPORT
|
||||
#include "DIALOG_Intern.h" /* Req. for Create indirect data structure */
|
||||
|
||||
#if defined(__cplusplus)
|
||||
extern "C" { /* Make sure we have C-declarations in C++ programs */
|
||||
#endif
|
||||
|
||||
/************************************************************
|
||||
*
|
||||
* #defines
|
||||
*
|
||||
*************************************************************
|
||||
*/
|
||||
/************************************************************
|
||||
*
|
||||
* Create / Status flags
|
||||
*/
|
||||
#define FRAMEWIN_CF_ACTIVE (1<<3)
|
||||
#define FRAMEWIN_CF_MOVEABLE (1<<4)
|
||||
#define FRAMEWIN_CF_TITLEVIS (1<<5)
|
||||
#define FRAMEWIN_CF_MINIMIZED (1<<6)
|
||||
#define FRAMEWIN_CF_MAXIMIZED (1<<7)
|
||||
|
||||
#define FRAMEWIN_SF_ACTIVE FRAMEWIN_CF_ACTIVE
|
||||
#define FRAMEWIN_SF_MOVEABLE FRAMEWIN_CF_MOVEABLE
|
||||
#define FRAMEWIN_SF_TITLEVIS FRAMEWIN_CF_TITLEVIS
|
||||
#define FRAMEWIN_SF_MINIMIZED FRAMEWIN_CF_MINIMIZED
|
||||
#define FRAMEWIN_SF_MAXIMIZED FRAMEWIN_CF_MAXIMIZED
|
||||
|
||||
/************************************************************
|
||||
*
|
||||
* BUTTON Flags
|
||||
*/
|
||||
|
||||
#define FRAMEWIN_BUTTON_RIGHT (1<<0)
|
||||
#define FRAMEWIN_BUTTON_LEFT (1<<1)
|
||||
|
||||
/************************************************************
|
||||
* *
|
||||
* Types *
|
||||
* *
|
||||
*************************************************************
|
||||
*/
|
||||
|
||||
typedef WM_HMEM FRAMEWIN_Handle;
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Create functions
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
FRAMEWIN_Handle FRAMEWIN_Create (const char* pTitle, WM_CALLBACK* cb, int Flags, int x0, int y0, int xsize, int ysize);
|
||||
FRAMEWIN_Handle FRAMEWIN_CreateAsChild (int x0, int y0, int xsize, int ysize, WM_HWIN hParent, const char* pText, WM_CALLBACK* cb, int Flags);
|
||||
FRAMEWIN_Handle FRAMEWIN_CreateIndirect(const GUI_WIDGET_CREATE_INFO* pCreateInfo, WM_HWIN hWinParent, int x0, int y0, WM_CALLBACK* cb);
|
||||
FRAMEWIN_Handle FRAMEWIN_CreateEx (int x0, int y0, int xsize, int ysize, WM_HWIN hParent,
|
||||
int WinFlags, int ExFlags, int Id, const char* pTitle, WM_CALLBACK* cb);
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Standard member functions
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
#define FRAMEWIN_EnableMemdev(hObj) WM_EnableMemdev(hObj)
|
||||
#define FRAMEWIN_DisableMemdev(hObj) WM_DisableMemdev(hObj)
|
||||
#define FRAMEWIN_Delete(hObj) WM_DeleteWindow(hObj)
|
||||
#define FRAMEWIN_Paint(hObj) WM_Paint(hObj)
|
||||
#define FRAMEWIN_Invalidate(hObj) WM_InvalidateWindow(hObj)
|
||||
|
||||
WM_HWIN FRAMEWIN_AddButton (FRAMEWIN_Handle hObj, int Flags, int Off, int Id);
|
||||
WM_HWIN FRAMEWIN_AddCloseButton(FRAMEWIN_Handle hObj, int Flags, int Off);
|
||||
WM_HWIN FRAMEWIN_AddMaxButton (FRAMEWIN_Handle hObj, int Flags, int Off);
|
||||
void FRAMEWIN_AddMenu (FRAMEWIN_Handle hObj, WM_HWIN hMenu);
|
||||
WM_HWIN FRAMEWIN_AddMinButton (FRAMEWIN_Handle hObj, int Flags, int Off);
|
||||
|
||||
void FRAMEWIN_Minimize (FRAMEWIN_Handle hObj);
|
||||
void FRAMEWIN_Maximize (FRAMEWIN_Handle hObj);
|
||||
void FRAMEWIN_Restore (FRAMEWIN_Handle hObj);
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Member functions: Set Properties
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
void FRAMEWIN_SetActive (FRAMEWIN_Handle hObj, int State);
|
||||
void FRAMEWIN_SetBarColor (FRAMEWIN_Handle hObj, unsigned Index, GUI_COLOR Color);
|
||||
void FRAMEWIN_SetBorderSize (FRAMEWIN_Handle hObj, unsigned Size);
|
||||
void FRAMEWIN_SetClientColor (FRAMEWIN_Handle hObj, GUI_COLOR Color);
|
||||
void FRAMEWIN_SetFont (FRAMEWIN_Handle hObj, const GUI_FONT GUI_UNI_PTR * pFont);
|
||||
void FRAMEWIN_SetMoveable (FRAMEWIN_Handle hObj, int State);
|
||||
void FRAMEWIN_SetResizeable (FRAMEWIN_Handle hObj, int State);
|
||||
void FRAMEWIN_SetText (FRAMEWIN_Handle hObj, const char* s);
|
||||
void FRAMEWIN_SetTextAlign (FRAMEWIN_Handle hObj, int Align);
|
||||
void FRAMEWIN_SetTextColor (FRAMEWIN_Handle hObj, GUI_COLOR Color);
|
||||
void FRAMEWIN_SetTextColorEx (FRAMEWIN_Handle hObj, unsigned Index, GUI_COLOR Color);
|
||||
void FRAMEWIN_SetTitleVis (FRAMEWIN_Handle hObj, int Show);
|
||||
int FRAMEWIN_SetTitleHeight (FRAMEWIN_Handle hObj, int Height);
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Member functions: Get Properties
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
int FRAMEWIN_GetTitleHeight (FRAMEWIN_Handle hObj);
|
||||
int FRAMEWIN_GetBorderSize (FRAMEWIN_Handle hObj);
|
||||
int FRAMEWIN_IsMinimized (FRAMEWIN_Handle hObj);
|
||||
int FRAMEWIN_IsMaximized (FRAMEWIN_Handle hObj);
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Global functions
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
GUI_COLOR FRAMEWIN_GetDefaultBarColor (unsigned Index);
|
||||
int FRAMEWIN_GetDefaultBorderSize (void);
|
||||
int FRAMEWIN_GetDefaultTitleHeight(void);
|
||||
GUI_COLOR FRAMEWIN_GetDefaultClientColor(void);
|
||||
const GUI_FONT GUI_UNI_PTR * FRAMEWIN_GetDefaultFont (void);
|
||||
GUI_COLOR FRAMEWIN_GetDefaultTextColor (unsigned Index);
|
||||
void FRAMEWIN_SetDefaultBarColor (unsigned Index, GUI_COLOR Color);
|
||||
void FRAMEWIN_SetDefaultBorderSize (int DefaultBorderSize);
|
||||
void FRAMEWIN_SetDefaultTitleHeight(int DefaultTitleHeight);
|
||||
void FRAMEWIN_SetDefaultClientColor(GUI_COLOR Color);
|
||||
void FRAMEWIN_SetDefaultFont (const GUI_FONT GUI_UNI_PTR * pFont);
|
||||
void FRAMEWIN_SetDefaultTextColor (unsigned Index, GUI_COLOR Color);
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Macros for compatibility
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
#define FRAMEWIN_SetDefaultCaptionSize(Height) FRAMEWIN_SetDefaultTitleHeight(Height)
|
||||
#define FRAMEWIN_GetDefaultCaptionSize() FRAMEWIN_GetDefaultTitleHeight()
|
||||
#define FRAMEWIN_CreateButton(hObj, Flags, Off, Id) FRAMEWIN_AddButton(hObj, Flags, Off, Id)
|
||||
#define FRAMEWIN_CreateCloseButton(hObj, Flags, Off) FRAMEWIN_AddCloseButton(hObj, Flags, Off)
|
||||
#define FRAMEWIN_CreateMaxButton(hObj, Flags, Off) FRAMEWIN_AddMaxButton(hObj, Flags, Off)
|
||||
#define FRAMEWIN_CreateMinButton(hObj, Flags, Off) FRAMEWIN_AddMinButton(hObj, Flags, Off)
|
||||
|
||||
#if defined(__cplusplus)
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
#endif /* FRAMEWIN_H */
|
||||
@@ -0,0 +1,119 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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 : FRAMEWIN_Private.h
|
||||
Purpose : FRAMEWIN private header file
|
||||
--------------------END-OF-HEADER-------------------------------------
|
||||
*/
|
||||
|
||||
#ifndef FRAMEWIN_PRIVATE_H
|
||||
#define FRAMEWIN_PRIVATE_H
|
||||
|
||||
#include "WM.h"
|
||||
#include "FRAMEWIN.h"
|
||||
#include "WIDGET.h"
|
||||
#include "GUI_HOOK.h"
|
||||
|
||||
#if GUI_WINSUPPORT
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Object definition
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
typedef struct {
|
||||
const GUI_FONT GUI_UNI_PTR * pFont;
|
||||
GUI_COLOR aBarColor[2];
|
||||
GUI_COLOR aTextColor[2];
|
||||
GUI_COLOR ClientColor;
|
||||
I16 TitleHeight;
|
||||
I16 BorderSize;
|
||||
I16 IBorderSize;
|
||||
} FRAMEWIN_PROPS;
|
||||
|
||||
typedef struct {
|
||||
WIDGET Widget;
|
||||
FRAMEWIN_PROPS Props;
|
||||
WM_CALLBACK* cb;
|
||||
WM_HWIN hClient;
|
||||
WM_HWIN hMenu;
|
||||
WM_HWIN hText;
|
||||
GUI_RECT rRestore;
|
||||
I16 TextAlign;
|
||||
U16 Flags;
|
||||
WM_HWIN hFocussedChild; /* Handle to focussed child .. default none (0) */
|
||||
WM_DIALOG_STATUS* pDialogStatus;
|
||||
GUI_HOOK* pFirstHook;
|
||||
} FRAMEWIN_Obj;
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Types
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
typedef struct {
|
||||
I16 TitleHeight;
|
||||
I16 MenuHeight;
|
||||
GUI_RECT rClient;
|
||||
GUI_RECT rTitleText;
|
||||
} POSITIONS;
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Macros for internal use
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
#define FRAMEWIN_H2P(h) (FRAMEWIN_Obj*) GUI_ALLOC_h2p(h)
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* public data (internal defaults)
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
extern FRAMEWIN_PROPS FRAMEWIN__DefaultProps;
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* public functions (internal)
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
void FRAMEWIN__CalcPositions (FRAMEWIN_Obj* pObj, POSITIONS* pPos);
|
||||
int FRAMEWIN__CalcTitleHeight (FRAMEWIN_Obj* pObj);
|
||||
void FRAMEWIN__UpdatePositions (FRAMEWIN_Obj* pObj);
|
||||
void FRAMEWIN__UpdateButtons (FRAMEWIN_Obj* pObj, int OldHeight);
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* public functions
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
const GUI_FONT GUI_UNI_PTR * FRAMEWIN_GetFont (FRAMEWIN_Handle hObj);
|
||||
int FRAMEWIN_GetTitleHeight (FRAMEWIN_Handle hObj);
|
||||
void FRAMEWIN_MinButtonSetState(WM_HWIN hButton, int State);
|
||||
void FRAMEWIN_MaxButtonSetState(WM_HWIN hButton, int State);
|
||||
|
||||
#endif /* GUI_WINSUPPORT */
|
||||
#endif /* FRAMEWIN_H */
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,172 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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 : GUIDebug.h
|
||||
Purpose : Debug macros
|
||||
----------------------------------------------------------------------
|
||||
Debug macros for logging
|
||||
|
||||
In the GUI Simulation, all output is transferred into the log window.
|
||||
*/
|
||||
|
||||
#ifndef GUI_DEBUG_H
|
||||
#define GUI_DEBUG_H
|
||||
|
||||
#include "GUI.h"
|
||||
#include "GUI_X.h"
|
||||
|
||||
#define GUI_DEBUG_LEVEL_NOCHECK 0 /* No run time checks are performed */
|
||||
#define GUI_DEBUG_LEVEL_CHECK_PARA 1 /* Parameter checks are performed to avoid crashes */
|
||||
#define GUI_DEBUG_LEVEL_CHECK_ALL 2 /* Parameter checks and consistency checks are performed */
|
||||
#define GUI_DEBUG_LEVEL_LOG_ERRORS 3 /* Errors are recorded */
|
||||
#define GUI_DEBUG_LEVEL_LOG_WARNINGS 4 /* Errors & Warnings are recorded */
|
||||
#define GUI_DEBUG_LEVEL_LOG_ALL 5 /* Errors, Warnings and Messages are recorded. */
|
||||
|
||||
#ifndef GUI_DEBUG_LEVEL
|
||||
#ifdef WIN32
|
||||
#define GUI_DEBUG_LEVEL GUI_DEBUG_LEVEL_LOG_WARNINGS /* Simulation should log all warnings */
|
||||
#else
|
||||
#define GUI_DEBUG_LEVEL GUI_DEBUG_LEVEL_CHECK_PARA /* For most targets, min. size is important */
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/*******************************************************************
|
||||
*
|
||||
* Commandline
|
||||
*
|
||||
********************************************************************
|
||||
*/
|
||||
|
||||
#ifdef WIN32
|
||||
#define GUI_DEBUG_GETCMDLINE() SIM_GetCmdLine()
|
||||
#else
|
||||
#define GUI_DEBUG_GETCMDLINE() 0
|
||||
#endif
|
||||
|
||||
/*******************************************************************
|
||||
*
|
||||
* Error macros
|
||||
*
|
||||
********************************************************************
|
||||
*/
|
||||
|
||||
/* Make sure the macros are actually defined */
|
||||
|
||||
#if GUI_DEBUG_LEVEL >= GUI_DEBUG_LEVEL_LOG_ERRORS
|
||||
#define GUI_DEBUG_ERROROUT(s) GUI_ErrorOut(s)
|
||||
#define GUI_DEBUG_ERROROUT1(s,p0) GUI_ErrorOut1(s,p0)
|
||||
#define GUI_DEBUG_ERROROUT2(s,p0,p1) GUI_ErrorOut2(s,p0,p1)
|
||||
#define GUI_DEBUG_ERROROUT3(s,p0,p1,p2) GUI_ErrorOut3(s,p0,p1,p2)
|
||||
#define GUI_DEBUG_ERROROUT4(s,p0,p1,p2,p3) GUI_ErrorOut4(s,p0,p1,p2,p3)
|
||||
#define GUI_DEBUG_ERROROUT_IF(exp,s) { if (exp) GUI_DEBUG_ERROROUT(s); }
|
||||
#define GUI_DEBUG_ERROROUT1_IF(exp,s,p0) { if (exp) GUI_DEBUG_ERROROUT1(s,p0); }
|
||||
#define GUI_DEBUG_ERROROUT2_IF(exp,s,p0,p1) { if (exp) GUI_DEBUG_ERROROUT2(s,p0,p1); }
|
||||
#define GUI_DEBUG_ERROROUT3_IF(exp,s,p0,p1,p2) { if (exp) GUI_DEBUG_ERROROUT3(s,p0,p1,p2); }
|
||||
#define GUI_DEBUG_ERROROUT4_IF(exp,s,p0,p1,p2,p3) { if (exp) GUI_DEBUG_ERROROUT4(s,p0,p1,p2,p3); }
|
||||
#else
|
||||
#define GUI_DEBUG_ERROROUT(s)
|
||||
#define GUI_DEBUG_ERROROUT1(s,p0)
|
||||
#define GUI_DEBUG_ERROROUT2(s,p0,p1)
|
||||
#define GUI_DEBUG_ERROROUT3(s,p0,p1,p2)
|
||||
#define GUI_DEBUG_ERROROUT4(s,p0,p1,p2,p3)
|
||||
#define GUI_DEBUG_ERROROUT_IF(exp,s)
|
||||
#define GUI_DEBUG_ERROROUT1_IF(exp,s,p0)
|
||||
#define GUI_DEBUG_ERROROUT2_IF(exp,s,p0,p1)
|
||||
#define GUI_DEBUG_ERROROUT3_IF(exp,s,p0,p1,p2)
|
||||
#define GUI_DEBUG_ERROROUT4_IF(exp,s,p0,p1,p2,p3)
|
||||
#endif
|
||||
|
||||
/*******************************************************************
|
||||
*
|
||||
* Warning macros
|
||||
*
|
||||
********************************************************************
|
||||
*/
|
||||
|
||||
/* Make sure the macros are actually defined */
|
||||
|
||||
#if GUI_DEBUG_LEVEL >= GUI_DEBUG_LEVEL_LOG_WARNINGS
|
||||
#define GUI_DEBUG_WARN(s) GUI_Warn(s)
|
||||
#define GUI_DEBUG_WARN1(s,p0) GUI_Warn1(s,p0)
|
||||
#define GUI_DEBUG_WARN2(s,p0,p1) GUI_Warn2(s,p0,p1)
|
||||
#define GUI_DEBUG_WARN3(s,p0,p1,p2) GUI_Warn3(s,p0,p1,p2)
|
||||
#define GUI_DEBUG_WARN4(s,p0,p1,p2,p3) GUI_Warn4(s,p0,p1,p2,p3)
|
||||
#define GUI_DEBUG_WARN_IF(exp,s) { if (exp) GUI_DEBUG_WARN(s); }
|
||||
#define GUI_DEBUG_WARN1_IF(exp,s,p0) { if (exp) GUI_DEBUG_WARN1(s,p0); }
|
||||
#define GUI_DEBUG_WARN2_IF(exp,s,p0,p1) { if (exp) GUI_DEBUG_WARN2(s,p0,p1); }
|
||||
#define GUI_DEBUG_WARN3_IF(exp,s,p0,p1,p2) { if (exp) GUI_DEBUG_WARN3(s,p0,p1,p2); }
|
||||
#define GUI_DEBUG_WARN4_IF(exp,s,p0,p1,p2,p3) { if (exp) GUI_DEBUG_WARN4(s,p0,p1,p2,p3); }
|
||||
#else
|
||||
#define GUI_DEBUG_WARN(s)
|
||||
#define GUI_DEBUG_WARN1(s,p0)
|
||||
#define GUI_DEBUG_WARN2(s,p0,p1)
|
||||
#define GUI_DEBUG_WARN3(s,p0,p1,p2)
|
||||
#define GUI_DEBUG_WARN4(s,p0,p1,p2,p3)
|
||||
#define GUI_DEBUG_WARN_IF(exp,s)
|
||||
#define GUI_DEBUG_WARN1_IF(exp,s,p0)
|
||||
#define GUI_DEBUG_WARN2_IF(exp,s,p0,p1)
|
||||
#define GUI_DEBUG_WARN3_IF(exp,s,p0,p1,p2)
|
||||
#define GUI_DEBUG_WARN4_IF(exp,s,p0,p1,p2,p3)
|
||||
#endif
|
||||
|
||||
/*******************************************************************
|
||||
*
|
||||
* Logging macros
|
||||
*
|
||||
********************************************************************
|
||||
*/
|
||||
/* Make sure the macros are actually defined */
|
||||
|
||||
#if GUI_DEBUG_LEVEL >= GUI_DEBUG_LEVEL_LOG_ALL
|
||||
#define GUI_DEBUG_LOG(s) GUI_Log(s)
|
||||
#define GUI_DEBUG_LOG1(s,p0) GUI_Warn1(s,p0)
|
||||
#define GUI_DEBUG_LOG2(s,p0,p1) GUI_Warn2(s,p0,p1)
|
||||
#define GUI_DEBUG_LOG3(s,p0,p1,p2) GUI_Warn3(s,p0,p1,p2)
|
||||
#define GUI_DEBUG_LOG4(s,p0,p1,p2,p3) GUI_Warn4(s,p0,p1,p2,p3)
|
||||
#define GUI_DEBUG_LOG_IF(exp,s) { if (exp) GUI_DEBUG_LOG(s); }
|
||||
#define GUI_DEBUG_LOG1_IF(exp,s,p0) { if (exp) GUI_DEBUG_LOG1(s,p0); }
|
||||
#define GUI_DEBUG_LOG2_IF(exp,s,p0,p1) { if (exp) GUI_DEBUG_LOG2(s,p0,p1); }
|
||||
#define GUI_DEBUG_LOG3_IF(exp,s,p0,p1,p2) { if (exp) GUI_DEBUG_LOG3(s,p0,p1,p2); }
|
||||
#define GUI_DEBUG_LOG4_IF(exp,s,p0,p1,p2,p3) { if (exp) GUI_DEBUG_LOG4(s,p0,p1,p2,p3); }
|
||||
#else
|
||||
#define GUI_DEBUG_LOG(s)
|
||||
#define GUI_DEBUG_LOG1(s,p0)
|
||||
#define GUI_DEBUG_LOG2(s,p0,p1)
|
||||
#define GUI_DEBUG_LOG3(s,p0,p1,p2)
|
||||
#define GUI_DEBUG_LOG4(s,p0,p1,p2,p3)
|
||||
#define GUI_DEBUG_LOG_IF(exp,s)
|
||||
#define GUI_DEBUG_LOG1_IF(exp,s,p0)
|
||||
#define GUI_DEBUG_LOG2_IF(exp,s,p0,p1)
|
||||
#define GUI_DEBUG_LOG3_IF(exp,s,p0,p1,p2)
|
||||
#define GUI_DEBUG_LOG4_IF(exp,s,p0,p1,p2,p3)
|
||||
#endif
|
||||
|
||||
/*******************************************************************
|
||||
*
|
||||
* Asserts
|
||||
*
|
||||
********************************************************************
|
||||
*/
|
||||
#if GUI_DEBUG_LEVEL >= GUI_DEBUG_LEVEL_LOG_ERRORS
|
||||
#define GUI_DEBUG_ASSERT(exp) { if (!exp) GUI_DEBUG_ERROROUT(#exp); }
|
||||
#else
|
||||
#define GUI_DEBUG_ASSERT(exp)
|
||||
#endif
|
||||
|
||||
#endif /* LCD_H */
|
||||
|
||||
|
||||
|
||||
|
||||
/*************************** End of file ****************************/
|
||||
@@ -0,0 +1,385 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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 : GUIType.h
|
||||
Purpose : Include file define the types used for GUI
|
||||
---------------------------END-OF-HEADER------------------------------
|
||||
|
||||
Attention : Do not modify this file ! If you do, you will not
|
||||
be able do update to a later GUI version !
|
||||
|
||||
*/
|
||||
|
||||
#ifndef GUITYPE_H_INCLUDED
|
||||
#define GUITYPE_H_INCLUDED
|
||||
|
||||
#include "LCD.h"
|
||||
#include "uCGUI\Config\GUIConf.h"
|
||||
|
||||
/* *************************************************************
|
||||
* *
|
||||
* Simple types *
|
||||
* *
|
||||
*************************************************************
|
||||
*/
|
||||
|
||||
typedef const char * GUI_ConstString;
|
||||
|
||||
|
||||
/* *************************************************************
|
||||
* *
|
||||
* Structures *
|
||||
* *
|
||||
*************************************************************
|
||||
*/
|
||||
|
||||
typedef LCD_COLOR GUI_COLOR;
|
||||
typedef LCD_LOGPALETTE GUI_LOGPALETTE;
|
||||
typedef LCD_DRAWMODE GUI_DRAWMODE;
|
||||
typedef LCD_RECT GUI_RECT;
|
||||
|
||||
typedef struct {
|
||||
void (* pfDraw)(int x0,int y0,int xsize, int ysize, const U8 GUI_UNI_PTR * pPixel, const LCD_LOGPALETTE GUI_UNI_PTR * pLogPal, int xMag, int yMag);
|
||||
GUI_COLOR (* pfIndex2Color)(int Index);
|
||||
} GUI_BITMAP_METHODS;
|
||||
|
||||
typedef struct {
|
||||
U16P XSize;
|
||||
U16P YSize;
|
||||
U16P BytesPerLine;
|
||||
U16P BitsPerPixel;
|
||||
const U8 GUI_UNI_PTR * pData;
|
||||
const GUI_LOGPALETTE GUI_UNI_PTR * pPal;
|
||||
const GUI_BITMAP_METHODS * pMethods;
|
||||
} GUI_BITMAP;
|
||||
|
||||
/* This structure may not be changed because the data that it
|
||||
expects is read in binary form (via any kind of interface,
|
||||
at runtime).
|
||||
This structure should therefor not be changed.
|
||||
*/
|
||||
typedef struct {
|
||||
U16 ID; /* Version 1.00 => 100*/
|
||||
U16 Version;
|
||||
U16 XSize;
|
||||
U16 YSize;
|
||||
U16 BytesPerLine;
|
||||
U16 BitsPerPixel;
|
||||
U16 NumColors;
|
||||
U16 HasTrans;
|
||||
} GUI_BITMAP_STREAM;
|
||||
|
||||
typedef struct {
|
||||
int x,y;
|
||||
unsigned char Pressed;
|
||||
} GUI_PID_STATE;
|
||||
|
||||
/*
|
||||
****************************************
|
||||
* *
|
||||
* FONT structures (new in V1.10) *
|
||||
* *
|
||||
****************************************
|
||||
*/
|
||||
|
||||
/* Translation list. Translates a character code into up to 2
|
||||
indices of images to display on top of each other;
|
||||
'á' -> index('a'), index('´') */
|
||||
typedef struct {
|
||||
I16P c0;
|
||||
I16P c1;
|
||||
} GUI_FONT_TRANSLIST;
|
||||
|
||||
typedef struct {
|
||||
U16P FirstChar;
|
||||
U16P LastChar;
|
||||
const GUI_FONT_TRANSLIST GUI_UNI_PTR * pList;
|
||||
} GUI_FONT_TRANSINFO;
|
||||
|
||||
typedef struct {
|
||||
U8 XSize;
|
||||
U8 XDist;
|
||||
U8 BytesPerLine;
|
||||
const unsigned char GUI_UNI_PTR * pData;
|
||||
} GUI_CHARINFO;
|
||||
|
||||
typedef struct GUI_FONT_PROP {
|
||||
U16P First; /* first character */
|
||||
U16P Last; /* last character */
|
||||
const GUI_CHARINFO GUI_UNI_PTR * paCharInfo; /* address of first character */
|
||||
const struct GUI_FONT_PROP GUI_UNI_PTR * pNext; /* pointer to next */
|
||||
} GUI_FONT_PROP;
|
||||
|
||||
typedef struct {
|
||||
const unsigned char GUI_UNI_PTR * pData;
|
||||
const U8 GUI_UNI_PTR * pTransData;
|
||||
const GUI_FONT_TRANSINFO GUI_UNI_PTR * pTrans;
|
||||
U16P FirstChar;
|
||||
U16P LastChar;
|
||||
U8 XSize;
|
||||
U8 XDist;
|
||||
U8 BytesPerLine;
|
||||
} GUI_FONT_MONO;
|
||||
|
||||
|
||||
typedef struct GUI_FONT_INFO {
|
||||
U16P First; /* first character */
|
||||
U16P Last; /* last character */
|
||||
const GUI_CHARINFO* paCharInfo; /* address of first character */
|
||||
const struct GUI_FONT_INFO* pNext; /* pointer to next */
|
||||
} GUI_FONT_INFO;
|
||||
|
||||
/*
|
||||
****************************************
|
||||
* *
|
||||
* FONT info structure *
|
||||
* *
|
||||
****************************************
|
||||
|
||||
This structure is used when retrieving information about a font.
|
||||
It is designed for future expansion without incompatibilities.
|
||||
*/
|
||||
typedef struct {
|
||||
U16 Flags;
|
||||
U8 Baseline;
|
||||
U8 LHeight; /* height of a small lower case character (a,x) */
|
||||
U8 CHeight; /* height of a small upper case character (A,X) */
|
||||
} GUI_FONTINFO;
|
||||
|
||||
#define GUI_FONTINFO_FLAG_PROP (1<<0) /* Is proportional */
|
||||
#define GUI_FONTINFO_FLAG_MONO (1<<1) /* Is monospaced */
|
||||
#define GUI_FONTINFO_FLAG_AA (1<<2) /* Is an antialiased font */
|
||||
#define GUI_FONTINFO_FLAG_AA2 (1<<3) /* Is an antialiased font, 2bpp */
|
||||
#define GUI_FONTINFO_FLAG_AA4 (1<<4) /* Is an antialiased font, 4bpp */
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
*
|
||||
* UNICODE Encoding
|
||||
*
|
||||
***********************************************************************
|
||||
*/
|
||||
typedef U16 tGUI_GetCharCode(const char GUI_UNI_PTR *s);
|
||||
typedef int tGUI_GetCharSize(const char GUI_UNI_PTR *s);
|
||||
typedef int tGUI_CalcSizeOfChar(U16 Char);
|
||||
typedef int tGUI_Encode(char *s, U16 Char);
|
||||
|
||||
typedef struct {
|
||||
tGUI_GetCharCode* pfGetCharCode;
|
||||
tGUI_GetCharSize* pfGetCharSize;
|
||||
tGUI_CalcSizeOfChar* pfCalcSizeOfChar;
|
||||
tGUI_Encode* pfEncode;
|
||||
} GUI_UC_ENC_APILIST;
|
||||
|
||||
/**********************************************************************
|
||||
*
|
||||
* FONT Encoding
|
||||
*
|
||||
***********************************************************************
|
||||
*/
|
||||
|
||||
typedef int tGUI_GetLineDistX(const char GUI_UNI_PTR *s, int Len);
|
||||
typedef int tGUI_GetLineLen(const char GUI_UNI_PTR *s, int MaxLen);
|
||||
typedef void tGL_DispLine(const char GUI_UNI_PTR *s, int Len);
|
||||
|
||||
typedef struct {
|
||||
tGUI_GetLineDistX* pfGetLineDistX;
|
||||
tGUI_GetLineLen* pfGetLineLen;
|
||||
tGL_DispLine* pfDispLine;
|
||||
} tGUI_ENC_APIList;
|
||||
|
||||
extern const tGUI_ENC_APIList GUI_ENC_APIList_SJIS;
|
||||
|
||||
|
||||
/*
|
||||
****************************************
|
||||
* *
|
||||
* FONT methods *
|
||||
* *
|
||||
****************************************
|
||||
|
||||
The parameter to the methods called pFont should be of type
|
||||
GUI_FONT, but unfortunately a lot of compilers can not handle
|
||||
forward declarations right ...
|
||||
So it ends up to be a void pointer.
|
||||
*/
|
||||
|
||||
typedef struct GUI_FONT GUI_FONT;
|
||||
|
||||
typedef void GUI_DISPCHAR(U16 c);
|
||||
typedef int GUI_GETCHARDISTX(U16P c);
|
||||
typedef void GUI_GETFONTINFO(const GUI_FONT GUI_UNI_PTR * pFont, GUI_FONTINFO * pfi);
|
||||
typedef char GUI_ISINFONT (const GUI_FONT GUI_UNI_PTR * pFont, U16 c);
|
||||
|
||||
#define DECLARE_FONT(Type) \
|
||||
void GUI##Type##_DispChar (U16P c); \
|
||||
int GUI##Type##_GetCharDistX(U16P c); \
|
||||
void GUI##Type##_GetFontInfo (const GUI_FONT GUI_UNI_PTR * pFont, GUI_FONTINFO * pfi); \
|
||||
char GUI##Type##_IsInFont (const GUI_FONT GUI_UNI_PTR * pFont, U16 c)
|
||||
|
||||
#if defined(__cplusplus)
|
||||
extern "C" { /* Make sure we have C-declarations in C++ programs */
|
||||
#endif
|
||||
|
||||
/* MONO: Monospaced fonts */
|
||||
DECLARE_FONT(MONO);
|
||||
#define GUI_FONTTYPE_MONO \
|
||||
GUIMONO_DispChar, \
|
||||
GUIMONO_GetCharDistX, \
|
||||
GUIMONO_GetFontInfo, \
|
||||
GUIMONO_IsInFont, \
|
||||
(tGUI_ENC_APIList*)0
|
||||
|
||||
/* PROP: Proportional fonts */
|
||||
DECLARE_FONT(PROP);
|
||||
#define GUI_FONTTYPE_PROP \
|
||||
GUIPROP_DispChar, \
|
||||
GUIPROP_GetCharDistX, \
|
||||
GUIPROP_GetFontInfo, \
|
||||
GUIPROP_IsInFont, \
|
||||
(tGUI_ENC_APIList*)0
|
||||
|
||||
/* PROP: Proportional fonts SJIS */
|
||||
DECLARE_FONT(PROP);
|
||||
#define GUI_FONTTYPE_PROP_SJIS \
|
||||
GUIPROP_DispChar, \
|
||||
GUIPROP_GetCharDistX, \
|
||||
GUIPROP_GetFontInfo, \
|
||||
GUIPROP_IsInFont, \
|
||||
&GUI_ENC_APIList_SJIS
|
||||
|
||||
/* PROPAA: Proportional, antialiased fonts */
|
||||
DECLARE_FONT(PROPAA);
|
||||
#define GUI_FONTTYPE_PROPAA \
|
||||
GUIPROPAA_DispChar, \
|
||||
GUIPROPAA_GetCharDistX, \
|
||||
GUIPROPAA_GetFontInfo, \
|
||||
GUIPROPAA_IsInFont, \
|
||||
(tGUI_ENC_APIList*)0
|
||||
|
||||
/* PROPAA: Proportional, antialiased fonts, 2bpp */
|
||||
DECLARE_FONT(PROP_AA2);
|
||||
#define GUI_FONTTYPE_PROP_AA2 \
|
||||
GUIPROP_AA2_DispChar, \
|
||||
GUIPROP_AA2_GetCharDistX, \
|
||||
GUIPROP_AA2_GetFontInfo, \
|
||||
GUIPROP_AA2_IsInFont, \
|
||||
(tGUI_ENC_APIList*)0
|
||||
|
||||
/* PROPAA: Proportional, antialiased fonts, 2bpp, SJIS encoding */
|
||||
DECLARE_FONT(PROP_AA2);
|
||||
#define GUI_FONTTYPE_PROP_AA2_SJIS \
|
||||
GUIPROP_AA2_DispChar, \
|
||||
GUIPROP_AA2_GetCharDistX, \
|
||||
GUIPROP_AA2_GetFontInfo, \
|
||||
GUIPROP_AA2_IsInFont, \
|
||||
GUI_ENCODE_SJIS
|
||||
|
||||
/* PROPAA: Proportional, antialiased fonts, 4bpp */
|
||||
DECLARE_FONT(PROP_AA4);
|
||||
#define GUI_FONTTYPE_PROP_AA4 \
|
||||
GUIPROP_AA4_DispChar, \
|
||||
GUIPROP_AA4_GetCharDistX, \
|
||||
GUIPROP_AA4_GetFontInfo, \
|
||||
GUIPROP_AA4_IsInFont, \
|
||||
(tGUI_ENC_APIList*)0
|
||||
|
||||
/* PROPAA: Proportional, antialiased fonts, 4bpp, SJIS encoding */
|
||||
DECLARE_FONT(PROP_AA4);
|
||||
#define GUI_FONTTYPE_PROP_AA4_SJIS \
|
||||
GUIPROP_AA4_DispChar, \
|
||||
GUIPROP_AA4_GetCharDistX, \
|
||||
GUIPROP_AA4_GetFontInfo, \
|
||||
GUIPROP_AA4_IsInFont, \
|
||||
GUI_ENCODE_SJIS
|
||||
|
||||
#if defined(__cplusplus)
|
||||
}
|
||||
#endif
|
||||
|
||||
struct GUI_FONT {
|
||||
GUI_DISPCHAR* pfDispChar;
|
||||
GUI_GETCHARDISTX* pfGetCharDistX;
|
||||
GUI_GETFONTINFO* pfGetFontInfo;
|
||||
GUI_ISINFONT* pfIsInFont;
|
||||
const tGUI_ENC_APIList* pafEncode;
|
||||
U8 YSize;
|
||||
U8 YDist;
|
||||
U8 XMag;
|
||||
U8 YMag;
|
||||
union {
|
||||
const void GUI_UNI_PTR * pFontData;
|
||||
const GUI_FONT_MONO GUI_UNI_PTR * pMono;
|
||||
const GUI_FONT_PROP GUI_UNI_PTR * pProp;
|
||||
} p;
|
||||
U8 Baseline;
|
||||
U8 LHeight; /* height of a small lower case character (a,x) */
|
||||
U8 CHeight; /* height of a small upper case character (A,X) */
|
||||
};
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Position independent font structures
|
||||
*/
|
||||
typedef struct {
|
||||
U32 ID; /* Font file ID */
|
||||
U16 YSize; /* Height of font */
|
||||
U16 YDist; /* Space of font Y */
|
||||
U16 Baseline; /* Index of baseline */
|
||||
U16 LHeight; /* Height of a small lower case character (a) */
|
||||
U16 CHeight; /* Height of a upper case character (A) */
|
||||
U16 NumAreas; /* Number of character areas */
|
||||
} GUI_SI_FONT;
|
||||
|
||||
typedef struct {
|
||||
U16 First; /* Index of first character */
|
||||
U16 Last; /* Index of last character */
|
||||
} GUI_SIF_CHAR_AREA;
|
||||
|
||||
typedef struct {
|
||||
U16 XSize; /* Size of bitmap data in X */
|
||||
U16 XDist; /* Number of pixels for increment cursor in X */
|
||||
U16 BytesPerLine; /* Number of bytes per line */
|
||||
U16 Dummy;
|
||||
U32 OffData; /* Offset of pixel data */
|
||||
} GUI_SIF_CHARINFO;
|
||||
|
||||
typedef struct tGUI_SIF_APIList_struct {
|
||||
GUI_DISPCHAR * pDispChar;
|
||||
GUI_GETCHARDISTX * pGetCharDistX;
|
||||
GUI_GETFONTINFO * pGetFontInfo;
|
||||
GUI_ISINFONT * pIsInFont;
|
||||
} tGUI_SIF_APIList;
|
||||
|
||||
#define GUI_SIF_TYPE tGUI_SIF_APIList
|
||||
#define GUI_SIF_TYPE_PROP &GUI_SIF_APIList_Prop
|
||||
|
||||
extern const tGUI_SIF_APIList GUI_SIF_APIList_Prop;
|
||||
|
||||
/*
|
||||
*********************************
|
||||
* *
|
||||
* Typedefs *
|
||||
* *
|
||||
*********************************
|
||||
*/
|
||||
|
||||
#ifndef GUI_HMEM
|
||||
#define GUI_HMEM I16P
|
||||
#endif
|
||||
#define GUI_HMEM_NULL (0)
|
||||
typedef GUI_HMEM GUI_HWIN;
|
||||
#endif /* GUITYPE_H_INCLUDED */
|
||||
|
||||
/*************************** End of file ****************************/
|
||||
@@ -0,0 +1,27 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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 : GUIVersion.h
|
||||
Purpose : Include file defining current GUI version
|
||||
---------------------------END-OF-HEADER------------------------------
|
||||
*/
|
||||
|
||||
#ifndef GUI_VERSION_H
|
||||
#define GUI_VERSION_H
|
||||
|
||||
#define GUI_VERSION 39001
|
||||
|
||||
#endif /* Avoid multiple inclusion */
|
||||
|
||||
/*************************** End of file ****************************/
|
||||
@@ -0,0 +1,69 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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 : GUI_ARRAY.h
|
||||
Purpose : Array handling routines
|
||||
---------------------------END-OF-HEADER------------------------------
|
||||
*/
|
||||
|
||||
#ifndef GUIARRAY_H
|
||||
#define GUIARRAY_H
|
||||
|
||||
#include "WM_Intern.h"
|
||||
|
||||
#if GUI_WINSUPPORT
|
||||
|
||||
typedef enum {
|
||||
GUI_ARRAY_STATE_NOT_CREATED,
|
||||
GUI_ARRAY_STATE_CREATED,
|
||||
GUI_ARRAY_STATE_DELETED
|
||||
} GUI_ARRAY_STATE;
|
||||
|
||||
typedef struct {
|
||||
U16 NumItems;
|
||||
WM_HMEM haHandle; /* Handle to buffer holding handles */
|
||||
#if GUI_DEBUG_LEVEL >= GUI_DEBUG_LEVEL_CHECK_ALL
|
||||
GUI_ARRAY_STATE InitState;
|
||||
#endif
|
||||
} GUI_ARRAY;
|
||||
|
||||
|
||||
|
||||
int GUI_ARRAY_AddItem (GUI_ARRAY* pThis, const void *pNew, int Len);
|
||||
void GUI_ARRAY_Delete (GUI_ARRAY* pThis);
|
||||
WM_HMEM GUI_ARRAY_GethItem (const GUI_ARRAY* pThis, unsigned int Index);
|
||||
unsigned GUI_ARRAY_GetNumItems (const GUI_ARRAY* pThis);
|
||||
void* GUI_ARRAY_GetpItem (const GUI_ARRAY* pThis, unsigned int Index);
|
||||
/* Optional methods */
|
||||
int GUI_ARRAY_SethItem (GUI_ARRAY* pThis, unsigned int Index, WM_HMEM hItem);
|
||||
WM_HMEM GUI_ARRAY_SetItem (GUI_ARRAY* pThis, unsigned int Index, const void* pData, int Len);
|
||||
void GUI_ARRAY_DeleteItem (GUI_ARRAY* pThis, unsigned int Index);
|
||||
char GUI_ARRAY_InsertBlankItem(GUI_ARRAY* pThis, unsigned int Index);
|
||||
WM_HMEM GUI_ARRAY_InsertItem (GUI_ARRAY* pThis, unsigned int Index, int Len);
|
||||
void* GUI_ARRAY_ResizeItem (GUI_ARRAY* pThis, unsigned int Index, int Len);
|
||||
|
||||
#if GUI_DEBUG_LEVEL >= GUI_DEBUG_LEVEL_CHECK_ALL
|
||||
void GUI_ARRAY_Create ( GUI_ARRAY * pThis);
|
||||
void GUI_ARRAY_Check (const GUI_ARRAY * pThis);
|
||||
#define GUI_ARRAY_CREATE(pThis) GUI_ARRAY_Create(pThis)
|
||||
#define GUI_ARRAY_CHECK(pThis) GUI_ARRAY_Check(pThis)
|
||||
#else
|
||||
#define GUI_ARRAY_CREATE(pThis)
|
||||
#define GUI_ARRAY_CHECK(pThis)
|
||||
#endif
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,155 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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 : GUI_ConfDefaults.h
|
||||
Purpose : Defaults for GUI config switches.
|
||||
---------------------------END-OF-HEADER------------------------------
|
||||
|
||||
Attention : Do not modify this file ! If you do, you will not
|
||||
be able do update to a later GUI version !
|
||||
|
||||
*/
|
||||
|
||||
#ifndef GUI_CONFDEFAULTS_H
|
||||
#define GUI_CONFDEFAULTS_H
|
||||
|
||||
#include "uCGUI\Config\GUIConf.h"
|
||||
|
||||
/**********************************************************************
|
||||
*
|
||||
* Defaults for config switches
|
||||
*
|
||||
***********************************************************************
|
||||
*/
|
||||
|
||||
/* Define "universal pointer". Normally, this is not needed (define will expand to nothing)
|
||||
However, on some systems (AVR - IAR compiler) it can be necessary ( -> __generic),
|
||||
since a default pointer can access RAM only, not the built-in Flash
|
||||
*/
|
||||
#ifndef GUI_UNI_PTR
|
||||
#define GUI_UNI_PTR
|
||||
#define GUI_UNI_PTR_USED 0
|
||||
#else
|
||||
#define GUI_UNI_PTR_USED 1
|
||||
#endif
|
||||
|
||||
/* Define const storage. Normally, this is not needed (define will expand to const)
|
||||
However, on some systems (AVR - IAR compiler) it can be necessary ( -> __flash const),
|
||||
since otherwise constants are copied into RAM
|
||||
*/
|
||||
#ifndef GUI_ALLOC_SIZE
|
||||
#define GUI_ALLOC_SIZE 1000
|
||||
#endif
|
||||
|
||||
#ifndef GUI_CONST_STORAGE
|
||||
#define GUI_CONST_STORAGE const
|
||||
#endif
|
||||
|
||||
#ifndef GUI_SUPPORT_TOUCH
|
||||
#define GUI_SUPPORT_TOUCH 0
|
||||
#endif
|
||||
|
||||
#ifndef GUI_SUPPORT_MOUSE
|
||||
#define GUI_SUPPORT_MOUSE 0
|
||||
#endif
|
||||
|
||||
#ifndef GUI_SUPPORT_MEMDEV
|
||||
#define GUI_SUPPORT_MEMDEV 0
|
||||
#endif
|
||||
|
||||
#ifndef GUI_SUPPORT_AA
|
||||
#define GUI_SUPPORT_AA 0
|
||||
#endif
|
||||
|
||||
#ifndef GUI_OS
|
||||
#define GUI_OS 0
|
||||
#endif
|
||||
|
||||
#ifndef GUI_SUPPORT_LARGE_BITMAPS
|
||||
#if GUI_ALLOC_SIZE > 65535
|
||||
#define GUI_SUPPORT_LARGE_BITMAPS 1
|
||||
#else
|
||||
#define GUI_SUPPORT_LARGE_BITMAPS 0
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef GUI_COMPATIBLE_MODE
|
||||
#define GUI_COMPATIBLE_MODE 1
|
||||
#endif
|
||||
|
||||
#ifndef GUI_NUM_LAYERS
|
||||
#define GUI_NUM_LAYERS 1
|
||||
#endif
|
||||
|
||||
#ifndef GUI_SUPPORT_CURSOR
|
||||
#define GUI_SUPPORT_CURSOR (GUI_SUPPORT_MOUSE | GUI_SUPPORT_TOUCH)
|
||||
#endif
|
||||
|
||||
#ifndef GUI_SUPPORT_DEVICES
|
||||
#ifdef __C51__ /* Keil C51 limitation ... Indirect function calls are limited */
|
||||
#define GUI_SUPPORT_DEVICES 0
|
||||
#else
|
||||
#define GUI_SUPPORT_DEVICES (GUI_SUPPORT_MEMDEV | (GUI_NUM_LAYERS > 1))
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* Some compilers for very simple chips can not generate code for function pointers
|
||||
with parameters. In this case, we do not use function pointers, but limit the functionality slightly */
|
||||
#ifndef GUI_COMPILER_SUPPORTS_FP
|
||||
#ifdef __C51__
|
||||
#define GUI_COMPILER_SUPPORTS_FP 0
|
||||
#else
|
||||
#define GUI_COMPILER_SUPPORTS_FP 1
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef GUI_SUPPORT_ROTATION
|
||||
#if GUI_COMPILER_SUPPORTS_FP
|
||||
#define GUI_SUPPORT_ROTATION 1
|
||||
#else
|
||||
#define GUI_SUPPORT_ROTATION 0
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* In order to avoid warnings for undefined parameters */
|
||||
#ifndef GUI_USE_PARA
|
||||
#if defined (__BORLANDC__) || defined(NC30) || defined(NC308)
|
||||
#define GUI_USE_PARA(para)
|
||||
#else
|
||||
#define GUI_USE_PARA(para) para=para;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* Default for types */
|
||||
#ifndef GUI_TIMER_TIME
|
||||
#define GUI_TIMER_TIME int /* default is to use 16 bits for 16 bit CPUs,
|
||||
32 bits on 32 bit CPUs for timing */
|
||||
#endif
|
||||
|
||||
/* Types used for memory allocation */
|
||||
#if GUI_ALLOC_SIZE <32767
|
||||
#define GUI_ALLOC_DATATYPE I16
|
||||
#define GUI_ALLOC_DATATYPE_U U16
|
||||
#else
|
||||
#define GUI_ALLOC_DATATYPE I32
|
||||
#define GUI_ALLOC_DATATYPE_U U32
|
||||
#endif
|
||||
|
||||
#ifndef GUI_MEMSET
|
||||
#define GUI_MEMSET GUI__memset
|
||||
#endif
|
||||
|
||||
|
||||
#endif /* ifdef GUI_CONFDEFAULTS_H */
|
||||
/*************************** End of file ****************************/
|
||||
@@ -0,0 +1,67 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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 : GUI_FontIntern.h
|
||||
Purpose : Internal decalrations used in font files
|
||||
---------------------------END-OF-HEADER------------------------------
|
||||
|
||||
Attention : Do not modify this file ! If you do, you will not
|
||||
be able do update to a later GUI version !
|
||||
|
||||
*/
|
||||
|
||||
|
||||
#ifndef GUI_FONTINTERN_H /* Guard against multiple inclusion */
|
||||
#define GUI_FONTINTERN_H
|
||||
|
||||
#include "GUI.h"
|
||||
|
||||
#if defined(__cplusplus)
|
||||
extern "C" { /* Make sure we have C-declarations in C++ programs */
|
||||
#endif
|
||||
|
||||
|
||||
extern GUI_CONST_STORAGE GUI_FONT_PROP GUI_Font8ASCII_Prop;
|
||||
extern GUI_CONST_STORAGE GUI_FONT_PROP GUI_Font10S_ASCII_FontProp1;
|
||||
extern GUI_CONST_STORAGE GUI_FONT_PROP GUI_Font10ASCIIProp1;
|
||||
extern GUI_CONST_STORAGE GUI_FONT_PROP GUI_Font16ASCIIProp1;
|
||||
|
||||
extern GUI_CONST_STORAGE GUI_FONT_PROP GUI_Font16_1_FontProp1;
|
||||
extern GUI_CONST_STORAGE GUI_FONT_PROP FontComic24BProp_ASCII;
|
||||
|
||||
extern GUI_CONST_STORAGE GUI_CHARINFO GUI_Font24B_ASCII_CharInfo[95];
|
||||
extern GUI_CONST_STORAGE GUI_CHARINFO GUI_Font24_ASCII_CharInfo[95];
|
||||
extern GUI_CONST_STORAGE GUI_CHARINFO GUI_Font32B_ASCII_CharInfo[95];
|
||||
|
||||
extern GUI_CONST_STORAGE GUI_CHARINFO GUI_Font32_ASCII_CharInfo[95];
|
||||
extern GUI_CONST_STORAGE GUI_CHARINFO GUI_CharInfoF8x13_ASCII[96];
|
||||
extern GUI_CONST_STORAGE GUI_CHARINFO GUI_CharInfoF8x15B_ASCII[96];
|
||||
extern GUI_CONST_STORAGE GUI_CHARINFO CharInfo18B_ASCII[97];
|
||||
extern GUI_CONST_STORAGE GUI_CHARINFO CharInfo24B_ASCII[96];
|
||||
extern GUI_CONST_STORAGE GUI_FONT_PROP GUI_Font13ASCII_Prop1;
|
||||
extern GUI_CONST_STORAGE GUI_FONT_PROP GUI_Font13B_ASCII_Prop1;
|
||||
extern GUI_CONST_STORAGE GUI_CHARINFO GUI_Font13H_ASCII_CharInfo[95];
|
||||
extern GUI_CONST_STORAGE GUI_CHARINFO GUI_Font13HB_ASCII_CharInfo[95];
|
||||
extern GUI_CONST_STORAGE GUI_CHARINFO GUI_Font16_HK_CharInfo[169];
|
||||
extern GUI_CONST_STORAGE GUI_CHARINFO GUI_Font16B_ASCII_CharInfo[95];
|
||||
|
||||
|
||||
#if defined(__cplusplus)
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#endif /* Guard against multiple inclusion */
|
||||
|
||||
/*************************** End of file ****************************/
|
||||
@@ -0,0 +1,62 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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 : GUI_HOOK.h
|
||||
Purpose : Hook handling routines
|
||||
--------------------END-OF-HEADER-------------------------------------
|
||||
*/
|
||||
|
||||
#ifndef GUI_HOOK_H
|
||||
#define GUI_HOOK_H
|
||||
|
||||
#include "WM_Intern.h"
|
||||
|
||||
#if GUI_WINSUPPORT
|
||||
|
||||
#if defined(__cplusplus)
|
||||
extern "C" { /* Make sure we have C-declarations in C++ programs */
|
||||
#endif
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Types
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
typedef int GUI_HOOK_FUNC(WM_MESSAGE* pMsg);
|
||||
|
||||
typedef struct GUI_HOOK {
|
||||
struct GUI_HOOK* pNext;
|
||||
GUI_HOOK_FUNC* pHookFunc;
|
||||
} GUI_HOOK;
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Functions
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
void GUI_HOOK_Add (GUI_HOOK** ppFirstHook, GUI_HOOK* pNewHook, GUI_HOOK_FUNC* pHookFunc);
|
||||
void GUI_HOOK_Remove(GUI_HOOK** ppFirstHook, GUI_HOOK* pHook);
|
||||
|
||||
#if defined(__cplusplus)
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* GUI_WINSUPPORT */
|
||||
#endif /* GUI_HOOK_H */
|
||||
|
||||
/*************************** End of file ****************************/
|
||||
@@ -0,0 +1,94 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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 : GUI_Private.h
|
||||
Purpose : GUI internal declarations
|
||||
---------------------------END-OF-HEADER------------------------------
|
||||
|
||||
Attention : Do not modify this file ! If you do, you will not
|
||||
be able do update to a later GUI version !
|
||||
|
||||
*/
|
||||
|
||||
#ifndef GUI_PRIVATE_H
|
||||
#define GUI_PRIVATE_H
|
||||
|
||||
#include "GUI_Protected.h"
|
||||
#include "LCD_Private.h" /* Required because of LCD_PIXELINDEX, which depends on LCDConf */
|
||||
|
||||
#if GUI_SUPPORT_DEVICES
|
||||
#define LCDDEV_L0_Color2Index GUI_Context.pDeviceAPI->pfColor2Index
|
||||
#define LCDDEV_L0_DrawBitmap GUI_Context.pDeviceAPI->pfDrawBitmap
|
||||
#define LCDDEV_L0_DrawHLine GUI_Context.pDeviceAPI->pfDrawHLine
|
||||
#define LCDDEV_L0_DrawVLine GUI_Context.pDeviceAPI->pfDrawVLine
|
||||
#define LCDDEV_L0_DrawPixel GUI_Context.pDeviceAPI->pfDrawPixel
|
||||
#define LCDDEV_L0_FillRect GUI_Context.pDeviceAPI->pfFillRect
|
||||
#define LCDDEV_L0_GetPixel GUI_Context.pDeviceAPI->pfGetPixel
|
||||
#define LCDDEV_L0_GetRect GUI_Context.pDeviceAPI->pfGetRect
|
||||
#define LCDDEV_L0_GetPixelIndex GUI_Context.pDeviceAPI->pfGetPixelIndex
|
||||
#define LCDDEV_L0_Index2Color GUI_Context.pDeviceAPI->pfIndex2Color
|
||||
#define LCDDEV_L0_SetPixelIndex GUI_Context.pDeviceAPI->pfSetPixelIndex
|
||||
#define LCDDEV_L0_XorPixel GUI_Context.pDeviceAPI->pfXorPixel
|
||||
#else
|
||||
#define LCDDEV_L0_Color2Index LCD_L0_Color2Index
|
||||
#define LCDDEV_L0_DrawBitmap LCD_L0_DrawBitmap
|
||||
#define LCDDEV_L0_DrawHLine LCD_L0_DrawHLine
|
||||
#define LCDDEV_L0_DrawVLine LCD_L0_DrawVLine
|
||||
#define LCDDEV_L0_DrawPixel LCD_L0_DrawPixel
|
||||
#define LCDDEV_L0_FillRect LCD_L0_FillRect
|
||||
#define LCDDEV_L0_GetPixel LCD_L0_GetPixel
|
||||
#define LCDDEV_L0_GetRect LCD_L0_GetRect
|
||||
#define LCDDEV_L0_GetPixelIndex LCD_L0_GetPixelIndex
|
||||
#define LCDDEV_L0_Index2Color LCD_L0_Index2Color
|
||||
#define LCDDEV_L0_SetPixelIndex LCD_L0_SetPixelIndex
|
||||
#define LCDDEV_L0_XorPixel LCD_L0_XorPixel
|
||||
#endif
|
||||
|
||||
void LCD_L0_DrawBitmap (int x0, int y0, int xsize, int ysize,
|
||||
int BitsPerPixel, int BytesPerLine,
|
||||
const U8 GUI_UNI_PTR * pData, int Diff, const LCD_PIXELINDEX* pTrans);
|
||||
void LCD_L0_1_DrawBitmap (int x0, int y0, int xsize, int ysize,
|
||||
int BitsPerPixel, int BytesPerLine,
|
||||
const U8 GUI_UNI_PTR * pData, int Diff, const LCD_PIXELINDEX* pTrans);
|
||||
void LCD_L0_2_DrawBitmap (int x0, int y0, int xsize, int ysize,
|
||||
int BitsPerPixel, int BytesPerLine,
|
||||
const U8 GUI_UNI_PTR * pData, int Diff, const LCD_PIXELINDEX* pTrans);
|
||||
void LCD_L0_3_DrawBitmap (int x0, int y0, int xsize, int ysize,
|
||||
int BitsPerPixel, int BytesPerLine,
|
||||
const U8 GUI_UNI_PTR * pData, int Diff, const LCD_PIXELINDEX* pTrans);
|
||||
void LCD_L0_4_DrawBitmap (int x0, int y0, int xsize, int ysize,
|
||||
int BitsPerPixel, int BytesPerLine,
|
||||
const U8 GUI_UNI_PTR * pData, int Diff, const LCD_PIXELINDEX* pTrans);
|
||||
void LCD_L0_MAG_DrawBitmap(int x0, int y0, int xsize, int ysize,
|
||||
int BitsPerPixel, int BytesPerLine,
|
||||
const U8 GUI_UNI_PTR * pData, int Diff, const LCD_PIXELINDEX* pTrans);
|
||||
void LCD_L0_DELTA_DrawBitmap(int x0, int y0, int xsize, int ysize,
|
||||
int BitsPerPixel, int BytesPerLine,
|
||||
const U8 GUI_UNI_PTR * pData, int Diff, const LCD_PIXELINDEX* pTrans);
|
||||
|
||||
LCD_PIXELINDEX* LCD_GetpPalConvTable(const LCD_LOGPALETTE GUI_UNI_PTR * pLogPal);
|
||||
LCD_PIXELINDEX* LCD_GetpPalConvTableUncached(const LCD_LOGPALETTE GUI_UNI_PTR * pLogPal);
|
||||
|
||||
|
||||
#define GUI_POS_AUTO -4095 /* Position value for auto-pos */
|
||||
|
||||
#if GUI_SUPPORT_MEMDEV
|
||||
void* GUI_MEMDEV__XY2PTR (int x,int y);
|
||||
void* GUI_MEMDEV__XY2PTREx(GUI_MEMDEV* pDev, int x,int y);
|
||||
void GUI_MEMDEV__WriteToActiveAt(GUI_MEMDEV_Handle hMem,int x, int y);
|
||||
#endif
|
||||
|
||||
#endif /* ifdef GUI_H */
|
||||
|
||||
/*************************** End of file ****************************/
|
||||
@@ -0,0 +1,404 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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 : GUI_Protected.h
|
||||
Purpose : GUI internal declarations
|
||||
---------------------------END-OF-HEADER------------------------------
|
||||
*/
|
||||
|
||||
#ifndef GUI_PROTECTED_H
|
||||
#define GUI_PROTECTED_H
|
||||
|
||||
#include "GUI.h"
|
||||
#include "LCD_Protected.h"
|
||||
#include "GUIDebug.h"
|
||||
#if GUI_WINSUPPORT
|
||||
#include "WM_GUI.h"
|
||||
#endif
|
||||
|
||||
#if defined(__cplusplus)
|
||||
extern "C" { /* Make sure we have C-declarations in C++ programs */
|
||||
#endif
|
||||
|
||||
/**********************************************************************
|
||||
*
|
||||
* Defaults for config switches
|
||||
*
|
||||
***********************************************************************
|
||||
|
||||
The config switches below do not affect the interface in GUI.h and
|
||||
are therefor not required to be in GUI.h.
|
||||
*/
|
||||
|
||||
/* Short address area.
|
||||
For most compilers, this is "near" or "__near"
|
||||
We do not use this except for some CPUs which we know to always have some
|
||||
near memory, because the GUI_Context ans some other data will be declared
|
||||
to be in this short address (near) memory area as it has a major effect
|
||||
on performance.
|
||||
Please define in GUIConf.h (if you want to use it)
|
||||
*/
|
||||
#ifndef GUI_SADDR
|
||||
#define GUI_SADDR
|
||||
#endif
|
||||
|
||||
#ifndef GUI_DEFAULT_FONT
|
||||
#define GUI_DEFAULT_FONT &GUI_Font6x8
|
||||
#endif
|
||||
|
||||
#ifndef GUI_DEFAULT_CURSOR
|
||||
#define GUI_DEFAULT_CURSOR &GUI_CursorArrowM
|
||||
#endif
|
||||
|
||||
#ifndef GUI_DEFAULT_BKCOLOR
|
||||
#define GUI_DEFAULT_BKCOLOR GUI_BLACK
|
||||
#endif
|
||||
|
||||
#ifndef GUI_DEFAULT_COLOR
|
||||
#define GUI_DEFAULT_COLOR GUI_WHITE
|
||||
#endif
|
||||
|
||||
#ifndef GUI_X_SIGNAL_EVENT
|
||||
#define GUI_X_SIGNAL_EVENT()
|
||||
#endif
|
||||
|
||||
#ifndef GUI_X_WAIT_EVENT
|
||||
#define GUI_X_WAIT_EVENT() GUI_X_ExecIdle()
|
||||
#endif
|
||||
|
||||
|
||||
/* *********************************
|
||||
* *
|
||||
* Angles *
|
||||
* *
|
||||
*********************************
|
||||
*/
|
||||
|
||||
#define GUI_45DEG 512
|
||||
#define GUI_90DEG (2*GUI_45DEG)
|
||||
#define GUI_180DEG (4*GUI_45DEG)
|
||||
#define GUI_360DEG (8*GUI_45DEG)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*****************************************************
|
||||
*
|
||||
* Locking checks
|
||||
*
|
||||
******************************************************
|
||||
*/
|
||||
|
||||
#if defined (WIN32) && defined (_DEBUG) && GUI_OS
|
||||
#define GUI_ASSERT_LOCK() GUITASK_AssertLock()
|
||||
#define GUI_ASSERT_NO_LOCK() GUITASK_AssertNoLock()
|
||||
void GUITASK_AssertLock(void);
|
||||
void GUITASK_AssertNoLock(void);
|
||||
#else
|
||||
#define GUI_ASSERT_LOCK()
|
||||
#define GUI_ASSERT_NO_LOCK()
|
||||
#endif
|
||||
|
||||
/*****************************************************
|
||||
*
|
||||
* Usage internals
|
||||
*
|
||||
******************************************************
|
||||
*/
|
||||
|
||||
typedef enum { GUI_WRAPMODE_NONE, GUI_WRAPMODE_WORD, GUI_WRAPMODE_CHAR } GUI_WRAPMODE;
|
||||
|
||||
typedef GUI_HMEM GUI_USAGE_Handle;
|
||||
typedef struct tsUSAGE_APIList tUSAGE_APIList;
|
||||
typedef struct GUI_Usage GUI_USAGE;
|
||||
#define GUI_USAGE_h GUI_USAGE_Handle
|
||||
|
||||
|
||||
|
||||
typedef GUI_USAGE_h tUSAGE_CreateCompatible(GUI_USAGE* p);
|
||||
typedef void tUSAGE_AddPixel (GUI_USAGE* p, int x, int y);
|
||||
typedef void tUSAGE_AddHLine (GUI_USAGE* p, int x0, int y0, int len);
|
||||
typedef void tUSAGE_Clear (GUI_USAGE* p);
|
||||
typedef void tUSAGE_Delete (GUI_USAGE_h h);
|
||||
typedef int tUSAGE_GetNextDirty (GUI_USAGE* p, int *pxOff, int yOff);
|
||||
#define GUI_USAGE_H2P(h) ((GUI_USAGE*)GUI_ALLOC_h2p(h))
|
||||
|
||||
|
||||
void GUI_USAGE_DecUseCnt(GUI_USAGE_Handle hUsage);
|
||||
|
||||
GUI_USAGE_Handle GUI_USAGE_BM_Create(int x0, int y0, int xsize, int ysize, int Flags);
|
||||
void GUI_USAGE_Select(GUI_USAGE_Handle hUsage);
|
||||
void GUI_USAGE_AddRect(GUI_USAGE* pUsage, int x0, int y0, int xSize, int ySize);
|
||||
#define GUI_USAGE_AddPixel(p, x,y) p->pAPI->pfAddPixel(p,x,y)
|
||||
#define GUI_USAGE_AddHLine(p,x,y,len) p->pAPI->pfAddHLine(p,x,y,len)
|
||||
#define GUI_USAGE_Clear(p) p->pAPI->pfClear(p)
|
||||
#define GUI_USAGE_Delete(p) p->pAPI->pfDelete(p)
|
||||
#define GUI_USAGE_GetNextDirty(p,pxOff, yOff) p->pAPI->pfGetNextDirty(p,pxOff, yOff)
|
||||
|
||||
struct tsUSAGE_APIList {
|
||||
tUSAGE_AddPixel* pfAddPixel;
|
||||
tUSAGE_AddHLine* pfAddHLine;
|
||||
tUSAGE_Clear* pfClear;
|
||||
tUSAGE_CreateCompatible* pfCreateCompatible;
|
||||
tUSAGE_Delete* pfDelete;
|
||||
tUSAGE_GetNextDirty* pfGetNextDirty;
|
||||
} ;
|
||||
|
||||
struct GUI_Usage {
|
||||
I16P x0, y0, XSize, YSize;
|
||||
const tUSAGE_APIList *pAPI;
|
||||
I16 UseCnt;
|
||||
};
|
||||
|
||||
/*****************************************************
|
||||
*
|
||||
* GUI_MEMDEV
|
||||
*
|
||||
******************************************************
|
||||
*/
|
||||
|
||||
#if GUI_SUPPORT_MEMDEV
|
||||
typedef struct /*GUI_MEMDEV*/ {
|
||||
I16P x0, y0, XSize, YSize;
|
||||
int NumColors;
|
||||
unsigned BytesPerLine;
|
||||
unsigned BitsPerPixel;
|
||||
unsigned LayerIndex;
|
||||
GUI_HMEM hUsage;
|
||||
tLCDDEV_Color2Index* pfColor2Index;
|
||||
tLCDDEV_Index2Color* pfIndex2Color;
|
||||
tLCDDEV_GetIndexMask* pfGetIndexMask;
|
||||
const tLCDDEV_APIList* pAPIList;
|
||||
} GUI_MEMDEV;
|
||||
|
||||
#define GUI_MEMDEV_H2P(h) ((GUI_MEMDEV*)GUI_ALLOC_h2p(h))
|
||||
|
||||
void GUI_MEMDEV__CopyFromLCD (GUI_MEMDEV_Handle hMem);
|
||||
void GUI_MEMDEV__GetRect (GUI_RECT* pRect);
|
||||
unsigned GUI_MEMDEV__Color2Index (LCD_COLOR Color);
|
||||
LCD_COLOR GUI_MEMDEV__Index2Color (int Index);
|
||||
unsigned int GUI_MEMDEV__GetIndexMask(void);
|
||||
|
||||
GUI_MEMDEV_Handle GUI_MEMDEV__CreateFixed(int x0, int y0, int xsize, int ysize, int Flags
|
||||
,const tLCDDEV_APIList * pMemDevAPI
|
||||
,tLCDDEV_Color2Index* pfColor2Index
|
||||
,tLCDDEV_Index2Color* pfIndex2Color
|
||||
,tLCDDEV_GetIndexMask* pfGetIndexMask);
|
||||
|
||||
#endif
|
||||
|
||||
/*******************************************************************
|
||||
*
|
||||
* LCD_HL_ level defines
|
||||
*
|
||||
********************************************************************
|
||||
*/
|
||||
|
||||
#if GUI_SUPPORT_AA
|
||||
#define LCD_HL_DrawHLine GUI_Context.pLCD_HL->pfDrawHLine
|
||||
#define LCD_HL_DrawPixel GUI_Context.pLCD_HL->pfDrawPixel
|
||||
#else
|
||||
#define LCD_HL_DrawHLine LCD_DrawHLine
|
||||
#define LCD_HL_DrawPixel LCD_DrawPixel
|
||||
#endif
|
||||
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Helper functions
|
||||
*
|
||||
***********************************************************************
|
||||
*/
|
||||
|
||||
#define GUI_ZEROINIT(Obj) GUI_MEMSET(Obj, 0, sizeof(Obj))
|
||||
int GUI_cos(int angle);
|
||||
int GUI_sin(int angle);
|
||||
void GL_DrawLine1(int x0, int y0, int x1, int y1);
|
||||
extern const U32 GUI_Pow10[10];
|
||||
|
||||
/* GUIAALib.c --- direct anti-aliased drawing */
|
||||
int GUI_AA_Init(int x0, int x1);
|
||||
int GUI_AA_Init_HiRes(int x0, int x1);
|
||||
void GUI_AA_Exit(void);
|
||||
I16 GUI_AA_HiRes2Pixel(int HiRes);
|
||||
|
||||
void GL_FillCircleAA_HiRes(int x0, int y0, int r);
|
||||
|
||||
/* Conversion routines */
|
||||
void GUI_AddHex (U32 v, U8 Len, char**ps);
|
||||
void GUI_AddBin (U32 v, U8 Len, char**ps);
|
||||
void GUI_AddDecMin (I32 v, char**ps);
|
||||
void GUI_AddDec (I32 v, U8 Len, char**ps);
|
||||
void GUI_AddDecShift(I32 v, U8 Len, U8 Shift, char**ps);
|
||||
long GUI_AddSign (long v, char**ps);
|
||||
int GUI_Long2Len (I32 v);
|
||||
|
||||
#define GUI_UC__GetCharSize(sText) GUI_Context.pUC_API->pfGetCharSize(sText)
|
||||
#define GUI_UC__GetCharCode(sText) GUI_Context.pUC_API->pfGetCharCode(sText)
|
||||
|
||||
int GUI_UC__CalcSizeOfChar (U16 Char);
|
||||
U16 GUI_UC__GetCharCodeInc (const char GUI_UNI_PTR ** ps);
|
||||
int GUI_UC__NumChars2NumBytes(const char GUI_UNI_PTR * s, int NumChars);
|
||||
int GUI_UC__NumBytes2NumChars(const char GUI_UNI_PTR * s, int NumBytes);
|
||||
|
||||
int GUI__GetLineNumChars (const char GUI_UNI_PTR *s, int MaxNumChars);
|
||||
int GUI__GetNumChars (const char GUI_UNI_PTR *s);
|
||||
int GUI__GetLineDistX (const char GUI_UNI_PTR *s, int Len);
|
||||
int GUI__GetFontSizeY (void);
|
||||
int GUI__HandleEOLine (const char GUI_UNI_PTR **ps);
|
||||
void GUI__DispLine (const char GUI_UNI_PTR *s, int Len, const GUI_RECT* pr);
|
||||
void GUI__AddSpaceHex (U32 v, U8 Len, char**ps);
|
||||
void GUI__CalcTextRect (const char GUI_UNI_PTR* pText, const GUI_RECT* pTextRectIn, GUI_RECT* pTextRectOut, int TextAlign);
|
||||
|
||||
int GUI__WrapGetNumCharsDisp (const char GUI_UNI_PTR * pText, int xSize, GUI_WRAPMODE WrapMode);
|
||||
int GUI__WrapGetNumCharsToNextLine (const char GUI_UNI_PTR * pText, int xSize, GUI_WRAPMODE WrapMode);
|
||||
int GUI__WrapGetNumBytesToNextLine (const char GUI_UNI_PTR * pText, int xSize, GUI_WRAPMODE WrapMode);
|
||||
void GUI__memset (U8 * p, U8 Fill, int NumBytes);
|
||||
void GUI__memset16 (U16* p, U16 Fill, int NumWords);
|
||||
int GUI__strlen (const char GUI_UNI_PTR * s);
|
||||
int GUI__strcmp (const char GUI_UNI_PTR * s0, const char GUI_UNI_PTR * s1);
|
||||
int GUI__strcmp_hp (GUI_HMEM hs0, const char GUI_UNI_PTR * s1);
|
||||
|
||||
/* Reading data routines */
|
||||
U16 GUI__Read16(const U8 ** ppData);
|
||||
U32 GUI__Read32(const U8 ** ppData);
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* 2d - GL
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
void GL_DispChar (U16 c);
|
||||
void GL_DrawArc (int x0, int y0, int rx, int ry, int a0, int a1);
|
||||
void GL_DrawBitmap (const GUI_BITMAP GUI_UNI_PTR * pBM, int x0, int y0);
|
||||
void GL_DrawCircle (int x0, int y0, int r);
|
||||
void GL_DrawEllipse (int x0, int y0, int rx, int ry);
|
||||
void GL_DrawHLine (int y0, int x0, int x1);
|
||||
void GL_DrawPolygon (const GUI_POINT* pPoints, int NumPoints, int x0, int y0);
|
||||
void GL_DrawPoint (int x, int y);
|
||||
void GL_DrawLineRel (int dx, int dy);
|
||||
void GL_DrawLineTo (int x, int y);
|
||||
void GL_DrawLine (int x0, int y0, int x1, int y1);
|
||||
void GL_MoveTo (int x, int y);
|
||||
void GL_FillCircle (int x0, int y0, int r);
|
||||
void GL_FillCircleAA (int x0, int y0, int r);
|
||||
void GL_FillEllipse (int x0, int y0, int rx, int ry);
|
||||
void GL_FillPolygon (const GUI_POINT* pPoints, int NumPoints, int x0, int y0);
|
||||
void GL_SetDefault (void);
|
||||
|
||||
/************************************************************
|
||||
*
|
||||
* Callback pointers for dynamic linkage
|
||||
*
|
||||
*************************************************************
|
||||
Dynamic linkage pointers reduces configuration hassles.
|
||||
*/
|
||||
typedef int GUI_tfTimer(void);
|
||||
typedef char GUI_CURSOR_tfTempHide (const GUI_RECT* pRect);
|
||||
typedef void GUI_CURSOR_tfTempUnhide(void);
|
||||
typedef int WM_tfHandlePID(void);
|
||||
|
||||
|
||||
/************************************************************
|
||||
*
|
||||
* Cursors
|
||||
*
|
||||
*************************************************************
|
||||
*/
|
||||
|
||||
extern GUI_CONST_STORAGE unsigned char GUI_Pixels_ArrowS[45];
|
||||
extern GUI_CONST_STORAGE unsigned char GUI_Pixels_ArrowM[60];
|
||||
extern GUI_CONST_STORAGE unsigned char GUI_Pixels_ArrowL[150];
|
||||
extern GUI_CONST_STORAGE unsigned char GUI_Pixels_CrossS[33];
|
||||
extern GUI_CONST_STORAGE unsigned char GUI_Pixels_CrossM[126];
|
||||
extern GUI_CONST_STORAGE unsigned char GUI_Pixels_CrossL[248];
|
||||
extern GUI_CONST_STORAGE unsigned char GUI_PixelsHeaderM[5 * 17];
|
||||
|
||||
|
||||
extern GUI_CONST_STORAGE GUI_LOGPALETTE GUI_CursorPal;
|
||||
extern GUI_CONST_STORAGE GUI_LOGPALETTE GUI_CursorPalI;
|
||||
|
||||
/************************************************************
|
||||
*
|
||||
* Text rotation
|
||||
*
|
||||
*************************************************************
|
||||
*/
|
||||
|
||||
extern GUI_RECT GUI_RectDispString; /* Used by LCD_Rotate...() and GUI_DispStringInRect() */
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Bitmap related functions
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
int GUI_GetBitmapPixelIndex(const GUI_BITMAP GUI_UNI_PTR * pBMP, unsigned x, unsigned y);
|
||||
GUI_COLOR GUI_GetBitmapPixelColor(const GUI_BITMAP GUI_UNI_PTR * pBMP, unsigned x, unsigned y);
|
||||
|
||||
#if defined(__cplusplus)
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* Avoid multiple inclusion */
|
||||
|
||||
/************************************************************
|
||||
*
|
||||
* GUI_EXTERN declartions/definitions
|
||||
*
|
||||
*************************************************************
|
||||
*/
|
||||
|
||||
#ifdef GL_CORE_C
|
||||
#define GUI_EXTERN
|
||||
#else
|
||||
#if defined(__cplusplus)
|
||||
#define GUI_EXTERN extern "C"
|
||||
#else
|
||||
#define GUI_EXTERN extern
|
||||
#endif
|
||||
#endif
|
||||
|
||||
GUI_EXTERN GUI_SADDR GUI_CONTEXT GUI_Context; /* Thread wide globals */
|
||||
GUI_EXTERN GUI_SADDR char GUI_DecChar;
|
||||
GUI_EXTERN GUI_tfTimer* GUI_pfTimerExec;
|
||||
GUI_EXTERN WM_tfHandlePID* WM_pfHandlePID;
|
||||
GUI_EXTERN void (*GUI_pfDispCharStyle)(U16 Char);
|
||||
|
||||
#if GUI_COMPILER_SUPPORTS_FP && GUI_SUPPORT_ROTATION
|
||||
GUI_EXTERN const tLCD_APIList * GUI_pLCD_APIList; /* Used for rotating text */
|
||||
#endif
|
||||
|
||||
#if GUI_SUPPORT_CURSOR
|
||||
GUI_EXTERN GUI_CURSOR_tfTempHide* GUI_CURSOR_pfTempHide;
|
||||
GUI_EXTERN GUI_CURSOR_tfTempUnhide* GUI_CURSOR_pfTempUnhide;
|
||||
#endif
|
||||
|
||||
#if defined(__cplusplus)
|
||||
extern "C" { /* Make sure we have C-declarations in C++ programs */
|
||||
#endif
|
||||
|
||||
extern const GUI_UC_ENC_APILIST GUI__API_TableNone;
|
||||
|
||||
#if defined(__cplusplus)
|
||||
}
|
||||
#endif
|
||||
|
||||
#undef GUI_EXTERN
|
||||
|
||||
/*************************** End of file ****************************/
|
||||
@@ -0,0 +1,95 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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 : GUI_VNC.h
|
||||
Purpose : Publics for the VNC server
|
||||
---------------------------END-OF-HEADER------------------------------
|
||||
|
||||
Attention : Do not modify this file ! If you do, you will not
|
||||
be able do update to a later GUI version !
|
||||
|
||||
*/
|
||||
|
||||
#ifndef GUI_VNC_H
|
||||
#define GUI_VNC_H
|
||||
|
||||
#include "GUI.h"
|
||||
#include "LCD_Private.h" /* Required because the Driver API depends on Config currently */
|
||||
|
||||
#if GUI_SUPPORT_DEVICES
|
||||
|
||||
|
||||
#if defined(__cplusplus)
|
||||
extern "C" { /* Make sure we have C-declarations in C++ programs */
|
||||
#endif
|
||||
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* defines
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
#define GUI_VNC_NO_ERROR 0
|
||||
#define GUI_VNC_ERROR_MISC 1
|
||||
#define GUI_VNC_ERROR_WRONGFORMAT 2
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* types
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
typedef int (*GUI_tSend) (const U8 * pData, int len, void* pConnectInfo);
|
||||
typedef int (*GUI_tReceive)( U8 * pData, int len, void* pConnectInfo);
|
||||
|
||||
typedef struct GUI_VNC_CONTEXT {
|
||||
struct GUI_VNC_CONTEXT * pNext;
|
||||
int LayerIndex;
|
||||
/* Connection related data */
|
||||
GUI_tSend pfSend;
|
||||
GUI_tReceive pfReceive;
|
||||
void* pConnectInfo;
|
||||
U16 ServerIndex;
|
||||
/* Display related info */
|
||||
const tLCDDEV_APIList* pLayerAPIOrig;
|
||||
tLCDDEV_APIList VNC_LayerAPI;
|
||||
int x0Dirty, y0Dirty, x1Dirty, y1Dirty;
|
||||
int XSize, YSize;
|
||||
/* Status */
|
||||
char ClientSupportsHextile;
|
||||
char IsBigEndian;
|
||||
} GUI_VNC_CONTEXT;
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* functions
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
int GUI_VNC_Process (GUI_VNC_CONTEXT* pContext, GUI_tSend pfSend, GUI_tReceive pfReceive, void* pConnectInfo);
|
||||
void GUI_VNC_AttachToLayer(GUI_VNC_CONTEXT* pContext, int LayerIndex);
|
||||
int GUI_VNC_GetNumConnections(void);
|
||||
|
||||
/**** External routine to link the server to the system ... USER defined ! ****/
|
||||
int GUI_VNC_X_StartServer(int LayerIndex, int ServerIndex);
|
||||
|
||||
#if defined(__cplusplus)
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* GUI_SUPPORT_DEVICES */
|
||||
#endif /* Avoid multiple inclusion */
|
||||
|
||||
/*************************** End of file ****************************/
|
||||
@@ -0,0 +1,79 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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 : GUI_X.h
|
||||
Purpose : Declarations for GUI_X module
|
||||
---------------------------END-OF-HEADER------------------------------
|
||||
|
||||
Attention : Do not modify this file ! If you do, you will not
|
||||
be able do update to a later GUI version !
|
||||
|
||||
*/
|
||||
|
||||
#ifndef GUI_X_H
|
||||
#define GUI_X_H
|
||||
|
||||
#include "GUI.h"
|
||||
|
||||
#if defined(__cplusplus)
|
||||
extern "C" { /* Make sure we have C-declarations in C++ programs */
|
||||
#endif
|
||||
|
||||
/************************************************************
|
||||
*
|
||||
* GUI_X_
|
||||
*
|
||||
* externals, to be defined by application
|
||||
*
|
||||
*************************************************************
|
||||
|
||||
The externals defined below should be defined by the
|
||||
application. They are per default contained in the module
|
||||
GUI_X.c.
|
||||
Note that a lot if not all of these are not required in most target
|
||||
systems.
|
||||
For this module, samples are available for configurations
|
||||
with or without operating system.
|
||||
*/
|
||||
|
||||
/**** Init ****/
|
||||
void GUI_X_Init(void);
|
||||
|
||||
/**** ExecIdle - called if nothing else is left to do ****/
|
||||
void GUI_X_ExecIdle(void);
|
||||
|
||||
/**** Timing routines - required for blinking ****/
|
||||
int GUI_X_GetTime(void);
|
||||
void GUI_X_Delay(int Period);
|
||||
|
||||
/**** Multitask routines - required only if multitasking is used (#define GUI_OS 1) ****/
|
||||
void GUI_X_Unlock(void);
|
||||
void GUI_X_Lock(void);
|
||||
U32 GUI_X_GetTaskId(void);
|
||||
void GUI_X_InitOS(void);
|
||||
|
||||
/**** Event driving (optional with multitasking) ****/
|
||||
void GUI_X_WaitEvent(void);
|
||||
void GUI_X_SignalEvent(void);
|
||||
/**** Recording (logs/warnings and errors) - required only for higher levels ****/
|
||||
void GUI_X_Log(const char *s);
|
||||
void GUI_X_Warn(const char *s);
|
||||
void GUI_X_ErrorOut(const char *s);
|
||||
|
||||
#if defined(__cplusplus)
|
||||
}
|
||||
#endif
|
||||
#endif /* ifdef GUI_X_H */
|
||||
|
||||
/*************************** End of file ****************************/
|
||||
@@ -0,0 +1,141 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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 : HEADER.h
|
||||
Purpose : HEADER include
|
||||
--------------------END-OF-HEADER-------------------------------------
|
||||
*/
|
||||
|
||||
#ifndef HEADER_H
|
||||
#define HEADER_H
|
||||
|
||||
#include "GUI.h"
|
||||
#include "WM.h"
|
||||
#include "DIALOG_Intern.h" /* Req. for Create indirect data structure */
|
||||
|
||||
#if GUI_WINSUPPORT
|
||||
|
||||
#if defined(__cplusplus)
|
||||
extern "C" { /* Make sure we have C-declarations in C++ programs */
|
||||
#endif
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Public Types
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
typedef WM_HMEM HEADER_Handle;
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Create functions
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
HEADER_Handle HEADER_Create (int x0, int y0, int xsize, int ysize, WM_HWIN hParent, int Id, int Flags, int SpecialFlags);
|
||||
HEADER_Handle HEADER_CreateIndirect(const GUI_WIDGET_CREATE_INFO * pCreateInfo, WM_HWIN hWinParent, int x0, int y0, WM_CALLBACK * cb);
|
||||
HEADER_Handle HEADER_CreateAttached(WM_HWIN hParent, int Id, int SpecialFlags);
|
||||
HEADER_Handle HEADER_CreateEx (int x0, int y0, int xsize, int ysize, WM_HWIN hParent,
|
||||
int WinFlags, int ExFlags, int Id);
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Standard member functions
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
#define HEADER_EnableMemdev(hObj) WM_EnableMemdev (hObj)
|
||||
#define HEADER_DisableMemdev(hObj) WM_DisableMemdev (hObj)
|
||||
#define HEADER_Delete(hObj) WM_DeleteWindow (hObj)
|
||||
#define HEADER_Paint(hObj) WM_Paint (hObj)
|
||||
#define HEADER_Invalidate(hObj) WM_InvalidateWindow(hObj)
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Global functions
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
/* Set defaults */
|
||||
GUI_COLOR HEADER_SetDefaultBkColor (GUI_COLOR Color);
|
||||
const GUI_CURSOR GUI_UNI_PTR * HEADER_SetDefaultCursor (const GUI_CURSOR * pCursor);
|
||||
const GUI_FONT GUI_UNI_PTR * HEADER_SetDefaultFont (const GUI_FONT GUI_UNI_PTR * pFont);
|
||||
int HEADER_SetDefaultBorderH (int Spacing);
|
||||
int HEADER_SetDefaultBorderV (int Spacing);
|
||||
GUI_COLOR HEADER_SetDefaultTextColor(GUI_COLOR Color);
|
||||
|
||||
/* Get defaults */
|
||||
GUI_COLOR HEADER_GetDefaultBkColor (void);
|
||||
const GUI_CURSOR GUI_UNI_PTR * HEADER_GetDefaultCursor (void);
|
||||
const GUI_FONT GUI_UNI_PTR * HEADER_GetDefaultFont (void);
|
||||
int HEADER_GetDefaultBorderH (void);
|
||||
int HEADER_GetDefaultBorderV (void);
|
||||
GUI_COLOR HEADER_GetDefaultTextColor(void);
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Member functions
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
void HEADER_AddItem (HEADER_Handle hObj, int Width, const char * s, int Align);
|
||||
void HEADER_DeleteItem (HEADER_Handle hObj, unsigned Index);
|
||||
int HEADER_GetHeight (HEADER_Handle hObj);
|
||||
int HEADER_GetItemWidth (HEADER_Handle hObj, unsigned int Index);
|
||||
int HEADER_GetNumItems (HEADER_Handle hObj);
|
||||
void HEADER_SetBitmap (HEADER_Handle hObj, unsigned int Index, const GUI_BITMAP * pBitmap);
|
||||
void HEADER_SetBitmapEx (HEADER_Handle hObj, unsigned int Index, const GUI_BITMAP * pBitmap, int x, int y);
|
||||
void HEADER_SetBkColor (HEADER_Handle hObj, GUI_COLOR Color);
|
||||
void HEADER_SetBMP (HEADER_Handle hObj, unsigned int Index, const void * pBitmap);
|
||||
void HEADER_SetBMPEx (HEADER_Handle hObj, unsigned int Index, const void * pBitmap, int x, int y);
|
||||
void HEADER_SetFont (HEADER_Handle hObj, const GUI_FONT GUI_UNI_PTR * pFont);
|
||||
void HEADER_SetHeight (HEADER_Handle hObj, int Height);
|
||||
void HEADER_SetTextAlign (HEADER_Handle hObj, unsigned int Index, int Align);
|
||||
void HEADER_SetItemText (HEADER_Handle hObj, unsigned int Index, const char * s);
|
||||
void HEADER_SetItemWidth (HEADER_Handle hObj, unsigned int Index, int Width);
|
||||
void HEADER_SetScrollPos (HEADER_Handle hObj, int ScrollPos);
|
||||
void HEADER_SetStreamedBitmap (HEADER_Handle hObj, unsigned int Index, const GUI_BITMAP_STREAM * pBitmap);
|
||||
void HEADER_SetStreamedBitmapEx(HEADER_Handle hObj, unsigned int Index, const GUI_BITMAP_STREAM * pBitmap, int x, int y);
|
||||
void HEADER_SetTextColor (HEADER_Handle hObj, GUI_COLOR Color);
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Macros for compatibility with older versions
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
#ifdef HEADER_SPACING_H
|
||||
#define HEADER_BORDER_H_DEFAULT HEADER_SPACING_H
|
||||
#endif
|
||||
#ifdef HEADER_SPACING_V
|
||||
#define HEADER_BORDER_V_DEFAULT HEADER_SPACING_V
|
||||
#endif
|
||||
#define HEADER_SetDefaultSpacingH(Value) HEADER_SetDefaultBorderH(Value)
|
||||
#define HEADER_SetDefaultSpacingV(Value) HEADER_SetDefaultBorderV(Value)
|
||||
#define HEADER_GetDefaultSpacingH() HEADER_GetDefaultBorderH()
|
||||
#define HEADER_GetDefaultSpacingV() HEADER_GetDefaultBorderV()
|
||||
|
||||
#if defined(__cplusplus)
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* if GUI_WINSUPPORT */
|
||||
#endif /* HEADER_H */
|
||||
@@ -0,0 +1,84 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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 : HEADER_Private.h
|
||||
Purpose : Private HEADER include
|
||||
--------------------END-OF-HEADER-------------------------------------
|
||||
*/
|
||||
|
||||
#ifndef HEADER_PRIVATE_H
|
||||
#define HEADER_PRIVATE_H
|
||||
|
||||
|
||||
#include "WIDGET.h"
|
||||
#include "HEADER.h"
|
||||
#include "WM.h"
|
||||
#include "GUI_ARRAY.h"
|
||||
|
||||
#if GUI_WINSUPPORT
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Macros for internal use
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
#define HEADER_ID 0x4567 /* Magic numer, should be unique if possible */
|
||||
|
||||
#define HEADER_H2P(h) (HEADER_Obj*) WM_H2P(h)
|
||||
|
||||
#if GUI_DEBUG_LEVEL > 1
|
||||
#define HEADER_ASSERT_IS_VALID_PTR(p) DEBUG_ERROROUT_IF(p->DebugId != HEADER_ID, "xxx.c: Wrong handle type or Object not init'ed")
|
||||
#define HEADER_INIT_ID(p) p->DebugId = HEADER_ID
|
||||
#define HEADER_DEINIT_ID(p) p->DebugId = HEADER_ID+1
|
||||
#else
|
||||
#define HEADER_ASSERT_IS_VALID_PTR(p)
|
||||
#define HEADER_INIT_ID(p)
|
||||
#define HEADER_DEINIT_ID(p)
|
||||
#endif
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Object definition
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
typedef struct {
|
||||
int Width;
|
||||
I16 Align;
|
||||
WM_HMEM hDrawObj;
|
||||
char acText[1];
|
||||
} HEADER_COLUMN;
|
||||
|
||||
typedef struct {
|
||||
WIDGET Widget;
|
||||
GUI_COLOR BkColor;
|
||||
GUI_COLOR TextColor;
|
||||
GUI_ARRAY Columns;
|
||||
int CapturePosX;
|
||||
int CaptureItem;
|
||||
int ScrollPos;
|
||||
const GUI_FONT GUI_UNI_PTR * pFont;
|
||||
#if (GUI_DEBUG_LEVEL > 1)
|
||||
int DebugId;
|
||||
#endif
|
||||
} HEADER_Obj;
|
||||
|
||||
void HEADER__SetDrawObj(HEADER_Handle hObj, unsigned Index, GUI_DRAW_HANDLE hDrawObj);
|
||||
|
||||
|
||||
#endif /* GUI_WINSUPPORT */
|
||||
#endif /* Avoid multiple inclusion */
|
||||
@@ -0,0 +1,538 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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 : LCD.h
|
||||
Purpose : Declares LCD interface functions
|
||||
----------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
#ifndef LCD_H
|
||||
#define LCD_H
|
||||
|
||||
#include "GUI_ConfDefaults.h" /* Used for GUI_UNI_PTR */
|
||||
|
||||
#if defined(__cplusplus)
|
||||
extern "C" { /* Make sure we have C-declarations in C++ programs */
|
||||
#endif
|
||||
|
||||
/*
|
||||
********************************************************************
|
||||
* *
|
||||
* Basic type defines *
|
||||
* *
|
||||
********************************************************************
|
||||
|
||||
The follwing are defines for types used in the LCD-driver and the
|
||||
GUI layers on top of that. Since "C" does not provide data types of
|
||||
fixed length which are identical on all platforms, this is done here.
|
||||
For most 16/32 controllers, the settings will work fine. However, if
|
||||
you have similar defines in other sections of your program, you might
|
||||
want to change or relocate these defines, e.g. in a TYPE.h file.
|
||||
*/
|
||||
|
||||
#define I8 signed char
|
||||
#define U8 unsigned char /* unsigned 8 bits. */
|
||||
#define I16 signed short /* signed 16 bits. */
|
||||
#define U16 unsigned short /* unsigned 16 bits. */
|
||||
#define I32 signed long /* signed 32 bits. */
|
||||
#define U32 unsigned long /* unsigned 32 bits. */
|
||||
#define I16P I16 /* signed 16 bits OR MORE ! */
|
||||
#define U16P U16 /* unsigned 16 bits OR MORE ! */
|
||||
|
||||
/*
|
||||
********************************************************************
|
||||
* *
|
||||
* Settings for windows simulation *
|
||||
* *
|
||||
********************************************************************
|
||||
|
||||
Some settings in the configuration may conflict with the values required
|
||||
in the Simulation. This is why we ignore the target settings for data
|
||||
types and use the correct settings for the simulation.
|
||||
(U32 could be defined as long, which would yield a 64 bit type on
|
||||
the PC)
|
||||
*/
|
||||
|
||||
#ifdef WIN32
|
||||
#pragma warning( disable : 4244 ) // Disable warning messages in simulation
|
||||
#pragma warning( disable : 4761 ) // Disable warning "integral size mismatch in argument; conversion supplied"
|
||||
#endif
|
||||
|
||||
|
||||
/* *************************************************************
|
||||
* *
|
||||
* Constants *
|
||||
* *
|
||||
*************************************************************
|
||||
*/
|
||||
#define LCD_ERR0 (0x10)
|
||||
#define LCD_ERR_CONTROLLER_NOT_FOUND (LCD_ERR0+1)
|
||||
#define LCD_ERR_MEMORY (LCD_ERR0+2)
|
||||
|
||||
/*
|
||||
*********************************
|
||||
* *
|
||||
* Drawing modes *
|
||||
* *
|
||||
*********************************
|
||||
*/
|
||||
|
||||
#define LCD_DRAWMODE_NORMAL (0)
|
||||
#define LCD_DRAWMODE_XOR (1<<0)
|
||||
#define LCD_DRAWMODE_TRANS (1<<1)
|
||||
#define LCD_DRAWMODE_REV (1<<2)
|
||||
|
||||
|
||||
|
||||
/* *************************************************************
|
||||
* *
|
||||
* Typedefs *
|
||||
* *
|
||||
*************************************************************
|
||||
*/
|
||||
|
||||
typedef int LCD_DRAWMODE;
|
||||
typedef U32 LCD_COLOR;
|
||||
|
||||
|
||||
/********************************************************
|
||||
*
|
||||
* Data structures
|
||||
*
|
||||
*********************************************************
|
||||
*/
|
||||
|
||||
typedef struct { I16P x,y; } GUI_POINT;
|
||||
typedef struct { I16 x0,y0,x1,y1; } LCD_RECT;
|
||||
/*typedef struct { GUI_POINT P0, P1; } LCD_RECT; */
|
||||
|
||||
typedef struct {
|
||||
int NumEntries;
|
||||
char HasTrans;
|
||||
const LCD_COLOR GUI_UNI_PTR * pPalEntries;
|
||||
} LCD_LOGPALETTE;
|
||||
|
||||
/* This is used for the simulation only ! */
|
||||
typedef struct {
|
||||
int x,y;
|
||||
unsigned char KeyStat;
|
||||
} LCD_tMouseState;
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Index2Color
|
||||
|
||||
This function needs to be int the public part of the software
|
||||
since it is needed by the simulation. Most other driver
|
||||
functions are hidden in the private header file.
|
||||
*/
|
||||
|
||||
typedef LCD_COLOR tLCDDEV_Index2Color (int Index);
|
||||
typedef unsigned int tLCDDEV_Color2Index (LCD_COLOR Color);
|
||||
typedef unsigned int tLCDDEV_GetIndexMask (void);
|
||||
LCD_COLOR LCD_L0_Index2Color (int Index);
|
||||
LCD_COLOR LCD_L0_1_Index2Color(int Index);
|
||||
LCD_COLOR LCD_L0_2_Index2Color(int Index);
|
||||
LCD_COLOR LCD_L0_3_Index2Color(int Index);
|
||||
LCD_COLOR LCD_L0_4_Index2Color(int Index);
|
||||
unsigned int LCD_L0_Color2Index (LCD_COLOR Color);
|
||||
unsigned int LCD_L0_1_Color2Index(LCD_COLOR Color);
|
||||
unsigned int LCD_L0_2_Color2Index(LCD_COLOR Color);
|
||||
unsigned int LCD_L0_3_Color2Index(LCD_COLOR Color);
|
||||
unsigned int LCD_L0_4_Color2Index(LCD_COLOR Color);
|
||||
unsigned int LCD_L0_GetIndexMask (void);
|
||||
unsigned int LCD_L0_1_GetIndexMask(void);
|
||||
unsigned int LCD_L0_2_GetIndexMask(void);
|
||||
unsigned int LCD_L0_3_GetIndexMask(void);
|
||||
unsigned int LCD_L0_4_GetIndexMask(void);
|
||||
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Color conversion API tables
|
||||
*/
|
||||
|
||||
typedef struct {
|
||||
tLCDDEV_Color2Index* pfColor2Index;
|
||||
tLCDDEV_Index2Color* pfIndex2Color;
|
||||
tLCDDEV_GetIndexMask* pfGetIndexMask;
|
||||
} LCD_API_COLOR_CONV;
|
||||
|
||||
extern const LCD_API_COLOR_CONV LCD_API_ColorConv_1;
|
||||
extern const LCD_API_COLOR_CONV LCD_API_ColorConv_2;
|
||||
extern const LCD_API_COLOR_CONV LCD_API_ColorConv_4;
|
||||
extern const LCD_API_COLOR_CONV LCD_API_ColorConv_8666;
|
||||
|
||||
#define GUI_COLOR_CONV_1 &LCD_API_ColorConv_1
|
||||
#define GUI_COLOR_CONV_2 &LCD_API_ColorConv_2
|
||||
#define GUI_COLOR_CONV_4 &LCD_API_ColorConv_4
|
||||
#define GUI_COLOR_CONV_8666 &LCD_API_ColorConv_8666
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* LCDDEV function table
|
||||
*
|
||||
**********************************************************************
|
||||
|
||||
Below the routines which need to in an LCDDEV routine table are
|
||||
defined. All of these routines have to be in the low-level driver
|
||||
(LCD_L0) or in the memory device which can be used to replace the
|
||||
driver.
|
||||
The one exception to this is the SetClipRect routine, which would
|
||||
be identical for all drivers and is therefor contained in the
|
||||
level above (LCD).
|
||||
*/
|
||||
typedef void tLCDDEV_DrawHLine (int x0, int y0, int x1);
|
||||
typedef void tLCDDEV_DrawVLine (int x , int y0, int y1);
|
||||
typedef void tLCDDEV_FillRect (int x0, int y0, int x1, int y1);
|
||||
typedef unsigned int tLCDDEV_GetPixelIndex(int x, int y);
|
||||
typedef void tLCDDEV_SetPixelIndex(int x, int y, int ColorIndex);
|
||||
typedef void tLCDDEV_XorPixel (int x, int y);
|
||||
typedef void tLCDDEV_FillPolygon (const GUI_POINT* pPoints, int NumPoints, int x0, int y0);
|
||||
typedef void tLCDDEV_FillPolygonAA(const GUI_POINT* pPoints, int NumPoints, int x0, int y0);
|
||||
typedef void tLCDDEV_GetRect (LCD_RECT*pRect);
|
||||
typedef int tLCDDEV_Init (void);
|
||||
typedef void tLCDDEV_On (void);
|
||||
typedef void tLCDDEV_Off (void);
|
||||
typedef void tLCDDEV_SetLUTEntry (U8 Pos, LCD_COLOR color);
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Memory device API tables
|
||||
*/
|
||||
#if GUI_COMPILER_SUPPORTS_FP
|
||||
typedef struct tLCDDEV_APIList_struct tLCDDEV_APIList;
|
||||
#endif
|
||||
|
||||
typedef void tLCDDEV_DrawBitmap (int x0, int y0, int xsize, int ysize,
|
||||
int BitsPerPixel, int BytesPerLine,
|
||||
const U8 GUI_UNI_PTR * pData, int Diff,
|
||||
const void* pTrans); /* Really LCD_PIXELINDEX, but is void to avoid compiler warnings*/
|
||||
|
||||
struct tLCDDEV_APIList_struct {
|
||||
tLCDDEV_Color2Index* pfColor2Index;
|
||||
tLCDDEV_Index2Color* pfIndex2Color;
|
||||
tLCDDEV_GetIndexMask* pfGetIndexMask;
|
||||
tLCDDEV_DrawBitmap* pfDrawBitmap;
|
||||
tLCDDEV_DrawHLine* pfDrawHLine;
|
||||
tLCDDEV_DrawVLine* pfDrawVLine;
|
||||
tLCDDEV_FillRect* pfFillRect;
|
||||
tLCDDEV_GetPixelIndex* pfGetPixelIndex;
|
||||
tLCDDEV_GetRect* pfGetRect;
|
||||
tLCDDEV_SetPixelIndex* pfSetPixelIndex;
|
||||
tLCDDEV_XorPixel* pfXorPixel;
|
||||
tLCDDEV_SetLUTEntry* pfSetLUTEntry;
|
||||
#if GUI_SUPPORT_MEMDEV
|
||||
tLCDDEV_FillPolygon* pfFillPolygon;
|
||||
tLCDDEV_FillPolygonAA* pfFillPolygonAA;
|
||||
const tLCDDEV_APIList* pMemDevAPI;
|
||||
unsigned BitsPerPixel;
|
||||
#endif
|
||||
};
|
||||
#if GUI_COMPILER_SUPPORTS_FP
|
||||
extern const struct tLCDDEV_APIList_struct GUI_MEMDEV__APIList1;
|
||||
extern const struct tLCDDEV_APIList_struct GUI_MEMDEV__APIList8;
|
||||
extern const struct tLCDDEV_APIList_struct GUI_MEMDEV__APIList16;
|
||||
|
||||
#define GUI_MEMDEV_APILIST_1 &GUI_MEMDEV__APIList1
|
||||
#define GUI_MEMDEV_APILIST_8 &GUI_MEMDEV__APIList8
|
||||
#define GUI_MEMDEV_APILIST_16 &GUI_MEMDEV__APIList16
|
||||
#endif
|
||||
|
||||
/* *************************************************************
|
||||
* *
|
||||
* Defines *
|
||||
* *
|
||||
* for device capabilities *
|
||||
* *
|
||||
*************************************************************
|
||||
|
||||
The following is the list of device capabilities which can, but do
|
||||
not have to be implemented in the driver. This way the driver can be
|
||||
enhanced in the future without affecting the driver interface,
|
||||
keeping older drivers compatible.
|
||||
More DevCaps can always be added in the future, as older drivers
|
||||
are guaranteed to return 0 for all unimplemented features or queries.
|
||||
|
||||
The values below define the legal parameters to the LCD_GetDeviceCaps
|
||||
and the LCD_GetpCapFunc routines.
|
||||
*/
|
||||
|
||||
#define LCD_DEVCAP_NUMCOLORS 0x0 /* Quest number of colors
|
||||
which LCD can display */
|
||||
#define LCD_DEVCAP_XSIZE 0x1 /* Quest horiz. res. of display */
|
||||
#define LCD_DEVCAP_YSIZE 0x2 /* Quest vert. res. of display */
|
||||
#define LCD_DEVCAP_VXSIZE 0x3 /* Quest vert. res. of virtual disp.*/
|
||||
#define LCD_DEVCAP_VYSIZE 0x4 /* Quest vert. res. of virtual disp.*/
|
||||
#define LCD_DEVCAP_XORG 0x5 /* X-origin ... usually 0 */
|
||||
#define LCD_DEVCAP_YORG 0x6 /* Y-origin ... usually 0 */
|
||||
#define LCD_DEVCAP_CONTROLLER 0x7 /* LCD Controller (Numerical) */
|
||||
#define LCD_DEVCAP_BITSPERPIXEL 0x8 /* Bits per pixel ... 1/2/4/8 */
|
||||
#define LCD_DEVCAP_NUMPAGES 0x10 /* Quest number of pages of display */
|
||||
|
||||
#define LCD_DEVCAP_COLOR 0x1000 /* Quest Color[0]
|
||||
0x1001 Quest Color[1]
|
||||
0x1002 Quest Color[2]
|
||||
... */
|
||||
/* The next 4095 entries are reserved so up to 4096 colors
|
||||
can be queried ...*/
|
||||
|
||||
int LCD_GetXSize(void);
|
||||
int LCD_GetXSize_1(void);
|
||||
int LCD_GetXSizeEx(int Index);
|
||||
|
||||
int LCD_GetYSize(void);
|
||||
int LCD_GetYSize_1(void);
|
||||
int LCD_GetYSizeEx(int Index);
|
||||
|
||||
int LCD_GetVXSize(void);
|
||||
int LCD_GetVXSize_1(void);
|
||||
int LCD_GetVXSizeEx(int Index);
|
||||
|
||||
int LCD_GetVYSize(void);
|
||||
int LCD_GetVYSize_1(void);
|
||||
int LCD_GetVYSizeEx(int Index);
|
||||
|
||||
U32 LCD_GetNumColors(void);
|
||||
U32 LCD_GetNumColors_1(void);
|
||||
U32 LCD_GetNumColorsEx(int Index);
|
||||
|
||||
int LCD_GetBitsPerPixel(void);
|
||||
int LCD_GetBitsPerPixel_1(void);
|
||||
int LCD_GetBitsPerPixelEx(int Index);
|
||||
|
||||
int LCD_GetFixedPalette(void);
|
||||
int LCD_GetFixedPalette_1(void);
|
||||
I32 LCD_GetFixedPaletteEx(int Index);
|
||||
|
||||
int LCD_GetXMag(void);
|
||||
int LCD_GetXMag_1(void);
|
||||
int LCD_GetXMagEx(int Index);
|
||||
|
||||
int LCD_GetYMag(void);
|
||||
int LCD_GetYMag_1(void);
|
||||
int LCD_GetYMagEx(int Index);
|
||||
|
||||
int LCD_GetMirrorXEx(int LayerIndex);
|
||||
int LCD_GetMirrorYEx(int LayerIndex);
|
||||
int LCD_GetSwapXYEx(int LayerIndex);
|
||||
|
||||
int LCD_GetSwapRBEx(int LayerIndex);
|
||||
int LCD_GetDeltaModeEx(int LayerIndex);
|
||||
int LCD_GetBitsPerPixel_L0Ex(int LayerIndex);
|
||||
|
||||
int LCD_GetNumLayers(void);
|
||||
|
||||
#define LCD_GetNumDisplays() LCD_GetNumLayers()
|
||||
|
||||
#define LCD_GET_XSIZE() LCD_GetXSize()
|
||||
#define LCD_GET_YSIZE() LCD_GetYSize()
|
||||
#define LCD_GET_VXSIZE() LCD_GetVXSize()
|
||||
#define LCD_GET_VYSIZE() LCD_GetVYSize()
|
||||
#define LCD_GET_NUMCOLORS() LCD_GetNumColors()
|
||||
#define LCD_GET_BITSPERPIXEL() LCD_GetBitsPerPixel()
|
||||
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* LCD_CLIP function table
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
typedef void tLCD_HL_DrawHLine (int x0, int y0, int x1);
|
||||
typedef void tLCD_HL_DrawPixel (int x0, int y0);
|
||||
|
||||
typedef struct {
|
||||
tLCD_HL_DrawHLine* pfDrawHLine;
|
||||
tLCD_HL_DrawPixel* pfDrawPixel;
|
||||
} tLCD_HL_APIList;
|
||||
|
||||
void LCD_DrawHLine(int x0, int y0, int x1);
|
||||
void LCD_DrawPixel(int x0, int y0);
|
||||
void LCD_DrawVLine (int x, int y0, int y1);
|
||||
|
||||
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Declarations for LCD_
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
void LCD_SetClipRectEx(const LCD_RECT* pRect);
|
||||
void LCD_SetClipRectMax(void);
|
||||
|
||||
/* Get device capabilities (0 if not supported) */
|
||||
I32 LCD_GetDevCap(int Index);
|
||||
|
||||
/* Initialize LCD using config-paramters */
|
||||
int LCD_Init(void);
|
||||
|
||||
void LCD_SetBkColor (LCD_COLOR Color); /* Set background color */
|
||||
void LCD_SetColor (LCD_COLOR Color); /* Set foreground color */
|
||||
void LCD_SetPixelIndex(int x, int y, int ColorIndex);
|
||||
|
||||
/* Palette routines (Not available on all drivers) */
|
||||
void LCD_InitLUT(void);
|
||||
|
||||
/* Decompressors */
|
||||
//typedef void tfDrawSpecialBitmap(int x0,int y0,int xsize, int ysize, const U8 GUI_UNI_PTR *pPixel, const LCD_LOGPALETTE GUI_UNI_PTR * pLogPal, int xMag, int yMag);
|
||||
void LCD_DrawBitmap_RLE8(int x0,int y0,int xsize, int ysize, const U8 GUI_UNI_PTR *pPixel, const LCD_LOGPALETTE GUI_UNI_PTR * pLogPal, int xMag, int yMag);
|
||||
void LCD_DrawBitmap_RLE4(int x0,int y0,int xsize, int ysize, const U8 GUI_UNI_PTR *pPixel, const LCD_LOGPALETTE GUI_UNI_PTR * pLogPal, int xMag, int yMag);
|
||||
void LCD_DrawBitmap_565 (int x0,int y0,int xsize, int ysize, const U8 GUI_UNI_PTR *pPixel, const LCD_LOGPALETTE GUI_UNI_PTR * pLogPal, int xMag, int yMag);
|
||||
void LCD_DrawBitmap_M565(int x0,int y0,int xsize, int ysize, const U8 GUI_UNI_PTR *pPixel, const LCD_LOGPALETTE GUI_UNI_PTR * pLogPal, int xMag, int yMag);
|
||||
|
||||
LCD_DRAWMODE LCD_SetDrawMode (LCD_DRAWMODE dm);
|
||||
void LCD_SetColorIndex(int Index);
|
||||
void LCD_SetBkColorIndex(int Index);
|
||||
void LCD_FillRect(int x0, int y0, int x1, int y1);
|
||||
typedef void tLCD_SetPixelAA(int x, int y, U8 Intens);
|
||||
|
||||
void LCD_SetPixelAA(int x, int y, U8 Intens);
|
||||
void LCD_SetPixelAA_NoTrans(int x, int y, U8 Intens);
|
||||
|
||||
LCD_COLOR LCD_AA_MixColors(LCD_COLOR Color, LCD_COLOR BkColor, U8 Intens);
|
||||
LCD_COLOR LCD_MixColors256(LCD_COLOR Color, LCD_COLOR BkColor, unsigned Intens);
|
||||
LCD_COLOR LCD_GetPixelColor(int x, int y); /* Get RGB color of pixel */
|
||||
unsigned int LCD_GetPixelIndex(int x, int y);
|
||||
int LCD_GetBkColorIndex (void);
|
||||
int LCD_GetColorIndex (void);
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Optional support for rotatation
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
#if GUI_SUPPORT_ROTATION
|
||||
|
||||
typedef void tLCD_DrawBitmap(int x0, int y0, int xsize, int ysize,
|
||||
int xMul, int yMul, int BitsPerPixel, int BytesPerLine,
|
||||
const U8 GUI_UNI_PTR * pPixel, const void * pTrans);
|
||||
typedef void tRect2TextRect (LCD_RECT * pRect);
|
||||
|
||||
struct tLCD_APIList_struct {
|
||||
tLCD_DrawBitmap * pfDrawBitmap;
|
||||
tRect2TextRect * pfRect2TextRect;
|
||||
};
|
||||
|
||||
typedef struct tLCD_APIList_struct tLCD_APIList;
|
||||
|
||||
extern tLCD_APIList LCD_APIListCCW;
|
||||
extern tLCD_APIList LCD_APIListCW;
|
||||
extern tLCD_APIList LCD_APIList180;
|
||||
|
||||
#define GUI_ROTATION tLCD_APIList
|
||||
#define GUI_ROTATE_CCW &LCD_APIListCCW
|
||||
#define GUI_ROTATE_CW &LCD_APIListCW
|
||||
#define GUI_ROTATE_180 &LCD_APIList180
|
||||
#define GUI_ROTATE_0 0
|
||||
#endif
|
||||
|
||||
|
||||
/* *************************************************************
|
||||
* *
|
||||
* LCD publics not used by GUI *
|
||||
* *
|
||||
*************************************************************
|
||||
|
||||
|
||||
The following functions can, but do not have to be defined in the LCD driver
|
||||
as they are not used by the GUI level.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
|
||||
#define LCD_On LCD_L0_On
|
||||
#define LCD_Off LCD_L0_Off
|
||||
#define LCD_ReInit LCD_L0_ReInit
|
||||
#define LCD_SetLUTEntry LCD_L0_SetLUTEntry
|
||||
|
||||
|
||||
#define LCD_CC_UNLOCK (0) /* Default mode: Cache is transparent */
|
||||
#define LCD_CC_LOCK (1) /* Cache is locked, no write operations */
|
||||
#define LCD_CC_FLUSH (2) /* Flush cache, do not change mode */
|
||||
U8 LCD_L0_ControlCache(U8 mode);
|
||||
U8 LCD_L0_1_ControlCache(U8 mode);
|
||||
U8 LCD_L0_2_ControlCache(U8 mode);
|
||||
U8 LCD_L0_3_ControlCache(U8 mode);
|
||||
U8 LCD_L0_4_ControlCache(U8 mode);
|
||||
void LCD_L0_Refresh(void);
|
||||
void LCD_L0_1_Refresh(void);
|
||||
void LCD_L0_2_Refresh(void);
|
||||
void LCD_L0_3_Refresh(void);
|
||||
void LCD_L0_4_Refresh(void);
|
||||
/* Check if controller is still properly initialized */
|
||||
int LCD_L0_CheckInit(void); /* returns if init is still O.K.
|
||||
by reading all available registers of
|
||||
Display controller.
|
||||
0: Init O.K.
|
||||
*/
|
||||
|
||||
#define LCD_ControlCache LCD_L0_ControlCache
|
||||
|
||||
/*
|
||||
******************************************
|
||||
* *
|
||||
* Support for paging *
|
||||
* *
|
||||
******************************************
|
||||
*/
|
||||
|
||||
int LCD_SelPage (int NewPage); /* returns formerly sel. page */
|
||||
int LCD_ShowPage (int NewPage); /* sets / returns visible page */
|
||||
int LCD_GetSelPage (void); /* returns selected page */
|
||||
int LCD_GetVisPage (void); /* returns visible page */
|
||||
|
||||
|
||||
/* *************************************************************
|
||||
* *
|
||||
* LCD imports *
|
||||
* (for routines in LCDColor) *
|
||||
* *
|
||||
*************************************************************
|
||||
*/
|
||||
|
||||
|
||||
int LCD_Color2Index (LCD_COLOR Color);
|
||||
LCD_COLOR LCD_Index2Color (int Index);
|
||||
LCD_COLOR LCD_Index2ColorEx (int i, unsigned int LayerIndex);
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* LCD_X_...
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
void LCD_X_Init(void);
|
||||
void LCD_X_On (void);
|
||||
void LCD_X_Off (void);
|
||||
|
||||
char LCD_X_Read00(void);
|
||||
char LCD_X_Read01(void);
|
||||
void LCD_X_Write00(char c);
|
||||
void LCD_X_Write01(char c);
|
||||
void LCD_X_WriteM01(char * pData, int NumBytes);
|
||||
|
||||
#if defined(__cplusplus)
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* LCD_H */
|
||||
|
||||
/*************************** End of file ****************************/
|
||||
@@ -0,0 +1,90 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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 : LCDSIM.h
|
||||
Purpose : Declares LCD interface functions
|
||||
----------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
#ifndef LCDSIM_H
|
||||
#define LCDSIM_H
|
||||
|
||||
|
||||
/************************************************************
|
||||
*
|
||||
* defines
|
||||
*
|
||||
*************************************************************
|
||||
*/
|
||||
#define LCDSIM_MAX_DISPLAYS 5
|
||||
|
||||
/************************************************************
|
||||
*
|
||||
* LCDSIM_ General declarations
|
||||
*
|
||||
*************************************************************
|
||||
*/
|
||||
|
||||
char* LCDSIM_Init(void);
|
||||
int LCDSIM_GetMouseState(LCD_tMouseState *pState);
|
||||
void LCDSIM_SetMouseState(int x, int y, int KeyStat);
|
||||
void LCDSIM_CheckMouseState(void);
|
||||
int LCDSIM_SaveBMP (const char * sFileName);
|
||||
int LCDSIM_SaveBMPEx (const char * sFileName, int x0, int y0, int xSize, int ySize);
|
||||
int LCDSIM_SaveSBMP (const char * sFileName);
|
||||
int LCDSIM_SaveSBMPEx(const char * sFileName, int x0, int y0, int xSize, int ySize);
|
||||
|
||||
/************************************************************
|
||||
*
|
||||
* LCDSIM_ Functions for each display
|
||||
*
|
||||
*************************************************************
|
||||
*/
|
||||
|
||||
void LCDSIM_FillRect(int x0, int y0, int x1, int y1, int Index, int LayerIndex);
|
||||
int LCDSIM_GetModifyCnt(int LayerIndex);
|
||||
int LCDSIM_GetModifyCntInfo(int LayerIndex);
|
||||
int LCDSIM_GetPixelColor(int x, int y, int LayerIndex);
|
||||
int LCDSIM_GetPixelIndex(int x, int y, int LayerIndex);
|
||||
int LCDSIM_Index2Color(int Index, int LayerIndex);
|
||||
int LCDSIM_RLUT_GetPixelIndex(int x, int y, int LayerIndex);
|
||||
void LCDSIM_RLUT_SetPixelIndex(int x, int y, int Index, int LayerIndex);
|
||||
void LCDSIM_SetLUTEntry(U8 Pos, LCD_COLOR color, int LayerIndex);
|
||||
void LCDSIM_SetPixelIndex(int x, int y, int Index, int LayerIndex);
|
||||
void LCDSIM_SetPixelColor(int x, int y, LCD_COLOR PixelColor, int LayerIndex);
|
||||
void LCDSIM_SetSubPixel(int x, int y, U8 Value, int LayerIndex);
|
||||
void LCDSIM_SetSubPixelPhys(int xPhys, int yPhys, int Index, int LayerIndex);
|
||||
void LCDSIM_SetPixelPhys(int x, int y, int Index, int LayerIndex);
|
||||
int LCDSIM_GetPixelPhys(int xPhys, int yPhys, int LayerIndex);
|
||||
void LCDSIM_FillRectPhys(int x0Phys, int y0Phys, int x1Phys, int y1Phys, int Index, int LayerIndex);
|
||||
|
||||
/************************************************************
|
||||
*
|
||||
* LCDSIM_ Declarations for painting in windows program
|
||||
*
|
||||
*************************************************************
|
||||
*/
|
||||
|
||||
#if defined(_WINDOWS_) | defined(_WINDOWS_H) /* if windows.h has already been included */
|
||||
void LCDSIM_Paint (HWND hWnd);
|
||||
void LCDSIM_PaintEx(HWND hWnd, LPRECT pRectDest, LPRECT pRectSrc);
|
||||
void LCDSIM_PaintAt(HWND hWnd, int x, int y);
|
||||
#endif
|
||||
|
||||
|
||||
#endif /* LCD_H */
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,756 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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 : LCD_ConfDefaults.h
|
||||
Purpose : Valid LCD configuration and defaults
|
||||
----------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
#ifndef LCD_CONFIG_DEFAULTS_H
|
||||
#define LCD_CONFIG_DEFAULTS_H
|
||||
|
||||
#include "uCGUI\Config\LCDConf.h" /* Configuration header file */
|
||||
#include "GUI_ConfDefaults.h" /* Needed for GUI_NUM_LAYERS */
|
||||
/*********************************************************************
|
||||
*
|
||||
* Map the defines for this controller
|
||||
*
|
||||
* #define LCD_<xxx> LCD_<xxx>_0
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
#ifdef LCD_CONTROLLER_0
|
||||
#define LCD_CONTROLLER LCD_CONTROLLER_0
|
||||
#endif
|
||||
|
||||
#ifdef LCD_XSIZE_0
|
||||
#define LCD_XSIZE LCD_XSIZE_0
|
||||
#endif
|
||||
|
||||
#ifdef LCD_YSIZE_0
|
||||
#define LCD_YSIZE LCD_YSIZE_0
|
||||
#endif
|
||||
|
||||
#ifdef LCD_BITSPERPIXEL_0
|
||||
#define LCD_BITSPERPIXEL LCD_BITSPERPIXEL_0
|
||||
#endif
|
||||
|
||||
#ifdef LCD_VYSIZE_0
|
||||
#define LCD_VYSIZE LCD_VYSIZE_0
|
||||
#endif
|
||||
|
||||
#ifdef LCD_MIRROR_X_0
|
||||
#define LCD_MIRROR_X LCD_MIRROR_X_0
|
||||
#endif
|
||||
|
||||
#ifdef LCD_MIRROR_Y_0
|
||||
#define LCD_MIRROR_Y LCD_MIRROR_Y_0
|
||||
#endif
|
||||
|
||||
#ifdef LCD_SWAP_XY_0
|
||||
#define LCD_SWAP_XY LCD_SWAP_XY_0
|
||||
#endif
|
||||
|
||||
#ifdef LCD_CACHE_CONTROL_0
|
||||
#define LCD_CACHE_CONTROL LCD_CACHE_CONTROL_0
|
||||
#endif
|
||||
|
||||
#ifdef LCD_FIRSTSEG0_0
|
||||
#define LCD_FIRSTSEG0 LCD_FIRSTSEG0_0
|
||||
#endif
|
||||
|
||||
#ifdef LCD_LASTSEG0_0
|
||||
#define LCD_LASTSEG0 LCD_LASTSEG0_0
|
||||
#endif
|
||||
|
||||
#ifdef LCD_FIRSTCOM0_0
|
||||
#define LCD_FIRSTCOM0 LCD_FIRSTCOM0_0
|
||||
#endif
|
||||
|
||||
#ifdef LCD_LASTCOM0_0
|
||||
#define LCD_LASTCOM0 LCD_LASTCOM0_0
|
||||
#endif
|
||||
|
||||
#ifdef LCD_BITSPERPIXEL_L0_0
|
||||
#define LCD_BITSPERPIXEL_L0 LCD_BITSPERPIXEL_0
|
||||
#endif
|
||||
|
||||
#ifdef LCD_DELTA_MODE_0
|
||||
#define LCD_DELTA_MODE LCD_DELTA_MODE_0
|
||||
#endif
|
||||
|
||||
#ifdef LCD_XORG0_0
|
||||
#define LCD_XORG0 LCD_XORG0_0
|
||||
#endif
|
||||
|
||||
#ifdef LCD_YORG0_0
|
||||
#define LCD_YORG0 LCD_YORG0_0
|
||||
#endif
|
||||
|
||||
#ifdef LCD_FIXEDPALETTE_0
|
||||
#define LCD_FIXEDPALETTE LCD_FIXEDPALETTE_0
|
||||
#endif
|
||||
|
||||
#ifdef LCD_CACHE_0
|
||||
#ifdef LCD_CACHE
|
||||
#undef LCD_CACHE
|
||||
#endif
|
||||
#define LCD_CACHE LCD_CACHE_0
|
||||
#endif
|
||||
|
||||
#ifdef LCD_CHECKBUSY_0
|
||||
#ifdef LCD_CHECKBUSY
|
||||
#undef LCD_CHECKBUSY
|
||||
#endif
|
||||
#define LCD_CHECKBUSY LCD_CHECKBUSY_0
|
||||
#endif
|
||||
|
||||
#ifdef LCD_SWAP_BYTE_ORDER_0
|
||||
#define LCD_SWAP_BYTE_ORDER LCD_SWAP_BYTE_ORDER_0
|
||||
#endif
|
||||
|
||||
#ifdef LCD_SWAP_RB_0
|
||||
#define LCD_SWAP_RB LCD_SWAP_RB_0
|
||||
#endif
|
||||
|
||||
#ifdef LCD_PHYSCOLORS_0
|
||||
#define LCD_PHYSCOLORS LCD_PHYSCOLORS_0
|
||||
#endif
|
||||
|
||||
#ifndef LCD_ALLOW_NON_OPTIMIZED_MODE
|
||||
#define LCD_ALLOW_NON_OPTIMIZED_MODE 0
|
||||
#endif
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Some error checking
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
#ifndef LCD_CONTROLLER
|
||||
#error LCD_CONTROLLER not defined !
|
||||
#endif
|
||||
|
||||
|
||||
/*******************************************************************
|
||||
*
|
||||
* Defaults for config switches
|
||||
*
|
||||
********************************************************************
|
||||
*/
|
||||
|
||||
|
||||
|
||||
#ifndef LCD_NUM_CONTROLLERS
|
||||
#define LCD_NUM_CONTROLLERS (1)
|
||||
#endif
|
||||
|
||||
#ifndef LCD_NUM_COLORS
|
||||
#define LCD_NUM_COLORS (1L<<LCD_BITSPERPIXEL)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Map the defines for controller 0 to general defines
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
/* Allow use of multiple physical lines for one logical line ...
|
||||
Used for delta-type LCDs, where value should be 2 */
|
||||
|
||||
#ifndef LCD_YMAG
|
||||
#define LCD_YMAG 1
|
||||
#endif
|
||||
#ifndef LCD_XMAG
|
||||
#define LCD_XMAG 1
|
||||
#endif
|
||||
|
||||
#ifndef LCD_VXSIZE
|
||||
#define LCD_VXSIZE (LCD_XSIZE*LCD_XMAG) /* virtual x-size */
|
||||
#endif
|
||||
#ifndef LCD_VYSIZE
|
||||
#define LCD_VYSIZE (LCD_YSIZE*LCD_YMAG) /* virtual y-size */
|
||||
#endif
|
||||
|
||||
#ifndef LCD_SWAP_BYTE_ORDER
|
||||
#define LCD_SWAP_BYTE_ORDER (0) /* only for 16 bit bus, default is not swapped */
|
||||
#endif
|
||||
|
||||
#ifndef LCD_MAX_LOG_COLORS
|
||||
#define LCD_MAX_LOG_COLORS (256)
|
||||
#endif
|
||||
|
||||
/* Optionally swap red and blue components */
|
||||
#ifndef LCD_SWAP_RB
|
||||
#define LCD_SWAP_RB 0
|
||||
#endif
|
||||
|
||||
#if !defined (LCD_CONTROLLER) && defined (LCD_CONTROLLER_0)
|
||||
#define LCD_CONTROLLER LCD_CONTROLLER_0
|
||||
#endif
|
||||
|
||||
#if !defined (LCD_XSIZE) && defined (LCD_XSIZE_0)
|
||||
#define LCD_XSIZE LCD_XSIZE_0
|
||||
#endif
|
||||
|
||||
#if !defined (LCD_YSIZE) && defined (LCD_YSIZE_0)
|
||||
#define LCD_YSIZE LCD_YSIZE_0
|
||||
#endif
|
||||
|
||||
#if !defined (LCD_BITSPERPIXEL) && defined (LCD_BITSPERPIXEL_0)
|
||||
#define LCD_BITSPERPIXEL LCD_BITSPERPIXEL_0
|
||||
#endif
|
||||
|
||||
#if !defined (LCD_VYSIZE) && defined (LCD_VYSIZE_0)
|
||||
#define LCD_VYSIZE LCD_VYSIZE_0
|
||||
#endif
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Defaults for Display 0 (first display)
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
#ifndef LCD_MIRROR_X
|
||||
#define LCD_MIRROR_X (0) /* If active: X -> -X */
|
||||
#endif
|
||||
#ifndef LCD_MIRROR_Y
|
||||
#define LCD_MIRROR_Y (0) /* If active: Y -> -Y */
|
||||
#endif
|
||||
#ifndef LCD_SWAP_XY
|
||||
#define LCD_SWAP_XY (0) /* If active: X <-> Y */
|
||||
#endif
|
||||
#ifndef LCD_BITSPERPIXEL_L0
|
||||
#define LCD_BITSPERPIXEL_L0 LCD_BITSPERPIXEL
|
||||
#endif
|
||||
#ifndef LCD_DELTA_MODE
|
||||
#define LCD_DELTA_MODE 0 /**/
|
||||
#endif
|
||||
|
||||
/* Position data for controller 0 */
|
||||
#ifndef LCD_XORG0
|
||||
#define LCD_XORG0 (0) /* leftmost position covered by this controller */
|
||||
#endif
|
||||
#ifndef LCD_YORG0
|
||||
#define LCD_YORG0 (0) /* topmost position covered by this controller */
|
||||
#endif
|
||||
#ifndef LCD_XSIZE0
|
||||
#define LCD_XSIZE0 (LCD_XSIZE) /* horizontal size covered by this controller */
|
||||
#endif
|
||||
#ifndef LCD_YSIZE0
|
||||
#define LCD_YSIZE0 (LCD_YSIZE) /* vertical size covered by this controller */
|
||||
#endif
|
||||
#ifndef LCD_FIRSTSEG0
|
||||
#define LCD_FIRSTSEG0 (0) /* first segment used by this controller */
|
||||
#endif
|
||||
#ifndef LCD_LASTSEG0
|
||||
#define LCD_LASTSEG0 (LCD_XSIZE-1) /* Contr.0: last segment line used */
|
||||
#endif
|
||||
#ifndef LCD_FIRSTCOM0
|
||||
#define LCD_FIRSTCOM0 (0) /* first com used by this controller */
|
||||
#endif
|
||||
#ifndef LCD_LASTCOM0
|
||||
#define LCD_LASTCOM0 (LCD_YSIZE-1) /* Contr.0: last com line used */
|
||||
#endif
|
||||
|
||||
#if (!LCD_SWAP_XY)
|
||||
#define LCD_XSIZE_PHYS LCD_XSIZE
|
||||
#define LCD_YSIZE_PHYS LCD_YSIZE
|
||||
#define LCD_VXSIZE_PHYS LCD_VXSIZE
|
||||
#define LCD_VYSIZE_PHYS LCD_VYSIZE
|
||||
#else
|
||||
#define LCD_XSIZE_PHYS LCD_YSIZE
|
||||
#define LCD_YSIZE_PHYS LCD_XSIZE
|
||||
#define LCD_VXSIZE_PHYS LCD_VYSIZE
|
||||
#define LCD_VYSIZE_PHYS LCD_VXSIZE
|
||||
#endif
|
||||
|
||||
|
||||
/**********************************************************
|
||||
*
|
||||
* Color settings
|
||||
*/
|
||||
#ifndef LCD_REVERSE
|
||||
#define LCD_REVERSE 0
|
||||
#endif
|
||||
|
||||
#ifndef LCD_REVERSE_LUT
|
||||
#define LCD_REVERSE_LUT 0
|
||||
#endif
|
||||
|
||||
#ifndef LCD_PHYSCOLORS_IN_RAM
|
||||
#define LCD_PHYSCOLORS_IN_RAM 0
|
||||
#endif
|
||||
|
||||
#if !defined (LCD_PHYSCOLORS)
|
||||
#if (LCD_BITSPERPIXEL == 1) | (LCD_BITSPERPIXEL == 2) | (LCD_BITSPERPIXEL == 4)
|
||||
#ifndef LCD_FIXEDPALETTE
|
||||
#define LCD_FIXEDPALETTE LCD_BITSPERPIXEL
|
||||
#endif
|
||||
#endif
|
||||
#endif /* defined (LCD_PHYSCOLORS) */
|
||||
|
||||
#if !defined (LCD_FIXEDPALETTE)
|
||||
#if !defined (LCD_PHYSCOLORS)
|
||||
#if LCD_BITSPERPIXEL == 8
|
||||
#define LCD_FIXEDPALETTE 8666
|
||||
#elif LCD_BITSPERPIXEL == 12
|
||||
#define LCD_FIXEDPALETTE 44412
|
||||
#elif LCD_BITSPERPIXEL == 15
|
||||
#define LCD_FIXEDPALETTE 555
|
||||
#elif LCD_BITSPERPIXEL == 16
|
||||
#define LCD_FIXEDPALETTE 565
|
||||
#else
|
||||
#define LCD_FIXEDPALETTE 0
|
||||
#endif
|
||||
#else
|
||||
#define LCD_FIXEDPALETTE 0
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if (LCD_BITSPERPIXEL > 8) && defined (LCD_PHYSCOLORS)
|
||||
#error List of physical colors not permitted if more than 8 bpp are used !
|
||||
#endif
|
||||
|
||||
#if (LCD_FIXEDPALETTE==0)
|
||||
#if !defined(LCD_PHYSCOLORS)
|
||||
#error You have to define a fixed palette (LCD_FIXEDPALETTE) or
|
||||
#error the list of physical colors (LCD_PHYSCOLORS) in LCDConf.h !
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
/* In order to avoid warnings for undefined parameters */
|
||||
#ifndef LCD_USE_PARA
|
||||
#define LCD_USE_PARA(para) para=para;
|
||||
#endif
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Defaults for Display 1 (second display)
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
#if GUI_NUM_LAYERS > 1
|
||||
|
||||
#ifndef LCD_MIRROR_X_1
|
||||
#define LCD_MIRROR_X_1 (0) /* If active: X -> -X */
|
||||
#endif
|
||||
#ifndef LCD_MIRROR_Y_1
|
||||
#define LCD_MIRROR_Y_1 (0) /* If active: Y -> -Y */
|
||||
#endif
|
||||
#ifndef LCD_SWAP_XY_1
|
||||
#define LCD_SWAP_XY_1 (0) /* If active: X <-> Y */
|
||||
#endif
|
||||
#ifndef LCD_BITSPERPIXEL_L0_1
|
||||
#define LCD_BITSPERPIXEL_L0_1 LCD_BITSPERPIXEL_1
|
||||
#endif
|
||||
#ifndef LCD_DELTA_MODE_1
|
||||
#define LCD_DELTA_MODE_1 0 /**/
|
||||
#endif
|
||||
|
||||
#ifndef LCD_YMAG_1
|
||||
#define LCD_YMAG_1 1
|
||||
#endif
|
||||
|
||||
#ifndef LCD_XMAG_1
|
||||
#define LCD_XMAG_1 1
|
||||
#endif
|
||||
|
||||
#ifndef LCD_VXSIZE_1
|
||||
#define LCD_VXSIZE_1 (LCD_XSIZE_1 * LCD_XMAG_1) /* virtual x-size */
|
||||
#endif
|
||||
|
||||
#ifndef LCD_VYSIZE_1
|
||||
#define LCD_VYSIZE_1 (LCD_YSIZE_1 * LCD_YMAG_1) /* virtual y-size */
|
||||
#endif
|
||||
|
||||
#ifndef LCD_NUM_COLORS_1
|
||||
#define LCD_NUM_COLORS_1 (1L<<LCD_BITSPERPIXEL_1)
|
||||
#endif
|
||||
|
||||
/* Optionally swap red and blue components */
|
||||
#ifndef LCD_SWAP_RB_1
|
||||
#define LCD_SWAP_RB_1 0
|
||||
#endif
|
||||
|
||||
/**********************************************************
|
||||
*
|
||||
* Color settings
|
||||
*/
|
||||
#ifndef LCD_REVERSE_1
|
||||
#define LCD_REVERSE_1 0
|
||||
#endif
|
||||
|
||||
#ifndef LCD_REVERSE_LUT_1
|
||||
#define LCD_REVERSE_LUT_1 0
|
||||
#endif
|
||||
|
||||
#if !defined (LCD_PHYSCOLORS_1)
|
||||
#if (LCD_BITSPERPIXEL_1 == 1) | (LCD_BITSPERPIXEL_1 == 2) | (LCD_BITSPERPIXEL_1 == 4)
|
||||
#ifndef LCD_FIXEDPALETTE_1
|
||||
#define LCD_FIXEDPALETTE_1 LCD_BITSPERPIXEL_1
|
||||
#endif
|
||||
#endif
|
||||
#endif /* defined (LCD_PHYSCOLORS) */
|
||||
|
||||
#if !defined (LCD_FIXEDPALETTE_1)
|
||||
#if !defined (LCD_PHYSCOLORS_1)
|
||||
#if LCD_BITSPERPIXEL_1 == 8
|
||||
#define LCD_FIXEDPALETTE_1 8666
|
||||
#elif LCD_BITSPERPIXEL_1 == 15
|
||||
#define LCD_FIXEDPALETTE_1 555
|
||||
#elif LCD_BITSPERPIXEL_1 == 16
|
||||
#define LCD_FIXEDPALETTE_1 565
|
||||
#else
|
||||
#define LCD_FIXEDPALETTE_1 0
|
||||
#endif
|
||||
#else
|
||||
#define LCD_FIXEDPALETTE_1 0
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if (LCD_BITSPERPIXEL_1 > 8) && defined (LCD_PHYSCOLORS_1)
|
||||
#error List of physical colors not permitted if more than 8 bpp are used !
|
||||
#endif
|
||||
|
||||
#if (LCD_FIXEDPALETTE_1 == 0)
|
||||
#if !defined(LCD_PHYSCOLORS_1)
|
||||
#error You have to define a fixed palette (LCD_FIXEDPALETTE_1) or
|
||||
#error the list of physical colors (LCD_PHYSCOLORS_1) in LCDConf.h !
|
||||
#endif
|
||||
#endif
|
||||
#endif /* GUI_NUM_LAYERS > 1 */
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Defaults for Display 2 (third display)
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
#if GUI_NUM_LAYERS > 2
|
||||
|
||||
#ifndef LCD_MIRROR_X_2
|
||||
#define LCD_MIRROR_X_2 (0) /* If active: X -> -X */
|
||||
#endif
|
||||
#ifndef LCD_MIRROR_Y_2
|
||||
#define LCD_MIRROR_Y_2 (0) /* If active: Y -> -Y */
|
||||
#endif
|
||||
#ifndef LCD_SWAP_XY_2
|
||||
#define LCD_SWAP_XY_2 (0) /* If active: X <-> Y */
|
||||
#endif
|
||||
#ifndef LCD_BITSPERPIXEL_L0_2
|
||||
#define LCD_BITSPERPIXEL_L0_2 LCD_BITSPERPIXEL_2
|
||||
#endif
|
||||
#ifndef LCD_DELTA_MODE_2
|
||||
#define LCD_DELTA_MODE_2 0 /**/
|
||||
#endif
|
||||
|
||||
#ifndef LCD_YMAG_2
|
||||
#define LCD_YMAG_2 1
|
||||
#endif
|
||||
|
||||
#ifndef LCD_XMAG_2
|
||||
#define LCD_XMAG_2 1
|
||||
#endif
|
||||
|
||||
#ifndef LCD_VXSIZE_2
|
||||
#define LCD_VXSIZE_2 (LCD_XSIZE_2 * LCD_XMAG_2) /* virtual x-size */
|
||||
#endif
|
||||
|
||||
#ifndef LCD_VYSIZE_2
|
||||
#define LCD_VYSIZE_2 (LCD_YSIZE_2 * LCD_YMAG_2) /* virtual y-size */
|
||||
#endif
|
||||
|
||||
#ifndef LCD_NUM_COLORS_2
|
||||
#define LCD_NUM_COLORS_2 (1L<<LCD_BITSPERPIXEL_2)
|
||||
#endif
|
||||
|
||||
/* Optionally swap red and blue components */
|
||||
#ifndef LCD_SWAP_RB_2
|
||||
#define LCD_SWAP_RB_2 0
|
||||
#endif
|
||||
|
||||
/**********************************************************
|
||||
*
|
||||
* Color settings
|
||||
*/
|
||||
#ifndef LCD_REVERSE_2
|
||||
#define LCD_REVERSE_2 0
|
||||
#endif
|
||||
|
||||
#ifndef LCD_REVERSE_LUT_2
|
||||
#define LCD_REVERSE_LUT_2 0
|
||||
#endif
|
||||
|
||||
#if !defined (LCD_PHYSCOLORS_2)
|
||||
#if (LCD_BITSPERPIXEL_2 == 1) | (LCD_BITSPERPIXEL_2 == 2) | (LCD_BITSPERPIXEL_2 == 4)
|
||||
#ifndef LCD_FIXEDPALETTE_2
|
||||
#define LCD_FIXEDPALETTE_2 LCD_BITSPERPIXEL_2
|
||||
#endif
|
||||
#endif
|
||||
#endif /* defined (LCD_PHYSCOLORS) */
|
||||
|
||||
#if !defined (LCD_FIXEDPALETTE_2)
|
||||
#if !defined (LCD_PHYSCOLORS_2)
|
||||
#if LCD_BITSPERPIXEL_2 == 8
|
||||
#define LCD_FIXEDPALETTE_2 8666
|
||||
#elif LCD_BITSPERPIXEL_2 == 15
|
||||
#define LCD_FIXEDPALETTE_2 555
|
||||
#elif LCD_BITSPERPIXEL_2 == 16
|
||||
#define LCD_FIXEDPALETTE_2 565
|
||||
#else
|
||||
#define LCD_FIXEDPALETTE_2 0
|
||||
#endif
|
||||
#else
|
||||
#define LCD_FIXEDPALETTE_2 0
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if (LCD_BITSPERPIXEL_2 > 8) && defined (LCD_PHYSCOLORS_2)
|
||||
#error List of physical colors not permitted if more than 8 bpp are used !
|
||||
#endif
|
||||
|
||||
#if (LCD_FIXEDPALETTE_2 == 0)
|
||||
#if !defined(LCD_PHYSCOLORS_2)
|
||||
#error You have to define a fixed palette (LCD_FIXEDPALETTE_2) or
|
||||
#error the list of physical colors (LCD_PHYSCOLORS_2) in LCDConf.h !
|
||||
#endif
|
||||
#endif
|
||||
#endif /* GUI_NUM_LAYERS > 2 */
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Defaults for Display 3 (fourth display)
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
#if GUI_NUM_LAYERS > 3
|
||||
|
||||
#ifndef LCD_MIRROR_X_3
|
||||
#define LCD_MIRROR_X_3 (0) /* If active: X -> -X */
|
||||
#endif
|
||||
#ifndef LCD_MIRROR_Y_3
|
||||
#define LCD_MIRROR_Y_3 (0) /* If active: Y -> -Y */
|
||||
#endif
|
||||
#ifndef LCD_SWAP_XY_3
|
||||
#define LCD_SWAP_XY_3 (0) /* If active: X <-> Y */
|
||||
#endif
|
||||
#ifndef LCD_BITSPERPIXEL_L0_3
|
||||
#define LCD_BITSPERPIXEL_L0_3 LCD_BITSPERPIXEL_3
|
||||
#endif
|
||||
#ifndef LCD_DELTA_MODE_3
|
||||
#define LCD_DELTA_MODE_3 0 /**/
|
||||
#endif
|
||||
|
||||
#ifndef LCD_YMAG_3
|
||||
#define LCD_YMAG_3 1
|
||||
#endif
|
||||
|
||||
#ifndef LCD_XMAG_3
|
||||
#define LCD_XMAG_3 1
|
||||
#endif
|
||||
|
||||
#ifndef LCD_VXSIZE_3
|
||||
#define LCD_VXSIZE_3 (LCD_XSIZE_3 * LCD_XMAG_3) /* virtual x-size */
|
||||
#endif
|
||||
|
||||
#ifndef LCD_VYSIZE_3
|
||||
#define LCD_VYSIZE_3 (LCD_YSIZE_3 * LCD_YMAG_3) /* virtual y-size */
|
||||
#endif
|
||||
|
||||
#ifndef LCD_NUM_COLORS_3
|
||||
#define LCD_NUM_COLORS_3 (1L<<LCD_BITSPERPIXEL_3)
|
||||
#endif
|
||||
|
||||
/* Optionally swap red and blue components */
|
||||
#ifndef LCD_SWAP_RB_3
|
||||
#define LCD_SWAP_RB_3 0
|
||||
#endif
|
||||
|
||||
/**********************************************************
|
||||
*
|
||||
* Color settings
|
||||
*/
|
||||
#ifndef LCD_REVERSE_3
|
||||
#define LCD_REVERSE_3 0
|
||||
#endif
|
||||
|
||||
#ifndef LCD_REVERSE_LUT_3
|
||||
#define LCD_REVERSE_LUT_3 0
|
||||
#endif
|
||||
|
||||
#if !defined (LCD_PHYSCOLORS_3)
|
||||
#if (LCD_BITSPERPIXEL_3 == 1) | (LCD_BITSPERPIXEL_3 == 2) | (LCD_BITSPERPIXEL_3 == 4)
|
||||
#ifndef LCD_FIXEDPALETTE_3
|
||||
#define LCD_FIXEDPALETTE_3 LCD_BITSPERPIXEL_3
|
||||
#endif
|
||||
#endif
|
||||
#endif /* defined (LCD_PHYSCOLORS) */
|
||||
|
||||
#if !defined (LCD_FIXEDPALETTE_3)
|
||||
#if !defined (LCD_PHYSCOLORS_3)
|
||||
#if LCD_BITSPERPIXEL_3 == 8
|
||||
#define LCD_FIXEDPALETTE_3 8666
|
||||
#elif LCD_BITSPERPIXEL_3 == 15
|
||||
#define LCD_FIXEDPALETTE_3 555
|
||||
#elif LCD_BITSPERPIXEL_3 == 16
|
||||
#define LCD_FIXEDPALETTE_3 565
|
||||
#else
|
||||
#define LCD_FIXEDPALETTE_3 0
|
||||
#endif
|
||||
#else
|
||||
#define LCD_FIXEDPALETTE_3 0
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if (LCD_BITSPERPIXEL_3 > 8) && defined (LCD_PHYSCOLORS_3)
|
||||
#error List of physical colors not permitted if more than 8 bpp are used !
|
||||
#endif
|
||||
|
||||
#if (LCD_FIXEDPALETTE_3 == 0)
|
||||
#if !defined(LCD_PHYSCOLORS_3)
|
||||
#error You have to define a fixed palette (LCD_FIXEDPALETTE_3) or
|
||||
#error the list of physical colors (LCD_PHYSCOLORS_3) in LCDConf.h !
|
||||
#endif
|
||||
#endif
|
||||
#endif /* GUI_NUM_LAYERS > 3 */
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Defaults for Display 4 (fiveth display)
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
#if GUI_NUM_LAYERS > 4
|
||||
|
||||
#ifndef LCD_MIRROR_X_4
|
||||
#define LCD_MIRROR_X_4 (0) /* If active: X -> -X */
|
||||
#endif
|
||||
#ifndef LCD_MIRROR_Y_4
|
||||
#define LCD_MIRROR_Y_4 (0) /* If active: Y -> -Y */
|
||||
#endif
|
||||
#ifndef LCD_SWAP_XY_4
|
||||
#define LCD_SWAP_XY_4 (0) /* If active: X <-> Y */
|
||||
#endif
|
||||
#ifndef LCD_BITSPERPIXEL_L0_4
|
||||
#define LCD_BITSPERPIXEL_L0_4 LCD_BITSPERPIXEL_4
|
||||
#endif
|
||||
#ifndef LCD_DELTA_MODE_4
|
||||
#define LCD_DELTA_MODE_4 0 /**/
|
||||
#endif
|
||||
|
||||
#ifndef LCD_YMAG_4
|
||||
#define LCD_YMAG_4 1
|
||||
#endif
|
||||
|
||||
#ifndef LCD_XMAG_4
|
||||
#define LCD_XMAG_4 1
|
||||
#endif
|
||||
|
||||
#ifndef LCD_VXSIZE_4
|
||||
#define LCD_VXSIZE_4 (LCD_XSIZE_4 * LCD_XMAG_4) /* virtual x-size */
|
||||
#endif
|
||||
|
||||
#ifndef LCD_VYSIZE_4
|
||||
#define LCD_VYSIZE_4 (LCD_YSIZE_4 * LCD_YMAG_4) /* virtual y-size */
|
||||
#endif
|
||||
|
||||
#ifndef LCD_NUM_COLORS_4
|
||||
#define LCD_NUM_COLORS_4 (1L<<LCD_BITSPERPIXEL_4)
|
||||
#endif
|
||||
|
||||
/* Optionally swap red and blue components */
|
||||
#ifndef LCD_SWAP_RB_4
|
||||
#define LCD_SWAP_RB_4 0
|
||||
#endif
|
||||
|
||||
/**********************************************************
|
||||
*
|
||||
* Color settings
|
||||
*/
|
||||
#ifndef LCD_REVERSE_4
|
||||
#define LCD_REVERSE_4 0
|
||||
#endif
|
||||
|
||||
#ifndef LCD_REVERSE_LUT_4
|
||||
#define LCD_REVERSE_LUT_4 0
|
||||
#endif
|
||||
|
||||
#if !defined (LCD_PHYSCOLORS_4)
|
||||
#if (LCD_BITSPERPIXEL_4 == 1) | (LCD_BITSPERPIXEL_4 == 2) | (LCD_BITSPERPIXEL_4 == 4)
|
||||
#ifndef LCD_FIXEDPALETTE_4
|
||||
#define LCD_FIXEDPALETTE_4 LCD_BITSPERPIXEL_4
|
||||
#endif
|
||||
#endif
|
||||
#endif /* defined (LCD_PHYSCOLORS) */
|
||||
|
||||
#if !defined (LCD_FIXEDPALETTE_4)
|
||||
#if !defined (LCD_PHYSCOLORS_4)
|
||||
#if LCD_BITSPERPIXEL_4 == 8
|
||||
#define LCD_FIXEDPALETTE_4 8666
|
||||
#elif LCD_BITSPERPIXEL_4 == 15
|
||||
#define LCD_FIXEDPALETTE_4 555
|
||||
#elif LCD_BITSPERPIXEL_4 == 16
|
||||
#define LCD_FIXEDPALETTE_4 565
|
||||
#else
|
||||
#define LCD_FIXEDPALETTE_4 0
|
||||
#endif
|
||||
#else
|
||||
#define LCD_FIXEDPALETTE_4 0
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if (LCD_BITSPERPIXEL_4 > 8) && defined (LCD_PHYSCOLORS_4)
|
||||
#error List of physical colors not permitted if more than 8 bpp are used !
|
||||
#endif
|
||||
|
||||
#if (LCD_FIXEDPALETTE_4 == 0)
|
||||
#if !defined(LCD_PHYSCOLORS_4)
|
||||
#error You have to define a fixed palette (LCD_FIXEDPALETTE_4) or
|
||||
#error the list of physical colors (LCD_PHYSCOLORS_4) in LCDConf.h !
|
||||
#endif
|
||||
#endif
|
||||
#endif /* GUI_NUM_LAYERS > 4 */
|
||||
|
||||
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Global defaults for all displays
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
|
||||
#if (LCD_BITSPERPIXEL <= 8) && (GUI_NUM_LAYERS < 2)
|
||||
#define LCD_PIXELINDEX U8
|
||||
#else
|
||||
#define LCD_PIXELINDEX U16
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif /* LCD_INTERN_H */
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,97 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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 : LCD_IncludeDriver.h
|
||||
Purpose : Glue code for including the configured driver
|
||||
---------------------------END-OF-HEADER------------------------------
|
||||
*/
|
||||
|
||||
#ifndef LCD_INCLUDEDRIVER_H
|
||||
#define LCD_INCLUDEDRIVER_H
|
||||
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Some error checking
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
#ifndef LCD_CONTROLLER
|
||||
#error LCD_CONTROLLER not defined !
|
||||
#endif
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Color conversion routines for layer <n>
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
#include "LCD_L0_Generic.c"
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Driver for layer <n>
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
#if !defined(WIN32) | defined(LCD_SIMCONTROLLER)
|
||||
#if (LCD_CONTROLLER == -2)
|
||||
#include "LCDNull.c" /* Empty driver, no output to LCD */
|
||||
#elif (LCD_CONTROLLER == -1)
|
||||
#include "LCDDummy.c" /* Empty driver, no output to LCD */
|
||||
#elif (LCD_CONTROLLER == 0)
|
||||
#if ((LCD_BITSPERPIXEL == 1) | (LCD_BITSPERPIXEL == 2))
|
||||
#include "LCDMem.c"
|
||||
#elif ((LCD_BITSPERPIXEL == 3) | (LCD_BITSPERPIXEL == 6))
|
||||
#include "LCDMemC.c"
|
||||
#else
|
||||
#error LCD Config error !
|
||||
#endif
|
||||
#elif (LCD_CONTROLLER / 100 == 4)
|
||||
#include "LCDColorOnMono.c"
|
||||
#elif (LCD_CONTROLLER / 100 == 5)
|
||||
#include "LCD501.c"
|
||||
#elif (LCD_CONTROLLER / 100 == 7)
|
||||
#include "LCD07X1.c"
|
||||
#elif (LCD_CONTROLLER / 100 == 13)
|
||||
#include "LCDLin.c"
|
||||
#elif (LCD_CONTROLLER / 100 == 15)
|
||||
#include "LCDPage1bpp.c"
|
||||
#include "LCDPage1bpp_1.c"
|
||||
#elif (LCD_CONTROLLER / 100 == 16)
|
||||
#include "LCD159A.c"
|
||||
#elif (LCD_CONTROLLER / 100 == 17)
|
||||
#include "LCD15E05.c"
|
||||
#elif (LCD_CONTROLLER / 100 == 18)
|
||||
#include "LCD1611.c"
|
||||
#elif (LCD_CONTROLLER / 100 == 32)
|
||||
#include "LCDLin32.c"
|
||||
#elif (LCD_CONTROLLER / 100 == 69)
|
||||
#include "LCDSLin.c"
|
||||
#elif (LCD_CONTROLLER / 100 == 87)
|
||||
#include "LCDFujitsu.c"
|
||||
#elif (LCD_CONTROLLER / 100 == 63)
|
||||
#include "LCD6331.c"
|
||||
#elif (LCD_CONTROLLER / 100 == 664)
|
||||
#include "LCD6642X.c"
|
||||
#else
|
||||
#error LCD Config error !
|
||||
#endif
|
||||
#else
|
||||
#include "LCDWin.c"
|
||||
#endif
|
||||
|
||||
#endif /* LCD_INCLUDEDRIVER_H */
|
||||
@@ -0,0 +1,119 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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 : LCD_Private.h
|
||||
Purpose : Internals of the LCD level
|
||||
----------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
#ifndef LCD_Private_H
|
||||
#define LCD_Private_H
|
||||
|
||||
#include "LCD_ConfDefaults.h" /* Configuration header file */
|
||||
#include "LCD_Protected.h"
|
||||
#include "GUI.h"
|
||||
|
||||
typedef struct {
|
||||
LCD_COLOR * paColor;
|
||||
I16 NumEntries;
|
||||
} LCD_LUT_INFO;
|
||||
|
||||
#if LCD_PHYSCOLORS_IN_RAM
|
||||
#if (LCD_FIXEDPALETTE == 0)
|
||||
#if (LCD_FIXEDPALETTE == 0)
|
||||
extern LCD_COLOR LCD_PhysColors[1 << LCD_BITSPERPIXEL];
|
||||
#endif
|
||||
#endif
|
||||
#if (GUI_NUM_LAYERS > 1)
|
||||
#if (LCD_FIXEDPALETTE_1 == 0)
|
||||
extern LCD_COLOR LCD_PhysColors_1[1 << LCD_BITSPERPIXEL_1];
|
||||
#endif
|
||||
#endif
|
||||
#if (GUI_NUM_LAYERS > 2)
|
||||
#if (LCD_FIXEDPALETTE_2 == 0)
|
||||
extern LCD_COLOR LCD_PhysColors_2[1 << LCD_BITSPERPIXEL_2];
|
||||
#endif
|
||||
#endif
|
||||
#if (GUI_NUM_LAYERS > 3)
|
||||
#if (LCD_FIXEDPALETTE_3 == 0)
|
||||
extern LCD_COLOR LCD_PhysColors_3[1 << LCD_BITSPERPIXEL_3];
|
||||
#endif
|
||||
#endif
|
||||
#if (GUI_NUM_LAYERS > 4)
|
||||
#if (LCD_FIXEDPALETTE_4 == 0)
|
||||
extern LCD_COLOR LCD_PhysColors_4[1 << LCD_BITSPERPIXEL_4];
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if GUI_COMPILER_SUPPORTS_FP
|
||||
|
||||
extern const struct tLCDDEV_APIList_struct * /* const */ LCD_aAPI[GUI_NUM_LAYERS];
|
||||
|
||||
const tLCDDEV_APIList* LCD_SetAPI(const tLCDDEV_APIList* pAPI, int Index);
|
||||
|
||||
#endif
|
||||
|
||||
#if (LCD_BITSPERPIXEL <= 8) && (GUI_NUM_LAYERS < 2)
|
||||
#define LCD_BKCOLORINDEX GUI_Context.LCD.aColorIndex8[0]
|
||||
#define LCD_COLORINDEX GUI_Context.LCD.aColorIndex8[1]
|
||||
#define LCD_ACOLORINDEX GUI_Context.LCD.aColorIndex8
|
||||
#else
|
||||
#define LCD_BKCOLORINDEX GUI_Context.LCD.aColorIndex16[0]
|
||||
#define LCD_COLORINDEX GUI_Context.LCD.aColorIndex16[1]
|
||||
#define LCD_ACOLORINDEX GUI_Context.LCD.aColorIndex16
|
||||
#endif
|
||||
|
||||
extern LCD_PIXELINDEX LCD__aConvTable[LCD_MAX_LOG_COLORS];
|
||||
void LCD_DrawBitmap (int x0, int y0,
|
||||
int xsize, int ysize,
|
||||
int xMul, int yMul,
|
||||
int BitsPerPixel,
|
||||
int BytesPerLine,
|
||||
const U8 GUI_UNI_PTR * pPixel,
|
||||
const LCD_PIXELINDEX* pTrans);
|
||||
void LCD_UpdateColorIndices(void);
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Support for Segment/COMLUTs
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
#define LCD_TYPE_SEGTRANS U16
|
||||
#define LCD_TYPE_COMTRANS U16
|
||||
|
||||
#ifdef LCD_LUT_COM
|
||||
#ifdef LCDCOLOR_C
|
||||
LCD_TYPE_COMTRANS LCD__aLine2Com0[LCD_YSIZE] = { LCD_LUT_COM };
|
||||
#else
|
||||
extern LCD_TYPE_COMTRANS LCD__aLine2Com0[LCD_YSIZE];
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef LCD_LUT_SEG
|
||||
#ifdef LCDCOLOR_C
|
||||
LCD_TYPE_SEGTRANS LCD__aCol2Seg0[LCD_XSIZE] = { LCD_LUT_SEG };
|
||||
#else
|
||||
extern LCD_TYPE_COMTRANS LCD__aCol2Seg0[LCD_XSIZE];
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#endif /* Avoid multiple inclusion */
|
||||
|
||||
|
||||
/*************************** End of file ****************************/
|
||||
|
||||
|
||||
@@ -0,0 +1,255 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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 : LCD_Protected.h
|
||||
Purpose : Internals of the LCD level
|
||||
----------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
#ifndef LCD_INTERN_H
|
||||
#define LCD_INTERN_H
|
||||
|
||||
#include "LCD.h"
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Data types
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
typedef struct {
|
||||
int NumEntries;
|
||||
const LCD_COLOR* pPalEntries;
|
||||
} LCD_PHYSPALETTE;
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Data
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
extern GUI_CONST_STORAGE U8 LCD_aMirror[256];
|
||||
|
||||
|
||||
/********************************************************
|
||||
*
|
||||
* Color conversion routines (used internally only !
|
||||
*
|
||||
*********************************************************
|
||||
*/
|
||||
unsigned LCD_Color2Index_User (LCD_COLOR Color);
|
||||
unsigned LCD_Color2Index_0 (LCD_COLOR Color, const LCD_PHYSPALETTE* pPhysPal);
|
||||
unsigned LCD_Color2Index_1 (LCD_COLOR Color);
|
||||
unsigned LCD_Color2Index_M1 (LCD_COLOR Color);
|
||||
unsigned LCD_Color2Index_2 (LCD_COLOR Color);
|
||||
unsigned LCD_Color2Index_M2 (LCD_COLOR Color);
|
||||
unsigned LCD_Color2Index_4 (LCD_COLOR Color);
|
||||
unsigned LCD_Color2Index_M4 (LCD_COLOR Color);
|
||||
unsigned LCD_Color2Index_111 (LCD_COLOR Color);
|
||||
unsigned LCD_Color2Index_222 (LCD_COLOR Color);
|
||||
unsigned LCD_Color2Index_233 (LCD_COLOR Color);
|
||||
unsigned LCD_Color2Index_323 (LCD_COLOR Color);
|
||||
unsigned LCD_Color2Index_332 (LCD_COLOR Color);
|
||||
unsigned LCD_Color2Index_444_12 (LCD_COLOR Color);
|
||||
unsigned LCD_Color2Index_444_12_1(LCD_COLOR Color);
|
||||
unsigned LCD_Color2Index_444_16 (LCD_COLOR Color);
|
||||
unsigned LCD_Color2Index_555 (LCD_COLOR Color);
|
||||
unsigned LCD_Color2Index_565 (LCD_COLOR Color);
|
||||
unsigned LCD_Color2Index_556 (LCD_COLOR Color);
|
||||
unsigned LCD_Color2Index_655 (LCD_COLOR Color);
|
||||
unsigned LCD_Color2Index_8666 (LCD_COLOR Color);
|
||||
unsigned LCD_Color2Index_8666_1 (LCD_COLOR Color);
|
||||
unsigned LCD_Color2Index_M111 (LCD_COLOR Color);
|
||||
unsigned LCD_Color2Index_M222 (LCD_COLOR Color);
|
||||
unsigned LCD_Color2Index_M233 (LCD_COLOR Color);
|
||||
unsigned LCD_Color2Index_M323 (LCD_COLOR Color);
|
||||
unsigned LCD_Color2Index_M332 (LCD_COLOR Color);
|
||||
unsigned LCD_Color2Index_M444_12 (LCD_COLOR Color);
|
||||
unsigned LCD_Color2Index_M444_16 (LCD_COLOR Color);
|
||||
unsigned LCD_Color2Index_M555 (LCD_COLOR Color);
|
||||
unsigned LCD_Color2Index_M565 (LCD_COLOR Color);
|
||||
unsigned LCD_Color2Index_M556 (LCD_COLOR Color);
|
||||
unsigned LCD_Color2Index_M655 (LCD_COLOR Color);
|
||||
|
||||
LCD_COLOR LCD_Index2Color_User (int Index);
|
||||
LCD_COLOR LCD_Index2Color_0 (int Index, const LCD_PHYSPALETTE* pPhysPal);
|
||||
LCD_COLOR LCD_Index2Color_1 (int Index);
|
||||
LCD_COLOR LCD_Index2Color_2 (int Index);
|
||||
LCD_COLOR LCD_Index2Color_4 (int Index);
|
||||
LCD_COLOR LCD_Index2Color_111 (int Index);
|
||||
LCD_COLOR LCD_Index2Color_222 (int Index);
|
||||
LCD_COLOR LCD_Index2Color_233 (int Index);
|
||||
LCD_COLOR LCD_Index2Color_323 (int Index);
|
||||
LCD_COLOR LCD_Index2Color_332 (int Index);
|
||||
LCD_COLOR LCD_Index2Color_444_12 (int Index);
|
||||
LCD_COLOR LCD_Index2Color_444_12_1(int Index);
|
||||
LCD_COLOR LCD_Index2Color_444_16 (int Index);
|
||||
LCD_COLOR LCD_Index2Color_555 (int Index);
|
||||
LCD_COLOR LCD_Index2Color_565 (int Index);
|
||||
LCD_COLOR LCD_Index2Color_556 (int Index);
|
||||
LCD_COLOR LCD_Index2Color_655 (int Index);
|
||||
LCD_COLOR LCD_Index2Color_8666 (int Index);
|
||||
LCD_COLOR LCD_Index2Color_8666_1 (int Index);
|
||||
LCD_COLOR LCD_Index2Color_M111 (int Index);
|
||||
LCD_COLOR LCD_Index2Color_M222 (int Index);
|
||||
LCD_COLOR LCD_Index2Color_M233 (int Index);
|
||||
LCD_COLOR LCD_Index2Color_M323 (int Index);
|
||||
LCD_COLOR LCD_Index2Color_M332 (int Index);
|
||||
LCD_COLOR LCD_Index2Color_M444_12 (int Index);
|
||||
LCD_COLOR LCD_Index2Color_M444_16 (int Index);
|
||||
LCD_COLOR LCD_Index2Color_M555 (int Index);
|
||||
LCD_COLOR LCD_Index2Color_M565 (int Index);
|
||||
LCD_COLOR LCD_Index2Color_M556 (int Index);
|
||||
LCD_COLOR LCD_Index2Color_M655 (int Index);
|
||||
|
||||
unsigned LCD_GetIndexMask_User (void);
|
||||
unsigned LCD_GetIndexMask_0 (void);
|
||||
unsigned LCD_GetIndexMask_1 (void);
|
||||
unsigned LCD_GetIndexMask_M1 (void);
|
||||
unsigned LCD_GetIndexMask_2 (void);
|
||||
unsigned LCD_GetIndexMask_M2 (void);
|
||||
unsigned LCD_GetIndexMask_4 (void);
|
||||
unsigned LCD_GetIndexMask_M4 (void);
|
||||
unsigned LCD_GetIndexMask_111 (void);
|
||||
unsigned LCD_GetIndexMask_222 (void);
|
||||
unsigned LCD_GetIndexMask_233 (void);
|
||||
unsigned LCD_GetIndexMask_323 (void);
|
||||
unsigned LCD_GetIndexMask_332 (void);
|
||||
unsigned LCD_GetIndexMask_444_12 (void);
|
||||
unsigned LCD_GetIndexMask_444_12_1(void);
|
||||
unsigned LCD_GetIndexMask_444_16 (void);
|
||||
unsigned LCD_GetIndexMask_555 (void);
|
||||
unsigned LCD_GetIndexMask_565 (void);
|
||||
unsigned LCD_GetIndexMask_556 (void);
|
||||
unsigned LCD_GetIndexMask_655 (void);
|
||||
unsigned LCD_GetIndexMask_8666 (void);
|
||||
unsigned LCD_GetIndexMask_8666_1 (void);
|
||||
unsigned LCD_GetIndexMask_M111 (void);
|
||||
unsigned LCD_GetIndexMask_M222 (void);
|
||||
unsigned LCD_GetIndexMask_M233 (void);
|
||||
unsigned LCD_GetIndexMask_M323 (void);
|
||||
unsigned LCD_GetIndexMask_M332 (void);
|
||||
unsigned LCD_GetIndexMask_M444_12 (void);
|
||||
unsigned LCD_GetIndexMask_M444_16 (void);
|
||||
unsigned LCD_GetIndexMask_M555 (void);
|
||||
unsigned LCD_GetIndexMask_M565 (void);
|
||||
unsigned LCD_GetIndexMask_M556 (void);
|
||||
unsigned LCD_GetIndexMask_M655 (void);
|
||||
|
||||
void LCD_SelectLCD(void);
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Declarations for LCD_L0_
|
||||
*
|
||||
**********************************************************************
|
||||
|
||||
Prefixes are as follows:
|
||||
LCD_L0_xxx ... Driver for first LCD
|
||||
LCD_L0_1_xxx ... Driver for second LCD/layer
|
||||
LCD_L0_2_xxx ... Driver for third LCD/layer
|
||||
LCD_L0_MAG_xxx ... Driver for first LCD, magnification level (calling LCD_L0_xxx after magnification)
|
||||
LCD_L0_DELTA_xxx ... Driver for first LCD, delta mode
|
||||
|
||||
*/
|
||||
|
||||
unsigned int LCD_L0_Color2Index (LCD_COLOR Color);
|
||||
unsigned int LCD_L0_1_Color2Index (LCD_COLOR Color);
|
||||
unsigned int LCD_L0_2_Color2Index (LCD_COLOR Color);
|
||||
unsigned int LCD_L0_3_Color2Index (LCD_COLOR Color);
|
||||
unsigned int LCD_L0_4_Color2Index (LCD_COLOR Color);
|
||||
void LCD_L0_DrawHLine (int x0, int y0, int x1);
|
||||
void LCD_L0_1_DrawHLine (int x0, int y0, int x1);
|
||||
void LCD_L0_2_DrawHLine (int x0, int y0, int x1);
|
||||
void LCD_L0_3_DrawHLine (int x0, int y0, int x1);
|
||||
void LCD_L0_4_DrawHLine (int x0, int y0, int x1);
|
||||
void LCD_L0_MAG_DrawHLine (int x0, int y0, int x1);
|
||||
void LCD_L0_DELTA_DrawHLine (int x0, int y0, int x1);
|
||||
void LCD_L0_DrawVLine (int x, int y0, int y1);
|
||||
void LCD_L0_1_DrawVLine (int x, int y0, int y1);
|
||||
void LCD_L0_2_DrawVLine (int x, int y0, int y1);
|
||||
void LCD_L0_3_DrawVLine (int x, int y0, int y1);
|
||||
void LCD_L0_4_DrawVLine (int x, int y0, int y1);
|
||||
void LCD_L0_MAG_DrawVLine (int x, int y0, int y1);
|
||||
void LCD_L0_DELTA_DrawVLine (int x, int y0, int y1);
|
||||
void LCD_L0_FillRect (int x0, int y0, int x1, int y1);
|
||||
void LCD_L0_1_FillRect (int x0, int y0, int x1, int y1);
|
||||
void LCD_L0_2_FillRect (int x0, int y0, int x1, int y1);
|
||||
void LCD_L0_3_FillRect (int x0, int y0, int x1, int y1);
|
||||
void LCD_L0_4_FillRect (int x0, int y0, int x1, int y1);
|
||||
void LCD_L0_MAG_FillRect (int x0, int y0, int x1, int y1);
|
||||
void LCD_L0_DELTA_FillRect (int x0, int y0, int x1, int y1);
|
||||
unsigned int LCD_L0_GetPixelIndex (int x, int y);
|
||||
unsigned int LCD_L0_1_GetPixelIndex (int x, int y);
|
||||
unsigned int LCD_L0_2_GetPixelIndex (int x, int y);
|
||||
unsigned int LCD_L0_3_GetPixelIndex (int x, int y);
|
||||
unsigned int LCD_L0_4_GetPixelIndex (int x, int y);
|
||||
unsigned int LCD_L0_MAG_GetPixelIndex (int x, int y);
|
||||
unsigned int LCD_L0_DELTA_GetPixelIndex (int x, int y);
|
||||
void LCD_L0_GetRect (LCD_RECT * pRect);
|
||||
void LCD_L0_1_GetRect (LCD_RECT * pRect);
|
||||
void LCD_L0_2_GetRect (LCD_RECT * pRect);
|
||||
void LCD_L0_3_GetRect (LCD_RECT * pRect);
|
||||
void LCD_L0_4_GetRect (LCD_RECT * pRect);
|
||||
void LCD_L0_SetPixelIndex (int x, int y, int ColorIndex);
|
||||
void LCD_L0_1_SetPixelIndex (int x, int y, int ColorIndex);
|
||||
void LCD_L0_2_SetPixelIndex (int x, int y, int ColorIndex);
|
||||
void LCD_L0_3_SetPixelIndex (int x, int y, int ColorIndex);
|
||||
void LCD_L0_4_SetPixelIndex (int x, int y, int ColorIndex);
|
||||
void LCD_L0_MAG_SetPixelIndex (int x, int y, int ColorIndex);
|
||||
void LCD_L0_DELTA_SetPixelIndex (int x, int y, int ColorIndex);
|
||||
void LCD_L0_XorPixel (int x, int y);
|
||||
void LCD_L0_1_XorPixel (int x, int y);
|
||||
void LCD_L0_2_XorPixel (int x, int y);
|
||||
void LCD_L0_3_XorPixel (int x, int y);
|
||||
void LCD_L0_4_XorPixel (int x, int y);
|
||||
void LCD_L0_MAG_XorPixel (int x, int y);
|
||||
void LCD_L0_DELTA_XorPixel (int x, int y);
|
||||
int LCD_L0_Init (void);
|
||||
int LCD_L0_1_Init (void);
|
||||
int LCD_L0_2_Init (void);
|
||||
int LCD_L0_3_Init (void);
|
||||
int LCD_L0_4_Init (void);
|
||||
int LCD_L0_MAG_Init (void);
|
||||
int LCD_L0_DELTA_Init (void);
|
||||
void LCD_L0_On (void);
|
||||
void LCD_L0_1_On (void);
|
||||
void LCD_L0_2_On (void);
|
||||
void LCD_L0_3_On (void);
|
||||
void LCD_L0_4_On (void);
|
||||
void LCD_L0_Off (void);
|
||||
void LCD_L0_1_Off (void);
|
||||
void LCD_L0_2_Off (void);
|
||||
void LCD_L0_3_Off (void);
|
||||
void LCD_L0_4_Off (void);
|
||||
void LCD_L0_SetLUTEntry (U8 Pos, LCD_COLOR color);
|
||||
void LCD_L0_1_SetLUTEntry (U8 Pos, LCD_COLOR color);
|
||||
void LCD_L0_2_SetLUTEntry (U8 Pos, LCD_COLOR color);
|
||||
void LCD_L0_3_SetLUTEntry (U8 Pos, LCD_COLOR color);
|
||||
void LCD_L0_4_SetLUTEntry (U8 Pos, LCD_COLOR color);
|
||||
|
||||
void LCD_L0_ReInit (void); /* Reinitialize LCD using config-paramters */
|
||||
void LCD_L0_Refresh (void); /* Refresh entire LCD */
|
||||
/* Refresh LCD partially. Could be one line, depends on what
|
||||
the LCD controller can handle efficiently */
|
||||
void LCD_L0_SetOrg (int x, int y);
|
||||
|
||||
|
||||
#endif /* LCD_INTERN_H */
|
||||
|
||||
|
||||
|
||||
/*************************** End of file ****************************/
|
||||
|
||||
@@ -0,0 +1,175 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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 : LISTBOX.h
|
||||
Purpose : LISTBOX widget include
|
||||
--------------------END-OF-HEADER-------------------------------------
|
||||
*/
|
||||
|
||||
#ifndef LISTBOX_H
|
||||
#define LISTBOX_H
|
||||
|
||||
#include "WM.h"
|
||||
#include "WIDGET.h" /* Req. for WIDGET_DRAW_ITEM_FUNC */
|
||||
#include "DIALOG_Intern.h" /* Req. for Create indirect data structure */
|
||||
|
||||
#if GUI_WINSUPPORT
|
||||
|
||||
#if defined(__cplusplus)
|
||||
extern "C" { /* Make sure we have C-declarations in C++ programs */
|
||||
#endif
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* defines
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
#define LISTBOX_ALL_ITEMS -1
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Color indices
|
||||
*/
|
||||
#define LISTBOX_CI_UNSEL 0
|
||||
#define LISTBOX_CI_SEL 1
|
||||
#define LISTBOX_CI_SELFOCUS 2
|
||||
|
||||
/************************************************************
|
||||
*
|
||||
* States
|
||||
*/
|
||||
typedef WM_HMEM LISTBOX_Handle;
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Notification codes
|
||||
*
|
||||
* The following is the list of notification codes specific to this widget,
|
||||
* Send with the WM_NOTIFY_PARENT message
|
||||
*/
|
||||
#define LISTBOX_NOTIFICATION_LOST_FOCUS (WM_NOTIFICATION_WIDGET + 0)
|
||||
|
||||
/************************************************************
|
||||
*
|
||||
* Create / Status flags
|
||||
*/
|
||||
#define LISTBOX_CF_AUTOSCROLLBAR_H (1<<0)
|
||||
#define LISTBOX_CF_AUTOSCROLLBAR_V (1<<1)
|
||||
#define LISTBOX_CF_MULTISEL (1<<2)
|
||||
#define LISTBOX_SF_AUTOSCROLLBAR_H LISTBOX_CF_AUTOSCROLLBAR_H
|
||||
#define LISTBOX_SF_AUTOSCROLLBAR_V LISTBOX_CF_AUTOSCROLLBAR_V
|
||||
#define LISTBOX_SF_MULTISEL LISTBOX_CF_MULTISEL
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Standard member functions
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
#define LISTBOX_EnableMemdev(hObj) WM_EnableMemdev(hObj)
|
||||
#define LISTBOX_DisableMemdev(hObj) WM_DisableMemdev(hObj)
|
||||
#define LISTBOX_Delete(hObj) WM_DeleteWindow(hObj)
|
||||
#define LISTBOX_Paint(hObj) WM_Paint(hObj)
|
||||
#define LISTBOX_Invalidate(hObj) WM_InvalidateWindow(hObj)
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Create functions
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
LISTBOX_Handle LISTBOX_Create (const GUI_ConstString* ppText, int x0, int y0, int xsize, int ysize, int Flags);
|
||||
LISTBOX_Handle LISTBOX_CreateAsChild (const GUI_ConstString* ppText, WM_HWIN hWinParent, int x0, int y0, int xsize, int ysize, int Flags);
|
||||
LISTBOX_Handle LISTBOX_CreateIndirect(const GUI_WIDGET_CREATE_INFO* pCreateInfo, WM_HWIN hWinParent, int x0, int y0, WM_CALLBACK* cb);
|
||||
LISTBOX_Handle LISTBOX_CreateEx (int x0, int y0, int xsize, int ysize, WM_HWIN hParent,
|
||||
int WinFlags, int ExFlags, int Id, const GUI_ConstString* ppText);
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Member functions
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
int LISTBOX_AddKey (LISTBOX_Handle hObj, int Key);
|
||||
void LISTBOX_AddString (LISTBOX_Handle hObj, const char* s);
|
||||
void LISTBOX_DecSel (LISTBOX_Handle hObj);
|
||||
void LISTBOX_DeleteItem (LISTBOX_Handle hObj, unsigned int Index);
|
||||
unsigned LISTBOX_GetItemSpacing (LISTBOX_Handle hObj);
|
||||
unsigned LISTBOX_GetNumItems (LISTBOX_Handle hObj);
|
||||
int LISTBOX_GetSel (LISTBOX_Handle hObj);
|
||||
const GUI_FONT GUI_UNI_PTR * LISTBOX_GetFont (LISTBOX_Handle hObj);
|
||||
int LISTBOX_GetItemDisabled (LISTBOX_Handle hObj, unsigned Index);
|
||||
int LISTBOX_GetItemSel (LISTBOX_Handle hObj, unsigned Index);
|
||||
void LISTBOX_GetItemText (LISTBOX_Handle hObj, unsigned Index, char * pBuffer, int MaxSize);
|
||||
int LISTBOX_GetMulti (LISTBOX_Handle hObj);
|
||||
int LISTBOX_GetScrollStepH (LISTBOX_Handle hObj);
|
||||
void LISTBOX_IncSel (LISTBOX_Handle hObj);
|
||||
void LISTBOX_InsertString (LISTBOX_Handle hObj, const char* s, unsigned int Index);
|
||||
int LISTBOX_OwnerDraw (const WIDGET_ITEM_DRAW_INFO * pDrawItemInfo);
|
||||
void LISTBOX_SetAutoScrollH (LISTBOX_Handle hObj, int OnOff);
|
||||
void LISTBOX_SetAutoScrollV (LISTBOX_Handle hObj, int OnOff);
|
||||
void LISTBOX_SetBkColor (LISTBOX_Handle hObj, unsigned int Index, GUI_COLOR color);
|
||||
void LISTBOX_SetFont (LISTBOX_Handle hObj, const GUI_FONT GUI_UNI_PTR * pFont);
|
||||
void LISTBOX_SetItemDisabled (LISTBOX_Handle hObj, unsigned Index, int OnOff);
|
||||
void LISTBOX_SetItemSel (LISTBOX_Handle hObj, unsigned Index, int OnOff);
|
||||
void LISTBOX_SetItemSpacing (LISTBOX_Handle hObj, unsigned Value);
|
||||
void LISTBOX_SetMulti (LISTBOX_Handle hObj, int Mode);
|
||||
void LISTBOX_SetOwner (LISTBOX_Handle hObj, WM_HWIN hOwner);
|
||||
void LISTBOX_SetOwnerDraw (LISTBOX_Handle hObj, WIDGET_DRAW_ITEM_FUNC * pfDrawItem);
|
||||
void LISTBOX_SetScrollStepH (LISTBOX_Handle hObj, int Value);
|
||||
void LISTBOX_SetSel (LISTBOX_Handle hObj, int Sel);
|
||||
void LISTBOX_SetScrollbarWidth(LISTBOX_Handle hObj, unsigned Width);
|
||||
void LISTBOX_SetString (LISTBOX_Handle hObj, const char* s, unsigned int Index);
|
||||
void LISTBOX_SetText (LISTBOX_Handle hObj, const GUI_ConstString* ppText);
|
||||
GUI_COLOR LISTBOX_SetTextColor (LISTBOX_Handle hObj, unsigned int Index, GUI_COLOR Color);
|
||||
int LISTBOX_UpdateScrollers (LISTBOX_Handle hObj);
|
||||
void LISTBOX_InvalidateItem (LISTBOX_Handle hObj, int Index);
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Global functions
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
const GUI_FONT GUI_UNI_PTR* LISTBOX_GetDefaultFont(void);
|
||||
int LISTBOX_GetDefaultScrollStepH (void);
|
||||
GUI_COLOR LISTBOX_GetDefaultBkColor (unsigned Index);
|
||||
GUI_COLOR LISTBOX_GetDefaultTextColor (unsigned Index);
|
||||
void LISTBOX_SetDefaultFont (const GUI_FONT GUI_UNI_PTR * pFont);
|
||||
void LISTBOX_SetDefaultScrollStepH (int Value);
|
||||
void LISTBOX_SetDefaultBkColor (unsigned Index, GUI_COLOR Color);
|
||||
void LISTBOX_SetDefaultTextColor (unsigned Index, GUI_COLOR Color);
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Compatibility to older versions
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
#define LISTBOX_SetBackColor(hObj, Index, Color) LISTBOX_SetBkColor(hObj, Index, Color)
|
||||
#define LISTBOX_DeleteString LISTBOX_DeleteItem
|
||||
|
||||
#if defined(__cplusplus)
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* GUI_WINSUPPORT */
|
||||
#endif /* LISTBOX_H */
|
||||
@@ -0,0 +1,119 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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 : LISTBOX_Private.h
|
||||
Purpose : Private LISTBOX include
|
||||
--------------------END-OF-HEADER-------------------------------------
|
||||
*/
|
||||
|
||||
#ifndef LISTBOX_PRIVATE_H
|
||||
#define LISTBOX_PRIVATE_H
|
||||
|
||||
#include "LISTBOX.h"
|
||||
#include "WM.h"
|
||||
#include "GUI_ARRAY.h"
|
||||
#include "WIDGET.h"
|
||||
|
||||
#if GUI_WINSUPPORT
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Macros for internal use
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
#define LISTBOX_H2P(h) (LISTBOX_Obj*) GUI_ALLOC_h2p(h)
|
||||
|
||||
#if GUI_DEBUG_LEVEL >1
|
||||
#define OBJECT_ID 0x4C69 /* Magic numer, should be unique if possible */
|
||||
#define ASSERT_IS_VALID_PTR(p) GUI_DEBUG_ERROROUT_IF(p->DebugId != OBJECT_ID, "EDIT.C: Wrong handle type or Object not init'ed")
|
||||
#define INIT_ID(p) p->DebugId = OBJECT_ID
|
||||
#define DEINIT_ID(p) p->DebugId = 0
|
||||
#else
|
||||
#define ASSERT_IS_VALID_PTR(p)
|
||||
#define INIT_ID(p)
|
||||
#define DEINIT_ID(p)
|
||||
#endif
|
||||
|
||||
#define LISTBOX_ITEM_SELECTED (1 << 0)
|
||||
#define LISTBOX_ITEM_DISABLED (1 << 1)
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Object definition
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
typedef struct {
|
||||
U16 xSize, ySize;
|
||||
U8 Status;
|
||||
char acText[1];
|
||||
} LISTBOX_ITEM;
|
||||
|
||||
typedef struct {
|
||||
const GUI_FONT GUI_UNI_PTR* pFont;
|
||||
U16 ScrollStepH;
|
||||
GUI_COLOR aBackColor[4];
|
||||
GUI_COLOR aTextColor[4];
|
||||
} LISTBOX_PROPS;
|
||||
|
||||
typedef struct {
|
||||
WIDGET Widget;
|
||||
GUI_ARRAY ItemArray;
|
||||
WIDGET_DRAW_ITEM_FUNC* pfDrawItem;
|
||||
WM_SCROLL_STATE ScrollStateV;
|
||||
WM_SCROLL_STATE ScrollStateH;
|
||||
LISTBOX_PROPS Props;
|
||||
WM_HWIN hOwner;
|
||||
#if GUI_DEBUG_LEVEL >1
|
||||
int DebugId;
|
||||
#endif
|
||||
I16 Sel; /* current selection */
|
||||
U8 Flags;
|
||||
U8 ScrollbarWidth;
|
||||
U16 ItemSpacing;
|
||||
} LISTBOX_Obj;
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Private (module internal) data
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
extern LISTBOX_PROPS LISTBOX_DefaultProps;
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Private (module internal) functions
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
unsigned LISTBOX__GetNumItems (const LISTBOX_Obj* pObj);
|
||||
const char* LISTBOX__GetpString (const LISTBOX_Obj* pObj, int Index);
|
||||
void LISTBOX__InvalidateInsideArea (LISTBOX_Handle hObj);
|
||||
void LISTBOX__InvalidateItem (LISTBOX_Handle hObj, const LISTBOX_Obj* pObj, int Sel);
|
||||
void LISTBOX__InvalidateItemAndBelow(LISTBOX_Handle hObj, const LISTBOX_Obj* pObj, int Sel);
|
||||
void LISTBOX__InvalidateItemSize (const LISTBOX_Obj* pObj, unsigned Index);
|
||||
void LISTBOX__SetScrollbarWidth (LISTBOX_Handle hObj, const LISTBOX_Obj* pObj);
|
||||
|
||||
#endif /* GUI_WINSUPPORT */
|
||||
|
||||
#else /* Avoid problems with empty object modules */
|
||||
void LISTBOX_C(void) {}
|
||||
#endif
|
||||
|
||||
/*************************** End of file ****************************/
|
||||
@@ -0,0 +1,127 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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 : LISTVIEW.h
|
||||
Purpose : LISTVIEW include
|
||||
--------------------END-OF-HEADER-------------------------------------
|
||||
*/
|
||||
|
||||
#ifndef LISTVIEW_H
|
||||
#define LISTVIEW_H
|
||||
|
||||
#include "WM.h"
|
||||
#include "DIALOG.h" /* Req. for Create indirect data structure */
|
||||
#include "HEADER.h"
|
||||
|
||||
#if GUI_WINSUPPORT
|
||||
|
||||
#if defined(__cplusplus)
|
||||
extern "C" { /* Make sure we have C-declarations in C++ programs */
|
||||
#endif
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Color indices
|
||||
*/
|
||||
#define LISTVIEW_CI_UNSEL 0
|
||||
#define LISTVIEW_CI_SEL 1
|
||||
#define LISTVIEW_CI_SELFOCUS 2
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Public Types
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
typedef WM_HMEM LISTVIEW_Handle;
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Create functions
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
LISTVIEW_Handle LISTVIEW_Create (int x0, int y0, int xsize, int ysize, WM_HWIN hParent, int Id, int Flags, int SpecialFlags);
|
||||
LISTVIEW_Handle LISTVIEW_CreateAttached(WM_HWIN hParent, int Id, int SpecialFlags);
|
||||
LISTVIEW_Handle LISTVIEW_CreateIndirect(const GUI_WIDGET_CREATE_INFO* pCreateInfo, WM_HWIN hWinParent, int x0, int y0, WM_CALLBACK* cb);
|
||||
LISTVIEW_Handle LISTVIEW_CreateEx (int x0, int y0, int xsize, int ysize, WM_HWIN hParent,
|
||||
int WinFlags, int ExFlags, int Id);
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Standard member functions
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
#define LISTVIEW_Delete(hObj) WM_DeleteWindow (hObj)
|
||||
#define LISTVIEW_DisableMemdev(hObj) WM_DisableMemdev (hObj)
|
||||
#define LISTVIEW_EnableMemdev(hObj) WM_EnableMemdev (hObj)
|
||||
#define LISTVIEW_Invalidate(hObj) WM_InvalidateWindow(hObj)
|
||||
#define LISTVIEW_Paint(hObj) WM_Paint (hObj)
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Member functions
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
void LISTVIEW_AddColumn (LISTVIEW_Handle hObj, int Width, const char * s, int Align);
|
||||
void LISTVIEW_AddRow (LISTVIEW_Handle hObj, const GUI_ConstString * ppText);
|
||||
void LISTVIEW_DecSel (LISTVIEW_Handle hObj);
|
||||
void LISTVIEW_DeleteColumn (LISTVIEW_Handle hObj, unsigned Index);
|
||||
void LISTVIEW_DeleteRow (LISTVIEW_Handle hObj, unsigned Index);
|
||||
GUI_COLOR LISTVIEW_GetBkColor (LISTVIEW_Handle hObj, unsigned Index);
|
||||
const GUI_FONT GUI_UNI_PTR * LISTVIEW_GetFont (LISTVIEW_Handle hObj);
|
||||
HEADER_Handle LISTVIEW_GetHeader (LISTVIEW_Handle hObj);
|
||||
unsigned LISTVIEW_GetNumColumns (LISTVIEW_Handle hObj);
|
||||
unsigned LISTVIEW_GetNumRows (LISTVIEW_Handle hObj);
|
||||
int LISTVIEW_GetSel (LISTVIEW_Handle hObj);
|
||||
GUI_COLOR LISTVIEW_GetTextColor (LISTVIEW_Handle hObj, unsigned Index);
|
||||
void LISTVIEW_IncSel (LISTVIEW_Handle hObj);
|
||||
void LISTVIEW_SetBkColor (LISTVIEW_Handle hObj, unsigned int Index, GUI_COLOR Color);
|
||||
void LISTVIEW_SetColumnWidth(LISTVIEW_Handle hObj, unsigned int Index, int Width);
|
||||
void LISTVIEW_SetFont (LISTVIEW_Handle hObj, const GUI_FONT GUI_UNI_PTR * pFont);
|
||||
int LISTVIEW_SetGridVis (LISTVIEW_Handle hObj, int Show);
|
||||
void LISTVIEW_SetItemBkColor(LISTVIEW_Handle hObj, unsigned Column, unsigned Row, unsigned int Index, GUI_COLOR Color);
|
||||
void LISTVIEW_SetItemText (LISTVIEW_Handle hObj, unsigned Column, unsigned Row, const char * s);
|
||||
void LISTVIEW_SetItemTextColor(LISTVIEW_Handle hObj, unsigned Column, unsigned Row, unsigned int Index, GUI_COLOR Color);
|
||||
void LISTVIEW_SetLBorder (LISTVIEW_Handle hObj, unsigned BorderSize);
|
||||
void LISTVIEW_SetRBorder (LISTVIEW_Handle hObj, unsigned BorderSize);
|
||||
unsigned LISTVIEW_SetRowHeight (LISTVIEW_Handle hObj, unsigned RowHeight);
|
||||
void LISTVIEW_SetSel (LISTVIEW_Handle hObj, int Sel);
|
||||
void LISTVIEW_SetTextAlign (LISTVIEW_Handle hObj, unsigned int Index, int Align);
|
||||
void LISTVIEW_SetTextColor (LISTVIEW_Handle hObj, unsigned int Index, GUI_COLOR Color);
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Global functions
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
GUI_COLOR LISTVIEW_SetDefaultBkColor (unsigned Index, GUI_COLOR Color);
|
||||
const GUI_FONT GUI_UNI_PTR * LISTVIEW_SetDefaultFont (const GUI_FONT GUI_UNI_PTR * pFont);
|
||||
GUI_COLOR LISTVIEW_SetDefaultGridColor(GUI_COLOR Color);
|
||||
GUI_COLOR LISTVIEW_SetDefaultTextColor(unsigned Index, GUI_COLOR Color);
|
||||
|
||||
#if defined(__cplusplus)
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* if GUI_WINSUPPORT */
|
||||
#endif /* LISTVIEW_H */
|
||||
@@ -0,0 +1,120 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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 : LISTVIEW_Private.h
|
||||
Purpose : Private LISTVIEW include
|
||||
--------------------END-OF-HEADER-------------------------------------
|
||||
*/
|
||||
|
||||
#ifndef LISTVIEW_PRIVATE_H
|
||||
#define LISTVIEW_PRIVATE_H
|
||||
|
||||
#include "WM.h"
|
||||
#include "LISTVIEW.h"
|
||||
#include "GUI_ARRAY.h"
|
||||
|
||||
#if GUI_WINSUPPORT
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Macros for internal use
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
#define LISTVIEW_ID 0x4567 /* Magic numer, should be unique if possible */
|
||||
|
||||
#define LISTVIEW_H2P(h) (LISTVIEW_Obj*) WM_H2P(h)
|
||||
|
||||
#if GUI_DEBUG_LEVEL > 1
|
||||
#define LISTVIEW_ASSERT_IS_VALID_PTR(p) DEBUG_ERROROUT_IF(p->DebugId != LISTVIEW_ID, "xxx.c: Wrong handle type or Object not init'ed")
|
||||
#define LISTVIEW_INIT_ID(p) p->DebugId = LISTVIEW_ID
|
||||
#define LISTVIEW_DEINIT_ID(p) p->DebugId = LISTVIEW_ID+1
|
||||
#else
|
||||
#define LISTVIEW_ASSERT_IS_VALID_PTR(p)
|
||||
#define LISTVIEW_INIT_ID(p)
|
||||
#define LISTVIEW_DEINIT_ID(p)
|
||||
#endif
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Object definition
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
typedef struct {
|
||||
GUI_COLOR aBkColor[3];
|
||||
GUI_COLOR aTextColor[3];
|
||||
} LISTVIEW_ITEM_INFO;
|
||||
|
||||
typedef struct {
|
||||
WM_HMEM hItemInfo;
|
||||
char acText[1];
|
||||
} LISTVIEW_ITEM;
|
||||
|
||||
typedef struct {
|
||||
GUI_COLOR aBkColor[3];
|
||||
GUI_COLOR aTextColor[3];
|
||||
GUI_COLOR GridColor;
|
||||
const GUI_FONT GUI_UNI_PTR * pFont;
|
||||
} LISTVIEW_PROPS;
|
||||
|
||||
typedef struct {
|
||||
WIDGET Widget;
|
||||
HEADER_Handle hHeader;
|
||||
GUI_ARRAY RowArray; /* One entry per line. Every entry is a handle of GUI_ARRAY of strings */
|
||||
GUI_ARRAY AlignArray; /* One entry per column */
|
||||
LISTVIEW_PROPS Props;
|
||||
int Sel;
|
||||
int ShowGrid;
|
||||
unsigned RowDistY;
|
||||
unsigned LBorder;
|
||||
unsigned RBorder;
|
||||
WM_SCROLL_STATE ScrollStateV;
|
||||
WM_SCROLL_STATE ScrollStateH;
|
||||
WM_HWIN hOwner;
|
||||
#if GUI_DEBUG_LEVEL > 1
|
||||
int DebugId;
|
||||
#endif
|
||||
} LISTVIEW_Obj;
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Private (module internal) data
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
extern LISTVIEW_PROPS LISTVIEW_DefaultProps;
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Private (module internal) functions
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
int LISTVIEW__UpdateScrollParas (LISTVIEW_Handle hObj, LISTVIEW_Obj* pObj);
|
||||
void LISTVIEW__InvalidateInsideArea(LISTVIEW_Handle hObj, LISTVIEW_Obj* pObj);
|
||||
unsigned LISTVIEW__GetRowDistY (const LISTVIEW_Obj* pObj);
|
||||
void LISTVIEW__InvalidateRow (LISTVIEW_Handle hObj, LISTVIEW_Obj* pObj, int Sel);
|
||||
int LISTVIEW__UpdateScrollPos (LISTVIEW_Handle hObj, LISTVIEW_Obj* pObj);
|
||||
|
||||
#endif /* GUI_WINSUPPORT */
|
||||
|
||||
#else /* Avoid problems with empty object modules */
|
||||
void LISTVIEW_C(void) {}
|
||||
#endif
|
||||
|
||||
/*************************** End of file ****************************/
|
||||
@@ -0,0 +1,198 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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 : MENU.h
|
||||
Purpose : MENU include
|
||||
--------------------END-OF-HEADER-------------------------------------
|
||||
*/
|
||||
|
||||
#ifndef MENU_H
|
||||
#define MENU_H
|
||||
|
||||
#include "WM.h"
|
||||
#include "WIDGET.h"
|
||||
#include "DIALOG_Intern.h" /* Req. for Create indirect data structure */
|
||||
|
||||
#if GUI_WINSUPPORT
|
||||
|
||||
#if defined(__cplusplus)
|
||||
extern "C" { /* Make sure we have C-declarations in C++ programs */
|
||||
#endif
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Defines
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
/*********************************************************************
|
||||
*
|
||||
* Create flags
|
||||
*/
|
||||
#define MENU_CF_HORIZONTAL (0<<0)
|
||||
#define MENU_CF_VERTICAL (1<<0)
|
||||
#define MENU_CF_OPEN_ON_POINTEROVER (1<<1)
|
||||
#define MENU_CF_CLOSE_ON_SECOND_CLICK (1<<2)
|
||||
#define MENU_CF_HIDE_DISABLED_SEL (1<<3) /* Hides the selection when a disabled item is selected */
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Menu item flags
|
||||
*/
|
||||
#define MENU_IF_DISABLED (1<<0)
|
||||
#define MENU_IF_SEPARATOR (1<<1)
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Color indices
|
||||
*/
|
||||
#define MENU_CI_ENABLED 0
|
||||
#define MENU_CI_SELECTED 1
|
||||
#define MENU_CI_DISABLED 2
|
||||
#define MENU_CI_DISABLED_SEL 3
|
||||
#define MENU_CI_ACTIVE_SUBMENU 4
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Border indices
|
||||
*/
|
||||
#define MENU_BI_LEFT 0
|
||||
#define MENU_BI_RIGHT 1
|
||||
#define MENU_BI_TOP 2
|
||||
#define MENU_BI_BOTTOM 3
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Message types
|
||||
*/
|
||||
#define MENU_ON_ITEMSELECT 0 /* Send to owner when selecting a menu item */
|
||||
#define MENU_ON_INITMENU 1 /* Send to owner when for the first time selecting a submenu */
|
||||
#define MENU_ON_INITSUBMENU 2 /* Send to owner when selecting a submenu */
|
||||
#define MENU_ON_OPEN 3 /* Internal message of menu widget (send to submenus) */
|
||||
#define MENU_ON_CLOSE 4 /* Internal message of menu widget (send to submenus) */
|
||||
#define MENU_IS_MENU 5 /* Internal message of menu widget. Owner must call */
|
||||
/* WM_DefaultProc() when not handle the message. */
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Types
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
typedef WM_HMEM MENU_Handle;
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* menu message data
|
||||
*/
|
||||
typedef struct {
|
||||
U16 MsgType;
|
||||
U16 ItemId;
|
||||
} MENU_MSG_DATA;
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* menu item data
|
||||
*/
|
||||
typedef struct {
|
||||
const char* pText;
|
||||
U16 Id;
|
||||
U16 Flags;
|
||||
MENU_Handle hSubmenu;
|
||||
} MENU_ITEM_DATA;
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Create functions
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
MENU_Handle MENU_CreateIndirect(const GUI_WIDGET_CREATE_INFO* pCreateInfo, WM_HWIN hWinParent, int x0, int y0, WM_CALLBACK* cb);
|
||||
MENU_Handle MENU_CreateEx (int x0, int y0, int xSize, int ySize, WM_HWIN hParent, int WinFlags, int ExFlags, int Id);
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Standard member functions
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
#define MENU_EnableMemdev(hObj) WM_EnableMemdev(hObj)
|
||||
#define MENU_DisableMemdev(hObj) WM_DisableMemdev(hObj)
|
||||
#define MENU_Delete(hObj) WM_DeleteWindow(hObj)
|
||||
#define MENU_Paint(hObj) WM_Paint(hObj)
|
||||
#define MENU_Invalidate(hObj) WM_InvalidateWindow(hObj)
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Individual member functions
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
void MENU_Attach (MENU_Handle hObj, WM_HWIN hDestWin, int x, int y, int xSize, int ySize, int Flags);
|
||||
void MENU_Popup (MENU_Handle hObj, WM_HWIN hDestWin, int x, int y, int xSize, int ySize, int Flags);
|
||||
void MENU_SetOwner (MENU_Handle hObj, WM_HWIN hOwner);
|
||||
|
||||
void MENU_AddItem (MENU_Handle hObj, const MENU_ITEM_DATA* pItemData);
|
||||
void MENU_DeleteItem (MENU_Handle hObj, U16 ItemId);
|
||||
void MENU_InsertItem (MENU_Handle hObj, U16 ItemId, const MENU_ITEM_DATA* pItemData);
|
||||
void MENU_SetItem (MENU_Handle hObj, U16 ItemId, const MENU_ITEM_DATA* pItemData);
|
||||
void MENU_GetItem (MENU_Handle hObj, U16 ItemId, MENU_ITEM_DATA* pItemData);
|
||||
void MENU_GetItemText (MENU_Handle hObj, U16 ItemId, char* pBuffer, unsigned BufferSize);
|
||||
unsigned MENU_GetNumItems (MENU_Handle hObj);
|
||||
|
||||
void MENU_DisableItem (MENU_Handle hObj, U16 ItemId);
|
||||
void MENU_EnableItem (MENU_Handle hObj, U16 ItemId);
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Member functions, get / set properties
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
void MENU_SetTextColor (MENU_Handle hObj, unsigned ColorIndex, GUI_COLOR Color);
|
||||
void MENU_SetBkColor (MENU_Handle hObj, unsigned ColorIndex, GUI_COLOR Color);
|
||||
void MENU_SetBorderSize (MENU_Handle hObj, unsigned BorderIndex, U8 BorderSize);
|
||||
void MENU_SetFont (MENU_Handle hObj, const GUI_FONT GUI_UNI_PTR* pFont);
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Member functions, get / set defaults
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
GUI_COLOR MENU_GetDefaultTextColor (unsigned ColorIndex);
|
||||
GUI_COLOR MENU_GetDefaultBkColor (unsigned ColorIndex);
|
||||
U8 MENU_GetDefaultBorderSize (unsigned BorderIndex);
|
||||
const WIDGET_EFFECT* MENU_GetDefaultEffect (void);
|
||||
const GUI_FONT GUI_UNI_PTR* MENU_GetDefaultFont (void);
|
||||
void MENU_SetDefaultTextColor (unsigned ColorIndex, GUI_COLOR Color);
|
||||
void MENU_SetDefaultBkColor (unsigned ColorIndex, GUI_COLOR Color);
|
||||
void MENU_SetDefaultBorderSize (unsigned BorderIndex, U8 BorderSize);
|
||||
void MENU_SetDefaultEffect (const WIDGET_EFFECT* pEffect);
|
||||
void MENU_SetDefaultFont (const GUI_FONT GUI_UNI_PTR* pFont);
|
||||
|
||||
#if defined(__cplusplus)
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* GUI_WINSUPPORT */
|
||||
#endif /* MENU_H */
|
||||
|
||||
/*************************** End of file ****************************/
|
||||
@@ -0,0 +1,131 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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 : MENU_Private.h
|
||||
Purpose : Internal header file
|
||||
---------------------------END-OF-HEADER------------------------------
|
||||
*/
|
||||
|
||||
#ifndef MENU_PRIVATE_H
|
||||
#define MENU_PRIVATE_H
|
||||
|
||||
#if GUI_WINSUPPORT
|
||||
|
||||
#include "WIDGET.h"
|
||||
#include "GUI_ARRAY.h"
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Defines
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
/*********************************************************************
|
||||
*
|
||||
* Status flags
|
||||
*/
|
||||
#define MENU_SF_HORIZONTAL MENU_CF_HORIZONTAL
|
||||
#define MENU_SF_VERTICAL MENU_CF_VERTICAL
|
||||
#define MENU_SF_OPEN_ON_POINTEROVER MENU_CF_OPEN_ON_POINTEROVER
|
||||
#define MENU_SF_CLOSE_ON_SECOND_CLICK MENU_CF_CLOSE_ON_SECOND_CLICK
|
||||
#define MENU_SF_HIDE_DISABLED_SEL MENU_CF_HIDE_DISABLED_SEL
|
||||
|
||||
#define MENU_SF_ACTIVE (1<<6) /* Internal flag only */
|
||||
#define MENU_SF_POPUP (1<<7) /* Internal flag only */
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Types
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
/*********************************************************************
|
||||
*
|
||||
* menu item
|
||||
*/
|
||||
typedef struct {
|
||||
MENU_Handle hSubmenu;
|
||||
U16 Id;
|
||||
U16 Flags;
|
||||
int TextWidth;
|
||||
char acText[1];
|
||||
} MENU_ITEM;
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* menu properties
|
||||
*/
|
||||
typedef struct {
|
||||
GUI_COLOR aTextColor[5];
|
||||
GUI_COLOR aBkColor[5];
|
||||
U8 aBorder[4];
|
||||
const GUI_FONT GUI_UNI_PTR* pFont;
|
||||
} MENU_PROPS;
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* menu object
|
||||
*/
|
||||
typedef struct {
|
||||
WIDGET Widget;
|
||||
MENU_PROPS Props;
|
||||
GUI_ARRAY ItemArray;
|
||||
WM_HWIN hOwner;
|
||||
U16 Flags;
|
||||
char IsSubmenuActive;
|
||||
int Width;
|
||||
int Height;
|
||||
int Sel;
|
||||
#if GUI_DEBUG_LEVEL >= GUI_DEBUG_LEVEL_CHECK_ALL
|
||||
int DebugId;
|
||||
#endif
|
||||
} MENU_Obj;
|
||||
|
||||
#if GUI_DEBUG_LEVEL >= GUI_DEBUG_LEVEL_CHECK_ALL
|
||||
MENU_Obj* MENU_h2p(MENU_Handle h);
|
||||
#define MENU_H2P(h) MENU_h2p(h)
|
||||
#else
|
||||
#define MENU_H2P(h) ((MENU_Obj*)GUI_ALLOC_h2p(h))
|
||||
#endif
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Public data (internal defaults)
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
extern MENU_PROPS MENU__DefaultProps;
|
||||
extern const WIDGET_EFFECT* MENU__pDefaultEffect;
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Public functions (internal)
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
void MENU__RecalcTextWidthOfItems(MENU_Obj* pObj);
|
||||
void MENU__ResizeMenu (MENU_Handle hObj, MENU_Obj* pObj);
|
||||
unsigned MENU__GetNumItems (MENU_Obj* pObj);
|
||||
char MENU__SetItem (MENU_Handle hObj, MENU_Obj* pObj, unsigned Index, const MENU_ITEM_DATA* pItemData);
|
||||
void MENU__SetItemFlags (MENU_Obj* pObj, unsigned Index, U16 Mask, U16 Flags);
|
||||
void MENU__InvalidateItem (MENU_Handle hObj, const MENU_Obj* pObj, unsigned Index);
|
||||
int MENU__FindItem (MENU_Handle hObj, U16 ItemId, MENU_Handle* phMenu);
|
||||
int MENU__SendMenuMessage (MENU_Handle hObj, WM_HWIN hDestWin, U16 MsgType, U16 ItemId);
|
||||
|
||||
#endif /* GUI_WINSUPPORT */
|
||||
#endif /* MENU_PRIVATE_H */
|
||||
|
||||
/*************************** End of file ****************************/
|
||||
@@ -0,0 +1,39 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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 : MESSAGEBOX.h
|
||||
Purpose : Message box interface
|
||||
--------------------END-OF-HEADER-------------------------------------
|
||||
*/
|
||||
|
||||
#ifndef MESSAGEBOX_H
|
||||
#define MESSAGEBOX_H
|
||||
|
||||
#include "WM.h"
|
||||
|
||||
#if GUI_WINSUPPORT
|
||||
|
||||
#if defined(__cplusplus)
|
||||
extern "C" { /* Make sure we have C-declarations in C++ programs */
|
||||
#endif
|
||||
|
||||
WM_HWIN MESSAGEBOX_Create(const char * sMessage, const char * sCaption, int Flags);
|
||||
|
||||
#if defined(__cplusplus)
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* GUI_WINSUPPORT */
|
||||
|
||||
#endif /* MESSAGEBOX */
|
||||
@@ -0,0 +1,122 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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 : MULTIEDIT.h
|
||||
Purpose : MULTIEDIT include
|
||||
--------------------END-OF-HEADER-------------------------------------
|
||||
*/
|
||||
|
||||
#ifndef MULTIEDIT_H
|
||||
#define MULTIEDIT_H
|
||||
|
||||
#include "WM.h"
|
||||
#include "DIALOG.h" /* Req. for Create indirect data structure */
|
||||
|
||||
#if GUI_WINSUPPORT
|
||||
|
||||
#if defined(__cplusplus)
|
||||
extern "C" { /* Make sure we have C-declarations in C++ programs */
|
||||
#endif
|
||||
|
||||
#define MULTIEDIT_CF_READONLY (1 << 0)
|
||||
#define MULTIEDIT_CF_INSERT (1 << 2)
|
||||
#define MULTIEDIT_CF_AUTOSCROLLBAR_V (1 << 3)
|
||||
#define MULTIEDIT_CF_AUTOSCROLLBAR_H (1 << 4)
|
||||
#define MULTIEDIT_CF_PASSWORD (1 << 5)
|
||||
|
||||
#define MULTIEDIT_SF_READONLY MULTIEDIT_CF_READONLY
|
||||
#define MULTIEDIT_SF_INSERT MULTIEDIT_CF_INSERT
|
||||
#define MULTIEDIT_SF_AUTOSCROLLBAR_V MULTIEDIT_CF_AUTOSCROLLBAR_V
|
||||
#define MULTIEDIT_SF_AUTOSCROLLBAR_H MULTIEDIT_CF_AUTOSCROLLBAR_H
|
||||
#define MULTIEDIT_SF_PASSWORD MULTIEDIT_CF_PASSWORD
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Color indices
|
||||
*/
|
||||
#define MULTIEDIT_CI_EDIT 0
|
||||
#define MULTIEDIT_CI_READONLY 1
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Public Types
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
typedef WM_HMEM MULTIEDIT_HANDLE;
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Create functions
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
MULTIEDIT_HANDLE MULTIEDIT_CreateEx (int x0, int y0, int xsize, int ysize, WM_HWIN hParent, int WinFlags, int ExFlags,
|
||||
int Id, int BufferSize, const char* pText);
|
||||
MULTIEDIT_HANDLE MULTIEDIT_Create (int x0, int y0, int xsize, int ysize, WM_HWIN hParent,
|
||||
int Id, int Flags, int ExFlags, const char* pText,
|
||||
int BufferSize);
|
||||
MULTIEDIT_HANDLE MULTIEDIT_CreateIndirect(const GUI_WIDGET_CREATE_INFO* pCreateInfo,
|
||||
WM_HWIN hWinParent, int x0, int y0, WM_CALLBACK* cb);
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Member functions
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
int MULTIEDIT_AddKey (MULTIEDIT_HANDLE hObj, U16 Key);
|
||||
void MULTIEDIT_GetPrompt (MULTIEDIT_HANDLE hObj, char* sDest, int MaxNumChars);
|
||||
int MULTIEDIT_GetTextSize (MULTIEDIT_HANDLE hObj);
|
||||
void MULTIEDIT_GetText (MULTIEDIT_HANDLE hObj, char* sDest, int MaxNumChars);
|
||||
void MULTIEDIT_SetAutoScrollH (MULTIEDIT_HANDLE hObj, int OnOff);
|
||||
void MULTIEDIT_SetAutoScrollV (MULTIEDIT_HANDLE hObj, int OnOff);
|
||||
void MULTIEDIT_SetBkColor (MULTIEDIT_HANDLE hObj, unsigned Index, GUI_COLOR color);
|
||||
void MULTIEDIT_SetCursorCharPos (MULTIEDIT_HANDLE hObj, int x, int y); /* Not yet implemented */
|
||||
void MULTIEDIT_SetCursorPixelPos(MULTIEDIT_HANDLE hObj, int x, int y); /* Not yet implemented */
|
||||
void MULTIEDIT_SetCursorOffset (MULTIEDIT_HANDLE hObj, int Offset);
|
||||
void MULTIEDIT_SetHBorder (MULTIEDIT_HANDLE hObj, unsigned HBorder);
|
||||
void MULTIEDIT_SetFont (MULTIEDIT_HANDLE hObj, const GUI_FONT GUI_UNI_PTR * pFont);
|
||||
void MULTIEDIT_SetInsertMode (MULTIEDIT_HANDLE hObj, int OnOff);
|
||||
void MULTIEDIT_SetBufferSize (MULTIEDIT_HANDLE hObj, int BufferSize);
|
||||
void MULTIEDIT_SetMaxNumChars (MULTIEDIT_HANDLE hObj, unsigned MaxNumChars);
|
||||
void MULTIEDIT_SetPrompt (MULTIEDIT_HANDLE hObj, const char* sPrompt);
|
||||
void MULTIEDIT_SetReadOnly (MULTIEDIT_HANDLE hObj, int OnOff);
|
||||
void MULTIEDIT_SetPasswordMode (MULTIEDIT_HANDLE hObj, int OnOff);
|
||||
void MULTIEDIT_SetText (MULTIEDIT_HANDLE hObj, const char* s);
|
||||
void MULTIEDIT_SetTextColor (MULTIEDIT_HANDLE hObj, unsigned Index, GUI_COLOR color);
|
||||
void MULTIEDIT_SetWrapNone (MULTIEDIT_HANDLE hObj);
|
||||
void MULTIEDIT_SetWrapChar (MULTIEDIT_HANDLE hObj);
|
||||
void MULTIEDIT_SetWrapWord (MULTIEDIT_HANDLE hObj);
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Macros for compatibility with older versions
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
#define MULTIEDIT_SetMaxLen(hObj, MaxLen) MULTIEDIT_SetBufferSize(hObj, MaxLen)
|
||||
#define MULTIEDIT_GetStringSize MULTIEDIT_GetTextSize
|
||||
|
||||
#if defined(__cplusplus)
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* if GUI_WINSUPPORT */
|
||||
|
||||
#endif /* MULTIEDIT_H */
|
||||
@@ -0,0 +1,113 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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 : MULTIPAGE.h
|
||||
Purpose : MULTIPAGE include
|
||||
--------------------END-OF-HEADER-------------------------------------
|
||||
*/
|
||||
|
||||
#ifndef MULTIPAGE_H
|
||||
#define MULTIPAGE_H
|
||||
|
||||
#include "WM.h"
|
||||
#include "DIALOG.h" /* Req. for Create indirect data structure */
|
||||
|
||||
#if GUI_WINSUPPORT
|
||||
|
||||
#if defined(__cplusplus)
|
||||
extern "C" { /* Make sure we have C-declarations in C++ programs */
|
||||
#endif
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* defines
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
/*********************************************************************
|
||||
*
|
||||
* Create / Status flags
|
||||
*/
|
||||
|
||||
#define MULTIPAGE_ALIGN_LEFT (0<<0)
|
||||
#define MULTIPAGE_ALIGN_RIGHT (1<<0)
|
||||
#define MULTIPAGE_ALIGN_TOP (0<<2)
|
||||
#define MULTIPAGE_ALIGN_BOTTOM (1<<2)
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Public Types
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
typedef WM_HMEM MULTIPAGE_Handle;
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Create functions
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
MULTIPAGE_Handle MULTIPAGE_Create (int x0, int y0, int xsize, int ysize, WM_HWIN hParent, int Id, int Flags, int SpecialFlags);
|
||||
MULTIPAGE_Handle MULTIPAGE_CreateIndirect(const GUI_WIDGET_CREATE_INFO* pCreateInfo, WM_HWIN hWinParent, int x0, int y0, WM_CALLBACK* cb);
|
||||
MULTIPAGE_Handle MULTIPAGE_CreateEx (int x0, int y0, int xsize, int ysize, WM_HWIN hParent,
|
||||
int WinFlags, int ExFlags, int Id);
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Member functions
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
/* Methods changing properties */
|
||||
void MULTIPAGE_AddPage (MULTIPAGE_Handle hObj, WM_HWIN hWin ,const char* pText);
|
||||
void MULTIPAGE_DeletePage (MULTIPAGE_Handle hObj, unsigned Index, int Delete);
|
||||
void MULTIPAGE_SelectPage (MULTIPAGE_Handle hObj, unsigned Index);
|
||||
void MULTIPAGE_EnablePage (MULTIPAGE_Handle hObj, unsigned Index);
|
||||
void MULTIPAGE_DisablePage (MULTIPAGE_Handle hObj, unsigned Index);
|
||||
void MULTIPAGE_SetText (MULTIPAGE_Handle hObj, const char* pText, unsigned Index);
|
||||
void MULTIPAGE_SetBkColor (MULTIPAGE_Handle hObj, GUI_COLOR Color, unsigned Index);
|
||||
void MULTIPAGE_SetTextColor (MULTIPAGE_Handle hObj, GUI_COLOR Color, unsigned Index);
|
||||
void MULTIPAGE_SetFont (MULTIPAGE_Handle hObj, const GUI_FONT GUI_UNI_PTR * pFont);
|
||||
void MULTIPAGE_SetAlign (MULTIPAGE_Handle hObj, unsigned Align);
|
||||
int MULTIPAGE_GetSelection (MULTIPAGE_Handle hObj);
|
||||
WM_HWIN MULTIPAGE_GetWindow (MULTIPAGE_Handle hObj, unsigned Index);
|
||||
int MULTIPAGE_IsPageEnabled (MULTIPAGE_Handle hObj, unsigned Index);
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Get/Set defaults
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
unsigned MULTIPAGE_GetDefaultAlign(void);
|
||||
GUI_COLOR MULTIPAGE_GetDefaultBkColor(unsigned Index);
|
||||
const GUI_FONT GUI_UNI_PTR * MULTIPAGE_GetDefaultFont(void);
|
||||
GUI_COLOR MULTIPAGE_GetDefaultTextColor(unsigned Index);
|
||||
|
||||
void MULTIPAGE_SetDefaultAlign(unsigned Align);
|
||||
void MULTIPAGE_SetDefaultBkColor(GUI_COLOR Color, unsigned Index);
|
||||
void MULTIPAGE_SetDefaultFont(const GUI_FONT GUI_UNI_PTR * pFont);
|
||||
void MULTIPAGE_SetDefaultTextColor(GUI_COLOR Color, unsigned Index);
|
||||
|
||||
#if defined(__cplusplus)
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* if GUI_WINSUPPORT */
|
||||
#endif /* MULTIPAGE_H */
|
||||
@@ -0,0 +1,61 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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 : MULTIPAGE_Private.h
|
||||
Purpose : Private MULTIPAGE include
|
||||
--------------------END-OF-HEADER-------------------------------------
|
||||
*/
|
||||
|
||||
#ifndef MULTIPAGE_PRIVATE_H
|
||||
|
||||
#include "GUIDebug.h"
|
||||
#include "MULTIPAGE.h"
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Macros for internal use
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
#define MULTIPAGE_STATE_ENABLED (1<<0)
|
||||
#define MULTIPAGE_STATE_SCROLLMODE WIDGET_STATE_USER0
|
||||
|
||||
#define MULTIPAGE_ID 0x4544 /* Magic number, should be unique if possible */
|
||||
|
||||
#define MULTIPAGE_H2P(h) (MULTIPAGE_Obj*) WM_H2P(h)
|
||||
|
||||
#if GUI_DEBUG_LEVEL > 1
|
||||
#define MULTIPAGE_ASSERT_IS_VALID_PTR(p) GUI_DEBUG_ERROROUT_IF(p->DebugId != MULTIPAGE_ID, "MULTIPAGE.c: Wrong handle type or Object not init'ed")
|
||||
#define MULTIPAGE_INIT_ID(p) p->DebugId = MULTIPAGE_ID
|
||||
#define MULTIPAGE_DEINIT_ID(p) p->DebugId = MULTIPAGE_ID+1
|
||||
#else
|
||||
#define MULTIPAGE_ASSERT_IS_VALID_PTR(p)
|
||||
#define MULTIPAGE_INIT_ID(p)
|
||||
#define MULTIPAGE_DEINIT_ID(p)
|
||||
#endif
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Externals
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
extern const GUI_FONT GUI_UNI_PTR * MULTIPAGE__pDefaultFont;
|
||||
extern unsigned MULTIPAGE__DefaultAlign;
|
||||
extern GUI_COLOR MULTIPAGE__DefaultBkColor[2];
|
||||
extern GUI_COLOR MULTIPAGE__DefaultTextColor[2];
|
||||
|
||||
#endif /* MULTIPAGE_PRIVATE_H */
|
||||
@@ -0,0 +1,82 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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 : PROGBAR.h
|
||||
Purpose : Progressbar include
|
||||
--------------------END-OF-HEADER-------------------------------------
|
||||
*/
|
||||
|
||||
#ifndef PROGBAR_H /* Avoid multiple inclusion */
|
||||
#define PROGBAR_H
|
||||
|
||||
#include "WM.h"
|
||||
#include "DIALOG_Intern.h" /* Req. for Create indirect data structure */
|
||||
|
||||
#if GUI_WINSUPPORT
|
||||
|
||||
#if defined(__cplusplus)
|
||||
extern "C" { /* Make sure we have C-declarations in C++ programs */
|
||||
#endif
|
||||
|
||||
typedef WM_HMEM PROGBAR_Handle;
|
||||
|
||||
|
||||
/************************************************************
|
||||
*
|
||||
* Create
|
||||
*
|
||||
*************************************************************
|
||||
*/
|
||||
|
||||
PROGBAR_Handle PROGBAR_Create (int x0, int y0, int xsize, int ysize, int Flags);
|
||||
PROGBAR_Handle PROGBAR_CreateAsChild (int x0, int y0, int xsize, int ysize, WM_HWIN hParent, int Id, int Flags);
|
||||
PROGBAR_Handle PROGBAR_CreateIndirect(const GUI_WIDGET_CREATE_INFO* pCreateInfo, WM_HWIN hWinParent, int x0, int y0, WM_CALLBACK* cb);
|
||||
PROGBAR_Handle PROGBAR_CreateEx (int x0, int y0, int xsize, int ysize, WM_HWIN hParent,
|
||||
int WinFlags, int ExFlags, int Id);
|
||||
|
||||
/************************************************************
|
||||
*
|
||||
* Standard member functions
|
||||
*
|
||||
*************************************************************
|
||||
*/
|
||||
|
||||
#define PROGBAR_EnableMemdev(hObj) WM_EnableMemdev(hObj)
|
||||
#define PROGBAR_DisableMemdev(hObj) WM_DisableMemdev(hObj)
|
||||
#define PROGBAR_Delete(hObj) WM_DeleteWindow(hObj)
|
||||
#define PROGBAR_Paint(hObj) WM_Paint(hObj)
|
||||
|
||||
|
||||
/************************************************************
|
||||
*
|
||||
* Individual member functions
|
||||
*
|
||||
*************************************************************
|
||||
*/
|
||||
|
||||
void PROGBAR_SetBarColor (PROGBAR_Handle hObj, unsigned int index, GUI_COLOR color);
|
||||
void PROGBAR_SetFont (PROGBAR_Handle hObj, const GUI_FONT GUI_UNI_PTR * pfont);
|
||||
void PROGBAR_SetMinMax (PROGBAR_Handle hObj, int Min, int Max);
|
||||
void PROGBAR_SetText (PROGBAR_Handle hObj, const char* s);
|
||||
void PROGBAR_SetTextAlign(PROGBAR_Handle hObj, int Align);
|
||||
void PROGBAR_SetTextColor(PROGBAR_Handle hObj, unsigned int index, GUI_COLOR color);
|
||||
void PROGBAR_SetTextPos (PROGBAR_Handle hObj, int XOff, int YOff);
|
||||
void PROGBAR_SetValue (PROGBAR_Handle hObj, int v);
|
||||
|
||||
#if defined(__cplusplus)
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* GUI_WINSUPPORT */
|
||||
#endif /* PROGBAR_H */
|
||||
@@ -0,0 +1,128 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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 : RADIO.h
|
||||
Purpose : RADIO include
|
||||
--------------------END-OF-HEADER-------------------------------------
|
||||
*/
|
||||
|
||||
#ifndef RADIO_H
|
||||
#define RADIO_H
|
||||
|
||||
#include "WM.h"
|
||||
#include "DIALOG_Intern.h" /* Req. for Create indirect data structure */
|
||||
|
||||
#if GUI_WINSUPPORT
|
||||
|
||||
#if defined(__cplusplus)
|
||||
extern "C" { /* Make sure we have C-declarations in C++ programs */
|
||||
#endif
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Bitmap indices
|
||||
*/
|
||||
#define RADIO_BI_INACTIV 0
|
||||
#define RADIO_BI_ACTIV 1
|
||||
#define RADIO_BI_CHECK 2
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Defaults for public configuration switches
|
||||
*
|
||||
**********************************************************************
|
||||
|
||||
The following are defaults for config switches which affect the
|
||||
interface specified in this module
|
||||
*/
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* defines
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
#define RADIO_TEXTPOS_RIGHT 0
|
||||
#define RADIO_TEXTPOS_LEFT WIDGET_STATE_USER0 /* Not implemented, TBD */
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Public Types
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
typedef WM_HMEM RADIO_Handle;
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Create functions
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
RADIO_Handle RADIO_Create (int x0, int y0, int xsize, int ysize, WM_HWIN hParent, int Id, int Flags, unsigned Para);
|
||||
RADIO_Handle RADIO_CreateIndirect(const GUI_WIDGET_CREATE_INFO* pCreateInfo, WM_HWIN hWinParent, int x0, int y0, WM_CALLBACK* cb);
|
||||
RADIO_Handle RADIO_CreateEx (int x0, int y0, int xsize, int ysize, WM_HWIN hParent,
|
||||
int WinFlags, int ExFlags, int Id, int NumItems, int Spacing);
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Standard member functions
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
void RADIO_SetDefaultFont (const GUI_FONT GUI_UNI_PTR* pFont);
|
||||
void RADIO_SetDefaultImage (const GUI_BITMAP * pBitmap, unsigned int Index);
|
||||
void RADIO_SetDefaultTextColor (GUI_COLOR TextColor);
|
||||
|
||||
const GUI_FONT GUI_UNI_PTR* RADIO_GetDefaultFont (void);
|
||||
GUI_COLOR RADIO_GetDefaultTextColor (void);
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Member functions
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
void RADIO_AddValue (RADIO_Handle hObj, int Add);
|
||||
void RADIO_Dec (RADIO_Handle hObj);
|
||||
void RADIO_Inc (RADIO_Handle hObj);
|
||||
void RADIO_SetBkColor (RADIO_Handle hObj, GUI_COLOR Color);
|
||||
void RADIO_SetFont (RADIO_Handle hObj, const GUI_FONT GUI_UNI_PTR* pFont);
|
||||
void RADIO_SetGroupId (RADIO_Handle hObj, U8 GroupId);
|
||||
void RADIO_SetImage (RADIO_Handle hObj, const GUI_BITMAP * pBitmap, unsigned int Index);
|
||||
void RADIO_SetText (RADIO_Handle hObj, const char* pText, unsigned Index);
|
||||
void RADIO_SetTextColor (RADIO_Handle hObj, GUI_COLOR Color);
|
||||
void RADIO_SetValue (RADIO_Handle hObj, int v);
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Query state
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
int RADIO_GetValue(RADIO_Handle hObj);
|
||||
|
||||
#if defined(__cplusplus)
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* if GUI_WINSUPPORT */
|
||||
#endif /* RADIO_H */
|
||||
|
||||
/************************* end of file ******************************/
|
||||
@@ -0,0 +1,101 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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 : RADIO_Private.h
|
||||
Purpose : RADIO private header file
|
||||
--------------------END-OF-HEADER-------------------------------------
|
||||
*/
|
||||
|
||||
#ifndef RADIO_PRIVATE_H
|
||||
#define RADIO_PRIVATE_H
|
||||
|
||||
#include "WM.h"
|
||||
|
||||
#if GUI_WINSUPPORT
|
||||
|
||||
#include "RADIO.h"
|
||||
#include "WIDGET.h"
|
||||
#include "GUI_ARRAY.h"
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Object definition
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
typedef struct {
|
||||
WIDGET Widget;
|
||||
const GUI_BITMAP* apBmRadio[2];
|
||||
const GUI_BITMAP* pBmCheck;
|
||||
GUI_ARRAY TextArray;
|
||||
I16 Sel; /* current selection */
|
||||
U16 Spacing;
|
||||
U16 Height;
|
||||
U16 NumItems;
|
||||
U8 GroupId;
|
||||
GUI_COLOR BkColor;
|
||||
GUI_COLOR TextColor;
|
||||
const GUI_FONT GUI_UNI_PTR* pFont;
|
||||
#if GUI_DEBUG_LEVEL >1
|
||||
int DebugId;
|
||||
#endif
|
||||
} RADIO_Obj;
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Macros for internal use
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
#define RADIO_H2P(h) (RADIO_Obj*) GUI_ALLOC_h2p(h)
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Types
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
typedef void tRADIO_SetValue(RADIO_Handle hObj, RADIO_Obj* pObj, int v);
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Extern data
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
extern const GUI_BITMAP RADIO__abmRadio[2];
|
||||
extern const GUI_BITMAP RADIO__bmCheck;
|
||||
extern const GUI_BITMAP* RADIO__apDefaultImage[2];
|
||||
extern const GUI_BITMAP* RADIO__pDefaultImageCheck;
|
||||
extern const GUI_FONT GUI_UNI_PTR* RADIO__pDefaultFont;
|
||||
extern GUI_COLOR RADIO__DefaultTextColor;
|
||||
extern tRADIO_SetValue* RADIO__pfHandleSetValue;
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* public functions (internal)
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
void RADIO__SetValue(RADIO_Handle hObj, RADIO_Obj* pObj, int v);
|
||||
|
||||
#endif /* GUI_WINSUPPORT */
|
||||
#endif /* RADIO_PRIVATE_H */
|
||||
|
||||
/************************* end of file ******************************/
|
||||
@@ -0,0 +1,121 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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 : SCROLLBAR.h
|
||||
Purpose : SCROLLBAR include
|
||||
--------------------END-OF-HEADER-------------------------------------
|
||||
*/
|
||||
|
||||
#ifndef SCROLLBAR_H
|
||||
#define SCROLLBAR_H
|
||||
|
||||
#include "WM.h"
|
||||
#include "DIALOG_Intern.h" /* Req. for Create indirect data structure */
|
||||
#include "WIDGET.h"
|
||||
|
||||
#if GUI_WINSUPPORT
|
||||
|
||||
#if defined(__cplusplus)
|
||||
extern "C" { /* Make sure we have C-declarations in C++ programs */
|
||||
#endif
|
||||
|
||||
/************************************************************
|
||||
*
|
||||
* #defines
|
||||
*
|
||||
*************************************************************
|
||||
*/
|
||||
|
||||
/************************************************************
|
||||
*
|
||||
* States
|
||||
*/
|
||||
#define SCROLLBAR_STATE_PRESSED WIDGET_STATE_USER0
|
||||
|
||||
/************************************************************
|
||||
*
|
||||
* Create / Status flags
|
||||
*/
|
||||
#define SCROLLBAR_CF_VERTICAL WIDGET_CF_VERTICAL
|
||||
#define SCROLLBAR_CF_FOCUSSABLE WIDGET_STATE_FOCUSSABLE
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Public Types
|
||||
*
|
||||
**********************************************************************
|
||||
|
||||
*/
|
||||
typedef WM_HMEM SCROLLBAR_Handle;
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Create functions
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
SCROLLBAR_Handle SCROLLBAR_Create (int x0, int y0, int xsize, int ysize, WM_HWIN hParent, int Id, int WinFlags, int SpecialFlags);
|
||||
SCROLLBAR_Handle SCROLLBAR_CreateIndirect(const GUI_WIDGET_CREATE_INFO* pCreateInfo, WM_HWIN hWinParent, int x0, int y0, WM_CALLBACK* cb);
|
||||
SCROLLBAR_Handle SCROLLBAR_CreateAttached(WM_HWIN hParent, int SpecialFlags);
|
||||
SCROLLBAR_Handle SCROLLBAR_CreateEx (int x0, int y0, int xsize, int ysize, WM_HWIN hParent,
|
||||
int WinFlags, int ExFlags, int Id);
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Member functions
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
/* Methods changing properties */
|
||||
|
||||
void SCROLLBAR_AddValue (SCROLLBAR_Handle hObj, int Add);
|
||||
void SCROLLBAR_Dec (SCROLLBAR_Handle hObj);
|
||||
void SCROLLBAR_Inc (SCROLLBAR_Handle hObj);
|
||||
void SCROLLBAR_SetNumItems (SCROLLBAR_Handle hObj, int NumItems);
|
||||
void SCROLLBAR_SetPageSize (SCROLLBAR_Handle hObj, int PageSize);
|
||||
void SCROLLBAR_SetValue (SCROLLBAR_Handle hObj, int v);
|
||||
int SCROLLBAR_SetWidth (SCROLLBAR_Handle hObj, int Width);
|
||||
void SCROLLBAR_SetState (SCROLLBAR_Handle hObj, const WM_SCROLL_STATE* pState);
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Global functions
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
GUI_COLOR SCROLLBAR_GetDefaultBkColor(unsigned int Index); /* Not yet documented */
|
||||
GUI_COLOR SCROLLBAR_GetDefaultColor (unsigned int Index); /* Not yet documented */
|
||||
int SCROLLBAR_GetDefaultWidth (void);
|
||||
|
||||
GUI_COLOR SCROLLBAR_SetDefaultBkColor(GUI_COLOR Color, unsigned int Index); /* Not yet documented */
|
||||
GUI_COLOR SCROLLBAR_SetDefaultColor (GUI_COLOR Color, unsigned int Index); /* Not yet documented */
|
||||
int SCROLLBAR_SetDefaultWidth (int DefaultWidth);
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Query state
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
int SCROLLBAR_GetValue(SCROLLBAR_Handle hObj);
|
||||
|
||||
#if defined(__cplusplus)
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* if GUI_WINSUPPORT */
|
||||
#endif /* SCROLLBAR_H */
|
||||
@@ -0,0 +1,96 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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 : SCROLLBAR_Private.h
|
||||
Purpose : SCROLLBAR internal header file
|
||||
---------------------------END-OF-HEADER------------------------------
|
||||
*/
|
||||
|
||||
#ifndef SCROLLBAR_PRIVATE_H
|
||||
#define SCROLLBAR_PRIVATE_H
|
||||
|
||||
#include "SCROLLBAR.h"
|
||||
#include "WIDGET.h"
|
||||
#include "GUIDebug.h"
|
||||
|
||||
#if GUI_WINSUPPORT
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Macros for internal use
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
#define SCROLLBAR_ID 0x4544 /* Magic numer, should be unique if possible */
|
||||
|
||||
#define SCROLLBAR_H2P(h) (SCROLLBAR_Obj*) GUI_ALLOC_h2p(h)
|
||||
|
||||
#if GUI_DEBUG_LEVEL > 1
|
||||
#define SCROLLBAR_ASSERT_IS_VALID_PTR(p) DEBUG_ERROROUT_IF(p->DebugId != SCROLLBAR_ID, "xxx.c: Wrong handle type or Object not init'ed")
|
||||
#define SCROLLBAR_INIT_ID(p) p->DebugId = SCROLLBAR_ID
|
||||
#define SCROLLBAR_DEINIT_ID(p) p->DebugId = SCROLLBAR_ID+1
|
||||
#else
|
||||
#define SCROLLBAR_ASSERT_IS_VALID_PTR(p)
|
||||
#define SCROLLBAR_INIT_ID(p)
|
||||
#define SCROLLBAR_DEINIT_ID(p)
|
||||
#endif
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Module internal data
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
extern GUI_COLOR SCROLLBAR__aDefaultBkColor[2];
|
||||
extern GUI_COLOR SCROLLBAR__aDefaultColor[2];
|
||||
extern I16 SCROLLBAR__DefaultWidth;
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Object definition
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
typedef struct {
|
||||
WIDGET Widget;
|
||||
GUI_COLOR aBkColor[2];
|
||||
GUI_COLOR aColor[2];
|
||||
int NumItems, v, PageSize;
|
||||
#if GUI_DEBUG_LEVEL >1
|
||||
int DebugId;
|
||||
#endif
|
||||
} SCROLLBAR_Obj;
|
||||
|
||||
typedef struct {
|
||||
int x0_LeftArrow;
|
||||
int x1_LeftArrow;
|
||||
int x0_Thumb;
|
||||
int x1_Thumb;
|
||||
int x0_RightArrow;
|
||||
int x1_RightArrow;
|
||||
int x1;
|
||||
int xSizeMoveable;
|
||||
int ThumbSize;
|
||||
} SCROLLBAR_POSITIONS;
|
||||
|
||||
|
||||
void SCROLLBAR__InvalidatePartner(SCROLLBAR_Handle hObj);
|
||||
|
||||
#endif /* GUI_WINSUPPORT */
|
||||
#endif /* Avoid multiple inclusion */
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,114 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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 : SLIDER.h
|
||||
Purpose : SLIDER include
|
||||
--------------------END-OF-HEADER-------------------------------------
|
||||
*/
|
||||
|
||||
#ifndef SLIDER_H
|
||||
#define SLIDER_H
|
||||
|
||||
#include "WM.h"
|
||||
#include "DIALOG_Intern.h" /* Req. for Create indirect data structure */
|
||||
#include "WIDGET.h" /* Req. for Create indirect data structure */
|
||||
|
||||
#if GUI_WINSUPPORT
|
||||
|
||||
#if defined(__cplusplus)
|
||||
extern "C" { /* Make sure we have C-declarations in C++ programs */
|
||||
#endif
|
||||
|
||||
/************************************************************
|
||||
*
|
||||
* #defines
|
||||
*
|
||||
*************************************************************
|
||||
*/
|
||||
|
||||
/************************************************************
|
||||
*
|
||||
* States
|
||||
*/
|
||||
#define SLIDER_STATE_PRESSED WIDGET_STATE_USER0
|
||||
|
||||
/************************************************************
|
||||
*
|
||||
* Create / Status flags
|
||||
*/
|
||||
#define SLIDER_CF_VERTICAL WIDGET_CF_VERTICAL
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Public Types
|
||||
*
|
||||
**********************************************************************
|
||||
|
||||
*/
|
||||
typedef WM_HMEM SLIDER_Handle;
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Create functions
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
SLIDER_Handle SLIDER_Create (int x0, int y0, int xsize, int ysize, WM_HWIN hParent, int Id, int WinFlags, int SpecialFlags);
|
||||
SLIDER_Handle SLIDER_CreateIndirect(const GUI_WIDGET_CREATE_INFO* pCreateInfo, WM_HWIN hWinParent, int x0, int y0, WM_CALLBACK* cb);
|
||||
SLIDER_Handle SLIDER_CreateEx (int x0, int y0, int xsize, int ysize, WM_HWIN hParent,
|
||||
int WinFlags, int ExFlags, int Id);
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Member functions
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
/* Methods changing properties */
|
||||
|
||||
/* Note: These are just examples. The actual methods available for the
|
||||
widget will depend on the type of widget. */
|
||||
void SLIDER_Inc (SLIDER_Handle hObj);
|
||||
void SLIDER_Dec (SLIDER_Handle hObj);
|
||||
void SLIDER_SetBkColor (SLIDER_Handle hObj, GUI_COLOR Color);
|
||||
void SLIDER_SetWidth (SLIDER_Handle hObj, int Width);
|
||||
void SLIDER_SetValue (SLIDER_Handle hObj, int v);
|
||||
void SLIDER_SetRange (SLIDER_Handle hObj, int Min, int Max);
|
||||
void SLIDER_SetNumTicks (SLIDER_Handle hObj, int NumTicks);
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Global functions
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
void SLIDER_SetDefaultBkColor(GUI_COLOR Color);
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Query state
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
int SLIDER_GetValue(SLIDER_Handle hObj);
|
||||
|
||||
#if defined(__cplusplus)
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* if GUI_WINSUPPORT */
|
||||
#endif /* SLIDER_H */
|
||||
@@ -0,0 +1,141 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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 : TEXT.h
|
||||
Purpose : TEXT include
|
||||
--------------------END-OF-HEADER-------------------------------------
|
||||
*/
|
||||
|
||||
#ifndef TEXT_H
|
||||
#define TEXT_H
|
||||
|
||||
#include "WM.h"
|
||||
#include "DIALOG_Intern.h" /* Req. for Create indirect data structure */
|
||||
#include "WIDGET.h" /* Req. for Create indirect data structure */
|
||||
#include "GUIDebug.h" /* Req. for GUI_DEBUG_LEVEL */
|
||||
|
||||
#if GUI_WINSUPPORT
|
||||
|
||||
#if defined(__cplusplus)
|
||||
extern "C" { /* Make sure we have C-declarations in C++ programs */
|
||||
#endif
|
||||
|
||||
/************************************************************
|
||||
*
|
||||
* #defines
|
||||
*
|
||||
*************************************************************
|
||||
*/
|
||||
|
||||
/************************************************************
|
||||
*
|
||||
* Create / Status flags
|
||||
*/
|
||||
#define TEXT_CF_LEFT GUI_TA_LEFT
|
||||
#define TEXT_CF_RIGHT GUI_TA_RIGHT
|
||||
#define TEXT_CF_HCENTER GUI_TA_HCENTER
|
||||
|
||||
#define TEXT_CF_VCENTER GUI_TA_VCENTER
|
||||
#define TEXT_CF_TOP GUI_TA_TOP
|
||||
#define TEXT_CF_BOTTOM GUI_TA_BOTTOM
|
||||
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Public Types
|
||||
*
|
||||
**********************************************************************
|
||||
|
||||
*/
|
||||
typedef WM_HMEM TEXT_Handle;
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Standard member functions
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
#define TEXT_EnableMemdev(hObj) WM_EnableMemdev(hObj)
|
||||
#define TEXT_DisableMemdev(hObj) WM_DisableMemdev(hObj)
|
||||
#define TEXT_Delete(hObj) WM_DeleteWindow(hObj)
|
||||
#define TEXT_Paint(hObj) WM_Paint(hObj)
|
||||
#define TEXT_Invalidate(hObj) WM_InvalidateWindow(hObj)
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Create functions
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
TEXT_Handle TEXT_Create (int x0, int y0, int xsize, int ysize, int Id, int Flags, const char * s, int Align);
|
||||
TEXT_Handle TEXT_CreateAsChild (int x0, int y0, int xsize, int ysize, WM_HWIN hParent, int Id, int Flags, const char * s, int Align);
|
||||
TEXT_Handle TEXT_CreateIndirect(const GUI_WIDGET_CREATE_INFO* pCreateInfo, WM_HWIN hWinParent, int x0, int y0, WM_CALLBACK* cb);
|
||||
TEXT_Handle TEXT_CreateEx (int x0, int y0, int xsize, int ysize, WM_HWIN hParent,
|
||||
int WinFlags, int ExFlags, int Id, const char* pText);
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Member functions
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
/* Methods changing properties */
|
||||
|
||||
void TEXT_SetBkColor (TEXT_Handle pObj, GUI_COLOR Color); /* Obsolete. Left in GUI for compatibility to older versions */
|
||||
void TEXT_SetFont (TEXT_Handle pObj, const GUI_FONT GUI_UNI_PTR * pFont);
|
||||
void TEXT_SetText (TEXT_Handle pObj, const char* s);
|
||||
void TEXT_SetTextAlign(TEXT_Handle pObj, int Align);
|
||||
void TEXT_SetTextColor(TEXT_Handle pObj, GUI_COLOR Color);
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Global functions
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
void TEXT_SetDefaultFont(const GUI_FONT GUI_UNI_PTR * pFont);
|
||||
const GUI_FONT GUI_UNI_PTR * TEXT_GetDefaultFont(void);
|
||||
void TEXT_SetDefaultTextColor(GUI_COLOR Color);
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Internal: Object definition
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
typedef struct {
|
||||
WIDGET Widget;
|
||||
WM_HMEM hpText;
|
||||
const GUI_FONT GUI_UNI_PTR * pFont;
|
||||
I16 Align;
|
||||
GUI_COLOR TextColor;
|
||||
GUI_COLOR BkColor;
|
||||
#if GUI_DEBUG_LEVEL >= GUI_DEBUG_LEVEL_CHECK_ALL
|
||||
int DebugId;
|
||||
#endif
|
||||
} TEXT_Obj;
|
||||
|
||||
#define TEXT_H2P(h) (TEXT_Obj*) GUI_ALLOC_h2p(h)
|
||||
|
||||
#if defined(__cplusplus)
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* if GUI_WINSUPPORT */
|
||||
#endif /* TEXT_H */
|
||||
@@ -0,0 +1,59 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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 : TEXT.h
|
||||
Purpose : TEXT include
|
||||
--------------------END-OF-HEADER-------------------------------------
|
||||
*/
|
||||
|
||||
#ifndef TEXT_PRIVATE_H
|
||||
#define TEXT_PRIVATE_H
|
||||
|
||||
#include "TEXT.h"
|
||||
|
||||
#if GUI_WINSUPPORT
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Private config defaults
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
#ifndef TEXT_SUPPORT_TRANSPARENCY
|
||||
#define TEXT_SUPPORT_TRANSPARENCY WM_SUPPORT_TRANSPARENCY
|
||||
#endif
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Macros for internal use
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
#define TEXT_ID 0x4544 /* Magic numer, should be unique if possible */
|
||||
|
||||
|
||||
#if GUI_DEBUG_LEVEL >= GUI_DEBUG_LEVEL_CHECK_ALL
|
||||
#define TEXT_ASSERT_IS_VALID_PTR(p) DEBUG_ERROROUT_IF(p->DebugId != TEXT_ID, "xxx.c: Wrong handle type or Object not init'ed")
|
||||
#define TEXT_INIT_ID(p) p->DebugId = TEXT_ID
|
||||
#define TEXT_DEINIT_ID(p) p->DebugId = TEXT_ID+1
|
||||
#else
|
||||
#define TEXT_ASSERT_IS_VALID_PTR(p)
|
||||
#define TEXT_INIT_ID(p)
|
||||
#define TEXT_DEINIT_ID(p)
|
||||
#endif
|
||||
|
||||
#endif /* if GUI_WINSUPPORT */
|
||||
#endif /* TEXT_PRIVATE_H */
|
||||
@@ -0,0 +1,231 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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 : WIDGET.h
|
||||
Purpose : Widget interface
|
||||
---------------------------END-OF-HEADER------------------------------
|
||||
*/
|
||||
|
||||
#ifndef WIDGET_H /* Avoid multiple inclusion */
|
||||
#define WIDGET_H
|
||||
|
||||
#if defined(__cplusplus)
|
||||
extern "C" { /* Make sure we have C-declarations in C++ programs */
|
||||
#endif
|
||||
|
||||
#include "WM_Intern.h" /* Window manager, including some internals, which speed things up */
|
||||
|
||||
#if GUI_WINSUPPORT
|
||||
|
||||
#include "SCROLLBAR.h"
|
||||
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* defines
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
#define WIDGET_H2P(hWin) ((WIDGET*)GUI_ALLOC_h2p(hWin))
|
||||
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* States
|
||||
*/
|
||||
|
||||
#define WIDGET_STATE_FOCUS (1<<0)
|
||||
#define WIDGET_STATE_VERTICAL (1<<3)
|
||||
#define WIDGET_STATE_FOCUSSABLE (1<<4)
|
||||
|
||||
#define WIDGET_STATE_USER0 (1<<8) /* Freely available for derived widget */
|
||||
#define WIDGET_STATE_USER1 (1<<9) /* Freely available for derived widget */
|
||||
#define WIDGET_STATE_USER2 (1<<10) /* Freely available for derived widget */
|
||||
|
||||
#define WIDGET_ITEM_DRAW 0
|
||||
#define WIDGET_ITEM_GET_XSIZE 1
|
||||
#define WIDGET_ITEM_GET_YSIZE 2
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Messages
|
||||
*/
|
||||
|
||||
#define WM_WIDGET_SET_EFFECT WM_WIDGET + 0
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Create flags
|
||||
*/
|
||||
|
||||
#define WIDGET_CF_VERTICAL WIDGET_STATE_VERTICAL
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* typedefs
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
typedef struct {
|
||||
WM_HWIN hWin;
|
||||
int Cmd; /* WIDGET_ITEM_GET_XSIZE, WIDGET_ITEM_GET_YSIZE, WIDGET_ITEM_DRAW, */
|
||||
int ItemIndex;
|
||||
int x0, y0;
|
||||
} WIDGET_ITEM_DRAW_INFO;
|
||||
|
||||
typedef int WIDGET_DRAW_ITEM_FUNC(const WIDGET_ITEM_DRAW_INFO * pDrawItemInfo);
|
||||
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Widget object
|
||||
*
|
||||
* The widget object is the base class for most widgets
|
||||
*/
|
||||
typedef struct {
|
||||
void (*pfDrawUp)(void);
|
||||
void (*pfDrawDown)(void);
|
||||
void (*pfDrawUpRect) (const GUI_RECT *pRect);
|
||||
void (*pfDrawDownRect)(const GUI_RECT *pRect);
|
||||
void (*pfGetRect)(GUI_RECT *pRect);
|
||||
int EffectSize;
|
||||
} WIDGET_EFFECT;
|
||||
|
||||
typedef struct {
|
||||
WM_Obj Win;
|
||||
const WIDGET_EFFECT* pEffect;
|
||||
I16 Id;
|
||||
U16 State;
|
||||
} WIDGET;
|
||||
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* GUI_DRAW
|
||||
*
|
||||
* The GUI_DRAW object is used as base class for selfdrawing,
|
||||
* non-windows objects. They are used as content of different widgets,
|
||||
* such as the bitmap or header widgets.
|
||||
*/
|
||||
/* Declare Object struct */
|
||||
typedef struct GUI_DRAW GUI_DRAW;
|
||||
typedef void GUI_DRAW_SELF_CB (void);
|
||||
/* Declare Object constants (member functions etc) */
|
||||
typedef struct {
|
||||
void (* pfDraw) (const GUI_DRAW * pObj, int x, int y);
|
||||
int (* pfGetXSize)(const GUI_DRAW * pObj);
|
||||
int (* pfGetYSize)(const GUI_DRAW * pObj);
|
||||
} GUI_DRAW_CONSTS;
|
||||
|
||||
/* Declare Object */
|
||||
struct GUI_DRAW {
|
||||
const GUI_DRAW_CONSTS* pConsts;
|
||||
union {
|
||||
const void * pData;
|
||||
GUI_DRAW_SELF_CB* pfDraw;
|
||||
} Data;
|
||||
I16 xOff, yOff;
|
||||
};
|
||||
|
||||
typedef WM_HMEM GUI_DRAW_HANDLE;
|
||||
|
||||
/* GUI_DRAW_ API */
|
||||
void GUI_DRAW__Draw (GUI_DRAW_HANDLE hDrawObj, int x, int y);
|
||||
int GUI_DRAW__GetXSize(GUI_DRAW_HANDLE hDrawObj);
|
||||
int GUI_DRAW__GetYSize(GUI_DRAW_HANDLE hDrawObj);
|
||||
|
||||
/* GUI_DRAW_ Constructurs for different objects */
|
||||
WM_HMEM GUI_DRAW_BITMAP_Create (const GUI_BITMAP* pBitmap, int x, int y);
|
||||
WM_HMEM GUI_DRAW_BMP_Create (const void* pBMP, int x, int y);
|
||||
WM_HMEM GUI_DRAW_STREAMED_Create(const GUI_BITMAP_STREAM * pBitmap, int x, int y);
|
||||
WM_HMEM GUI_DRAW_SELF_Create(GUI_DRAW_SELF_CB* pfDraw, int x, int y);
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Global data
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
extern const WIDGET_EFFECT WIDGET_Effect_3D;
|
||||
extern const WIDGET_EFFECT WIDGET_Effect_3D1L;
|
||||
extern const WIDGET_EFFECT WIDGET_Effect_3D2L;
|
||||
extern const WIDGET_EFFECT WIDGET_Effect_None;
|
||||
extern const WIDGET_EFFECT WIDGET_Effect_Simple;
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Internal API routines
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
void WIDGET__DrawFocusRect(WIDGET* pWidget, const GUI_RECT* pRect, int Dist);
|
||||
void WIDGET__DrawVLine(WIDGET* pWidget, int x, int y0, int y1);
|
||||
void WIDGET__EFFECT_DrawDownRect(WIDGET* pWidget, GUI_RECT* pRect);
|
||||
void WIDGET__EFFECT_DrawDown(WIDGET* pWidget);
|
||||
void WIDGET__EFFECT_DrawUpRect(WIDGET* pWidget, GUI_RECT* pRect);
|
||||
void WIDGET__FillRectEx(WIDGET* pWidget, const GUI_RECT* pRect);
|
||||
int WIDGET__GetWindowSizeX(WM_HWIN hWin);
|
||||
GUI_COLOR WIDGET__GetBkColor(WM_HWIN hObj);
|
||||
int WIDGET__GetXSize(const WIDGET* pWidget);
|
||||
int WIDGET__GetYSize(const WIDGET* pWidget);
|
||||
void WIDGET__GetClientRect(WIDGET* pWidget, GUI_RECT* pRect);
|
||||
void WIDGET__GetInsideRect(WIDGET* pWidget, GUI_RECT* pRect);
|
||||
void WIDGET__Init(WIDGET* pWidget, int Id, U16 State);
|
||||
void WIDGET__RotateRect90(WIDGET* pWidget, GUI_RECT* pDest, const GUI_RECT* pRect);
|
||||
void WIDGET__SetScrollState(WM_HWIN hWin, const WM_SCROLL_STATE* pVState, const WM_SCROLL_STATE* pState);
|
||||
void WIDGET__FillStringInRect(const char GUI_UNI_PTR * pText, const GUI_RECT * pFillRect, const GUI_RECT * pTextRectMax, const GUI_RECT * pTextRectAct);
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* API routines
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
void WIDGET_SetState (WM_HWIN hObj, int State);
|
||||
void WIDGET_AndState (WM_HWIN hObj, int State);
|
||||
void WIDGET_OrState (WM_HWIN hObj, int State);
|
||||
int WIDGET_HandleActive (WM_HWIN hObj, WM_MESSAGE* pMsg);
|
||||
int WIDGET_GetState (WM_HWIN hObj);
|
||||
int WIDGET_SetWidth (WM_HWIN hObj, int Width);
|
||||
|
||||
void WIDGET_EFFECT_3D_DrawUp(void);
|
||||
|
||||
void WIDGET_SetDefaultEffect_3D (void);
|
||||
void WIDGET_SetDefaultEffect_3D1L (void);
|
||||
void WIDGET_SetDefaultEffect_3D2L (void);
|
||||
void WIDGET_SetDefaultEffect_None (void);
|
||||
void WIDGET_SetDefaultEffect_Simple(void);
|
||||
|
||||
const WIDGET_EFFECT* WIDGET_SetDefaultEffect(const WIDGET_EFFECT* pEffect);
|
||||
|
||||
void WIDGET_SetEffect (WM_HWIN hObj, const WIDGET_EFFECT* pEffect);
|
||||
|
||||
const WIDGET_EFFECT* WIDGET_GetDefaultEffect(void);
|
||||
int WIDGET_SetWidth(WM_HWIN hObj, int Width);
|
||||
|
||||
|
||||
#endif /* GUI_WINSUPPORT */
|
||||
|
||||
#if defined(__cplusplus)
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* SLIDER_H */
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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 : WINDOW_Private.h
|
||||
Purpose : WINDOW private header file
|
||||
--------------------END-OF-HEADER-------------------------------------
|
||||
*/
|
||||
|
||||
#ifndef WINDOW_PRIVATE_H
|
||||
#define WINDOW_PRIVATE_H
|
||||
|
||||
#include "WM.h"
|
||||
|
||||
#if GUI_WINSUPPORT
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Externals
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
extern GUI_COLOR WINDOW__DefaultBkColor;
|
||||
|
||||
#endif /* GUI_WINSUPPORT */
|
||||
#endif /* WINDOW_PRIVATE_H */
|
||||
@@ -0,0 +1,537 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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 : WM.h
|
||||
Purpose : Windows manager include
|
||||
----------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
#ifndef WM_H /* Make sure we only include it once */
|
||||
#define WM_H
|
||||
|
||||
|
||||
#include "GUI_ConfDefaults.h"
|
||||
#include "GUIType.h" /* Needed because of typedefs only */
|
||||
#include "WM_GUI.h" /* Some functions needed by GUI routines */
|
||||
|
||||
#if defined(__cplusplus)
|
||||
extern "C" { /* Make sure we have C-declarations in C++ programs */
|
||||
#endif
|
||||
|
||||
/* Support for transparency. Switching it off makes Wm smaller and faster */
|
||||
#ifndef WM_SUPPORT_TRANSPARENCY
|
||||
#define WM_SUPPORT_TRANSPARENCY 1 /* Should be defined outside of GUI_WINSUPPORT because of "#if GUI_WINSUPPORT && WM_SUPPORT_TRANSPARENCY" in some files */
|
||||
#endif
|
||||
|
||||
/* This is for tests only. It will fill the invalid area of a window.
|
||||
Can be used for debugging. */
|
||||
#ifndef WM_SUPPORT_DIAG
|
||||
#ifdef WIN32 /* In simulation */
|
||||
#define WM_SUPPORT_DIAG GUI_WINSUPPORT
|
||||
#else
|
||||
#define WM_SUPPORT_DIAG 0
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* Make sure we actually have configured windows. If we have not,
|
||||
there is no point for a windows manager and it will therefor not
|
||||
generate any code !
|
||||
*/
|
||||
|
||||
#if GUI_WINSUPPORT
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Config defaults
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
#ifndef WM_ASSERT
|
||||
#define WM_ASSERT(expr) GUI_DEBUG_ASSERT(expr)
|
||||
#endif
|
||||
|
||||
#ifndef WM_SUPPORT_TOUCH
|
||||
#define WM_SUPPORT_TOUCH GUI_SUPPORT_TOUCH
|
||||
#endif
|
||||
|
||||
#ifndef WM_SUPPORT_OBSTRUCT
|
||||
#define WM_SUPPORT_OBSTRUCT 1
|
||||
#endif
|
||||
|
||||
/* Allow older API calls */
|
||||
#ifndef WM_COMPATIBLE_MODE
|
||||
#define WM_COMPATIBLE_MODE 1
|
||||
#endif
|
||||
|
||||
/* Send a message if visibility of a window has changed */
|
||||
#ifndef WM_SUPPORT_NOTIFY_VIS_CHANGED
|
||||
#define WM_SUPPORT_NOTIFY_VIS_CHANGED 0
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
*************************************************************
|
||||
* *
|
||||
* Configuration check *
|
||||
* *
|
||||
*************************************************************
|
||||
*/
|
||||
|
||||
/*
|
||||
*************************************************************
|
||||
* *
|
||||
* Locking macros *
|
||||
* *
|
||||
*************************************************************
|
||||
For performance reasons, the windows manager uses the same locking mechanisms
|
||||
as the GUI layer. The advantage is that wiht a single call to GUI_LOCK both
|
||||
the graphic level and the WM level are covered.
|
||||
*/
|
||||
|
||||
#define WM_LOCK() GUI_LOCK()
|
||||
#define WM_UNLOCK() GUI_UNLOCK()
|
||||
|
||||
/************************************************************
|
||||
*
|
||||
* Data types
|
||||
*
|
||||
*************************************************************
|
||||
*/
|
||||
|
||||
typedef struct {
|
||||
int Key, PressedCnt;
|
||||
} WM_KEY_INFO;
|
||||
|
||||
typedef struct {
|
||||
int NumItems, v, PageSize;
|
||||
} WM_SCROLL_STATE;
|
||||
|
||||
typedef struct {
|
||||
int Done;
|
||||
int ReturnValue;
|
||||
} WM_DIALOG_STATUS;
|
||||
|
||||
typedef struct {
|
||||
int x,y;
|
||||
U8 State;
|
||||
U8 StatePrev;
|
||||
} WM_PID_STATE_CHANGED_INFO;
|
||||
|
||||
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Messages Ids
|
||||
|
||||
The following is the list of windows messages.
|
||||
*/
|
||||
|
||||
|
||||
#define WM_CREATE 0x0001 /* The first message received, right after client has actually been created */
|
||||
#define WM_MOVE 0x0003 /* window has been moved (Same as WIN32) */
|
||||
|
||||
#define WM_SIZE 0x0005 /* Is sent to a window after its size has changed (Same as WIN32, do not change !) */
|
||||
|
||||
#define WM_DELETE 11 /* Delete (Destroy) command: This tells the client to free its data strutures since the window
|
||||
it is associates with no longer exists.*/
|
||||
#define WM_TOUCH 12 /* Touch screen message */
|
||||
#define WM_TOUCH_CHILD 13 /* Touch screen message to ancestors */
|
||||
#define WM_KEY 14 /* Key has been pressed */
|
||||
|
||||
#define WM_PAINT 0x000F /* Repaint window (because content is (partially) invalid */
|
||||
|
||||
#if GUI_SUPPORT_MOUSE
|
||||
#define WM_MOUSEOVER 16 /* Mouse has moved, no key pressed */
|
||||
#endif
|
||||
|
||||
#define WM_PID_STATE_CHANGED 17 /* Pointer input device state has changed */
|
||||
|
||||
#define WM_GET_INSIDE_RECT 20 /* get inside rectangle: client rectangle minus pixels lost to effect */
|
||||
#define WM_GET_ID 21 /* Get id of widget */
|
||||
#define WM_SET_ID 22 /* Set id of widget */
|
||||
#define WM_GET_CLIENT_WINDOW 23 /* Get window handle of client window. Default is the same as window */
|
||||
#define WM_CAPTURE_RELEASED 24 /* Let window know that mouse capture is over */
|
||||
|
||||
#define WM_INIT_DIALOG 30 /* Inform dialog that it is ready for init */
|
||||
|
||||
#define WM_SET_FOCUS 31 /* Inform window that it has gotten or lost the focus */
|
||||
#define WM_GET_ACCEPT_FOCUS 32 /* Find out if window can accept the focus */
|
||||
#define WM_NOTIFY_CHILD_HAS_FOCUS 33
|
||||
|
||||
#define WM_GET_BKCOLOR 34 /* Return back ground color (only frame window and similar) */
|
||||
#define WM_GET_SCROLL_STATE 35 /* Query state of scroll bar */
|
||||
|
||||
#define WM_SET_SCROLL_STATE 36 /* Set scroll info ... only effective for scrollbars */
|
||||
|
||||
#define WM_NOTIFY_CLIENTCHANGE 37 /* Client area may have changed */
|
||||
#define WM_NOTIFY_PARENT 38 /* Notify parent. Information is detailed as notification code */
|
||||
#define WM_NOTIFY_PARENT_REFLECTION 39 /* Notify parent reflection.
|
||||
Sometimes send back as a result of the WM_NOTIFY_PARENT message
|
||||
to let child react on behalf of its parent.
|
||||
Information is detailed as notification code */
|
||||
#define WM_NOTIFY_ENABLE 40 /* Enable or disable widget */
|
||||
#define WM_NOTIFY_VIS_CHANGED 41 /* Visibility of a window has or may have changed */
|
||||
|
||||
#define WM_HANDLE_DIALOG_STATUS 42 /* Set or get dialog status */
|
||||
#define WM_GET_RADIOGROUP 43 /* Send to all siblings and children of a radio control when
|
||||
selection changed */
|
||||
#define WM_MENU 44 /* Send to owner window of menu widget */
|
||||
|
||||
#define WM_TIMER 0x0113 /* Timer has expired (Keep the same as WIN32) */
|
||||
#define WM_WIDGET 0x0300 /* 256 messages reserved for Widget messages */
|
||||
#define WM_USER 0x0400 /* Reserved for user messages ... (Keep the same as WIN32) */
|
||||
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Notification codes
|
||||
*
|
||||
* The following is the list of notification codes send
|
||||
* with the WM_NOTIFY_PARENT message
|
||||
*/
|
||||
#define WM_NOTIFICATION_CLICKED 1
|
||||
#define WM_NOTIFICATION_RELEASED 2
|
||||
#define WM_NOTIFICATION_MOVED_OUT 3
|
||||
#define WM_NOTIFICATION_SEL_CHANGED 4
|
||||
#define WM_NOTIFICATION_VALUE_CHANGED 5
|
||||
#define WM_NOTIFICATION_SCROLLBAR_ADDED 6 /* Scroller added */
|
||||
#define WM_NOTIFICATION_CHILD_DELETED 7 /* Inform window that child is about to be deleted */
|
||||
#define WM_NOTIFICATION_GOT_FOCUS 8
|
||||
#define WM_NOTIFICATION_LOST_FOCUS 9
|
||||
#define WM_NOTIFICATION_SCROLL_CHANGED 10
|
||||
|
||||
#define WM_NOTIFICATION_WIDGET 11 /* Space for widget defined notifications */
|
||||
#define WM_NOTIFICATION_USER 16 /* Space for application (user) defined notifications */
|
||||
/*********************************************************************
|
||||
*
|
||||
* Memory management
|
||||
*/
|
||||
|
||||
#define WM_HWIN GUI_HWIN
|
||||
#define WM_HWIN_NULL GUI_HMEM_NULL
|
||||
#define WM_HMEM GUI_HMEM
|
||||
#define WM_HMEM_NULL GUI_HMEM_NULL
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Window defines
|
||||
*/
|
||||
#define WM_HBKWIN WM_GetDesktopWindow() /* Handle of background window */
|
||||
#define WM_UNATTACHED ((WM_HMEM)-1) /* Do not attach to a window */
|
||||
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Window create flags.
|
||||
* These flags can be passed to the create window
|
||||
* function as flag-parameter. The flags are combinable using the
|
||||
* binary or operator.
|
||||
*/
|
||||
|
||||
#define WM_CF_HASTRANS (1<<0) /* Has transparency. Needs to be defined for windows which do not fill the entire
|
||||
section of their (client) rectangle. */
|
||||
#define WM_CF_HIDE (0<<1) /* Hide window after creation (default !) */
|
||||
#define WM_CF_SHOW (1<<1) /* Show window after creation */
|
||||
#define WM_CF_MEMDEV (1<<2) /* Use memory device for redraws */
|
||||
#define WM_CF_STAYONTOP (1<<3) /* Stay on top */
|
||||
#define WM_CF_DISABLED (1<<4) /* Disabled: Does not receive PID (mouse & touch) input */
|
||||
/* Create only flags ... Not available as status flags */
|
||||
#define WM_CF_ACTIVATE (1<<5) /* If automatic activation upon creation of window is desired */
|
||||
#define WM_CF_FGND (0<<6) /* Put window in foreground after creation (default !) */
|
||||
#define WM_CF_BGND (1<<6) /* Put window in background after creation */
|
||||
|
||||
/* Anchor flags */
|
||||
#define WM_CF_ANCHOR_RIGHT (1<<7) /* Right anchor ... If parent is resized, distance to right will remain const (left is default) */
|
||||
#define WM_CF_ANCHOR_BOTTOM (1<<8) /* Bottom anchor ... If parent is resized, distance to bottom will remain const (top is default) */
|
||||
#define WM_CF_ANCHOR_LEFT (1<<9) /* Left anchor ... If parent is resized, distance to left will remain const (left is default) */
|
||||
#define WM_CF_ANCHOR_TOP (1<<10) /* Top anchor ... If parent is resized, distance to top will remain const (top is default) */
|
||||
|
||||
#define WM_CF_CONST_OUTLINE (1<<11) /* Constant outline. This is relevant for transparent windows only. If a window is transparent
|
||||
and does not have a constant outline, its background is invalided instead of the window itself.
|
||||
This causes add. computation time when redrawing. */
|
||||
#define WM_CF_LATE_CLIP (1<<12)
|
||||
#define WM_CF_MEMDEV_ON_REDRAW (1<<13)
|
||||
#define WM_CF_RESERVED3 (1<<14)
|
||||
#define WM_CF_RESERVED4 (1<<15)
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Window manager types
|
||||
*/
|
||||
|
||||
typedef struct {
|
||||
int MsgId; /* type of message */
|
||||
WM_HWIN hWin; /* Destination window */
|
||||
WM_HWIN hWinSrc; /* Source window */
|
||||
union {
|
||||
const void* p; /* Some messages need more info ... Pointer is declared "const" because some systems (M16C) have 4 byte const, byte 2 byte default ptrs */
|
||||
int v;
|
||||
GUI_COLOR Color;
|
||||
} Data;
|
||||
} WM_MESSAGE;
|
||||
|
||||
typedef void WM_CALLBACK( WM_MESSAGE* pMsg);
|
||||
|
||||
typedef struct {
|
||||
GUI_RECT Rect; /* outer dimensions of window */
|
||||
GUI_RECT InvalidRect; /* invalid rectangle */
|
||||
WM_CALLBACK* cb; /* ptr to notification callback */
|
||||
WM_HWIN hNextLin; /* Next window in linear list */
|
||||
WM_HWIN hParent;
|
||||
WM_HWIN hFirstChild;
|
||||
WM_HWIN hNext;
|
||||
U16 Status; /* Some status flags */
|
||||
} WM_Obj;
|
||||
|
||||
typedef void WM_tfPollPID(void);
|
||||
typedef void WM_tfForEach(WM_HWIN hWin, void * pData);
|
||||
|
||||
/*
|
||||
**********************************************************************
|
||||
*
|
||||
* General control routines
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
|
||||
void WM_Activate (void);
|
||||
void WM_Deactivate(void);
|
||||
void WM_Init (void);
|
||||
int WM_Exec (void); /* Execute all jobs ... Return 0 if nothing was done. */
|
||||
int WM_Exec1 (void); /* Execute one job ... Return 0 if nothing was done. */
|
||||
U16 WM_SetCreateFlags(U16 Flags);
|
||||
WM_tfPollPID* WM_SetpfPollPID(WM_tfPollPID* pf);
|
||||
void WM_SetCapture(WM_HWIN hObj, int AutoRelease);
|
||||
void WM_SetCaptureMove(WM_HWIN hWin, const GUI_PID_STATE* pState, int MinVisibility); /* Not yet documented */
|
||||
void WM_ReleaseCapture(void);
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Window manager interface
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
void WM_AttachWindow (WM_HWIN hWin, WM_HWIN hParent);
|
||||
void WM_AttachWindowAt (WM_HWIN hWin, WM_HWIN hParent, int x, int y);
|
||||
int WM_CheckScrollPos (WM_SCROLL_STATE* pScrollState, int Pos, int LowerDist, int UpperDist); /* not to be documented (may change in future version) */
|
||||
void WM_ClrHasTrans (WM_HWIN hWin);
|
||||
WM_HWIN WM_CreateWindow (int x0, int y0, int xSize, int ySize, U16 Style, WM_CALLBACK* cb, int NumExtraBytes);
|
||||
WM_HWIN WM_CreateWindowAsChild (int x0, int y0, int xSize, int ySize, WM_HWIN hWinParent, U16 Style, WM_CALLBACK* cb, int NumExtraBytes);
|
||||
void WM_DeleteWindow (WM_HWIN hWin);
|
||||
void WM_DetachWindow (WM_HWIN hWin);
|
||||
int WM_GetHasTrans (WM_HWIN hWin);
|
||||
WM_HWIN WM_GetFocussedWindow (void);
|
||||
void WM_HideWindow (WM_HWIN hWin);
|
||||
void WM_InvalidateArea (const GUI_RECT* pRect);
|
||||
void WM_InvalidateRect (WM_HWIN hWin, const GUI_RECT*pRect);
|
||||
void WM_InvalidateWindow (WM_HWIN hWin);
|
||||
void WM_InvalidateWindowDescs (WM_HWIN hWin); /* not to be documented (may change in future version) */
|
||||
int WM_IsEnabled (WM_HWIN hObj);
|
||||
int WM_IsFocussable (WM_HWIN hWin);
|
||||
int WM_IsVisible (WM_HWIN hWin);
|
||||
int WM_IsWindow (WM_HWIN hWin); /* Check validity */
|
||||
char WM_IsCompletelyVisible (WM_HWIN hWin); /* Is the window completely visible ? */
|
||||
void WM_SetHasTrans (WM_HWIN hWin);
|
||||
void WM_SetId (WM_HWIN hObj, int Id);
|
||||
void WM_SetTransState (WM_HWIN hWin, unsigned State);
|
||||
void WM_ShowWindow (WM_HWIN hWin);
|
||||
void WM_ValidateRect (WM_HWIN hWin, const GUI_RECT*pRect);
|
||||
void WM_ValidateWindow (WM_HWIN hWin);
|
||||
int WM_GetInvalidRect (WM_HWIN hWin, GUI_RECT * pRect);
|
||||
void WM_SetStayOnTop (WM_HWIN hWin, int OnOff);
|
||||
int WM_GetStayOnTop (WM_HWIN hWin);
|
||||
void WM_SetAnchor (WM_HWIN hWin, U16 AnchorFlags);
|
||||
|
||||
/* Move/resize windows */
|
||||
void WM_MoveWindow (WM_HWIN hWin, int dx, int dy);
|
||||
void WM_ResizeWindow (WM_HWIN hWin, int dx, int dy);
|
||||
void WM_MoveTo (WM_HWIN hWin, int x, int y);
|
||||
void WM_MoveChildTo (WM_HWIN hWin, int x, int y);
|
||||
void WM_SetSize (WM_HWIN hWin, int XSize, int YSize);
|
||||
int WM_SetXSize (WM_HWIN hWin, int xSize);
|
||||
int WM_SetYSize (WM_HWIN hWin, int ySize);
|
||||
int WM_CreateTimer (WM_HWIN hWin, int UserID, int Period, int Mode); /* not to be documented (may change in future version) */
|
||||
void WM_DeleteTimer (WM_HWIN hWin, int UserId); /* not to be documented (may change in future version) */
|
||||
int WM_SetScrollbarH (WM_HWIN hWin, int OnOff); /* not to be documented (may change in future version) */
|
||||
int WM_SetScrollbarV (WM_HWIN hWin, int OnOff); /* not to be documented (may change in future version) */
|
||||
|
||||
|
||||
/* Diagnostics */
|
||||
int WM_GetNumWindows(void);
|
||||
int WM_GetNumInvalidWindows(void);
|
||||
|
||||
/* Scroll state related functions */
|
||||
int WM_SetScrollValue (WM_SCROLL_STATE* pScrollState, int v); /* not to be documented (may change in future version) */
|
||||
void WM_CheckScrollBounds(WM_SCROLL_STATE* pScrollState); /* not to be documented (may change in future version) */
|
||||
|
||||
|
||||
/* Set (new) callback function */
|
||||
WM_CALLBACK* WM_SetCallback (WM_HWIN Win, WM_CALLBACK* cb);
|
||||
|
||||
/* Get size/origin of a window */
|
||||
void WM_GetClientRect (GUI_RECT* pRect);
|
||||
void WM_GetClientRectEx (WM_HWIN hWin, GUI_RECT* pRect);
|
||||
void WM_GetInsideRect (GUI_RECT* pRect);
|
||||
void WM_GetInsideRectEx (WM_HWIN hWin, GUI_RECT* pRect);
|
||||
void WM_GetInsideRectExScrollbar (WM_HWIN hWin, GUI_RECT* pRect); /* not to be documented (may change in future version) */
|
||||
void WM_GetWindowRect (GUI_RECT* pRect);
|
||||
void WM_GetWindowRectEx (WM_HWIN hWin, GUI_RECT* pRect);
|
||||
int WM_GetOrgX (void);
|
||||
int WM_GetOrgY (void);
|
||||
int WM_GetWindowOrgX (WM_HWIN hWin);
|
||||
int WM_GetWindowOrgY (WM_HWIN hWin);
|
||||
int WM_GetWindowSizeX (WM_HWIN hWin);
|
||||
int WM_GetWindowSizeY (WM_HWIN hWin);
|
||||
WM_HWIN WM_GetFirstChild (WM_HWIN hWin);
|
||||
WM_HWIN WM_GetNextSibling (WM_HWIN hWin);
|
||||
WM_HWIN WM_GetParent (WM_HWIN hWin);
|
||||
WM_HWIN WM_GetPrevSibling (WM_HWIN hWin);
|
||||
int WM_GetId (WM_HWIN hWin);
|
||||
WM_HWIN WM_GetScrollbarV (WM_HWIN hWin);
|
||||
WM_HWIN WM_GetScrollbarH (WM_HWIN hWin);
|
||||
WM_HWIN WM_GetScrollPartner (WM_HWIN hWin);
|
||||
WM_HWIN WM_GetClientWindow (WM_HWIN hObj);
|
||||
GUI_COLOR WM_GetBkColor (WM_HWIN hObj);
|
||||
|
||||
/* Change Z-Order of windows */
|
||||
void WM_BringToBottom(WM_HWIN hWin);
|
||||
void WM_BringToTop(WM_HWIN hWin);
|
||||
|
||||
GUI_COLOR WM_SetDesktopColor(GUI_COLOR Color);
|
||||
GUI_COLOR WM_SetDesktopColorEx(GUI_COLOR Color, unsigned int LayerIndex);
|
||||
void WM_SetDesktopColors(GUI_COLOR Color);
|
||||
|
||||
/* Select window used for drawing operations */
|
||||
WM_HWIN WM_SelectWindow (WM_HWIN hWin);
|
||||
WM_HWIN WM_GetActiveWindow (void);
|
||||
void WM_Paint (WM_HWIN hObj);
|
||||
|
||||
/* Get foreground/background windows */
|
||||
WM_HWIN WM_GetDesktopWindow (void);
|
||||
WM_HWIN WM_GetDesktopWindowEx (unsigned int LayerIndex);
|
||||
|
||||
/* Reduce clipping area of a window */
|
||||
const GUI_RECT* WM_SetUserClipRect(const GUI_RECT* pRect);
|
||||
void WM_SetDefault (void);
|
||||
|
||||
/* Use of memory devices */
|
||||
void WM_EnableMemdev (WM_HWIN hWin);
|
||||
void WM_DisableMemdev (WM_HWIN hWin);
|
||||
|
||||
int WM_OnKey(int Key, int Pressed);
|
||||
void WM_MakeModal(WM_HWIN hWin);
|
||||
|
||||
|
||||
/******************************************************************
|
||||
*
|
||||
* Message related funcions
|
||||
*
|
||||
*******************************************************************
|
||||
Please note that some of these functions do not yet show up in the
|
||||
documentation, as they should not be required by application program.
|
||||
*/
|
||||
|
||||
void WM_NotifyParent (WM_HWIN hWin, int Notification);
|
||||
void WM_SendMessage (WM_HWIN hWin, WM_MESSAGE* p);
|
||||
void WM_SendMessageNoPara (WM_HWIN hWin, int MsgId); /* not to be documented (may change in future versionumented */
|
||||
void WM_DefaultProc (WM_MESSAGE* pMsg);
|
||||
int WM_BroadcastMessage (WM_MESSAGE* pMsg);
|
||||
void WM_SetScrollState (WM_HWIN hWin, const WM_SCROLL_STATE* pState);
|
||||
void WM_SetEnableState (WM_HWIN hItem, int State);
|
||||
void WM_SendToParent (WM_HWIN hWin, WM_MESSAGE* pMsg);
|
||||
int WM_HasCaptured (WM_HWIN hWin);
|
||||
int WM_HasFocus (WM_HWIN hWin);
|
||||
int WM_SetFocus (WM_HWIN hWin);
|
||||
WM_HWIN WM_SetFocusOnNextChild (WM_HWIN hParent); /* Set the focus to the next child */
|
||||
WM_HWIN WM_SetFocusOnPrevChild (WM_HWIN hParent); /* Set the focus to the previous child */
|
||||
WM_HWIN WM_GetDialogItem (WM_HWIN hWin, int Id);
|
||||
void WM_EnableWindow (WM_HWIN hWin);
|
||||
void WM_DisableWindow (WM_HWIN hWin);
|
||||
void WM_GetScrollState (WM_HWIN hObj, WM_SCROLL_STATE* pScrollState);
|
||||
int WM_GetUserData (WM_HWIN hWin, void* pDest, int SizeOfBuffer);
|
||||
int WM_SetUserData (WM_HWIN hWin, const void* pSrc, int SizeOfBuffer);
|
||||
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Misc routines
|
||||
*/
|
||||
|
||||
int WM_HandlePID (void);
|
||||
WM_HWIN WM_Screen2hWin (int x, int y);
|
||||
WM_HWIN WM_Screen2hWinEx (WM_HWIN hStop, int x, int y);
|
||||
void WM_ForEachDesc (WM_HWIN hWin, WM_tfForEach * pcb, void * pData);
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Diagnostics routines
|
||||
*/
|
||||
#if (WM_SUPPORT_DIAG)
|
||||
void WM_DIAG_EnableInvalidationColoring(int OnOff);
|
||||
#endif
|
||||
|
||||
/*
|
||||
*************************************************
|
||||
* *
|
||||
* Macros for compatibility with older versions *
|
||||
* *
|
||||
*************************************************
|
||||
*/
|
||||
|
||||
#if WM_COMPATIBLE_MODE
|
||||
#define HBWIN WM_HWIN
|
||||
#define HBWIN_NULL WM_HWIN_NULL
|
||||
|
||||
#define WM_HideWin WM_HideWindow
|
||||
#define WM_ShowWin WM_ShowWindow
|
||||
#define WM_GetKey GUI_GetKey
|
||||
#define WM_WaitKey GUI_WaitKey
|
||||
|
||||
#define WM_ExecIdle WM_Exec
|
||||
#define WM_ExecIdle1 WM_Exec1
|
||||
|
||||
#define WM_Invalidate WM_InvalidateWindow
|
||||
#define WM_GetWinRect WM_GetWindowRect
|
||||
#define WM_GetWinOrgX WM_GetWindowOrgX
|
||||
#define WM_GetWinOrgY WM_GetWindowOrgY
|
||||
#define WM_GetWinSizeX WM_GetWindowSizeX
|
||||
#define WM_GetWinSizeY WM_GetWindowSizeY
|
||||
#define WM_GetXSize WM_GetWindowSizeX
|
||||
#define WM_GetYSize WM_GetWindowSizeY
|
||||
#define WM_SelWin WM_SelectWindow
|
||||
#define WM_GetBackgroundWindow WM_GetDesktopWindow
|
||||
#define WM_GetForegroundWindow 0
|
||||
#define WM_SetForegroundWindow WM_BringToTop
|
||||
#define WM_SetUserClipArea WM_SetUserClipRect
|
||||
|
||||
|
||||
#define WM_Start()
|
||||
#define WM_Stop()
|
||||
#define WM_SetBkWindowColor(Color) WM_SetDesktopColor(Color)
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
#endif /* GUI_WINSUPPORT */
|
||||
|
||||
#if defined(__cplusplus)
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* WM_H */
|
||||
|
||||
/*************************** End of file ****************************/
|
||||
@@ -0,0 +1,58 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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 : WM_GUI.h
|
||||
Purpose : Windows manager include for low level GUI routines
|
||||
----------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
#ifndef WM_GUI_H /* Make sure we only include it once */
|
||||
#define WM_GUI_H
|
||||
|
||||
#if defined(__cplusplus)
|
||||
extern "C" { /* Make sure we have C-declarations in C++ programs */
|
||||
#endif
|
||||
|
||||
int WM__InitIVRSearch(const GUI_RECT* pMaxRect);
|
||||
int WM__GetNextIVR (void);
|
||||
int WM__GetOrgX_AA(void);
|
||||
int WM__GetOrgY_AA(void);
|
||||
|
||||
#define WM_ITERATE_START(pRect) \
|
||||
{ \
|
||||
if (WM__InitIVRSearch(pRect)) \
|
||||
do {
|
||||
|
||||
#define WM_ITERATE_END() \
|
||||
} while (WM__GetNextIVR()); \
|
||||
}
|
||||
|
||||
#define WM_ADDORGX(x) x += GUI_Context.xOff
|
||||
#define WM_ADDORGY(y) y += GUI_Context.yOff
|
||||
#define WM_ADDORG(x0,y0) WM_ADDORGX(x0); WM_ADDORGY(y0)
|
||||
#define WM_ADDORGX_AA(x) x += WM__GetOrgX_AA()
|
||||
#define WM_ADDORGY_AA(y) y += WM__GetOrgY_AA()
|
||||
#define WM_ADDORG_AA(x0,y0) WM_ADDORGX_AA(x0); WM_ADDORGY_AA(y0)
|
||||
#define WM_SUBORGX(x) x -= GUI_Context.xOff
|
||||
#define WM_SUBORGY(y) y -= GUI_Context.yOff
|
||||
#define WM_SUBORG(x0,y0) WM_SUBORGX(x0); WM_SUBORGY(y0)
|
||||
|
||||
#if defined(__cplusplus)
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#endif /* Avoid multiple inclusion */
|
||||
|
||||
/*************************** End of file ****************************/
|
||||
@@ -0,0 +1,197 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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 : WM_Intern.h
|
||||
Purpose : Windows manager internal include
|
||||
----------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
#ifndef WM_INTERN_H /* Make sure we only include it once */
|
||||
#define WM_INTERN_H /* Make sure we only include it once */
|
||||
|
||||
#include "WM.h"
|
||||
#include "GUI_Protected.h" /* For GUI_Context */
|
||||
|
||||
|
||||
#if defined(__cplusplus)
|
||||
extern "C" { /* Make sure we have C-declarations in C++ programs */
|
||||
#endif
|
||||
|
||||
#if GUI_WINSUPPORT
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* defines
|
||||
*
|
||||
**********************************************************************
|
||||
|
||||
The following could be placed in a file of its own as it is not
|
||||
used outside of the window manager
|
||||
|
||||
*/
|
||||
/* Basic Windows status flags.
|
||||
For module-internally use only !
|
||||
*/
|
||||
#define WM_SF_HASTRANS WM_CF_HASTRANS
|
||||
#define WM_SF_MEMDEV WM_CF_MEMDEV
|
||||
#define WM_SF_MEMDEV_ON_REDRAW WM_CF_MEMDEV_ON_REDRAW
|
||||
#define WM_SF_DISABLED WM_CF_DISABLED /* Disabled: Does not receive PID (mouse & touch) input */
|
||||
#define WM_SF_ISVIS WM_CF_SHOW /* Is visible flag */
|
||||
|
||||
#define WM_SF_STAYONTOP WM_CF_STAYONTOP
|
||||
#define WM_SF_LATE_CLIP WM_CF_LATE_CLIP
|
||||
#define WM_SF_ANCHOR_RIGHT WM_CF_ANCHOR_RIGHT
|
||||
#define WM_SF_ANCHOR_BOTTOM WM_CF_ANCHOR_BOTTOM
|
||||
#define WM_SF_ANCHOR_LEFT WM_CF_ANCHOR_LEFT
|
||||
#define WM_SF_ANCHOR_TOP WM_CF_ANCHOR_TOP
|
||||
|
||||
#define WM_SF_INVALID WM_CF_ACTIVATE /* We reuse this flag, as it is create only and Invalid is status only */
|
||||
|
||||
#define WM_SF_CONST_OUTLINE WM_CF_CONST_OUTLINE /* Constant outline.*/
|
||||
|
||||
#define WM_HANDLE2PTR(hWin) ((WM_Obj*)GUI_ALLOC_h2p(hWin)) /* older form ... to be eliminated */
|
||||
#define WM_H2P(hWin) ((WM_Obj*)GUI_ALLOC_h2p(hWin))
|
||||
|
||||
|
||||
#if GUI_DEBUG_LEVEL >= GUI_DEBUG_LEVEL_LOG_WARNINGS
|
||||
#define WM_ASSERT_NOT_IN_PAINT() { if (WM__PaintCallbackCnt) \
|
||||
GUI_DEBUG_ERROROUT("Function may not be called from within a paint event"); \
|
||||
}
|
||||
#else
|
||||
#define WM_ASSERT_NOT_IN_PAINT()
|
||||
#endif
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Data types & structures
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
typedef struct {
|
||||
WM_HWIN hWin;
|
||||
WM_Obj* pWin;
|
||||
} WM_PAINTINFO;
|
||||
|
||||
typedef struct {
|
||||
WM_HWIN hOld;
|
||||
WM_HWIN hNew;
|
||||
} WM_NOTIFY_CHILD_HAS_FOCUS_INFO;
|
||||
|
||||
typedef struct WM_CRITICAL_HANDLE {
|
||||
struct WM_CRITICAL_HANDLE * pNext;
|
||||
volatile WM_HWIN hWin;
|
||||
} WM_CRITICAL_HANDLE;
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Data (extern)
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
extern U16 WM__CreateFlags;
|
||||
extern WM_HWIN WM__hCapture;
|
||||
extern WM_HWIN WM__hWinFocus;
|
||||
extern char WM__CaptureReleaseAuto;
|
||||
extern WM_tfPollPID* WM_pfPollPID;
|
||||
extern U8 WM__PaintCallbackCnt; /* Public for assertions only */
|
||||
extern GUI_PID_STATE WM_PID__StateLast;
|
||||
|
||||
#if WM_SUPPORT_TRANSPARENCY
|
||||
extern int WM__TransWindowCnt;
|
||||
extern WM_HWIN WM__hATransWindow;
|
||||
#endif
|
||||
|
||||
#if WM_SUPPORT_DIAG
|
||||
extern void (*WM__pfShowInvalid)(WM_HWIN hWin);
|
||||
#endif
|
||||
|
||||
extern WM_CRITICAL_HANDLE WM__CHWinModal;
|
||||
extern WM_CRITICAL_HANDLE WM__CHWinLast;
|
||||
|
||||
#ifdef WM_C
|
||||
#define GUI_EXTERN
|
||||
#else
|
||||
#define GUI_EXTERN extern
|
||||
#endif
|
||||
|
||||
GUI_EXTERN U16 WM__NumWindows;
|
||||
GUI_EXTERN U16 WM__NumInvalidWindows;
|
||||
GUI_EXTERN WM_HWIN WM__FirstWin;
|
||||
GUI_EXTERN WM_CRITICAL_HANDLE* WM__pFirstCriticalHandle;
|
||||
#undef GUI_EXTERN
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Prototypes
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
void WM__ActivateClipRect (void);
|
||||
int WM__ClipAtParentBorders (GUI_RECT* pRect, WM_HWIN hWin);
|
||||
void WM__Client2Screen (const WM_Obj* pWin, GUI_RECT *pRect);
|
||||
void WM__DetachWindow (WM_HWIN hChild);
|
||||
void WM__ForEachDesc(WM_HWIN hWin, WM_tfForEach * pcb, void * pData);
|
||||
void WM__GetClientRectWin (const WM_Obj* pWin, GUI_RECT* pRect);
|
||||
WM_HWIN WM__GetFirstSibling (WM_HWIN hWin);
|
||||
WM_HWIN WM__GetFocussedChild (WM_HWIN hWin);
|
||||
int WM__GetHasFocus (WM_HWIN hWin);
|
||||
WM_HWIN WM__GetLastSibling (WM_HWIN hWin);
|
||||
WM_HWIN WM__GetPrevSibling (WM_HWIN hWin);
|
||||
int WM__GetWindowSizeX (const WM_Obj* pWin);
|
||||
int WM__GetWindowSizeY (const WM_Obj* pWin);
|
||||
void WM__InsertWindowIntoList (WM_HWIN hWin, WM_HWIN hParent);
|
||||
void WM__InvalidateAreaBelow (const GUI_RECT* pRect, WM_HWIN StopWin);
|
||||
void WM__InvalidateTransAreaAbove(const GUI_RECT* pRect, WM_HWIN StopWin);
|
||||
int WM__IntersectRect (GUI_RECT* pDest, const GUI_RECT* pr0, const GUI_RECT* pr1);
|
||||
int WM__IsAncestor (WM_HWIN hChild, WM_HWIN hParent);
|
||||
int WM__IsAncestorOrSelf (WM_HWIN hChild, WM_HWIN hParent);
|
||||
int WM__IsChild (WM_HWIN hWin, WM_HWIN hParent);
|
||||
int WM__IsEnabled (WM_HWIN hWin);
|
||||
int WM__IsInModalArea (WM_HWIN hWin);
|
||||
int WM__IsInWindow (WM_Obj * pWin, int x, int y);
|
||||
int WM__IsWindow (WM_HWIN hWin);
|
||||
void WM__LeaveIVRSearch (void);
|
||||
void WM__MoveTo (WM_HWIN hWin, int x, int y);
|
||||
void WM__MoveWindow (WM_HWIN hWin, int dx, int dy);
|
||||
void WM__NotifyVisChanged (WM_HWIN hWin, GUI_RECT * pRect);
|
||||
int WM__RectIsNZ (const GUI_RECT* pr);
|
||||
void WM__RemoveWindowFromList (WM_HWIN hWin);
|
||||
void WM__RemoveFromLinList (WM_HWIN hWin);
|
||||
void WM__Screen2Client (const WM_Obj* pWin, GUI_RECT *pRect);
|
||||
void WM__SendMsgNoData (WM_HWIN hWin, U8 MsgId);
|
||||
void WM__SendMessage (WM_HWIN hWin, WM_MESSAGE* pm);
|
||||
void WM__SendMessageIfEnabled (WM_HWIN hWin, WM_MESSAGE* pm);
|
||||
void WM__SendMessageNoPara (WM_HWIN hWin, int MsgId);
|
||||
void WM__SendPIDMessage (WM_HWIN hWin, WM_MESSAGE* pMsg);
|
||||
int WM__SetScrollbarH (WM_HWIN hWin, int OnOff);
|
||||
int WM__SetScrollbarV (WM_HWIN hWin, int OnOff);
|
||||
void WM__UpdateChildPositions (WM_Obj* pObj, int dx0, int dy0, int dx1, int dy1);
|
||||
void WM_PID__GetPrevState (GUI_PID_STATE* pPrevState);
|
||||
void WM__SendTouchMessage (WM_HWIN hWin, WM_MESSAGE* pMsg);
|
||||
|
||||
U16 WM_GetFlags(WM_HWIN hWin);
|
||||
void WM__PaintWinAndOverlays (WM_PAINTINFO* pInfo);
|
||||
void WM__AddCriticalHandle (WM_CRITICAL_HANDLE* pCH);
|
||||
void WM__RemoveCriticalHandle (WM_CRITICAL_HANDLE* pCH);
|
||||
|
||||
#endif /* GUI_WINSUPPORT */
|
||||
|
||||
#if defined(__cplusplus)
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* WM_INTERN_H */
|
||||
|
||||
/*************************** End of file ****************************/
|
||||
@@ -0,0 +1,43 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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 : WM_Intern_ConfDep.h
|
||||
Purpose : Windows manager internal include, dependent on LCDConf.h
|
||||
----------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
#ifndef WM_INTERN_CONFDEP_H /* Make sure we only include it once */
|
||||
#define WM_INTERN_CONFDEP_H /* Make sure we only include it once */
|
||||
|
||||
#include "WM_Intern.h"
|
||||
|
||||
#if GUI_WINSUPPORT
|
||||
|
||||
|
||||
#ifdef WM_C
|
||||
#define GUI_EXTERN
|
||||
#else
|
||||
#define GUI_EXTERN extern
|
||||
#endif
|
||||
|
||||
GUI_EXTERN WM_HWIN WM__ahDesktopWin[GUI_NUM_LAYERS]; /* No longer depends on LCDConf.h ... Can be moved to an other file */
|
||||
GUI_EXTERN GUI_COLOR WM__aBkColor[GUI_NUM_LAYERS]; /* No longer depends on LCDConf.h ... Can be moved to an other file */
|
||||
|
||||
#undef GUI_EXTERN
|
||||
|
||||
#endif /* GUI_WINSUPPORT */
|
||||
|
||||
#endif /* WM_INTERN_H */
|
||||
|
||||
/*************************** End of file ****************************/
|
||||
@@ -0,0 +1,100 @@
|
||||
|
||||
|
||||
/*
|
||||
* jconfig.doc
|
||||
*
|
||||
* Copyright (C) 1991-1994, Thomas G. Lane.
|
||||
* This file is part of the Independent JPEG Group's software.
|
||||
* For conditions of distribution and use, see the accompanying README file.
|
||||
*
|
||||
* This file documents the configuration options that are required to
|
||||
* customize the JPEG software for a particular system.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include "GUI.h" /* Only needed for GUI_USE_PARA(xxx) */
|
||||
|
||||
/*
|
||||
* These symbols indicate the properties of your machine or compiler.
|
||||
* #define the symbol if yes, #undef it if no.
|
||||
*/
|
||||
|
||||
|
||||
/* Does your compiler support the declaration "unsigned char" ?
|
||||
* How about "unsigned short" ?
|
||||
*/
|
||||
#define HAVE_UNSIGNED_CHAR
|
||||
|
||||
|
||||
/* Define this if an ordinary "char" type is unsigned.
|
||||
* If you're not sure, leaving it undefined will work at some cost in speed.
|
||||
* If you defined HAVE_UNSIGNED_CHAR then the speed difference is minimal.
|
||||
*/
|
||||
#ifdef CHAR_IS_UNSIGNED
|
||||
#undef CHAR_IS_UNSIGNED
|
||||
#endif
|
||||
#define HAVE_STDDEF_H /* Define this if your system has an ANSI-conforming <stddef.h> file. */
|
||||
#define HAVE_STDLIB_H /* Define this if your system has an ANSI-conforming <stdlib.h> file. */
|
||||
#ifdef NEED_BSD_STRINGS
|
||||
#undef NEED_BSD_STRINGS /* Define this if your system does not have an ANSI/SysV <string.h>, but does have a BSD-style <strings.h>. */
|
||||
#endif
|
||||
|
||||
/* Define this if your system does not provide typedef size_t in any of the
|
||||
* ANSI-standard places (stddef.h, stdlib.h, or stdio.h), but places it in
|
||||
* <sys/types.h> instead.
|
||||
*/
|
||||
#ifdef NEED_SYS_TYPES_H
|
||||
#undef NEED_SYS_TYPES_H
|
||||
#endif
|
||||
|
||||
/* For 80x86 machines, you need to define NEED_FAR_POINTERS,
|
||||
* unless you are using a large-data memory model or 80386 flat-memory mode.
|
||||
* On less brain-damaged CPUs this symbol must not be defined.
|
||||
* (Defining this symbol causes large data structures to be referenced through
|
||||
* "far" pointers and to be allocated with a special version of malloc.)
|
||||
*/
|
||||
#ifdef NEED_SYS_TYPES_H
|
||||
#undef NEED_FAR_POINTERS
|
||||
#endif
|
||||
|
||||
|
||||
/* Although a real ANSI C compiler can deal perfectly well with pointers to
|
||||
* unspecified structures (see "incomplete types" in the spec), a few pre-ANSI
|
||||
* and pseudo-ANSI compilers get confused. To keep one of these bozos happy,
|
||||
* define INCOMPLETE_TYPES_BROKEN. This is not recommended unless you
|
||||
* actually get "missing structure definition" warnings or errors while
|
||||
* compiling the JPEG code.
|
||||
*/
|
||||
#ifdef INCOMPLETE_TYPES_BROKEN
|
||||
#undef INCOMPLETE_TYPES_BROKEN
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
* The following options affect code selection within the JPEG library,
|
||||
* but they don't need to be visible to applications using the library.
|
||||
* To minimize application namespace pollution, the symbols won't be
|
||||
* defined unless JPEG_INTERNALS has been defined.
|
||||
*/
|
||||
|
||||
#ifdef JPEG_INTERNALS
|
||||
|
||||
/* Define this if your compiler implements ">>" on signed values as a logical
|
||||
* (unsigned) shift; leave it undefined if ">>" is a signed (arithmetic) shift,
|
||||
* which is the normal and rational definition.
|
||||
*/
|
||||
#ifdef RIGHT_SHIFT_IS_UNSIGNED
|
||||
#undef RIGHT_SHIFT_IS_UNSIGNED
|
||||
#endif
|
||||
|
||||
|
||||
#endif /* JPEG_INTERNALS */
|
||||
|
||||
#ifndef GUI_USE_PARA
|
||||
#define GUI_USE_PARA(x)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,163 @@
|
||||
/*
|
||||
* jdct.h
|
||||
*
|
||||
* Copyright (C) 1994-1996, Thomas G. Lane.
|
||||
* This file is part of the Independent JPEG Group's software.
|
||||
* For conditions of distribution and use, see the accompanying README file.
|
||||
*
|
||||
* This include file contains common declarations for the forward and
|
||||
* inverse DCT modules. These declarations are private to the DCT managers
|
||||
* (jcdctmgr.c, jddctmgr.c) and the individual DCT algorithms.
|
||||
* The individual DCT algorithms are kept in separate files to ease
|
||||
* machine-dependent tuning (e.g., assembly coding).
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* A forward DCT routine is given a pointer to a work area of type DCTELEM[];
|
||||
* the DCT is to be performed in-place in that buffer. Type DCTELEM is int
|
||||
* for 8-bit samples, INT32 for 12-bit samples. (NOTE: Floating-point DCT
|
||||
* implementations use an array of type FAST_FLOAT, instead.)
|
||||
* The DCT inputs are expected to be signed (range +-CENTERJSAMPLE).
|
||||
* The DCT outputs are returned scaled up by a factor of 8; they therefore
|
||||
* have a range of +-8K for 8-bit data, +-128K for 12-bit data. This
|
||||
* convention improves accuracy in integer implementations and saves some
|
||||
* work in floating-point ones.
|
||||
* Quantization of the output coefficients is done by jcdctmgr.c.
|
||||
*/
|
||||
|
||||
#if BITS_IN_JSAMPLE == 8
|
||||
typedef int DCTELEM; /* 16 or 32 bits is fine */
|
||||
#else
|
||||
typedef INT32 DCTELEM; /* must have 32 bits */
|
||||
#endif
|
||||
|
||||
typedef JMETHOD(void, forward_DCT_method_ptr, (DCTELEM * data));
|
||||
typedef JMETHOD(void, float_DCT_method_ptr, (FAST_FLOAT * data));
|
||||
|
||||
|
||||
/*
|
||||
* An inverse DCT routine is given a pointer to the input JBLOCK and a pointer
|
||||
* to an output sample array. The routine must dequantize the input data as
|
||||
* well as perform the IDCT; for dequantization, it uses the multiplier table
|
||||
* pointed to by compptr->dct_table. The output data is to be placed into the
|
||||
* sample array starting at a specified column. (Any row offset needed will
|
||||
* be applied to the array pointer before it is passed to the IDCT code.)
|
||||
* Note that the number of samples emitted by the IDCT routine is
|
||||
* DCT_scaled_size * DCT_scaled_size.
|
||||
*/
|
||||
|
||||
/* typedef inverse_DCT_method_ptr is declared in jpegint.h */
|
||||
|
||||
/*
|
||||
* Each IDCT routine has its own ideas about the best dct_table element type.
|
||||
*/
|
||||
|
||||
typedef MULTIPLIER ISLOW_MULT_TYPE; /* short or int, whichever is faster */
|
||||
#if BITS_IN_JSAMPLE == 8
|
||||
typedef MULTIPLIER IFAST_MULT_TYPE; /* 16 bits is OK, use short if faster */
|
||||
#define IFAST_SCALE_BITS 2 /* fractional bits in scale factors */
|
||||
#else
|
||||
typedef INT32 IFAST_MULT_TYPE; /* need 32 bits for scaled quantizers */
|
||||
#define IFAST_SCALE_BITS 13 /* fractional bits in scale factors */
|
||||
#endif
|
||||
typedef FAST_FLOAT FLOAT_MULT_TYPE; /* preferred floating type */
|
||||
|
||||
|
||||
/*
|
||||
* Each IDCT routine is responsible for range-limiting its results and
|
||||
* converting them to unsigned form (0..MAXJSAMPLE). The raw outputs could
|
||||
* be quite far out of range if the input data is corrupt, so a bulletproof
|
||||
* range-limiting step is required. We use a mask-and-table-lookup method
|
||||
* to do the combined operations quickly. See the comments with
|
||||
* prepare_range_limit_table (in jdmaster.c) for more info.
|
||||
*/
|
||||
|
||||
#define IDCT_range_limit(cinfo) ((cinfo)->sample_range_limit + CENTERJSAMPLE)
|
||||
|
||||
#define RANGE_MASK (MAXJSAMPLE * 4 + 3) /* 2 bits wider than legal samples */
|
||||
|
||||
|
||||
|
||||
/* Extern declarations for the forward and inverse DCT routines. */
|
||||
|
||||
EXTERN(void) jpeg_fdct_islow JPP((DCTELEM * data));
|
||||
EXTERN(void) jpeg_fdct_ifast JPP((DCTELEM * data));
|
||||
EXTERN(void) jpeg_fdct_float JPP((FAST_FLOAT * data));
|
||||
|
||||
EXTERN(void) jpeg_idct_islow
|
||||
JPP((j_decompress_ptr cinfo, jpeg_component_info * compptr,
|
||||
JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col));
|
||||
EXTERN(void) jpeg_idct_ifast
|
||||
JPP((j_decompress_ptr cinfo, jpeg_component_info * compptr,
|
||||
JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col));
|
||||
EXTERN(void) jpeg_idct_float
|
||||
JPP((j_decompress_ptr cinfo, jpeg_component_info * compptr,
|
||||
JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col));
|
||||
EXTERN(void) jpeg_idct_4x4
|
||||
JPP((j_decompress_ptr cinfo, jpeg_component_info * compptr,
|
||||
JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col));
|
||||
EXTERN(void) jpeg_idct_2x2
|
||||
JPP((j_decompress_ptr cinfo, jpeg_component_info * compptr,
|
||||
JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col));
|
||||
EXTERN(void) jpeg_idct_1x1
|
||||
JPP((j_decompress_ptr cinfo, jpeg_component_info * compptr,
|
||||
JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col));
|
||||
|
||||
|
||||
/*
|
||||
* Macros for handling fixed-point arithmetic; these are used by many
|
||||
* but not all of the DCT/IDCT modules.
|
||||
*
|
||||
* All values are expected to be of type INT32.
|
||||
* Fractional constants are scaled left by CONST_BITS bits.
|
||||
* CONST_BITS is defined within each module using these macros,
|
||||
* and may differ from one module to the next.
|
||||
*/
|
||||
|
||||
#define ONE ((INT32) 1)
|
||||
#define CONST_SCALE (ONE << CONST_BITS)
|
||||
|
||||
/* Convert a positive real constant to an integer scaled by CONST_SCALE.
|
||||
* Caution: some C compilers fail to reduce "FIX(constant)" at compile time,
|
||||
* thus causing a lot of useless floating-point operations at run time.
|
||||
*/
|
||||
|
||||
#define FIX(x) ((INT32) ((x) * CONST_SCALE + 0.5))
|
||||
|
||||
/* Descale and correctly round an INT32 value that's scaled by N bits.
|
||||
* We assume RIGHT_SHIFT rounds towards minus infinity, so adding
|
||||
* the fudge factor is correct for either sign of X.
|
||||
*/
|
||||
|
||||
#define DESCALE(x,n) RIGHT_SHIFT((x) + (ONE << ((n)-1)), n)
|
||||
|
||||
/* Multiply an INT32 variable by an INT32 constant to yield an INT32 result.
|
||||
* This macro is used only when the two inputs will actually be no more than
|
||||
* 16 bits wide, so that a 16x16->32 bit multiply can be used instead of a
|
||||
* full 32x32 multiply. This provides a useful speedup on many machines.
|
||||
* Unfortunately there is no way to specify a 16x16->32 multiply portably
|
||||
* in C, but some C compilers will do the right thing if you provide the
|
||||
* correct combination of casts.
|
||||
*/
|
||||
|
||||
#ifdef SHORTxSHORT_32 /* may work if 'int' is 32 bits */
|
||||
#define MULTIPLY16C16(var,const) (((INT16) (var)) * ((INT16) (const)))
|
||||
#endif
|
||||
#ifdef SHORTxLCONST_32 /* known to work with Microsoft C 6.0 */
|
||||
#define MULTIPLY16C16(var,const) (((INT16) (var)) * ((INT32) (const)))
|
||||
#endif
|
||||
|
||||
#ifndef MULTIPLY16C16 /* default definition */
|
||||
#define MULTIPLY16C16(var,const) ((var) * (const))
|
||||
#endif
|
||||
|
||||
/* Same except both inputs are variables. */
|
||||
|
||||
#ifdef SHORTxSHORT_32 /* may work if 'int' is 32 bits */
|
||||
#define MULTIPLY16V16(var1,var2) (((INT16) (var1)) * ((INT16) (var2)))
|
||||
#endif
|
||||
|
||||
#ifndef MULTIPLY16V16 /* default definition */
|
||||
#define MULTIPLY16V16(var1,var2) ((var1) * (var2))
|
||||
#endif
|
||||
@@ -0,0 +1,193 @@
|
||||
/*
|
||||
* jdhuff.h
|
||||
*
|
||||
* Copyright (C) 1991-1997, Thomas G. Lane.
|
||||
* This file is part of the Independent JPEG Group's software.
|
||||
* For conditions of distribution and use, see the accompanying README file.
|
||||
*
|
||||
* This file contains declarations for Huffman entropy decoding routines
|
||||
* that are shared between the sequential decoder (jdhuff.c) and the
|
||||
* progressive decoder (jdphuff.c). No other modules need to see these.
|
||||
*/
|
||||
|
||||
|
||||
/* Derived data constructed for each Huffman table */
|
||||
|
||||
#define HUFF_LOOKAHEAD 8 /* # of bits of lookahead */
|
||||
|
||||
typedef struct {
|
||||
/* Basic tables: (element [0] of each array is unused) */
|
||||
INT32 maxcode[18]; /* largest code of length k (-1 if none) */
|
||||
/* (maxcode[17] is a sentinel to ensure jpeg_huff_decode terminates) */
|
||||
INT32 valoffset[17]; /* huffval[] offset for codes of length k */
|
||||
/* valoffset[k] = huffval[] index of 1st symbol of code length k, less
|
||||
* the smallest code of length k; so given a code of length k, the
|
||||
* corresponding symbol is huffval[code + valoffset[k]]
|
||||
*/
|
||||
|
||||
/* Link to public Huffman table (needed only in jpeg_huff_decode) */
|
||||
JHUFF_TBL *pub;
|
||||
|
||||
/* Lookahead tables: indexed by the next HUFF_LOOKAHEAD bits of
|
||||
* the input data stream. If the next Huffman code is no more
|
||||
* than HUFF_LOOKAHEAD bits long, we can obtain its length and
|
||||
* the corresponding symbol directly from these tables.
|
||||
*/
|
||||
int look_nbits[1<<HUFF_LOOKAHEAD]; /* # bits, or 0 if too long */
|
||||
UINT8 look_sym[1<<HUFF_LOOKAHEAD]; /* symbol, or unused */
|
||||
} d_derived_tbl;
|
||||
|
||||
/* Expand a Huffman table definition into the derived format */
|
||||
EXTERN(void) jpeg_make_d_derived_tbl
|
||||
JPP((j_decompress_ptr cinfo, boolean isDC, int tblno,
|
||||
d_derived_tbl ** pdtbl));
|
||||
|
||||
|
||||
/*
|
||||
* Fetching the next N bits from the input stream is a time-critical operation
|
||||
* for the Huffman decoders. We implement it with a combination of inline
|
||||
* macros and out-of-line subroutines. Note that N (the number of bits
|
||||
* demanded at one time) never exceeds 15 for JPEG use.
|
||||
*
|
||||
* We read source bytes into get_buffer and dole out bits as needed.
|
||||
* If get_buffer already contains enough bits, they are fetched in-line
|
||||
* by the macros CHECK_BIT_BUFFER and GET_BITS. When there aren't enough
|
||||
* bits, jpeg_fill_bit_buffer is called; it will attempt to fill get_buffer
|
||||
* as full as possible (not just to the number of bits needed; this
|
||||
* prefetching reduces the overhead cost of calling jpeg_fill_bit_buffer).
|
||||
* Note that jpeg_fill_bit_buffer may return FALSE to indicate suspension.
|
||||
* On TRUE return, jpeg_fill_bit_buffer guarantees that get_buffer contains
|
||||
* at least the requested number of bits --- dummy zeroes are inserted if
|
||||
* necessary.
|
||||
*/
|
||||
|
||||
typedef INT32 bit_buf_type; /* type of bit-extraction buffer */
|
||||
#define BIT_BUF_SIZE 32 /* size of buffer in bits */
|
||||
|
||||
/* If long is > 32 bits on your machine, and shifting/masking longs is
|
||||
* reasonably fast, making bit_buf_type be long and setting BIT_BUF_SIZE
|
||||
* appropriately should be a win. Unfortunately we can't define the size
|
||||
* with something like #define BIT_BUF_SIZE (sizeof(bit_buf_type)*8)
|
||||
* because not all machines measure sizeof in 8-bit bytes.
|
||||
*/
|
||||
|
||||
typedef struct { /* Bitreading state saved across MCUs */
|
||||
bit_buf_type get_buffer; /* current bit-extraction buffer */
|
||||
int bits_left; /* # of unused bits in it */
|
||||
} bitread_perm_state;
|
||||
|
||||
typedef struct { /* Bitreading working state within an MCU */
|
||||
/* Current data source location */
|
||||
/* We need a copy, rather than munging the original, in case of suspension */
|
||||
const JOCTET * next_input_byte; /* => next byte to read from source */
|
||||
size_t bytes_in_buffer; /* # of bytes remaining in source buffer */
|
||||
/* Bit input buffer --- note these values are kept in register variables,
|
||||
* not in this struct, inside the inner loops.
|
||||
*/
|
||||
bit_buf_type get_buffer; /* current bit-extraction buffer */
|
||||
int bits_left; /* # of unused bits in it */
|
||||
/* Pointer needed by jpeg_fill_bit_buffer. */
|
||||
j_decompress_ptr cinfo; /* back link to decompress master record */
|
||||
} bitread_working_state;
|
||||
|
||||
/* Macros to declare and load/save bitread local variables. */
|
||||
#define BITREAD_STATE_VARS \
|
||||
register bit_buf_type get_buffer; \
|
||||
register int bits_left; \
|
||||
bitread_working_state br_state
|
||||
|
||||
#define BITREAD_LOAD_STATE(cinfop,permstate) \
|
||||
br_state.cinfo = cinfop; \
|
||||
br_state.next_input_byte = cinfop->src->next_input_byte; \
|
||||
br_state.bytes_in_buffer = cinfop->src->bytes_in_buffer; \
|
||||
get_buffer = permstate.get_buffer; \
|
||||
bits_left = permstate.bits_left;
|
||||
|
||||
#define BITREAD_SAVE_STATE(cinfop,permstate) \
|
||||
cinfop->src->next_input_byte = br_state.next_input_byte; \
|
||||
cinfop->src->bytes_in_buffer = br_state.bytes_in_buffer; \
|
||||
permstate.get_buffer = get_buffer; \
|
||||
permstate.bits_left = bits_left
|
||||
|
||||
/*
|
||||
* These macros provide the in-line portion of bit fetching.
|
||||
* Use CHECK_BIT_BUFFER to ensure there are N bits in get_buffer
|
||||
* before using GET_BITS, PEEK_BITS, or DROP_BITS.
|
||||
* The variables get_buffer and bits_left are assumed to be locals,
|
||||
* but the state struct might not be (jpeg_huff_decode needs this).
|
||||
* CHECK_BIT_BUFFER(state,n,action);
|
||||
* Ensure there are N bits in get_buffer; if suspend, take action.
|
||||
* val = GET_BITS(n);
|
||||
* Fetch next N bits.
|
||||
* val = PEEK_BITS(n);
|
||||
* Fetch next N bits without removing them from the buffer.
|
||||
* DROP_BITS(n);
|
||||
* Discard next N bits.
|
||||
* The value N should be a simple variable, not an expression, because it
|
||||
* is evaluated multiple times.
|
||||
*/
|
||||
|
||||
#define CHECK_BIT_BUFFER(state,nbits,action) \
|
||||
{ if (bits_left < (nbits)) { \
|
||||
if (! jpeg_fill_bit_buffer(&(state),get_buffer,bits_left,nbits)) \
|
||||
{ action; } \
|
||||
get_buffer = (state).get_buffer; bits_left = (state).bits_left; } }
|
||||
|
||||
#define GET_BITS(nbits) \
|
||||
(((int) (get_buffer >> (bits_left -= (nbits)))) & ((1<<(nbits))-1))
|
||||
|
||||
#define PEEK_BITS(nbits) \
|
||||
(((int) (get_buffer >> (bits_left - (nbits)))) & ((1<<(nbits))-1))
|
||||
|
||||
#define DROP_BITS(nbits) \
|
||||
(bits_left -= (nbits))
|
||||
|
||||
/* Load up the bit buffer to a depth of at least nbits */
|
||||
EXTERN(boolean) jpeg_fill_bit_buffer
|
||||
JPP((bitread_working_state * state, register bit_buf_type get_buffer,
|
||||
register int bits_left, int nbits));
|
||||
|
||||
|
||||
/*
|
||||
* Code for extracting next Huffman-coded symbol from input bit stream.
|
||||
* Again, this is time-critical and we make the main paths be macros.
|
||||
*
|
||||
* We use a lookahead table to process codes of up to HUFF_LOOKAHEAD bits
|
||||
* without looping. Usually, more than 95% of the Huffman codes will be 8
|
||||
* or fewer bits long. The few overlength codes are handled with a loop,
|
||||
* which need not be inline code.
|
||||
*
|
||||
* Notes about the HUFF_DECODE macro:
|
||||
* 1. Near the end of the data segment, we may fail to get enough bits
|
||||
* for a lookahead. In that case, we do it the hard way.
|
||||
* 2. If the lookahead table contains no entry, the next code must be
|
||||
* more than HUFF_LOOKAHEAD bits long.
|
||||
* 3. jpeg_huff_decode returns -1 if forced to suspend.
|
||||
*/
|
||||
|
||||
#define HUFF_DECODE(result,state,htbl,failaction,slowlabel) \
|
||||
{ register int nb, look; \
|
||||
if (bits_left < HUFF_LOOKAHEAD) { \
|
||||
if (! jpeg_fill_bit_buffer(&state,get_buffer,bits_left, 0)) {failaction;} \
|
||||
get_buffer = state.get_buffer; bits_left = state.bits_left; \
|
||||
if (bits_left < HUFF_LOOKAHEAD) { \
|
||||
nb = 1; goto slowlabel; \
|
||||
} \
|
||||
} \
|
||||
look = PEEK_BITS(HUFF_LOOKAHEAD); \
|
||||
if ((nb = htbl->look_nbits[look]) != 0) { \
|
||||
DROP_BITS(nb); \
|
||||
result = htbl->look_sym[look]; \
|
||||
} else { \
|
||||
nb = HUFF_LOOKAHEAD+1; \
|
||||
slowlabel: \
|
||||
if ((result=jpeg_huff_decode(&state,get_buffer,bits_left,htbl,nb)) < 0) \
|
||||
{ failaction; } \
|
||||
get_buffer = state.get_buffer; bits_left = state.bits_left; \
|
||||
} \
|
||||
}
|
||||
|
||||
/* Out-of-line case for Huffman code fetching */
|
||||
EXTERN(int) jpeg_huff_decode
|
||||
JPP((bitread_working_state * state, register bit_buf_type get_buffer,
|
||||
register int bits_left, d_derived_tbl * htbl, int min_bits));
|
||||
@@ -0,0 +1,291 @@
|
||||
/*
|
||||
* jerror.h
|
||||
*
|
||||
* Copyright (C) 1994-1997, Thomas G. Lane.
|
||||
* This file is part of the Independent JPEG Group's software.
|
||||
* For conditions of distribution and use, see the accompanying README file.
|
||||
*
|
||||
* This file defines the error and message codes for the JPEG library.
|
||||
* Edit this file to add new codes, or to translate the message strings to
|
||||
* some other language.
|
||||
* A set of error-reporting macros are defined too. Some applications using
|
||||
* the JPEG library may wish to include this file to get the error codes
|
||||
* and/or the macros.
|
||||
*/
|
||||
|
||||
/*
|
||||
* To define the enum list of message codes, include this file without
|
||||
* defining macro JMESSAGE. To create a message string table, include it
|
||||
* again with a suitable JMESSAGE definition (see jerror.c for an example).
|
||||
*/
|
||||
#ifndef JMESSAGE
|
||||
#ifndef JERROR_H
|
||||
/* First time through, define the enum list */
|
||||
#define JMAKE_ENUM_LIST
|
||||
#else
|
||||
/* Repeated inclusions of this file are no-ops unless JMESSAGE is defined */
|
||||
#define JMESSAGE(code,string)
|
||||
#endif /* JERROR_H */
|
||||
#endif /* JMESSAGE */
|
||||
|
||||
#ifdef JMAKE_ENUM_LIST
|
||||
|
||||
typedef enum {
|
||||
|
||||
#define JMESSAGE(code,string) code ,
|
||||
|
||||
#endif /* JMAKE_ENUM_LIST */
|
||||
|
||||
JMESSAGE(JMSG_NOMESSAGE, "Bogus message code %d") /* Must be first entry! */
|
||||
|
||||
/* For maintenance convenience, list is alphabetical by message code name */
|
||||
JMESSAGE(JERR_ARITH_NOTIMPL,
|
||||
"Sorry, there are legal restrictions on arithmetic coding")
|
||||
JMESSAGE(JERR_BAD_ALIGN_TYPE, "ALIGN_TYPE is wrong, please fix")
|
||||
JMESSAGE(JERR_BAD_ALLOC_CHUNK, "MAX_ALLOC_CHUNK is wrong, please fix")
|
||||
JMESSAGE(JERR_BAD_BUFFER_MODE, "Bogus buffer control mode")
|
||||
JMESSAGE(JERR_BAD_COMPONENT_ID, "Invalid component ID %d in SOS")
|
||||
JMESSAGE(JERR_BAD_DCT_COEF, "DCT coefficient out of range")
|
||||
JMESSAGE(JERR_BAD_DCTSIZE, "IDCT output block size %d not supported")
|
||||
JMESSAGE(JERR_BAD_HUFF_TABLE, "Bogus Huffman table definition")
|
||||
JMESSAGE(JERR_BAD_IN_COLORSPACE, "Bogus input colorspace")
|
||||
JMESSAGE(JERR_BAD_J_COLORSPACE, "Bogus JPEG colorspace")
|
||||
JMESSAGE(JERR_BAD_LENGTH, "Bogus marker length")
|
||||
JMESSAGE(JERR_BAD_LIB_VERSION,
|
||||
"Wrong JPEG library version: library is %d, caller expects %d")
|
||||
JMESSAGE(JERR_BAD_MCU_SIZE, "Sampling factors too large for interleaved scan")
|
||||
JMESSAGE(JERR_BAD_POOL_ID, "Invalid memory pool code %d")
|
||||
JMESSAGE(JERR_BAD_PRECISION, "Unsupported JPEG data precision %d")
|
||||
JMESSAGE(JERR_BAD_PROGRESSION,
|
||||
"Invalid progressive parameters Ss=%d Se=%d Ah=%d Al=%d")
|
||||
JMESSAGE(JERR_BAD_PROG_SCRIPT,
|
||||
"Invalid progressive parameters at scan script entry %d")
|
||||
JMESSAGE(JERR_BAD_SAMPLING, "Bogus sampling factors")
|
||||
JMESSAGE(JERR_BAD_SCAN_SCRIPT, "Invalid scan script at entry %d")
|
||||
JMESSAGE(JERR_BAD_STATE, "Improper call to JPEG library in state %d")
|
||||
JMESSAGE(JERR_BAD_STRUCT_SIZE,
|
||||
"JPEG parameter struct mismatch: library thinks size is %u, caller expects %u")
|
||||
JMESSAGE(JERR_BAD_VIRTUAL_ACCESS, "Bogus virtual array access")
|
||||
JMESSAGE(JERR_BUFFER_SIZE, "Buffer passed to JPEG library is too small")
|
||||
JMESSAGE(JERR_CANT_SUSPEND, "Suspension not allowed here")
|
||||
JMESSAGE(JERR_CCIR601_NOTIMPL, "CCIR601 sampling not implemented yet")
|
||||
JMESSAGE(JERR_COMPONENT_COUNT, "Too many color components: %d, max %d")
|
||||
JMESSAGE(JERR_CONVERSION_NOTIMPL, "Unsupported color conversion request")
|
||||
JMESSAGE(JERR_DAC_INDEX, "Bogus DAC index %d")
|
||||
JMESSAGE(JERR_DAC_VALUE, "Bogus DAC value 0x%x")
|
||||
JMESSAGE(JERR_DHT_INDEX, "Bogus DHT index %d")
|
||||
JMESSAGE(JERR_DQT_INDEX, "Bogus DQT index %d")
|
||||
JMESSAGE(JERR_EMPTY_IMAGE, "Empty JPEG image (DNL not supported)")
|
||||
JMESSAGE(JERR_EMS_READ, "Read from EMS failed")
|
||||
JMESSAGE(JERR_EMS_WRITE, "Write to EMS failed")
|
||||
JMESSAGE(JERR_EOI_EXPECTED, "Didn't expect more than one scan")
|
||||
JMESSAGE(JERR_FILE_READ, "Input file read error")
|
||||
JMESSAGE(JERR_FILE_WRITE, "Output file write error --- out of disk space?")
|
||||
JMESSAGE(JERR_FRACT_SAMPLE_NOTIMPL, "Fractional sampling not implemented yet")
|
||||
JMESSAGE(JERR_HUFF_CLEN_OVERFLOW, "Huffman code size table overflow")
|
||||
JMESSAGE(JERR_HUFF_MISSING_CODE, "Missing Huffman code table entry")
|
||||
JMESSAGE(JERR_IMAGE_TOO_BIG, "Maximum supported image dimension is %u pixels")
|
||||
JMESSAGE(JERR_INPUT_EMPTY, "Empty input file")
|
||||
JMESSAGE(JERR_INPUT_EOF, "Premature end of input file")
|
||||
JMESSAGE(JERR_MISMATCHED_QUANT_TABLE,
|
||||
"Cannot transcode due to multiple use of quantization table %d")
|
||||
JMESSAGE(JERR_MISSING_DATA, "Scan script does not transmit all data")
|
||||
JMESSAGE(JERR_MODE_CHANGE, "Invalid color quantization mode change")
|
||||
JMESSAGE(JERR_NOTIMPL, "Not implemented yet")
|
||||
JMESSAGE(JERR_NOT_COMPILED, "Requested feature was omitted at compile time")
|
||||
JMESSAGE(JERR_NO_BACKING_STORE, "Backing store not supported")
|
||||
JMESSAGE(JERR_NO_HUFF_TABLE, "Huffman table 0x%02x was not defined")
|
||||
JMESSAGE(JERR_NO_IMAGE, "JPEG datastream contains no image")
|
||||
JMESSAGE(JERR_NO_QUANT_TABLE, "Quantization table 0x%02x was not defined")
|
||||
JMESSAGE(JERR_NO_SOI, "Not a JPEG file: starts with 0x%02x 0x%02x")
|
||||
JMESSAGE(JERR_OUT_OF_MEMORY, "Insufficient memory (case %d)")
|
||||
JMESSAGE(JERR_QUANT_COMPONENTS,
|
||||
"Cannot quantize more than %d color components")
|
||||
JMESSAGE(JERR_QUANT_FEW_COLORS, "Cannot quantize to fewer than %d colors")
|
||||
JMESSAGE(JERR_QUANT_MANY_COLORS, "Cannot quantize to more than %d colors")
|
||||
JMESSAGE(JERR_SOF_DUPLICATE, "Invalid JPEG file structure: two SOF markers")
|
||||
JMESSAGE(JERR_SOF_NO_SOS, "Invalid JPEG file structure: missing SOS marker")
|
||||
JMESSAGE(JERR_SOF_UNSUPPORTED, "Unsupported JPEG process: SOF type 0x%02x")
|
||||
JMESSAGE(JERR_SOI_DUPLICATE, "Invalid JPEG file structure: two SOI markers")
|
||||
JMESSAGE(JERR_SOS_NO_SOF, "Invalid JPEG file structure: SOS before SOF")
|
||||
JMESSAGE(JERR_TFILE_CREATE, "Failed to create temporary file %s")
|
||||
JMESSAGE(JERR_TFILE_READ, "Read failed on temporary file")
|
||||
JMESSAGE(JERR_TFILE_SEEK, "Seek failed on temporary file")
|
||||
JMESSAGE(JERR_TFILE_WRITE,
|
||||
"Write failed on temporary file --- out of disk space?")
|
||||
JMESSAGE(JERR_TOO_LITTLE_DATA, "Application transferred too few scanlines")
|
||||
JMESSAGE(JERR_UNKNOWN_MARKER, "Unsupported marker type 0x%02x")
|
||||
JMESSAGE(JERR_VIRTUAL_BUG, "Virtual array controller messed up")
|
||||
JMESSAGE(JERR_WIDTH_OVERFLOW, "Image too wide for this implementation")
|
||||
JMESSAGE(JERR_XMS_READ, "Read from XMS failed")
|
||||
JMESSAGE(JERR_XMS_WRITE, "Write to XMS failed")
|
||||
JMESSAGE(JMSG_COPYRIGHT, JCOPYRIGHT)
|
||||
JMESSAGE(JMSG_VERSION, JVERSION)
|
||||
JMESSAGE(JTRC_16BIT_TABLES,
|
||||
"Caution: quantization tables are too coarse for baseline JPEG")
|
||||
JMESSAGE(JTRC_ADOBE,
|
||||
"Adobe APP14 marker: version %d, flags 0x%04x 0x%04x, transform %d")
|
||||
JMESSAGE(JTRC_APP0, "Unknown APP0 marker (not JFIF), length %u")
|
||||
JMESSAGE(JTRC_APP14, "Unknown APP14 marker (not Adobe), length %u")
|
||||
JMESSAGE(JTRC_DAC, "Define Arithmetic Table 0x%02x: 0x%02x")
|
||||
JMESSAGE(JTRC_DHT, "Define Huffman Table 0x%02x")
|
||||
JMESSAGE(JTRC_DQT, "Define Quantization Table %d precision %d")
|
||||
JMESSAGE(JTRC_DRI, "Define Restart Interval %u")
|
||||
JMESSAGE(JTRC_EMS_CLOSE, "Freed EMS handle %u")
|
||||
JMESSAGE(JTRC_EMS_OPEN, "Obtained EMS handle %u")
|
||||
JMESSAGE(JTRC_EOI, "End Of Image")
|
||||
JMESSAGE(JTRC_HUFFBITS, " %3d %3d %3d %3d %3d %3d %3d %3d")
|
||||
JMESSAGE(JTRC_JFIF, "JFIF APP0 marker: version %d.%02d, density %dx%d %d")
|
||||
JMESSAGE(JTRC_JFIF_BADTHUMBNAILSIZE,
|
||||
"Warning: thumbnail image size does not match data length %u")
|
||||
JMESSAGE(JTRC_JFIF_EXTENSION,
|
||||
"JFIF extension marker: type 0x%02x, length %u")
|
||||
JMESSAGE(JTRC_JFIF_THUMBNAIL, " with %d x %d thumbnail image")
|
||||
JMESSAGE(JTRC_MISC_MARKER, "Miscellaneous marker 0x%02x, length %u")
|
||||
JMESSAGE(JTRC_PARMLESS_MARKER, "Unexpected marker 0x%02x")
|
||||
JMESSAGE(JTRC_QUANTVALS, " %4u %4u %4u %4u %4u %4u %4u %4u")
|
||||
JMESSAGE(JTRC_QUANT_3_NCOLORS, "Quantizing to %d = %d*%d*%d colors")
|
||||
JMESSAGE(JTRC_QUANT_NCOLORS, "Quantizing to %d colors")
|
||||
JMESSAGE(JTRC_QUANT_SELECTED, "Selected %d colors for quantization")
|
||||
JMESSAGE(JTRC_RECOVERY_ACTION, "At marker 0x%02x, recovery action %d")
|
||||
JMESSAGE(JTRC_RST, "RST%d")
|
||||
JMESSAGE(JTRC_SMOOTH_NOTIMPL,
|
||||
"Smoothing not supported with nonstandard sampling ratios")
|
||||
JMESSAGE(JTRC_SOF, "Start Of Frame 0x%02x: width=%u, height=%u, components=%d")
|
||||
JMESSAGE(JTRC_SOF_COMPONENT, " Component %d: %dhx%dv q=%d")
|
||||
JMESSAGE(JTRC_SOI, "Start of Image")
|
||||
JMESSAGE(JTRC_SOS, "Start Of Scan: %d components")
|
||||
JMESSAGE(JTRC_SOS_COMPONENT, " Component %d: dc=%d ac=%d")
|
||||
JMESSAGE(JTRC_SOS_PARAMS, " Ss=%d, Se=%d, Ah=%d, Al=%d")
|
||||
JMESSAGE(JTRC_TFILE_CLOSE, "Closed temporary file %s")
|
||||
JMESSAGE(JTRC_TFILE_OPEN, "Opened temporary file %s")
|
||||
JMESSAGE(JTRC_THUMB_JPEG,
|
||||
"JFIF extension marker: JPEG-compressed thumbnail image, length %u")
|
||||
JMESSAGE(JTRC_THUMB_PALETTE,
|
||||
"JFIF extension marker: palette thumbnail image, length %u")
|
||||
JMESSAGE(JTRC_THUMB_RGB,
|
||||
"JFIF extension marker: RGB thumbnail image, length %u")
|
||||
JMESSAGE(JTRC_UNKNOWN_IDS,
|
||||
"Unrecognized component IDs %d %d %d, assuming YCbCr")
|
||||
JMESSAGE(JTRC_XMS_CLOSE, "Freed XMS handle %u")
|
||||
JMESSAGE(JTRC_XMS_OPEN, "Obtained XMS handle %u")
|
||||
JMESSAGE(JWRN_ADOBE_XFORM, "Unknown Adobe color transform code %d")
|
||||
JMESSAGE(JWRN_BOGUS_PROGRESSION,
|
||||
"Inconsistent progression sequence for component %d coefficient %d")
|
||||
JMESSAGE(JWRN_EXTRANEOUS_DATA,
|
||||
"Corrupt JPEG data: %u extraneous bytes before marker 0x%02x")
|
||||
JMESSAGE(JWRN_HIT_MARKER, "Corrupt JPEG data: premature end of data segment")
|
||||
JMESSAGE(JWRN_HUFF_BAD_CODE, "Corrupt JPEG data: bad Huffman code")
|
||||
JMESSAGE(JWRN_JFIF_MAJOR, "Warning: unknown JFIF revision number %d.%02d")
|
||||
JMESSAGE(JWRN_JPEG_EOF, "Premature end of JPEG file")
|
||||
JMESSAGE(JWRN_MUST_RESYNC,
|
||||
"Corrupt JPEG data: found marker 0x%02x instead of RST%d")
|
||||
JMESSAGE(JWRN_NOT_SEQUENTIAL, "Invalid SOS parameters for sequential JPEG")
|
||||
JMESSAGE(JWRN_TOO_MUCH_DATA, "Application transferred too many scanlines")
|
||||
|
||||
#ifdef JMAKE_ENUM_LIST
|
||||
|
||||
JMSG_LASTMSGCODE
|
||||
} J_MESSAGE_CODE;
|
||||
|
||||
#undef JMAKE_ENUM_LIST
|
||||
#endif /* JMAKE_ENUM_LIST */
|
||||
|
||||
/* Zap JMESSAGE macro so that future re-inclusions do nothing by default */
|
||||
#undef JMESSAGE
|
||||
|
||||
|
||||
#ifndef JERROR_H
|
||||
#define JERROR_H
|
||||
|
||||
/* Macros to simplify using the error and trace message stuff */
|
||||
/* The first parameter is either type of cinfo pointer */
|
||||
|
||||
/* Fatal errors (print message and exit) */
|
||||
#define ERREXIT(cinfo,code) \
|
||||
((cinfo)->err->msg_code = (code), \
|
||||
(*(cinfo)->err->error_exit) ((j_common_ptr) (cinfo)))
|
||||
#define ERREXIT1(cinfo,code,p1) \
|
||||
((cinfo)->err->msg_code = (code), \
|
||||
(cinfo)->err->msg_parm.i[0] = (p1), \
|
||||
(*(cinfo)->err->error_exit) ((j_common_ptr) (cinfo)))
|
||||
#define ERREXIT2(cinfo,code,p1,p2) \
|
||||
((cinfo)->err->msg_code = (code), \
|
||||
(cinfo)->err->msg_parm.i[0] = (p1), \
|
||||
(cinfo)->err->msg_parm.i[1] = (p2), \
|
||||
(*(cinfo)->err->error_exit) ((j_common_ptr) (cinfo)))
|
||||
#define ERREXIT3(cinfo,code,p1,p2,p3) \
|
||||
((cinfo)->err->msg_code = (code), \
|
||||
(cinfo)->err->msg_parm.i[0] = (p1), \
|
||||
(cinfo)->err->msg_parm.i[1] = (p2), \
|
||||
(cinfo)->err->msg_parm.i[2] = (p3), \
|
||||
(*(cinfo)->err->error_exit) ((j_common_ptr) (cinfo)))
|
||||
#define ERREXIT4(cinfo,code,p1,p2,p3,p4) \
|
||||
((cinfo)->err->msg_code = (code), \
|
||||
(cinfo)->err->msg_parm.i[0] = (p1), \
|
||||
(cinfo)->err->msg_parm.i[1] = (p2), \
|
||||
(cinfo)->err->msg_parm.i[2] = (p3), \
|
||||
(cinfo)->err->msg_parm.i[3] = (p4), \
|
||||
(*(cinfo)->err->error_exit) ((j_common_ptr) (cinfo)))
|
||||
#define ERREXITS(cinfo,code,str) \
|
||||
((cinfo)->err->msg_code = (code), \
|
||||
strncpy((cinfo)->err->msg_parm.s, (str), JMSG_STR_PARM_MAX), \
|
||||
(*(cinfo)->err->error_exit) ((j_common_ptr) (cinfo)))
|
||||
|
||||
#define MAKESTMT(stuff) do { stuff } while (0)
|
||||
|
||||
/* Nonfatal errors (we can keep going, but the data is probably corrupt) */
|
||||
#define WARNMS(cinfo,code) \
|
||||
((cinfo)->err->msg_code = (code), \
|
||||
(*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), -1))
|
||||
#define WARNMS1(cinfo,code,p1) \
|
||||
((cinfo)->err->msg_code = (code), \
|
||||
(cinfo)->err->msg_parm.i[0] = (p1), \
|
||||
(*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), -1))
|
||||
#define WARNMS2(cinfo,code,p1,p2) \
|
||||
((cinfo)->err->msg_code = (code), \
|
||||
(cinfo)->err->msg_parm.i[0] = (p1), \
|
||||
(cinfo)->err->msg_parm.i[1] = (p2), \
|
||||
(*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), -1))
|
||||
|
||||
/* Informational/debugging messages */
|
||||
#define TRACEMS(cinfo,lvl,code) \
|
||||
((cinfo)->err->msg_code = (code), \
|
||||
(*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), (lvl)))
|
||||
#define TRACEMS1(cinfo,lvl,code,p1) \
|
||||
((cinfo)->err->msg_code = (code), \
|
||||
(cinfo)->err->msg_parm.i[0] = (p1), \
|
||||
(*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), (lvl)))
|
||||
#define TRACEMS2(cinfo,lvl,code,p1,p2) \
|
||||
((cinfo)->err->msg_code = (code), \
|
||||
(cinfo)->err->msg_parm.i[0] = (p1), \
|
||||
(cinfo)->err->msg_parm.i[1] = (p2), \
|
||||
(*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), (lvl)))
|
||||
#define TRACEMS3(cinfo,lvl,code,p1,p2,p3) \
|
||||
MAKESTMT(int * _mp = (cinfo)->err->msg_parm.i; \
|
||||
_mp[0] = (p1); _mp[1] = (p2); _mp[2] = (p3); \
|
||||
(cinfo)->err->msg_code = (code); \
|
||||
(*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), (lvl)); )
|
||||
#define TRACEMS4(cinfo,lvl,code,p1,p2,p3,p4) \
|
||||
MAKESTMT(int * _mp = (cinfo)->err->msg_parm.i; \
|
||||
_mp[0] = (p1); _mp[1] = (p2); _mp[2] = (p3); _mp[3] = (p4); \
|
||||
(cinfo)->err->msg_code = (code); \
|
||||
(*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), (lvl)); )
|
||||
#define TRACEMS5(cinfo,lvl,code,p1,p2,p3,p4,p5) \
|
||||
MAKESTMT(int * _mp = (cinfo)->err->msg_parm.i; \
|
||||
_mp[0] = (p1); _mp[1] = (p2); _mp[2] = (p3); _mp[3] = (p4); \
|
||||
_mp[4] = (p5); \
|
||||
(cinfo)->err->msg_code = (code); \
|
||||
(*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), (lvl)); )
|
||||
#define TRACEMS8(cinfo,lvl,code,p1,p2,p3,p4,p5,p6,p7,p8) \
|
||||
MAKESTMT(int * _mp = (cinfo)->err->msg_parm.i; \
|
||||
_mp[0] = (p1); _mp[1] = (p2); _mp[2] = (p3); _mp[3] = (p4); \
|
||||
_mp[4] = (p5); _mp[5] = (p6); _mp[6] = (p7); _mp[7] = (p8); \
|
||||
(cinfo)->err->msg_code = (code); \
|
||||
(*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), (lvl)); )
|
||||
#define TRACEMSS(cinfo,lvl,code,str) \
|
||||
((cinfo)->err->msg_code = (code), \
|
||||
strncpy((cinfo)->err->msg_parm.s, (str), JMSG_STR_PARM_MAX), \
|
||||
(*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), (lvl)))
|
||||
|
||||
#endif /* JERROR_H */
|
||||
@@ -0,0 +1,89 @@
|
||||
/*
|
||||
* jinclude.h
|
||||
*
|
||||
* Copyright (C) 1991-1994, Thomas G. Lane.
|
||||
* This file is part of the Independent JPEG Group's software.
|
||||
* For conditions of distribution and use, see the accompanying README file.
|
||||
*
|
||||
* This file exists to provide a single place to fix any problems with
|
||||
* including the wrong system include files. (Common problems are taken
|
||||
* care of by the standard jconfig symbols, but on really weird systems
|
||||
* you may have to edit this file.)
|
||||
*
|
||||
* NOTE: this file is NOT intended to be included by applications using the
|
||||
* JPEG library. Most applications need only include jpeglib.h.
|
||||
*/
|
||||
|
||||
|
||||
/* Include auto-config file to find out which system include files we need. */
|
||||
|
||||
#include "jconfig.h" /* auto configuration options */
|
||||
#define JCONFIG_INCLUDED /* so that jpeglib.h doesn't do it again */
|
||||
|
||||
/*
|
||||
* We need the NULL macro and size_t typedef.
|
||||
* On an ANSI-conforming system it is sufficient to include <stddef.h>.
|
||||
* Otherwise, we get them from <stdlib.h> or <stdio.h>; we may have to
|
||||
* pull in <sys/types.h> as well.
|
||||
* Note that the core JPEG library does not require <stdio.h>;
|
||||
* only the default error handler and data source/destination modules do.
|
||||
* But we must pull it in because of the references to FILE in jpeglib.h.
|
||||
* You can remove those references if you want to compile without <stdio.h>.
|
||||
*/
|
||||
|
||||
#ifdef HAVE_STDDEF_H
|
||||
#include <stddef.h>
|
||||
#endif
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
#ifdef NEED_SYS_TYPES_H
|
||||
#include <sys/types.h>
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
/*
|
||||
* We need memory copying and zeroing functions, plus strncpy().
|
||||
* ANSI and System V implementations declare these in <string.h>.
|
||||
* BSD doesn't have the mem() functions, but it does have bcopy()/bzero().
|
||||
* Some systems may declare memset and memcpy in <memory.h>.
|
||||
*
|
||||
* NOTE: we assume the size parameters to these functions are of type size_t.
|
||||
* Change the casts in these macros if not!
|
||||
*/
|
||||
|
||||
#ifdef NEED_BSD_STRINGS
|
||||
|
||||
#include <strings.h>
|
||||
#define MEMZERO(target,size) bzero((void *)(target), (size_t)(size))
|
||||
#define MEMCOPY(dest,src,size) bcopy((const void *)(src), (void *)(dest), (size_t)(size))
|
||||
|
||||
#else /* not BSD, assume ANSI/SysV string lib */
|
||||
|
||||
#include <string.h>
|
||||
#define MEMZERO(target,size) memset((void *)(target), 0, (size_t)(size))
|
||||
#define MEMCOPY(dest,src,size) memcpy((void *)(dest), (const void *)(src), (size_t)(size))
|
||||
|
||||
#endif
|
||||
|
||||
/*
|
||||
* In ANSI C, and indeed any rational implementation, size_t is also the
|
||||
* type returned by sizeof(). However, it seems there are some irrational
|
||||
* implementations out there, in which sizeof() returns an int even though
|
||||
* size_t is defined as long or unsigned long. To ensure consistent results
|
||||
* we always use this SIZEOF() macro in place of using sizeof() directly.
|
||||
*/
|
||||
|
||||
#define SIZEOF(object) ((size_t) sizeof(object))
|
||||
|
||||
/*
|
||||
* The modules that use fread() and fwrite() always invoke them through
|
||||
* these macros. On some systems you may need to twiddle the argument casts.
|
||||
* CAUTION: argument order is different from underlying functions!
|
||||
*/
|
||||
|
||||
#define JFREAD(file,buf,sizeofbuf) \
|
||||
((size_t) fread((void *) (buf), (size_t) 1, (size_t) (sizeofbuf), (file)))
|
||||
#define JFWRITE(file,buf,sizeofbuf) \
|
||||
((size_t) fwrite((const void *) (buf), (size_t) 1, (size_t) (sizeofbuf), (file)))
|
||||
@@ -0,0 +1,178 @@
|
||||
/*
|
||||
* jmemsys.h
|
||||
*
|
||||
* Copyright (C) 1992-1997, Thomas G. Lane.
|
||||
* This file is part of the Independent JPEG Group's software.
|
||||
* For conditions of distribution and use, see the accompanying README file.
|
||||
*
|
||||
* This include file defines the interface between the system-independent
|
||||
* and system-dependent portions of the JPEG memory manager. No other
|
||||
* modules need include it. (The system-independent portion is jmemmgr.c;
|
||||
* there are several different versions of the system-dependent portion.)
|
||||
*
|
||||
* This file works as-is for the system-dependent memory managers supplied
|
||||
* in the IJG distribution. You may need to modify it if you write a
|
||||
* custom memory manager. If system-dependent changes are needed in
|
||||
* this file, the best method is to #ifdef them based on a configuration
|
||||
* symbol supplied in jconfig.h, as we have done with USE_MSDOS_MEMMGR
|
||||
* and USE_MAC_MEMMGR.
|
||||
*/
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* These two functions are used to allocate and release small chunks of
|
||||
* memory. (Typically the total amount requested through jpeg_get_small is
|
||||
* no more than 20K or so; this will be requested in chunks of a few K each.)
|
||||
* Behavior should be the same as for the standard library functions malloc
|
||||
* and free; in particular, jpeg_get_small must return NULL on failure.
|
||||
* On most systems, these ARE malloc and free. jpeg_free_small is passed the
|
||||
* size of the object being freed, just in case it's needed.
|
||||
* On an 80x86 machine using small-data memory model, these manage near heap.
|
||||
*/
|
||||
|
||||
EXTERN(void *) jpeg_get_small JPP((j_common_ptr cinfo, size_t sizeofobject));
|
||||
EXTERN(void) jpeg_free_small JPP((j_common_ptr cinfo, void * object,
|
||||
size_t sizeofobject));
|
||||
|
||||
/*
|
||||
* These two functions are used to allocate and release large chunks of
|
||||
* memory (up to the total free space designated by jpeg_mem_available).
|
||||
* The interface is the same as above, except that on an 80x86 machine,
|
||||
* far pointers are used. On most other machines these are identical to
|
||||
* the jpeg_get/free_small routines; but we keep them separate anyway,
|
||||
* in case a different allocation strategy is desirable for large chunks.
|
||||
*/
|
||||
|
||||
EXTERN(void FAR *) jpeg_get_large JPP((j_common_ptr cinfo,
|
||||
size_t sizeofobject));
|
||||
EXTERN(void) jpeg_free_large JPP((j_common_ptr cinfo, void FAR * object,
|
||||
size_t sizeofobject));
|
||||
|
||||
/*
|
||||
* The macro MAX_ALLOC_CHUNK designates the maximum number of bytes that may
|
||||
* be requested in a single call to jpeg_get_large (and jpeg_get_small for that
|
||||
* matter, but that case should never come into play). This macro is needed
|
||||
* to model the 64Kb-segment-size limit of far addressing on 80x86 machines.
|
||||
* On those machines, we expect that jconfig.h will provide a proper value.
|
||||
* On machines with 32-bit flat address spaces, any large constant may be used.
|
||||
*
|
||||
* NB: jmemmgr.c expects that MAX_ALLOC_CHUNK will be representable as type
|
||||
* size_t and will be a multiple of sizeof(align_type).
|
||||
*/
|
||||
|
||||
#ifndef MAX_ALLOC_CHUNK /* may be overridden in jconfig.h */
|
||||
#define MAX_ALLOC_CHUNK 1000000000L
|
||||
#endif
|
||||
|
||||
/*
|
||||
* This routine computes the total space still available for allocation by
|
||||
* jpeg_get_large. If more space than this is needed, backing store will be
|
||||
* used. NOTE: any memory already allocated must not be counted.
|
||||
*
|
||||
* There is a minimum space requirement, corresponding to the minimum
|
||||
* feasible buffer sizes; jmemmgr.c will request that much space even if
|
||||
* jpeg_mem_available returns zero. The maximum space needed, enough to hold
|
||||
* all working storage in memory, is also passed in case it is useful.
|
||||
* Finally, the total space already allocated is passed. If no better
|
||||
* method is available, cinfo->mem->max_memory_to_use - already_allocated
|
||||
* is often a suitable calculation.
|
||||
*
|
||||
* It is OK for jpeg_mem_available to underestimate the space available
|
||||
* (that'll just lead to more backing-store access than is really necessary).
|
||||
* However, an overestimate will lead to failure. Hence it's wise to subtract
|
||||
* a slop factor from the true available space. 5% should be enough.
|
||||
*
|
||||
* On machines with lots of virtual memory, any large constant may be returned.
|
||||
* Conversely, zero may be returned to always use the minimum amount of memory.
|
||||
*/
|
||||
|
||||
EXTERN(long) jpeg_mem_available JPP((j_common_ptr cinfo,
|
||||
long min_bytes_needed,
|
||||
long max_bytes_needed,
|
||||
long already_allocated));
|
||||
|
||||
|
||||
/*
|
||||
* This structure holds whatever state is needed to access a single
|
||||
* backing-store object. The read/write/close method pointers are called
|
||||
* by jmemmgr.c to manipulate the backing-store object; all other fields
|
||||
* are private to the system-dependent backing store routines.
|
||||
*/
|
||||
|
||||
#define TEMP_NAME_LENGTH 64 /* max length of a temporary file's name */
|
||||
|
||||
|
||||
#ifdef USE_MSDOS_MEMMGR /* DOS-specific junk */
|
||||
|
||||
typedef unsigned short XMSH; /* type of extended-memory handles */
|
||||
typedef unsigned short EMSH; /* type of expanded-memory handles */
|
||||
|
||||
typedef union {
|
||||
short file_handle; /* DOS file handle if it's a temp file */
|
||||
XMSH xms_handle; /* handle if it's a chunk of XMS */
|
||||
EMSH ems_handle; /* handle if it's a chunk of EMS */
|
||||
} handle_union;
|
||||
|
||||
#endif /* USE_MSDOS_MEMMGR */
|
||||
|
||||
#ifdef USE_MAC_MEMMGR /* Mac-specific junk */
|
||||
#include <Files.h>
|
||||
#endif /* USE_MAC_MEMMGR */
|
||||
|
||||
|
||||
typedef struct backing_store_struct * backing_store_ptr;
|
||||
|
||||
typedef struct backing_store_struct {
|
||||
/* Methods for reading/writing/closing this backing-store object */
|
||||
JMETHOD(void, read_backing_store, (j_common_ptr cinfo, backing_store_ptr info, void FAR * buffer_address, long file_offset, long byte_count));
|
||||
JMETHOD(void, write_backing_store, (j_common_ptr cinfo, backing_store_ptr info, void FAR * buffer_address, long file_offset, long byte_count));
|
||||
JMETHOD(void, close_backing_store, (j_common_ptr cinfo, backing_store_ptr info));
|
||||
|
||||
/* Private fields for system-dependent backing-store management */
|
||||
#ifdef USE_MSDOS_MEMMGR
|
||||
/* For the MS-DOS manager (jmemdos.c), we need: */
|
||||
handle_union handle; /* reference to backing-store storage object */
|
||||
char temp_name[TEMP_NAME_LENGTH]; /* name if it's a file */
|
||||
#else
|
||||
#ifdef USE_MAC_MEMMGR
|
||||
/* For the Mac manager (jmemmac.c), we need: */
|
||||
short temp_file; /* file reference number to temp file */
|
||||
FSSpec tempSpec; /* the FSSpec for the temp file */
|
||||
char temp_name[TEMP_NAME_LENGTH]; /* name if it's a file */
|
||||
#else
|
||||
/* For a typical implementation with temp files, we need: */
|
||||
/* FILE * temp_file; */ /* stdio reference to temp file */
|
||||
char temp_name[TEMP_NAME_LENGTH]; /* name of temp file */
|
||||
#endif
|
||||
#endif
|
||||
} backing_store_info;
|
||||
|
||||
|
||||
/*
|
||||
* Initial opening of a backing-store object. This must fill in the
|
||||
* read/write/close pointers in the object. The read/write routines
|
||||
* may take an error exit if the specified maximum file size is exceeded.
|
||||
* (If jpeg_mem_available always returns a large value, this routine can
|
||||
* just take an error exit.)
|
||||
*/
|
||||
|
||||
EXTERN(void) jpeg_open_backing_store JPP((j_common_ptr cinfo,
|
||||
backing_store_ptr info,
|
||||
long total_bytes_needed));
|
||||
|
||||
|
||||
/*
|
||||
* These routines take care of any system-dependent initialization and
|
||||
* cleanup required. jpeg_mem_init will be called before anything is
|
||||
* allocated (and, therefore, nothing in cinfo is of use except the error
|
||||
* manager pointer). It should return a suitable default value for
|
||||
* max_memory_to_use; this may subsequently be overridden by the surrounding
|
||||
* application. (Note that max_memory_to_use is only important if
|
||||
* jpeg_mem_available chooses to consult it ... no one else will.)
|
||||
* jpeg_mem_term may assume that all requested memory has been freed and that
|
||||
* all opened backing-store objects have been closed.
|
||||
*/
|
||||
|
||||
EXTERN(long) jpeg_mem_init JPP((j_common_ptr cinfo));
|
||||
EXTERN(void) jpeg_mem_term JPP((j_common_ptr cinfo));
|
||||
@@ -0,0 +1,312 @@
|
||||
/*
|
||||
* jmorecfg.h
|
||||
*
|
||||
* Copyright (C) 1991-1997, Thomas G. Lane.
|
||||
* This file is part of the Independent JPEG Group's software.
|
||||
* For conditions of distribution and use, see the accompanying README file.
|
||||
*
|
||||
* This file contains additional configuration options that customize the
|
||||
* JPEG software for special applications or support machine-dependent
|
||||
* optimizations. Most users will not need to touch this file.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Define BITS_IN_JSAMPLE as either
|
||||
* 8 for 8-bit sample values (the usual setting)
|
||||
* 12 for 12-bit sample values
|
||||
* Only 8 and 12 are legal data precisions for lossy JPEG according to the
|
||||
* JPEG standard, and the IJG code does not support anything else!
|
||||
* We do not support run-time selection of data precision, sorry.
|
||||
*/
|
||||
|
||||
#define BITS_IN_JSAMPLE 8 /* use 8 or 12 */
|
||||
|
||||
|
||||
/*
|
||||
* Maximum number of components (color channels) allowed in JPEG image.
|
||||
* To meet the letter of the JPEG spec, set this to 255. However, darn
|
||||
* few applications need more than 4 channels (maybe 5 for CMYK + alpha
|
||||
* mask). We recommend 10 as a reasonable compromise; use 4 if you are
|
||||
* really short on memory. (Each allowed component costs a hundred or so
|
||||
* bytes of storage, whether actually used in an image or not.)
|
||||
*/
|
||||
|
||||
#define MAX_COMPONENTS 4 /* maximum number of image components */
|
||||
|
||||
|
||||
/*
|
||||
* Basic data types.
|
||||
* You may need to change these if you have a machine with unusual data
|
||||
* type sizes; for example, "char" not 8 bits, "short" not 16 bits,
|
||||
* or "long" not 32 bits. We don't care whether "int" is 16 or 32 bits,
|
||||
* but it had better be at least 16.
|
||||
*/
|
||||
|
||||
/* Representation of a single sample (pixel element value).
|
||||
* We frequently allocate large arrays of these, so it's important to keep
|
||||
* them small. But if you have memory to burn and access to char or short
|
||||
* arrays is very slow on your hardware, you might want to change these.
|
||||
*/
|
||||
|
||||
#if BITS_IN_JSAMPLE == 8
|
||||
/* JSAMPLE should be the smallest type that will hold the values 0..255.
|
||||
* You can use a signed char by having GETJSAMPLE mask it with 0xFF.
|
||||
*/
|
||||
typedef unsigned char JSAMPLE;
|
||||
#define GETJSAMPLE(value) ((int) (value))
|
||||
#define MAXJSAMPLE 255
|
||||
#define CENTERJSAMPLE 128
|
||||
#elif BITS_IN_JSAMPLE == 12
|
||||
/* JSAMPLE should be the smallest type that will hold the values 0..4095.
|
||||
* On nearly all machines "short" will do nicely.
|
||||
*/
|
||||
typedef short JSAMPLE;
|
||||
#define GETJSAMPLE(value) ((int) (value))
|
||||
#define MAXJSAMPLE 4095
|
||||
#define CENTERJSAMPLE 2048
|
||||
#endif /* BITS_IN_JSAMPLE == 12 */
|
||||
|
||||
|
||||
/* Representation of a DCT frequency coefficient.
|
||||
* This should be a signed value of at least 16 bits; "short" is usually OK.
|
||||
* Again, we allocate large arrays of these, but you can change to int
|
||||
* if you have memory to burn and "short" is really slow.
|
||||
*/
|
||||
|
||||
typedef short JCOEF;
|
||||
|
||||
|
||||
/* Compressed datastreams are represented as arrays of JOCTET.
|
||||
* These must be EXACTLY 8 bits wide, at least once they are written to
|
||||
* external storage. Note that when using the stdio data source/destination
|
||||
* managers, this is also the data type passed to fread/fwrite.
|
||||
*/
|
||||
|
||||
typedef unsigned char JOCTET;
|
||||
#define GETJOCTET(value) (value)
|
||||
|
||||
|
||||
/* These typedefs are used for various table entries and so forth.
|
||||
* They must be at least as wide as specified; but making them too big
|
||||
* won't cost a huge amount of memory, so we don't provide special
|
||||
* extraction code like we did for JSAMPLE. (In other words, these
|
||||
* typedefs live at a different point on the speed/space tradeoff curve.)
|
||||
*/
|
||||
|
||||
/* UINT8 must hold at least the values 0..255. */
|
||||
typedef unsigned char UINT8;
|
||||
|
||||
/* UINT16 must hold at least the values 0..65535. */
|
||||
typedef unsigned short UINT16;
|
||||
/* INT16 must hold at least the values -32768..32767. */
|
||||
typedef short INT16;
|
||||
/* INT32 must hold at least signed 32-bit values. */
|
||||
typedef long INT32;
|
||||
|
||||
/* Datatype used for image dimensions. The JPEG standard only supports
|
||||
* images up to 64K*64K due to 16-bit fields in SOF markers. Therefore
|
||||
* "unsigned int" is sufficient on all machines. However, if you need to
|
||||
* handle larger images and you don't mind deviating from the spec, you
|
||||
* can change this datatype.
|
||||
*/
|
||||
|
||||
typedef unsigned int JDIMENSION;
|
||||
|
||||
#define JPEG_MAX_DIMENSION 65500L /* a tad under 64K to prevent overflows */
|
||||
|
||||
|
||||
/* These macros are used in all function definitions and extern declarations.
|
||||
* You could modify them if you need to change function linkage conventions;
|
||||
* in particular, you'll need to do that to make the library a Windows DLL.
|
||||
* Another application is to make all functions global for use with debuggers
|
||||
* or code profilers that require it.
|
||||
*/
|
||||
|
||||
/* a function called through method pointers: */
|
||||
#define METHODDEF(type) static type
|
||||
/* a function used only in its module: */
|
||||
#define LOCAL(type) static type
|
||||
/* a function referenced thru EXTERNs: */
|
||||
#define GLOBAL(type) type
|
||||
/* a reference to a GLOBAL function: */
|
||||
#define EXTERN(type) extern type
|
||||
|
||||
|
||||
/* This macro is used to declare a "method", that is, a function pointer.
|
||||
* We want to supply prototype parameters if the compiler can cope.
|
||||
* Note that the arglist parameter must be parenthesized!
|
||||
* Again, you can customize this if you need special linkage keywords.
|
||||
*/
|
||||
|
||||
#define JMETHOD(type,methodname,arglist) type (*methodname) arglist
|
||||
|
||||
|
||||
/* Here is the pseudo-keyword for declaring pointers that must be "far"
|
||||
* on 80x86 machines. Most of the specialized coding for 80x86 is handled
|
||||
* by just saying "FAR *" where such a pointer is needed. In a few places
|
||||
* explicit coding is needed; see uses of the NEED_FAR_POINTERS symbol.
|
||||
*/
|
||||
|
||||
#ifdef NEED_FAR_POINTERS
|
||||
#define FAR far
|
||||
#else
|
||||
#define FAR
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
* On a few systems, type boolean and/or its values FALSE, TRUE may appear
|
||||
* in standard header files. Or you may have conflicts with application-
|
||||
* specific header files that you want to include together with these files.
|
||||
* Defining HAVE_BOOLEAN before including jpeglib.h should make it work.
|
||||
*/
|
||||
|
||||
#ifndef HAVE_BOOLEAN
|
||||
typedef int boolean;
|
||||
#endif
|
||||
#ifndef FALSE /* in case these macros already exist */
|
||||
#define FALSE 0 /* values of boolean */
|
||||
#endif
|
||||
#ifndef TRUE
|
||||
#define TRUE 1
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
* The remaining options affect code selection within the JPEG library,
|
||||
* but they don't need to be visible to most applications using the library.
|
||||
* To minimize application namespace pollution, the symbols won't be
|
||||
* defined unless JPEG_INTERNALS or JPEG_INTERNAL_OPTIONS has been defined.
|
||||
*/
|
||||
|
||||
#ifdef JPEG_INTERNALS
|
||||
#define JPEG_INTERNAL_OPTIONS
|
||||
#endif
|
||||
|
||||
#ifdef JPEG_INTERNAL_OPTIONS
|
||||
|
||||
|
||||
/*
|
||||
* These defines indicate whether to include various optional functions.
|
||||
* Undefining some of these symbols will produce a smaller but less capable
|
||||
* library. Note that you can leave certain source files out of the
|
||||
* compilation/linking process if you've #undef'd the corresponding symbols.
|
||||
* (You may HAVE to do that if your compiler doesn't like null source files.)
|
||||
*/
|
||||
|
||||
/* Arithmetic coding is unsupported for legal reasons. Complaints to IBM. */
|
||||
|
||||
/* Capability options common to encoder and decoder: */
|
||||
|
||||
#define DCT_ISLOW_SUPPORTED /* slow but accurate integer algorithm */
|
||||
#define DCT_IFAST_SUPPORTED /* faster, less accurate integer method */
|
||||
#ifdef DCT_FLOAT_SUPPORTED
|
||||
#undef DCT_FLOAT_SUPPORTED /* floating-point: accurate, fast on fast HW */
|
||||
#endif
|
||||
|
||||
/* Encoder capability options: */
|
||||
|
||||
#ifdef C_ARITH_CODING_SUPPORTED
|
||||
#undef C_ARITH_CODING_SUPPORTED /* Arithmetic coding back end? */
|
||||
#endif
|
||||
#define C_MULTISCAN_FILES_SUPPORTED /* Multiple-scan JPEG files? */
|
||||
#define C_PROGRESSIVE_SUPPORTED /* Progressive JPEG? (Requires MULTISCAN)*/
|
||||
#define ENTROPY_OPT_SUPPORTED /* Optimization of entropy coding parms? */
|
||||
/* Note: if you selected 12-bit data precision, it is dangerous to turn off
|
||||
* ENTROPY_OPT_SUPPORTED. The standard Huffman tables are only good for 8-bit
|
||||
* precision, so jchuff.c normally uses entropy optimization to compute
|
||||
* usable tables for higher precision. If you don't want to do optimization,
|
||||
* you'll have to supply different default Huffman tables.
|
||||
* The exact same statements apply for progressive JPEG: the default tables
|
||||
* don't work for progressive mode. (This may get fixed, however.)
|
||||
*/
|
||||
#define INPUT_SMOOTHING_SUPPORTED /* Input image smoothing option? */
|
||||
|
||||
/* Decoder capability options: */
|
||||
|
||||
#ifdef D_ARITH_CODING_SUPPORTED
|
||||
#undef D_ARITH_CODING_SUPPORTED /* Arithmetic coding back end? */
|
||||
#endif
|
||||
#define D_MULTISCAN_FILES_SUPPORTED /* Multiple-scan JPEG files? */
|
||||
#define D_PROGRESSIVE_SUPPORTED /* Progressive JPEG? (Requires MULTISCAN)*/
|
||||
#ifdef SAVE_MARKERS_SUPPORTED
|
||||
#undef SAVE_MARKERS_SUPPORTED /* jpeg_save_markers() needed? (Default was on, RS) */
|
||||
#endif
|
||||
#ifdef BLOCK_SMOOTHING_SUPPORTED
|
||||
#undef BLOCK_SMOOTHING_SUPPORTED /* Block smoothing? (Progressive only) */
|
||||
#endif
|
||||
#ifdef IDCT_SCALING_SUPPORTED
|
||||
#undef IDCT_SCALING_SUPPORTED /* Output rescaling via IDCT? */
|
||||
#endif
|
||||
#ifdef UPSAMPLE_SCALING_SUPPORTED
|
||||
#undef UPSAMPLE_SCALING_SUPPORTED /* Output rescaling at upsample stage? */
|
||||
#endif
|
||||
#define UPSAMPLE_MERGING_SUPPORTED /* Fast path for sloppy upsampling? */
|
||||
#define QUANT_1PASS_SUPPORTED /* 1-pass color quantization? */
|
||||
#define QUANT_2PASS_SUPPORTED /* 2-pass color quantization? */
|
||||
|
||||
/* more capability options later, no doubt */
|
||||
|
||||
|
||||
/*
|
||||
* Ordering of RGB data in scanlines passed to or from the application.
|
||||
* If your application wants to deal with data in the order B,G,R, just
|
||||
* change these macros. You can also deal with formats such as R,G,B,X
|
||||
* (one extra byte per pixel) by changing RGB_PIXELSIZE. Note that changing
|
||||
* the offsets will also change the order in which colormap data is organized.
|
||||
* RESTRICTIONS:
|
||||
* 1. The sample applications cjpeg,djpeg do NOT support modified RGB formats.
|
||||
* 2. These macros only affect RGB<=>YCbCr color conversion, so they are not
|
||||
* useful if you are using JPEG color spaces other than YCbCr or grayscale.
|
||||
* 3. The color quantizer modules will not behave desirably if RGB_PIXELSIZE
|
||||
* is not 3 (they don't understand about dummy color components!). So you
|
||||
* can't use color quantization if you change that value.
|
||||
*/
|
||||
|
||||
#define RGB_RED 0 /* Offset of Red in an RGB scanline element */
|
||||
#define RGB_GREEN 1 /* Offset of Green */
|
||||
#define RGB_BLUE 2 /* Offset of Blue */
|
||||
#define RGB_PIXELSIZE 3 /* JSAMPLEs per RGB scanline element */
|
||||
|
||||
|
||||
/* Definitions for speed-related optimizations. */
|
||||
|
||||
|
||||
/* If your compiler supports inline functions, define INLINE
|
||||
* as the inline keyword; otherwise define it as empty.
|
||||
*/
|
||||
|
||||
#ifndef INLINE
|
||||
#ifdef __GNUC__ /* for instance, GNU C knows about inline */
|
||||
#define INLINE __inline__
|
||||
#endif
|
||||
#ifndef INLINE
|
||||
#define INLINE /* default is to define it as empty */
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
/* On some machines (notably 68000 series) "int" is 32 bits, but multiplying
|
||||
* two 16-bit shorts is faster than multiplying two ints. Define MULTIPLIER
|
||||
* as short on such a machine. MULTIPLIER must be at least 16 bits wide.
|
||||
*/
|
||||
|
||||
#ifndef MULTIPLIER
|
||||
#define MULTIPLIER int /* type for fastest integer multiply */
|
||||
#endif
|
||||
|
||||
|
||||
/* FAST_FLOAT should be either float or double, whichever is done faster
|
||||
* by your compiler. (Note that this type is only used in the floating point
|
||||
* DCT routines, so it only matters if you've defined DCT_FLOAT_SUPPORTED.)
|
||||
* Typically, float is faster in ANSI C compilers, while double is faster in
|
||||
* pre-ANSI compilers (because they insist on converting to double anyway).
|
||||
* The code below therefore chooses float if we have ANSI-style prototypes.
|
||||
*/
|
||||
|
||||
#ifndef FAST_FLOAT
|
||||
#define FAST_FLOAT float
|
||||
#endif
|
||||
|
||||
#endif /* JPEG_INTERNAL_OPTIONS */
|
||||
@@ -0,0 +1,357 @@
|
||||
/*
|
||||
* jpegint.h
|
||||
*
|
||||
* Copyright (C) 1991-1997, Thomas G. Lane.
|
||||
* This file is part of the Independent JPEG Group's software.
|
||||
* For conditions of distribution and use, see the accompanying README file.
|
||||
*
|
||||
* This file provides common declarations for the various JPEG modules.
|
||||
* These declarations are considered internal to the JPEG library; most
|
||||
* applications using the library shouldn't need to include this file.
|
||||
*/
|
||||
|
||||
|
||||
/* Declarations for both compression & decompression */
|
||||
|
||||
typedef enum { /* Operating modes for buffer controllers */
|
||||
JBUF_PASS_THRU, /* Plain stripwise operation */
|
||||
/* Remaining modes require a full-image buffer to have been created */
|
||||
JBUF_SAVE_SOURCE, /* Run source subobject only, save output */
|
||||
JBUF_CRANK_DEST, /* Run dest subobject only, using saved data */
|
||||
JBUF_SAVE_AND_PASS /* Run both subobjects, save output */
|
||||
} J_BUF_MODE;
|
||||
|
||||
/* Values of global_state field (jdapi.c has some dependencies on ordering!) */
|
||||
#define CSTATE_START 100 /* after create_compress */
|
||||
#define CSTATE_SCANNING 101 /* start_compress done, write_scanlines OK */
|
||||
#define CSTATE_RAW_OK 102 /* start_compress done, write_raw_data OK */
|
||||
#define CSTATE_WRCOEFS 103 /* jpeg_write_coefficients done */
|
||||
#define DSTATE_START 200 /* after create_decompress */
|
||||
#define DSTATE_INHEADER 201 /* reading header markers, no SOS yet */
|
||||
#define DSTATE_READY 202 /* found SOS, ready for start_decompress */
|
||||
#define DSTATE_PRELOAD 203 /* reading multiscan file in start_decompress*/
|
||||
#define DSTATE_PRESCAN 204 /* performing dummy pass for 2-pass quant */
|
||||
#define DSTATE_SCANNING 205 /* start_decompress done, read_scanlines OK */
|
||||
#define DSTATE_RAW_OK 206 /* start_decompress done, read_raw_data OK */
|
||||
#define DSTATE_BUFIMAGE 207 /* expecting jpeg_start_output */
|
||||
#define DSTATE_BUFPOST 208 /* looking for SOS/EOI in jpeg_finish_output */
|
||||
#define DSTATE_RDCOEFS 209 /* reading file in jpeg_read_coefficients */
|
||||
#define DSTATE_STOPPING 210 /* looking for EOI in jpeg_finish_decompress */
|
||||
|
||||
|
||||
/* Declarations for compression modules */
|
||||
|
||||
/* Master control module */
|
||||
struct jpeg_comp_master {
|
||||
JMETHOD(void, prepare_for_pass, (j_compress_ptr cinfo));
|
||||
JMETHOD(void, pass_startup, (j_compress_ptr cinfo));
|
||||
JMETHOD(void, finish_pass, (j_compress_ptr cinfo));
|
||||
|
||||
/* State variables made visible to other modules */
|
||||
boolean call_pass_startup; /* True if pass_startup must be called */
|
||||
boolean is_last_pass; /* True during last pass */
|
||||
};
|
||||
|
||||
/* Main buffer control (downsampled-data buffer) */
|
||||
struct jpeg_c_main_controller {
|
||||
JMETHOD(void, start_pass, (j_compress_ptr cinfo, J_BUF_MODE pass_mode));
|
||||
JMETHOD(void, process_data, (j_compress_ptr cinfo,
|
||||
JSAMPARRAY input_buf, JDIMENSION *in_row_ctr,
|
||||
JDIMENSION in_rows_avail));
|
||||
};
|
||||
|
||||
/* Compression preprocessing (downsampling input buffer control) */
|
||||
struct jpeg_c_prep_controller {
|
||||
JMETHOD(void, start_pass, (j_compress_ptr cinfo, J_BUF_MODE pass_mode));
|
||||
JMETHOD(void, pre_process_data, (j_compress_ptr cinfo,
|
||||
JSAMPARRAY input_buf,
|
||||
JDIMENSION *in_row_ctr,
|
||||
JDIMENSION in_rows_avail,
|
||||
JSAMPIMAGE output_buf,
|
||||
JDIMENSION *out_row_group_ctr,
|
||||
JDIMENSION out_row_groups_avail));
|
||||
};
|
||||
|
||||
/* Coefficient buffer control */
|
||||
struct jpeg_c_coef_controller {
|
||||
JMETHOD(void, start_pass, (j_compress_ptr cinfo, J_BUF_MODE pass_mode));
|
||||
JMETHOD(boolean, compress_data, (j_compress_ptr cinfo,
|
||||
JSAMPIMAGE input_buf));
|
||||
};
|
||||
|
||||
/* Colorspace conversion */
|
||||
struct jpeg_color_converter {
|
||||
JMETHOD(void, start_pass, (j_compress_ptr cinfo));
|
||||
JMETHOD(void, color_convert, (j_compress_ptr cinfo,
|
||||
JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
|
||||
JDIMENSION output_row, int num_rows));
|
||||
};
|
||||
|
||||
/* Downsampling */
|
||||
struct jpeg_downsampler {
|
||||
JMETHOD(void, start_pass, (j_compress_ptr cinfo));
|
||||
JMETHOD(void, downsample, (j_compress_ptr cinfo,
|
||||
JSAMPIMAGE input_buf, JDIMENSION in_row_index,
|
||||
JSAMPIMAGE output_buf,
|
||||
JDIMENSION out_row_group_index));
|
||||
|
||||
boolean need_context_rows; /* TRUE if need rows above & below */
|
||||
};
|
||||
|
||||
/* Forward DCT (also controls coefficient quantization) */
|
||||
struct jpeg_forward_dct {
|
||||
JMETHOD(void, start_pass, (j_compress_ptr cinfo));
|
||||
/* perhaps this should be an array??? */
|
||||
JMETHOD(void, forward_DCT, (j_compress_ptr cinfo,
|
||||
jpeg_component_info * compptr,
|
||||
JSAMPARRAY sample_data, JBLOCKROW coef_blocks,
|
||||
JDIMENSION start_row, JDIMENSION start_col,
|
||||
JDIMENSION num_blocks));
|
||||
};
|
||||
|
||||
/* Entropy encoding */
|
||||
struct jpeg_entropy_encoder {
|
||||
JMETHOD(void, start_pass, (j_compress_ptr cinfo, boolean gather_statistics));
|
||||
JMETHOD(boolean, encode_mcu, (j_compress_ptr cinfo, JBLOCKROW *MCU_data));
|
||||
JMETHOD(void, finish_pass, (j_compress_ptr cinfo));
|
||||
};
|
||||
|
||||
/* Marker writing */
|
||||
struct jpeg_marker_writer {
|
||||
JMETHOD(void, write_file_header, (j_compress_ptr cinfo));
|
||||
JMETHOD(void, write_frame_header, (j_compress_ptr cinfo));
|
||||
JMETHOD(void, write_scan_header, (j_compress_ptr cinfo));
|
||||
JMETHOD(void, write_file_trailer, (j_compress_ptr cinfo));
|
||||
JMETHOD(void, write_tables_only, (j_compress_ptr cinfo));
|
||||
/* These routines are exported to allow insertion of extra markers */
|
||||
/* Probably only COM and APPn markers should be written this way */
|
||||
JMETHOD(void, write_marker_header, (j_compress_ptr cinfo, int marker,
|
||||
unsigned int datalen));
|
||||
JMETHOD(void, write_marker_byte, (j_compress_ptr cinfo, int val));
|
||||
};
|
||||
|
||||
|
||||
/* Declarations for decompression modules */
|
||||
|
||||
/* Master control module */
|
||||
struct jpeg_decomp_master {
|
||||
JMETHOD(void, prepare_for_output_pass, (j_decompress_ptr cinfo));
|
||||
JMETHOD(void, finish_output_pass, (j_decompress_ptr cinfo));
|
||||
|
||||
/* State variables made visible to other modules */
|
||||
boolean is_dummy_pass; /* True during 1st pass for 2-pass quant */
|
||||
};
|
||||
|
||||
/* Input control module */
|
||||
struct jpeg_input_controller {
|
||||
JMETHOD(int, consume_input, (j_decompress_ptr cinfo));
|
||||
JMETHOD(void, reset_input_controller, (j_decompress_ptr cinfo));
|
||||
JMETHOD(void, start_input_pass, (j_decompress_ptr cinfo));
|
||||
JMETHOD(void, finish_input_pass, (j_decompress_ptr cinfo));
|
||||
|
||||
/* State variables made visible to other modules */
|
||||
boolean has_multiple_scans; /* True if file has multiple scans */
|
||||
boolean eoi_reached; /* True when EOI has been consumed */
|
||||
};
|
||||
|
||||
/* Main buffer control (downsampled-data buffer) */
|
||||
struct jpeg_d_main_controller {
|
||||
JMETHOD(void, start_pass, (j_decompress_ptr cinfo, J_BUF_MODE pass_mode));
|
||||
JMETHOD(void, process_data, (j_decompress_ptr cinfo,
|
||||
JSAMPARRAY output_buf, JDIMENSION *out_row_ctr,
|
||||
JDIMENSION out_rows_avail));
|
||||
};
|
||||
|
||||
/* Coefficient buffer control */
|
||||
struct jpeg_d_coef_controller {
|
||||
JMETHOD(void, start_input_pass, (j_decompress_ptr cinfo));
|
||||
JMETHOD(int, consume_data, (j_decompress_ptr cinfo));
|
||||
JMETHOD(void, start_output_pass, (j_decompress_ptr cinfo));
|
||||
JMETHOD(int, decompress_data, (j_decompress_ptr cinfo,
|
||||
JSAMPIMAGE output_buf));
|
||||
/* Pointer to array of coefficient virtual arrays, or NULL if none */
|
||||
jvirt_barray_ptr *coef_arrays;
|
||||
};
|
||||
|
||||
/* Decompression postprocessing (color quantization buffer control) */
|
||||
struct jpeg_d_post_controller {
|
||||
JMETHOD(void, start_pass, (j_decompress_ptr cinfo, J_BUF_MODE pass_mode));
|
||||
JMETHOD(void, post_process_data, (j_decompress_ptr cinfo,
|
||||
JSAMPIMAGE input_buf,
|
||||
JDIMENSION *in_row_group_ctr,
|
||||
JDIMENSION in_row_groups_avail,
|
||||
JSAMPARRAY output_buf,
|
||||
JDIMENSION *out_row_ctr,
|
||||
JDIMENSION out_rows_avail));
|
||||
};
|
||||
|
||||
/* Marker reading & parsing */
|
||||
struct jpeg_marker_reader {
|
||||
JMETHOD(void, reset_marker_reader, (j_decompress_ptr cinfo));
|
||||
/* Read markers until SOS or EOI.
|
||||
* Returns same codes as are defined for jpeg_consume_input:
|
||||
* JPEG_SUSPENDED, JPEG_REACHED_SOS, or JPEG_REACHED_EOI.
|
||||
*/
|
||||
JMETHOD(int, read_markers, (j_decompress_ptr cinfo));
|
||||
/* Read a restart marker --- exported for use by entropy decoder only */
|
||||
jpeg_marker_parser_method read_restart_marker;
|
||||
|
||||
/* State of marker reader --- nominally internal, but applications
|
||||
* supplying COM or APPn handlers might like to know the state.
|
||||
*/
|
||||
boolean saw_SOI; /* found SOI? */
|
||||
boolean saw_SOF; /* found SOF? */
|
||||
int next_restart_num; /* next restart number expected (0-7) */
|
||||
unsigned int discarded_bytes; /* # of bytes skipped looking for a marker */
|
||||
};
|
||||
|
||||
/* Entropy decoding */
|
||||
struct jpeg_entropy_decoder {
|
||||
JMETHOD(void, start_pass, (j_decompress_ptr cinfo));
|
||||
JMETHOD(boolean, decode_mcu, (j_decompress_ptr cinfo,
|
||||
JBLOCKROW *MCU_data));
|
||||
|
||||
/* This is here to share code between baseline and progressive decoders; */
|
||||
/* other modules probably should not use it */
|
||||
boolean insufficient_data; /* set TRUE after emitting warning */
|
||||
};
|
||||
|
||||
/* Inverse DCT (also performs dequantization) */
|
||||
typedef JMETHOD(void, inverse_DCT_method_ptr,
|
||||
(j_decompress_ptr cinfo, jpeg_component_info * compptr,
|
||||
JCOEFPTR coef_block,
|
||||
JSAMPARRAY output_buf, JDIMENSION output_col));
|
||||
|
||||
struct jpeg_inverse_dct {
|
||||
JMETHOD(void, start_pass, (j_decompress_ptr cinfo));
|
||||
/* It is useful to allow each component to have a separate IDCT method. */
|
||||
inverse_DCT_method_ptr inverse_DCT[MAX_COMPONENTS];
|
||||
};
|
||||
|
||||
/* Upsampling (note that upsampler must also call color converter) */
|
||||
struct jpeg_upsampler {
|
||||
JMETHOD(void, start_pass, (j_decompress_ptr cinfo));
|
||||
JMETHOD(void, upsample, (j_decompress_ptr cinfo,
|
||||
JSAMPIMAGE input_buf,
|
||||
JDIMENSION *in_row_group_ctr,
|
||||
JDIMENSION in_row_groups_avail,
|
||||
JSAMPARRAY output_buf,
|
||||
JDIMENSION *out_row_ctr,
|
||||
JDIMENSION out_rows_avail));
|
||||
|
||||
boolean need_context_rows; /* TRUE if need rows above & below */
|
||||
};
|
||||
|
||||
/* Colorspace conversion */
|
||||
struct jpeg_color_deconverter {
|
||||
JMETHOD(void, start_pass, (j_decompress_ptr cinfo));
|
||||
JMETHOD(void, color_convert, (j_decompress_ptr cinfo,
|
||||
JSAMPIMAGE input_buf, JDIMENSION input_row,
|
||||
JSAMPARRAY output_buf, int num_rows));
|
||||
};
|
||||
|
||||
/* Color quantization or color precision reduction */
|
||||
struct jpeg_color_quantizer {
|
||||
JMETHOD(void, start_pass, (j_decompress_ptr cinfo, boolean is_pre_scan));
|
||||
JMETHOD(void, color_quantize, (j_decompress_ptr cinfo,
|
||||
JSAMPARRAY input_buf, JSAMPARRAY output_buf,
|
||||
int num_rows));
|
||||
JMETHOD(void, finish_pass, (j_decompress_ptr cinfo));
|
||||
JMETHOD(void, new_color_map, (j_decompress_ptr cinfo));
|
||||
};
|
||||
|
||||
|
||||
/* Miscellaneous useful macros */
|
||||
|
||||
#ifdef MAX
|
||||
#undef MAX
|
||||
#endif
|
||||
#define MAX(a,b) ((a) > (b) ? (a) : (b))
|
||||
#ifdef MIN
|
||||
#undef MIN
|
||||
#endif
|
||||
#define MIN(a,b) ((a) < (b) ? (a) : (b))
|
||||
|
||||
|
||||
/* We assume that right shift corresponds to signed division by 2 with
|
||||
* rounding towards minus infinity. This is correct for typical "arithmetic
|
||||
* shift" instructions that shift in copies of the sign bit. But some
|
||||
* C compilers implement >> with an unsigned shift. For these machines you
|
||||
* must define RIGHT_SHIFT_IS_UNSIGNED.
|
||||
* RIGHT_SHIFT provides a proper signed right shift of an INT32 quantity.
|
||||
* It is only applied with constant shift counts. SHIFT_TEMPS must be
|
||||
* included in the variables of any routine using RIGHT_SHIFT.
|
||||
*/
|
||||
|
||||
#ifdef RIGHT_SHIFT_IS_UNSIGNED
|
||||
#define SHIFT_TEMPS INT32 shift_temp;
|
||||
#define RIGHT_SHIFT(x,shft) \
|
||||
((shift_temp = (x)) < 0 ? \
|
||||
(shift_temp >> (shft)) | ((~((INT32) 0)) << (32-(shft))) : \
|
||||
(shift_temp >> (shft)))
|
||||
#else
|
||||
#define SHIFT_TEMPS
|
||||
#define RIGHT_SHIFT(x,shft) ((x) >> (shft))
|
||||
#endif
|
||||
|
||||
|
||||
/* Compression module initialization routines */
|
||||
EXTERN(void) jinit_compress_master JPP((j_compress_ptr cinfo));
|
||||
EXTERN(void) jinit_c_master_control JPP((j_compress_ptr cinfo,
|
||||
boolean transcode_only));
|
||||
EXTERN(void) jinit_c_main_controller JPP((j_compress_ptr cinfo,
|
||||
boolean need_full_buffer));
|
||||
EXTERN(void) jinit_c_prep_controller JPP((j_compress_ptr cinfo,
|
||||
boolean need_full_buffer));
|
||||
EXTERN(void) jinit_c_coef_controller JPP((j_compress_ptr cinfo,
|
||||
boolean need_full_buffer));
|
||||
EXTERN(void) jinit_color_converter JPP((j_compress_ptr cinfo));
|
||||
EXTERN(void) jinit_downsampler JPP((j_compress_ptr cinfo));
|
||||
EXTERN(void) jinit_forward_dct JPP((j_compress_ptr cinfo));
|
||||
EXTERN(void) jinit_huff_encoder JPP((j_compress_ptr cinfo));
|
||||
EXTERN(void) jinit_phuff_encoder JPP((j_compress_ptr cinfo));
|
||||
EXTERN(void) jinit_marker_writer JPP((j_compress_ptr cinfo));
|
||||
/* Decompression module initialization routines */
|
||||
EXTERN(void) jinit_master_decompress JPP((j_decompress_ptr cinfo));
|
||||
EXTERN(void) jinit_d_main_controller JPP((j_decompress_ptr cinfo,
|
||||
boolean need_full_buffer));
|
||||
EXTERN(void) jinit_d_coef_controller JPP((j_decompress_ptr cinfo,
|
||||
boolean need_full_buffer));
|
||||
EXTERN(void) jinit_d_post_controller JPP((j_decompress_ptr cinfo,
|
||||
boolean need_full_buffer));
|
||||
EXTERN(void) jinit_input_controller JPP((j_decompress_ptr cinfo));
|
||||
EXTERN(void) jinit_marker_reader JPP((j_decompress_ptr cinfo));
|
||||
EXTERN(void) jinit_huff_decoder JPP((j_decompress_ptr cinfo));
|
||||
EXTERN(void) jinit_phuff_decoder JPP((j_decompress_ptr cinfo));
|
||||
EXTERN(void) jinit_inverse_dct JPP((j_decompress_ptr cinfo));
|
||||
EXTERN(void) jinit_upsampler JPP((j_decompress_ptr cinfo));
|
||||
EXTERN(void) jinit_color_deconverter JPP((j_decompress_ptr cinfo));
|
||||
EXTERN(void) jinit_1pass_quantizer JPP((j_decompress_ptr cinfo));
|
||||
EXTERN(void) jinit_2pass_quantizer JPP((j_decompress_ptr cinfo));
|
||||
EXTERN(void) jinit_merged_upsampler JPP((j_decompress_ptr cinfo));
|
||||
/* Memory manager initialization */
|
||||
EXTERN(void) jinit_memory_mgr JPP((j_common_ptr cinfo));
|
||||
|
||||
/* Utility routines in jutils.c */
|
||||
EXTERN(long) jdiv_round_up JPP((long a, long b));
|
||||
EXTERN(long) jround_up JPP((long a, long b));
|
||||
EXTERN(void) jcopy_sample_rows JPP((JSAMPARRAY input_array, int source_row,
|
||||
JSAMPARRAY output_array, int dest_row,
|
||||
int num_rows, JDIMENSION num_cols));
|
||||
EXTERN(void) jcopy_block_row JPP((JBLOCKROW input_row, JBLOCKROW output_row,
|
||||
JDIMENSION num_blocks));
|
||||
EXTERN(void) jzero_far JPP((void FAR * target, size_t bytestozero));
|
||||
/* Constant tables in jutils.c */
|
||||
#if 0 /* This table is not actually needed in v6a */
|
||||
extern const int jpeg_zigzag_order[]; /* natural coef order to zigzag order */
|
||||
#endif
|
||||
extern const int jpeg_natural_order[DCTSIZE2+16]; /* zigzag coef order to natural order */
|
||||
|
||||
/* Suppress undefined-structure complaints if necessary. */
|
||||
|
||||
#ifdef INCOMPLETE_TYPES_BROKEN
|
||||
#ifndef AM_MEMORY_MANAGER /* only jmemmgr.c defines these */
|
||||
struct jvirt_sarray_control { long dummy; };
|
||||
struct jvirt_barray_control { long dummy; };
|
||||
#endif
|
||||
#endif /* INCOMPLETE_TYPES_BROKEN */
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,14 @@
|
||||
/*
|
||||
* jversion.h
|
||||
*
|
||||
* Copyright (C) 1991-1998, Thomas G. Lane.
|
||||
* This file is part of the Independent JPEG Group's software.
|
||||
* For conditions of distribution and use, see the accompanying README file.
|
||||
*
|
||||
* This file contains software version identification.
|
||||
*/
|
||||
|
||||
|
||||
#define JVERSION "6b 27-Mar-1998"
|
||||
|
||||
#define JCOPYRIGHT "Copyright (C) 1998, Thomas G. Lane"
|
||||
@@ -0,0 +1,26 @@
|
||||
REM ****************************************
|
||||
REM Compile GUIDemo modules
|
||||
REM ****************************************
|
||||
|
||||
CALL CC GUIDEMO
|
||||
CALL CC GUIDEMO_Automotive
|
||||
CALL CC GUIDEMO_Bitmap
|
||||
CALL CC GUIDEMO_Bitmap4bpp
|
||||
CALL CC GUIDEMO_Circle
|
||||
CALL CC GUIDEMO_ColorBar
|
||||
CALL CC GUIDEMO_ColorList
|
||||
CALL CC GUIDEMO_Cursor
|
||||
CALL CC GUIDEMO_Dialog
|
||||
CALL CC GUIDEMO_Font
|
||||
CALL CC GUIDEMO_FrameWin
|
||||
CALL CC GUIDEMO_Graph
|
||||
CALL CC GUIDEMO_HardwareInfo
|
||||
CALL CC GUIDEMO_Intro
|
||||
CALL CC GUIDEMO_LUT
|
||||
CALL CC GUIDEMO_MemDevB
|
||||
CALL CC GUIDEMO_Navi
|
||||
CALL CC GUIDEMO_Polygon
|
||||
CALL CC GUIDEMO_ProgBar
|
||||
CALL CC GUIDEMO_Speed
|
||||
CALL CC GUIDEMO_Touch
|
||||
CALL CC SeggerLogoBlue
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user