From: Shamus Hammons Date: Tue, 29 May 2007 13:52:59 +0000 (+0000) Subject: Added missing files... X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=dc8a71dd9e8d769d67673c41ec8ed91af10c33d6;p=apple2 Added missing files... --- diff --git a/src/gui/draggablewindow2.cpp b/src/gui/draggablewindow2.cpp new file mode 100755 index 0000000..25df4d0 --- /dev/null +++ b/src/gui/draggablewindow2.cpp @@ -0,0 +1,202 @@ +// +// DRAGGABLEWINDOW2.CPP +// +// Graphical User Interface draggable window class +// by James L. Hammons +// +// JLH = James L. Hammons +// +// WHO WHEN WHAT +// --- ---------- ------------------------------------------------------------ +// JLH 03/17/2006 Created this file +// JLH 03/17/2006 Added clipping against parent extents +// +// STILL TO DO: +// +// - Check for parent's extents and clip movement against those extents [DONE] +// + +#include "draggablewindow2.h" +#include "guimisc.h" // Various support functions +#include + +// Debugging support + +//#define DESTRUCTOR_TESTING +#define BACKGROUND_IMG_TEST +#define USE_COVERAGE_LISTS + +#if SDL_BYTEORDER == SDL_BIG_ENDIAN +#define MASK_R 0xFF000000 +#define MASK_G 0x00FF0000 +#define MASK_B 0x0000FF00 +#define MASK_A 0x000000FF +#else +#define MASK_R 0x000000FF +#define MASK_G 0x0000FF00 +#define MASK_B 0x00FF0000 +#define MASK_A 0xFF000000 +#endif + +// +// DraggableWindow class implementation +// +// NOTE: FG/BG colors are hard-wired +// + +DraggableWindow2::DraggableWindow2(uint32 x/*= 0*/, uint32 y/*= 0*/, uint32 w/*= 0*/, uint32 h/*= 0*/, + void (* f)(Element *)/*= NULL*/): + Window(x, y, w, h, f), clicked(false) +{ +#ifdef BACKGROUND_IMG_TEST + uint16 imgWidth = (floppyDiskImg[0] << 8) | floppyDiskImg[1]; + uint16 imgHeight = (floppyDiskImg[2] << 8) | floppyDiskImg[3]; + img = SDL_CreateRGBSurfaceFrom(&floppyDiskImg[4], imgWidth, imgHeight, 32, imgWidth * 4, + MASK_R, MASK_G, MASK_B, MASK_A); + label = SDL_CreateRGBSurface(SDL_SWSURFACE, 16*7, 32, 32, + MASK_R, MASK_G, MASK_B, MASK_A); + +//Prolly should draw this in the constructor... +//Now is! :-D + extern char textChar2e[]; + uint8 * fontAddr = (uint8 *)textChar2e + ((128 + 32) * 7 * 8); + SetNewFont(Font(fontAddr, 7, 8)); + DrawStringOpaque(label, 0, 0, 0xFF000000, 0xFFFFFFFF, "Ultima III - Boo"); + DrawStringOpaque(label, 0, 8, 0xFF000000, 0xFFFFFFFF, "0123456789012345"); + DrawStringOpaque(label, 0, 16, 0xFF000000, 0xFFFFFFFF, "1234567890123456"); + DrawStringOpaque(label, 0, 24, 0xFF000000, 0xFFFFFFFF, "2345678901234567"); + RestoreOldFont(); +#endif + +// CreateBackstore(); +//Bleh. We only have to do this here because Window's constructor is doing it too. !!! FIX !!! +//Mebbe put this shiaut into Element? What about stuff that doesn't draw itself right away? +//Perhaps we should just hit needToRefreshScreen or some such--but will that trigger a redraw? + RestoreScreenFromBackstore(); + Draw(); // Can we do this in the constructor??? Mebbe. +} + +DraggableWindow2::~DraggableWindow2() +{ +#ifdef DESTRUCTOR_TESTING +printf("Inside ~DraggableWindow2()...\n"); +#endif + +#ifdef BACKGROUND_IMG_TEST + SDL_FreeSurface(img); + SDL_FreeSurface(label); +#endif +} + +void DraggableWindow2::HandleMouseMove(uint32 x, uint32 y) +{ + if (clicked) + { +//Need to check whether or not we've run into the extents of the screen... !!! FIX !!! +//[DONE] + int32 newX = x - offset.x; + int32 newY = y - offset.y; + SDL_Rect clip = GetParentRect(); + + if (newX < clip.x) + newX = clip.x; + else if (newX > (clip.w - extents.w)) + newX = clip.w - extents.w; + + if (newY < clip.y) + newY = clip.y; + else if (newY > (clip.h - extents.h)) + newY = clip.h - extents.h; + + RestoreScreenFromBackstore(); + extents.x = newX; + extents.y = newY; + SaveScreenToBackstore(); +// SDL_BlitSurface(screen, &extents, backstore, NULL); + Draw(); + + return; + } + + // Handle the items this window contains... +// for(uint32 i=0; iHandleMouseMove(x - extents.x, y - extents.y); + Window::HandleMouseMove(x, y); +} + +void DraggableWindow2::HandleMouseButton(uint32 x, uint32 y, bool mouseDown) +{ + clicked = false; + + if (mouseDown && Inside(x, y)) + { + clicked = true; + offset.x = x - extents.x; + offset.y = y - extents.y; + } + + // Handle the items this window contains... + for(uint32 i=0; iHandleMouseButton(x - extents.x, y - extents.y, mouseDown); + + if (list[i]->Inside(x - extents.x, y - extents.y)) + clicked = false; + } +} + +void DraggableWindow2::Draw(void) +{ +#ifdef USE_COVERAGE_LISTS + // These are *always* top level and parentless, so no need to traverse up through + // the parent chain... + for(std::list::iterator i=coverList.begin(); i!=coverList.end(); i++) + { + SDL_Rect src, dst; + src.x = (*i).x - extents.x, src.y = (*i).y - extents.y, src.w = (*i).w, src.h = (*i).h; + dst.x = (*i).x, dst.y = (*i).y; + SDL_BlitSurface(img, &src, screen, &dst); + } + +//This doesn't get clipped at all... !!! FIX !!! + SDL_Rect src, dst; + src.x = 0, src.y = 0, src.w = label->w, src.h = label->h; + dst.x = extents.x + 8, dst.y = extents.y + 6; + SDL_BlitSurface(label, &src, screen, &dst); + + // Handle the items this window contains... + for(uint32 i=0; iDraw(); +#else + // These are *always* top level and parentless, so no need to traverse up through + // the parent chain... +//Perhaps we can make these parentable, put the parent traversal in the base class? +//Prolly. +#ifdef BACKGROUND_IMG_TEST + SDL_Rect src, dst; + src.x = 0, src.y = 0, src.w = extents.w, src.h = extents.h; + dst.x = extents.x, dst.y = extents.y; + SDL_BlitSurface(img, &src, screen, &dst); + + extern char textChar2e[]; + uint8 * fontAddr = (uint8 *)textChar2e + ((128 + 32) * 7 * 8); + SetNewFont(Font(fontAddr, 7, 8)); + DrawStringOpaque(screen, extents.x + 8, extents.y + 6, 0xFF000000, 0xFFFFFFFF, "Ultima III - Boo"); + DrawStringOpaque(screen, extents.x + 8, extents.y + 14, 0xFF000000, 0xFFFFFFFF, "0123456789012345"); + DrawStringOpaque(screen, extents.x + 8, extents.y + 22, 0xFF000000, 0xFFFFFFFF, "1234567890123456"); + DrawStringOpaque(screen, extents.x + 8, extents.y + 30, 0xFF000000, 0xFFFFFFFF, "2345678901234567"); + RestoreOldFont(); +#else + SDL_FillRect(screen, &extents, bgColor); +#endif + + // Handle the items this window contains... + for(uint32 i=0; iDraw(); +#endif + +//Prolly don't need this since the close button will do this for us... + needToRefreshScreen = true; +} diff --git a/src/gui/draggablewindow2.h b/src/gui/draggablewindow2.h new file mode 100755 index 0000000..47113ff --- /dev/null +++ b/src/gui/draggablewindow2.h @@ -0,0 +1,32 @@ +// +// DRAGGABLEWINDOW2.H +// +// Graphical User Interface window class +// + +#ifndef __DRAGGABLEWINDOW2_H__ +#define __DRAGGABLEWINDOW2_H__ + +#include "window.h" +#include + +class DraggableWindow2: public Window +{ + public: + DraggableWindow2(uint32 x = 0, uint32 y = 0, uint32 w = 0, uint32 h = 0, + void (* f)(Element *) = NULL); + ~DraggableWindow2(); // Does this destructor need to be virtual? No, it doesn't! + virtual void HandleMouseMove(uint32 x, uint32 y); + virtual void HandleMouseButton(uint32 x, uint32 y, bool mouseDown); + virtual void Draw(void); + + protected: + bool clicked; + SDL_Rect offset; + + private: + SDL_Surface * img; + SDL_Surface * label; +}; + +#endif // __DRAGGABLEWINDOW2_H__ diff --git a/src/gui/guielements.h b/src/gui/guielements.h new file mode 100755 index 0000000..4ea89a3 --- /dev/null +++ b/src/gui/guielements.h @@ -0,0 +1,343 @@ +// +// GUIELEMENTS.H +// +// Graphical User Interface bitmaps and such +// + +#ifndef __GUIELEMENTS_H__ +#define __GUIELEMENTS_H__ + +#include "types.h" + +#ifdef __cplusplus +extern "C" { +#endif + +// Okay, this is ugly but works and I can't think of any better way to handle this. So what +// we do when we pass the GIMP bitmaps into a function is pass them as a (void *) and then +// cast them as type (Bitmap *) in order to use them. Yes, it's ugly. Come up with something +// better! + +struct Bitmap { + unsigned int width; + unsigned int height; + unsigned int bytesPerPixel; // 3:RGB, 4:RGBA + unsigned char pixelData[]; +}; + +//NOTE: 32-bit pixels are in the format of ABGR... +// This may not be endian safe... Mac users? +//Using the GIMP C style bitmap is portable in that it's specified in bytes +//but we can cast it in uint32s and thus it will display correctly regardless of +//the underlying endianess. At least, in theory. ;-) + +uint32 mousePic[] = { + 6, 8, + + 0xFF00FF00,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, // + + 0xFF00C600,0xFF00FF00,0x00000000,0x00000000,0x00000000,0x00000000, // @+ + 0xFF00C600,0xFF00FF00,0xFF00FF00,0x00000000,0x00000000,0x00000000, // @++ + 0xFF00C600,0xFF00C600,0xFF00FF00,0xFF00FF00,0x00000000,0x00000000, // @@++ + 0xFF00C600,0xFF00C600,0xFF00FF00,0xFF00FF00,0xFF00FF00,0x00000000, // @@+++ + 0xFF00C600,0xFF00C600,0xFF00C600,0xFF00FF00,0xFF00FF00,0xFF00FF00, // @@@+++ + 0xFF00C600,0xFF00C600,0xFF00C600,0x00000000,0x00000000,0x00000000, // @@@ + 0xFF00C600,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000 // @ +/* + 0x03E0,0x0000,0x0000,0x0000,0x0000,0x0000, // + + 0x0300,0x03E0,0x0000,0x0000,0x0000,0x0000, // @+ + 0x0300,0x03E0,0x03E0,0x0000,0x0000,0x0000, // @++ + 0x0300,0x0300,0x03E0,0x03E0,0x0000,0x0000, // @@++ + 0x0300,0x0300,0x03E0,0x03E0,0x03E0,0x0000, // @@+++ + 0x0300,0x0300,0x0300,0x03E0,0x03E0,0x03E0, // @@@+++ + 0x0300,0x0300,0x0300,0x0000,0x0000,0x0000, // @@@ + 0x0300,0x0000,0x0000,0x0000,0x0000,0x0000 // @ + + 0xFFFF,0x0000,0x0000,0x0000,0x0000,0x0000, // + + 0xE318,0xFFFF,0x0000,0x0000,0x0000,0x0000, // @+ + 0xE318,0xFFFF,0xFFFF,0x0000,0x0000,0x0000, // @++ + 0xE318,0xE318,0xFFFF,0xFFFF,0x0000,0x0000, // @@++ + 0xE318,0xE318,0xFFFF,0xFFFF,0xFFFF,0x0000, // @@+++ + 0xE318,0xE318,0xE318,0xFFFF,0xFFFF,0xFFFF, // @@@+++ + 0xE318,0xE318,0xE318,0x0000,0x0000,0x0000, // @@@ + 0xE318,0x0000,0x0000,0x0000,0x0000,0x0000 // @ +*/ +}; + +uint32 upArrowBox[] = { + 8, 8, + + 0xFFF7D649,0xFFF7D649,0xFFF7D649,0xFFF7D649,0xFFF7D649,0xFFF7D649,0xFFF7D649,0xFFF7D649, // ++++++++ + 0xFFF7D649,0x00000000,0x00000000,0xFFFFFFFF,0xFFFFFFFF,0x00000000,0x00000000,0xFFBD8400, // + @@ . + 0xFFF7D649,0x00000000,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0x00000000,0xFFBD8400, // + @@@@ . + 0xFFF7D649,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFBD8400, // +@@@@@@. + 0xFFF7D649,0x00000000,0x00000000,0xFFFFFFFF,0xFFFFFFFF,0x00000000,0x00000000,0xFFBD8400, // + @@ . + 0xFFF7D649,0x00000000,0x00000000,0xFFFFFFFF,0xFFFFFFFF,0x00000000,0x00000000,0xFFBD8400, // + @@ . + 0xFFF7D649,0x00000000,0x00000000,0xFFFFFFFF,0xFFFFFFFF,0x00000000,0x00000000,0xFFBD8400, // + @@ . + 0xFFBD8400,0xFFBD8400,0xFFBD8400,0xFFBD8400,0xFFBD8400,0xFFBD8400,0xFFBD8400,0xFFBD8400 // ........ +}; + +uint32 downArrowBox[] = { + 8, 8, + + 0xFFF7D649,0xFFF7D649,0xFFF7D649,0xFFF7D649,0xFFF7D649,0xFFF7D649,0xFFF7D649,0xFFF7D649, // ++++++++ + 0xFFF7D649,0x00000000,0x00000000,0xFFFFFFFF,0xFFFFFFFF,0x00000000,0x00000000,0xFFBD8400, // + @@ . + 0xFFF7D649,0x00000000,0x00000000,0xFFFFFFFF,0xFFFFFFFF,0x00000000,0x00000000,0xFFBD8400, // + @@ . + 0xFFF7D649,0x00000000,0x00000000,0xFFFFFFFF,0xFFFFFFFF,0x00000000,0x00000000,0xFFBD8400, // + @@ . + 0xFFF7D649,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFBD8400, // +@@@@@@. + 0xFFF7D649,0x00000000,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0x00000000,0xFFBD8400, // + @@@@ . + 0xFFF7D649,0x00000000,0x00000000,0xFFFFFFFF,0xFFFFFFFF,0x00000000,0x00000000,0xFFBD8400, // + @@ . + 0xFFBD8400,0xFFBD8400,0xFFBD8400,0xFFBD8400,0xFFBD8400,0xFFBD8400,0xFFBD8400,0xFFBD8400 // ........ +}; + +/* GIMP RGBA C-Source image dump (unlit button (16x16).png.c) */ + +static const struct { + unsigned int width; + unsigned int height; + unsigned int bytes_per_pixel; /* 3:RGB, 4:RGBA */ + unsigned char pixel_data[16 * 16 * 4 + 1]; +} pbUp = { + 16, 16, 4, + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\26\26\26\40`__\203\205rr\305\216mm\344\205" + "cc\345kWW\306@??\202\16\16\16\37\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\2\2\2\4nll\205\277\217\217\372\251LL\377\23588\377\23155\377\227" + "22\377\22600\377\22477\377\204UU\371>;;\203\1\1\1\3\0\0\0\0\0\0\0\0\0\0\0" + "\0\2\2\2\4\225\215\215\260\271hh\377\234==\377\22499\377\22366\377\22233" + "\377\22111\377\221//\377\220--\377\221,,\377\213==\377SJJ\254\1\1\1\4\0\0" + "\0\0\0\0\0\0omm\205\271hh\377\231==\377\224::\377\22377\377\22344\377\223" + "22\377\22100\377\220..\377\220--\377\220,,\377\220++\377\213<<\377=;;\204" + "\0\0\0\0\27\27\27\"\301\220\220\372\234==\377\224::\377\22388\377\22555\377" + "\22533\377\22411\377\223//\377\222--\377\220,,\377\220++\377\221**\377\222" + "**\377\204RR\372\16\16\16\37baa\205\252MM\377\224::\377\22377\377\22655\377" + "\22433\377\22111\377\216//\377\214..\377\214,,\377\217++\377\221++\377\221" + "**\377\224**\377\22422\377=<<\203\207tt\307\23599\377\22366\377\22355\377" + "\22533\377\22111\377\215//\377\213..\377\213--\377\212,,\377\212++\377\221" + "**\377\222**\377\226**\377\227**\377dNN\306\222oo\344\23155\377\22244\377" + "\22322\377\22411\377\216//\377\213..\377\213--\377\212,,\377\212++\377\212" + "**\377\220**\377\223**\377\230))\377\231**\377xTT\345\210ff\345\23033\377" + "\22111\377\22100\377\223//\377\215..\377\213--\377\212,,\377\212++\377\212" + "**\377\212**\377\221**\377\224))\377\232))\377\233))\377yTT\344lYY\304\230" + "11\377\221//\377\220..\377\222--\377\215,,\377\212,,\377\212++\377\212**" + "\377\212**\377\211**\377\224))\377\226))\377\235))\377\235**\377dNN\305?" + ">>\177\230;;\377\220..\377\220--\377\220,,\377\217++\377\212++\377\212**" + "\377\212**\377\212**\377\222))\377\225))\377\234))\377\237))\377\23455\377" + ";;;\200\15\15\15\34\207YY\367\222--\377\220,,\377\220++\377\221++\377\222" + "**\377\220**\377\221**\377\224))\377\224))\377\232))\377\237))\377\237**" + "\377\211UU\367\14\14\14\34\0\0\0\0:88{\221CC\377\220++\377\221++\377\221" + "**\377\222**\377\223**\377\224))\377\226))\377\234))\377\237))\377\237))" + "\377\232AA\377988{\0\0\0\0\0\0\0\0\1\1\1\2NGG\243\221CC\377\223++\377\224" + "**\377\226**\377\227))\377\232))\377\235))\377\236))\377\237**\377\232BB" + "\377OGG\244\1\1\1\2\0\0\0\0\0\0\0\0\0\0\0\0\1\1\1\2""766w\204WW\365\2279" + "9\377\231,,\377\231**\377\233**\377\236++\377\23388\377\207VV\365766w\1\1" + "\1\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\12\12\12\30""777w]M" + "M\272rSS\330sSS\330]MM\270777w\12\12\12\30\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0", +}; + +uint32 pushButtonUp[] = { + 8, 8, + + 0x00000000, 0xFF1B1B1B, 0xFF545477, 0xFF525292, 0xFF474787, 0xFF363659, 0xFF0F0F0F, 0x00000000, + 0xFF1B1B1C, 0xFF6666A7, 0xFF393995, 0xFF343492, 0xFF2F2F90, 0xFF2C2C90, 0xFF3B3B7E, 0xFF0F0F0F, + 0xFF555578, 0xFF3A3A95, 0xFF353594, 0xFF303091, 0xFF2D2D8F, 0xFF2B2B90, 0xFF2A2A92, 0xFF333358, + 0xFF545493, 0xFF343492, 0xFF303092, 0xFF2D2D8B, 0xFF2B2B8A, 0xFF2A2A8D, 0xFF292994, 0xFF3D3D83, + 0xFF484889, 0xFF2F2F90, 0xFF2D2D8F, 0xFF2B2B8A, 0xFF2A2A89, 0xFF29298E, 0xFF292998, 0xFF3D3D84, + 0xFF37375A, 0xFF2C2C90, 0xFF2B2B90, 0xFF2A2A8D, 0xFF29298E, 0xFF292995, 0xFF29299D, 0xFF34345B, + 0xFF0E0E0E, 0xFF3E3E7F, 0xFF2A2A92, 0xFF292994, 0xFF292998, 0xFF29299D, 0xFF3C3C88, 0xFF0E0E0E, + 0x00000000, 0xFF0D0D0D, 0xFF343456, 0xFF3D3D80, 0xFF3D3D82, 0xFF333358, 0xFF0D0D0D, 0x00000000 +}; + +uint8 pbuAlpha[] = { + 0xFF, 0xE4, 0xA0, 0x99, 0xA4, 0xBE, 0xF0, 0xFF, + 0xE3, 0x85, 0x00, 0x00, 0x00, 0x00, 0xAF, 0xF0, + 0x9F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, + 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAD, + 0xA3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAC, + 0xBD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, + 0xF1, 0xAD, 0x00, 0x00, 0x00, 0x00, 0xAC, 0xF1, + 0xFF, 0xF2, 0xC0, 0xAD, 0xAD, 0xC0, 0xF2, 0xFF +}; + +/* GIMP RGBA C-Source image dump (Lit Button (16x16).png.c) */ + +static const struct { + unsigned int width; + unsigned int height; + unsigned int bytes_per_pixel; /* 3:RGB, 4:RGBA */ + unsigned char pixel_data[16 * 16 * 4 + 1]; +} pbDown = { + 16, 16, 4, + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\261\261\261\36\276\276\276\200\272\272\272" + "\302\255\255\255\343\236\236\236\343\214\214\214\302~~~\177uuu\35\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\223\223\223\3\332\332\332\200\353" + "\353\353\371\347\323\323\377\321\224\224\377\303rr\377\274jj\377\263uu\377" + "\237\212\212\377\205\205\205\370xxx\177ccc\3\0\0\0\0\0\0\0\0\0\0\0\0\236" + "\236\236\3\345\345\345\252\371\362\362\377\326\203\203\377\325BB\377\353" + "DD\377\365DD\377\365CC\377\351>>\377\31777\377\251TT\377\210\200\200\377" + "yyy\250```\3\0\0\0\0\0\0\0\0\333\333\333\200\371\362\362\377\320cc\377\356" + "GG\377\371HH\377\366FF\377\363CC\377\363BB\377\365AA\377\367@@\377\351<<" + "\377\257@@\377\203{{\377www\177\0\0\0\0\261\261\261\36\354\354\354\370\326" + "\204\204\377\356GG\377\370HH\377\362EE\377\351BB\377\340>>\377\337==\377" + "\347>>\377\357??\377\366??\377\352;;\377\242LL\377{{{\370sss\35\300\300\300" + "\200\350\324\324\377\326BB\377\371HH\377\362EE\377\341@@\377\324<<\377\326" + "<<\377\325;;\377\32199\377\335;;\377\360>>\377\370??\377\32033\377\205pp" + "\377xxx\177\274\274\274\302\322\225\225\377\353DD\377\366FF\377\351BB\377" + "\324<<\377\331==\377\335>>\377\335==\377\330;;\377\32088\377\347<<\377\365" + ">>\377\353::\377\225UU\377xxx\303\260\260\260\343\305tt\377\366EE\377\363" + "DD\377\340>>\377\326<<\377\335>>\377\342??\377\342>>\377\334<<\377\32388" + "\377\33599\377\363>>\377\371==\377\237II\377yyy\343\237\237\237\343\275l" + "l\377\365CC\377\363BB\377\337==\377\325;;\377\335==\377\342>>\377\342>>\377" + "\334<<\377\32388\377\33699\377\364>>\377\372==\377\240II\377yyy\343\216\216" + "\216\303\264vv\377\352??\377\365AA\377\347>>\377\32199\377\330;;\377\334" + "<<\377\334<<\377\327::\377\31777\377\350;;\377\371>>\377\357;;\377\227UU" + "\377xxx\302~~~\200\240\214\214\377\32188\377\367@@\377\357??\377\335;;\377" + "\32088\377\32388\377\32388\377\31777\377\33799\377\362==\377\376>>\377\326" + "55\377\204nn\377www\177vvv\34\205\205\205\370\253UU\377\353==\377\366??\377" + "\360>>\377\347<<\377\33599\377\33699\377\350;;\377\362==\377\375>>\377\362" + ";;\377\246HH\377zzz\370rrr\36\0\0\0\0xxx\177\210\200\200\377\261AA\377\353" + "==\377\370??\377\365>>\377\363>>\377\364>>\377\370>>\377\376>>\377\362<<" + "\377\266<<\377~uu\377www\177\0\0\0\0\0\0\0\0ddd\3yyy\250\203{{\377\243MM" + "\377\32155\377\354<<\377\371>>\377\372>>\377\357;;\377\32755\377\246HH\377" + "~uu\377xxx\250___\3\0\0\0\0\0\0\0\0\0\0\0\0hhh\3www\177{{{\370\205pp\377" + "\225UU\377\237JJ\377\240JJ\377\227UU\377\204nn\377zzz\370www\177```\3\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0ttt\35www\200xxx\303yyy\343y" + "yy\343xxx\303xxx\177sss\35\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", +}; + +uint32 pushButtonDown[] = { + 8, 8, + + 0x00000000, 0xFF1B1B1B, 0xFF8B8B90, 0xFF8C8CAF, 0xFF767699, 0xFF56565B, 0xFF0F0F0F, 0x00000000, + 0xFF1B1B1B, 0xFFB8B8D6, 0xFF5555E4, 0xFF4444F2, 0xFF4040F1, 0xFF4141D5, 0xFF626282, 0xFF0F0F0F, + 0xFF8C8C91, 0xFF5555E4, 0xFF4444EF, 0xFF3E3EDC, 0xFF3B3BDB, 0xFF3D3DEC, 0xFF3E3ED4, 0xFF4B4B51, + 0xFF8D8DB1, 0xFF4444F2, 0xFF3E3EDC, 0xFF3E3EDD, 0xFF3C3CDC, 0xFF3939D9, 0xFF3C3CF3, 0xFF59597E, + 0xFF77779B, 0xFF4141F1, 0xFF3B3BDB, 0xFF3C3CDC, 0xFF3B3BDC, 0xFF3838D9, 0xFF3C3CF5, 0xFF595980, + 0xFF57575D, 0xFF4242D8, 0xFF3D3DEC, 0xFF3939D9, 0xFF3838D9, 0xFF3C3CEF, 0xFF3D3DDC, 0xFF4C4C52, + 0xFF101010, 0xFF636385, 0xFF3E3ED8, 0xFF3D3DF4, 0xFF3D3DF6, 0xFF3D3DDD, 0xFF5D5D83, 0xFF101010, + 0x00000000, 0xFF101010, 0xFF4E4E55, 0xFF5B5B83, 0xFF5B5B84, 0xFF4D4D54, 0xFF101010, 0x00000000 +}; + +uint8 pbdAlpha[] = { + 0xFF, 0xE4, 0x72, 0x68, 0x7E, 0xA7, 0xF0, 0xFF, + 0xE4, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x93, 0xF0, + 0x71, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB2, + 0x67, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9A, + 0x7D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9A, + 0xA6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB1, + 0xEF, 0x91, 0x00, 0x00, 0x00, 0x00, 0x96, 0xEF, + 0xFF, 0xEF, 0xAE, 0x98, 0x97, 0xAF, 0xEF, 0xFF +}; + +uint32 slideSwitchUp[] = { + 8, 16, + +//0C7F -> 000011 00011 11111 -> 0000 1100 0001 1000 1111 1111 -> 0C 18 FF + 0xFFF7D649,0xFFF7D649,0xFFF7D649,0xFFF7D649,0xFFF7D649,0xFFF7D649,0xFFF7D649,0xFFF7D649, // ++++++++ + 0xFFF7D649,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFBD8400, // + . + 0xFFF7D649,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFBD8400, // + . + 0xFFF7D649,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFBD8400, // + . + 0xFFF7D649,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFBD8400, // + . + 0xFFF7D649,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFBD8400, // + . + 0xFFF7D649,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFBD8400, // + . + 0xFFF7D649,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFBD8400, // + . + 0xFFF7D649,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xFFBD8400, // +....... + 0xFFF7D649,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xFFBD8400, // +....... + 0xFFF7D649,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xFFBD8400, // +....... + 0xFFF7D649,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xFFBD8400, // +....... + 0xFFF7D649,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xFFBD8400, // +....... + 0xFFF7D649,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xFFBD8400, // +....... + 0xFFF7D649,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xFFBD8400, // +....... + 0xFFBD8400,0xFFBD8400,0xFFBD8400,0xFFBD8400,0xFFBD8400,0xFFBD8400,0xFFBD8400,0xFFBD8400 // ........ +}; + +uint32 slideSwitchDown[] = { + 8, 16, + + 0xFFF7D649,0xFFF7D649,0xFFF7D649,0xFFF7D649,0xFFF7D649,0xFFF7D649,0xFFF7D649,0xFFF7D649, // ++++++++ + 0xFFF7D649,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xFFBD8400, // +....... + 0xFFF7D649,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xFFBD8400, // +....... + 0xFFF7D649,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xFFBD8400, // +....... + 0xFFF7D649,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xFFBD8400, // +....... + 0xFFF7D649,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xFFBD8400, // +....... + 0xFFF7D649,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xFFBD8400, // +....... + 0xFFF7D649,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xFFBD8400, // +....... + 0xFFF7D649,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFBD8400, // + . + 0xFFF7D649,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFBD8400, // + . + 0xFFF7D649,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFBD8400, // + . + 0xFFF7D649,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFBD8400, // + . + 0xFFF7D649,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFBD8400, // + . + 0xFFF7D649,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFBD8400, // + . + 0xFFF7D649,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFBD8400, // + . + 0xFFBD8400,0xFFBD8400,0xFFBD8400,0xFFBD8400,0xFFBD8400,0xFFBD8400,0xFFBD8400,0xFFBD8400 // ........ +}; + +#define CLOSEBOX_WIDTH 15 +#define CLOSEBOX_HEIGHT 15 + +uint32 closeBox[] = { + 15, 15, + + 0x00000000, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0x00000000, + 0xFF3838ED, 0xFF5858E7, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF5858E7, 0xFF3838ED, + 0xFF3838ED, 0xFF6B6BFB, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF6B6BFB, 0xFF3838ED, + 0xFF3838ED, 0xFF6B6BFB, 0xFF000000, 0xFF3838ED, 0xFF3838ED, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF3838ED, 0xFF3838ED, 0xFF000000, 0xFF6B6BFB, 0xFF3838ED, + 0xFF3838ED, 0xFF6B6BFB, 0xFF000000, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF000000, 0xFF6B6BFB, 0xFF3838ED, + 0xFF3838ED, 0xFF6B6BFB, 0xFF000000, 0xFF000000, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF000000, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF000000, 0xFF000000, 0xFF6B6BFB, 0xFF3838ED, + 0xFF3838ED, 0xFF6B6BFB, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF6B6BFB, 0xFF3838ED, + 0xFF3838ED, 0xFF6B6BFB, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF6B6BFB, 0xFF3838ED, + 0xFF3838ED, 0xFF6B6BFB, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF6B6BFB, 0xFF3838ED, + 0xFF3838ED, 0xFF6B6BFB, 0xFF000000, 0xFF000000, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF000000, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF000000, 0xFF000000, 0xFF6B6BFB, 0xFF3838ED, + 0xFF3838ED, 0xFF6B6BFB, 0xFF000000, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF000000, 0xFF6B6BFB, 0xFF3838ED, + 0xFF3838ED, 0xFF6B6BFB, 0xFF000000, 0xFF3838ED, 0xFF3838ED, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF3838ED, 0xFF3838ED, 0xFF000000, 0xFF6B6BFB, 0xFF3838ED, + 0xFF3838ED, 0xFF6B6BFB, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF6B6BFB, 0xFF3838ED, + 0xFF3838ED, 0xFF5858E7, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF5858E7, 0xFF3838ED, + 0x00000000, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0x00000000 +}; + +uint32 closeBoxHover[] = { + 15, 15, + + 0x00000000, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0x00000000, + 0xFF3838ED, 0xFF5858E7, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF5858E7, 0xFF3838ED, + 0xFF3838ED, 0xFF6B6BFB, 0xFF20A2FF, 0xFF20A2FF, 0xFF20A2FF, 0xFF20A2FF, 0xFF20A2FF, 0xFF20A2FF, 0xFF20A2FF, 0xFF20A2FF, 0xFF20A2FF, 0xFF20A2FF, 0xFF20A2FF, 0xFF6B6BFB, 0xFF3838ED, + 0xFF3838ED, 0xFF6B6BFB, 0xFF20A2FF, 0xFF3838ED, 0xFF3838ED, 0xFF40AFFF, 0xFF40AFFF, 0xFF40AFFF, 0xFF40AFFF, 0xFF40AFFF, 0xFF3838ED, 0xFF3838ED, 0xFF20A2FF, 0xFF6B6BFB, 0xFF3838ED, + 0xFF3838ED, 0xFF6B6BFB, 0xFF20A2FF, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF52B7FF, 0xFF52B7FF, 0xFF52B7FF, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF20A2FF, 0xFF6B6BFB, 0xFF3838ED, + 0xFF3838ED, 0xFF6B6BFB, 0xFF20A2FF, 0xFF40AFFF, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF63BEFF, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF40AFFF, 0xFF20A2FF, 0xFF6B6BFB, 0xFF3838ED, + 0xFF3838ED, 0xFF6B6BFB, 0xFF20A2FF, 0xFF40AFFF, 0xFF52B7FF, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF52B7FF, 0xFF40AFFF, 0xFF20A2FF, 0xFF6B6BFB, 0xFF3838ED, + 0xFF3838ED, 0xFF6B6BFB, 0xFF20A2FF, 0xFF40AFFF, 0xFF52B7FF, 0xFF63BEFF, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF63BEFF, 0xFF52B7FF, 0xFF40AFFF, 0xFF20A2FF, 0xFF6B6BFB, 0xFF3838ED, + 0xFF3838ED, 0xFF6B6BFB, 0xFF20A2FF, 0xFF40AFFF, 0xFF52B7FF, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF52B7FF, 0xFF40AFFF, 0xFF20A2FF, 0xFF6B6BFB, 0xFF3838ED, + 0xFF3838ED, 0xFF6B6BFB, 0xFF20A2FF, 0xFF40AFFF, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF63BEFF, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF40AFFF, 0xFF20A2FF, 0xFF6B6BFB, 0xFF3838ED, + 0xFF3838ED, 0xFF6B6BFB, 0xFF20A2FF, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF52B7FF, 0xFF52B7FF, 0xFF52B7FF, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF20A2FF, 0xFF6B6BFB, 0xFF3838ED, + 0xFF3838ED, 0xFF6B6BFB, 0xFF20A2FF, 0xFF3838ED, 0xFF3838ED, 0xFF40AFFF, 0xFF40AFFF, 0xFF40AFFF, 0xFF40AFFF, 0xFF40AFFF, 0xFF3838ED, 0xFF3838ED, 0xFF20A2FF, 0xFF6B6BFB, 0xFF3838ED, + 0xFF3838ED, 0xFF6B6BFB, 0xFF20A2FF, 0xFF20A2FF, 0xFF20A2FF, 0xFF20A2FF, 0xFF20A2FF, 0xFF20A2FF, 0xFF20A2FF, 0xFF20A2FF, 0xFF20A2FF, 0xFF20A2FF, 0xFF20A2FF, 0xFF6B6BFB, 0xFF3838ED, + 0xFF3838ED, 0xFF5858E7, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF5858E7, 0xFF3838ED, + 0x00000000, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0x00000000 +}; + +uint32 closeBoxDown[] = { + 15, 15, + + 0x00000000, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0x00000000, + 0xFF3838ED, 0xFF1D1DE2, 0xFF2B2BC0, 0xFF2B2BC0, 0xFF2B2BC0, 0xFF2B2BC0, 0xFF2B2BC0, 0xFF2B2BC0, 0xFF2B2BC0, 0xFF2B2BC0, 0xFF2B2BC0, 0xFF2B2BC0, 0xFF2B2BC0, 0xFF1D1DE2, 0xFF3838ED, + 0xFF3838ED, 0xFF2B2BC0, 0xFF1F9DF7, 0xFF1F9DF7, 0xFF1F9DF7, 0xFF1F9DF7, 0xFF1F9DF7, 0xFF1F9DF7, 0xFF1F9DF7, 0xFF1F9DF7, 0xFF1F9DF7, 0xFF1F9DF7, 0xFF1F9DF7, 0xFF2B2BC0, 0xFF3838ED, + 0xFF3838ED, 0xFF2B2BC0, 0xFF1F9DF7, 0xFF3838ED, 0xFF3838ED, 0xFF0786E2, 0xFF0786E2, 0xFF0786E2, 0xFF0786E2, 0xFF0786E2, 0xFF3838ED, 0xFF3838ED, 0xFF1F9DF7, 0xFF2B2BC0, 0xFF3838ED, + 0xFF3838ED, 0xFF2B2BC0, 0xFF1F9DF7, 0xFF3838ED, 0xFF2B2BC0, 0xFF3838ED, 0xFF0077CC, 0xFF0077CC, 0xFF0077CC, 0xFF3838ED, 0xFF2B2BC0, 0xFF3838ED, 0xFF1F9DF7, 0xFF2B2BC0, 0xFF3838ED, + 0xFF3838ED, 0xFF2B2BC0, 0xFF1F9DF7, 0xFF0786E2, 0xFF3838ED, 0xFF2B2BC0, 0xFF3838ED, 0xFF006EBD, 0xFF3838ED, 0xFF2B2BC0, 0xFF3838ED, 0xFF0786E2, 0xFF1F9DF7, 0xFF2B2BC0, 0xFF3838ED, + 0xFF3838ED, 0xFF2B2BC0, 0xFF1F9DF7, 0xFF0786E2, 0xFF0077CC, 0xFF3838ED, 0xFF2B2BC0, 0xFF3838ED, 0xFF2B2BC0, 0xFF3838ED, 0xFF0077CC, 0xFF0786E2, 0xFF1F9DF7, 0xFF2B2BC0, 0xFF3838ED, + 0xFF3838ED, 0xFF2B2BC0, 0xFF1F9DF7, 0xFF0786E2, 0xFF0077CC, 0xFF006EBD, 0xFF3838ED, 0xFF2B2BC0, 0xFF3838ED, 0xFF006EBD, 0xFF0077CC, 0xFF0786E2, 0xFF1F9DF7, 0xFF2B2BC0, 0xFF3838ED, + 0xFF3838ED, 0xFF2B2BC0, 0xFF1F9DF7, 0xFF0786E2, 0xFF0077CC, 0xFF3838ED, 0xFF2B2BC0, 0xFF3838ED, 0xFF2B2BC0, 0xFF3838ED, 0xFF0077CC, 0xFF0786E2, 0xFF1F9DF7, 0xFF2B2BC0, 0xFF3838ED, + 0xFF3838ED, 0xFF2B2BC0, 0xFF1F9DF7, 0xFF0786E2, 0xFF3838ED, 0xFF2B2BC0, 0xFF3838ED, 0xFF006EBD, 0xFF3838ED, 0xFF2B2BC0, 0xFF3838ED, 0xFF0786E2, 0xFF1F9DF7, 0xFF2B2BC0, 0xFF3838ED, + 0xFF3838ED, 0xFF2B2BC0, 0xFF1F9DF7, 0xFF3838ED, 0xFF2B2BC0, 0xFF3838ED, 0xFF0077CC, 0xFF0077CC, 0xFF0077CC, 0xFF3838ED, 0xFF2B2BC0, 0xFF3838ED, 0xFF1F9DF7, 0xFF2B2BC0, 0xFF3838ED, + 0xFF3838ED, 0xFF2B2BC0, 0xFF1F9DF7, 0xFF3838ED, 0xFF3838ED, 0xFF0786E2, 0xFF0786E2, 0xFF0786E2, 0xFF0786E2, 0xFF0786E2, 0xFF3838ED, 0xFF3838ED, 0xFF1F9DF7, 0xFF2B2BC0, 0xFF3838ED, + 0xFF3838ED, 0xFF2B2BC0, 0xFF1F9DF7, 0xFF1F9DF7, 0xFF1F9DF7, 0xFF1F9DF7, 0xFF1F9DF7, 0xFF1F9DF7, 0xFF1F9DF7, 0xFF1F9DF7, 0xFF1F9DF7, 0xFF1F9DF7, 0xFF1F9DF7, 0xFF2B2BC0, 0xFF3838ED, + 0xFF3838ED, 0xFF1D1DE2, 0xFF2B2BC0, 0xFF2B2BC0, 0xFF2B2BC0, 0xFF2B2BC0, 0xFF2B2BC0, 0xFF2B2BC0, 0xFF2B2BC0, 0xFF2B2BC0, 0xFF2B2BC0, 0xFF2B2BC0, 0xFF2B2BC0, 0xFF1D1DE2, 0xFF3838ED, + 0x00000000, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0x00000000 +}; + +#include "vj_title_small.c" + +#ifdef __cplusplus +} +#endif + +#endif // __GUIELEMENTS_H__