From 5a534cc7bd228a0a10b5884f671cffce3db8196c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20H=C3=B6glund?= Date: Fri, 17 May 2002 16:33:48 +0000 Subject: [PATCH] Importing the Keramik KWin style. svn path=/trunk/kdebase/kwin/; revision=156002 --- clients/keramik/Makefile.am | 32 + clients/keramik/config/Makefile.am | 19 + clients/keramik/config/config.cpp | 107 ++ clients/keramik/config/config.h | 59 + clients/keramik/config/keramikconfig.ui | 99 ++ clients/keramik/configure.in.in | 3 + clients/keramik/keramik.cpp | 1227 +++++++++++++++ clients/keramik/keramik.desktop | 4 + clients/keramik/keramik.h | 177 +++ clients/keramik/pics/border-active-left.png | Bin 0 -> 157 bytes clients/keramik/pics/border-active-right.png | Bin 0 -> 160 bytes clients/keramik/pics/border-inactive-left.png | Bin 0 -> 157 bytes .../keramik/pics/border-inactive-right.png | Bin 0 -> 160 bytes .../pics/caption-active-large-center.png | Bin 0 -> 347 bytes .../pics/caption-active-large-left.png | Bin 0 -> 731 bytes .../pics/caption-active-large-right.png | Bin 0 -> 949 bytes .../pics/caption-active-small-center.png | Bin 0 -> 300 bytes .../pics/caption-active-small-left.png | Bin 0 -> 724 bytes .../pics/caption-active-small-right.png | Bin 0 -> 854 bytes .../keramik/pics/caption-inactive-center.png | Bin 0 -> 298 bytes .../keramik/pics/caption-inactive-left.png | Bin 0 -> 656 bytes .../keramik/pics/caption-inactive-right.png | Bin 0 -> 814 bytes .../keramik/pics/grabbar-active-center.png | Bin 0 -> 194 bytes clients/keramik/pics/grabbar-active-left.png | Bin 0 -> 285 bytes clients/keramik/pics/grabbar-active-right.png | Bin 0 -> 284 bytes .../keramik/pics/grabbar-inactive-center.png | Bin 0 -> 192 bytes .../keramik/pics/grabbar-inactive-left.png | Bin 0 -> 296 bytes .../keramik/pics/grabbar-inactive-right.png | Bin 0 -> 286 bytes .../keramik/pics/titlebar-active-center.png | Bin 0 -> 295 bytes clients/keramik/pics/titlebar-active-left.png | Bin 0 -> 706 bytes .../keramik/pics/titlebar-active-right.png | Bin 0 -> 760 bytes .../keramik/pics/titlebar-inactive-center.png | Bin 0 -> 295 bytes .../keramik/pics/titlebar-inactive-left.png | Bin 0 -> 601 bytes .../keramik/pics/titlebar-inactive-right.png | Bin 0 -> 656 bytes clients/keramik/pics/titlebutton-round.png | Bin 0 -> 1789 bytes clients/keramik/pics/titlebutton-square.png | Bin 0 -> 1082 bytes clients/keramik/tiles.h | 1331 +++++++++++++++++ 37 files changed, 3058 insertions(+) create mode 100644 clients/keramik/Makefile.am create mode 100644 clients/keramik/config/Makefile.am create mode 100644 clients/keramik/config/config.cpp create mode 100644 clients/keramik/config/config.h create mode 100644 clients/keramik/config/keramikconfig.ui create mode 100644 clients/keramik/configure.in.in create mode 100644 clients/keramik/keramik.cpp create mode 100644 clients/keramik/keramik.desktop create mode 100644 clients/keramik/keramik.h create mode 100644 clients/keramik/pics/border-active-left.png create mode 100644 clients/keramik/pics/border-active-right.png create mode 100644 clients/keramik/pics/border-inactive-left.png create mode 100644 clients/keramik/pics/border-inactive-right.png create mode 100644 clients/keramik/pics/caption-active-large-center.png create mode 100644 clients/keramik/pics/caption-active-large-left.png create mode 100644 clients/keramik/pics/caption-active-large-right.png create mode 100644 clients/keramik/pics/caption-active-small-center.png create mode 100644 clients/keramik/pics/caption-active-small-left.png create mode 100644 clients/keramik/pics/caption-active-small-right.png create mode 100644 clients/keramik/pics/caption-inactive-center.png create mode 100644 clients/keramik/pics/caption-inactive-left.png create mode 100644 clients/keramik/pics/caption-inactive-right.png create mode 100644 clients/keramik/pics/grabbar-active-center.png create mode 100644 clients/keramik/pics/grabbar-active-left.png create mode 100644 clients/keramik/pics/grabbar-active-right.png create mode 100644 clients/keramik/pics/grabbar-inactive-center.png create mode 100644 clients/keramik/pics/grabbar-inactive-left.png create mode 100644 clients/keramik/pics/grabbar-inactive-right.png create mode 100644 clients/keramik/pics/titlebar-active-center.png create mode 100644 clients/keramik/pics/titlebar-active-left.png create mode 100644 clients/keramik/pics/titlebar-active-right.png create mode 100644 clients/keramik/pics/titlebar-inactive-center.png create mode 100644 clients/keramik/pics/titlebar-inactive-left.png create mode 100644 clients/keramik/pics/titlebar-inactive-right.png create mode 100644 clients/keramik/pics/titlebutton-round.png create mode 100644 clients/keramik/pics/titlebutton-square.png create mode 100644 clients/keramik/tiles.h diff --git a/clients/keramik/Makefile.am b/clients/keramik/Makefile.am new file mode 100644 index 0000000000..c403f00608 --- /dev/null +++ b/clients/keramik/Makefile.am @@ -0,0 +1,32 @@ +INCLUDES = $(all_includes) -I$(kde_includes)/kwin + +SUBDIRS = . config + +KDE_CXXFLAGS = -UQT_NO_ASCII_CAST + +kde_module_LTLIBRARIES = kwin_keramik.la + +kwin_keramik_la_SOURCES = keramik.cpp +kwin_keramik_la_LIBADD = ../../kwin.la +kwin_keramik_la_LDFLAGS = $(all_libraries) $(KDE_PLUGIN) -module + +METASOURCES = AUTO +noinst_headers = keramik.h tiles.h + +lnkdir = $(kde_datadir)/kwin +lnk_DATA = keramik.desktop + +EXTRA_DIST = $(lnk_DATA) + +QEMBED = $(QTDIR)/tools/qembed/qembed + +keramik.cpp: tiles.h + +PICS := $(shell ls $(srcdir)/pics/*.png 2>/dev/null) + +.PHONY: make-embed + +make-embed: $(PICS) + $(QEMBED) --images $^ | \ + sed -e 's,static QDict dict;,,' | \ + sed -e 's,dict\.find,imageDict.find,' > $(srcdir)/tiles.h diff --git a/clients/keramik/config/Makefile.am b/clients/keramik/config/Makefile.am new file mode 100644 index 0000000000..4b629c01f6 --- /dev/null +++ b/clients/keramik/config/Makefile.am @@ -0,0 +1,19 @@ +INCLUDES = $(all_includes) + +kde_module_LTLIBRARIES = kwin_keramik_config.la + +kwin_keramik_config_la_SOURCES = config.cpp keramikconfig.ui +kwin_keramik_config_la_LDFLAGS = $(all_libraries) $(KDE_PLUGIN) -module +kwin_keramik_config_la_LIBADD = $(LIB_KDEUI) + +METASOURCES = AUTO +noinst_HEADERS = config.h keramikconfig.h + +lnkdir = $(kde_datadir)/kwin + +messages: + $(XGETTEXT) *.cpp -o $(podir)/kwin_keramik_config.pot + +###KMAKE-start (don't edit or delete this block) + +###KMAKE-end diff --git a/clients/keramik/config/config.cpp b/clients/keramik/config/config.cpp new file mode 100644 index 0000000000..4202cd8ade --- /dev/null +++ b/clients/keramik/config/config.cpp @@ -0,0 +1,107 @@ +/* + * $Id$ + * + * Keramik KWin client configuration module + * + * Copyright (C) 2002 Fredrik Höglund + * + * Based on the Quartz configuration module, + * Copyright (c) 2001 Karol Szwed + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the license, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#include +#include + +#include + +#include "config.h" +#include "config.moc" + +extern "C" +{ + QObject* allocate_config( KConfig* conf, QWidget* parent ) + { + return ( new KeramikConfig( conf, parent ) ); + } +} + + +/* NOTE: + * 'conf' is a pointer to the kwindecoration modules open kwin config, + * and is by default set to the "Style" group. + * + * 'parent' is the parent of the QObject, which is a VBox inside the + * Configure tab in kwindecoration + */ + +KeramikConfig::KeramikConfig( KConfig* conf, QWidget* parent ) + : QObject( parent ) +{ + KGlobal::locale()->insertCatalogue("kwin_keramik_config"); + c = new KConfig( "kwinkeramikrc" ); + + ui = new KeramikConfigUI( parent ); + connect( ui->showAppIcons, SIGNAL(clicked()), SIGNAL(changed()) ); + connect( ui->smallCaptions, SIGNAL(clicked()), SIGNAL(changed()) ); + connect( ui->useShadowedText, SIGNAL(clicked()), SIGNAL(changed()) ); + + load( conf ); + ui->show(); +} + + +KeramikConfig::~KeramikConfig() +{ + delete ui; + delete c; +} + + +// Loads the configurable options from the kwinrc config file +// It is passed the open config from kwindecoration to improve efficiency +void KeramikConfig::load( KConfig* ) +{ + c->setGroup("General"); + ui->showAppIcons->setChecked( c->readBoolEntry("ShowAppIcons", true) ); + ui->smallCaptions->setChecked( c->readBoolEntry("SmallCaptionBubbles", false) ); + ui->useShadowedText->setChecked( c->readBoolEntry("UseShadowedText", true) ); +} + + +// Saves the configurable options to the kwinrc config file +void KeramikConfig::save( KConfig* ) +{ + c->setGroup( "General" ); + c->writeEntry( "ShowAppIcons", ui->showAppIcons->isChecked() ); + c->writeEntry( "SmallCaptionBubbles", ui->smallCaptions->isChecked() ); + c->writeEntry( "UseShadowedText", ui->useShadowedText->isChecked() ); + c->sync(); +} + + +// Sets UI widget defaults which must correspond to style defaults +void KeramikConfig::defaults() +{ + ui->showAppIcons->setChecked( true ); + ui->smallCaptions->setChecked( false ); + ui->useShadowedText->setChecked( true ); + + emit changed(); +} + +// vim: set noet ts=4 sw=4: diff --git a/clients/keramik/config/config.h b/clients/keramik/config/config.h new file mode 100644 index 0000000000..59f7b1a92d --- /dev/null +++ b/clients/keramik/config/config.h @@ -0,0 +1,59 @@ +/* + * $Id$ + * + * Keramik KWin client configuration module + * + * Copyright (C) 2002 Fredrik Höglund + * + * Based on the Quartz configuration module, + * Copyright (c) 2001 Karol Szwed + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the license, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifndef __KWIN_KERAMIK_CONFIG_H +#define __KWIN_KERAMIK_CONFIG_H + +#include + +#include "keramikconfig.h" + +class KeramikConfig: public QObject +{ + Q_OBJECT + + public: + KeramikConfig( KConfig* conf, QWidget* parent ); + ~KeramikConfig(); + + // These public signals/slots work similar to KCM modules + signals: + void changed(); + + public slots: + void load( KConfig* conf ); + void save( KConfig* conf ); + void defaults(); + + private: + KeramikConfigUI *ui; + KConfig *c; +}; + + +#endif + +// vim: set noet ts=4 sw=4: diff --git a/clients/keramik/config/keramikconfig.ui b/clients/keramik/config/keramikconfig.ui new file mode 100644 index 0000000000..af5372ee35 --- /dev/null +++ b/clients/keramik/config/keramikconfig.ui @@ -0,0 +1,99 @@ + +KeramikConfigUI + + + KeramikConfigUI + + + + 0 + 0 + 470 + 333 + + + + Keramik + + + + unnamed + + + 0 + + + 6 + + + + decorationBox + + + Decoration Settings + + + + unnamed + + + 11 + + + 6 + + + + Layout4 + + + + unnamed + + + 0 + + + 6 + + + + showAppIcons + + + Display the window &icon in the caption bubble + + + Check this option if you want the window icon to be displayed in the caption bubble next to the titlebar text. + + + + + smallCaptions + + + Draw &small caption bubbles on active windows + + + Check this option if you want the caption bubble to have the same size on active windows that it has on inactive ones. This option is useful for laptops or low resolution displays where you want maximize the amount of space available to the window contents. + + + + + useShadowedText + + + Use shadowed &text + + + Check this option if you want the titlebar text to have a 3D look with a shadow behind it. + + + + + + + + + + diff --git a/clients/keramik/configure.in.in b/clients/keramik/configure.in.in new file mode 100644 index 0000000000..a3ed00c262 --- /dev/null +++ b/clients/keramik/configure.in.in @@ -0,0 +1,3 @@ +dnl Check for the X shaped windows extension +AC_CHECK_HEADERS(X11/extensions/shape.h) + diff --git a/clients/keramik/keramik.cpp b/clients/keramik/keramik.cpp new file mode 100644 index 0000000000..8486f4c576 --- /dev/null +++ b/clients/keramik/keramik.cpp @@ -0,0 +1,1227 @@ +/* + * $Id$ + * + * Keramik KWin client (version 0.6) + * + * Copyright (C) 2002 Fredrik Höglund + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the license, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + + +#include +#include +#include + +#include +#include +#include +#include + +#include "../../workspace.h" +#include "../../options.h" + +#include "keramik.h" +#include "../../../config.h" + +#include +#include + +#ifdef HAVE_X11_EXTENSIONS_SHAPE_H +#include +#else +#define XShapeCombineMask(a,b,c,d,e,f,g) +#endif + +#include "keramik.moc" + +using namespace KWinInternal; + + + +// ------------------------------------------------------------------------------------------- + + + +static const int buttonMargin = 9; +static const int buttonSpacing = 4; +static const int iconSpacing = 5; + +static const bool recolorPixmaps = false; // ### only for debugging + +// Default button layout +static const char default_left[] = "M"; +static const char default_right[] = "IAX"; + +// Titlebar button bitmaps +static unsigned char menu_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x0f, 0x00, 0xf0, 0x07, 0x00, + 0xe0, 0x03, 0x00, 0xc0, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00}; + +static unsigned char sticky_on_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x80, 0x01, 0x00, 0x80, 0x01, 0x00, 0x80, 0x01, 0x00, 0xf0, 0x0f, 0x00, + 0xf0, 0x0f, 0x00, 0x80, 0x01, 0x00, 0x80, 0x01, 0x00, 0x80, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00}; + +static unsigned char sticky_off_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x0f, 0x00, + 0xf0, 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}; + +static unsigned char help_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x03, 0x00, + 0xf0, 0x07, 0x00, 0x30, 0x06, 0x00, 0x00, 0x07, 0x00, 0x80, 0x03, 0x00, + 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x80, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00}; + +static unsigned char iconify_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x0f, 0x00, 0xf0, 0x0f, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00}; + +static unsigned char maximize_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x80, 0x01, 0x00, 0xc0, 0x03, 0x00, 0xe0, 0x07, 0x00, 0xf0, 0x0f, 0x00, + 0xf0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x0f, 0x00, 0xf0, 0x0f, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00}; + +static unsigned char restore_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xf0, 0x0f, 0x00, 0xf0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x0f, 0x00, + 0xf0, 0x0f, 0x00, 0xe0, 0x07, 0x00, 0xc0, 0x03, 0x00, 0x80, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00}; + +static unsigned char close_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x30, 0x0c, 0x00, 0x70, 0x0e, 0x00, 0xe0, 0x07, 0x00, 0xc0, 0x03, 0x00, + 0xc0, 0x03, 0x00, 0xe0, 0x07, 0x00, 0x70, 0x0e, 0x00, 0x30, 0x0c, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00}; + + + +// ------------------------------------------------------------------------------------------ + + + +KeramikHandler *clientHandler = NULL; +bool keramik_initialized = false; + + + +// ------------------------------------------------------------------------------------------- + + + +KeramikHandler::KeramikHandler() + : QObject( NULL, NULL ) +{ + for ( int i = 0; i < NumTiles; i++ ) { + activeTiles[i] = NULL; + inactiveTiles[i] = NULL; + } + + settings_cache = NULL; + + // Create the button deco bitmaps + buttonDecos[ Menu ] = new QBitmap( 17, 17, menu_bits, true ); + buttonDecos[ Sticky ] = new QBitmap( 17, 17, sticky_on_bits, true ); + buttonDecos[ Unsticky ] = new QBitmap( 17, 17, sticky_off_bits, true ); + buttonDecos[ Help ] = new QBitmap( 17, 17, help_bits, true ); + buttonDecos[ Iconify ] = new QBitmap( 17, 17, iconify_bits, true ); + buttonDecos[ Maximize ] = new QBitmap( 17, 17, maximize_bits, true ); + buttonDecos[ Restore ] = new QBitmap( 17, 17, restore_bits, true ); + buttonDecos[ Close ] = new QBitmap( 17, 17, close_bits, true ); + + // Selfmask the bitmaps + for ( int i = 0; i < NumButtonDecos; i++ ) + buttonDecos[i]->setMask( *buttonDecos[i] ); + + // Flip the bitmaps horizontally in right-to-left mode + if ( QApplication::reverseLayout() ) { + for ( int i = 0; i < NumButtonDecos; i++ ) + flip( (QPixmap*)buttonDecos[i] ); + } + + readConfig(); + createPixmaps(); + + keramik_initialized = true; +} + + +KeramikHandler::~KeramikHandler() +{ + keramik_initialized = false; + destroyPixmaps(); + + for ( int i = 0; i < NumButtonDecos; i++ ) + delete buttonDecos[i]; + + if ( settings_cache ) + delete settings_cache; +} + + +void KeramikHandler::createPixmaps() +{ + QColor titleColor = options->color( Options::TitleBar, true ); + QColor buttonColor = options->color( Options::ButtonBg, true ); + + activeTiles[ TitleLeft ] = loadPixmap( "titlebar-active-left", titleColor ); + activeTiles[ TitleCenter ] = loadPixmap( "titlebar-active-center", titleColor ); + activeTiles[ TitleRight ] = loadPixmap( "titlebar-active-right", titleColor ); + + inactiveTiles[ TitleLeft ] = loadPixmap( "titlebar-inactive-left", titleColor ); + inactiveTiles[ TitleCenter ] = loadPixmap( "titlebar-inactive-center", titleColor ); + inactiveTiles[ TitleRight ] = loadPixmap( "titlebar-inactive-right", titleColor ); + + if ( smallCaptionBubbles ) { + activeTiles[ CaptionLeft ] = loadPixmap( "caption-active-small-left", titleColor ); + activeTiles[ CaptionCenter ] = loadPixmap( "caption-active-small-center", titleColor ); + activeTiles[ CaptionRight ] = loadPixmap( "caption-active-small-right", titleColor ); + } else { + activeTiles[ CaptionLeft ] = loadPixmap( "caption-active-large-left", titleColor ); + activeTiles[ CaptionCenter ] = loadPixmap( "caption-active-large-center", titleColor ); + activeTiles[ CaptionRight ] = loadPixmap( "caption-active-large-right", titleColor ); + } + + inactiveTiles[ CaptionLeft ] = loadPixmap( "caption-inactive-left", titleColor ); + inactiveTiles[ CaptionCenter ] = loadPixmap( "caption-inactive-center", titleColor ); + inactiveTiles[ CaptionRight ] = loadPixmap( "caption-inactive-right", titleColor ); + + activeTiles[ GrabBarLeft ] = loadPixmap( "grabbar-active-left", titleColor ); + activeTiles[ GrabBarCenter ] = loadPixmap( "grabbar-active-center", titleColor ); + activeTiles[ GrabBarRight ] = loadPixmap( "grabbar-active-right", titleColor ); + + inactiveTiles[ GrabBarLeft ] = loadPixmap( "grabbar-inactive-left", titleColor ); + inactiveTiles[ GrabBarCenter ] = loadPixmap( "grabbar-inactive-center", titleColor ); + inactiveTiles[ GrabBarRight ] = loadPixmap( "grabbar-inactive-right", titleColor ); + + activeTiles[ BorderLeft ] = loadPixmap( "border-active-left", titleColor ); + activeTiles[ BorderRight ] = loadPixmap( "border-active-right", titleColor ); + + inactiveTiles[ BorderLeft ] = loadPixmap( "border-inactive-left", titleColor ); + inactiveTiles[ BorderRight ] = loadPixmap( "border-inactive-right", titleColor ); + + titleButtonRound = loadPixmap( "titlebutton-round", buttonColor ); + titleButtonSquare = loadPixmap( "titlebutton-square", buttonColor ); + + if ( QApplication::reverseLayout() ) { + + // Fix lighting + flip( activeTiles[CaptionLeft], activeTiles[CaptionRight] ); + flip( inactiveTiles[CaptionLeft], inactiveTiles[CaptionRight] ); + + flip( activeTiles[TitleLeft], activeTiles[TitleRight] ); + flip( inactiveTiles[TitleLeft], inactiveTiles[TitleRight] ); + + flip( activeTiles[BorderLeft], activeTiles[BorderRight] ); + flip( inactiveTiles[BorderLeft], inactiveTiles[BorderRight] ); + + flip( activeTiles[GrabBarLeft], activeTiles[GrabBarRight] ); + flip( inactiveTiles[GrabBarLeft], inactiveTiles[GrabBarRight] ); + + flip( titleButtonRound ); + flip( titleButtonSquare ); + } +} + + + +void KeramikHandler::destroyPixmaps() +{ + for ( int i = 0; i < NumTiles; i++ ) { + if ( activeTiles[i] ) { + delete activeTiles[i]; + activeTiles[i] = NULL; + } + + if ( inactiveTiles[i] ) { + delete inactiveTiles[i]; + inactiveTiles[i] = NULL; + } + } + + delete titleButtonRound; + delete titleButtonSquare; +} + + +void KeramikHandler::flip( QPixmap *&pix1, QPixmap *&pix2 ) +{ + // Flip the pixmaps horizontally + QPixmap *tmp = new QPixmap( pix1->xForm( QWMatrix(-1,0,0,1,pix1->width(),0) ) ); + + delete pix1; + pix1 = new QPixmap( pix2->xForm( QWMatrix(-1,0,0,1,pix2->width(),0) ) ); + + delete pix2; + pix2 = tmp; +} + + +void KeramikHandler::flip( QPixmap *&pix ) +{ + // Flip the pixmap horizontally + QPixmap *tmp = new QPixmap( pix->xForm( QWMatrix(-1,0,0,1,pix->width(),0) ) ); + delete pix; + pix = tmp; +} + + +void KeramikHandler::readConfig() +{ + KConfig *c = new KConfig( "kwinkeramikrc" ); + + c->setGroup( "General" ); + showIcons = c->readBoolEntry( "ShowAppIcons", true ); + shadowedText = c->readBoolEntry( "UseShadowedText", true ); + smallCaptionBubbles = c->readBoolEntry( "SmallCaptionBubbles", false ); + + if ( ! settings_cache ) { + settings_cache = new SettingsCache; + + if ( options->customButtonPositions() ) { + settings_cache->buttonsLeft = options->titleButtonsLeft(); + settings_cache->buttonsRight = options->titleButtonsRight(); + } else { + settings_cache->buttonsLeft = QString( default_left ); + settings_cache->buttonsRight = QString( default_right ); + } + + settings_cache->titleColor = options->color( Options::TitleBar, true ); + settings_cache->buttonColor = options->color( Options::ButtonBg, true ); + settings_cache->smallCaptionBubbles = smallCaptionBubbles; + } + + delete c; +} + + +QPixmap *KeramikHandler::loadPixmap( const QString &name, const QColor &col ) +{ + if ( recolorPixmaps ) { + QImage img = qembed_findImage( name ).copy(); + //KIconEffect::colorize( img, col, 1.0 ); + recolor( img, col ); + return new QPixmap( img ); + } else + return new QPixmap( qembed_findImage(name) ); +} + + +// This is the recoloring method from the Keramik widget style, +// copyright (c) 2002 Malte Starostik . +// Modified to work with 8bpp images. +void KeramikHandler::recolor( QImage &img, const QColor& color ) +{ + int hue = -1, sat = 0, val = 228; + if ( color.isValid() ) color.hsv( &hue, &sat, &val ); + + register int pixels = (img.depth() > 8 ? img.width() * img.height() : img.numColors()); + register Q_UINT32* data = ( img.depth() > 8 ? reinterpret_cast< Q_UINT32* >( img.bits() ) : + reinterpret_cast< Q_UINT32* >( img.colorTable() ) ); + + for ( int i = 0; i < pixels; i++ ) + { + QColor c( *data ); + int h, s, v; + c.hsv( &h, &s, &v ); + if ( hue >= 0 && h >= 0 ) h = ( h + 114 + hue ) % 360; + if ( s ) s += sat / 2; + c.setHsv( h, QMIN( s, 255 ), QMIN( v * val / 228, 255 ) ); + *data = ( c.rgb() & RGB_MASK ) | ( *data & ~RGB_MASK ); + data++; + } +} + + +void KeramikHandler::reset() +{ + QString buttonsLeft, buttonsRight; + + keramik_initialized = false; + + bool needHardReset = false; + bool pixmapsInvalid = false; + + // Re-read the config file + readConfig(); + + // Check if the color scheme has changed + if ( settings_cache->titleColor != options->color(Options::TitleBar, true) || + settings_cache->buttonColor != options->color(Options::ButtonBg, true) ) { + pixmapsInvalid = true; + } + + // Check if the caption bubble size has changed + if ( settings_cache->smallCaptionBubbles != smallCaptionBubbles ) { + pixmapsInvalid = true; + needHardReset = true; + } + + // Check if button positions have changed + if ( options->customButtonPositions() ) { + buttonsLeft = options->titleButtonsLeft(); + buttonsRight = options->titleButtonsRight(); + } else { + buttonsLeft = QString( default_left ); + buttonsRight = QString( default_right ); + } + + if ( (settings_cache->buttonsLeft != buttonsLeft) || + (settings_cache->buttonsRight != buttonsRight) ) { + needHardReset = true; + } + + // Update our config cache + settings_cache->titleColor = options->color( Options::TitleBar, true ); + settings_cache->buttonColor = options->color( Options::ButtonBg, true ); + settings_cache->smallCaptionBubbles = smallCaptionBubbles; + settings_cache->buttonsLeft = buttonsLeft; + settings_cache->buttonsRight = buttonsRight; + + + // Do we need to recreate the pixmaps? + if ( pixmapsInvalid ) { + destroyPixmaps(); + createPixmaps(); + } + + keramik_initialized = true; + + // Do we need to "hit the wooden hammer" ? + if ( needHardReset ) + Workspace::self()->slotResetAllClients(); + else + emit softReset(); +} + + +const QPixmap *KeramikHandler::tile( TilePixmap tilePix, bool active ) const +{ + return ( active ? activeTiles[ tilePix ] : inactiveTiles[ tilePix ] ); +} + + + +// ------------------------------------------------------------------------------------------- + + + +KeramikButton::KeramikButton( Client* parent, const char *name, Button btn, const QString &tip ) + : KWinButton( parent, name, tip ), + client( parent ), button( btn ), hover( false ), lastbutton( 0 ) +{ + setBackgroundMode( NoBackground ); + setFixedSize( 17, 17 ); + + setToggleButton( (button == StickyButton) ); +} + + +KeramikButton::~KeramikButton() +{ + // Empty. +} + + +void KeramikButton::enterEvent( QEvent *e ) +{ + KWinButton::enterEvent( e ); + + hover = true; + repaint( false ); +} + + +void KeramikButton::leaveEvent( QEvent *e ) +{ + KWinButton::leaveEvent( e ); + + hover = false; + repaint( false ); +} + + +void KeramikButton::mousePressEvent( QMouseEvent *e ) +{ + lastbutton = e->button(); + QMouseEvent me( e->type(), e->pos(), e->globalPos(), LeftButton, e->state() ); + KWinButton::mousePressEvent( &me ); +} + + +void KeramikButton::mouseReleaseEvent( QMouseEvent *e ) +{ + lastbutton = e->button(); + QMouseEvent me( e->type(), e->pos(), e->globalPos(), LeftButton, e->state() ); + KWinButton::mouseReleaseEvent( &me ); +} + + +void KeramikButton::drawButton( QPainter *p ) +{ + const QPixmap *pix; + const QBitmap *deco; + + // Get the bevel from the client handler + if ( button == MenuButton || button == StickyButton || button == HelpButton ) + pix = clientHandler->roundButton(); + else + pix = clientHandler->squareButton(); + + // Draw the button background + p->drawPixmap( 0, 0, *clientHandler->tile( TitleCenter, client->isActive() ), + 0, 5, 17, 17 ); + + if ( isDown() ) { + // Pressed + p->drawPixmap( QPoint(), *pix, QStyle::visualRect( QRect(34, 0, 17, 17), pix->rect() ) ); + p->translate( QApplication::reverseLayout() ? -1 : 1, 1 ); + } else if ( hover ) + // Mouse over + p->drawPixmap( QPoint(), *pix, QStyle::visualRect( QRect(17, 0, 17, 17), pix->rect() ) ); + else + // Normal + p->drawPixmap( QPoint(), *pix, QStyle::visualRect( QRect(0, 0, 17, 17), pix->rect() ) ); + + + // Draw the button deco on the bevel + switch ( button ) { + case MenuButton: + deco = clientHandler->buttonDeco( Menu ); + break; + + case StickyButton: + deco = clientHandler->buttonDeco( isOn() ? Unsticky : Sticky ); + break; + + case HelpButton: + deco = clientHandler->buttonDeco( Help ); + break; + + case MinButton: + deco = clientHandler->buttonDeco( Iconify ); + break; + + case MaxButton: + deco = clientHandler->buttonDeco( client->isMaximized() ? Restore : Maximize ); + break; + + case CloseButton: + deco = clientHandler->buttonDeco( Close ); + break; + + default: + deco = NULL; + } + + p->setPen( Qt::black ); // ### hardcoded color + p->drawPixmap( 0, 0, *deco ); +} + + + +// ------------------------------------------------------------------------------------------ + + + +KeramikClient::KeramikClient( Workspace *ws, WId w, QWidget *parent, const char *name ) + : Client( ws, w, parent, name, WStaticContents | WResizeNoErase | WRepaintNoErase ), + activeIcon( NULL ), inactiveIcon( NULL ), captionBufferDirty( true ), maskDirty( true ) +{ + // Minimize flicker + setBackgroundMode( NoBackground ); + + for ( int i=0; i < NumButtons; i++ ) + button[i] = NULL; + + QVBoxLayout *mainLayout = new QVBoxLayout( this ); + QHBoxLayout *titleLayout = new QHBoxLayout(); + QHBoxLayout *windowLayout = new QHBoxLayout(); + + // Button margin + int topMargin = clientHandler->titleBarHeight() + - clientHandler->titleBarBaseHeight() + 1; + mainLayout->addSpacing( topMargin ); + + mainLayout->addLayout( titleLayout ); // Titlebar + mainLayout->addLayout( windowLayout, 1 ); // Left border + window + right border + mainLayout->addSpacing( 8 ); // Bottom grab bar + shadow + + titleLayout->setSpacing( buttonSpacing ); + + titleLayout->addSpacing( buttonMargin ); // Left button margin + addButtons( titleLayout, options->customButtonPositions() ? + options->titleButtonsLeft() : QString(default_left) ); + + titlebar = new QSpacerItem( 10, clientHandler->titleBarHeight() - topMargin, + QSizePolicy::Expanding, QSizePolicy::Minimum ); + titleLayout->addItem( titlebar ); + + titleLayout->addSpacing( buttonSpacing ); + addButtons( titleLayout, options->customButtonPositions() ? + options->titleButtonsRight() : QString(default_right) ); + titleLayout->addSpacing( buttonMargin ); // Right button margin + + windowLayout->addSpacing( 3 ); // Left border + windowLayout->addWidget( windowWrapper() ); // Window wrapper + windowLayout->addSpacing( 4 ); // Right border + + connect( clientHandler, SIGNAL(softReset()), SLOT(reset()) ); +} + + +KeramikClient::~KeramikClient() +{ + if ( activeIcon ) + delete activeIcon; + + if ( inactiveIcon ) + delete inactiveIcon; + + activeIcon = inactiveIcon = NULL; +} + + +void KeramikClient::reset() +{ + calculateCaptionRect(); + + captionBufferDirty = maskDirty = true; + + if ( isVisible() ) + repaint( false ); +} + +void KeramikClient::addButtons( QHBoxLayout *layout, const QString &s ) +{ + for ( uint i=0; i < s.length(); i++ ) + { + switch ( s[i].latin1() ) + { + // Menu button + case 'M' : + if ( !button[MenuButton] ) { + button[MenuButton] = new KeramikButton( this, "menu", MenuButton, i18n("Menu") ); + connect( button[MenuButton], SIGNAL( pressed() ), SLOT( menuButtonPressed() ) ); + layout->addWidget( button[MenuButton] ); + } + break; + + // Sticky button + case 'S' : + if ( !button[StickyButton] ) { + button[StickyButton] = new KeramikButton( this, "sticky", StickyButton, i18n("Sticky") ); + connect( button[StickyButton], SIGNAL( clicked() ), SLOT( toggleSticky() ) ); + layout->addWidget( button[StickyButton] ); + } + break; + + // Help button + case 'H' : + if ( !button[HelpButton] && providesContextHelp() ) { + button[HelpButton] = new KeramikButton( this, "help", HelpButton, i18n("Help") ); + connect( button[HelpButton], SIGNAL( clicked() ), SLOT( contextHelp() ) ); + layout->addWidget( button[HelpButton] ); + } + break; + + // Minimize button + case 'I' : + if ( !button[MinButton] && isMinimizable() ) { + button[MinButton] = new KeramikButton( this, "iconify", MinButton, i18n("Minimize") ); + connect( button[MinButton], SIGNAL( clicked() ), SLOT( iconify() ) ); + layout->addWidget( button[MinButton] ); + } + break; + + // Maximize button + case 'A' : + if ( !button[MaxButton] && isMaximizable() ) { + button[MaxButton] = new KeramikButton( this, "maximize", MaxButton, i18n("Maximize") ); + connect( button[MaxButton], SIGNAL( clicked() ), SLOT( slotMaximize() ) ); + layout->addWidget( button[MaxButton] ); + } + break; + + // Close button + case 'X' : + if ( !button[CloseButton] ) { + button[CloseButton] = new KeramikButton( this, "close", CloseButton, i18n("Close") ); + connect( button[CloseButton], SIGNAL( clicked() ), SLOT( closeWindow() ) ); + layout->addWidget( button[CloseButton] ); + } + break; + + // Additional spacing + case '_' : + layout->addSpacing( buttonSpacing ); + break; + } + } +} + + +void KeramikClient::updateMask() +{ + if ( !keramik_initialized ) + return; + + // This code is written in Xlib to work around a bug somewhere in the + // Qt masking/bitmap code. + + Display *dpy = QPaintDevice::x11AppDisplay(); + int screen = QPaintDevice::x11Screen(); + + Pixmap pix = XCreatePixmap( dpy, handle(), width(), height(), 1 ); + + const QBitmap *tile; + + GC gc = XCreateGC( dpy, pix, 0, 0 ); + XSetFillStyle( dpy, gc, FillSolid ); + + // Clear the titlebar area + XSetForeground( dpy, gc, BlackPixel(dpy, screen) ); + XFillRectangle( dpy, pix, gc, 0, 0, width(), clientHandler->titleBarHeight() ); + + int titleBaseY = clientHandler->titleBarHeight() + - clientHandler->titleBarBaseHeight(); + + // Set the background and foreground colors for XCopyArea() + XSetForeground( dpy, gc, WhitePixel(dpy, screen) ); + XSetBackground( dpy, gc, BlackPixel(dpy, screen) ); + + // Top left corner + tile = clientHandler->tile( TitleLeft, isActive() )->mask(); + XCopyArea( dpy, tile->handle(), pix, gc, 0, 0, tile->width(), tile->height(), 0, titleBaseY ); + + // Space between top left & top right corners + XFillRectangle( dpy, pix, gc, 15, titleBaseY, width() - 30, clientHandler->titleBarBaseHeight() ); + + // Caption bubble + if ( isActive() && titleBaseY && captionRect.width() >= 28 ) { + // Left caption corner + tile = clientHandler->tile( CaptionLeft, true )->mask(); + XCopyArea( dpy, tile->handle(), pix, gc, 0, 0, tile->width(), tile->height(), + captionRect.left(), 0 ); + + // Caption center + XFillRectangle( dpy, pix, gc, captionRect.left() + 14, 0, captionRect.width() - 28, + clientHandler->titleBarHeight() ); + + // Right caption corner + tile = clientHandler->tile( CaptionRight, true )->mask(); + XCopyArea( dpy, tile->handle(), pix, gc, 0, 0, tile->width(), tile->height(), + captionRect.left() + captionRect.width() - 14, 0 ); + } + + // Top right corner + tile = clientHandler->tile( TitleRight, true )->mask(); + XCopyArea( dpy, tile->handle(), pix, gc, 0, 0, tile->width(), tile->height(), + width() - 15, titleBaseY ); + + // Bottom part of the window + XFillRectangle( dpy, pix, gc, 0, clientHandler->titleBarHeight(), width(), + height() - clientHandler->titleBarHeight() ); + + XFreeGC( dpy, gc ); + + // Set the mask + XShapeCombineMask( dpy, handle(), ShapeBounding, 0, 0, pix, ShapeSet ); + XFreePixmap( dpy, pix ); + + maskDirty = false; +} + + +void KeramikClient::updateCaptionBuffer() +{ + if ( !keramik_initialized ) + return; + + bool active = isActive(); + QPixmap *icon = NULL; + + if ( captionBuffer.size() != captionRect.size() ) + captionBuffer.resize( captionRect.size() ); + + QPainter p( &captionBuffer ); + + // Draw the caption bubble + p.drawPixmap( 0, 0, *clientHandler->tile( CaptionLeft, active ) ); + p.drawTiledPixmap( 14, 0, captionRect.width() - 28, clientHandler->titleBarHeight(), + *clientHandler->tile( CaptionCenter, active ) ); + p.drawPixmap( captionRect.width() - 14, 0, *clientHandler->tile( CaptionRight, active ) ); + + if ( clientHandler->showAppIcons() ) + { + if ( active ) { + if ( ! activeIcon ) { + if ( miniIcon().width() > 16 ) { + QImage img = miniIcon().convertToImage(); + img.smoothScale( 16, 16 ); + activeIcon = new QPixmap( img ); + } else + activeIcon = new QPixmap( miniIcon() ); + } + icon = activeIcon; + } else { + if ( ! inactiveIcon ) { + QImage img = miniIcon().convertToImage(); + + if ( img.width() > 16 ) + img.smoothScale( 16, 16 ); + + KIconEffect::semiTransparent( img ); + inactiveIcon = new QPixmap( img ); + } + icon = inactiveIcon; + } + } + + p.setFont( options->font( active ) ); + int tw = p.fontMetrics().width( caption() ) + + ( clientHandler->showAppIcons() ? 16 + iconSpacing : 0 ); + + int xpos = QMAX( (captionRect.width() - tw) / 3, 10 ); + QRect tr = QStyle::visualRect( QRect(xpos, 1, captionRect.width() - xpos - 10, + captionRect.height() - 4), captionBuffer.rect() ); + + //p.setPen( Qt::red ); // debug + //p.drawRect( tr ); // debug + + // Application icon + if ( clientHandler->showAppIcons() ) + { + if ( tr.width() > 14 ) { + QRect iconRect = QStyle::visualRect( QRect(tr.x(), + 1 + (captionRect.height() - 4 - 16) / 2, 16, 16), tr ); + QRect r( icon->rect() ); + r.moveCenter( iconRect.center() ); + p.drawPixmap( r, *icon ); + } + + //p.drawRect( r ); // debug + + if ( QApplication::reverseLayout() ) + tr.addCoords( 0, 0, -(16 + iconSpacing), 0 ); + else + tr.addCoords( (16 + iconSpacing), 0, 0, 0 ); + } + + // Draw the titlebar text + int flags = AlignVCenter | SingleLine; + flags |= ( QApplication::reverseLayout() ? AlignRight : AlignLeft ); + + if ( clientHandler->useShadowedText() ) + { + p.translate( QApplication::reverseLayout() ? -1 : 1, 1 ); + p.setPen( active ? QColor(65,153,238).dark() : + QColor(180,210,246).dark() ); // ### hardcoded color + p.drawText( tr, flags, caption() ); + p.translate( QApplication::reverseLayout() ? 1 : -1, -1 ); + } + + p.setPen( Qt::white ); // ### hardcoded color + //p.setPen( options->color( Options::Font, active ) ); + p.drawText( tr, flags, caption() ); + + captionBufferDirty = false; +} + + +void KeramikClient::calculateCaptionRect() +{ + QFontMetrics fm( options->font(isActive()) ); + int cw = fm.width( caption() ) + 95; + int titleBaseY = clientHandler->titleBarHeight() - clientHandler->titleBarBaseHeight(); + + if ( clientHandler->showAppIcons() ) + cw += 16 + 4; // icon width + space + + cw = QMIN( cw, titlebar->geometry().width() ); + captionRect = QStyle::visualRect( QRect(titlebar->geometry().x(), isActive() ? 0 : titleBaseY, + cw, clientHandler->titleBarHeight() - ( isActive() ? 0 : titleBaseY )), + titlebar->geometry() ); +} + + +void KeramikClient::captionChange( const QString& ) +{ + QRect r( captionRect ); + calculateCaptionRect(); + + if ( r.size() != captionRect.size() ) + maskDirty = true; + + captionBufferDirty = true; + + repaint( r | captionRect, false ); +} + + +void KeramikClient::iconChange() +{ + if ( clientHandler->showAppIcons() ) { + + // Force updateCaptionBuffer() to recreate the cached icons + if ( activeIcon ) + delete activeIcon; + + if ( inactiveIcon ) + delete inactiveIcon; + + activeIcon = inactiveIcon = NULL; + + captionBufferDirty = true; + repaint( captionRect, false ); + } +} + + +void KeramikClient::activeChange( bool ) +{ + // Note: It's assumed that the same font will always be used for both active + // and inactive windows, since the fonts kcm hasn't supported setting + // different fonts for different window states for some time. + if ( clientHandler->titleBarHeight() != clientHandler->titleBarBaseHeight() ) { + calculateCaptionRect(); + maskDirty = true; + } + + captionBufferDirty = true; + + repaint( false ); + + for ( int i=0; i < NumButtons; i++ ) + if ( button[i] ) button[i]->repaint(); +} + + +void KeramikClient::maximizeChange( bool maximized ) +{ + if ( button[ MaxButton ] ) { + button[ MaxButton ]->setTipText( maximized ? i18n("Restore") : i18n("Maximize") ); + button[ MaxButton ]->repaint(); + } +} + + +void KeramikClient::stickyChange( bool on ) +{ + if ( button[ StickyButton ] ) + button[ StickyButton ]->setTipText( on ? i18n("Un-Sticky") : i18n("Sticky") ); +} + + +void KeramikClient::menuButtonPressed() +{ + static QTime *t = NULL; + static KeramikClient *tc = NULL; + + if ( !t ) + t = new QTime; + + if ( tc != this || t->elapsed() > QApplication::doubleClickInterval() ) + { + QPoint menuPoint ( button[MenuButton]->rect().bottomLeft().x() - 6, + button[MenuButton]->rect().bottomLeft().y() + 3 ); + workspace()->clientPopup( this )->popup( button[MenuButton]->mapToGlobal( menuPoint ) ); + + // Post a fake mouse button release event to the menu button + // to ensure that it's redrawn in its unpressed state + QApplication::postEvent( button[MenuButton], new QMouseEvent( QEvent::MouseButtonRelease, + QPoint(0,0), Qt::LeftButton, Qt::LeftButton ) ); + } else + closeWindow(); + + + t->start(); + tc = this; +} + + +void KeramikClient::slotMaximize() +{ + if ( button[ MaxButton ]->lastButton() == MidButton ) + maximize( MaximizeVertical ); + + else if ( button[ MaxButton ]->lastButton() == RightButton ) + maximize( MaximizeHorizontal ); + + else + maximize(); +} + + +void KeramikClient::paintEvent( QPaintEvent *e ) +{ + if ( !keramik_initialized ) + return; + + QPainter p( this ); + QRect updateRect( e->rect() ); + bool active = isActive(); + int titleBaseY = clientHandler->titleBarHeight() + - clientHandler->titleBarBaseHeight(); + + if ( maskDirty ) + updateMask(); + + // Titlebar + // ----------------------------------------------------------------------- + if ( updateRect.y() < clientHandler->titleBarHeight() ) + { + if ( captionBufferDirty ) + updateCaptionBuffer(); + + // Top left corner + if ( updateRect.x() < 15 ) + p.drawPixmap( 0, titleBaseY, *clientHandler->tile( TitleLeft, active ) ); + + // Space between the top left corner and the caption bubble + if ( updateRect.x() < captionRect.left() && updateRect.right() > 15 ) { + int x1 = QMAX( 15, updateRect.x() ); + int x2 = QMIN( captionRect.left(), updateRect.right() ); + + p.drawTiledPixmap( x1, titleBaseY, x2 - x1 + 1, clientHandler->titleBarBaseHeight(), + *clientHandler->tile( TitleCenter, active ) ); + } + + // Caption bubble + if ( updateRect.x() < captionRect.right() && updateRect.right() > 15 ) { + if ( captionRect.width() >= 28 ) + p.drawPixmap( captionRect.left(), active ? 0 : titleBaseY, captionBuffer ); + else + p.drawTiledPixmap( captionRect.x(), titleBaseY, captionRect.width(), + clientHandler->titleBarBaseHeight(), + *clientHandler->tile( TitleCenter, active ) ); + } + + // Space between the caption bubble and the top right corner + if ( updateRect.right() > captionRect.right() && updateRect.x() < width() - 15 ) { + int x1 = QMAX( captionRect.right() + 1, updateRect.x() ); + int x2 = QMIN( width() - 15, updateRect.right() ); + + p.drawTiledPixmap( x1, titleBaseY, x2 - x1 + 1, clientHandler->titleBarBaseHeight(), + *clientHandler->tile( TitleCenter, active ) ); + } + + // Top right corner + if ( updateRect.right() > width() - 15 ) + p.drawPixmap( width() - 15, titleBaseY, *clientHandler->tile( TitleRight, active ) ); + } + + // Borders + // ----------------------------------------------------------------------- + if ( updateRect.bottom() > clientHandler->titleBarHeight() + && updateRect.top() < height() - 8 ) + { + int top = QMAX( clientHandler->titleBarHeight(), updateRect.top() ); + int bottom = QMIN( updateRect.bottom(), height() - 8 ); + + // Left border + if ( updateRect.x() <= 4 ) { + const QPixmap *tile = clientHandler->tile( BorderLeft, active ); + p.drawTiledPixmap( 0, top, tile->width(), bottom - top + 1, *tile ); + } + + // Right border + if ( e->rect().right() >= width()-5 ) { + const QPixmap *tile = clientHandler->tile( BorderRight, active ); + p.drawTiledPixmap( width() - tile->width(), top, + tile->width(), bottom - top + 1, *tile ); + } + } + + // Bottom grab bar + // ----------------------------------------------------------------------- + if ( updateRect.bottom() > height() - 8 ) { + // Bottom left corner + if ( updateRect.x() < 9 ) + p.drawPixmap( 0, height() - 8, *clientHandler->tile( GrabBarLeft, active ) ); + + // Space between the left corner and the right corner + if ( updateRect.x() < width() - 9 ) { + int x1 = QMAX( 9, updateRect.x() ); + int x2 = QMIN( width() - 9, updateRect.right() ); + + p.drawTiledPixmap( x1, height() - 8, x2 - x1 + 1, 8, + *clientHandler->tile( GrabBarCenter, active ) ); + } + + // Bottom right corner + if ( updateRect.right() > width() - 9 ) + p.drawPixmap( width()-9, height()-8, *clientHandler->tile( GrabBarRight, active ) ); + } +} + + +void KeramikClient::resizeEvent( QResizeEvent *e ) +{ + Client::resizeEvent( e ); + + QRect r( captionRect ); + calculateCaptionRect(); + + if ( r.size() != captionRect.size() ) + captionBufferDirty = true; + + maskDirty = true; + + if ( isVisible() ) + { + update( rect() ); + int dx = 0; + int dy = 0; + + if ( e->oldSize().width() != width() ) + dx = 32 + QABS( e->oldSize().width() - width() ); + + if ( e->oldSize().height() != height() ) + dy = 8 + QABS( e->oldSize().height() - height() ); + + if ( dy ) + update( 0, height() - dy + 1, width(), dy ); + + if ( dx ) + { + update( width() - dx + 1, 0, dx, height() ); + update( QRect( QPoint(4,4), titlebar->geometry().bottomLeft() - QPoint(1,0) ) ); + update( QRect( titlebar->geometry().topRight(), QPoint( width() - 4, titlebar->geometry().bottom() ) ) ); + // Titlebar needs no paint event + QApplication::postEvent( this, new QPaintEvent( titlebar->geometry(), FALSE ) ); + } + } +} + + +void KeramikClient::mouseDoubleClickEvent( QMouseEvent *e ) +{ + if ( QRect( 0, 0, width(), clientHandler->titleBarHeight() ).contains( e->pos() ) ) + workspace()->performWindowOperation( this, options->operationTitlebarDblClick() ); +} + + +Client::MousePosition KeramikClient::mousePosition( const QPoint &p ) const +{ + int titleBaseY = clientHandler->titleBarHeight() + - clientHandler->titleBarBaseHeight(); + + int leftBorder = clientHandler->tile( BorderLeft, true )->width(); + int rightBorder = width() - clientHandler->tile( BorderRight, true )->width() - 1; + + + // Test corners & sides + if ( p.x() < leftBorder + 11 ) { + if ( p.y() < titleBaseY + 11 ) { + if ( (p.y() < titleBaseY + 3 && p.x() < leftBorder + 11) || + (p.y() < titleBaseY + 6 && p.x() < leftBorder + 6) || + (p.y() < titleBaseY + 11 && p.x() < leftBorder + 3) ) + return TopLeft; + else + return Center; + } + + if ( p.y() > height()-23 ) + return BottomLeft; + + if ( p.x() > leftBorder ) + return Center; + + return Left; + } + + if ( p.x() > rightBorder - 11 ) { + if ( p.y() < titleBaseY + 11 ) { + if ( (p.y() < titleBaseY + 3 && p.x() > rightBorder - 11) || + (p.y() < titleBaseY + 6 && p.x() > rightBorder - 6) || + (p.y() < titleBaseY + 11 && p.x() > rightBorder - 3) ) + return TopRight; + else + return Center; + } + + if ( p.y() > height()-23 ) + return BottomRight; + + if ( p.x() < rightBorder ) + return Center; + + return Right; + } + + // Test top & bottom + if ( p.y() <= 3 ) + return Top; + + if ( (p.x() < captionRect.left() || p.x() > captionRect.right()) + && p.y() < titleBaseY+3 ) + return Top; + + if ( p.y() > height() - 8 ) + return Bottom; + + return Center; +} + + + +// ------------------------------------------------------------------------------------------- + + + +extern "C" +{ + Client *allocate( Workspace *ws, WId w ) + { + return new KeramikClient( ws, w ); + } + + void init() + { + clientHandler = new KeramikHandler(); + } + + void reset() + { + clientHandler->reset(); + } + + void deinit() + { + delete clientHandler; + } +} + + + +// vim: set noet ts=4 sw=4: diff --git a/clients/keramik/keramik.desktop b/clients/keramik/keramik.desktop new file mode 100644 index 0000000000..6764ea73de --- /dev/null +++ b/clients/keramik/keramik.desktop @@ -0,0 +1,4 @@ +[Desktop Entry] +Name=Keramik +X-KDE-Library=kwin_keramik + diff --git a/clients/keramik/keramik.h b/clients/keramik/keramik.h new file mode 100644 index 0000000000..debed3eea6 --- /dev/null +++ b/clients/keramik/keramik.h @@ -0,0 +1,177 @@ +/* + * $Id$ + * + * Keramik KWin client (version 0.6) + * + * Copyright (C) 2002 Fredrik Höglund + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the license, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + + +#ifndef __KERAMIK_H +#define __KERAMIK_H + +#include + +#include "../../client.h" +#include "../../kwinbutton.h" + +static QDict< QImage > imageDict; + +#include "tiles.h" + + +class QSpacerItem; + +namespace KWinInternal { + + enum TilePixmap { TitleLeft=0, TitleCenter, TitleRight, + CaptionLeft, CaptionCenter, CaptionRight, GrabBarLeft, + BorderLeft, BorderRight, GrabBarCenter, GrabBarRight, + NumTiles }; + + enum Button { MenuButton=0, StickyButton, HelpButton, MinButton, + MaxButton, CloseButton, NumButtons }; + + enum ButtonDeco { Menu=0, Sticky, Unsticky, Help, Iconify, Maximize, + Restore, Close, NumButtonDecos }; + + struct SettingsCache + { + QColor titleColor; + QColor buttonColor; + QString buttonsLeft; + QString buttonsRight; + bool smallCaptionBubbles:1; + }; + + class KeramikHandler : public QObject { + + Q_OBJECT + + public: + KeramikHandler(); + ~KeramikHandler(); + + void reset(); + + bool showAppIcons() const { return showIcons; } + bool useShadowedText() const { return shadowedText; } + int titleBarHeight() const { return activeTiles[CaptionCenter]->height(); } + int titleBarBaseHeight() const { return activeTiles[TitleCenter]->height(); } + + const QPixmap *roundButton() const { return titleButtonRound; } + const QPixmap *squareButton() const { return titleButtonSquare; } + const QBitmap *buttonDeco( ButtonDeco deco ) const + { return buttonDecos[ deco ]; } + + inline const QPixmap *tile( TilePixmap tilePix, bool active ) const; + + signals: + void softReset(); + + private: + void readConfig(); + void createPixmaps(); + void destroyPixmaps(); + + void flip( QPixmap *&, QPixmap *& ); + void flip( QPixmap *& ); + void recolor( QImage &, const QColor & ); + QPixmap *loadPixmap( const QString &, const QColor & ); + + private: + bool showIcons, shadowedText, smallCaptionBubbles; + SettingsCache *settings_cache; + + QPixmap *activeTiles[ NumTiles ]; + QPixmap *inactiveTiles[ NumTiles ]; + QBitmap *buttonDecos[ NumButtonDecos ]; + + QPixmap *titleButtonRound, *titleButtonSquare; + + }; // class KeramikHandler + + + class KeramikButton : public KWinInternal::KWinButton + { + public: + KeramikButton( Client *, const char *, Button, const QString & ); + ~KeramikButton(); + + int lastButton() const { return lastbutton; } + + private: + void enterEvent( QEvent * ); + void leaveEvent( QEvent * ); + void mousePressEvent( QMouseEvent * ); + void mouseReleaseEvent( QMouseEvent * ); + void drawButton( QPainter * ); + + private: + Client *client; + Button button; + bool hover; + int lastbutton; + }; // class KeramikButton + + + class KeramikClient : public KWinInternal::Client + { + Q_OBJECT + + public: + + KeramikClient( Workspace *, WId, QWidget *parent = 0L, const char *name = 0L ); + ~KeramikClient(); + + private: + void addButtons( QHBoxLayout*, const QString & ); + void updateMask(); + void updateCaptionBuffer(); + void captionChange( const QString& ); + void iconChange(); + void activeChange( bool ); + void maximizeChange( bool ); + void stickyChange( bool ); + void resizeEvent( QResizeEvent *); + void paintEvent( QPaintEvent *); + void mouseDoubleClickEvent( QMouseEvent * ); + MousePosition mousePosition( const QPoint & ) const; + + void calculateCaptionRect(); + + private slots: + void menuButtonPressed(); + void slotMaximize(); + void reset(); + + private: + QSpacerItem *titlebar; + KeramikButton *button[ NumButtons ]; + QRect captionRect; + QPixmap captionBuffer; + QPixmap *activeIcon, *inactiveIcon; + bool captionBufferDirty, maskDirty; + + }; // class KeramikClient + +} // namespace KWinInternal + +#endif // ___KERAMIK_H + +// vim: set noet ts=4 sw=4: diff --git a/clients/keramik/pics/border-active-left.png b/clients/keramik/pics/border-active-left.png new file mode 100644 index 0000000000000000000000000000000000000000..18d35a0cc377548f24576dd143d0b5219fb3f08c GIT binary patch literal 157 zcmeAS@N?(olHy`uVBq!ia0vp^%s_0!2qG6B`1}P(v7|ftIx;Y9?C1WI$O`1M1^9%x z{{R2~?5%H)_pG@H6k$yAc6VXuV3qX%aySb-B8wRqxP?HN@zUM8KR`kD5>H=O_Dd{m vg3O{4cPD%Y3h{cnIEGZrNe)O@V9CN@@tMuhPCuL-D8bgTe~DWM4fQ7S2w literal 0 HcmV?d00001 diff --git a/clients/keramik/pics/border-active-right.png b/clients/keramik/pics/border-active-right.png new file mode 100644 index 0000000000000000000000000000000000000000..c2ca9889041367024cecced50cf19b8c88dde5ae GIT binary patch literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^EI@3;#0(_a_DqTe38XvvIx;Y9?C1WI$O`0h2Ka=y zp1t+$|NsAb@e`GfcK-qjGA4PuyD)UH%6foQ6nI1yGca%qfiUBxyLEqng6t)pzOL+- xScEu)I45^*pAQt`^>lFzshE>2ki5W>h2gpli|@AbLpOjD44$rjF6*2UngI6jDjWa+ literal 0 HcmV?d00001 diff --git a/clients/keramik/pics/border-inactive-left.png b/clients/keramik/pics/border-inactive-left.png new file mode 100644 index 0000000000000000000000000000000000000000..ce421b3d2adfd543e59a7381a506576dc57ea17e GIT binary patch literal 157 zcmeAS@N?(olHy`uVBq!ia0vp^%s_0!2qG6B`1}P(v7|ftIx;Y9?C1WI$O`1M1^9%x z{{R2~?5%H)_pG@H6k$yAc6VXuV3qX%aySb-B8wRqxCKF&u|6e!B2bXM#M9T6{SphC uAh)<3SM_C}5U;0;V@SoEmE02y|esJW{{UaCeE7#souD+sF zby2DEf>Oo#$ZY>`puLPGL4Lsu4$p3+fjCLt?k)@+tg;?J4rhT!WHAE+H$Mn7PWs8b z6e!4E;_2(keu-I(lS7hea!mkGD8kdlF{ENn@0Can_3F~Tkkrw=lxGP zIUy?^m3cx7T~q|URfP0ALzE_;Q03|jS~O{es#Is#Bi)Y^U#L`dIzG}i^zxY`e_+p_ hYrYBp<)5qGdHljwcV_GHWk5q2JYD@<);T3K0RTfRjMD%B literal 0 HcmV?d00001 diff --git a/clients/keramik/pics/caption-active-large-left.png b/clients/keramik/pics/caption-active-large-left.png new file mode 100644 index 0000000000000000000000000000000000000000..09495982250797c8b23d4f9fb1cf20ef7249d972 GIT binary patch literal 731 zcmV<10wn#3P)-sN=?efbyx8;B=lJjT{XCH4B!b_&*YfD``q$|BGKt_JfZn0Z_NUMH>GS;B>iI{N z;vRn7xz+K%*zxT1`l-$FL6YGdeA~9u@3qnG-s$!H{r=+a`lHJ5pU3a7&g-qr=(W%1 z+2rr-@%5L+^_Il*lfmwey62m|;j+r&vB%sei|;3j?k9=tCWq)HgySTE-4H87*Z=?k z0d!JMQvg8b*k%9#00Cl4M??UK1szBL000SaNLh0L01FQQ01FQRlKBIr00007bV*G` z2hsx;2?!&^pQYje008SrL_t(|oK?_QHv?f5h2g!Umr*7J(Sn2sA_PH@!RWmkz4!kA zFMN~v&RCwi_gw9D03Vfq@t0(vps=V|U&)fvGDWhyqS6J!FsiCqQ|p0gnnBjpYY2rJ z7-($L5Dqu9rB$d5vaMYp66s)Pmq0WcV|R~0JWlrdkVueyJ~bo8{sDnxk{t9Ql?rfZ zSRkDq;pmt^CNs{7Nr7y3iqkVW4VGoia&BIOZQBc6Tw3;EMOo$A`bHi$m91^=?C!a+ z?>aankB%M3!Aaif**SS}d4+4w&F$U2`}POz@#*>H^$qXh-GQV@cG8x_Q>G)TdVtdy8Qh8|Ip&}&Exsc<@;Ev`M=)%=kNB-dE5!Mw{?=w)Exc?zqk2$lvusnC_p-_RG}Vvd7)T-19z_?5EH6!_3vM z#M#2x@H&#}o5%FV(A%cK+_=^AHjwDA)AqZ^(X7MRzSr(DjpoPT_^!Olti#&9*6%Nh z()K5W;VXvX;O+acyTzNa$Fa)f zyw>p~g5Q_K@Y>$thnudWyVJGM>ATnRA%Na>uRN z@V(gd_xk?X-Qkp@v51|rnzPEO#NM*c>b27Dw$ty|+~Kad#D0{ii=(=kw9ci%-K@&y zuFdMN&g-|x*r&VDnX$=vn!I(IzI>v|gRInxw&9V!>y^avmc{g!#`Pk3&?0)#B6`vz zeAXj=*(HMDC5GlEiR&kd?k9`y{L;#2d9Y_EG z010qNS#tmY3l0DP3l0H5zTrUt000McNliru(ggtl4+H!y*wX+20S-w-K~#90RnTQi zgJA%L;dAV%vt}0-wip-~7^uU*z{0}B#BQ10-8H*r$6s{yKI--D+#e69g literal 0 HcmV?d00001 diff --git a/clients/keramik/pics/caption-active-small-center.png b/clients/keramik/pics/caption-active-small-center.png new file mode 100644 index 0000000000000000000000000000000000000000..457c1d7be63c13852e0f6552f2abc57146641915 GIT binary patch literal 300 zcmeAS@N?(olHy`uVBq!ia0vp^MnEjZ!3-o1$^E|pq*&4&eH|GXHuiJ>Nn{1`y#stg zT>pbX%BKHG8~(+w`x~?7cjT&Hq04^+F8SuW@QdfXPp-2+I81+QGv&4UgqOy>&-J^W zXth65Yk8pDcwfH$u1w9Hvh^>IT)eMTaem5|8O}gs8B2ovf*Bm1-ADs*lDyqr7&=&G zJ%Aj}0*}aI1_o{+5N5n|x9$&6kiEpy*OmPe3k#pD)Wd*z^*|vnPZ!6KiaB$y9A|7$ zU^s9#A(dYft>HYfs|EALYT&(-<_WsP}{aLE|&*uHp=>2N4 z`BkU*%jEsw@BYT&{86O#%;Wm)_5F^+_)Veo%HsO@`~G06^huub{{R0;o$y7Q@V?yp zK$q>r-u6eD>^zj~!rb=q_x)q2?l+L>z}xlW@A{j^^D~X-uhjX&-}~L{`!kH?FN);7 z*z@o8{ClZsm=01lHweE+_uy2wbAX~>Gk~m{^IWXqss7~$M3Js>#fY_ zwa@3-L;#2d9Y_EG010qNS#tmY3labT3lag+-G2N4000Mc zNliru(gXw!APSZb#-#uN0O3hQK~#90UC?J!!ax9o;axP?vBi!Eii#Cc6jUrxBG`M2 zz4wCt{~7O+J7@Iy_I}%0@DKb;pR1^thQFk=4CPVejP%YGuwRQCpOw(*=WK*+8 zW(!-}6a<6qG(sH;!r=%zyEH_j-R$Yr5R3J(e?Sv6201jWAs#13ej$-CI69^wnH=Xt zN<%t5$*E}#nam7l=jIhymbJjetODD%mzc{hd$1y`a&3LXg-u~=n>)LE685EoL-Od@ zaU7huPS4KCi_0rqdv0#;?&XsY%Hz}X%j+B7wU5uj*Y^)kbV85sc{UdS0000NSX{hk;1=lxl#`gghe{QdvZF%J$0D;H$>sJe2FP)c3y0)UL+cH<0Pb;rXw<%B;iMGmYmu zk?8pQ{*|e_ti{|fisXB>?$_Pph^4`x!sIH4;x38f;O_gdyTzNa$Fa)fCWPRa#qiqR z;fI^9qr20!(CH(A-*>U=nWwastHG?r-ni86AAj8=g5H_M@Sd-}c$l}1ve%o$?4Zl_ z9DLj)f!%7U=-%x5sIt9=o3EX;%&y4ex6>2&ZWZLtjgxD&FZht>$k|*r@PRZvB`Ow zymgwse4@#NtkjFP;gP=UmBjLv#q^iP^&)xDB6`sxdeS3&)+2t|C4%53hUO-T>nDot zCyVduhRsy~0004WQchC|G?l7hAl=$$+7W?$tlRP zJUuf@&do0@E-hnab#0y8*xcIQ+1=Y$PaYf|9iN<@otsR!xV*Z)xxKr8czjY61dk6T0 zxc&!&^UwdEefID4lfNe({yuvD*TFkK_TK!q^V*j!mp^T|@L|oFx64nyUVQZByhG1t z?SC?D&!b5@AM|az-@WB-$EG{mF1);W^Wn1dKUW@~Jqc(mV@Z%-FoVOh8)+a;lDE4H zLkFv@2av;A;1OBOz`!j4!i;N`_m%<$*-JcqUD+?Ou<)6RAKK%S0TlA^ba4!+nA3ZC zJ7Y5g!vTZklbKpV{_US4zU1cW+Y2r3EaqFG{Hn!jvEB;CQrEiygTe~DWM4flInvp literal 0 HcmV?d00001 diff --git a/clients/keramik/pics/caption-inactive-left.png b/clients/keramik/pics/caption-inactive-left.png new file mode 100644 index 0000000000000000000000000000000000000000..d19f8071c95a099c1fcf256fccee1a09d9927527 GIT binary patch literal 656 zcmV;B0&o3^P)|Nrmz|KRWc+3f$&=l}Ql`uY3(_xu0Y z>;BE={^#@l&E@^e*`|Lyht#ozkL;Q7Ja`1<|->ht`)+4lPT z{Qds^)8+WN*7W)M{Jq)qwA1qU`TMfb@UYPE>-GPv%HqWj{_OMlpu*#ewB7pq`_kg_oWJ6TvfS?S_U!QV^!E4u{{Haw z`p)0*%--+j?D6C2?&Ij|?eFpR_4dZ%|HR<^y4CQ$)9A|C=f~9HrqB7zKfcZY0004W zQchC$Qp00(qQO+^RN z1OyH=JL!KB$^ZZW)=5M`RCt_S&}}=yU;xGOb1;u1WJ6dgqasBfhS5?~n1=}EA>aQ~ z*uCAi>&oxlx&H4CH~|0VP-u9B+UVH$1SW+kQlFj)KoiK=?3{r402yD1z%UGxi%XKI zG?x<+bbW=ZYYHqY$@P?iblPNQLxF9Rn_CL9Su*zr`Mk#M9R-Dg!QG;QQpw`pzJhZ3 zfQLuN5*)`l;pv$K*L7{4UsNLS0v4;6wGirot7|rzEg`I)cSGLZ`M!_)(8J>s*?xXO qC-VCC-W5;wq>ses*LNR31AYNNtT;qkJU{dR0000iFQ`;pOJ&tjz7z<@Vd&;?&*dr^)Nw>G#yt*4o|Qqs8gw@A=Bh%-GxBp2Fv$ z#OS)bzS`a3n!n_~*6!cpFe)~w%@tZ>$JAF!NbMg;pFb|^oz9JjkVs&-SDuv!kVnUwaVYe-u2Gr{)n>N zjJ4gd&FJp*`n|ruu(Gtx(9-1R>F@IO^7Z(^*X+*U@Z9M1`~3dl;o`8fw6V0e%FWQ- z;pOS=@$T~W;NjxK#mA+ot+u`4Fs00DGTPE!Ct=GbNc0004EOGiWihy@); z00009a7bBm000XR000XR0j(pwbpQYW2XskIMF-LZ1P(O|*1ZrX0002(NklE&T5G?FRkeUj_sQnapIcMT3w( zp(fHA=7n&L&CUp`BuR+$iHc@StSlo=7oWhyq-3NRQt3!bM}{GjS=l+r74n#0fI^{& z#U&^e%2-~3N}-C?HK-NpSl@s~p^42-v=~}twzZ?f(8;du9`x$^`Z+K-gkjwXN5{q| zFzGWzPS4EFVcu(Dkz86{SzUvoDC--Wlhd>Fi%ZLucJlh>_U_*0 se(-qk`1Jhp`u6_u`Sq=;Dt`R@0wdu|Q#n{+l>h($07*qoM6N<$f`(U3k9c$ld?{|Let1v@cuR2voqB?NMQuI!gsggAtBZuBPK017F4x;TbZ%t=l-z{yg`$fg>@usxCI*batf jZoLBnUEBss9x^fL?Nz$B^u&*SK;;acu6{1-oD!M<$qPKh literal 0 HcmV?d00001 diff --git a/clients/keramik/pics/grabbar-active-left.png b/clients/keramik/pics/grabbar-active-left.png new file mode 100644 index 0000000000000000000000000000000000000000..ec36c089106cd1d13b7bbea02db9ad45fc6b937e GIT binary patch literal 285 zcmeAS@N?(olHy`uVBq!ia0vp^oIuRM!3-p2gjL&t6id3JuOkD)#(wTUiL5|=NPtg> z>;M1%kKA~3^~u+3Pru%N`Q!TYZG;x7QrLyXMGUz4(bqYu`-*n$MWz z?e4vL>4nJaPxvN<6HIvIzU185>H=O_Dd{69Kvi;y0iU(LiV06jv*Cu zk`odVS{T^a*woU*!pzFb6uO%yPVS!F&3od}!>7ql#03~Ov9z|hx*R>ypi@{_$myx6 e$;L9Fjgi4emFa;|wD~5WQ4F50elF{r5}E*($agsa literal 0 HcmV?d00001 diff --git a/clients/keramik/pics/grabbar-active-right.png b/clients/keramik/pics/grabbar-active-right.png new file mode 100644 index 0000000000000000000000000000000000000000..81276b9e0a08d5ba9edb52ffa542831a18381f99 GIT binary patch literal 284 zcmeAS@N?(olHy`uVBq!ia0vp^oIuRM!3-p2gjL&t6id3JuOkD)#(wTUiL5|=cz{oc z>(Lu;{{R247eDdbgO8{0y+3*T-Lac*FFpEv{=uh{citVk_Uho(mj|xAICk~yDq-icIL^JQx7+ve6Z%|-L*&Wtvmi;-HC^5kKJGUeWwf1 z3dSUFcNc~ZR#^`qhqJ&VvY3H^TL^?1FWs&C0~BO0@$_|Nzr-TMAuL`nclTbPkhQ0a zV@SoEf eW=PCPU|{gv&-kNW^#>Es7zR&QKbLh*2~7ac>UjhJ literal 0 HcmV?d00001 diff --git a/clients/keramik/pics/grabbar-inactive-center.png b/clients/keramik/pics/grabbar-inactive-center.png new file mode 100644 index 0000000000000000000000000000000000000000..ba29b9a59cf0d11e3857c748b0a7a91bc48022fb GIT binary patch literal 192 zcmeAS@N?(olHy`uVBq!ia0vp^MnKHL!VDxmKWy{_QY`6?zK#qG8~eHcB(eheq5(c3 zu5Ukn{rKg_^S7U`-hX-Q;=TX>|64`ZNT;pX4^+UI;M1%-+lV}_T$&jUw?f0_Vd^8Ki_`*`tbSt{bz3nbEr)O_IKY#oA^p*Q(uHHX;?cv2+PcGkme)ay#Bj;`%J%9V?g}cWt z-m{9XN%-g@4YZ3f$=lt9p@UV{1IXbl@Q5sCVBqEhVMd324}q>?U@!6Xb!ETA$|a(w zo7kb23KX*Qba4!+n3J54kif#M#>U2$CKhH^X3*U{xqEi|Z1EG19*YZz2#GOnayfcL rRb}at2A#~zOvy+~OE#7X?Tif3UCdc5XU+g^VPNod^>bP0l+XkKkzRzr literal 0 HcmV?d00001 diff --git a/clients/keramik/pics/grabbar-inactive-right.png b/clients/keramik/pics/grabbar-inactive-right.png new file mode 100644 index 0000000000000000000000000000000000000000..1569a926adaf96cf0fe8141e05d2b874a75d24eb GIT binary patch literal 286 zcmeAS@N?(olHy`uVBq!ia0vp^oIuRM!3-p2gjL&t6id3JuOkD)#(wTUiL5|=cz{oc z>)VfC|NsAQ6)VfBJ$v){>FZAq zU%bEh;N{i3&#v5gdhPzpYY$#sy!G_l^+#u~Jv?^l-tkNKPh5F;;_9R0mmk21sUt;AF(UWwrxpV<2Wb5hT z7*a7OIe~%M%}tFhO)Si;tW2Q0xp8v$Z1y9Mo<0^A5MkQb;_BjZ^oXMlr>AD7q@+N% gAlD3u83_yw-WwVJ8=d`b2sDVn)78&qol`;+01YI3n*aa+ literal 0 HcmV?d00001 diff --git a/clients/keramik/pics/titlebar-active-center.png b/clients/keramik/pics/titlebar-active-center.png new file mode 100644 index 0000000000000000000000000000000000000000..777d99a2a1f4cc13e82b996b617e23f5945c585e GIT binary patch literal 295 zcmeAS@N?(olHy`uVBq!ia0vp^8bBdj$A| zxc&!&6AylzfBO6K%YPT2|2_Zg@98Ih&piHh>d~)#cYYta_wCS~ZwGFFU4P~0-W#9y z-1xlv`lp3wzU{pFaogqh>(9NOe(bAy_xq49%jAG&GL{7S1v5B2yO9RsBze2LFm$lW zdH^|`1s;*b3=G`-Aj~-FC-YLEAbW|YuPgf{78X8Z5#IN^LV!XZo-U3d6?1wo9A|7| zU^sA~qk&ah>D~U7+IRMT_F@-lXMWWo6)60vz-?|o`W4onAGEU^?*^1#VgBl}Hz5B? j*RKU;SH!n2u6w~>z^{{dESmEd&`btTS3j3^P6Hh8Y{KDMz#^3kNI6SRCS;`+AI?zhwKxzzB;;P}Yl`N-k;zTEq>(CoC)?Y`Ob!`$}7-uA`b_r>1!vd`?b z(e1p~^1<8m!rb=5-S)B0>$1-4v(W9p+VsHN^{>?VuFUDL&FZnv?6}nMzS#7>+4Q~G z^R3J2t;_1L&Fi<*@4MIXyx8-r%IK`h=&#J`w$ksq*73a8^P$Z4smSN7%IUY$@VV9T zsmSK4$>^`m>$cPHsK@84$>^`n>zBs$CyVdsv%72n0004WQchCTvtwJWrkf@V{P}F1;(IPU+R+h1}j8?_}|J-|KPSktbPlGQrSB2|hDOaSy zH)SPJA%xu0;5$CJTB|n-&HLs94Q{nNUA4!8`-9=*llrXc!7qHUrj3->Hx~S^eS9iX o_e&2RkG1di@W%+A@WE5QUu#53F>;Y=KRp-{nF?C)am}t z<@@06{Qmy`?e6c>>HgO1{`UI+%F)@;=l#;?{mtb2#^3kC-1Y7C{D_;b(dhlh;P}DX z^S{~i`1}6f=Q#ZR%;WmZ z!`=0~*YUd5@Zs(G?(+CEX`ssD`pM$?!`$_|*73O1@5kNqE?<$z;P}Yl_{ib;xzzBt z)9$v??!Mgn#NPJB-uA`b_ru)wzS;A%(e1O)?84mk!`=45+w{EG^0m?Jvd`?m+x5WO z^s~_Ivd-(V&g-w#`MuclzS#7>+4Q*7@UhP9ug&VN%;~(?^Sjsbx6|*i&Fihp>aEM^ zyw~%(*73H|@2|}2tjg%C%IKlY_PN#Zx6|;f%IT@d=eE=Dug&YK$>^!b=C97{tI6o7 z$LE*E^(Tw(Jw}th00001bW%=J06^y0W&i*H0b)x>L;#2d9Y_EG010qNS#tmY3lRVS z3lRZ-WM7d0000McNliru(gYF+5e2alsCNJW0QpHoK~#90RmfLY!axu};T^02v4^05 zeXZCVpb?EI3W_BbtU(m8#tQy@XR_z$`n}!Dz`=e2{6DU$>YCa*9QC3Vx2M75ZEON) zcDhAqZ3AehR#nyKb8G&NPJn>upsHx0uI?V_?PIJTDFd2|4-Nrf5C0i~(J>ZAS+U8e0NbX1cDg#N)c3udW%?>k{e&+Sp7aw~Xx+bs8mi(z}_x)IRkA z;+!8w&7))L6AASx%ARF2=NFe()YpQQyUE{DTjb6v6ifFH)Q=MCC*j$Av2E&Ck~7S= qcl(3-(^1NQ+2t~IMMC{8!TtfAZ%}@K6Oac00000dj$A| zxc&!&w;#WL|M~0R|Nnpf{`>p)-}m4DfBpXR^Vgs6KYzde`v2>XUthle`uy$Z-FN># ze*N+3>(5VLf1H2*|J|o=&)$4I_UQkz^FNtL`_%9fL-P3;uumfr}xZB!6pWV z0|z=9*ynZJs9(Nq!|!uTn7a-$mb&z=;51dXpBIpRg|*aGcZKw;zN!WDR*1jqjS7^1 ia-8?8>)RFbznD`_={>aRtZM^W!{F)a=d#Wzp$PyvRETx} literal 0 HcmV?d00001 diff --git a/clients/keramik/pics/titlebar-inactive-left.png b/clients/keramik/pics/titlebar-inactive-left.png new file mode 100644 index 0000000000000000000000000000000000000000..85a5aa3b0a234741cda5ea26696c6f37ec8a4c17 GIT binary patch literal 601 zcmV-f0;c_mP)hS06@$mEa{r&#v?(^g6@9FOI^Y-}p`uzO;{r&#`_xu0w^!VZD z?(XvS`uqI){Qc(Z@!;p~_4xYV=I!9;?e6mS_xbzy`uywl|K8>7;^^=5_WAbs`{L;C z?C|yS_4xGn`t|qv-sJ4x+0|H^7Z-h_WAMk_}%2}@bvfG zNO0002kNklbt<3!XU&nh#^o-A6 z_dUOJQ>lb>abHREEB%mpl#OdDDoGPf_mX_N;;la$Dltt9U|RM|Rv|ev2e9*n;%kY# zS$vnI_p$)`gW45UtJbOry56v5N7u9xf^N17ZpLf3bq_#yM9_Y-YXnYDbrA3VfDN6` zA%Y%_=@*-PPXYuz6+wqSon@nWv_RNPI$K2v=s2Y76$=;#y%9lg<6TkSv)jInef#HE nb~*fy!`$ok013nDK{2tjQH5R7CIg3YggL$Um300BdIp3T8<0?UgCL2m}a8(_Hb z^1~1%)2tAoId2eM--bzsrx>1~SQw+cL4>3^lHp*C+}MWK{jdj-af&4y<~{T+xRylTwqaq0C$koCp72 z+ZDAJ4LYDZF0(`tiMLCt?*f22aTlso-cY2N@eM|kKK@snChcU#j{fYJVj)JIwxap9 z^@nuMW!XE2KgfFT>G)jL+28eXf2Hf#NX}BNe?^uD3IYqc%fh6a`J##GFsVda-=NFx z=qy_w{nopd=R5KCesrHk{ku3}ZmX$oF}BLpbY=NY%cm(gv8vj7Z+!Mfh??C4(BM$2 z{pLj0YW*eJna$M5?SG!t4bE(39#kEeIGpgaGB@X4Ms{X6xj8GrH-v<1>!Q7-+bY*BoVxjYmfM3+JC02yJ7jt69uh>f??1({t_%tO n>RZ0%9vXUas$90EL${LY6gytvx6d!{{v2S`n|03On#cbD?dXwm literal 0 HcmV?d00001 diff --git a/clients/keramik/pics/titlebutton-round.png b/clients/keramik/pics/titlebutton-round.png new file mode 100644 index 0000000000000000000000000000000000000000..dd2369af38c76828e5d74d71baf1fe26fb40fe44 GIT binary patch literal 1789 zcmV063P?| zQX)Zx1_HwL%TPg3QUqTIi=y=bLdv9qMrun*+9W1TrfG*zQ>IQQ)+Fu3Cev}6PA1Ld z&dhy3&b{aCeYPLYy_0z*kl^}w&RzfWU%#`~I{OOG^H>}|-2bD!KtHe@*bL-=*MPy_ z|Mu6%SQg9k0jl-p0bn1H1r%U_N#MkqZ0e~M3IC@M9W#CX-`@lDCtatvJDa2#XqtgW zn}{f~AV9#Yz`&me{`lHz#Z2dl&j5Ytq`P5lR|)P$iXXazZI?X#cRy#DFC z8LQTt0CxntCYxFTRs!sP{E0n=twpS^IQi^24#dQ=?h}cwQX|}@03gyP&?#G|l zwOr`p_>E@@mBxOh)P^I*pYK8j6RMPosD(P%Zq!UUe5?i&9eZG#4elk}+Ih`vm@gV``iq-yv;~=F3EXG7Q zQj&BXTt{J|D8A+>loI6fr6)bl6N`oBiq*bUB0(mbBH^ed1`~jZKx@ckQ)IIla)t8u zI?rDOg!xi^PodH{s+8)z8x*M$kCp4e;KlJ93kAvT5AE8kP1NfsfiV%*LS(@LN=Xu~ zBI!DW+MsnrCY8ik@r{EopZ!ip>ri^VXj#1zZWR8#mbX_0FX2DmHtiZvN(<+G!Yi!Hxb2!Nhxt%g`*^a)_^6MaLDDW zyFJfS05kKIeVf*0$z)OldevG;0IpKB!VrLLCQUA1{U-5(;Q7H(ZWStfwTXJ~1&UCK z1+X$-uJ?3j(-;$>jlr}BUYlhFISx@|i6YC!?kwd-@Gy`9$d~JDy0d9O5gNlC>LKCA zvlkh7VADFvjbK|xV`jcW2kd=7*$v#$9 zlc4H{TYwBuFIF2O)`-yB5=II~t~4SgZHAFqbbz9gSkO0g$;*C|dwzspg-4fAS`xy@H!TNT^LbH(0C%i;Wk8lt?MKHj^ip zo0+2B@1>eQ{r==lw2phjZ)pM(eVk1k!QD|*w1|ixQY-EYMD^7GBNfg2GrAcm1jJ-qKZ>8oR9=43dgC?hZa@}bT>%EkGC=Z+6^>g~%&A#fdqwJdyh zTt{LpoF2Z+cc1){x{DZALj4pF46KE=%7U_2nn^t+ITzG>P?QE z8D-zk4>5oJ>KltSMi1?$RH_^s8X0@x9--70uJ7ErlT&~F-OYwtKYZ@OhoAarw*G}i zGa!|4=*py+x>exKe@}4m_%H*9UV1Ng>Gh+viMNgeSAjzNtyBB>-LZyRUq5%@!=A}p zEmN&EkT${*g7K+YhDNV);K(@!4!z{(F1`Mz)im4(zC^3p$X)rQ+?P%|e17YO_&6m5 zj+8h8Ok}D0Ee@YK&yNRA^1+dxB^PF?b5Qg=F9~dQcRboBG8-QesqP)ZNpG;)FWN@o zMpT-rsyi#3w6xl{wozzCrRfvPH2|Nb zp}Km$^@vQb{Xy^7zWnvCJh+{nFK**=TQ-s_RQbQoYRA6-m6|X+_N}w@%9XW zo8iRJv%m@BQ|dY(3ABI`@u~Gjn`Xeur~#wl#L%~aZTG2RYL{Ml3;6G=^Vj=MommMs z7<;8>mAu=c1Rs*Uy^jTk~K00000NkvXXu0mjfkTOtS literal 0 HcmV?d00001 diff --git a/clients/keramik/pics/titlebutton-square.png b/clients/keramik/pics/titlebutton-square.png new file mode 100644 index 0000000000000000000000000000000000000000..871cf751a2ae738418d6faf6ec4279b76ca80dd7 GIT binary patch literal 1082 zcmV-A1jYM_P)~s^t2@pa;NE_kzL7Ne5!UmflBo=J6zKo~c?w+nX=MYrSczgxhQ&MTVr>ed>|KDA8 zs$EsLKLgv`z3l$<;}1Kd(TJ*Ue*?De!FavCHhg-Iao3h&eA;YpJX*y$$Dj-(QMxFI zDr$xqs460gs9|ORc<;7>9f0v^v$gqTdjkw^7s+XJ62ap-hXdM5=B)pK-5Sgbe+(pG#50k8ovB&a}{V`y?JY&fBG@b!{C+~ z1(-?}Wd^_h@z)5tU?ir@*s6TGJko-zbNaHKv8 zGkAAg0ek@Yx)X>A;w@qVkOVN$OALU6am`eryJ5Ts3ZU@d92l8%Fs^g^{?Pf1UP$hpOV_nrc99>%8&VtPgyJU)cXAO~#=6$d^9%4-QD)^WJ3<07Eq+oXdi| z!Elf#n065}V?GX8WDJS`fJjy_6BPQoI)JtVGk<}x3{#4_?dBcT6sI1C_6gJBy#q6x z%Z`PRlWE#s&){Br5=gBk717d!Ny756Fs0)(|rf48v%AOHXW07*qoM6N<$g0 +#include +static const unsigned char border_active_left_data[] = { + 0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00, + 0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00, + 0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00, + 0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00, + 0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00, + 0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00, + 0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00, + 0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00, + 0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00, + 0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00, + 0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00, + 0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00, + 0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00, + 0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00, + 0x20,0x00,0x00,0x00 +}; + +static const QRgb border_active_left_ctable[] = { + 0xffffffff,0xffcddaf6 +}; + +/* Generated by qembed */ +static const unsigned char border_active_right_data[] = { + 0x00,0x01,0x01,0x02,0x00,0x01,0x01,0x02,0x00,0x01,0x01,0x02,0x00,0x01, + 0x01,0x02,0x00,0x01,0x01,0x02,0x00,0x01,0x01,0x02,0x00,0x01,0x01,0x02, + 0x00,0x01,0x01,0x02,0x00,0x01,0x01,0x02,0x00,0x01,0x01,0x02,0x00,0x01, + 0x01,0x02,0x00,0x01,0x01,0x02,0x00,0x01,0x01,0x02,0x00,0x01,0x01,0x02, + 0x00,0x01,0x01,0x02,0x00,0x01,0x01,0x02,0x00,0x01,0x01,0x02,0x00,0x01, + 0x01,0x02,0x00,0x01,0x01,0x02,0x00,0x01,0x01,0x02,0x00,0x01,0x01,0x02, + 0x00,0x01,0x01,0x02,0x00,0x01,0x01,0x02,0x00,0x01,0x01,0x02,0x00,0x01, + 0x01,0x02,0x00,0x01,0x01,0x02,0x00,0x01,0x01,0x02,0x00,0x01,0x01,0x02, + 0x00,0x01,0x01,0x02,0x00,0x01,0x01,0x02,0x00,0x01,0x01,0x02,0x00,0x01, + 0x01,0x02,0x00,0x01,0x01,0x02,0x00,0x01,0x01,0x02,0x00,0x01,0x01,0x02, + 0x00,0x01,0x01,0x02,0x00,0x01,0x01,0x02,0x00,0x01,0x01,0x02,0x00,0x01, + 0x01,0x02,0x00,0x01,0x01,0x02,0x00,0x01,0x01,0x02,0x00,0x01,0x01,0x02, + 0x00,0x01,0x01,0x02,0x00,0x01,0x01,0x02,0x00,0x01,0x01,0x02,0x00,0x01, + 0x01,0x02,0x00,0x01,0x01,0x02,0x00,0x01,0x01,0x02,0x00,0x01,0x01,0x02, + 0x00,0x01,0x01,0x02 +}; + +static const QRgb border_active_right_ctable[] = { + 0xffcddaf6,0xffffffff,0xff2e5f91 +}; + +static const unsigned char border_inactive_left_data[] = { + 0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00, + 0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00, + 0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00, + 0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00, + 0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00, + 0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00, + 0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00, + 0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00, + 0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00, + 0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00, + 0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00, + 0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00, + 0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00, + 0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00, + 0x20,0x00,0x00,0x00 +}; + +static const QRgb border_inactive_left_ctable[] = { + 0xffffffff,0xffcddaf6 +}; + +static const unsigned char border_inactive_right_data[] = { + 0x00,0x01,0x01,0x02,0x00,0x01,0x01,0x02,0x00,0x01,0x01,0x02,0x00,0x01, + 0x01,0x02,0x00,0x01,0x01,0x02,0x00,0x01,0x01,0x02,0x00,0x01,0x01,0x02, + 0x00,0x01,0x01,0x02,0x00,0x01,0x01,0x02,0x00,0x01,0x01,0x02,0x00,0x01, + 0x01,0x02,0x00,0x01,0x01,0x02,0x00,0x01,0x01,0x02,0x00,0x01,0x01,0x02, + 0x00,0x01,0x01,0x02,0x00,0x01,0x01,0x02,0x00,0x01,0x01,0x02,0x00,0x01, + 0x01,0x02,0x00,0x01,0x01,0x02,0x00,0x01,0x01,0x02,0x00,0x01,0x01,0x02, + 0x00,0x01,0x01,0x02,0x00,0x01,0x01,0x02,0x00,0x01,0x01,0x02,0x00,0x01, + 0x01,0x02,0x00,0x01,0x01,0x02,0x00,0x01,0x01,0x02,0x00,0x01,0x01,0x02, + 0x00,0x01,0x01,0x02,0x00,0x01,0x01,0x02,0x00,0x01,0x01,0x02,0x00,0x01, + 0x01,0x02,0x00,0x01,0x01,0x02,0x00,0x01,0x01,0x02,0x00,0x01,0x01,0x02, + 0x00,0x01,0x01,0x02,0x00,0x01,0x01,0x02,0x00,0x01,0x01,0x02,0x00,0x01, + 0x01,0x02,0x00,0x01,0x01,0x02,0x00,0x01,0x01,0x02,0x00,0x01,0x01,0x02, + 0x00,0x01,0x01,0x02,0x00,0x01,0x01,0x02,0x00,0x01,0x01,0x02,0x00,0x01, + 0x01,0x02,0x00,0x01,0x01,0x02,0x00,0x01,0x01,0x02,0x00,0x01,0x01,0x02, + 0x00,0x01,0x01,0x02 +}; + +static const QRgb border_inactive_right_ctable[] = { + 0xffcdd6e6,0xffffffff,0xff3a5b7c +}; + +static const unsigned char caption_active_large_center_data[] = { + 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, + 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, + 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, + 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, + 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,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,0x02,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,0x03,0x03,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04, + 0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04, + 0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04, + 0x04,0x04,0x04,0x04,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05, + 0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05, + 0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05, + 0x05,0x05,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06, + 0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06, + 0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06, + 0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07, + 0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07, + 0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x08,0x08, + 0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08, + 0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08, + 0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,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,0x09,0x09,0x09,0x09,0x09,0x09, + 0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a, + 0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a, + 0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a, + 0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b, + 0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b, + 0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b, + 0x0b,0x0b,0x0b,0x0b,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c, + 0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c, + 0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c, + 0x0c,0x0c,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d, + 0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d, + 0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d, + 0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e, + 0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e, + 0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0f,0x0f, + 0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f, + 0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f, + 0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x10,0x10,0x10,0x10, + 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10, + 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10, + 0x10,0x10,0x10,0x10,0x10,0x10,0x10,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,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, + 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, + 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, + 0x12,0x12,0x12,0x12,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13, + 0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13, + 0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13, + 0x13,0x13,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14, + 0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14, + 0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14, + 0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15, + 0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15, + 0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x16,0x16, + 0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16, + 0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16, + 0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x17,0x17,0x17,0x17, + 0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17, + 0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17, + 0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x18,0x18,0x18,0x18,0x18,0x18, + 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, + 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, + 0x18,0x18,0x18,0x18,0x18,0x18,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19, + 0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19, + 0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19, + 0x19,0x19,0x19,0x19,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, + 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, + 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, + 0x01,0x01,0x1a,0x1b,0x1c,0x1d,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e, + 0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e, + 0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e, + 0x1f,0x20,0x21,0x22,0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23, + 0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23, + 0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23 +}; + +static const QRgb caption_active_large_center_ctable[] = { + 0xffffff,0xffffffff,0xff64b2ff,0xff62b1fe,0xff60affd,0xff5eadfc,0xff5babfb,0xff58a9f9,0xff54a6f7,0xff51a3f5,0xff4da1f4,0xff4a9ef2,0xff469bf0,0xff4298ee, + 0xff3e95ec,0xff3a92ea,0xff3690e8,0xff328de6,0xff2f8ae4,0xff2b87e3,0xff2784e1,0xff2482df,0xff2180de,0xff1e7edc,0xff1c7cdb,0xff76afe9,0xffc8d6e4,0xffc6d4e2, + 0xffc5d3e0,0xffc4d2df,0xffc4d1df,0xff237dd8,0xff237bd4,0xff227ad1,0xff2279d0,0xff2278cf +}; + +static const unsigned char caption_active_large_left_data[] = { + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01, + 0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x02, + 0x03,0x04,0x05,0x06,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, + 0x07,0x08,0x09,0x09,0x09,0x09,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01, + 0x01,0x0a,0x0b,0x0c,0x0c,0x0c,0x0c,0x0c,0x00,0x00,0x0d,0x0d,0x0d,0x0e, + 0x0f,0x01,0x10,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x00,0x00,0x12,0x12, + 0x12,0x13,0x01,0x14,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x00,0x00, + 0x16,0x16,0x17,0x01,0x02,0x18,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19, + 0x00,0x00,0x1a,0x1a,0x1b,0x01,0x1c,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d, + 0x1d,0x1d,0x00,0x00,0x1a,0x1a,0x13,0x01,0x1e,0x1f,0x1f,0x1f,0x1f,0x1f, + 0x1f,0x1f,0x1f,0x1f,0x00,0x00,0x20,0x20,0x21,0x01,0x22,0x23,0x23,0x23, + 0x23,0x23,0x23,0x23,0x23,0x23,0x00,0x00,0x24,0x24,0x25,0x01,0x26,0x27, + 0x27,0x27,0x27,0x27,0x27,0x27,0x27,0x27,0x00,0x00,0x28,0x28,0x01,0x01, + 0x29,0x29,0x29,0x29,0x29,0x29,0x29,0x29,0x29,0x29,0x00,0x00,0x2a,0x2a, + 0x01,0x01,0x2b,0x2b,0x2b,0x2b,0x2b,0x2b,0x2b,0x2b,0x2b,0x2b,0x00,0x00, + 0x0d,0x0d,0x25,0x01,0x2c,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d, + 0x00,0x00,0x2e,0x2e,0x01,0x01,0x2f,0x2f,0x2f,0x2f,0x2f,0x2f,0x2f,0x2f, + 0x2f,0x2f,0x00,0x00,0x30,0x30,0x02,0x01,0x31,0x32,0x32,0x32,0x32,0x32, + 0x32,0x32,0x32,0x32,0x00,0x00,0x33,0x33,0x34,0x01,0x35,0x36,0x36,0x36, + 0x36,0x36,0x36,0x36,0x36,0x36,0x00,0x00,0x37,0x37,0x38,0x01,0x39,0x3a, + 0x3a,0x3a,0x3a,0x3a,0x3a,0x3a,0x3a,0x3a,0x00,0x00,0x3b,0x3b,0x3c,0x01, + 0x3d,0x3e,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x00,0x00,0x40,0x40, + 0x40,0x41,0x01,0x42,0x43,0x43,0x43,0x43,0x43,0x43,0x43,0x43,0x00,0x00, + 0x44,0x44,0x44,0x45,0x01,0x46,0x47,0x48,0x48,0x48,0x48,0x48,0x48,0x48, + 0x00,0x00,0x49,0x49,0x49,0x49,0x4a,0x01,0x4b,0x4c,0x4d,0x4d,0x4d,0x4d, + 0x4d,0x4d,0x00,0x00,0x4e,0x4e,0x4e,0x4e,0x4f,0x50,0x01,0x51,0x52,0x53, + 0x53,0x53,0x53,0x53,0x00,0x00,0x54,0x54,0x54,0x54,0x54,0x55,0x56,0x01, + 0x01,0x57,0x58,0x59,0x59,0x59,0x00,0x00,0x5a,0x5a,0x5a,0x5a,0x5a,0x5a, + 0x5b,0x5c,0x5d,0x01,0x01,0x5e,0x5f,0x60,0x00,0x00,0x61,0x61,0x61,0x61, + 0x61,0x61,0x61,0x62,0x63,0x64,0x65,0x01,0x01,0x01,0x00,0x00,0x66,0x66, + 0x66,0x66,0x66,0x66,0x66,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x00,0x00, + 0x6d,0x6d,0x6d,0x6d,0x6d,0x6d,0x6d,0x6d,0x6d,0x6e,0x6f,0x70,0x71,0x72, + 0x00,0x00 +}; + +static const QRgb caption_active_large_left_ctable[] = { + 0xffffff,0xffffffff,0xfffcfdff,0xffcde6ff,0xff99cdff,0xff83c1ff,0xff67b4ff,0xffe5f2ff,0xff84c2fe,0xff62b1fe,0xffb7dbfe,0xff66b2fd,0xff60affd,0xffc8e0f8, + 0xffcce2f9,0xfff9fcfe,0xffa7d2fd,0xff5eadfc,0xffcfe5fb,0xffeef6fe,0xffcce5fe,0xff5babfb,0xffd3e9fe,0xffd7ebfe,0xff6db4fa,0xff58a9f9,0xffd1e7fd,0xffe3f1fe, + 0xffc7e2fc,0xff54a6f7,0xff90c5f9,0xff51a3f5,0xffcfe6fd,0xfff9fcff,0xff63adf5,0xff4da1f4,0xffcbe4fd,0xfffeffff,0xff4ea0f2,0xff4a9ef2,0xffcce3fa,0xff469bf0, + 0xffcae2fa,0xff4298ee,0xff4297ec,0xff3e95ec,0xffbedcfb,0xff3a92ea,0xffc4def6,0xff4196e9,0xff3690e8,0xffc2dcf6,0xfff2f7fd,0xff5fa6eb,0xff328de6,0xffc0dbf5, + 0xffe2effa,0xff99c6f2,0xff2f8ae4,0xffafd4f9,0xffc3dffb,0xffdcebfa,0xff2f89e4,0xff2b87e3,0xffbdd8f3,0xffeff5fc,0xff79b3ec,0xff2784e1,0xffbcd8f3,0xffd6e7f8, + 0xffeff6fd,0xff3c90e3,0xff2482df,0xffbbd7f2,0xffe8f1fa,0xffd7e8f9,0xff3289e0,0xff2180de,0xffa1ccf6,0xffa7cff7,0xffe9f3fc,0xffdaeaf9,0xff4795e2,0xff1e7edc, + 0xffb9d5f1,0xffbfd8f1,0xffecf3fa,0xffa9cdf1,0xff4192e1,0xff1c7cdb,0xffb6d3ef,0xffb5d1ed,0xffdee9f5,0xfffcfdfe,0xffe2eefa,0xffa3caf0,0xff9fc7ef,0xffafceeb, + 0xffadcce8,0xffb5cfe7,0xffd9e4ef,0xffedf1f5,0xff97c6f5,0xff96c4f3,0xff93c1ee,0xff8ebae7,0xff9bbee1,0xffb2cae2,0xffb1c7dc,0xff278bef,0xff278aee,0xff2789ec, + 0xff2687e8,0xff2584e3,0xff2481dd +}; + +static const unsigned char caption_active_large_right_data[] = { + 0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x02,0x03,0x04,0x05,0x01,0x01,0x01,0x01,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x06,0x06,0x06,0x07,0x08,0x01,0x01, + 0x09,0x09,0x01,0x01,0x01,0x01,0x00,0x00,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a, + 0x0b,0x0c,0x01,0x0d,0x0d,0x01,0x01,0x01,0x00,0x00,0x0e,0x0e,0x0e,0x0e, + 0x0e,0x0e,0x0e,0x0f,0x10,0x01,0x11,0x12,0x13,0x13,0x00,0x00,0x14,0x14, + 0x14,0x14,0x14,0x14,0x14,0x14,0x15,0x16,0x01,0x17,0x18,0x19,0x00,0x00, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1b,0x01,0x1c,0x1d,0x1e, + 0x00,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x21,0x01,0x22, + 0x23,0x24,0x00,0x00,0x26,0x26,0x26,0x26,0x26,0x26,0x26,0x26,0x26,0x26, + 0x27,0x01,0x28,0x29,0x00,0x00,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a, + 0x2a,0x2a,0x2b,0x01,0x2c,0x2d,0x00,0x00,0x2f,0x2f,0x2f,0x2f,0x2f,0x2f, + 0x2f,0x2f,0x2f,0x2f,0x30,0x01,0x31,0x32,0x00,0x00,0x34,0x34,0x34,0x34, + 0x34,0x34,0x34,0x34,0x34,0x34,0x35,0x01,0x36,0x37,0x00,0x00,0x39,0x39, + 0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x3a,0x01,0x3b,0x3c,0x00,0x00, + 0x3e,0x3e,0x3e,0x3e,0x3e,0x3e,0x3e,0x3e,0x3e,0x3e,0x3f,0x01,0x40,0x41, + 0x00,0x00,0x43,0x43,0x43,0x43,0x43,0x43,0x43,0x43,0x43,0x43,0x44,0x01, + 0x45,0x46,0x00,0x00,0x48,0x48,0x48,0x48,0x48,0x48,0x48,0x48,0x48,0x48, + 0x49,0x01,0x4a,0x4b,0x00,0x00,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d, + 0x4d,0x4d,0x4e,0x01,0x4f,0x50,0x00,0x00,0x52,0x52,0x52,0x52,0x52,0x52, + 0x52,0x52,0x52,0x53,0x54,0x01,0x55,0x56,0x00,0x00,0x58,0x58,0x58,0x58, + 0x58,0x58,0x58,0x58,0x58,0x59,0x01,0x5a,0x5b,0x5c,0x00,0x00,0x5e,0x5e, + 0x5e,0x5e,0x5e,0x5e,0x5e,0x5e,0x5f,0x60,0x01,0x61,0x62,0x63,0x00,0x00, + 0x65,0x65,0x65,0x65,0x65,0x65,0x65,0x65,0x66,0x01,0x67,0x68,0x69,0x6a, + 0x00,0x00,0x6c,0x6c,0x6c,0x6c,0x6c,0x6c,0x6c,0x6d,0x01,0x01,0x6e,0x6f, + 0x70,0x71,0x00,0x00,0x72,0x72,0x72,0x72,0x72,0x73,0x74,0x01,0x01,0x75, + 0x76,0x77,0x78,0x79,0x00,0x00,0x7b,0x7b,0x7b,0x7c,0x7d,0x7e,0x01,0x01, + 0x7f,0x80,0x81,0x82,0x83,0x84,0x00,0x00,0x85,0x86,0x87,0x88,0x01,0x01, + 0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x00,0x00,0x01,0x01,0x01,0x01, + 0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0x99,0x00,0x00,0x9a,0x9b, + 0x9c,0x9d,0x9e,0x9f,0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa5,0xa5,0x00,0x00, + 0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xaf,0xaf,0xaf,0xaf, + 0x00,0x00 +}; + +static const QRgb caption_active_large_right_ctable[] = { + 0xffffff,0xffffffff,0xff64b2ff,0xff75baff,0xff88c4ff,0xffb3d9ff,0xff62b1fe,0xff68b4fe,0xffb5daff,0xfffefefe,0xff60affd,0xff83c1fd,0xffe5f2ff,0xfffdfdfd, + 0xff5eadfc,0xff6ab3fc,0xffebf5ff,0xffe7f0f9,0xffc6def6,0xffc8e0f8,0xff5babfb,0xff79bafc,0xfffcfdff,0xffd0e2f4,0xffcde3f9,0xffcfe5fb,0xff58a9f9,0xffbfdefd, + 0xffe7eff6,0xffcde3f7,0xffd2e8fd,0xffd3e9fe,0xff54a6f7,0xff6db3f8,0xfff4f6f9,0xffc5d9ee,0xffcfe4fa,0xffd1e7fd,0xff51a3f5,0xffe6f2fe,0xffc5d6e6,0xffcbe1f6, + 0xff4da1f4,0xffc2dffb,0xffcbd7e4,0xffc4daf0,0xffcee5fc,0xff4a9ef2,0xffadd3f9,0xffd0dae4,0xffbcd3ea,0xffc9e2fb,0xff469bf0,0xff77b6f4,0xffe5e9ee,0xffb8cde1, + 0xffc8dff5,0xff4298ee,0xff9fcaf6,0xffcbd4dc,0xffb2c7dd,0xffc4dcf3,0xff3e95ec,0xffa7cff6,0xffc3ccd5,0xffafc4d9,0xffc2d9f0,0xff3a92ea,0xff9bc7f4,0xffc6d0db, + 0xffa6c0dc,0xffb8d5f3,0xff3690e8,0xffafd3f6,0xffbbc7d1,0xffacc3d8,0xffbed7ee,0xff328de6,0xffc7e0f8,0xffaebcca,0xffacc3da,0xffbdd6ef,0xff2f8ae4,0xff368ee5, + 0xfff8fbfe,0xff95a9bb,0xffacc5dc,0xffbcd7f0,0xff2b87e3,0xff78b3ed,0xffd7dde3,0xff88a5c1,0xffa0c2e4,0xffadd2f6,0xff2784e1,0xff2b86e2,0xffe0edfb,0xffb0bbc5, + 0xff9bb1c7,0xffb1cae4,0xffbcd6f1,0xff2482df,0xff97c4f0,0xffdadee1,0xff879bae,0xffa3bbd3,0xffb5d0e9,0xffbbd7f2,0xff2180de,0xff75b0eb,0xff99a7b4,0xff95abc1, + 0xffacc5de,0xffb8d4ee,0xff1e7edc,0xff2281dd,0xff99c4ef,0xff9eafbe,0xff7898b7,0xff8db2d7,0xff9bc4ec,0xffa0cbf5,0xffa1ccf6,0xff1c7cdb,0xff2481dc,0xff6aa9e7, + 0xffdeecfa,0xffa8b2bd,0xff869baf,0xff9db4cc,0xffaec8e3,0xffb7d2ee,0xffb9d5f1,0xff8abbec,0xffa3caf0,0xffbdd8f4,0xfff7fafe,0xffd9dde1,0xff94a3b1,0xff889db2, + 0xff9ab3ca,0xffa9c4de,0xffb2cfea,0xffb5d2ee,0xffb6d3ef,0xffd7dce1,0xffaeb9c4,0xff7e94a9,0xff8ba3ba,0xff99b4ce,0xffa5c2dd,0xffaccae6,0xffaecdea,0xffafceeb, + 0xffb7c8d8,0xffa7bbd0,0xff99b1c9,0xff799abc,0xff759abe,0xff7ca2c9,0xff83acd4,0xff8bb6e1,0xff91beeb,0xff95c4f2,0xff96c5f4,0xff97c6f5,0xff2279d0,0xff227ad1, + 0xff227ad2,0xff237cd6,0xff237ed9,0xff2582e0,0xff2586e6,0xff2689eb,0xff278aee,0xff278bef +}; + +static const unsigned char caption_active_small_center_data[] = { + 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, + 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, + 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, + 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00,0x01,0x01,0x01,0x01, + 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, + 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, + 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, + 0x01,0x01,0x01,0x01,0x00,0x00,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,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02, + 0x00,0x00,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,0x03,0x03, + 0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x00,0x00,0x04,0x04, + 0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04, + 0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04, + 0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04, + 0x04,0x04,0x04,0x04,0x04,0x04,0x00,0x00,0x05,0x05,0x05,0x05,0x05,0x05, + 0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05, + 0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05, + 0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05, + 0x05,0x05,0x00,0x00,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06, + 0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06, + 0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06, + 0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x00,0x00, + 0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07, + 0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07, + 0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07, + 0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x00,0x00,0x08,0x08,0x08,0x08, + 0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08, + 0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08, + 0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08, + 0x08,0x08,0x08,0x08,0x00,0x00,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,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09, + 0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09, + 0x00,0x00,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a, + 0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a, + 0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a, + 0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x00,0x00,0x0b,0x0b, + 0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b, + 0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b, + 0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b, + 0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x00,0x00,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c, + 0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c, + 0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c, + 0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c, + 0x0c,0x0c,0x00,0x00,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d, + 0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d, + 0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d, + 0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x00,0x00, + 0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e, + 0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e, + 0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e, + 0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x00,0x00,0x0f,0x0f,0x0f,0x0f, + 0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f, + 0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f, + 0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f, + 0x0f,0x0f,0x0f,0x0f,0x00,0x00,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10, + 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10, + 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10, + 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,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,0x00,0x00,0x12,0x12, + 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, + 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, + 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, + 0x12,0x12,0x12,0x12,0x12,0x12,0x00,0x00,0x13,0x13,0x13,0x13,0x13,0x13, + 0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13, + 0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13, + 0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13, + 0x13,0x13,0x00,0x00,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14, + 0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14, + 0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14, + 0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x00,0x00, + 0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15, + 0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15, + 0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15, + 0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x00,0x00,0x16,0x16,0x16,0x16, + 0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16, + 0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16, + 0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16, + 0x16,0x16,0x16,0x16,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, + 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, + 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, + 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, + 0x00,0x00,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17, + 0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17, + 0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17, + 0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x00,0x00,0x18,0x18, + 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, + 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, + 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, + 0x18,0x18,0x18,0x18,0x18,0x18,0x00,0x00 +}; + +static const QRgb caption_active_small_center_ctable[] = { + 0xffffff,0xffffffff,0xff64b2ff,0xff62b0fe,0xff5faefd,0xff5cacfb,0xff59aafa,0xff55a7f8,0xff51a4f6,0xff4da1f4,0xff499ef2,0xff459bf0,0xff4097ed,0xff3c94eb, + 0xff3790e9,0xff338de7,0xff2f8ae4,0xff2a87e2,0xff2684e0,0xff2381df,0xff1f7fdd,0xff1c7cdc,0xff76afe9,0xffc4d1df,0xff2278cf +}; + +static const unsigned char caption_active_small_left_data[] = { + 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, + 0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, + 0x01,0x01,0x00,0x00,0x02,0x02,0x02,0x02,0x02,0x02,0x03,0x04,0x01,0x05, + 0x06,0x07,0x08,0x09,0x00,0x00,0x0a,0x0a,0x0a,0x0a,0x0a,0x0b,0x01,0x01, + 0x0c,0x0d,0x0e,0x0e,0x0e,0x0e,0x00,0x00,0x0f,0x0f,0x0f,0x0f,0x10,0x01, + 0x01,0x11,0x12,0x13,0x13,0x13,0x13,0x13,0x00,0x00,0x14,0x14,0x14,0x15, + 0x16,0x01,0x17,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x00,0x00,0x14,0x14, + 0x14,0x19,0x01,0x1a,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x00,0x00, + 0x1c,0x1c,0x1d,0x01,0x05,0x1e,0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,0x1f, + 0x00,0x00,0x20,0x20,0x21,0x01,0x22,0x23,0x23,0x23,0x23,0x23,0x23,0x23, + 0x23,0x23,0x00,0x00,0x24,0x24,0x25,0x01,0x26,0x27,0x27,0x27,0x27,0x27, + 0x27,0x27,0x27,0x27,0x00,0x00,0x28,0x28,0x29,0x01,0x2a,0x2b,0x2b,0x2b, + 0x2b,0x2b,0x2b,0x2b,0x2b,0x2b,0x00,0x00,0x02,0x02,0x2c,0x01,0x2d,0x2e, + 0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x00,0x00,0x2f,0x2f,0x01,0x01, + 0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x00,0x00,0x31,0x31, + 0x05,0x01,0x32,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x00,0x00, + 0x34,0x34,0x35,0x01,0x36,0x37,0x37,0x37,0x37,0x37,0x37,0x37,0x37,0x37, + 0x00,0x00,0x38,0x38,0x39,0x01,0x3a,0x3b,0x3b,0x3b,0x3b,0x3b,0x3b,0x3b, + 0x3b,0x3b,0x00,0x00,0x3c,0x3c,0x3d,0x01,0x3e,0x3f,0x40,0x40,0x40,0x40, + 0x40,0x40,0x40,0x40,0x00,0x00,0x41,0x41,0x41,0x42,0x01,0x43,0x44,0x44, + 0x44,0x44,0x44,0x44,0x44,0x44,0x00,0x00,0x45,0x45,0x45,0x46,0x01,0x47, + 0x48,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x00,0x00,0x4a,0x4a,0x4a,0x4a, + 0x4b,0x01,0x4c,0x4d,0x4e,0x4e,0x4e,0x4e,0x4e,0x4e,0x00,0x00,0x4f,0x4f, + 0x4f,0x4f,0x50,0x51,0x01,0x52,0x53,0x54,0x54,0x54,0x54,0x54,0x00,0x00, + 0x55,0x55,0x55,0x55,0x55,0x56,0x57,0x01,0x01,0x58,0x59,0x5a,0x5a,0x5a, + 0x00,0x00,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,0x5c,0x5d,0x5e,0x01,0x01,0x5f, + 0x60,0x61,0x00,0x00,0x62,0x62,0x62,0x62,0x62,0x62,0x62,0x63,0x64,0x65, + 0x66,0x01,0x01,0x01,0x00,0x00,0x67,0x67,0x67,0x67,0x67,0x67,0x67,0x67, + 0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x00,0x00,0x6e,0x6e,0x6e,0x6e,0x6e,0x6e, + 0x6e,0x6e,0x6e,0x6f,0x70,0x71,0x72,0x73,0x00,0x00 +}; + +static const QRgb caption_active_small_left_ctable[] = { + 0xffffff,0xffffffff,0xffc8e0f8,0xffd4e7fa,0xfff1f7fd,0xfffcfdff,0xffcde6ff,0xff99cdff,0xff83c1ff,0xff67b4ff,0xffcfe5fb,0xffdeedfc,0xffe5f2ff,0xff84c1fe, + 0xff62b0fe,0xffd3e9fe,0xffe1f0fe,0xffb6dafe,0xff65b1fd,0xff5faefd,0xffd1e7fd,0xffd4e9fd,0xfffafdff,0xffa6d2fd,0xff5cacfb,0xffeef6fe,0xffcce5fd,0xff59aafa, + 0xffcfe6fd,0xffd3e8fd,0xff6ab2f9,0xff55a7f8,0xffcbe4fd,0xffe0effe,0xffc6e1fc,0xff51a4f6,0xffcce3fa,0xffedf5fd,0xff8ec3f8,0xff4da1f4,0xffcae2fa,0xfff9fbfe, + 0xff60aaf4,0xff499ef2,0xfffeffff,0xff499df0,0xff459bf0,0xffbedcfb,0xff4097ed,0xffc4def6,0xff479aec,0xff3c94eb,0xffc2dcf6,0xfff2f7fd,0xff63a8ee,0xff3790e9, + 0xffc0dbf5,0xffe2effa,0xff9bc7f3,0xff338de7,0xffafd4f9,0xffc3dffb,0xffddecfb,0xff338ce5,0xff2f8ae4,0xffbdd8f3,0xffeff5fc,0xff7bb5ed,0xff2a87e2,0xffbcd8f3, + 0xffd6e7f8,0xffeff6fd,0xff3e92e3,0xff2684e0,0xffbbd7f2,0xffe8f1fa,0xffd7e8f9,0xff338ae1,0xff2381df,0xffa1ccf6,0xffa7cff7,0xffe9f3fc,0xffdaeaf9,0xff4796e3, + 0xff1f7fdd,0xffb9d5f1,0xffbfd8f1,0xffecf3fa,0xffa9cdf2,0xff4192e2,0xff1c7cdc,0xffb6d3ef,0xffb5d1ed,0xffdee9f5,0xfffcfdfe,0xffe2eefa,0xffa3caf0,0xff9fc7ef, + 0xffafceeb,0xffadcce8,0xffb5cfe7,0xffd9e4ef,0xffedf1f5,0xff97c6f5,0xff96c4f3,0xff93c1ee,0xff8ebae7,0xff9bbee1,0xffb2cae2,0xffb1c7dc,0xff278bef,0xff278aee, + 0xff2789ec,0xff2687e8,0xff2584e3,0xff2481dd +}; + +static const unsigned char caption_active_small_right_data[] = { + 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, + 0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, + 0x01,0x01,0x00,0x00,0x02,0x03,0x04,0x05,0x06,0x01,0x01,0x07,0x08,0x08, + 0x08,0x08,0x08,0x08,0x00,0x00,0x09,0x09,0x09,0x09,0x0a,0x0b,0x01,0x01, + 0x0c,0x0d,0x0e,0x0e,0x0e,0x0e,0x00,0x00,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f, + 0x10,0x11,0x01,0x12,0x13,0x14,0x14,0x14,0x00,0x00,0x15,0x15,0x15,0x15, + 0x15,0x15,0x15,0x16,0x17,0x01,0x18,0x0e,0x19,0x19,0x00,0x00,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1b,0x1c,0x01,0x1d,0x0e,0x19,0x00,0x00, + 0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1f,0x01,0x20,0x21,0x22, + 0x00,0x00,0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x24,0x01,0x25, + 0x26,0x27,0x00,0x00,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28, + 0x29,0x01,0x2a,0x2b,0x00,0x00,0x2c,0x2c,0x2c,0x2c,0x2c,0x2c,0x2c,0x2c, + 0x2c,0x2c,0x2d,0x01,0x2e,0x2f,0x00,0x00,0x30,0x30,0x30,0x30,0x30,0x30, + 0x30,0x30,0x30,0x30,0x31,0x01,0x32,0x33,0x00,0x00,0x34,0x34,0x34,0x34, + 0x34,0x34,0x34,0x34,0x34,0x34,0x35,0x01,0x36,0x37,0x00,0x00,0x38,0x38, + 0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x39,0x01,0x3a,0x3b,0x00,0x00, + 0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3d,0x01,0x3e,0x3f, + 0x00,0x00,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x41,0x42,0x01, + 0x43,0x44,0x00,0x00,0x45,0x45,0x45,0x45,0x45,0x45,0x45,0x45,0x45,0x46, + 0x01,0x47,0x48,0x49,0x00,0x00,0x4a,0x4a,0x4a,0x4a,0x4a,0x4a,0x4a,0x4a, + 0x4b,0x4c,0x01,0x4d,0x4e,0x4f,0x00,0x00,0x50,0x50,0x50,0x50,0x50,0x50, + 0x50,0x50,0x51,0x01,0x52,0x53,0x54,0x55,0x00,0x00,0x56,0x56,0x56,0x56, + 0x56,0x56,0x56,0x57,0x01,0x01,0x58,0x59,0x5a,0x5b,0x00,0x00,0x5c,0x5c, + 0x5c,0x5c,0x5c,0x5d,0x5e,0x01,0x01,0x5f,0x60,0x61,0x62,0x63,0x00,0x00, + 0x64,0x64,0x64,0x65,0x66,0x67,0x01,0x01,0x68,0x69,0x6a,0x6b,0x6c,0x6d, + 0x00,0x00,0x6e,0x6f,0x70,0x71,0x01,0x01,0x72,0x73,0x74,0x75,0x76,0x77, + 0x78,0x79,0x00,0x00,0x01,0x01,0x01,0x01,0x7a,0x7b,0x7c,0x7d,0x7e,0x7f, + 0x80,0x81,0x82,0x82,0x00,0x00,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a, + 0x8b,0x8c,0x8d,0x8e,0x8e,0x8e,0x00,0x00,0x8f,0x90,0x91,0x92,0x93,0x94, + 0x95,0x96,0x97,0x98,0x98,0x98,0x98,0x98,0x00,0x00 +}; + +static const QRgb caption_active_small_right_ctable[] = { + 0xffffff,0xffffffff,0xff64b2ff,0xff75baff,0xff88c4ff,0xffb3d9ff,0xffecf5ff,0xffe6f0fb,0xffc8e0f8,0xff62b0fe,0xff68b3fe,0xffb5daff,0xfff3f8fd,0xffd3e7fa, + 0xffcfe5fb,0xff5faefd,0xff82c0fd,0xffe5f2ff,0xfff1f7fd,0xffd1e7fc,0xffd3e9fe,0xff5cacfb,0xff68b2fb,0xffebf5fe,0xffeaf2fb,0xffd1e7fd,0xff59aafa,0xff77b9fb, + 0xfffcfdff,0xffd2e4f6,0xff55a7f8,0xffbedefc,0xffe6eef5,0xffc9e0f6,0xffcee5fc,0xff51a4f6,0xff6ab1f7,0xfff3f6f9,0xffbfd7ee,0xffc9e1fa,0xff4da1f4,0xffe5f1fd, + 0xffc1d3e5,0xffc6ddf3,0xff499ef2,0xffc0defb,0xffc8d5e2,0xffc0d6ed,0xff459bf0,0xffaad2f8,0xffcbd5e0,0xffb9cfe6,0xff4097ed,0xff9ecaf6,0xffcad5e0,0xffabc6e2, + 0xff3c94eb,0xffb1d4f7,0xffbec9d4,0xffaec6db,0xff3790e9,0xffc8e1f9,0xffafbdca,0xffacc3da,0xff338de7,0xff3a91e8,0xfff8fbfe,0xff95a9bb,0xffacc5dc,0xff2f8ae4, + 0xff7bb5ee,0xffd7dde3,0xff88a5c1,0xffa0c2e4,0xff2a87e2,0xff2e89e3,0xffe0eefb,0xffb0bbc5,0xff9bb1c7,0xffb1cae4,0xff2684e0,0xff98c5f0,0xffdadee1,0xff879bae, + 0xffa3bbd3,0xffb5d0e9,0xff2381df,0xff77b1eb,0xff99a7b4,0xff95abc1,0xffacc5de,0xffb8d4ee,0xff1f7fdd,0xff2382de,0xff99c5f0,0xff9eafbe,0xff7898b7,0xff8db2d7, + 0xff9bc4ec,0xffa0cbf5,0xff1c7cdc,0xff2481dd,0xff6aa9e8,0xffdeecfa,0xffa8b2bd,0xff869baf,0xff9db4cc,0xffaec8e3,0xffb7d2ee,0xffb9d5f1,0xff8abbec,0xffa3caf0, + 0xffbdd8f4,0xfff7fafe,0xffd9dde1,0xff94a3b1,0xff889db2,0xff9ab3ca,0xffa9c4de,0xffb2cfea,0xffb5d2ee,0xffb6d3ef,0xffd7dce1,0xffaeb9c4,0xff7e94a9,0xff8ba3ba, + 0xff99b4ce,0xffa5c2dd,0xffaccae6,0xffaecdea,0xffafceeb,0xffb7c8d8,0xffa7bbd0,0xff99b1c9,0xff799abc,0xff759abe,0xff7ca2c9,0xff83acd4,0xff8bb6e1,0xff91beeb, + 0xff95c4f2,0xff96c5f4,0xff97c6f5,0xff2279d0,0xff227ad1,0xff227ad2,0xff237cd6,0xff237ed9,0xff2582e0,0xff2586e6,0xff2689eb,0xff278aee,0xff278bef +}; + +static const unsigned char caption_inactive_center_data[] = { + 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, + 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, + 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, + 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, + 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,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,0x02,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,0x03,0x03,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04, + 0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04, + 0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04, + 0x04,0x04,0x04,0x04,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05, + 0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05, + 0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05, + 0x05,0x05,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06, + 0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06, + 0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06, + 0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07, + 0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07, + 0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x08,0x08, + 0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08, + 0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08, + 0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,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,0x09,0x09,0x09,0x09,0x09,0x09, + 0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a, + 0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a, + 0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a, + 0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b, + 0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b, + 0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b, + 0x0b,0x0b,0x0b,0x0b,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c, + 0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c, + 0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c, + 0x0c,0x0c,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d, + 0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d, + 0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d, + 0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e, + 0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e, + 0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0f,0x0f, + 0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f, + 0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f, + 0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x10,0x10,0x10,0x10, + 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10, + 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10, + 0x10,0x10,0x10,0x10,0x10,0x10,0x10,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,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, + 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, + 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, + 0x12,0x12,0x12,0x12,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13, + 0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13, + 0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13, + 0x13,0x13,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14, + 0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14, + 0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14, + 0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15, + 0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15, + 0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x16,0x16, + 0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16, + 0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16, + 0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x01,0x01,0x01,0x01, + 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, + 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, + 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x17,0x17,0x17,0x17,0x17,0x17, + 0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17, + 0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17, + 0x17,0x17,0x17,0x17,0x17,0x17,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, + 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, + 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, + 0x18,0x18,0x18,0x18 +}; + +static const QRgb caption_inactive_center_ctable[] = { + 0xffffff,0xffffffff,0xffcfe7ff,0xffcde6fe,0xffcbe4fd,0xffc8e1fb,0xffc5dffa,0xffc1dcf8,0xffbdd9f6,0xffb9d6f4,0xffb4d3f2,0xffb0d0f0,0xffaccced,0xffa7c9eb, + 0xffa3c5e9,0xff9ec2e7,0xff9abfe4,0xff96bce2,0xff92b9e0,0xff8eb6df,0xff8bb4dd,0xff88b2dc,0xffb6d0e9,0xffd1d9e1,0xffa6cff9 +}; + +static const unsigned char caption_inactive_left_data[] = { + 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, + 0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, + 0x01,0x01,0x00,0x00,0x02,0x02,0x02,0x02,0x02,0x02,0x03,0x04,0x01,0x05, + 0x06,0x07,0x08,0x09,0x00,0x00,0x0a,0x0a,0x0a,0x0a,0x0a,0x0b,0x01,0x01, + 0x0c,0x0d,0x0e,0x0e,0x0e,0x0e,0x00,0x00,0x05,0x05,0x05,0x05,0x05,0x01, + 0x01,0x0f,0x10,0x11,0x11,0x11,0x11,0x11,0x00,0x00,0x12,0x12,0x12,0x12, + 0x01,0x01,0x13,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x00,0x00,0x15,0x15, + 0x15,0x16,0x01,0x17,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x00,0x00, + 0x12,0x12,0x12,0x01,0x16,0x19,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x00,0x00,0x0c,0x0c,0x1b,0x01,0x1c,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d, + 0x1d,0x1d,0x00,0x00,0x1e,0x1e,0x1f,0x01,0x20,0x21,0x21,0x21,0x21,0x21, + 0x21,0x21,0x21,0x21,0x00,0x00,0x22,0x22,0x16,0x01,0x23,0x24,0x24,0x24, + 0x24,0x24,0x24,0x24,0x24,0x24,0x00,0x00,0x25,0x25,0x01,0x01,0x26,0x27, + 0x27,0x27,0x27,0x27,0x27,0x27,0x27,0x27,0x00,0x00,0x28,0x28,0x01,0x01, + 0x29,0x29,0x29,0x29,0x29,0x29,0x29,0x29,0x29,0x29,0x00,0x00,0x2a,0x2a, + 0x05,0x01,0x2b,0x2c,0x2c,0x2c,0x2c,0x2c,0x2c,0x2c,0x2c,0x2c,0x00,0x00, + 0x2d,0x2d,0x15,0x01,0x2e,0x2f,0x2f,0x2f,0x2f,0x2f,0x2f,0x2f,0x2f,0x2f, + 0x00,0x00,0x30,0x30,0x1e,0x01,0x31,0x32,0x32,0x32,0x32,0x32,0x32,0x32, + 0x32,0x32,0x00,0x00,0x33,0x33,0x34,0x01,0x35,0x36,0x37,0x37,0x37,0x37, + 0x37,0x37,0x37,0x37,0x00,0x00,0x38,0x38,0x38,0x39,0x01,0x3a,0x3b,0x3b, + 0x3b,0x3b,0x3b,0x3b,0x3b,0x3b,0x00,0x00,0x3c,0x3c,0x3c,0x25,0x01,0x3d, + 0x3e,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x00,0x00,0x40,0x40,0x40,0x40, + 0x1e,0x01,0x41,0x42,0x43,0x43,0x43,0x43,0x43,0x43,0x00,0x00,0x44,0x44, + 0x44,0x44,0x45,0x46,0x01,0x47,0x48,0x49,0x49,0x49,0x49,0x49,0x00,0x00, + 0x40,0x40,0x40,0x40,0x40,0x40,0x4a,0x01,0x01,0x4b,0x4c,0x4d,0x4d,0x4d, + 0x00,0x00,0x4e,0x4e,0x4e,0x4e,0x4e,0x4e,0x4f,0x50,0x51,0x01,0x01,0x52, + 0x53,0x54,0x00,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x56,0x57,0x58, + 0x59,0x01,0x01,0x01,0x00,0x00,0x5a,0x5a,0x5a,0x5a,0x5a,0x5a,0x5a,0x5a, + 0x5b,0x1a,0x5c,0x5d,0x5e,0x5f,0x00,0x00,0x60,0x60,0x60,0x60,0x60,0x60, + 0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x00,0x00 +}; + +static const QRgb caption_inactive_left_ctable[] = { + 0xffffff,0xffffffff,0xffedf1f5,0xfff1f4f7,0xfffbfcfd,0xfffeffff,0xffeff7ff,0xffe0efff,0xffd9ecff,0xffd0e7ff,0xfff7f9fa,0xfff9fbfc,0xfff7fbff,0xffd8ebfe, + 0xffcde6fe,0xffe7f3fe,0xffcde5fd,0xffcbe4fd,0xfffcfdfe,0xffe1effd,0xffc8e1fb,0xfffdfdfe,0xfffefeff,0xffedf5fd,0xffc5dffa,0xffc9e0f9,0xffc1dcf8,0xfffafdff, + 0xffeaf3fc,0xffbdd9f6,0xfffafbfc,0xfffdfefe,0xffd3e5f8,0xffb9d6f4,0xfff9fafc,0xffbdd9f4,0xffb4d3f2,0xfff7f9fb,0xffb2d1f0,0xffb0d0f0,0xffebf5ff,0xffaccced, + 0xfff5f8fa,0xffacccec,0xffa7c9eb,0xfff4f7fa,0xffb7d2ee,0xffa3c5e9,0xfff3f6f9,0xffcfe1f3,0xff9ec2e7,0xffddeeff,0xffe6f2ff,0xffeef4fb,0xff9cc0e5,0xff9abfe4, + 0xfff1f5f8,0xfffcfdfd,0xffbed5ed,0xff96bce2,0xfff2f5f9,0xfff7fafd,0xff9ec1e3,0xff92b9e0,0xfff2f5f8,0xffebf2f9,0xff96bbe1,0xff8eb6df,0xffcfe7ff,0xffd2e9ff, + 0xfff3f9fe,0xffecf3f9,0xffa0c2e3,0xff8bb4dd,0xfffafbfb,0xffd2e2f2,0xff9cbfe2,0xff88b2dc,0xffeef2f6,0xffecf0f4,0xfff4f6f7,0xfffefefe,0xfff0f5fa,0xffcedff0, + 0xffccdeef,0xffe6ecf1,0xffe3e9ee,0xffe3e8eb,0xffedeff1,0xfff5f5f6,0xffc6e2ff,0xffc4e0fd,0xffbad5f0,0xffbed3e8,0xffcad9e7,0xffc7d4e1,0xffa6cff9 +}; + +static const unsigned char caption_inactive_right_data[] = { + 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, + 0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, + 0x01,0x01,0x00,0x00,0x02,0x03,0x04,0x05,0x06,0x01,0x01,0x07,0x08,0x08, + 0x08,0x08,0x08,0x08,0x00,0x00,0x09,0x09,0x09,0x09,0x0a,0x05,0x01,0x01, + 0x0b,0x0c,0x0c,0x0c,0x0c,0x0c,0x00,0x00,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d, + 0x0e,0x0f,0x01,0x10,0x0b,0x11,0x11,0x11,0x00,0x00,0x12,0x12,0x12,0x12, + 0x12,0x12,0x12,0x13,0x14,0x01,0x15,0x16,0x17,0x17,0x00,0x00,0x18,0x18, + 0x18,0x18,0x18,0x18,0x18,0x18,0x19,0x1a,0x01,0x1b,0x1c,0x1d,0x00,0x00, + 0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1f,0x01,0x20,0x21,0x22, + 0x00,0x00,0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x24,0x01,0x25, + 0x26,0x27,0x00,0x00,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28, + 0x29,0x01,0x2a,0x2b,0x00,0x00,0x2c,0x2c,0x2c,0x2c,0x2c,0x2c,0x2c,0x2c, + 0x2c,0x2c,0x2d,0x01,0x2e,0x2f,0x00,0x00,0x30,0x30,0x30,0x30,0x30,0x30, + 0x30,0x30,0x30,0x30,0x31,0x01,0x32,0x33,0x00,0x00,0x34,0x34,0x34,0x34, + 0x34,0x34,0x34,0x34,0x34,0x34,0x35,0x01,0x36,0x37,0x00,0x00,0x38,0x38, + 0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x39,0x01,0x3a,0x3b,0x00,0x00, + 0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3d,0x01,0x3e,0x3f, + 0x00,0x00,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x41,0x17,0x01, + 0x42,0x43,0x00,0x00,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x45, + 0x01,0x46,0x47,0x48,0x00,0x00,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49, + 0x4a,0x4b,0x01,0x4c,0x4d,0x4e,0x00,0x00,0x4f,0x4f,0x4f,0x4f,0x4f,0x4f, + 0x4f,0x4f,0x50,0x01,0x51,0x52,0x53,0x54,0x00,0x00,0x55,0x55,0x55,0x55, + 0x55,0x55,0x55,0x56,0x01,0x01,0x57,0x58,0x59,0x5a,0x00,0x00,0x5b,0x5b, + 0x5b,0x5b,0x5b,0x5c,0x5d,0x01,0x01,0x5e,0x5f,0x60,0x61,0x62,0x00,0x00, + 0x63,0x63,0x63,0x64,0x65,0x66,0x01,0x01,0x67,0x68,0x69,0x6a,0x6b,0x6c, + 0x00,0x00,0x6d,0x6e,0x6f,0x70,0x01,0x01,0x71,0x72,0x73,0x74,0x75,0x76, + 0x08,0x77,0x00,0x00,0x01,0x01,0x01,0x01,0x78,0x79,0x7a,0x7b,0x7c,0x7d, + 0x7e,0x7f,0x80,0x80,0x00,0x00,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88, + 0x89,0x8a,0x8b,0x8c,0x8c,0x8c,0x00,0x00,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d, + 0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x00,0x00 +}; + +static const QRgb caption_inactive_right_ctable[] = { + 0xffffff,0xffffffff,0xffcfe7ff,0xffd4eaff,0xffdaedff,0xffe7f3ff,0xfff9fcff,0xfff6f8fa,0xffedf1f5,0xffcde6fe,0xffcfe7fe,0xfffcfdfd,0xfff7f9fa,0xffcbe4fd, + 0xffd6eafd,0xfff6fbff,0xfffdfdfd,0xfffeffff,0xffc8e1fb,0xffcce3fb,0xfff8fbfe,0xfffafbfb,0xfffafbfc,0xfffcfdfe,0xffc5dffa,0xffcfe5fb,0xfffefeff,0xfff6f6f6, + 0xfffbfbfc,0xfffdfdfe,0xffc1dcf8,0xffe7f2fc,0xfff5f5f6,0xfff5f6f7,0xfffbfcfd,0xffbdd9f6,0xffc7dff7,0xfff8f9f9,0xffe8ecf0,0xfff4f8fc,0xffb9d6f4,0xfff5f9fd, + 0xffe5e5e5,0xfff3f4f5,0xffb4d3f2,0xffe5f0fb,0xffe2e2e3,0xffecedef,0xffb0d0f0,0xffdbeaf8,0xffe0e0e1,0xffe5e6e8,0xffaccced,0xffd5e5f6,0xffdbdee2,0xffd4dde6, + 0xffa7c9eb,0xffdce9f7,0xffd4d5d6,0xffdadddf,0xffa3c5e9,0xffe6eff9,0xffcacbcc,0xffd8dbde,0xff9ec2e7,0xffa1c4e8,0xffbabcbe,0xffdadde0,0xff9abfe4,0xffbfd6ee, + 0xffdfe2e4,0xffacb9c6,0xffcad9e9,0xff96bce2,0xff98bde3,0xfff0f5fb,0xffc5c6c7,0xffc6c9cb,0xffe2e6e8,0xff92b9e0,0xffcbdef0,0xffe1e2e2,0xffaeb0b3,0xffd2d4d8, + 0xffe9ebef,0xff8eb6df,0xffb9d2eb,0xffb4b6b7,0xffc1c3c5,0xffdee1e4,0xffeef1f4,0xff8bb4dd,0xff8db5de,0xffcaddf0,0xffb0b9c2,0xff9aacbe,0xffb5cadf,0xffc7def5, + 0xffcee6fe,0xff88b2dc,0xff8cb5dd,0xffb1cde8,0xffeef4fa,0xffbdbec0,0xffb0b2b4,0xffcdd0d2,0xffe4e7e9,0xffeff2f5,0xfff2f5f8,0xffc1d7ec,0xffcedff0,0xffdce8f4, + 0xfffbfcfe,0xffe1e1e2,0xffb0b3b4,0xffb1b4b7,0xffcacdd0,0xffdde1e5,0xffe9edf1,0xffeef2f6,0xffe0e1e2,0xffc3c5c7,0xffa5a9ad,0xffb6bbbf,0xffc9ced3,0xffd8dee3, + 0xffe1e7ec,0xffe5ebf0,0xffe6ecf1,0xffc8d1db,0xffbbc7d4,0xffb1bfce,0xff9aaec3,0xff9aafc6,0xffa2b9d1,0xffacc4dd,0xffb6cfea,0xffbed9f5,0xffc4dffc,0xffc5e1fe, + 0xffc6e2ff,0xffa6cff9 +}; + +static const unsigned char grabbar_active_center_data[] = { + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 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,0x01,0x01,0x01, + 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, + 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, + 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, + 0x01,0x01,0x01,0x01,0x00,0x00,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,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,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,0x03,0x03,0x03,0x03,0x03,0x03, + 0x03,0x03,0x03,0x03,0x03,0x03,0x00,0x00,0x04,0x04,0x04,0x04,0x04,0x04, + 0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04, + 0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04, + 0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04, + 0x04,0x04,0x00,0x00,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05, + 0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05, + 0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05, + 0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x00,0x00, + 0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06, + 0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06, + 0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06, + 0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x00,0x00 +}; + +static const QRgb grabbar_active_center_ctable[] = { + 0xffc9ddf0,0xffd0e1f2,0xffd2e3f4,0xffbad0e7,0xffacc4dd,0xffffffff,0xff2e5f91 +}; + +static const unsigned char grabbar_active_left_data[] = { + 0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00, + 0x02,0x03,0x04,0x05,0x06,0x07,0x07,0x00,0x00,0x00,0x00,0x00,0x08,0x01, + 0x09,0x0a,0x0b,0x0a,0x06,0x00,0x00,0x00,0x00,0x00,0x0c,0x0d,0x0e,0x01, + 0x0f,0x10,0x10,0x00,0x00,0x00,0x00,0x00,0x11,0x12,0x13,0x14,0x15,0x16, + 0x16,0x00,0x00,0x00,0x00,0x00,0x17,0x17,0x17,0x18,0x19,0x1a,0x1a,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x00,0x00,0x00 +}; + +static const QRgb grabbar_active_left_ctable[] = { + 0xffffffff,0xffc4d8ec,0xffd5e4f5,0xffd6e5f5,0xffdbe9f8,0xffd7e7f6,0xffd2e3f4,0xffd0e2f2,0xffc3d7eb,0xffcadcef,0xffd3e4f4,0xffd4e5f5,0xffb9cee4,0xffbacfe5, + 0xffbed2e7,0xffc8dbef,0xffc9dcf0,0xffb1c7df,0xffb2c8df,0xffb3c9e0,0xffb6cce3,0xffb8cfe5,0xffbad0e7,0xffabc2da,0xffacc2db,0xffacc3dd,0xffacc4dd,0xff2e5f91 +}; + +static const unsigned char grabbar_active_right_data[] = { + 0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x02,0x00,0x00,0x00,0x03,0x04, + 0x05,0x06,0x00,0x00,0x01,0x01,0x02,0x00,0x00,0x00,0x07,0x08,0x09,0x0a, + 0x0b,0x0c,0x01,0x01,0x02,0x00,0x00,0x00,0x0d,0x0e,0x0f,0x10,0x11,0x12, + 0x01,0x01,0x02,0x00,0x00,0x00,0x13,0x14,0x14,0x15,0x16,0x17,0x01,0x01, + 0x02,0x00,0x00,0x00,0x18,0x19,0x1a,0x1b,0x1c,0x1c,0x01,0x01,0x02,0x00, + 0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x02,0x00,0x00,0x00, + 0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x00,0x00 +}; + +static const QRgb grabbar_active_right_ctable[] = { + 0xffc5d8ec,0xffffffff,0xff2e5f91,0xffcee0f1,0xffcbdeef,0xffc9dbee,0xffc6d9ed,0xffd2e2f3,0xffcfe0f2,0xffc9dcee,0xffc2d6ea,0xffc1d5e9,0xffc0d4e8,0xffc9dcf0, + 0xffc8dbef,0xffc4d8ec,0xffbed2e7,0xffbacfe5,0xffb9cee4,0xffbad0e7,0xffbad1e8,0xffb6cce4,0xffb4cae1,0xffb3c9e0,0xffacc5dd,0xffadc5de,0xffaec7e0,0xffaec8e1, + 0xffadc6df +}; + +static const unsigned char grabbar_inactive_center_data[] = { + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,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,0x01,0x01,0x01,0x01,0x01,0x01,0x01, + 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, + 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, + 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, + 0x00,0x00,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,0x02,0x02,0x02, + 0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x00,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,0x03,0x03,0x03,0x03,0x03,0x03, + 0x03,0x03,0x03,0x03,0x03,0x03,0x00,0x00,0x04,0x04,0x04,0x04,0x04,0x04, + 0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04, + 0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04, + 0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04, + 0x04,0x04,0x00,0x00,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05, + 0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05, + 0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05, + 0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x00,0x00, + 0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06, + 0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06, + 0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06, + 0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x00,0x00 +}; + +static const QRgb grabbar_inactive_center_ctable[] = { + 0xffedf1f5,0xfff1f4f8,0xffe7edf3,0xffd5dfe9,0xffc6d1de,0xffffffff,0xff3a5b7c +}; + +static const unsigned char grabbar_inactive_left_data[] = { + 0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x02,0x00,0x00,0x00,0x00,0x00, + 0x03,0x04,0x05,0x06,0x07,0x01,0x02,0x00,0x00,0x00,0x00,0x00,0x08,0x09, + 0x0a,0x0b,0x0c,0x0b,0x0d,0x00,0x00,0x00,0x00,0x00,0x0e,0x0f,0x10,0x11, + 0x12,0x13,0x14,0x00,0x00,0x00,0x00,0x00,0x15,0x16,0x17,0x18,0x19,0x1a, + 0x1a,0x00,0x00,0x00,0x00,0x00,0x1b,0x1b,0x1b,0x1c,0x1d,0x1e,0x1e,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,0x00,0x00,0x00 +}; + +static const QRgb grabbar_inactive_left_ctable[] = { + 0xffffffff,0xffeef2f5,0xffedf1f5,0xfff3f5f8,0xfff4f6f9,0xfffafbfc,0xfff6f8fa,0xfff0f3f7,0xffdfe6ed,0xffe0e7ee,0xffe7ecf2,0xfff2f5f8,0xfff3f6f9,0xfff1f4f8, + 0xffd4dce5,0xffd5dde6,0xffd9e0e9,0xffe1e8ef,0xffe5ebf2,0xffe6ecf3,0xffe7edf3,0xffcbd4df,0xffccd5df,0xffcdd6e1,0xffd1dae4,0xffd3dde7,0xffd5dfe9,0xffc4ceda, + 0xffc5cfdb,0xffc5d0dd,0xffc6d1de,0xff3a5b7c +}; + +static const unsigned char grabbar_inactive_right_data[] = { + 0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x02,0x00,0x00,0x00,0x03,0x04, + 0x05,0x06,0x07,0x07,0x01,0x01,0x02,0x00,0x00,0x00,0x08,0x00,0x09,0x0a, + 0x0b,0x0c,0x01,0x01,0x02,0x00,0x00,0x00,0x0d,0x0e,0x0f,0x10,0x11,0x12, + 0x01,0x01,0x02,0x00,0x00,0x00,0x13,0x14,0x14,0x15,0x16,0x17,0x01,0x01, + 0x02,0x00,0x00,0x00,0x18,0x19,0x1a,0x1b,0x1c,0x1c,0x01,0x01,0x02,0x00, + 0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x02,0x00,0x00,0x00, + 0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x00,0x00 +}; + +static const QRgb grabbar_inactive_right_ctable[] = { + 0xffedf1f5,0xffffffff,0xff3a5b7c,0xffebf0f4,0xffe8edf2,0xffe5eaf0,0xffe2e8ef,0xffe1e7ee,0xfff0f3f7,0xffe6ecf1,0xffdee5ec,0xffdce3eb,0xffdbe2ea,0xffe6ecf3, + 0xffe5ebf2,0xffe1e8ef,0xffd9e0e9,0xffd5dde6,0xffd4dce5,0xffd6dfe9,0xffd6e0ea,0xffd1dae5,0xffced7e2,0xffcdd6e1,0xffc6d2de,0xffc7d2df,0xffc8d4e1,0xffc8d5e2, + 0xffc7d3e0 +}; + +static const unsigned char titlebar_active_center_data[] = { + 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, + 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, + 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, + 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, + 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,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,0x02,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,0x03,0x03,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04, + 0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04, + 0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04, + 0x04,0x04,0x04,0x04,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05, + 0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05, + 0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05, + 0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05, + 0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05, + 0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05, + 0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06, + 0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06, + 0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x07,0x07, + 0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07, + 0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07, + 0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x08,0x08,0x08,0x08, + 0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08, + 0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08, + 0x08,0x08,0x08,0x08,0x08,0x08,0x08,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,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09, + 0x09,0x09,0x09,0x09,0x09,0x09,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,0x02,0x02,0x02,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a, + 0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a, + 0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a, + 0x0a,0x0a,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b, + 0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b, + 0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b, + 0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c, + 0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c, + 0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0d,0x0d, + 0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d, + 0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d, + 0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0e,0x0e,0x0e,0x0e, + 0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e, + 0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e, + 0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f, + 0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f, + 0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f, + 0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10, + 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10, + 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10, + 0x10,0x10,0x10,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,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, + 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, + 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, + 0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13, + 0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13, + 0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x14,0x14, + 0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14, + 0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14, + 0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x15,0x15,0x15,0x15, + 0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15, + 0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15, + 0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x16,0x16,0x16,0x16,0x16,0x16, + 0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16, + 0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16, + 0x16,0x16,0x16,0x16,0x16,0x16,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17, + 0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17, + 0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17, + 0x17,0x17,0x17,0x17 +}; + +static const QRgb titlebar_active_center_ctable[] = { + 0xffffff,0xffffffff,0xffc8e0f8,0xffcfe5fb,0xffd3e9fe,0xffd1e7fd,0xffcfe6fd,0xffcbe4fd,0xffcce3fa,0xffcae2fa,0xffbedcfb,0xffc4def6,0xffc2dcf6,0xffc0dbf5, + 0xffafd4f9,0xffbdd8f3,0xffbcd8f3,0xffbbd7f2,0xffa1ccf6,0xffb9d5f1,0xffb6d3ef,0xffafceeb,0xff97c6f5,0xff278bef +}; + +static const unsigned char titlebar_active_left_data[] = { + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01, + 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01, + 0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x02,0x03, + 0x04,0x05,0x06,0x07,0x35,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x08,0x09, + 0x0a,0x0b,0x0c,0x0b,0x0d,0x0e,0x0a,0x00,0x00,0x00,0x01,0x01,0x01,0x0f, + 0x10,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x00,0x00,0x00,0x01,0x01, + 0x12,0x13,0x14,0x15,0x0d,0x16,0x16,0x17,0x17,0x17,0x17,0x00,0x00,0x01, + 0x01,0x18,0x19,0x1a,0x1b,0x15,0x0e,0x17,0x1c,0x17,0x17,0x17,0x17,0x00, + 0x00,0x01,0x01,0x1d,0x1e,0x1f,0x07,0x15,0x20,0x0e,0x21,0x21,0x21,0x21, + 0x21,0x00,0x01,0x01,0x22,0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23, + 0x23,0x23,0x23,0x00,0x01,0x01,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b, + 0x2a,0x2a,0x2a,0x2a,0x2a,0x00,0x01,0x01,0x2c,0x2d,0x2e,0x2f,0x1b,0x30, + 0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x00,0x01,0x01,0x32,0x33,0x34,0x1f, + 0x14,0x35,0x36,0x36,0x37,0x35,0x35,0x35,0x35,0x00,0x01,0x01,0x38,0x38, + 0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x00,0x01,0x01, + 0x39,0x3a,0x32,0x3b,0x3c,0x3d,0x3e,0x3f,0x3d,0x3d,0x3d,0x3d,0x3d,0x00, + 0x01,0x01,0x40,0x39,0x41,0x42,0x43,0x44,0x45,0x3c,0x44,0x44,0x44,0x44, + 0x44,0x00,0x01,0x01,0x46,0x47,0x48,0x2e,0x49,0x1f,0x1f,0x1f,0x4a,0x4a, + 0x4a,0x4a,0x4a,0x00,0x01,0x01,0x4b,0x4b,0x4b,0x4b,0x4b,0x4b,0x4b,0x4b, + 0x4b,0x4b,0x4b,0x4b,0x4b,0x00,0x01,0x01,0x4c,0x4d,0x4e,0x4f,0x42,0x50, + 0x51,0x50,0x52,0x52,0x52,0x52,0x52,0x00,0x01,0x01,0x53,0x54,0x55,0x56, + 0x57,0x58,0x58,0x58,0x58,0x58,0x58,0x58,0x58,0x00,0x01,0x01,0x59,0x5a, + 0x5b,0x5c,0x5d,0x57,0x5e,0x57,0x57,0x57,0x57,0x57,0x57,0x00,0x01,0x01, + 0x5f,0x5f,0x5f,0x5f,0x5f,0x5f,0x5f,0x5f,0x5f,0x5f,0x5f,0x5f,0x5f,0x00, + 0x01,0x01,0x60,0x60,0x61,0x48,0x62,0x63,0x63,0x63,0x63,0x63,0x63,0x63, + 0x63,0x00,0x01,0x01,0x64,0x60,0x65,0x66,0x48,0x32,0x56,0x67,0x67,0x67, + 0x67,0x67,0x67,0x00,0x01,0x01,0x68,0x68,0x60,0x69,0x54,0x5b,0x6a,0x6a, + 0x6a,0x6a,0x6a,0x6a,0x6a,0x00,0x01,0x01,0x6b,0x6b,0x6b,0x6b,0x6b,0x6b, + 0x6b,0x6b,0x6b,0x6b,0x6b,0x6b,0x6b,0x00,0x01,0x01,0x6c,0x6c,0x6c,0x6c, + 0x6c,0x6c,0x6c,0x6c,0x6c,0x6c,0x6c,0x6c,0x6c,0x00 +}; + +static const QRgb titlebar_active_left_ctable[] = { + 0xffffff,0xffffffff,0xfffafdff,0xffedf6fe,0xffe2f1fe,0xffd0e6fb,0xffcbe2f9,0xffc9e1f8,0xfffefeff,0xffe0edfc,0xffcee5fb,0xffd2e7fd,0xffd4e9fe,0xffd0e7fd, + 0xffcfe6fc,0xfff6faff,0xffd6ebfe,0xffd3e9fe,0xffedf5fc,0xffc2dcf5,0xffc6dff7,0xffcde4fb,0xffd2e8fd,0xffd1e7fd,0xfff8fbfe,0xffbfd9f3,0xffc1daf3,0xffc7e0f8, + 0xffd1e8fd,0xffcbe0f5,0xffbdd7f2,0xffc1dbf5,0xffcfe5fc,0xffcfe6fd,0xfff8fcff,0xffcbe4fd,0xffe1edf9,0xffbad5f0,0xffbcd7f1,0xffc3ddf5,0xffc9e1f9,0xffcbe3fa, + 0xffcce3fa,0xffcce4fb,0xffc7ddf3,0xffb8d4ef,0xffbbd6f1,0xffc3dcf5,0xffc9e2f9,0xffcae2fa,0xffb6d2ee,0xffb7d3ee,0xffb9d4f0,0xffc8e0f8,0xffc8e1f9,0xffc8e1f8, + 0xffbedcfb,0xffb3d0ec,0xffb4d1ed,0xffbed9f3,0xffc3dcf6,0xffc4def6,0xffc5def7,0xffc5def6,0xffb2cfec,0xffb5d1ed,0xffbcd7f2,0xffc1dbf4,0xffc2dcf6,0xffc3ddf6, + 0xffb1ceeb,0xffb2ceeb,0xffb3d0ed,0xffc0daf4,0xffc0dbf5,0xffafd4f9,0xffaecce9,0xffafcdea,0xffb1ceec,0xffb8d4f0,0xffbed8f4,0xffbed9f4,0xffbdd8f3,0xffadcbe9, + 0xffadcbea,0xffb0cdeb,0xffb7d3ef,0xffbbd7f2,0xffbcd8f3,0xffabcae8,0xffaccae8,0xffafccea,0xffb6d2ef,0xffbad6f1,0xffbcd7f3,0xffa1ccf6,0xffa9c8e7,0xffaccae9, + 0xffb7d3f0,0xffb9d5f1,0xffa9c8e6,0xffaac9e8,0xffafcdeb,0xffb6d3ef,0xffa8c7e7,0xffabc9e8,0xffafceeb,0xff97c6f5,0xff278bef +}; + +static const unsigned char titlebar_active_right_data[] = { + 0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x02,0x03,0x04,0x05,0x06,0x07,0x01,0x01,0x01,0x08, + 0x00,0x00,0x00,0x00,0x00,0x00,0x09,0x0a,0x0b,0x0c,0x0b,0x0d,0x0e,0x0f, + 0x01,0x01,0x10,0x00,0x00,0x00,0x00,0x00,0x11,0x11,0x11,0x11,0x11,0x11, + 0x11,0x12,0x13,0x01,0x01,0x14,0x00,0x00,0x00,0x00,0x15,0x15,0x15,0x16, + 0x16,0x0a,0x17,0x18,0x19,0x1a,0x01,0x01,0x1b,0x00,0x00,0x00,0x15,0x15, + 0x15,0x1c,0x15,0x09,0x17,0x1d,0x1e,0x1f,0x20,0x01,0x21,0x22,0x00,0x00, + 0x23,0x23,0x23,0x23,0x09,0x24,0x17,0x02,0x25,0x26,0x27,0x01,0x01,0x22, + 0x00,0x00,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x29, + 0x01,0x2a,0x2b,0x00,0x2c,0x2c,0x2c,0x2c,0x2d,0x2c,0x2e,0x2f,0x30,0x31, + 0x32,0x33,0x01,0x34,0x35,0x00,0x36,0x36,0x36,0x36,0x36,0x36,0x37,0x1d, + 0x38,0x39,0x3a,0x3b,0x01,0x01,0x3c,0x00,0x3d,0x3d,0x3d,0x3e,0x3f,0x3f, + 0x3d,0x18,0x25,0x40,0x41,0x42,0x01,0x01,0x3c,0x00,0x43,0x43,0x43,0x43, + 0x43,0x43,0x43,0x43,0x43,0x43,0x43,0x43,0x01,0x01,0x3c,0x00,0x44,0x44, + 0x44,0x44,0x45,0x46,0x44,0x47,0x48,0x42,0x49,0x4a,0x01,0x01,0x3c,0x00, + 0x4b,0x4b,0x4b,0x4b,0x47,0x4c,0x4b,0x4d,0x4e,0x4f,0x4a,0x50,0x01,0x01, + 0x3c,0x00,0x51,0x51,0x51,0x51,0x25,0x25,0x25,0x52,0x39,0x53,0x54,0x55, + 0x01,0x01,0x3c,0x00,0x56,0x56,0x56,0x56,0x56,0x56,0x56,0x56,0x56,0x56, + 0x56,0x56,0x01,0x01,0x3c,0x00,0x57,0x57,0x57,0x57,0x58,0x59,0x58,0x4e, + 0x5a,0x5b,0x5c,0x5d,0x01,0x01,0x3c,0x00,0x5e,0x5e,0x5e,0x5e,0x5e,0x5e, + 0x5e,0x5f,0x60,0x61,0x62,0x63,0x01,0x01,0x3c,0x00,0x5f,0x5f,0x5f,0x5f, + 0x5f,0x64,0x5f,0x65,0x66,0x67,0x68,0x69,0x01,0x01,0x3c,0x00,0x6a,0x6a, + 0x6a,0x6a,0x6a,0x6a,0x6a,0x6a,0x6a,0x6a,0x6a,0x6a,0x01,0x01,0x3c,0x00, + 0x6b,0x6b,0x6b,0x6b,0x6b,0x6b,0x6b,0x6c,0x53,0x6d,0x6e,0x6e,0x01,0x01, + 0x3c,0x00,0x6f,0x6f,0x6f,0x6f,0x6f,0x60,0x42,0x53,0x70,0x71,0x6e,0x72, + 0x01,0x01,0x3c,0x00,0x73,0x73,0x73,0x73,0x73,0x73,0x67,0x62,0x74,0x6e, + 0x75,0x75,0x01,0x01,0x3c,0x00,0x76,0x76,0x76,0x76,0x76,0x76,0x76,0x76, + 0x76,0x76,0x76,0x76,0x01,0x01,0x3c,0x00,0x77,0x77,0x77,0x77,0x77,0x77, + 0x77,0x77,0x77,0x77,0x77,0x77,0x01,0x01,0x3c,0x00 +}; + +static const QRgb titlebar_active_right_ctable[] = { + 0xffffff,0xffffffff,0xffc9e1f8,0xffcbe2f9,0xffd0e6fb,0xffe2f1fe,0xffedf6fe,0xfffafdff,0xfffdfeff,0xffcfe6fc,0xffd0e7fd,0xffd2e7fd,0xffd4e9fe,0xffcee5fb, + 0xffe0edfc,0xfffefeff,0xffedeeef,0xffd3e9fe,0xffd6ebfe,0xfff6faff,0xffcad1d9,0xffd1e7fd,0xffd2e8fd,0xffcde4fb,0xffc6dff7,0xffc2dcf5,0xffedf5fc,0xff889bae, + 0xffd1e8fd,0xffc7e0f8,0xffc1daf3,0xffbfd9f3,0xfff8fbfe,0xffdfe8f0,0xff6589ae,0xffcfe6fd,0xffcfe5fc,0xffc1dbf5,0xffbdd7f2,0xffcbe0f5,0xffcbe4fd,0xfff8fcff, + 0xffdae2ea,0xff5581ae,0xffcce3fa,0xffcce4fb,0xffcbe3fa,0xffc9e1f9,0xffc3ddf5,0xffbcd7f1,0xffbad5f0,0xffe1edf9,0xffeef2f8,0xff3369a0,0xffcae2fa,0xffc9e2f9, + 0xffc3dcf5,0xffbbd6f1,0xffb8d4ef,0xffc7ddf3,0xff2e5f91,0xffc8e0f8,0xffc8e1f8,0xffc8e1f9,0xffb9d4f0,0xffb7d3ee,0xffb6d2ee,0xffbedcfb,0xffc4def6,0xffc5def6, + 0xffc5def7,0xffc3dcf6,0xffbed9f3,0xffb4d1ed,0xffb3d0ec,0xffc2dcf6,0xffc3ddf6,0xffc1dbf4,0xffbcd7f2,0xffb5d1ed,0xffb2cfec,0xffc0dbf5,0xffc0daf4,0xffb3d0ed, + 0xffb2ceeb,0xffb1ceeb,0xffafd4f9,0xffbdd8f3,0xffbed8f4,0xffbed9f4,0xffb8d4f0,0xffb1ceec,0xffafcdea,0xffaecce9,0xffbcd8f3,0xffbbd7f2,0xffb7d3ef,0xffb0cdeb, + 0xffadcbea,0xffadcbe9,0xffbcd7f3,0xffbad6f1,0xffb6d2ef,0xffafccea,0xffaccae8,0xffabcae8,0xffa1ccf6,0xffb9d5f1,0xffb7d3f0,0xffaccae9,0xffa9c8e7,0xffb6d3ef, + 0xffafcdeb,0xffaac9e8,0xffa9c8e6,0xffafceeb,0xffabc9e8,0xffa8c7e7,0xff97c6f5,0xff278bef +}; + +static const unsigned char titlebar_inactive_center_data[] = { + 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, + 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, + 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, + 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, + 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,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,0x02,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,0x03,0x03,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04, + 0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04, + 0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04, + 0x04,0x04,0x04,0x04,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05, + 0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05, + 0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05, + 0x05,0x05,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06, + 0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06, + 0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06, + 0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05, + 0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05, + 0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x07,0x07, + 0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07, + 0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07, + 0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x08,0x08,0x08,0x08, + 0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08, + 0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08, + 0x08,0x08,0x08,0x08,0x08,0x08,0x08,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,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09, + 0x09,0x09,0x09,0x09,0x09,0x09,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a, + 0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a, + 0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a, + 0x0a,0x0a,0x0a,0x0a,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b, + 0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b, + 0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b, + 0x0b,0x0b,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c, + 0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c, + 0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c, + 0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d, + 0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d, + 0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0e,0x0e, + 0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e, + 0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e, + 0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0f,0x0f,0x0f,0x0f, + 0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f, + 0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f, + 0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x10,0x10,0x10,0x10,0x10,0x10, + 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10, + 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10, + 0x10,0x10,0x10,0x10,0x10,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,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, + 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, + 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, + 0x12,0x12,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13, + 0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13, + 0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13, + 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, + 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, + 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x14,0x14, + 0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14, + 0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14, + 0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x15,0x15,0x15,0x15, + 0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15, + 0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15, + 0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x16,0x16,0x16,0x16,0x16,0x16, + 0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16, + 0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16, + 0x16,0x16,0x16,0x16,0x16,0x16,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17, + 0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17, + 0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17, + 0x17,0x17,0x17,0x17 +}; + +static const QRgb titlebar_inactive_center_ctable[] = { + 0xffffff,0xffffffff,0xffedf1f5,0xfff7f9fa,0xfffeffff,0xfffcfdfe,0xfffdfdfe,0xfff7fbff,0xfffafbfc,0xfff9fafc,0xfff7f9fb,0xffebf5ff,0xfff5f8fa,0xfff4f7fa, + 0xfff3f6f9,0xffddeeff,0xfff1f5f8,0xfff2f5f9,0xfff2f5f8,0xffcfe7ff,0xffeef2f6,0xffe6ecf1,0xffc6e2ff,0xffa6cff9 +}; + +static const unsigned char titlebar_inactive_left_data[] = { + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01, + 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01, + 0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x02, + 0x03,0x04,0x05,0x06,0x0e,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x07, + 0x08,0x09,0x02,0x09,0x0a,0x0b,0x28,0x00,0x00,0x00,0x01,0x01,0x01,0x01, + 0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x00,0x00,0x00,0x01,0x01, + 0x0b,0x0d,0x0e,0x08,0x09,0x0f,0x0f,0x10,0x10,0x10,0x10,0x00,0x00,0x01, + 0x01,0x10,0x11,0x12,0x13,0x07,0x09,0x14,0x0f,0x14,0x14,0x14,0x14,0x00, + 0x00,0x01,0x01,0x15,0x16,0x17,0x18,0x19,0x09,0x1a,0x10,0x10,0x10,0x10, + 0x10,0x00,0x01,0x01,0x1b,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c, + 0x1c,0x1c,0x1c,0x00,0x01,0x01,0x1d,0x1e,0x11,0x1f,0x08,0x0a,0x20,0x21, + 0x20,0x20,0x20,0x20,0x20,0x00,0x01,0x01,0x22,0x23,0x11,0x06,0x24,0x0b, + 0x0a,0x0a,0x19,0x19,0x19,0x19,0x19,0x00,0x01,0x01,0x25,0x26,0x16,0x27, + 0x04,0x28,0x29,0x29,0x0b,0x28,0x28,0x28,0x28,0x00,0x01,0x01,0x2a,0x2a, + 0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x00,0x01,0x01, + 0x2b,0x25,0x2c,0x0e,0x2d,0x24,0x2e,0x08,0x24,0x24,0x24,0x24,0x24,0x00, + 0x01,0x01,0x2b,0x25,0x2f,0x30,0x31,0x32,0x24,0x33,0x32,0x32,0x32,0x32, + 0x32,0x00,0x01,0x01,0x34,0x35,0x1e,0x36,0x31,0x37,0x38,0x37,0x2d,0x2d, + 0x2d,0x2d,0x2d,0x00,0x01,0x01,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39, + 0x39,0x39,0x39,0x39,0x39,0x00,0x01,0x01,0x3a,0x2b,0x1e,0x3b,0x13,0x3c, + 0x3d,0x3c,0x3e,0x3e,0x3e,0x3e,0x3e,0x00,0x01,0x01,0x3a,0x3f,0x1e,0x3b, + 0x40,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x00,0x01,0x01,0x41,0x3a, + 0x1e,0x42,0x40,0x31,0x2d,0x31,0x31,0x31,0x31,0x31,0x31,0x00,0x01,0x01, + 0x43,0x43,0x43,0x43,0x43,0x43,0x43,0x43,0x43,0x43,0x43,0x43,0x43,0x00, + 0x01,0x01,0x44,0x41,0x45,0x17,0x06,0x46,0x31,0x31,0x31,0x31,0x31,0x31, + 0x31,0x00,0x01,0x01,0x44,0x41,0x2b,0x11,0x47,0x48,0x06,0x27,0x27,0x27, + 0x27,0x27,0x27,0x00,0x01,0x01,0x41,0x41,0x3a,0x45,0x49,0x4a,0x4b,0x4b, + 0x4b,0x4b,0x4b,0x4b,0x4b,0x00,0x01,0x01,0x4c,0x4c,0x4c,0x4c,0x4c,0x4c, + 0x4c,0x4c,0x4c,0x4c,0x4c,0x4c,0x4c,0x00,0x01,0x01,0x4d,0x4d,0x4d,0x4d, + 0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x00 +}; + +static const QRgb titlebar_inactive_left_ctable[] = { + 0xffffff,0xffffffff,0xfffefefe,0xfffdfdfd,0xfff5f7f9,0xfff1f4f7,0xffeff2f6,0xfff8f9fb,0xfff6f8fa,0xfffbfcfd,0xfff9fbfc,0xfff8fafb,0xfffeffff,0xffe8edf2, + 0xffedf1f5,0xfffdfefe,0xfffcfdfe,0xffe4eaf0,0xffe7ecf1,0xfff0f3f7,0xfffdfdfe,0xffe8eef3,0xffe3e9ef,0xffe9eef3,0xfff3f6f8,0xfff9fafc,0xfffcfdfd,0xfffdfeff, + 0xfff7fbff,0xfff0f4f8,0xffe1e7ee,0xffeef2f5,0xfffafbfc,0xfffafcfd,0xffe6ebf1,0xffe0e7ee,0xfff5f8fa,0xffdfe6ed,0xffe0e7ed,0xffeef2f6,0xfff7f9fb,0xfff8fafc, + 0xffebf5ff,0xffdee5ec,0xffe2e8ef,0xfff3f6f9,0xfff6f8fb,0xffe2e8ee,0xffecf0f5,0xfff2f5f8,0xfff4f7fa,0xfff5f7fa,0xffdee4ec,0xffdfe5ec,0xffecf0f4,0xfff4f6f9, + 0xfff4f7f9,0xffddeeff,0xffdde4eb,0xffeaeff4,0xfff2f5f9,0xfff2f6f9,0xfff1f5f8,0xffdde4ec,0xfff0f4f7,0xffdce3eb,0xffebeff4,0xffcfe7ff,0xffdce3ea,0xffe0e6ed, + 0xfff1f4f8,0xffeaeff3,0xffeef1f5,0xffe3e8ef,0xffe5eaf0,0xffe6ecf1,0xffc6e2ff,0xffa6cff9 +}; + +static const unsigned char titlebar_inactive_right_data[] = { + 0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x02,0x03,0x04,0x05,0x06,0x01,0x01,0x01,0x01,0x07, + 0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x09,0x0a,0x06,0x0a,0x0b,0x0c,0x01, + 0x01,0x01,0x0d,0x00,0x00,0x00,0x00,0x00,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e, + 0x0e,0x0e,0x01,0x01,0x01,0x0f,0x00,0x00,0x00,0x00,0x10,0x10,0x10,0x11, + 0x11,0x0a,0x0b,0x12,0x13,0x08,0x01,0x01,0x14,0x00,0x00,0x00,0x15,0x15, + 0x15,0x11,0x15,0x0a,0x0c,0x16,0x17,0x18,0x10,0x01,0x19,0x1a,0x00,0x00, + 0x10,0x10,0x10,0x10,0x1b,0x0a,0x1c,0x1d,0x1e,0x1f,0x20,0x01,0x01,0x1a, + 0x00,0x00,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x07, + 0x01,0x22,0x23,0x00,0x24,0x24,0x24,0x24,0x25,0x24,0x09,0x0b,0x26,0x18, + 0x27,0x28,0x01,0x29,0x2a,0x00,0x1c,0x1c,0x1c,0x1c,0x09,0x09,0x08,0x2b, + 0x02,0x18,0x2c,0x2d,0x01,0x01,0x2e,0x00,0x2f,0x2f,0x2f,0x08,0x30,0x30, + 0x2f,0x04,0x31,0x1f,0x32,0x33,0x01,0x01,0x34,0x00,0x35,0x35,0x35,0x35, + 0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x01,0x01,0x34,0x00,0x2b,0x2b, + 0x2b,0x2b,0x0b,0x36,0x2b,0x37,0x12,0x38,0x33,0x39,0x01,0x01,0x34,0x00, + 0x3a,0x3a,0x3a,0x3a,0x3b,0x2b,0x3a,0x3c,0x3d,0x3e,0x33,0x39,0x01,0x01, + 0x34,0x00,0x37,0x37,0x37,0x37,0x3f,0x40,0x3f,0x3c,0x41,0x27,0x42,0x43, + 0x01,0x01,0x34,0x00,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44, + 0x44,0x44,0x01,0x01,0x34,0x00,0x45,0x45,0x45,0x45,0x46,0x47,0x46,0x16, + 0x48,0x27,0x39,0x49,0x01,0x01,0x34,0x00,0x46,0x46,0x46,0x46,0x46,0x46, + 0x46,0x4a,0x48,0x27,0x4b,0x49,0x01,0x01,0x34,0x00,0x3c,0x3c,0x3c,0x3c, + 0x3c,0x37,0x3c,0x4a,0x4c,0x27,0x49,0x4d,0x01,0x01,0x34,0x00,0x4e,0x4e, + 0x4e,0x4e,0x4e,0x4e,0x4e,0x4e,0x4e,0x4e,0x4e,0x4e,0x01,0x01,0x34,0x00, + 0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x4f,0x02,0x1e,0x50,0x4d,0x51,0x01,0x01, + 0x34,0x00,0x31,0x31,0x31,0x31,0x31,0x02,0x52,0x53,0x18,0x39,0x4d,0x51, + 0x01,0x01,0x34,0x00,0x54,0x54,0x54,0x54,0x54,0x54,0x55,0x56,0x50,0x49, + 0x4d,0x4d,0x01,0x01,0x34,0x00,0x57,0x57,0x57,0x57,0x57,0x57,0x57,0x57, + 0x57,0x57,0x57,0x57,0x01,0x01,0x34,0x00,0x58,0x58,0x58,0x58,0x58,0x58, + 0x58,0x58,0x58,0x58,0x58,0x58,0x01,0x01,0x34,0x00 +}; + +static const QRgb titlebar_inactive_right_ctable[] = { + 0xffffff,0xffffffff,0xffeff2f6,0xfff1f4f7,0xfff5f7f9,0xfffdfdfd,0xfffefefe,0xfffdfeff,0xfff8fafb,0xfff9fbfc,0xfffbfcfd,0xfff6f8fa,0xfff8f9fb,0xffedeeef, + 0xfffeffff,0xffcad1d9,0xfffcfdfe,0xfffdfefe,0xffedf1f5,0xffe8edf2,0xff889bae,0xfffdfdfe,0xfff0f3f7,0xffe7ecf1,0xffe4eaf0,0xffdfe8f0,0xff6589ae,0xfffcfdfd, + 0xfff9fafc,0xfff3f6f8,0xffe9eef3,0xffe3e9ef,0xffe8eef3,0xfff7fbff,0xffdae2ea,0xff5581ae,0xfffafbfc,0xfffafcfd,0xffeef2f5,0xffe1e7ee,0xfff0f4f8,0xffeef2f8, + 0xff3369a0,0xfff5f8fa,0xffe0e7ee,0xffe6ebf1,0xff2e5f91,0xfff7f9fb,0xfff8fafc,0xffeef2f6,0xffe0e7ed,0xffdfe6ed,0xff3a5b7c,0xffebf5ff,0xfff6f8fb,0xfff3f6f9, + 0xffe2e8ef,0xffdee5ec,0xfff4f7fa,0xfff5f7fa,0xfff2f5f8,0xffecf0f5,0xffe2e8ee,0xfff4f6f9,0xfff4f7f9,0xffecf0f4,0xffdfe5ec,0xffdee4ec,0xffddeeff,0xfff1f5f8, + 0xfff2f5f9,0xfff2f6f9,0xffeaeff4,0xffdde4eb,0xfff0f4f7,0xffdde4ec,0xffebeff4,0xffdce3eb,0xffcfe7ff,0xfff1f4f8,0xffe0e6ed,0xffdce3ea,0xffeef1f5,0xffeaeff3, + 0xffe6ecf1,0xffe5eaf0,0xffe3e8ef,0xffc6e2ff,0xffa6cff9 +}; + +static const QRgb titlebutton_round_data[] = { + 0x808080,0x808080,0x808080,0x808080,0x5af3f5f8,0xc3f3f5f8,0xe5f3f5f8,0xfcf3f5f8,0xe5f3f5f8,0x9cf3f5f8,0x52f3f5f8,0x808080,0x808080,0x808080, + 0x808080,0x808080,0x0,0x0,0x0,0x0,0x0,0x94f3f5f8,0xf1f3f5f8,0xfcf3f5f8,0xfff3f5f8,0xfcf3f5f8,0xd9f3f5f8,0x8af3f5f8, + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x808080,0x808080,0x52e3e9ef,0xbbe3e9ef,0xffeaeef3, + 0xfff8f9fa,0xfff0f3f6,0xffe8edf2,0xffe4eaf0,0xffe2e8ef,0xffe2e9ef,0xb2e3e9ef,0x49e3e9ef,0x808080,0x808080,0x808080,0x0,0x0,0x0, + 0x8ae3e9ef,0xede3e9ef,0xffecf0f4,0xfffbfcfc,0xfffbfcfc,0xfff9fefe,0xfff5fbfe,0xffeff6fa,0xffeaf1f6,0xe8e4eaf0,0x7de3e9ef,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0,0x0,0xf3f5f8,0x5af3f5f8,0xc3f3f5f8,0xe5f3f5f8,0xfcf3f5f8,0xe5f3f5f8,0x9cf3f5f8,0x52f3f5f8,0x0, + 0x0,0x0,0x0,0x0,0x808080,0x52cfd9e4,0xffd1dbe5,0xffe2e8ee,0xffedf1f6,0xfffbfcfd,0xfff7f9fb,0xffedf1f5,0xffe6ebf1,0xffe2e8ef, + 0xffe0e7ee,0xffdbe2ea,0xffd1dae5,0x49cfd9e4,0x808080,0x808080,0x0,0x0,0x8acfd9e4,0xffd1dbe5,0xffe6ecf2,0xfff9fbfc,0xffffffff,0xffffffff, + 0xffffffff,0xfff9ffff,0xfff4fbff,0xfff2faff,0xffe7eef7,0xffd4dee9,0x7dcfd9e4,0x0,0x0,0x0,0x0,0x0,0xe3e9ef,0x52e3e9ef, + 0xbbe3e9ef,0xffecf0f4,0xfffbfcfc,0xfffbfcfc,0xfff9fefe,0xfff5fbfe,0xffeff6fa,0xffeaf1f6,0xb2e5ebf1,0x49e3e9ef,0x0,0x0,0x0,0x808080, + 0xbbbac8d7,0xffd7dfe9,0xffe4eaf0,0xffedf1f5,0xfff8f9fb,0xfffbfbfd,0xfff4f6f9,0xffebeff4,0xffdfe6ed,0xffdde4ec,0xffdfe6ed,0xffd4dde6,0xb4b8c6d4,0x1000000, + 0x808080,0x0,0x0,0xedbac8d7,0xffd9e1eb,0xfff0f7fa,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xfff1f9ff,0xffeef6ff,0xfff1f9ff, + 0xffdfe9f3,0xe9b8c7d5,0x2000000,0x0,0x0,0x0,0xcfd9e4,0x52cfd9e4,0xffd1dbe5,0xffe6ecf2,0xfff9fbfc,0xffffffff,0xffffffff,0xffffffff, + 0xfff9ffff,0xfff4fbff,0xfff2faff,0xffe7eef7,0xffd4dee9,0x49cfd9e4,0x0,0x0,0x5aa2b6c9,0xffb6c5d5,0xffdbe2ea,0xffe1e7ee,0xffecf0f5,0xfff6f8fb, + 0xfffafbfd,0xfff7f9fb,0xfff1f4f7,0xffe6ebf1,0xffd8e0e9,0xffdbe2eb,0xffdee5ed,0xffb5c5d5,0x5798abbd,0x808080,0x0,0x94a2b6c9,0xffb6c5d5,0xffe2eaf2, + 0xfff3faff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xfff9ffff,0xffe8f2fc,0xffecf4ff,0xffeff8ff,0xffbacbdc,0x9098abbd,0x0,0x0, + 0x0,0xbac8d7,0xbbbac8d7,0xffd9e1eb,0xfff0f7fa,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xfff1f9ff,0xffeef6ff,0xfff1f9ff,0xffdfe9f3, + 0xb4b9c8d6,0x1000000,0x0,0xc389a2bb,0xffcad5e0,0xffdfe6ed,0xffdce4ec,0xffebf0f5,0xfff3f6f9,0xfff7f9fb,0xfff6f8fb,0xfff3f6f9,0xffebf0f4,0xffdce3eb, + 0xffd5dee7,0xffdee5ec,0xffbccbd9,0xa68198b0,0x3000000,0x0,0xf189a2bb,0xffcad5e0,0xffecf4fa,0xffedf6ff,0xffffffff,0xffffffff,0xffffffff,0xffffffff, + 0xffffffff,0xffffffff,0xffedf5ff,0xffe5effa,0xffeff8ff,0xffc5d5e5,0xe08198b0,0x3000000,0x0,0xa2b6c9,0x5aa2b6c9,0xffb6c5d5,0xffe2eaf2,0xfff3faff, + 0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xfff9ffff,0xffe8f2fc,0xffecf4ff,0xffeff8ff,0xffbacbdc,0x5798abbd,0x0,0xf37693b0,0xffd8e0e9, + 0xffdce3eb,0xffd8e1e9,0xffe8edf3,0xfff1f4f8,0xfff3f6f9,0xfff3f6f9,0xfff2f5f9,0xffedf2f6,0xffe1e7ef,0xffd3dce6,0xffdce3eb,0xffcfd9e4,0xe3728eaa,0xb000000, + 0x0,0xfe7693b0,0xffd8e0e9,0xffecf4fd,0xffe8f3fc,0xfffbffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xfff3faff,0xffe3edf9,0xffedf5ff, + 0xffdde9f5,0xfc728eaa,0xb000000,0x0,0x89a2bb,0xc389a2bb,0xffcad5e0,0xffecf4fa,0xffedf6ff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff, + 0xffffffff,0xffedf5ff,0xffe5effa,0xffeff8ff,0xffc5d5e5,0xa68198b0,0x0,0xfd6586a6,0xffdce3ea,0xffd9e1ea,0xffd4dde7,0xffe4eaf0,0xffedf1f5,0xffeff3f7, + 0xfff0f4f8,0xffeff3f7,0xffedf1f5,0xffe3e9f0,0xffd3dde6,0xffdae2ea,0xffdbe3ea,0xfc6585a5,0x15000000,0x0,0xff6586a6,0xffdce3ea,0xffe9f2fb,0xffe4eefa, + 0xfff6fdff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xfff5fcff,0xffe3eef9,0xffebf4fd,0xffebf4fb,0xff6585a5,0x15000000,0x0,0x7693b0, + 0xf37693b0,0xffd8e0e9,0xffecf4fd,0xffe8f3fc,0xfffbffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xfff3faff,0xffe3edf9,0xffedf5ff,0xffdde9f5, + 0xe3728eaa,0x0,0xf355799d,0xffd6dee7,0xffdae2ea,0xffd1dbe5,0xffdee5ed,0xffe8edf3,0xffecf0f6,0xffeef1f6,0xffedf2f6,0xffebf0f5,0xffe4eaf0,0xffd5dee7, + 0xffdbe2ea,0xffc9d4e0,0xe9507294,0x1d000000,0x0,0xfe55799d,0xffd6dee7,0xffe6eff8,0xffe0ecf8,0xffeff8ff,0xfffbffff,0xffffffff,0xffffffff,0xffffffff, + 0xffffffff,0xfff6fdff,0xffe5effa,0xffecf4fd,0xffd3dfed,0xfd507294,0x1d000000,0x0,0x6586a6,0xfd6586a6,0xffdce3ea,0xffe9f2fb,0xffe4eefa,0xfff6fdff, + 0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xfff5fcff,0xffe3eef9,0xffebf4fd,0xffebf4fb,0xfc6585a5,0x0,0xa8456d94,0xffa8bbcd,0xffdbe3eb, + 0xffd1dbe5,0xffd6dfe8,0xffe3e9f0,0xffe9eef4,0xffebf1f5,0xffecf1f6,0xffeaf0f4,0xffe3eaf0,0xffd8e0e9,0xffdde4eb,0xffa8bbcd,0xca395b7b,0x20000000,0x0, + 0xe1456d94,0xffa8bbcd,0xffe2ebf4,0xffe0ecf8,0xffe6f1fb,0xfff5fcff,0xfffcffff,0xffffffff,0xffffffff,0xfffdffff,0xfff5fdff,0xffe8f2fc,0xffeef6ff,0xffacc0d4, + 0xf4395b7b,0x20000000,0x0,0x55799d,0xf355799d,0xffd6dee7,0xffe6eff8,0xffe0ecf8,0xffeff8ff,0xfffbffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff, + 0xfff6fdff,0xffe5effa,0xffecf4fd,0xffd3dfed,0xe9507294,0x0,0x5237618b,0xff6c8aaa,0xffdae1ea,0xffd7dfe8,0xffd2dbe5,0xffdbe3eb,0xffe5ebf1,0xffeaeff4, + 0xffeef2f6,0xffebf0f5,0xffe4eaf0,0xffdde4eb,0xffdbe2eb,0xff6c8baa,0x921f364e,0x1d000000,0x0,0x8a37618b,0xff6c8aaa,0xffdce3ec,0xffe2ebf5,0xffe2ecf8, + 0xffecf5ff,0xfff8ffff,0xfffdffff,0xffffffff,0xffffffff,0xfff6fdff,0xffeef6ff,0xffe7eef9,0xff6c8bab,0x921f364e,0x1d000000,0x0,0x456d94,0xa8456d94, + 0xffa8bbcd,0xffe2ebf4,0xffe0ecf8,0xffe6f1fb,0xfff5fcff,0xfffcffff,0xffffffff,0xffffffff,0xfffdffff,0xfff5fdff,0xffe8f2fc,0xffeef6ff,0xffacc0d4,0xca395b7b, + 0x0,0x808080,0xa327517d,0xff94abc2,0xffdbe2ea,0xffd8e0e8,0xffd7dfe8,0xffdfe6ed,0xffe8edf2,0xffeef2f6,0xffedf1f6,0xffe6ecf1,0xffdfe6ed,0xffced7e3, + 0xf327527e,0x4f000000,0x15000000,0x0,0x0,0xde27517d,0xff94abc2,0xffdfe6ee,0xffe3ecf5,0xffe7f1fb,0xfff1f9ff,0xfffbffff,0xffffffff,0xffffffff, + 0xfff9ffff,0xffebf3f9,0xffd1dbe7,0xfe27527e,0x4f000000,0x15000000,0x0,0x37618b,0x5237618b,0xff6c8aaa,0xffdce3ec,0xffe2ebf5,0xffe2ecf8,0xffecf5ff, + 0xfff8ffff,0xfffdffff,0xffffffff,0xffffffff,0xfff6fdff,0xffeef6ff,0xffe7eef9,0xff6c8bab,0x0,0x0,0x808080,0x3a184069,0xff2d5a86,0xff8fa7be, + 0xffdae1e9,0xffdce3eb,0xffdee5ed,0xffe5eaf0,0xffedf1f6,0xfff2f5f8,0xffe5ebf1,0xff94aac1,0xff2e5a86,0xb8133456,0x39000000,0xb000000,0x0,0x0, + 0x67184069,0xff2d5a86,0xff8fa7be,0xffdce3eb,0xffe3ebf4,0xffeaf3fa,0xfff6fbfe,0xfffefefe,0xfffbfcfd,0xffedf4f7,0xff95abc2,0xff2e5a86,0xb8133456,0x39000000, + 0xb000000,0x0,0x0,0x27517d,0xa327517d,0xff94abc2,0xffdfe6ee,0xffe3ecf5,0xffe7f1fb,0xfff1f9ff,0xfffbffff,0xffffffff,0xffffffff,0xfff9ffff, + 0xffebf3f9,0xffd1dbe7,0xf327527e,0x0,0x0,0x808080,0x3000000,0x450c3054,0xb70e3963,0xff52779b,0xff8da5bd,0xffbdcbd9,0xffdde4ec,0xffc6d2df, + 0xff9bb0c6,0xff587c9f,0xd00d3257,0x94061627,0x55000000,0x1f000000,0x3000000,0x0,0x0,0x6000000,0x770c3054,0xeb0e3963,0xff52779b,0xff8da5bd, + 0xffbdcbd9,0xffdde4ec,0xffc6d2df,0xff9bb0c6,0xff587c9f,0xf60d3257,0x94061627,0x55000000,0x1f000000,0x3000000,0x0,0x0,0x184069,0x3a184069, + 0xff2d5a86,0xff8fa7be,0xffdce3eb,0xffe3ebf4,0xffeaf3fa,0xfff6fbfe,0xfffefefe,0xfffbfcfd,0xffedf4f7,0xff95abc2,0xff2e5a86,0x0,0x0,0x0, + 0x808080,0x808080,0x7000000,0x21000000,0x84052545,0xc6062f58,0xeb073766,0xfd083b6f,0xec073766,0xd0062d54,0xa7041d37,0x6d000000,0x4d000000,0x26000000, + 0x9000000,0x808080,0x0,0x0,0x0,0xe000000,0x3e000000,0xc4052545,0xf2062f58,0xfd073766,0xff083b6f,0xfe073766,0xf6062d54,0xa7041d37, + 0x6d000000,0x4d000000,0x26000000,0x9000000,0x0,0x0,0x0,0x0,0x3000000,0x450c3054,0xb70e3963,0xff52779b,0xff8da5bd,0xffbdcbd9, + 0xffdde4ec,0xffc6d2df,0xff9bb0c6,0xff587c9f,0xd00d3257,0x0,0x0,0x0,0x0,0x808080,0x808080,0x1000000,0x7000000,0x19000000, + 0x35000000,0x4c000000,0x5c000000,0x63000000,0x5c000000,0x4c000000,0x35000000,0x19000000,0x7000000,0x1000000,0x808080,0x0,0x0,0x0, + 0x2000000,0x7000000,0x19000000,0x35000000,0x4c000000,0x5c000000,0x63000000,0x5c000000,0x4c000000,0x35000000,0x19000000,0x7000000,0x1000000,0x0, + 0x0,0x0,0x0,0x0,0x7000000,0x21000000,0x84052545,0xc6062f58,0xeb073766,0xfd083b6f,0xec073766,0xd0062d54,0x0,0x0, + 0x0,0x0,0x0,0x0,0x808080,0x808080,0x808080,0x808080,0x3000000,0xb000000,0x15000000,0x1d000000,0x20000000,0x1d000000, + 0x15000000,0xb000000,0x3000000,0x808080,0x808080,0x808080,0x0,0x0,0x0,0x0,0x0,0x3000000,0xb000000,0x15000000, + 0x1d000000,0x20000000,0x1d000000,0x15000000,0xb000000,0x3000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1000000, + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0 +}; + +static const QRgb titlebutton_square_data[] = { + 0x96f3f5f8,0xfff3f5f8,0xfff3f5f8,0xfff3f5f8,0xfff3f5f8,0xfff3f5f8,0xfff3f5f8,0xfff3f5f8,0xfff3f5f8,0xfff3f5f8,0xfff3f5f8,0xfff3f5f8,0xfff3f5f8,0xfff3f5f8, + 0x96f3f5f8,0x808080,0x0,0xd4f3f5f8,0xfff3f5f8,0xfff3f5f8,0xfff3f5f8,0xfff3f5f8,0xfff3f5f8,0xfff3f5f8,0xfff3f5f8,0xfff3f5f8,0xfff3f5f8,0xfff3f5f8, + 0xfff3f5f8,0xfff3f5f8,0xfff3f5f8,0xd4f3f5f8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xffe3e9ef,0xfff3f5f8,0xfff4f6f9,0xfffafbfc,0xfff6f8fa, + 0xfff0f3f7,0xffedf1f5,0xffebf0f4,0xffeaeff4,0xffe8edf2,0xffe5eaf0,0xffe2e8ef,0xffe1e7ee,0xffe1e7ee,0xffe3e9ef,0x808080,0x0,0xffe3e9ef,0xffffffff, + 0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xfffdffff,0xfffbffff,0xfff8fdff,0xfff4fbff,0xfff3faff,0xfff3faff,0xffe3e9ef,0xf3f5f8, + 0x0,0x0,0x96f3f5f8,0xfff3f5f8,0xfff3f5f8,0xfff3f5f8,0xfff3f5f8,0xfff3f5f8,0xfff3f5f8,0xfff3f5f8,0xfff3f5f8,0xfff3f5f8,0xfff3f5f8,0xfff3f5f8, + 0xfff3f5f8,0xfff3f5f8,0x96f3f5f8,0x0,0xffcfd9e4,0xffe5eaf0,0xffe6ecf1,0xffeff3f6,0xfffdfdfe,0xfff9fafc,0xfff7f8fa,0xfff6f8fa,0xfff3f6f9,0xffeff3f6, + 0xffe9edf3,0xffe3e9ef,0xffe0e7ee,0xffdfe6ed,0xffcfd9e4,0x8000000,0x0,0xffcfd9e4,0xfff8fdff,0xfff9ffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff, + 0xffffffff,0xffffffff,0xffffffff,0xfffcffff,0xfff5fcff,0xfff2faff,0xfff1f9ff,0xffcfd9e4,0x8000000,0x0,0x0,0xffe3e9ef,0xffffffff,0xffffffff, + 0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xfffdffff,0xfffbffff,0xfff8fdff,0xfff4fbff,0xfff3faff,0xfff3faff,0xffe3e9ef,0x0,0xffbac8d7, + 0xffe0e7ee,0xffe2e8ef,0xffe7ecf1,0xfff6f8fa,0xfffdfdfe,0xfffafbfc,0xfff9fafc,0xfff8f9fb,0xfff4f6f9,0xffecf0f4,0xffdfe6ed,0xffe0e6ed,0xffdee5ed,0xffbac8d7, + 0x1a000000,0x0,0xffbac8d7,0xfff2faff,0xfff4fbff,0xfffaffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xfff1f9ff, + 0xfff2f9ff,0xffeff8ff,0xffbac8d7,0x1a000000,0x0,0x0,0xffcfd9e4,0xfff8fdff,0xfff9ffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff, + 0xffffffff,0xffffffff,0xfffcffff,0xfff5fcff,0xfff2faff,0xfff1f9ff,0xffcfd9e4,0x0,0xffa2b6c9,0xffdee5ed,0xffdae2ea,0xffdee4ec,0xfff0f3f7,0xfff7f9fb, + 0xfff9fbfd,0xfff8f9fc,0xfff8f9fb,0xfff5f7fa,0xffecf0f5,0xffdae2eb,0xffd9e1ea,0xffdee5ec,0xffa2b6c9,0x23000000,0x0,0xffa2b6c9,0xffeff8ff,0xffebf4fd, + 0xffeff6ff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffebf4ff,0xffeaf3fd,0xffeff8ff,0xffa2b6c9,0x23000000,0x0, + 0x0,0xffbac8d7,0xfff2faff,0xfff4fbff,0xfffaffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xfff1f9ff,0xfff2f9ff, + 0xffeff8ff,0xffbac8d7,0x0,0xff89a2bb,0xffdde5ec,0xffd1dbe5,0xffd6dee8,0xffebf0f4,0xfff3f6f9,0xfff4f7fa,0xfff6f8fb,0xfff4f7fa,0xfff3f6f9,0xffebf0f4, + 0xffd6dee8,0xffd1dbe5,0xffdde5ec,0xff89a2bb,0x23000000,0x0,0xff89a2bb,0xffeef8ff,0xffe0ecf8,0xffe6effb,0xffffffff,0xffffffff,0xffffffff,0xffffffff, + 0xffffffff,0xffffffff,0xffffffff,0xffe6effb,0xffe0ecf8,0xffeef8ff,0xff89a2bb,0x23000000,0x0,0x0,0xffa2b6c9,0xffeff8ff,0xffebf4fd,0xffeff6ff, + 0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffebf4ff,0xffeaf3fd,0xffeff8ff,0xffa2b6c9,0x0,0xff7693b0,0xffdbe2ea, + 0xffccd7e2,0xffd1dbe5,0xffe7ecf3,0xffeff3f7,0xfff1f4f8,0xfff2f5f9,0xfff1f4f8,0xffeff3f7,0xffe7ecf3,0xffd1dbe5,0xffccd7e2,0xffdbe2ea,0xff7693b0,0x23000000, + 0x0,0xff7693b0,0xffecf4fd,0xffdbe7f4,0xffe0ecf8,0xfffaffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xfffaffff,0xffe0ecf8,0xffdbe7f4, + 0xffecf4fd,0xff7693b0,0x23000000,0x0,0x0,0xff89a2bb,0xffeef8ff,0xffe0ecf8,0xffe6effb,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff, + 0xffffffff,0xffffffff,0xffe6effb,0xffe0ecf8,0xffeef8ff,0xff89a2bb,0x0,0xff6586a6,0xffd9e1e9,0xffc9d5e1,0xffced9e3,0xffe4eaf0,0xffecf1f5,0xffecf2f6, + 0xffeef2f6,0xffecf2f6,0xffecf1f5,0xffe4eaf0,0xffced9e3,0xffc9d5e1,0xffd9e1e9,0xff6586a6,0x23000000,0x0,0xff6586a6,0xffeaf3fc,0xffd7e5f3,0xffddeaf5, + 0xfff6fdff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xfff6fdff,0xffddeaf5,0xffd7e5f3,0xffeaf3fc,0xff6586a6,0x23000000,0x0,0x0, + 0xff7693b0,0xffecf4fd,0xffdbe7f4,0xffe0ecf8,0xfffaffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xfffaffff,0xffe0ecf8,0xffdbe7f4,0xffecf4fd, + 0xff7693b0,0x0,0xff55799d,0xffdae1ea,0xffcad5e1,0xffced8e3,0xffe2e8f0,0xffe9eef4,0xffeaeff4,0xffebf0f5,0xffeaeff4,0xffe9eef4,0xffe2e8f0,0xffced8e3, + 0xffcad5e1,0xffdae1ea,0xff55799d,0x23000000,0x0,0xff55799d,0xffebf3fd,0xffd8e5f3,0xffdde8f5,0xfff4fbff,0xfffcffff,0xfffdffff,0xffffffff,0xfffdffff, + 0xfffcffff,0xfff4fbff,0xffdde8f5,0xffd8e5f3,0xffebf3fd,0xff55799d,0x23000000,0x0,0x0,0xff6586a6,0xffeaf3fc,0xffd7e5f3,0xffddeaf5,0xfff6fdff, + 0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xfff6fdff,0xffddeaf5,0xffd7e5f3,0xffeaf3fc,0xff6586a6,0x0,0xff456d94,0xffdbe3ea,0xffced8e3, + 0xffd0dae5,0xffe2e9f0,0xffe7edf3,0xffe8eef4,0xffe9eef4,0xffe8eef4,0xffe7edf3,0xffe2e9f0,0xffd0dae5,0xffced8e3,0xffdbe3ea,0xff456d94,0x23000000,0x0, + 0xff456d94,0xffecf5fd,0xffdde8f5,0xffdfebf8,0xfff4fcff,0xfffaffff,0xfffbffff,0xfffcffff,0xfffbffff,0xfffaffff,0xfff4fcff,0xffdfebf8,0xffdde8f5,0xffecf5fd, + 0xff456d94,0x23000000,0x0,0x0,0xff55799d,0xffebf3fd,0xffd8e5f3,0xffdde8f5,0xfff4fbff,0xfffcffff,0xfffdffff,0xffffffff,0xfffdffff,0xfffcffff, + 0xfff4fbff,0xffdde8f5,0xffd8e5f3,0xffebf3fd,0xff55799d,0x0,0xff37618b,0xffdbe2ea,0xffd5dee7,0xffd3dce6,0xffe1e8ee,0xffe6edf2,0xffe7eef3,0xffe7eef3, + 0xffe9eff4,0xffe9eef3,0xffe4eaf0,0xffd6dfe8,0xffd6dee7,0xffdbe2ea,0xff37618b,0x23000000,0x0,0xff37618b,0xffecf4fd,0xffe5effa,0xffe3edf9,0xfff3fbff, + 0xfff9ffff,0xfffaffff,0xfffaffff,0xfffcffff,0xfffcffff,0xfff6fdff,0xffe6f1fb,0xffe6effa,0xffecf4fd,0xff37618b,0x23000000,0x0,0x0,0xff456d94, + 0xffecf5fd,0xffdde8f5,0xffdfebf8,0xfff4fcff,0xfffaffff,0xfffbffff,0xfffcffff,0xfffbffff,0xfffaffff,0xfff4fcff,0xffdfebf8,0xffdde8f5,0xffecf5fd,0xff456d94, + 0x0,0xff295684,0xffdae2ea,0xffdbe3ea,0xffd8e0e9,0xffe0e7ee,0xffe5ebf1,0xffe7edf2,0xffe8edf3,0xffe9eef3,0xffecf1f5,0xffe9eef3,0xffdfe6ed,0xffdde4eb, + 0xffdce3ea,0xff295684,0x23000000,0x0,0xff295684,0xffebf4fd,0xffecf5fd,0xffe8f2fc,0xfff2faff,0xfff8ffff,0xfffaffff,0xfffbffff,0xfffcffff,0xffffffff, + 0xfffcffff,0xfff1f9ff,0xffeef6ff,0xffedf5fd,0xff295684,0x23000000,0x0,0x0,0xff37618b,0xffecf4fd,0xffe5effa,0xffe3edf9,0xfff3fbff,0xfff9ffff, + 0xfffaffff,0xfffaffff,0xfffcffff,0xfffcffff,0xfff6fdff,0xffe6f1fb,0xffe6effa,0xffecf4fd,0xff37618b,0x0,0xff1c4c7c,0xffdae2ea,0xffdbe2ea,0xffdde4ec, + 0xffe0e7ed,0xffe3e9f0,0xffe5ebf1,0xffe6ecf2,0xffe7edf3,0xffebf0f5,0xfff1f4f8,0xffe7ecf2,0xffe0e6ed,0xffdfe5ec,0xff1c4c7c,0x23000000,0x0,0xff1c4c7c, + 0xffebf4fd,0xffecf4fd,0xffeef6ff,0xfff2faff,0xfff5fcff,0xfff8ffff,0xfff9ffff,0xfffaffff,0xffffffff,0xffffffff,0xfffaffff,0xfff2f9ff,0xfff1f8ff,0xff1c4c7c, + 0x23000000,0x0,0x0,0xff295684,0xffebf4fd,0xffecf5fd,0xffe8f2fc,0xfff2faff,0xfff8ffff,0xfffaffff,0xfffbffff,0xfffcffff,0xffffffff,0xfffcffff, + 0xfff1f9ff,0xffeef6ff,0xffedf5fd,0xff295684,0x0,0xff114476,0xffdbe2ea,0xffdbe2ea,0xffdbe3ea,0xffdee5ec,0xffe1e7ee,0xffe2e8ee,0xffe2e8ef,0xffe4eaf0, + 0xffe7ecf2,0xffecf1f5,0xffeff3f7,0xffeaeff3,0xffe9eef3,0xff114476,0x23000000,0x0,0xff114476,0xffecf4fd,0xffecf4fd,0xffecf5fd,0xffeff8ff,0xfff3faff, + 0xfff4fbff,0xfff4fbff,0xfff6fdff,0xfffaffff,0xffffffff,0xffffffff,0xfffdffff,0xfffcffff,0xff114476,0x23000000,0x0,0x0,0xff1c4c7c,0xffebf4fd, + 0xffecf4fd,0xffeef6ff,0xfff2faff,0xfff5fcff,0xfff8ffff,0xfff9ffff,0xfffaffff,0xffffffff,0xffffffff,0xfffaffff,0xfff2f9ff,0xfff1f8ff,0xff1c4c7c,0x0, + 0x96083c70,0xff083c70,0xff083c70,0xff083c70,0xff083c70,0xff083c70,0xff083c70,0xff083c70,0xff083c70,0xff083c70,0xff083c70,0xff083c70,0xff083c70,0xff083c70, + 0xc1062f57,0x23000000,0x0,0xd4083c70,0xff083c70,0xff083c70,0xff083c70,0xff083c70,0xff083c70,0xff083c70,0xff083c70,0xff083c70,0xff083c70,0xff083c70, + 0xff083c70,0xff083c70,0xff083c70,0xf0062f57,0x23000000,0x0,0x0,0xff114476,0xffecf4fd,0xffecf4fd,0xffecf5fd,0xffeff8ff,0xfff3faff,0xfff4fbff, + 0xfff4fbff,0xfff6fdff,0xfffaffff,0xffffffff,0xffffffff,0xfffdffff,0xfffcffff,0xff114476,0x0,0x808080,0x1a000000,0x4f000000,0x69000000,0x69000000, + 0x69000000,0x69000000,0x69000000,0x69000000,0x69000000,0x69000000,0x69000000,0x69000000,0x69000000,0x4f000000,0x1a000000,0x0,0x0,0x1a000000, + 0x4f000000,0x69000000,0x69000000,0x69000000,0x69000000,0x69000000,0x69000000,0x69000000,0x69000000,0x69000000,0x69000000,0x69000000,0x4f000000,0x1a000000, + 0x0,0x0,0x96083c70,0xff083c70,0xff083c70,0xff083c70,0xff083c70,0xff083c70,0xff083c70,0xff083c70,0xff083c70,0xff083c70,0xff083c70,0xff083c70, + 0xff083c70,0xff083c70,0xc1062f57,0x0,0x808080,0x8000000,0x1a000000,0x23000000,0x23000000,0x23000000,0x23000000,0x23000000,0x23000000,0x23000000, + 0x23000000,0x23000000,0x23000000,0x23000000,0x1a000000,0x8000000,0x0,0x0,0x8000000,0x1a000000,0x23000000,0x23000000,0x23000000,0x23000000, + 0x23000000,0x23000000,0x23000000,0x23000000,0x23000000,0x23000000,0x23000000,0x1a000000,0x8000000,0x0,0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0 +}; + +static struct EmbedImage { + int width, height, depth; + const unsigned char *data; + int numColors; + const QRgb *colorTable; + bool alpha; + const char *name; +} embed_image_vec[] = { + { 3, 50, 1, (const unsigned char*)border_active_left_data, 2, border_active_left_ctable, FALSE, "border-active-left" }, + { 4, 50, 8, (const unsigned char*)border_active_right_data, 3, border_active_right_ctable, FALSE, "border-active-right" }, + { 3, 50, 1, (const unsigned char*)border_inactive_left_data, 2, border_inactive_left_ctable, FALSE, "border-inactive-left" }, + { 4, 50, 8, (const unsigned char*)border_inactive_right_data, 3, border_inactive_right_ctable, FALSE, "border-inactive-right" }, + { 40, 29, 8, (const unsigned char*)caption_active_large_center_data, 36, caption_active_large_center_ctable, TRUE, "caption-active-large-center" }, + { 14, 29, 8, (const unsigned char*)caption_active_large_left_data, 115, caption_active_large_left_ctable, TRUE, "caption-active-large-left" }, + { 14, 29, 8, (const unsigned char*)caption_active_large_right_data, 176, caption_active_large_right_ctable, TRUE, "caption-active-large-right" }, + { 50, 26, 8, (const unsigned char*)caption_active_small_center_data, 25, caption_active_small_center_ctable, TRUE, "caption-active-small-center" }, + { 14, 26, 8, (const unsigned char*)caption_active_small_left_data, 116, caption_active_small_left_ctable, TRUE, "caption-active-small-left" }, + { 14, 26, 8, (const unsigned char*)caption_active_small_right_data, 153, caption_active_small_right_ctable, TRUE, "caption-active-small-right" }, + { 40, 26, 8, (const unsigned char*)caption_inactive_center_data, 25, caption_inactive_center_ctable, TRUE, "caption-inactive-center" }, + { 14, 26, 8, (const unsigned char*)caption_inactive_left_data, 97, caption_inactive_left_ctable, TRUE, "caption-inactive-left" }, + { 14, 26, 8, (const unsigned char*)caption_inactive_right_data, 142, caption_inactive_right_ctable, TRUE, "caption-inactive-right" }, + { 50, 8, 8, (const unsigned char*)grabbar_active_center_data, 7, grabbar_active_center_ctable, FALSE, "grabbar-active-center" }, + { 9, 8, 8, (const unsigned char*)grabbar_active_left_data, 28, grabbar_active_left_ctable, FALSE, "grabbar-active-left" }, + { 9, 8, 8, (const unsigned char*)grabbar_active_right_data, 29, grabbar_active_right_ctable, FALSE, "grabbar-active-right" }, + { 50, 8, 8, (const unsigned char*)grabbar_inactive_center_data, 7, grabbar_inactive_center_ctable, FALSE, "grabbar-inactive-center" }, + { 9, 8, 8, (const unsigned char*)grabbar_inactive_left_data, 32, grabbar_inactive_left_ctable, FALSE, "grabbar-inactive-left" }, + { 9, 8, 8, (const unsigned char*)grabbar_inactive_right_data, 29, grabbar_inactive_right_ctable, FALSE, "grabbar-inactive-right" }, + { 40, 26, 8, (const unsigned char*)titlebar_active_center_data, 24, titlebar_active_center_ctable, TRUE, "titlebar-active-center" }, + { 15, 26, 8, (const unsigned char*)titlebar_active_left_data, 109, titlebar_active_left_ctable, TRUE, "titlebar-active-left" }, + { 15, 26, 8, (const unsigned char*)titlebar_active_right_data, 120, titlebar_active_right_ctable, TRUE, "titlebar-active-right" }, + { 40, 26, 8, (const unsigned char*)titlebar_inactive_center_data, 24, titlebar_inactive_center_ctable, TRUE, "titlebar-inactive-center" }, + { 15, 26, 8, (const unsigned char*)titlebar_inactive_left_data, 78, titlebar_inactive_left_ctable, TRUE, "titlebar-inactive-left" }, + { 15, 26, 8, (const unsigned char*)titlebar_inactive_right_data, 89, titlebar_inactive_right_ctable, TRUE, "titlebar-inactive-right" }, + { 51, 17, 32, (const unsigned char*)titlebutton_round_data, 0, 0, TRUE, "titlebutton-round" }, + { 51, 17, 32, (const unsigned char*)titlebutton_square_data, 0, 0, TRUE, "titlebutton-square" }, + { 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +static const QImage& qembed_findImage( const QString& name ) +{ + + QImage* img = imageDict.find(name); + if ( !img ) { + for (int i=0; embed_image_vec[i].data; i++) { + if ( 0==strcmp(embed_image_vec[i].name, name) ) { + img = new QImage((uchar*)embed_image_vec[i].data, + embed_image_vec[i].width, + embed_image_vec[i].height, + embed_image_vec[i].depth, + (QRgb*)embed_image_vec[i].colorTable, + embed_image_vec[i].numColors, + QImage::BigEndian + ); + if ( embed_image_vec[i].alpha ) + img->setAlphaBuffer(TRUE); + break; + } + } + if ( !img ) { + static QImage dummy; + return dummy; + } + } + return *img; +} + +#endif