Moving from GuiBox to simple mobile-style Nine Patches.

This commit is contained in:
Aloshi 2013-08-22 21:41:40 -05:00
parent 77fb840a4b
commit f89a418b5c
13 changed files with 945 additions and 20 deletions

View file

@ -140,6 +140,7 @@ set(ES_HEADERS
${CMAKE_CURRENT_SOURCE_DIR}/src/components/ButtonComponent.h
${CMAKE_CURRENT_SOURCE_DIR}/src/components/ComponentListComponent.h
${CMAKE_CURRENT_SOURCE_DIR}/src/components/ImageComponent.h
${CMAKE_CURRENT_SOURCE_DIR}/src/components/NinePatchComponent.h
${CMAKE_CURRENT_SOURCE_DIR}/src/components/ScrollableContainer.h
${CMAKE_CURRENT_SOURCE_DIR}/src/components/SliderComponent.h
${CMAKE_CURRENT_SOURCE_DIR}/src/components/SwitchComponent.h
@ -187,6 +188,7 @@ set(ES_SOURCES
${CMAKE_CURRENT_SOURCE_DIR}/src/components/ButtonComponent.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/components/ComponentListComponent.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/components/ImageComponent.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/components/NinePatchComponent.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/components/ScrollableContainer.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/components/SliderComponent.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/components/SwitchComponent.cpp
@ -214,6 +216,8 @@ set(ES_SOURCES
${CMAKE_CURRENT_SOURCE_DIR}/data/converted/glow_vert_png.cpp
${CMAKE_CURRENT_SOURCE_DIR}/data/converted/glow_off_hor_png.cpp
${CMAKE_CURRENT_SOURCE_DIR}/data/converted/glow_off_vert_png.cpp
${CMAKE_CURRENT_SOURCE_DIR}/data/converted/button_png.cpp
${CMAKE_CURRENT_SOURCE_DIR}/data/converted/frame_png.cpp
)
SOURCE_GROUP(resources FILES ResourceUtil.cpp)

View file

@ -2,12 +2,14 @@
#include "Resources.h"
const size_t res2hNrOfFiles = 8;
const size_t res2hNrOfFiles = 10;
const Res2hEntry res2hFiles[res2hNrOfFiles] = {
{":/bar.png", bar_png_size, bar_png_data},
{":/button.png", button_png_size, button_png_data},
{":/corner.png", corner_png_size, corner_png_data},
{":/ES_logo_16.png", ES_logo_16_png_size, ES_logo_16_png_data},
{":/ES_logo_32.png", ES_logo_32_png_size, ES_logo_32_png_data},
{":/frame.png", frame_png_size, frame_png_data},
{":/glow_hor.png", glow_hor_png_size, glow_hor_png_data},
{":/glow_off_hor.png", glow_off_hor_png_size, glow_off_hor_png_data},
{":/glow_off_vert.png", glow_off_vert_png_size, glow_off_vert_png_data},
@ -16,13 +18,15 @@ const Res2hEntry res2hFiles[res2hNrOfFiles] = {
res2hMapType::value_type mapTemp[] = {
std::make_pair(":/bar.png", res2hFiles[0]),
std::make_pair(":/corner.png", res2hFiles[1]),
std::make_pair(":/ES_logo_16.png", res2hFiles[2]),
std::make_pair(":/ES_logo_32.png", res2hFiles[3]),
std::make_pair(":/glow_hor.png", res2hFiles[4]),
std::make_pair(":/glow_off_hor.png", res2hFiles[5]),
std::make_pair(":/glow_off_vert.png", res2hFiles[6]),
std::make_pair(":/glow_vert.png", res2hFiles[7])
std::make_pair(":/button.png", res2hFiles[1]),
std::make_pair(":/corner.png", res2hFiles[2]),
std::make_pair(":/ES_logo_16.png", res2hFiles[3]),
std::make_pair(":/ES_logo_32.png", res2hFiles[4]),
std::make_pair(":/frame.png", res2hFiles[5]),
std::make_pair(":/glow_hor.png", res2hFiles[6]),
std::make_pair(":/glow_off_hor.png", res2hFiles[7]),
std::make_pair(":/glow_off_vert.png", res2hFiles[8]),
std::make_pair(":/glow_vert.png", res2hFiles[9])
};
res2hMapType res2hMap(mapTemp, mapTemp + sizeof mapTemp / sizeof mapTemp[0]);

View file

@ -8,6 +8,9 @@
extern const size_t bar_png_size;
extern const unsigned char bar_png_data[];
extern const size_t button_png_size;
extern const unsigned char button_png_data[];
extern const size_t corner_png_size;
extern const unsigned char corner_png_data[];
@ -17,6 +20,9 @@ extern const unsigned char ES_logo_16_png_data[];
extern const size_t ES_logo_32_png_size;
extern const unsigned char ES_logo_32_png_data[];
extern const size_t frame_png_size;
extern const unsigned char frame_png_data[];
extern const size_t glow_hor_png_size;
extern const unsigned char glow_hor_png_data[];

View file

@ -0,0 +1,406 @@
//this file was auto-generated from "button.png" by res2h
#include "../Resources.h"
const size_t button_png_size = 3981;
const unsigned char button_png_data[3981] = {
0x89,0x50,0x4e,0x47,0x0d,0x0a,0x1a,0x0a,0x00,0x00,
0x00,0x0d,0x49,0x48,0x44,0x52,0x00,0x00,0x00,0x30,
0x00,0x00,0x00,0x30,0x08,0x06,0x00,0x00,0x00,0x57,
0x02,0xf9,0x87,0x00,0x00,0x00,0x09,0x70,0x48,0x59,
0x73,0x00,0x00,0x0b,0x13,0x00,0x00,0x0b,0x13,0x01,
0x00,0x9a,0x9c,0x18,0x00,0x00,0x0a,0x4f,0x69,0x43,
0x43,0x50,0x50,0x68,0x6f,0x74,0x6f,0x73,0x68,0x6f,
0x70,0x20,0x49,0x43,0x43,0x20,0x70,0x72,0x6f,0x66,
0x69,0x6c,0x65,0x00,0x00,0x78,0xda,0x9d,0x53,0x67,
0x54,0x53,0xe9,0x16,0x3d,0xf7,0xde,0xf4,0x42,0x4b,
0x88,0x80,0x94,0x4b,0x6f,0x52,0x15,0x08,0x20,0x52,
0x42,0x8b,0x80,0x14,0x91,0x26,0x2a,0x21,0x09,0x10,
0x4a,0x88,0x21,0xa1,0xd9,0x15,0x51,0xc1,0x11,0x45,
0x45,0x04,0x1b,0xc8,0xa0,0x88,0x03,0x8e,0x8e,0x80,
0x8c,0x15,0x51,0x2c,0x0c,0x8a,0x0a,0xd8,0x07,0xe4,
0x21,0xa2,0x8e,0x83,0xa3,0x88,0x8a,0xca,0xfb,0xe1,
0x7b,0xa3,0x6b,0xd6,0xbc,0xf7,0xe6,0xcd,0xfe,0xb5,
0xd7,0x3e,0xe7,0xac,0xf3,0x9d,0xb3,0xcf,0x07,0xc0,
0x08,0x0c,0x96,0x48,0x33,0x51,0x35,0x80,0x0c,0xa9,
0x42,0x1e,0x11,0xe0,0x83,0xc7,0xc4,0xc6,0xe1,0xe4,
0x2e,0x40,0x81,0x0a,0x24,0x70,0x00,0x10,0x08,0xb3,
0x64,0x21,0x73,0xfd,0x23,0x01,0x00,0xf8,0x7e,0x3c,
0x3c,0x2b,0x22,0xc0,0x07,0xbe,0x00,0x01,0x78,0xd3,
0x0b,0x08,0x00,0xc0,0x4d,0x9b,0xc0,0x30,0x1c,0x87,
0xff,0x0f,0xea,0x42,0x99,0x5c,0x01,0x80,0x84,0x01,
0xc0,0x74,0x91,0x38,0x4b,0x08,0x80,0x14,0x00,0x40,
0x7a,0x8e,0x42,0xa6,0x00,0x40,0x46,0x01,0x80,0x9d,
0x98,0x26,0x53,0x00,0xa0,0x04,0x00,0x60,0xcb,0x63,
0x62,0xe3,0x00,0x50,0x2d,0x00,0x60,0x27,0x7f,0xe6,
0xd3,0x00,0x80,0x9d,0xf8,0x99,0x7b,0x01,0x00,0x5b,
0x94,0x21,0x15,0x01,0xa0,0x91,0x00,0x20,0x13,0x65,
0x88,0x44,0x00,0x68,0x3b,0x00,0xac,0xcf,0x56,0x8a,
0x45,0x00,0x58,0x30,0x00,0x14,0x66,0x4b,0xc4,0x39,
0x00,0xd8,0x2d,0x00,0x30,0x49,0x57,0x66,0x48,0x00,
0xb0,0xb7,0x00,0xc0,0xce,0x10,0x0b,0xb2,0x00,0x08,
0x0c,0x00,0x30,0x51,0x88,0x85,0x29,0x00,0x04,0x7b,
0x00,0x60,0xc8,0x23,0x23,0x78,0x00,0x84,0x99,0x00,
0x14,0x46,0xf2,0x57,0x3c,0xf1,0x2b,0xae,0x10,0xe7,
0x2a,0x00,0x00,0x78,0x99,0xb2,0x3c,0xb9,0x24,0x39,
0x45,0x81,0x5b,0x08,0x2d,0x71,0x07,0x57,0x57,0x2e,
0x1e,0x28,0xce,0x49,0x17,0x2b,0x14,0x36,0x61,0x02,
0x61,0x9a,0x40,0x2e,0xc2,0x79,0x99,0x19,0x32,0x81,
0x34,0x0f,0xe0,0xf3,0xcc,0x00,0x00,0xa0,0x91,0x15,
0x11,0xe0,0x83,0xf3,0xfd,0x78,0xce,0x0e,0xae,0xce,
0xce,0x36,0x8e,0xb6,0x0e,0x5f,0x2d,0xea,0xbf,0x06,
0xff,0x22,0x62,0x62,0xe3,0xfe,0xe5,0xcf,0xab,0x70,
0x40,0x00,0x00,0xe1,0x74,0x7e,0xd1,0xfe,0x2c,0x2f,
0xb3,0x1a,0x80,0x3b,0x06,0x80,0x6d,0xfe,0xa2,0x25,
0xee,0x04,0x68,0x5e,0x0b,0xa0,0x75,0xf7,0x8b,0x66,
0xb2,0x0f,0x40,0xb5,0x00,0xa0,0xe9,0xda,0x57,0xf3,
0x70,0xf8,0x7e,0x3c,0x3c,0x45,0xa1,0x90,0xb9,0xd9,
0xd9,0xe5,0xe4,0xe4,0xd8,0x4a,0xc4,0x42,0x5b,0x61,
0xca,0x57,0x7d,0xfe,0x67,0xc2,0x5f,0xc0,0x57,0xfd,
0x6c,0xf9,0x7e,0x3c,0xfc,0xf7,0xf5,0xe0,0xbe,0xe2,
0x24,0x81,0x32,0x5d,0x81,0x47,0x04,0xf8,0xe0,0xc2,
0xcc,0xf4,0x4c,0xa5,0x1c,0xcf,0x92,0x09,0x84,0x62,
0xdc,0xe6,0x8f,0x47,0xfc,0xb7,0x0b,0xff,0xfc,0x1d,
0xd3,0x22,0xc4,0x49,0x62,0xb9,0x58,0x2a,0x14,0xe3,
0x51,0x12,0x71,0x8e,0x44,0x9a,0x8c,0xf3,0x32,0xa5,
0x22,0x89,0x42,0x92,0x29,0xc5,0x25,0xd2,0xff,0x64,
0xe2,0xdf,0x2c,0xfb,0x03,0x3e,0xdf,0x35,0x00,0xb0,
0x6a,0x3e,0x01,0x7b,0x91,0x2d,0xa8,0x5d,0x63,0x03,
0xf6,0x4b,0x27,0x10,0x58,0x74,0xc0,0xe2,0xf7,0x00,
0x00,0xf2,0xbb,0x6f,0xc1,0xd4,0x28,0x08,0x03,0x80,
0x68,0x83,0xe1,0xcf,0x77,0xff,0xef,0x3f,0xfd,0x47,
0xa0,0x25,0x00,0x80,0x66,0x49,0x92,0x71,0x00,0x00,
0x5e,0x44,0x24,0x2e,0x54,0xca,0xb3,0x3f,0xc7,0x08,
0x00,0x00,0x44,0xa0,0x81,0x2a,0xb0,0x41,0x1b,0xf4,
0xc1,0x18,0x2c,0xc0,0x06,0x1c,0xc1,0x05,0xdc,0xc1,
0x0b,0xfc,0x60,0x36,0x84,0x42,0x24,0xc4,0xc2,0x42,
0x10,0x42,0x0a,0x64,0x80,0x1c,0x72,0x60,0x29,0xac,
0x82,0x42,0x28,0x86,0xcd,0xb0,0x1d,0x2a,0x60,0x2f,
0xd4,0x40,0x1d,0x34,0xc0,0x51,0x68,0x86,0x93,0x70,
0x0e,0x2e,0xc2,0x55,0xb8,0x0e,0x3d,0x70,0x0f,0xfa,
0x61,0x08,0x9e,0xc1,0x28,0xbc,0x81,0x09,0x04,0x41,
0xc8,0x08,0x13,0x61,0x21,0xda,0x88,0x01,0x62,0x8a,
0x58,0x23,0x8e,0x08,0x17,0x99,0x85,0xf8,0x21,0xc1,
0x48,0x04,0x12,0x8b,0x24,0x20,0xc9,0x88,0x14,0x51,
0x22,0x4b,0x91,0x35,0x48,0x31,0x52,0x8a,0x54,0x20,
0x55,0x48,0x1d,0xf2,0x3d,0x72,0x02,0x39,0x87,0x5c,
0x46,0xba,0x91,0x3b,0xc8,0x00,0x32,0x82,0xfc,0x86,
0xbc,0x47,0x31,0x94,0x81,0xb2,0x51,0x3d,0xd4,0x0c,
0xb5,0x43,0xb9,0xa8,0x37,0x1a,0x84,0x46,0xa2,0x0b,
0xd0,0x64,0x74,0x31,0x9a,0x8f,0x16,0xa0,0x9b,0xd0,
0x72,0xb4,0x1a,0x3d,0x8c,0x36,0xa1,0xe7,0xd0,0xab,
0x68,0x0f,0xda,0x8f,0x3e,0x43,0xc7,0x30,0xc0,0xe8,
0x18,0x07,0x33,0xc4,0x6c,0x30,0x2e,0xc6,0xc3,0x42,
0xb1,0x38,0x2c,0x09,0x93,0x63,0xcb,0xb1,0x22,0xac,
0x0c,0xab,0xc6,0x1a,0xb0,0x56,0xac,0x03,0xbb,0x89,
0xf5,0x63,0xcf,0xb1,0x77,0x04,0x12,0x81,0x45,0xc0,
0x09,0x36,0x04,0x77,0x42,0x20,0x61,0x1e,0x41,0x48,
0x58,0x4c,0x58,0x4e,0xd8,0x48,0xa8,0x20,0x1c,0x24,
0x34,0x11,0xda,0x09,0x37,0x09,0x03,0x84,0x51,0xc2,
0x27,0x22,0x93,0xa8,0x4b,0xb4,0x26,0xba,0x11,0xf9,
0xc4,0x18,0x62,0x32,0x31,0x87,0x58,0x48,0x2c,0x23,
0xd6,0x12,0x8f,0x13,0x2f,0x10,0x7b,0x88,0x43,0xc4,
0x37,0x24,0x12,0x89,0x43,0x32,0x27,0xb9,0x90,0x02,
0x49,0xb1,0xa4,0x54,0xd2,0x12,0xd2,0x46,0xd2,0x6e,
0x52,0x23,0xe9,0x2c,0xa9,0x9b,0x34,0x48,0x1a,0x23,
0x93,0xc9,0xda,0x64,0x6b,0xb2,0x07,0x39,0x94,0x2c,
0x20,0x2b,0xc8,0x85,0xe4,0x9d,0xe4,0xc3,0xe4,0x33,
0xe4,0x1b,0xe4,0x21,0xf2,0x5b,0x0a,0x9d,0x62,0x40,
0x71,0xa4,0xf8,0x53,0xe2,0x28,0x52,0xca,0x6a,0x4a,
0x19,0xe5,0x10,0xe5,0x34,0xe5,0x06,0x65,0x98,0x32,
0x41,0x55,0xa3,0x9a,0x52,0xdd,0xa8,0xa1,0x54,0x11,
0x35,0x8f,0x5a,0x42,0xad,0xa1,0xb6,0x52,0xaf,0x51,
0x87,0xa8,0x13,0x34,0x75,0x9a,0x39,0xcd,0x83,0x16,
0x49,0x4b,0xa5,0xad,0xa2,0x95,0xd3,0x1a,0x68,0x17,
0x68,0xf7,0x69,0xaf,0xe8,0x74,0xba,0x11,0xdd,0x95,
0x1e,0x4e,0x97,0xd0,0x57,0xd2,0xcb,0xe9,0x47,0xe8,
0x97,0xe8,0x03,0xf4,0x77,0x0c,0x0d,0x86,0x15,0x83,
0xc7,0x88,0x67,0x28,0x19,0x9b,0x18,0x07,0x18,0x67,
0x19,0x77,0x18,0xaf,0x98,0x4c,0xa6,0x19,0xd3,0x8b,
0x19,0xc7,0x54,0x30,0x37,0x31,0xeb,0x98,0xe7,0x99,
0x0f,0x99,0x6f,0x55,0x58,0x2a,0xb6,0x2a,0x7c,0x15,
0x91,0xca,0x0a,0x95,0x4a,0x95,0x26,0x95,0x1b,0x2a,
0x2f,0x54,0xa9,0xaa,0xa6,0xaa,0xde,0xaa,0x0b,0x55,
0xf3,0x55,0xcb,0x54,0x8f,0xa9,0x5e,0x53,0x7d,0xae,
0x46,0x55,0x33,0x53,0xe3,0xa9,0x09,0xd4,0x96,0xab,
0x55,0xaa,0x9d,0x50,0xeb,0x53,0x1b,0x53,0x67,0xa9,
0x3b,0xa8,0x87,0xaa,0x67,0xa8,0x6f,0x54,0x3f,0xa4,
0x7e,0x59,0xfd,0x89,0x06,0x59,0xc3,0x4c,0xc3,0x4f,
0x43,0xa4,0x51,0xa0,0xb1,0x5f,0xe3,0xbc,0xc6,0x20,
0x0b,0x63,0x19,0xb3,0x78,0x2c,0x21,0x6b,0x0d,0xab,
0x86,0x75,0x81,0x35,0xc4,0x26,0xb1,0xcd,0xd9,0x7c,
0x76,0x2a,0xbb,0x98,0xfd,0x1d,0xbb,0x8b,0x3d,0xaa,
0xa9,0xa1,0x39,0x43,0x33,0x4a,0x33,0x57,0xb3,0x52,
0xf3,0x94,0x66,0x3f,0x07,0xe3,0x98,0x71,0xf8,0x9c,
0x74,0x4e,0x09,0xe7,0x28,0xa7,0x97,0xf3,0x7e,0x8a,
0xde,0x14,0xef,0x29,0xe2,0x29,0x1b,0xa6,0x34,0x4c,
0xb9,0x31,0x65,0x5c,0x6b,0xaa,0x96,0x97,0x96,0x58,
0xab,0x48,0xab,0x51,0xab,0x47,0xeb,0xbd,0x36,0xae,
0xed,0xa7,0x9d,0xa6,0xbd,0x45,0xbb,0x59,0xfb,0x81,
0x0e,0x41,0xc7,0x4a,0x27,0x5c,0x27,0x47,0x67,0x8f,
0xce,0x05,0x9d,0xe7,0x53,0xd9,0x53,0xdd,0xa7,0x0a,
0xa7,0x16,0x4d,0x3d,0x3a,0xf5,0xae,0x2e,0xaa,0x6b,
0xa5,0x1b,0xa1,0xbb,0x44,0x77,0xbf,0x6e,0xa7,0xee,
0x98,0x9e,0xbe,0x5e,0x80,0x9e,0x4c,0x6f,0xa7,0xde,
0x79,0xbd,0xe7,0xfa,0x1c,0x7d,0x2f,0xfd,0x54,0xfd,
0x6d,0xfa,0xa7,0xf5,0x47,0x0c,0x58,0x06,0xb3,0x0c,
0x24,0x06,0xdb,0x0c,0xce,0x18,0x3c,0xc5,0x35,0x71,
0x6f,0x3c,0x1d,0x2f,0xc7,0xdb,0xf1,0x51,0x43,0x5d,
0xc3,0x40,0x43,0xa5,0x61,0x95,0x61,0x97,0xe1,0x84,
0x91,0xb9,0xd1,0x3c,0xa3,0xd5,0x46,0x8d,0x46,0x0f,
0x8c,0x69,0xc6,0x5c,0xe3,0x24,0xe3,0x6d,0xc6,0x6d,
0xc6,0xa3,0x26,0x06,0x26,0x21,0x26,0x4b,0x4d,0xea,
0x4d,0xee,0x9a,0x52,0x4d,0xb9,0xa6,0x29,0xa6,0x3b,
0x4c,0x3b,0x4c,0xc7,0xcd,0xcc,0xcd,0xa2,0xcd,0xd6,
0x99,0x35,0x9b,0x3d,0x31,0xd7,0x32,0xe7,0x9b,0xe7,
0x9b,0xd7,0x9b,0xdf,0xb7,0x60,0x5a,0x78,0x5a,0x2c,
0xb6,0xa8,0xb6,0xb8,0x65,0x49,0xb2,0xe4,0x5a,0xa6,
0x59,0xee,0xb6,0xbc,0x6e,0x85,0x5a,0x39,0x59,0xa5,
0x58,0x55,0x5a,0x5d,0xb3,0x46,0xad,0x9d,0xad,0x25,
0xd6,0xbb,0xad,0xbb,0xa7,0x11,0xa7,0xb9,0x4e,0x93,
0x4e,0xab,0x9e,0xd6,0x67,0xc3,0xb0,0xf1,0xb6,0xc9,
0xb6,0xa9,0xb7,0x19,0xb0,0xe5,0xd8,0x06,0xdb,0xae,
0xb6,0x6d,0xb6,0x7d,0x61,0x67,0x62,0x17,0x67,0xb7,
0xc5,0xae,0xc3,0xee,0x93,0xbd,0x93,0x7d,0xba,0x7d,
0x8d,0xfd,0x3d,0x07,0x0d,0x87,0xd9,0x0e,0xab,0x1d,
0x5a,0x1d,0x7e,0x73,0xb4,0x72,0x14,0x3a,0x56,0x3a,
0xde,0x9a,0xce,0x9c,0xee,0x3f,0x7d,0xc5,0xf4,0x96,
0xe9,0x2f,0x67,0x58,0xcf,0x10,0xcf,0xd8,0x33,0xe3,
0xb6,0x13,0xcb,0x29,0xc4,0x69,0x9d,0x53,0x9b,0xd3,
0x47,0x67,0x17,0x67,0xb9,0x73,0x83,0xf3,0x88,0x8b,
0x89,0x4b,0x82,0xcb,0x2e,0x97,0x3e,0x2e,0x9b,0x1b,
0xc6,0xdd,0xc8,0xbd,0xe4,0x4a,0x74,0xf5,0x71,0x5d,
0xe1,0x7a,0xd2,0xf5,0x9d,0x9b,0xb3,0x9b,0xc2,0xed,
0xa8,0xdb,0xaf,0xee,0x36,0xee,0x69,0xee,0x87,0xdc,
0x9f,0xcc,0x34,0x9f,0x29,0x9e,0x59,0x33,0x73,0xd0,
0xc3,0xc8,0x43,0xe0,0x51,0xe5,0xd1,0x3f,0x0b,0x9f,
0x95,0x30,0x6b,0xdf,0xac,0x7e,0x4f,0x43,0x4f,0x81,
0x67,0xb5,0xe7,0x23,0x2f,0x63,0x2f,0x91,0x57,0xad,
0xd7,0xb0,0xb7,0xa5,0x77,0xaa,0xf7,0x61,0xef,0x17,
0x3e,0xf6,0x3e,0x72,0x9f,0xe3,0x3e,0xe3,0x3c,0x37,
0xde,0x32,0xde,0x59,0x5f,0xcc,0x37,0xc0,0xb7,0xc8,
0xb7,0xcb,0x4f,0xc3,0x6f,0x9e,0x5f,0x85,0xdf,0x43,
0x7f,0x23,0xff,0x64,0xff,0x7a,0xff,0xd1,0x00,0xa7,
0x80,0x25,0x01,0x67,0x03,0x89,0x81,0x41,0x81,0x5b,
0x02,0xfb,0xf8,0x7a,0x7c,0x21,0xbf,0x8e,0x3f,0x3a,
0xdb,0x65,0xf6,0xb2,0xd9,0xed,0x41,0x8c,0xa0,0xb9,
0x41,0x15,0x41,0x8f,0x82,0xad,0x82,0xe5,0xc1,0xad,
0x21,0x68,0xc8,0xec,0x90,0xad,0x21,0xf7,0xe7,0x98,
0xce,0x91,0xce,0x69,0x0e,0x85,0x50,0x7e,0xe8,0xd6,
0xd0,0x07,0x61,0xe6,0x61,0x8b,0xc3,0x7e,0x0c,0x27,
0x85,0x87,0x85,0x57,0x86,0x3f,0x8e,0x70,0x88,0x58,
0x1a,0xd1,0x31,0x97,0x35,0x77,0xd1,0xdc,0x43,0x73,
0xdf,0x44,0xfa,0x44,0x96,0x44,0xde,0x9b,0x67,0x31,
0x4f,0x39,0xaf,0x2d,0x4a,0x35,0x2a,0x3e,0xaa,0x2e,
0x6a,0x3c,0xda,0x37,0xba,0x34,0xba,0x3f,0xc6,0x2e,
0x66,0x59,0xcc,0xd5,0x58,0x9d,0x58,0x49,0x6c,0x4b,
0x1c,0x39,0x2e,0x2a,0xae,0x36,0x6e,0x6c,0xbe,0xdf,
0xfc,0xed,0xf3,0x87,0xe2,0x9d,0xe2,0x0b,0xe3,0x7b,
0x17,0x98,0x2f,0xc8,0x5d,0x70,0x79,0xa1,0xce,0xc2,
0xf4,0x85,0xa7,0x16,0xa9,0x2e,0x12,0x2c,0x3a,0x96,
0x40,0x4c,0x88,0x4e,0x38,0x94,0xf0,0x41,0x10,0x2a,
0xa8,0x16,0x8c,0x25,0xf2,0x13,0x77,0x25,0x8e,0x0a,
0x79,0xc2,0x1d,0xc2,0x67,0x22,0x2f,0xd1,0x36,0xd1,
0x88,0xd8,0x43,0x5c,0x2a,0x1e,0x4e,0xf2,0x48,0x2a,
0x4d,0x7a,0x92,0xec,0x91,0xbc,0x35,0x79,0x24,0xc5,
0x33,0xa5,0x2c,0xe5,0xb9,0x84,0x27,0xa9,0x90,0xbc,
0x4c,0x0d,0x4c,0xdd,0x9b,0x3a,0x9e,0x16,0x9a,0x76,
0x20,0x6d,0x32,0x3d,0x3a,0xbd,0x31,0x83,0x92,0x91,
0x90,0x71,0x42,0xaa,0x21,0x4d,0x93,0xb6,0x67,0xea,
0x67,0xe6,0x66,0x76,0xcb,0xac,0x65,0x85,0xb2,0xfe,
0xc5,0x6e,0x8b,0xb7,0x2f,0x1e,0x95,0x07,0xc9,0x6b,
0xb3,0x90,0xac,0x05,0x59,0x2d,0x0a,0xb6,0x42,0xa6,
0xe8,0x54,0x5a,0x28,0xd7,0x2a,0x07,0xb2,0x67,0x65,
0x57,0x66,0xbf,0xcd,0x89,0xca,0x39,0x96,0xab,0x9e,
0x2b,0xcd,0xed,0xcc,0xb3,0xca,0xdb,0x90,0x37,0x9c,
0xef,0x9f,0xff,0xed,0x12,0xc2,0x12,0xe1,0x92,0xb6,
0xa5,0x86,0x4b,0x57,0x2d,0x1d,0x58,0xe6,0xbd,0xac,
0x6a,0x39,0xb2,0x3c,0x71,0x79,0xdb,0x0a,0xe3,0x15,
0x05,0x2b,0x86,0x56,0x06,0xac,0x3c,0xb8,0x8a,0xb6,
0x2a,0x6d,0xd5,0x4f,0xab,0xed,0x57,0x97,0xae,0x7e,
0xbd,0x26,0x7a,0x4d,0x6b,0x81,0x5e,0xc1,0xca,0x82,
0xc1,0xb5,0x01,0x6b,0xeb,0x0b,0x55,0x0a,0xe5,0x85,
0x7d,0xeb,0xdc,0xd7,0xed,0x5d,0x4f,0x58,0x2f,0x59,
0xdf,0xb5,0x61,0xfa,0x86,0x9d,0x1b,0x3e,0x15,0x89,
0x8a,0xae,0x14,0xdb,0x17,0x97,0x15,0x7f,0xd8,0x28,
0xdc,0x78,0xe5,0x1b,0x87,0x6f,0xca,0xbf,0x99,0xdc,
0x94,0xb4,0xa9,0xab,0xc4,0xb9,0x64,0xcf,0x66,0xd2,
0x66,0xe9,0xe6,0xde,0x2d,0x9e,0x5b,0x0e,0x96,0xaa,
0x97,0xe6,0x97,0x0e,0x6e,0x0d,0xd9,0xda,0xb4,0x0d,
0xdf,0x56,0xb4,0xed,0xf5,0xf6,0x45,0xdb,0x2f,0x97,
0xcd,0x28,0xdb,0xbb,0x83,0xb6,0x43,0xb9,0xa3,0xbf,
0x3c,0xb8,0xbc,0x65,0xa7,0xc9,0xce,0xcd,0x3b,0x3f,
0x54,0xa4,0x54,0xf4,0x54,0xfa,0x54,0x36,0xee,0xd2,
0xdd,0xb5,0x61,0xd7,0xf8,0x6e,0xd1,0xee,0x1b,0x7b,
0xbc,0xf6,0x34,0xec,0xd5,0xdb,0x5b,0xbc,0xf7,0xfd,
0x3e,0xc9,0xbe,0xdb,0x55,0x01,0x55,0x4d,0xd5,0x66,
0xd5,0x65,0xfb,0x49,0xfb,0xb3,0xf7,0x3f,0xae,0x89,
0xaa,0xe9,0xf8,0x96,0xfb,0x6d,0x5d,0xad,0x4e,0x6d,
0x71,0xed,0xc7,0x03,0xd2,0x03,0xfd,0x07,0x23,0x0e,
0xb6,0xd7,0xb9,0xd4,0xd5,0x1d,0xd2,0x3d,0x54,0x52,
0x8f,0xd6,0x2b,0xeb,0x47,0x0e,0xc7,0x1f,0xbe,0xfe,
0x9d,0xef,0x77,0x2d,0x0d,0x36,0x0d,0x55,0x8d,0x9c,
0xc6,0xe2,0x23,0x70,0x44,0x79,0xe4,0xe9,0xf7,0x09,
0xdf,0xf7,0x1e,0x0d,0x3a,0xda,0x76,0x8c,0x7b,0xac,
0xe1,0x07,0xd3,0x1f,0x76,0x1d,0x67,0x1d,0x2f,0x6a,
0x42,0x9a,0xf2,0x9a,0x46,0x9b,0x53,0x9a,0xfb,0x5b,
0x62,0x5b,0xba,0x4f,0xcc,0x3e,0xd1,0xd6,0xea,0xde,
0x7a,0xfc,0x47,0xdb,0x1f,0x0f,0x9c,0x34,0x3c,0x59,
0x79,0x4a,0xf3,0x54,0xc9,0x69,0xda,0xe9,0x82,0xd3,
0x93,0x67,0xf2,0xcf,0x8c,0x9d,0x95,0x9d,0x7d,0x7e,
0x2e,0xf9,0xdc,0x60,0xdb,0xa2,0xb6,0x7b,0xe7,0x63,
0xce,0xdf,0x6a,0x0f,0x6f,0xef,0xba,0x10,0x74,0xe1,
0xd2,0x45,0xff,0x8b,0xe7,0x3b,0xbc,0x3b,0xce,0x5c,
0xf2,0xb8,0x74,0xf2,0xb2,0xdb,0xe5,0x13,0x57,0xb8,
0x57,0x9a,0xaf,0x3a,0x5f,0x6d,0xea,0x74,0xea,0x3c,
0xfe,0x93,0xd3,0x4f,0xc7,0xbb,0x9c,0xbb,0x9a,0xae,
0xb9,0x5c,0x6b,0xb9,0xee,0x7a,0xbd,0xb5,0x7b,0x66,
0xf7,0xe9,0x1b,0x9e,0x37,0xce,0xdd,0xf4,0xbd,0x79,
0xf1,0x16,0xff,0xd6,0xd5,0x9e,0x39,0x3d,0xdd,0xbd,
0xf3,0x7a,0x6f,0xf7,0xc5,0xf7,0xf5,0xdf,0x16,0xdd,
0x7e,0x72,0x27,0xfd,0xce,0xcb,0xbb,0xd9,0x77,0x27,
0xee,0xad,0xbc,0x4f,0xbc,0x5f,0xf4,0x40,0xed,0x41,
0xd9,0x43,0xdd,0x87,0xd5,0x3f,0x5b,0xfe,0xdc,0xd8,
0xef,0xdc,0x7f,0x6a,0xc0,0x77,0xa0,0xf3,0xd1,0xdc,
0x47,0xf7,0x06,0x85,0x83,0xcf,0xfe,0x91,0xf5,0x8f,
0x0f,0x43,0x05,0x8f,0x99,0x8f,0xcb,0x86,0x0d,0x86,
0xeb,0x9e,0x38,0x3e,0x39,0x39,0xe2,0x3f,0x72,0xfd,
0xe9,0xfc,0xa7,0x43,0xcf,0x64,0xcf,0x26,0x9e,0x17,
0xfe,0xa2,0xfe,0xcb,0xae,0x17,0x16,0x2f,0x7e,0xf8,
0xd5,0xeb,0xd7,0xce,0xd1,0x98,0xd1,0xa1,0x97,0xf2,
0x97,0x93,0xbf,0x6d,0x7c,0xa5,0xfd,0xea,0xc0,0xeb,
0x19,0xaf,0xdb,0xc6,0xc2,0xc6,0x1e,0xbe,0xc9,0x78,
0x33,0x31,0x5e,0xf4,0x56,0xfb,0xed,0xc1,0x77,0xdc,
0x77,0x1d,0xef,0xa3,0xdf,0x0f,0x4f,0xe4,0x7c,0x20,
0x7f,0x28,0xff,0x68,0xf9,0xb1,0xf5,0x53,0xd0,0xa7,
0xfb,0x93,0x19,0x93,0x93,0xff,0x04,0x03,0x98,0xf3,
0xfc,0x63,0x33,0x2d,0xdb,0x00,0x00,0x00,0x04,0x67,
0x41,0x4d,0x41,0x00,0x00,0xb1,0x8e,0x7c,0xfb,0x51,
0x93,0x00,0x00,0x00,0x20,0x63,0x48,0x52,0x4d,0x00,
0x00,0x7a,0x25,0x00,0x00,0x80,0x83,0x00,0x00,0xf9,
0xff,0x00,0x00,0x80,0xe9,0x00,0x00,0x75,0x30,0x00,
0x00,0xea,0x60,0x00,0x00,0x3a,0x98,0x00,0x00,0x17,
0x6f,0x92,0x5f,0xc5,0x46,0x00,0x00,0x04,0xa8,0x49,
0x44,0x41,0x54,0x78,0xda,0xcc,0x5a,0xbb,0x72,0xe3,
0x48,0x0c,0xec,0x56,0xf9,0x0b,0xac,0x2a,0xff,0x98,
0xd3,0xdb,0x74,0x2f,0xb8,0x4d,0xf6,0x4b,0x9c,0xec,
0x25,0x4e,0x1d,0xfb,0xc3,0x4e,0x55,0xd2,0x07,0xac,
0x48,0xf6,0x06,0x1c,0xcc,0x60,0x1e,0xa4,0x48,0x8a,
0xf6,0x99,0x81,0x6d,0x49,0x1c,0x0c,0x80,0x6e,0x34,
0x30,0x94,0x89,0xe9,0x4b,0xf8,0x5a,0x17,0x27,0xdf,
0x94,0x92,0xaf,0x24,0xe3,0x8b,0xcb,0xe5,0xf2,0x25,
0x3c,0x7f,0x7c,0x7c,0x4c,0x59,0x95,0xe8,0x7c,0x4d,
0x01,0x4c,0x39,0xfe,0xf3,0xe7,0xcf,0x80,0x85,0x00,
0x10,0xa2,0x40,0x10,0x10,0x20,0x02,0xb4,0xdf,0x19,
0x64,0xe3,0xbd,0x8c,0xb6,0x43,0xae,0x54,0xe6,0x32,
0x2d,0x96,0x00,0xd2,0x19,0x0d,0x37,0xbd,0xbc,0xbc,
0x4c,0x06,0x52,0x05,0xe0,0x1d,0xff,0xf1,0xcf,0x0f,
0x08,0x02,0xc8,0xd1,0x49,0xfb,0xdb,0x36,0x85,0xed,
0xa5,0xc4,0x37,0x8e,0x6f,0x32,0x44,0x63,0xef,0x51,
0x82,0xc8,0x70,0xef,0xe8,0xe0,0x98,0x48,0x65,0x54,
0x10,0x19,0x93,0x45,0xfb,0x49,0x80,0x10,0x7e,0xfd,
0xfa,0x37,0x0b,0x24,0x0b,0xc0,0x2c,0x5d,0x2e,0x17,
0x7c,0xff,0xfb,0x7b,0x83,0xfd,0xc5,0x66,0x0c,0xc6,
0xa5,0x79,0xc6,0x6a,0x8e,0xca,0x09,0x0e,0x8e,0xe9,
0x69,0xac,0x67,0x55,0x8e,0xaf,0xaf,0xaf,0x1e,0x09,
0x3e,0x94,0xb4,0xb9,0xfe,0xfe,0x9d,0xd7,0x8b,0xda,
0x25,0xa4,0xa9,0xaa,0x9a,0x91,0x03,0xa3,0x5a,0xb9,
0x78,0x99,0xad,0x40,0xe1,0xe0,0xab,0x05,0x11,0xf3,
0x74,0x3e,0x9f,0xf1,0xd7,0xb7,0x6f,0x55,0x8e,0x18,
0x7e,0xc8,0xa8,0x51,0x6c,0x28,0x67,0x84,0xd9,0x8b,
0xf4,0x3b,0x77,0xd0,0x1c,0x51,0xa2,0x5b,0x51,0x3f,
0x46,0x8c,0xb8,0xce,0x8c,0x87,0x0c,0xbc,0xbd,0xbd,
0xe1,0x78,0x3c,0x02,0x00,0x1e,0xcc,0x79,0x00,0xe8,
0xae,0xd7,0x68,0x44,0x32,0xfe,0x95,0x86,0x02,0x73,
0x18,0x78,0x1a,0x60,0x66,0x4c,0x87,0x8c,0x63,0x79,
0x44,0x1a,0xb3,0xc7,0x2a,0x4a,0xef,0x5f,0xb2,0x49,
0xca,0xdd,0xc1,0xe8,0x93,0x25,0xe2,0x7c,0x3e,0xe3,
0x78,0x3c,0x8e,0x9f,0x9c,0xcf,0x67,0x3c,0x3f,0x3f,
0x57,0x91,0xb6,0x58,0x94,0x80,0xa4,0x17,0x91,0xe8,
0x78,0x52,0x93,0x50,0x94,0x66,0x32,0xd4,0xce,0x28,
0x07,0x8c,0xb1,0xa9,0x2d,0x4a,0x15,0xd4,0xd9,0xbe,
0x00,0xde,0xdf,0xdf,0x71,0x3c,0x1e,0x11,0x6b,0xe0,
0x7a,0xbd,0x36,0x21,0x57,0x56,0x8f,0x09,0xde,0x26,
0x7f,0xeb,0xd8,0x6b,0xf4,0x4a,0xbe,0x37,0x0a,0x40,
0x72,0x88,0x7a,0xd7,0x1b,0xf7,0x66,0x01,0x30,0x93,
0x43,0xe4,0xaa,0xa3,0x05,0x02,0xb3,0xba,0xb5,0x86,
0x5a,0xc8,0x0c,0xb2,0x81,0xf9,0xf4,0xf5,0x60,0x7d,
0xa0,0xeb,0xae,0x49,0x1a,0xe9,0x98,0x17,0x3c,0x27,
0x39,0xfe,0x1d,0x6c,0x5a,0x73,0x8a,0xc8,0x04,0x5d,
0xb7,0x16,0x26,0x2a,0x52,0x27,0x66,0xc1,0x9a,0x43,
0x2a,0x98,0x10,0x44,0x64,0xb9,0x6b,0x92,0xae,0xe0,
0xac,0x16,0xe5,0x48,0x1c,0xfc,0x72,0x08,0x74,0x6d,
0xee,0xcc,0x88,0xdc,0xac,0xfc,0x95,0xd2,0xd9,0x58,
0x25,0x4f,0xc9,0x8c,0x62,0x13,0x96,0xe7,0x28,0xd4,
0x75,0xd7,0xa8,0x3c,0x63,0x46,0x43,0x1f,0x09,0xad,
0xdd,0x06,0x0d,0x65,0xd0,0x5b,0x91,0x2a,0xf4,0xce,
0xb2,0x5d,0x29,0xeb,0xa6,0x10,0x93,0xd2,0x80,0x6e,
0x9d,0x52,0xe3,0xb2,0xbd,0xc2,0xeb,0xb8,0x8f,0xe4,
0x28,0xce,0x56,0x0d,0x74,0x70,0x58,0x39,0x24,0xfc,
0x06,0x73,0x9d,0x36,0x2c,0xc8,0x79,0x93,0xd9,0xa3,
0x90,0x7a,0x40,0xe9,0x54,0xa3,0xf4,0xf3,0x0e,0xdd,
0xee,0xd8,0x0e,0x81,0xee,0x8e,0x29,0x57,0x3b,0x96,
0xf6,0xd2,0xfd,0x26,0x03,0x98,0x72,0x64,0xc6,0x41,
0xce,0xcc,0x45,0x99,0xa8,0xb4,0xef,0x9b,0x5e,0x7e,
0x13,0xf6,0xa4,0x42,0x7d,0xdf,0x87,0xf6,0x7e,0x63,
0x0e,0x2b,0x1b,0x2d,0x1c,0x2d,0xd2,0x0c,0x59,0xcb,
0xb1,0x13,0x07,0xc2,0x2b,0x56,0xc9,0x44,0xab,0x8d,
0x96,0x1f,0x33,0x2a,0xd4,0x75,0x5d,0x1c,0xfb,0x19,
0x78,0x1b,0xcb,0x8d,0xcc,0x14,0x23,0xc9,0x9d,0x20,
0xe7,0x2d,0xd9,0x18,0xbd,0x14,0x0a,0x96,0x48,0x09,
0xa2,0x0f,0xd8,0x07,0xe9,0x86,0x87,0x10,0x84,0x8d,
0xf3,0x60,0x94,0x84,0x4c,0x30,0x76,0xa8,0x01,0xac,
0xa3,0xdb,0xce,0x57,0x0c,0xa0,0xef,0xfb,0x5a,0x67,
0xe3,0xd9,0x45,0xc5,0x4c,0xc3,0x4c,0xe7,0x11,0xe6,
0x1f,0xb9,0xd1,0x2b,0x22,0xc8,0x7c,0xc6,0x43,0x36,
0x17,0xd5,0xba,0x2f,0x29,0x1b,0xe0,0xac,0xe9,0x65,
0x33,0x62,0x33,0x80,0xae,0x8f,0xbc,0x1c,0x37,0x65,
0x2a,0x2c,0xe6,0x43,0x0a,0xc5,0x74,0x9c,0x8c,0x07,
0x1c,0xeb,0x1d,0xac,0x68,0x48,0xa4,0x82,0xb1,0xde,
0x9b,0x9a,0x3a,0xb3,0xa9,0x95,0x91,0x72,0x81,0x64,
0x4a,0xb4,0x8d,0x27,0xc2,0x26,0x85,0x86,0xbe,0x3e,
0xf2,0xd9,0x91,0x91,0x04,0x90,0x4d,0x19,0x2e,0x1e,
0xb7,0x26,0xcf,0x9d,0x1b,0xfe,0x04,0x15,0xa9,0xf3,
0x87,0x41,0xb9,0xf3,0x73,0x1c,0x5b,0xc2,0x78,0xa2,
0x02,0x8c,0x71,0x44,0x69,0x04,0x30,0xf4,0x7d,0xf3,
0x00,0x51,0x8f,0x02,0x1e,0xf6,0x1c,0xde,0xf6,0x3d,
0xc5,0xa8,0x20,0xd4,0x07,0xa3,0x7a,0x5e,0xcf,0xc5,
0x2b,0xa8,0x8b,0xdc,0x8c,0x56,0x53,0x68,0xe8,0x5d,
0x94,0xf1,0xd4,0x02,0x0c,0xb9,0x6e,0x32,0xd9,0x8b,
0xfa,0x4d,0x02,0xc3,0x90,0xba,0x25,0x98,0x86,0xbc,
0x74,0xa0,0xf1,0x3e,0xd2,0xa9,0xd7,0x54,0xd7,0x45,
0x7a,0x87,0x46,0xa5,0x61,0x4c,0x36,0x1b,0x7d,0x60,
0xe8,0x87,0x86,0x92,0x0c,0x9f,0xff,0xe8,0x4a,0xcb,
0xf6,0x35,0xba,0x1d,0x16,0x3f,0x98,0xe3,0x1a,0x2f,
0xb8,0x61,0x9d,0x93,0xb4,0x15,0xcf,0xe7,0x0e,0xcb,
0x8d,0xcf,0x78,0x54,0x1e,0xb1,0xa8,0x9d,0x1e,0x50,
0xf2,0x66,0x5e,0x0f,0xab,0x0c,0x70,0xc2,0x23,0x6d,
0x7d,0xaa,0xca,0x1b,0xb6,0x75,0x2f,0x02,0x45,0x23,
0xd0,0xf6,0xc4,0xdd,0xa4,0xa9,0x16,0x2e,0xd6,0x26,
0x0a,0xad,0xe4,0x81,0x78,0x07,0x6d,0xd6,0xed,0x75,
0xb8,0x9f,0x9f,0xdc,0x79,0x0e,0xe2,0x67,0x05,0xa0,
0x7b,0x0b,0xe0,0x7f,0x40,0x80,0xf8,0xe0,0x8b,0xab,
0x3f,0x3b,0x2c,0xa3,0xc5,0x54,0x72,0x96,0x6e,0xc8,
0x1d,0xb2,0xaf,0x25,0x01,0xb4,0x68,0xc1,0x1d,0x36,
0xd4,0x87,0x21,0x79,0xb8,0x0d,0x95,0xf6,0xe7,0x98,
0xb6,0xda,0xe3,0x92,0x00,0x74,0x07,0x2d,0xb4,0x3e,
0xc5,0x9c,0xbb,0xff,0xb6,0x40,0x1c,0xd6,0x25,0x53,
0x77,0xf1,0x35,0xce,0x49,0x2c,0x9b,0xa3,0x36,0xa3,
0xfb,0xb0,0x57,0xef,0x5a,0xcf,0x1d,0x6d,0x58,0x5b,
0x7f,0xe5,0x14,0x11,0x38,0x9d,0x4e,0x9f,0xa7,0x9f,
0xe2,0x46,0xdb,0xaa,0x02,0x3f,0x00,0xc0,0xd3,0xd3,
0xd3,0xbe,0xa3,0xc4,0x94,0x53,0xdc,0x82,0x44,0x6d,
0xcb,0x27,0xfb,0xe0,0xef,0xd8,0x86,0xc2,0x8a,0x62,
0xd6,0x56,0xda,0xb1,0x72,0xde,0x92,0x1e,0x29,0x94,
0x50,0xe0,0x76,0xfa,0x70,0x0b,0x72,0x5c,0x59,0x3b,
0x19,0x63,0x68,0x47,0x4a,0xda,0x37,0xf5,0xa7,0xd3,
0x7f,0x68,0xd3,0x6a,0xea,0xd9,0xa7,0x8a,0xfe,0x37,
0xf7,0x0c,0xb5,0xf5,0xd1,0x32,0x58,0x4a,0x76,0x34,
0xbf,0xa9,0x9f,0x82,0x69,0xd3,0x93,0xb7,0xc9,0xaf,
0x8d,0xd6,0x3f,0xd5,0x6b,0xf9,0x53,0x05,0x90,0x9e,
0xad,0x1a,0x12,0x27,0x7c,0xa5,0xcb,0x9c,0x6f,0xfe,
0xb3,0xc7,0x67,0x75,0x81,0x8f,0x18,0x57,0xff,0x0c,
0x00,0xd6,0x5e,0xf1,0xee,0x67,0xbc,0x3b,0xd3,0x00,
0x00,0x00,0x00,0x49,0x45,0x4e,0x44,0xae,0x42,0x60,
0x82
};

View file

@ -0,0 +1,300 @@
//this file was auto-generated from "frame.png" by res2h
#include "../Resources.h"
const size_t frame_png_size = 2921;
const unsigned char frame_png_data[2921] = {
0x89,0x50,0x4e,0x47,0x0d,0x0a,0x1a,0x0a,0x00,0x00,
0x00,0x0d,0x49,0x48,0x44,0x52,0x00,0x00,0x00,0x30,
0x00,0x00,0x00,0x30,0x08,0x06,0x00,0x00,0x00,0x57,
0x02,0xf9,0x87,0x00,0x00,0x00,0x09,0x70,0x48,0x59,
0x73,0x00,0x00,0x0b,0x13,0x00,0x00,0x0b,0x13,0x01,
0x00,0x9a,0x9c,0x18,0x00,0x00,0x0a,0x4f,0x69,0x43,
0x43,0x50,0x50,0x68,0x6f,0x74,0x6f,0x73,0x68,0x6f,
0x70,0x20,0x49,0x43,0x43,0x20,0x70,0x72,0x6f,0x66,
0x69,0x6c,0x65,0x00,0x00,0x78,0xda,0x9d,0x53,0x67,
0x54,0x53,0xe9,0x16,0x3d,0xf7,0xde,0xf4,0x42,0x4b,
0x88,0x80,0x94,0x4b,0x6f,0x52,0x15,0x08,0x20,0x52,
0x42,0x8b,0x80,0x14,0x91,0x26,0x2a,0x21,0x09,0x10,
0x4a,0x88,0x21,0xa1,0xd9,0x15,0x51,0xc1,0x11,0x45,
0x45,0x04,0x1b,0xc8,0xa0,0x88,0x03,0x8e,0x8e,0x80,
0x8c,0x15,0x51,0x2c,0x0c,0x8a,0x0a,0xd8,0x07,0xe4,
0x21,0xa2,0x8e,0x83,0xa3,0x88,0x8a,0xca,0xfb,0xe1,
0x7b,0xa3,0x6b,0xd6,0xbc,0xf7,0xe6,0xcd,0xfe,0xb5,
0xd7,0x3e,0xe7,0xac,0xf3,0x9d,0xb3,0xcf,0x07,0xc0,
0x08,0x0c,0x96,0x48,0x33,0x51,0x35,0x80,0x0c,0xa9,
0x42,0x1e,0x11,0xe0,0x83,0xc7,0xc4,0xc6,0xe1,0xe4,
0x2e,0x40,0x81,0x0a,0x24,0x70,0x00,0x10,0x08,0xb3,
0x64,0x21,0x73,0xfd,0x23,0x01,0x00,0xf8,0x7e,0x3c,
0x3c,0x2b,0x22,0xc0,0x07,0xbe,0x00,0x01,0x78,0xd3,
0x0b,0x08,0x00,0xc0,0x4d,0x9b,0xc0,0x30,0x1c,0x87,
0xff,0x0f,0xea,0x42,0x99,0x5c,0x01,0x80,0x84,0x01,
0xc0,0x74,0x91,0x38,0x4b,0x08,0x80,0x14,0x00,0x40,
0x7a,0x8e,0x42,0xa6,0x00,0x40,0x46,0x01,0x80,0x9d,
0x98,0x26,0x53,0x00,0xa0,0x04,0x00,0x60,0xcb,0x63,
0x62,0xe3,0x00,0x50,0x2d,0x00,0x60,0x27,0x7f,0xe6,
0xd3,0x00,0x80,0x9d,0xf8,0x99,0x7b,0x01,0x00,0x5b,
0x94,0x21,0x15,0x01,0xa0,0x91,0x00,0x20,0x13,0x65,
0x88,0x44,0x00,0x68,0x3b,0x00,0xac,0xcf,0x56,0x8a,
0x45,0x00,0x58,0x30,0x00,0x14,0x66,0x4b,0xc4,0x39,
0x00,0xd8,0x2d,0x00,0x30,0x49,0x57,0x66,0x48,0x00,
0xb0,0xb7,0x00,0xc0,0xce,0x10,0x0b,0xb2,0x00,0x08,
0x0c,0x00,0x30,0x51,0x88,0x85,0x29,0x00,0x04,0x7b,
0x00,0x60,0xc8,0x23,0x23,0x78,0x00,0x84,0x99,0x00,
0x14,0x46,0xf2,0x57,0x3c,0xf1,0x2b,0xae,0x10,0xe7,
0x2a,0x00,0x00,0x78,0x99,0xb2,0x3c,0xb9,0x24,0x39,
0x45,0x81,0x5b,0x08,0x2d,0x71,0x07,0x57,0x57,0x2e,
0x1e,0x28,0xce,0x49,0x17,0x2b,0x14,0x36,0x61,0x02,
0x61,0x9a,0x40,0x2e,0xc2,0x79,0x99,0x19,0x32,0x81,
0x34,0x0f,0xe0,0xf3,0xcc,0x00,0x00,0xa0,0x91,0x15,
0x11,0xe0,0x83,0xf3,0xfd,0x78,0xce,0x0e,0xae,0xce,
0xce,0x36,0x8e,0xb6,0x0e,0x5f,0x2d,0xea,0xbf,0x06,
0xff,0x22,0x62,0x62,0xe3,0xfe,0xe5,0xcf,0xab,0x70,
0x40,0x00,0x00,0xe1,0x74,0x7e,0xd1,0xfe,0x2c,0x2f,
0xb3,0x1a,0x80,0x3b,0x06,0x80,0x6d,0xfe,0xa2,0x25,
0xee,0x04,0x68,0x5e,0x0b,0xa0,0x75,0xf7,0x8b,0x66,
0xb2,0x0f,0x40,0xb5,0x00,0xa0,0xe9,0xda,0x57,0xf3,
0x70,0xf8,0x7e,0x3c,0x3c,0x45,0xa1,0x90,0xb9,0xd9,
0xd9,0xe5,0xe4,0xe4,0xd8,0x4a,0xc4,0x42,0x5b,0x61,
0xca,0x57,0x7d,0xfe,0x67,0xc2,0x5f,0xc0,0x57,0xfd,
0x6c,0xf9,0x7e,0x3c,0xfc,0xf7,0xf5,0xe0,0xbe,0xe2,
0x24,0x81,0x32,0x5d,0x81,0x47,0x04,0xf8,0xe0,0xc2,
0xcc,0xf4,0x4c,0xa5,0x1c,0xcf,0x92,0x09,0x84,0x62,
0xdc,0xe6,0x8f,0x47,0xfc,0xb7,0x0b,0xff,0xfc,0x1d,
0xd3,0x22,0xc4,0x49,0x62,0xb9,0x58,0x2a,0x14,0xe3,
0x51,0x12,0x71,0x8e,0x44,0x9a,0x8c,0xf3,0x32,0xa5,
0x22,0x89,0x42,0x92,0x29,0xc5,0x25,0xd2,0xff,0x64,
0xe2,0xdf,0x2c,0xfb,0x03,0x3e,0xdf,0x35,0x00,0xb0,
0x6a,0x3e,0x01,0x7b,0x91,0x2d,0xa8,0x5d,0x63,0x03,
0xf6,0x4b,0x27,0x10,0x58,0x74,0xc0,0xe2,0xf7,0x00,
0x00,0xf2,0xbb,0x6f,0xc1,0xd4,0x28,0x08,0x03,0x80,
0x68,0x83,0xe1,0xcf,0x77,0xff,0xef,0x3f,0xfd,0x47,
0xa0,0x25,0x00,0x80,0x66,0x49,0x92,0x71,0x00,0x00,
0x5e,0x44,0x24,0x2e,0x54,0xca,0xb3,0x3f,0xc7,0x08,
0x00,0x00,0x44,0xa0,0x81,0x2a,0xb0,0x41,0x1b,0xf4,
0xc1,0x18,0x2c,0xc0,0x06,0x1c,0xc1,0x05,0xdc,0xc1,
0x0b,0xfc,0x60,0x36,0x84,0x42,0x24,0xc4,0xc2,0x42,
0x10,0x42,0x0a,0x64,0x80,0x1c,0x72,0x60,0x29,0xac,
0x82,0x42,0x28,0x86,0xcd,0xb0,0x1d,0x2a,0x60,0x2f,
0xd4,0x40,0x1d,0x34,0xc0,0x51,0x68,0x86,0x93,0x70,
0x0e,0x2e,0xc2,0x55,0xb8,0x0e,0x3d,0x70,0x0f,0xfa,
0x61,0x08,0x9e,0xc1,0x28,0xbc,0x81,0x09,0x04,0x41,
0xc8,0x08,0x13,0x61,0x21,0xda,0x88,0x01,0x62,0x8a,
0x58,0x23,0x8e,0x08,0x17,0x99,0x85,0xf8,0x21,0xc1,
0x48,0x04,0x12,0x8b,0x24,0x20,0xc9,0x88,0x14,0x51,
0x22,0x4b,0x91,0x35,0x48,0x31,0x52,0x8a,0x54,0x20,
0x55,0x48,0x1d,0xf2,0x3d,0x72,0x02,0x39,0x87,0x5c,
0x46,0xba,0x91,0x3b,0xc8,0x00,0x32,0x82,0xfc,0x86,
0xbc,0x47,0x31,0x94,0x81,0xb2,0x51,0x3d,0xd4,0x0c,
0xb5,0x43,0xb9,0xa8,0x37,0x1a,0x84,0x46,0xa2,0x0b,
0xd0,0x64,0x74,0x31,0x9a,0x8f,0x16,0xa0,0x9b,0xd0,
0x72,0xb4,0x1a,0x3d,0x8c,0x36,0xa1,0xe7,0xd0,0xab,
0x68,0x0f,0xda,0x8f,0x3e,0x43,0xc7,0x30,0xc0,0xe8,
0x18,0x07,0x33,0xc4,0x6c,0x30,0x2e,0xc6,0xc3,0x42,
0xb1,0x38,0x2c,0x09,0x93,0x63,0xcb,0xb1,0x22,0xac,
0x0c,0xab,0xc6,0x1a,0xb0,0x56,0xac,0x03,0xbb,0x89,
0xf5,0x63,0xcf,0xb1,0x77,0x04,0x12,0x81,0x45,0xc0,
0x09,0x36,0x04,0x77,0x42,0x20,0x61,0x1e,0x41,0x48,
0x58,0x4c,0x58,0x4e,0xd8,0x48,0xa8,0x20,0x1c,0x24,
0x34,0x11,0xda,0x09,0x37,0x09,0x03,0x84,0x51,0xc2,
0x27,0x22,0x93,0xa8,0x4b,0xb4,0x26,0xba,0x11,0xf9,
0xc4,0x18,0x62,0x32,0x31,0x87,0x58,0x48,0x2c,0x23,
0xd6,0x12,0x8f,0x13,0x2f,0x10,0x7b,0x88,0x43,0xc4,
0x37,0x24,0x12,0x89,0x43,0x32,0x27,0xb9,0x90,0x02,
0x49,0xb1,0xa4,0x54,0xd2,0x12,0xd2,0x46,0xd2,0x6e,
0x52,0x23,0xe9,0x2c,0xa9,0x9b,0x34,0x48,0x1a,0x23,
0x93,0xc9,0xda,0x64,0x6b,0xb2,0x07,0x39,0x94,0x2c,
0x20,0x2b,0xc8,0x85,0xe4,0x9d,0xe4,0xc3,0xe4,0x33,
0xe4,0x1b,0xe4,0x21,0xf2,0x5b,0x0a,0x9d,0x62,0x40,
0x71,0xa4,0xf8,0x53,0xe2,0x28,0x52,0xca,0x6a,0x4a,
0x19,0xe5,0x10,0xe5,0x34,0xe5,0x06,0x65,0x98,0x32,
0x41,0x55,0xa3,0x9a,0x52,0xdd,0xa8,0xa1,0x54,0x11,
0x35,0x8f,0x5a,0x42,0xad,0xa1,0xb6,0x52,0xaf,0x51,
0x87,0xa8,0x13,0x34,0x75,0x9a,0x39,0xcd,0x83,0x16,
0x49,0x4b,0xa5,0xad,0xa2,0x95,0xd3,0x1a,0x68,0x17,
0x68,0xf7,0x69,0xaf,0xe8,0x74,0xba,0x11,0xdd,0x95,
0x1e,0x4e,0x97,0xd0,0x57,0xd2,0xcb,0xe9,0x47,0xe8,
0x97,0xe8,0x03,0xf4,0x77,0x0c,0x0d,0x86,0x15,0x83,
0xc7,0x88,0x67,0x28,0x19,0x9b,0x18,0x07,0x18,0x67,
0x19,0x77,0x18,0xaf,0x98,0x4c,0xa6,0x19,0xd3,0x8b,
0x19,0xc7,0x54,0x30,0x37,0x31,0xeb,0x98,0xe7,0x99,
0x0f,0x99,0x6f,0x55,0x58,0x2a,0xb6,0x2a,0x7c,0x15,
0x91,0xca,0x0a,0x95,0x4a,0x95,0x26,0x95,0x1b,0x2a,
0x2f,0x54,0xa9,0xaa,0xa6,0xaa,0xde,0xaa,0x0b,0x55,
0xf3,0x55,0xcb,0x54,0x8f,0xa9,0x5e,0x53,0x7d,0xae,
0x46,0x55,0x33,0x53,0xe3,0xa9,0x09,0xd4,0x96,0xab,
0x55,0xaa,0x9d,0x50,0xeb,0x53,0x1b,0x53,0x67,0xa9,
0x3b,0xa8,0x87,0xaa,0x67,0xa8,0x6f,0x54,0x3f,0xa4,
0x7e,0x59,0xfd,0x89,0x06,0x59,0xc3,0x4c,0xc3,0x4f,
0x43,0xa4,0x51,0xa0,0xb1,0x5f,0xe3,0xbc,0xc6,0x20,
0x0b,0x63,0x19,0xb3,0x78,0x2c,0x21,0x6b,0x0d,0xab,
0x86,0x75,0x81,0x35,0xc4,0x26,0xb1,0xcd,0xd9,0x7c,
0x76,0x2a,0xbb,0x98,0xfd,0x1d,0xbb,0x8b,0x3d,0xaa,
0xa9,0xa1,0x39,0x43,0x33,0x4a,0x33,0x57,0xb3,0x52,
0xf3,0x94,0x66,0x3f,0x07,0xe3,0x98,0x71,0xf8,0x9c,
0x74,0x4e,0x09,0xe7,0x28,0xa7,0x97,0xf3,0x7e,0x8a,
0xde,0x14,0xef,0x29,0xe2,0x29,0x1b,0xa6,0x34,0x4c,
0xb9,0x31,0x65,0x5c,0x6b,0xaa,0x96,0x97,0x96,0x58,
0xab,0x48,0xab,0x51,0xab,0x47,0xeb,0xbd,0x36,0xae,
0xed,0xa7,0x9d,0xa6,0xbd,0x45,0xbb,0x59,0xfb,0x81,
0x0e,0x41,0xc7,0x4a,0x27,0x5c,0x27,0x47,0x67,0x8f,
0xce,0x05,0x9d,0xe7,0x53,0xd9,0x53,0xdd,0xa7,0x0a,
0xa7,0x16,0x4d,0x3d,0x3a,0xf5,0xae,0x2e,0xaa,0x6b,
0xa5,0x1b,0xa1,0xbb,0x44,0x77,0xbf,0x6e,0xa7,0xee,
0x98,0x9e,0xbe,0x5e,0x80,0x9e,0x4c,0x6f,0xa7,0xde,
0x79,0xbd,0xe7,0xfa,0x1c,0x7d,0x2f,0xfd,0x54,0xfd,
0x6d,0xfa,0xa7,0xf5,0x47,0x0c,0x58,0x06,0xb3,0x0c,
0x24,0x06,0xdb,0x0c,0xce,0x18,0x3c,0xc5,0x35,0x71,
0x6f,0x3c,0x1d,0x2f,0xc7,0xdb,0xf1,0x51,0x43,0x5d,
0xc3,0x40,0x43,0xa5,0x61,0x95,0x61,0x97,0xe1,0x84,
0x91,0xb9,0xd1,0x3c,0xa3,0xd5,0x46,0x8d,0x46,0x0f,
0x8c,0x69,0xc6,0x5c,0xe3,0x24,0xe3,0x6d,0xc6,0x6d,
0xc6,0xa3,0x26,0x06,0x26,0x21,0x26,0x4b,0x4d,0xea,
0x4d,0xee,0x9a,0x52,0x4d,0xb9,0xa6,0x29,0xa6,0x3b,
0x4c,0x3b,0x4c,0xc7,0xcd,0xcc,0xcd,0xa2,0xcd,0xd6,
0x99,0x35,0x9b,0x3d,0x31,0xd7,0x32,0xe7,0x9b,0xe7,
0x9b,0xd7,0x9b,0xdf,0xb7,0x60,0x5a,0x78,0x5a,0x2c,
0xb6,0xa8,0xb6,0xb8,0x65,0x49,0xb2,0xe4,0x5a,0xa6,
0x59,0xee,0xb6,0xbc,0x6e,0x85,0x5a,0x39,0x59,0xa5,
0x58,0x55,0x5a,0x5d,0xb3,0x46,0xad,0x9d,0xad,0x25,
0xd6,0xbb,0xad,0xbb,0xa7,0x11,0xa7,0xb9,0x4e,0x93,
0x4e,0xab,0x9e,0xd6,0x67,0xc3,0xb0,0xf1,0xb6,0xc9,
0xb6,0xa9,0xb7,0x19,0xb0,0xe5,0xd8,0x06,0xdb,0xae,
0xb6,0x6d,0xb6,0x7d,0x61,0x67,0x62,0x17,0x67,0xb7,
0xc5,0xae,0xc3,0xee,0x93,0xbd,0x93,0x7d,0xba,0x7d,
0x8d,0xfd,0x3d,0x07,0x0d,0x87,0xd9,0x0e,0xab,0x1d,
0x5a,0x1d,0x7e,0x73,0xb4,0x72,0x14,0x3a,0x56,0x3a,
0xde,0x9a,0xce,0x9c,0xee,0x3f,0x7d,0xc5,0xf4,0x96,
0xe9,0x2f,0x67,0x58,0xcf,0x10,0xcf,0xd8,0x33,0xe3,
0xb6,0x13,0xcb,0x29,0xc4,0x69,0x9d,0x53,0x9b,0xd3,
0x47,0x67,0x17,0x67,0xb9,0x73,0x83,0xf3,0x88,0x8b,
0x89,0x4b,0x82,0xcb,0x2e,0x97,0x3e,0x2e,0x9b,0x1b,
0xc6,0xdd,0xc8,0xbd,0xe4,0x4a,0x74,0xf5,0x71,0x5d,
0xe1,0x7a,0xd2,0xf5,0x9d,0x9b,0xb3,0x9b,0xc2,0xed,
0xa8,0xdb,0xaf,0xee,0x36,0xee,0x69,0xee,0x87,0xdc,
0x9f,0xcc,0x34,0x9f,0x29,0x9e,0x59,0x33,0x73,0xd0,
0xc3,0xc8,0x43,0xe0,0x51,0xe5,0xd1,0x3f,0x0b,0x9f,
0x95,0x30,0x6b,0xdf,0xac,0x7e,0x4f,0x43,0x4f,0x81,
0x67,0xb5,0xe7,0x23,0x2f,0x63,0x2f,0x91,0x57,0xad,
0xd7,0xb0,0xb7,0xa5,0x77,0xaa,0xf7,0x61,0xef,0x17,
0x3e,0xf6,0x3e,0x72,0x9f,0xe3,0x3e,0xe3,0x3c,0x37,
0xde,0x32,0xde,0x59,0x5f,0xcc,0x37,0xc0,0xb7,0xc8,
0xb7,0xcb,0x4f,0xc3,0x6f,0x9e,0x5f,0x85,0xdf,0x43,
0x7f,0x23,0xff,0x64,0xff,0x7a,0xff,0xd1,0x00,0xa7,
0x80,0x25,0x01,0x67,0x03,0x89,0x81,0x41,0x81,0x5b,
0x02,0xfb,0xf8,0x7a,0x7c,0x21,0xbf,0x8e,0x3f,0x3a,
0xdb,0x65,0xf6,0xb2,0xd9,0xed,0x41,0x8c,0xa0,0xb9,
0x41,0x15,0x41,0x8f,0x82,0xad,0x82,0xe5,0xc1,0xad,
0x21,0x68,0xc8,0xec,0x90,0xad,0x21,0xf7,0xe7,0x98,
0xce,0x91,0xce,0x69,0x0e,0x85,0x50,0x7e,0xe8,0xd6,
0xd0,0x07,0x61,0xe6,0x61,0x8b,0xc3,0x7e,0x0c,0x27,
0x85,0x87,0x85,0x57,0x86,0x3f,0x8e,0x70,0x88,0x58,
0x1a,0xd1,0x31,0x97,0x35,0x77,0xd1,0xdc,0x43,0x73,
0xdf,0x44,0xfa,0x44,0x96,0x44,0xde,0x9b,0x67,0x31,
0x4f,0x39,0xaf,0x2d,0x4a,0x35,0x2a,0x3e,0xaa,0x2e,
0x6a,0x3c,0xda,0x37,0xba,0x34,0xba,0x3f,0xc6,0x2e,
0x66,0x59,0xcc,0xd5,0x58,0x9d,0x58,0x49,0x6c,0x4b,
0x1c,0x39,0x2e,0x2a,0xae,0x36,0x6e,0x6c,0xbe,0xdf,
0xfc,0xed,0xf3,0x87,0xe2,0x9d,0xe2,0x0b,0xe3,0x7b,
0x17,0x98,0x2f,0xc8,0x5d,0x70,0x79,0xa1,0xce,0xc2,
0xf4,0x85,0xa7,0x16,0xa9,0x2e,0x12,0x2c,0x3a,0x96,
0x40,0x4c,0x88,0x4e,0x38,0x94,0xf0,0x41,0x10,0x2a,
0xa8,0x16,0x8c,0x25,0xf2,0x13,0x77,0x25,0x8e,0x0a,
0x79,0xc2,0x1d,0xc2,0x67,0x22,0x2f,0xd1,0x36,0xd1,
0x88,0xd8,0x43,0x5c,0x2a,0x1e,0x4e,0xf2,0x48,0x2a,
0x4d,0x7a,0x92,0xec,0x91,0xbc,0x35,0x79,0x24,0xc5,
0x33,0xa5,0x2c,0xe5,0xb9,0x84,0x27,0xa9,0x90,0xbc,
0x4c,0x0d,0x4c,0xdd,0x9b,0x3a,0x9e,0x16,0x9a,0x76,
0x20,0x6d,0x32,0x3d,0x3a,0xbd,0x31,0x83,0x92,0x91,
0x90,0x71,0x42,0xaa,0x21,0x4d,0x93,0xb6,0x67,0xea,
0x67,0xe6,0x66,0x76,0xcb,0xac,0x65,0x85,0xb2,0xfe,
0xc5,0x6e,0x8b,0xb7,0x2f,0x1e,0x95,0x07,0xc9,0x6b,
0xb3,0x90,0xac,0x05,0x59,0x2d,0x0a,0xb6,0x42,0xa6,
0xe8,0x54,0x5a,0x28,0xd7,0x2a,0x07,0xb2,0x67,0x65,
0x57,0x66,0xbf,0xcd,0x89,0xca,0x39,0x96,0xab,0x9e,
0x2b,0xcd,0xed,0xcc,0xb3,0xca,0xdb,0x90,0x37,0x9c,
0xef,0x9f,0xff,0xed,0x12,0xc2,0x12,0xe1,0x92,0xb6,
0xa5,0x86,0x4b,0x57,0x2d,0x1d,0x58,0xe6,0xbd,0xac,
0x6a,0x39,0xb2,0x3c,0x71,0x79,0xdb,0x0a,0xe3,0x15,
0x05,0x2b,0x86,0x56,0x06,0xac,0x3c,0xb8,0x8a,0xb6,
0x2a,0x6d,0xd5,0x4f,0xab,0xed,0x57,0x97,0xae,0x7e,
0xbd,0x26,0x7a,0x4d,0x6b,0x81,0x5e,0xc1,0xca,0x82,
0xc1,0xb5,0x01,0x6b,0xeb,0x0b,0x55,0x0a,0xe5,0x85,
0x7d,0xeb,0xdc,0xd7,0xed,0x5d,0x4f,0x58,0x2f,0x59,
0xdf,0xb5,0x61,0xfa,0x86,0x9d,0x1b,0x3e,0x15,0x89,
0x8a,0xae,0x14,0xdb,0x17,0x97,0x15,0x7f,0xd8,0x28,
0xdc,0x78,0xe5,0x1b,0x87,0x6f,0xca,0xbf,0x99,0xdc,
0x94,0xb4,0xa9,0xab,0xc4,0xb9,0x64,0xcf,0x66,0xd2,
0x66,0xe9,0xe6,0xde,0x2d,0x9e,0x5b,0x0e,0x96,0xaa,
0x97,0xe6,0x97,0x0e,0x6e,0x0d,0xd9,0xda,0xb4,0x0d,
0xdf,0x56,0xb4,0xed,0xf5,0xf6,0x45,0xdb,0x2f,0x97,
0xcd,0x28,0xdb,0xbb,0x83,0xb6,0x43,0xb9,0xa3,0xbf,
0x3c,0xb8,0xbc,0x65,0xa7,0xc9,0xce,0xcd,0x3b,0x3f,
0x54,0xa4,0x54,0xf4,0x54,0xfa,0x54,0x36,0xee,0xd2,
0xdd,0xb5,0x61,0xd7,0xf8,0x6e,0xd1,0xee,0x1b,0x7b,
0xbc,0xf6,0x34,0xec,0xd5,0xdb,0x5b,0xbc,0xf7,0xfd,
0x3e,0xc9,0xbe,0xdb,0x55,0x01,0x55,0x4d,0xd5,0x66,
0xd5,0x65,0xfb,0x49,0xfb,0xb3,0xf7,0x3f,0xae,0x89,
0xaa,0xe9,0xf8,0x96,0xfb,0x6d,0x5d,0xad,0x4e,0x6d,
0x71,0xed,0xc7,0x03,0xd2,0x03,0xfd,0x07,0x23,0x0e,
0xb6,0xd7,0xb9,0xd4,0xd5,0x1d,0xd2,0x3d,0x54,0x52,
0x8f,0xd6,0x2b,0xeb,0x47,0x0e,0xc7,0x1f,0xbe,0xfe,
0x9d,0xef,0x77,0x2d,0x0d,0x36,0x0d,0x55,0x8d,0x9c,
0xc6,0xe2,0x23,0x70,0x44,0x79,0xe4,0xe9,0xf7,0x09,
0xdf,0xf7,0x1e,0x0d,0x3a,0xda,0x76,0x8c,0x7b,0xac,
0xe1,0x07,0xd3,0x1f,0x76,0x1d,0x67,0x1d,0x2f,0x6a,
0x42,0x9a,0xf2,0x9a,0x46,0x9b,0x53,0x9a,0xfb,0x5b,
0x62,0x5b,0xba,0x4f,0xcc,0x3e,0xd1,0xd6,0xea,0xde,
0x7a,0xfc,0x47,0xdb,0x1f,0x0f,0x9c,0x34,0x3c,0x59,
0x79,0x4a,0xf3,0x54,0xc9,0x69,0xda,0xe9,0x82,0xd3,
0x93,0x67,0xf2,0xcf,0x8c,0x9d,0x95,0x9d,0x7d,0x7e,
0x2e,0xf9,0xdc,0x60,0xdb,0xa2,0xb6,0x7b,0xe7,0x63,
0xce,0xdf,0x6a,0x0f,0x6f,0xef,0xba,0x10,0x74,0xe1,
0xd2,0x45,0xff,0x8b,0xe7,0x3b,0xbc,0x3b,0xce,0x5c,
0xf2,0xb8,0x74,0xf2,0xb2,0xdb,0xe5,0x13,0x57,0xb8,
0x57,0x9a,0xaf,0x3a,0x5f,0x6d,0xea,0x74,0xea,0x3c,
0xfe,0x93,0xd3,0x4f,0xc7,0xbb,0x9c,0xbb,0x9a,0xae,
0xb9,0x5c,0x6b,0xb9,0xee,0x7a,0xbd,0xb5,0x7b,0x66,
0xf7,0xe9,0x1b,0x9e,0x37,0xce,0xdd,0xf4,0xbd,0x79,
0xf1,0x16,0xff,0xd6,0xd5,0x9e,0x39,0x3d,0xdd,0xbd,
0xf3,0x7a,0x6f,0xf7,0xc5,0xf7,0xf5,0xdf,0x16,0xdd,
0x7e,0x72,0x27,0xfd,0xce,0xcb,0xbb,0xd9,0x77,0x27,
0xee,0xad,0xbc,0x4f,0xbc,0x5f,0xf4,0x40,0xed,0x41,
0xd9,0x43,0xdd,0x87,0xd5,0x3f,0x5b,0xfe,0xdc,0xd8,
0xef,0xdc,0x7f,0x6a,0xc0,0x77,0xa0,0xf3,0xd1,0xdc,
0x47,0xf7,0x06,0x85,0x83,0xcf,0xfe,0x91,0xf5,0x8f,
0x0f,0x43,0x05,0x8f,0x99,0x8f,0xcb,0x86,0x0d,0x86,
0xeb,0x9e,0x38,0x3e,0x39,0x39,0xe2,0x3f,0x72,0xfd,
0xe9,0xfc,0xa7,0x43,0xcf,0x64,0xcf,0x26,0x9e,0x17,
0xfe,0xa2,0xfe,0xcb,0xae,0x17,0x16,0x2f,0x7e,0xf8,
0xd5,0xeb,0xd7,0xce,0xd1,0x98,0xd1,0xa1,0x97,0xf2,
0x97,0x93,0xbf,0x6d,0x7c,0xa5,0xfd,0xea,0xc0,0xeb,
0x19,0xaf,0xdb,0xc6,0xc2,0xc6,0x1e,0xbe,0xc9,0x78,
0x33,0x31,0x5e,0xf4,0x56,0xfb,0xed,0xc1,0x77,0xdc,
0x77,0x1d,0xef,0xa3,0xdf,0x0f,0x4f,0xe4,0x7c,0x20,
0x7f,0x28,0xff,0x68,0xf9,0xb1,0xf5,0x53,0xd0,0xa7,
0xfb,0x93,0x19,0x93,0x93,0xff,0x04,0x03,0x98,0xf3,
0xfc,0x63,0x33,0x2d,0xdb,0x00,0x00,0x00,0x04,0x67,
0x41,0x4d,0x41,0x00,0x00,0xb1,0x8e,0x7c,0xfb,0x51,
0x93,0x00,0x00,0x00,0x20,0x63,0x48,0x52,0x4d,0x00,
0x00,0x7a,0x25,0x00,0x00,0x80,0x83,0x00,0x00,0xf9,
0xff,0x00,0x00,0x80,0xe9,0x00,0x00,0x75,0x30,0x00,
0x00,0xea,0x60,0x00,0x00,0x3a,0x98,0x00,0x00,0x17,
0x6f,0x92,0x5f,0xc5,0x46,0x00,0x00,0x00,0x84,0x49,
0x44,0x41,0x54,0x78,0xda,0xec,0xd3,0x39,0x0e,0x80,
0x30,0x10,0x43,0xd1,0x71,0xc4,0xfd,0xaf,0x6c,0x2a,
0x24,0xc8,0xd2,0xd0,0x10,0xa3,0xef,0x32,0x69,0xfc,
0x32,0x19,0xd9,0xae,0x45,0x96,0x17,0x1f,0x45,0xb3,
0xc3,0x63,0xf3,0xd2,0xb3,0x6e,0x0f,0x48,0x0b,0x29,
0xdf,0x43,0xdc,0x03,0x52,0xca,0x0f,0x69,0x95,0x1b,
0x5f,0x00,0x07,0x23,0xa2,0x27,0x50,0x55,0xe5,0x74,
0x40,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,
0xf0,0x02,0xa0,0xe0,0xfe,0x4a,0x9e,0x80,0xee,0x5f,
0x48,0x7f,0xd8,0x01,0x05,0xbd,0xbc,0x56,0x4b,0xac,
0xcd,0x21,0x43,0xb7,0x13,0x00,0x00,0xff,0xff,0x03,
0x00,0xdd,0x97,0x0d,0x61,0x33,0x1b,0xed,0x21,0x00,
0x00,0x00,0x00,0x49,0x45,0x4e,0x44,0xae,0x42,0x60,
0x82
};

BIN
data/resources/button.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

BIN
data/resources/frame.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

View file

@ -2,11 +2,17 @@
#include "../Renderer.h"
#include "../Window.h"
ButtonComponent::ButtonComponent(Window* window) : GuiComponent(window)
ButtonComponent::ButtonComponent(Window* window) : GuiComponent(window),
mBox(window, ":/button.png")
{
setSize(64, 48);
}
void ButtonComponent::onSizeChanged()
{
mBox.setSize(mSize);
}
void ButtonComponent::setPressedFunc(std::function<void()> f)
{
mPressedFunc = f;
@ -38,6 +44,8 @@ void ButtonComponent::render(const Eigen::Affine3f& parentTrans)
{
Eigen::Affine3f trans = parentTrans * getTransform();
mBox.render(trans);
if(mTextCache)
{
Eigen::Vector3f centerOffset((mSize.x() - mTextCache->metrics.size.x()) / 2, (mSize.y() - mTextCache->metrics.size.y()) / 2, 0);

View file

@ -3,6 +3,7 @@
#include "../GuiComponent.h"
#include <functional>
#include "../Font.h"
#include "NinePatchComponent.h"
class ButtonComponent : public GuiComponent
{
@ -15,10 +16,14 @@ public:
void render(const Eigen::Affine3f& parentTrans) override;
void setText(const std::string& text, unsigned int color);
void onSizeChanged() override;
private:
std::shared_ptr<Font> getFont();
std::function<void()> mPressedFunc;
std::string mText;
std::unique_ptr<TextCache> mTextCache;
NinePatchComponent mBox;
};

View file

@ -5,7 +5,7 @@
#define MDED_RESERVED_ROWS 3
GuiGameEd::GuiGameEd(Window* window, GameData* game, const std::vector<MetaDataDecl>& mdd) : GuiComponent(window),
mBox(mWindow, 0, 0, 0, 0),
mBox(mWindow, ":/frame.png", 0xAAAAAAFF, 0xCCCCCCFF),
mList(window, Eigen::Vector2i(3, mdd.size() + MDED_RESERVED_ROWS)),
mPathDisp(window),
mGame(game),
@ -20,14 +20,7 @@ GuiGameEd::GuiGameEd(Window* window, GameData* game, const std::vector<MetaDataD
mPosition << (Renderer::getScreenWidth() - mSize.x()) / 2, (Renderer::getScreenHeight() - mSize.y()) / 2, 0.0f;
addChild(&mBox);
mBox.setVerticalImage(":/bar.png");
mBox.setHorizontalImage(":/bar.png");
mBox.setCornerImage(":/corner.png");
mBox.setBorderColor(0x666666FF);
mBox.setPosition(0, 0);
mBox.setSize(mSize);
mBox.setBackgroundImage(":/bar.png");
mBox.setBackgroundColor(0xAAAAAAAA);
mBox.fitTo(mSize);
//initialize path display
addChild(&mPathDisp);

View file

@ -5,7 +5,7 @@
#include "../MetaData.h"
#include "TextComponent.h"
#include "../GameData.h"
#include "GuiBox.h"
#include "NinePatchComponent.h"
#include "ButtonComponent.h"
class GuiGameEd : public GuiComponent
@ -19,7 +19,7 @@ private:
void populateList(const std::vector<MetaDataDecl>& mdd);
GuiBox mBox;
NinePatchComponent mBox;
ComponentListComponent mList;

View file

@ -0,0 +1,165 @@
#include "NinePatchComponent.h"
#include "../Window.h"
#include "../Log.h"
#include "../Renderer.h"
NinePatchComponent::NinePatchComponent(Window* window, const std::string& path, unsigned int edgeColor, unsigned int centerColor) : GuiComponent(window),
mEdgeColor(edgeColor), mCenterColor(centerColor),
mTexture(TextureResource::get(*window->getResourceManager(), path)),
mVertices(NULL), mColors(NULL)
{
buildVertices();
}
void NinePatchComponent::buildVertices()
{
if(mVertices != NULL)
delete[] mVertices;
if(mColors != NULL)
delete[] mColors;
if(mTexture->getSize() == Eigen::Vector2i::Zero())
{
mVertices = NULL;
mColors = NULL;
LOG(LogWarning) << "NinePatchComponent missing texture!";
return;
}
mVertices = new Vertex[6 * 9];
mColors = new GLubyte[6 * 9 * 4];
Renderer::buildGLColorArray(mColors, mEdgeColor, 6 * 9);
Renderer::buildGLColorArray(&mColors[4 * 6 * 4], mCenterColor, 6);
const Eigen::Vector2f ts = mTexture->getSize().cast<float>();
//coordinates on the image in pixels, top left origin
const Eigen::Vector2f pieceCoords[9] = {
Eigen::Vector2f(0, 0),
Eigen::Vector2f(16, 0),
Eigen::Vector2f(32, 0),
Eigen::Vector2f(0, 16),
Eigen::Vector2f(16, 16),
Eigen::Vector2f(32, 16),
Eigen::Vector2f(0, 32),
Eigen::Vector2f(16, 32),
Eigen::Vector2f(32, 32),
};
const Eigen::Vector2f pieceSizes = getCornerSize();
//corners never stretch, so we calculate a width and height for slices 1, 3, 5, and 7
float borderWidth = mSize.x() - (pieceSizes.x() * 2); //should be pieceSizes[0] and pieceSizes[2]
if(borderWidth < pieceSizes.x())
borderWidth = pieceSizes.x();
float borderHeight = mSize.y() - (pieceSizes.y() * 2); //should be pieceSizes[0] and pieceSizes[6]
if(borderHeight < pieceSizes.y())
borderHeight = pieceSizes.y();
mVertices[0 * 6].pos = pieceCoords[0]; //top left
mVertices[1 * 6].pos = pieceCoords[1]; //top middle
mVertices[2 * 6].pos = pieceCoords[1] + Eigen::Vector2f(borderWidth, 0); //top right
mVertices[3 * 6].pos = mVertices[0 * 6].pos + Eigen::Vector2f(0, pieceSizes.y()); //mid left
mVertices[4 * 6].pos = mVertices[3 * 6].pos + Eigen::Vector2f(pieceSizes.x(), 0); //mid middle
mVertices[5 * 6].pos = mVertices[4 * 6].pos + Eigen::Vector2f(borderWidth, 0); //mid right
mVertices[6 * 6].pos = mVertices[3 * 6].pos + Eigen::Vector2f(0, borderHeight); //bot left
mVertices[7 * 6].pos = mVertices[6 * 6].pos + Eigen::Vector2f(pieceSizes.x(), 0); //bot middle
mVertices[8 * 6].pos = mVertices[7 * 6].pos + Eigen::Vector2f(borderWidth, 0); //bot right
int v = 0;
for(int slice = 0; slice < 9; slice++)
{
Eigen::Vector2f size;
//corners
if(slice == 0 || slice == 2 || slice == 6 || slice == 8)
size = pieceSizes;
//vertical borders
if(slice == 1 || slice == 7)
size << borderWidth, pieceSizes.y();
//horizontal borders
if(slice == 3 || slice == 5)
size << pieceSizes.x(), borderHeight;
//center
if(slice == 4)
size << borderWidth, borderHeight;
//no resizing will be necessary
//mVertices[v + 0] is already correct
mVertices[v + 1].pos = mVertices[v + 0].pos + size;
mVertices[v + 2].pos << mVertices[v + 0].pos.x(), mVertices[v + 1].pos.y();
mVertices[v + 3].pos << mVertices[v + 1].pos.x(), mVertices[v + 0].pos.y();
mVertices[v + 4].pos = mVertices[v + 1].pos;
mVertices[v + 5].pos = mVertices[v + 0].pos;
//texture coordinates
//the y = (1 - y) is to deal with texture coordinates having a bottom left corner origin vs. verticies having a top left origin
mVertices[v + 0].tex << pieceCoords[slice].x() / ts.x(), 1 - (pieceCoords[slice].y() / ts.y());
mVertices[v + 1].tex << (pieceCoords[slice].x() + pieceSizes.x()) / ts.x(), 1 - ((pieceCoords[slice].y() + pieceSizes.y()) / ts.y());
mVertices[v + 2].tex << mVertices[v + 0].tex.x(), mVertices[v + 1].tex.y();
mVertices[v + 3].tex << mVertices[v + 1].tex.x(), mVertices[v + 0].tex.y();
mVertices[v + 4].tex = mVertices[v + 1].tex;
mVertices[v + 5].tex = mVertices[v + 0].tex;
v += 6;
}
}
void NinePatchComponent::render(const Eigen::Affine3f& parentTrans)
{
Eigen::Affine3f trans = parentTrans * getTransform();
if(mTexture)
{
Renderer::setMatrix(trans);
mTexture->bind();
glEnable(GL_TEXTURE_2D);
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glEnableClientState(GL_VERTEX_ARRAY);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glEnableClientState(GL_COLOR_ARRAY);
glVertexPointer(2, GL_FLOAT, sizeof(Vertex), &mVertices[0].pos);
glTexCoordPointer(2, GL_FLOAT, sizeof(Vertex), &mVertices[0].tex);
glColorPointer(4, GL_UNSIGNED_BYTE, 0, mColors);
glDrawArrays(GL_TRIANGLES, 0, 6 * 9);
glDisableClientState(GL_VERTEX_ARRAY);
glDisableClientState(GL_TEXTURE_COORD_ARRAY);
glDisableClientState(GL_COLOR_ARRAY);
glDisable(GL_TEXTURE_2D);
glDisable(GL_BLEND);
}
renderChildren(trans);
}
void NinePatchComponent::onSizeChanged()
{
buildVertices();
}
Eigen::Vector2f NinePatchComponent::getCornerSize() const
{
return Eigen::Vector2f(16, 16);
}
void NinePatchComponent::fitTo(Eigen::Vector2f size)
{
setSize(size + Eigen::Vector2f(getCornerSize().x() * 2, getCornerSize().y() * 2));
setPosition(-getCornerSize().x(), -getCornerSize().y());
}

View file

@ -0,0 +1,34 @@
#pragma once
#include "../GuiComponent.h"
#include "../resources/TextureResource.h"
class NinePatchComponent : public GuiComponent
{
public:
NinePatchComponent(Window* window, const std::string& path, unsigned int edgeColor = 0xFFFFFFFF, unsigned int centerColor = 0xFFFFFFFF);
void render(const Eigen::Affine3f& parentTrans) override;
void onSizeChanged() override;
void fitTo(Eigen::Vector2f size);
private:
Eigen::Vector2f getCornerSize() const;
void buildVertices();
struct Vertex
{
Eigen::Vector2f pos;
Eigen::Vector2f tex;
};
Vertex* mVertices;
GLubyte* mColors;
unsigned int mEdgeColor;
unsigned int mCenterColor;
std::shared_ptr<TextureResource> mTexture;
};