From 40966ef808320bcd76b52c412caedbd3e15073d5 Mon Sep 17 00:00:00 2001 From: "Daniel M. Duley" Date: Wed, 10 Nov 1999 16:07:19 +0000 Subject: [PATCH] Converted the titlebar buttons from using fixed pixmaps to dynamically calculated pixmaps based on bitmaps for each shade and the extended KDE color scheme. That means you can now specify button colors for both active and inactive windows. svn path=/trunk/kdebase/kwin/; revision=33415 --- stdclient.cpp | 347 +++++++++++++++++++++++--------------------- stdclient.h | 1 + stdclient_bitmaps.h | 128 ++++++++++++++++ 3 files changed, 308 insertions(+), 168 deletions(-) create mode 100644 stdclient_bitmaps.h diff --git a/stdclient.cpp b/stdclient.cpp index cd47f949b2..d004d84e5c 100644 --- a/stdclient.cpp +++ b/stdclient.cpp @@ -6,163 +6,11 @@ #include #include #include +#include #include "workspace.h" #include "options.h" - -static const char * close_xpm[] = { -/* width height num_colors chars_per_pixel */ -"16 16 3 1", -/* colors */ -" s None c None", -". c white", -"X c #707070", -/* pixels */ -" ", -" ", -" .X .X ", -" .XX .XX ", -" .XX .XX ", -" .XX .XX ", -" .XX.XX ", -" .XXX ", -" .XXX ", -" .XX.XX ", -" .XX .XX ", -" .XX .XX ", -" .XX .XX ", -" .X .X ", -" ", -" "}; - - -static const char * maximize_xpm[] = { -/* width height num_colors chars_per_pixel */ -"16 16 3 1", -/* colors */ -" s None c None", -". c white", -"X c #707070", -/* pixels */ -" ", -" ", -" ........... ", -" .XXXXXXXXXX ", -" .X .X ", -" .X .X ", -" .X .X ", -" .X .X ", -" .X .X ", -" .X .X ", -" .X .X ", -" .X........X ", -" .XXXXXXXXXX ", -" ", -" ", -" "}; - - -static const char * minimize_xpm[] = { -/* width height num_colors chars_per_pixel */ -"16 16 3 1", -/* colors */ -" s None c None", -". c white", -"X c #707070", -/* pixels */ -" ", -" ", -" ", -" ", -" ", -" ", -" ... ", -" . X ", -" .XX ", -" ", -" ", -" ", -" ", -" ", -" ", -" "}; - -static const char * normalize_xpm[] = { -/* width height num_colors chars_per_pixel */ -"16 16 3 1", -/* colors */ -" s None c None", -". c #707070", -"X c white", -/* pixels */ -" ", -" ", -" ........... ", -" .XXXXXXXXXX ", -" .X .X ", -" .X .X ", -" .X .X ", -" .X .X ", -" .X .X ", -" .X .X ", -" .X .X ", -" .X........X ", -" .XXXXXXXXXX ", -" ", -" ", -" "}; - -static const char * pinup_xpm[] = { -/* width height num_colors chars_per_pixel */ -"16 16 4 1", -/* colors */ -" s None c None", -". c #707070", -"X c white", -"o c #a0a0a0", -/* pixels */ -" ", -" ", -" ", -" .. . ", -" .X. .. ", -" .XX...X. ", -"XXXXXX.oXoXoX. ", -"oooooo.oXoXoX. ", -".......oo.o.o. ", -" .o...... ", -" ... .. ", -" .. . ", -" ", -" ", -" ", -" "}; - -static const char * pindown_xpm[] = { -/* width height num_colors chars_per_pixel */ -"16 16 4 1", -/* colors */ -" s None c None", -". c #707070", -"X c white", -"o c #a0a0a0", -/* pixels */ -" ", -" ", -" .... ", -" ..XXXX. ", -" ...XXXXXX. ", -" .X.XXXooo. ", -" .XX.XXooo.. ", -" .XX..Xoo... ", -" .XXXX..... ", -" .XXXoooo.. ", -" .Xoooo... ", -" .oooo... ", -" ...... ", -" ", -" ", -" "}; +#include "stdclient_bitmaps.h" static QPixmap* close_pix = 0; static QPixmap* maximize_pix = 0; @@ -170,20 +18,165 @@ static QPixmap* minimize_pix = 0; static QPixmap* normalize_pix = 0; static QPixmap* pinup_pix = 0; static QPixmap* pindown_pix = 0; +static QPixmap* menu_pix = 0; + +static QPixmap* dis_close_pix = 0; +static QPixmap* dis_maximize_pix = 0; +static QPixmap* dis_minimize_pix = 0; +static QPixmap* dis_normalize_pix = 0; +static QPixmap* dis_pinup_pix = 0; +static QPixmap* dis_pindown_pix = 0; +static QPixmap* dis_menu_pix = 0; + + static bool pixmaps_created = FALSE; + +/** + * Pixmap creation routine that creates full pixmaps out of bitmaps + * for each shade and the user defined titlebutton foreground colors. There + * is a large amount of QBitmap constructors/copies here since loadFromData + * with type XBM doesn't seem to work with QBitmaps, the only way I could get + * a load from data is via the constructor :( Matthias, do you know about + * this? + */ static void create_pixmaps() { if ( pixmaps_created ) return; pixmaps_created = true; - close_pix = new QPixmap( close_xpm ); - maximize_pix = new QPixmap( maximize_xpm ); - minimize_pix = new QPixmap( minimize_xpm ); - normalize_pix = new QPixmap( normalize_xpm ); - pinup_pix = new QPixmap( pinup_xpm ); - pindown_pix = new QPixmap( pindown_xpm ); - + + QPainter pact, pdis; + QBitmap bitmap; + QColor actHigh = options->color(Options::ButtonFg, true).light(150); + QColor actMed = options->color(Options::ButtonFg, true); + QColor actLow = options->color(Options::ButtonFg, true).dark(120); + QColor disHigh = options->color(Options::ButtonFg, false).light(150); + QColor disMed = options->color(Options::ButtonFg, false); + QColor disLow = options->color(Options::ButtonFg, false).dark(120); + + close_pix = new QPixmap(16, 16); + dis_close_pix = new QPixmap(16, 16); + pact.begin(close_pix); pdis.begin(dis_close_pix); + bitmap = QBitmap(16, 16, close_white_bits, true); + bitmap.setMask(bitmap); + pact.setPen(actHigh); pdis.setPen(disHigh); + pact.drawPixmap(0, 0, bitmap); + pdis.drawPixmap(0, 0, bitmap); + bitmap = QBitmap(16, 16, close_dgray_bits, true); + pact.setPen(actLow); pdis.setPen(disLow); + pact.drawPixmap(0, 0, bitmap); + pdis.drawPixmap(0, 0, bitmap); + pact.end(); pdis.end(); + bitmap = QBitmap(16, 16, close_mask_bits, true); + close_pix->setMask(bitmap); dis_close_pix->setMask(bitmap); + + minimize_pix = new QPixmap(16, 16); + dis_minimize_pix = new QPixmap(16, 16); + pact.begin(minimize_pix); pdis.begin(dis_minimize_pix); + bitmap = QBitmap(16, 16, iconify_white_bits, true); + bitmap.setMask(bitmap); + pact.setPen(actHigh); pdis.setPen(disHigh); + pact.drawPixmap(0, 0, bitmap); + pdis.drawPixmap(0, 0, bitmap); + bitmap = QBitmap(16, 16, iconify_dgray_bits, true); + pact.setPen(actLow); pdis.setPen(disLow); + pact.drawPixmap(0, 0, bitmap); + pdis.drawPixmap(0, 0, bitmap); + pact.end(); pdis.end(); + bitmap = QBitmap(16, 16, iconify_mask_bits, true); + minimize_pix->setMask(bitmap); dis_minimize_pix->setMask(bitmap); + + maximize_pix = new QPixmap(16, 16); + dis_maximize_pix = new QPixmap(16, 16); + pact.begin(maximize_pix); pdis.begin(dis_maximize_pix); + bitmap = QBitmap(16, 16, maximize_white_bits, true); + bitmap.setMask(bitmap); + pact.setPen(actHigh); pdis.setPen(disHigh); + pact.drawPixmap(0, 0, bitmap); + pdis.drawPixmap(0, 0, bitmap); + bitmap = QBitmap(16, 16, maximize_dgray_bits, true); + pact.setPen(actLow); pdis.setPen(disLow); + pact.drawPixmap(0, 0, bitmap); + pdis.drawPixmap(0, 0, bitmap); + pact.end(); pdis.end(); + bitmap = QBitmap(16, 16, maximize_mask_bits, true); + maximize_pix->setMask(bitmap); dis_maximize_pix->setMask(bitmap); + + normalize_pix = new QPixmap(16, 16); + dis_normalize_pix = new QPixmap(16, 16); + pact.begin(normalize_pix); pdis.begin(dis_normalize_pix); + bitmap = QBitmap(16, 16, maximizedown_white_bits, true); + bitmap.setMask(bitmap); + pact.setPen(actHigh); pdis.setPen(disHigh); + pact.drawPixmap(0, 0, bitmap); + pdis.drawPixmap(0, 0, bitmap); + bitmap = QBitmap(16, 16, maximizedown_dgray_bits, true); + pact.setPen(actLow); pdis.setPen(disLow); + pact.drawPixmap(0, 0, bitmap); + pdis.drawPixmap(0, 0, bitmap); + pact.end(); pdis.end(); + bitmap = QBitmap(16, 16, maximizedown_mask_bits, true); + normalize_pix->setMask(bitmap); dis_normalize_pix->setMask(bitmap); + + menu_pix = new QPixmap(16, 16); + dis_menu_pix = new QPixmap(16, 16); + pact.begin(menu_pix); pdis.begin(dis_menu_pix); + bitmap = QBitmap(16, 16, menu_white_bits, true); + bitmap.setMask(bitmap); + pact.setPen(actHigh); pdis.setPen(disHigh); + pact.drawPixmap(0, 0, bitmap); + pdis.drawPixmap(0, 0, bitmap); + bitmap = QBitmap(16, 16, menu_dgray_bits, true); + pact.setPen(actLow); pdis.setPen(disLow); + pact.drawPixmap(0, 0, bitmap); + pdis.drawPixmap(0, 0, bitmap); + pact.end(); pdis.end(); + bitmap = QBitmap(16, 16, menu_mask_bits, true); + menu_pix->setMask(bitmap); dis_menu_pix->setMask(bitmap); + + pinup_pix = new QPixmap(16, 16); + dis_pinup_pix = new QPixmap(16, 16); + pact.begin(pinup_pix); pdis.begin(dis_pinup_pix); + bitmap = QBitmap(16, 16, pinup_white_bits, true); + bitmap.setMask(bitmap); + pact.setPen(actHigh); pdis.setPen(disHigh); + pact.drawPixmap(0, 0, bitmap); + pdis.drawPixmap(0, 0, bitmap); + bitmap = QBitmap(16, 16, pinup_gray_bits, true); + pact.setPen(actMed); pdis.setPen(disMed); + pact.drawPixmap(0, 0, bitmap); + pdis.drawPixmap(0, 0, bitmap); + bitmap = QBitmap(16, 16, pinup_dgray_bits, true); + bitmap.setMask(bitmap); + pact.setPen(actLow); pdis.setPen(disLow); + pact.drawPixmap(0, 0, bitmap); + pdis.drawPixmap(0, 0, bitmap); + pact.end(); pdis.end(); + bitmap = QBitmap(16, 16, pinup_mask_bits, true); + pinup_pix->setMask(bitmap); dis_pinup_pix->setMask(bitmap); + + pindown_pix = new QPixmap(16, 16); + dis_pindown_pix = new QPixmap(16, 16); + pact.begin(pindown_pix); pdis.begin(dis_pindown_pix); + bitmap = QBitmap(16, 16, pindown_white_bits, true); + bitmap.setMask(bitmap); + pact.setPen(actHigh); pdis.setPen(disHigh); + pact.drawPixmap(0, 0, bitmap); + pdis.drawPixmap(0, 0, bitmap); + bitmap = QBitmap(16, 16, pindown_gray_bits, true); + pact.setPen(actMed); pdis.setPen(disMed); + pact.drawPixmap(0, 0, bitmap); + pdis.drawPixmap(0, 0, bitmap); + bitmap = QBitmap(16, 16, pindown_dgray_bits, true); + bitmap.setMask(bitmap); + pact.setPen(actLow); pdis.setPen(disLow); + pact.drawPixmap(0, 0, bitmap); + pdis.drawPixmap(0, 0, bitmap); + pact.end(); pdis.end(); + bitmap = QBitmap(16, 16, pindown_mask_bits, true); + pindown_pix->setMask(bitmap); dis_pindown_pix->setMask(bitmap); + } @@ -228,21 +221,36 @@ StdClient::StdClient( Workspace *ws, WId w, QWidget *parent, const char *name ) button[i]->setMouseTracking( TRUE ); button[i]->setFixedSize( 20, 20 ); } - - button[0]->setIconSet( miniIcon() ); - button[1]->setIconSet( isSticky()?*pindown_pix:*pinup_pix ); + if(miniIcon().isNull()) + button[0]->setIconSet(isActive() ? *menu_pix : *dis_menu_pix); + else + button[0]->setIconSet( miniIcon() ); + button[1]->setIconSet(isSticky() ? isActive() ? *pindown_pix : *dis_pindown_pix : + isActive() ? *pinup_pix : *dis_pinup_pix ); connect( button[1], SIGNAL( clicked() ), this, ( SLOT( toggleSticky() ) ) ); button[2]->hide(); - button[3]->setIconSet( *minimize_pix ); + button[3]->setIconSet(isActive() ? *minimize_pix : *dis_minimize_pix); connect( button[3], SIGNAL( clicked() ), this, ( SLOT( iconify() ) ) ); - button[4]->setIconSet( *maximize_pix ); + button[4]->setIconSet(isActive() ? *maximize_pix : *dis_maximize_pix); connect( button[4], SIGNAL( clicked() ), this, ( SLOT( maximize() ) ) ); - button[5]->setIconSet( *close_pix ); + button[5]->setIconSet(isActive() ? *close_pix : *dis_close_pix); connect( button[5], SIGNAL( clicked() ), this, ( SLOT( closeWindow() ) ) ); } +void StdClient::activeChange(bool on) +{ + if(miniIcon().isNull()) + button[0]->setIconSet(on ? *menu_pix : *dis_menu_pix); + button[1]->setIconSet(isSticky() ? on ? *pindown_pix : *dis_pindown_pix : + on ? *pinup_pix : *dis_pinup_pix ); + button[3]->setIconSet(on ? *minimize_pix : *dis_minimize_pix); + button[4]->setIconSet(on ? *maximize_pix : *dis_maximize_pix); + button[5]->setIconSet(on ? *close_pix : *dis_close_pix); + Client::activeChange(on); +} + StdClient::~StdClient() { @@ -329,7 +337,10 @@ void StdClient::init() void StdClient::iconChange() { - button[0]->setIconSet( miniIcon() ); + if(miniIcon().isNull()) + button[0]->setIconSet(isActive() ? *menu_pix : *dis_menu_pix); + else + button[0]->setIconSet( miniIcon() ); button[0]->repaint( FALSE ); } diff --git a/stdclient.h b/stdclient.h index cabb421f02..6cab253d06 100644 --- a/stdclient.h +++ b/stdclient.h @@ -21,6 +21,7 @@ protected: void iconChange(); void maximizeChange( bool ); void stickyChange( bool ); + void activeChange( bool ); private: QToolButton* button[6]; diff --git a/stdclient_bitmaps.h b/stdclient_bitmaps.h new file mode 100644 index 0000000000..8d561878bc --- /dev/null +++ b/stdclient_bitmaps.h @@ -0,0 +1,128 @@ +#ifndef __STDCLIENT_BITMAPS_H +#define __STDCLIENT_BITMAPS_H + +/** + * The standard client has the capability to color it's titlebar buttons + * according to the new color scheme. In order to do this it needs a bitmap + * for each shade which it draws into a pixmap with the appropriate color. + * These are all the bitmaps. + */ + +static unsigned char close_white_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x04, 0x10, 0x04, 0x08, 0x08, 0x04, 0x10, 0x02, + 0x20, 0x01, 0x40, 0x00, 0x40, 0x00, 0x20, 0x01, 0x10, 0x02, 0x08, 0x04, + 0x04, 0x08, 0x04, 0x10, 0x00, 0x00, 0x00, 0x00}; + +static unsigned char close_dgray_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x08, 0x20, 0x18, 0x30, 0x30, 0x18, 0x60, 0x0c, + 0xc0, 0x06, 0x80, 0x03, 0x80, 0x03, 0xc0, 0x06, 0x60, 0x0c, 0x30, 0x18, + 0x18, 0x30, 0x08, 0x20, 0x00, 0x00, 0x00, 0x00}; + +static unsigned char close_mask_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x0c, 0x30, 0x1c, 0x38, 0x38, 0x1c, 0x70, 0x0e, + 0xe0, 0x07, 0xc0, 0x03, 0xc0, 0x03, 0xe0, 0x07, 0x70, 0x0e, 0x38, 0x1c, + 0x1c, 0x38, 0x0c, 0x30, 0x00, 0x00, 0x00, 0x00}; + +static unsigned char iconify_white_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x80, 0x03, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; + +static unsigned char iconify_dgray_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x02, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; + + +static unsigned char iconify_mask_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x80, 0x03, 0x80, 0x02, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; + +static unsigned char maximize_white_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0xfc, 0x1f, 0x04, 0x00, 0x04, 0x08, 0x04, 0x08, + 0x04, 0x08, 0x04, 0x08, 0x04, 0x08, 0x04, 0x08, 0x04, 0x08, 0xf4, 0x0f, + 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; + +static unsigned char maximize_dgray_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x1f, 0x08, 0x10, 0x08, 0x10, + 0x08, 0x10, 0x08, 0x10, 0x08, 0x10, 0x08, 0x10, 0x08, 0x10, 0x08, 0x10, + 0xf8, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; + +static unsigned char maximize_mask_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0xfc, 0x1f, 0xfc, 0x1f, 0x0c, 0x18, 0x0c, 0x18, + 0x0c, 0x18, 0x0c, 0x18, 0x0c, 0x18, 0x0c, 0x18, 0x0c, 0x18, 0xfc, 0x1f, + 0xfc, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; + +static unsigned char maximizedown_white_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x1f, 0x08, 0x10, + 0x08, 0x10, 0x08, 0x10, 0x08, 0x10, 0x08, 0x10, 0x08, 0x10, 0x08, 0x10, + 0x08, 0x10, 0xf8, 0x1f, 0x00, 0x00, 0x00, 0x00}; + +static unsigned char maximizedown_dgray_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x1f, 0x04, 0x00, 0x04, 0x08, + 0x04, 0x08, 0x04, 0x08, 0x04, 0x08, 0x04, 0x08, 0x04, 0x08, 0x04, 0x08, + 0xf4, 0x0f, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00}; + +static unsigned char maximizedown_mask_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x1f, 0xfc, 0x1f, 0x0c, 0x18, + 0x0c, 0x18, 0x0c, 0x18, 0x0c, 0x18, 0x0c, 0x18, 0x0c, 0x18, 0x0c, 0x18, + 0xfc, 0x1f, 0xfc, 0x1f, 0x00, 0x00, 0x00, 0x00}; + +static unsigned char menu_white_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xfc, 0x3f, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; + +static unsigned char menu_dgray_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x20, 0xf8, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; + +static unsigned char menu_mask_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xfc, 0x3f, 0x04, 0x20, 0xfc, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; + +static unsigned char pindown_white_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x80, 0x1f, 0xa0, 0x03, + 0xb0, 0x01, 0x30, 0x01, 0xf0, 0x00, 0x70, 0x00, 0x20, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; + +static unsigned char pindown_gray_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, + 0x00, 0x0e, 0x00, 0x06, 0x00, 0x00, 0x80, 0x07, 0xc0, 0x03, 0xe0, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; + +static unsigned char pindown_dgray_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xc0, 0x10, 0x70, 0x20, 0x50, 0x20, + 0x48, 0x30, 0xc8, 0x38, 0x08, 0x1f, 0x08, 0x18, 0x10, 0x1c, 0x10, 0x0e, + 0xe0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; + +static unsigned char pindown_mask_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xc0, 0x1f, 0xf0, 0x3f, 0xf0, 0x3f, + 0xf8, 0x3f, 0xf8, 0x3f, 0xf8, 0x1f, 0xf8, 0x1f, 0xf0, 0x1f, 0xf0, 0x0f, + 0xe0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; + +static unsigned char pinup_white_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x80, 0x11, + 0x3f, 0x15, 0x00, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; + +static unsigned char pinup_gray_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x80, 0x0a, 0xbf, 0x0a, 0x80, 0x15, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; + +static unsigned char pinup_dgray_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x20, 0x40, 0x31, 0x40, 0x2e, + 0x40, 0x20, 0x40, 0x20, 0x7f, 0x2a, 0x40, 0x3f, 0xc0, 0x31, 0xc0, 0x20, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; + +static unsigned char pinup_mask_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x20, 0xc0, 0x31, 0xc0, 0x3f, + 0xff, 0x3f, 0xff, 0x3f, 0xff, 0x3f, 0xc0, 0x3f, 0xc0, 0x31, 0xc0, 0x20, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; + + +#endif \ No newline at end of file