From f27b41ca22bb8bf1b99a4c3ff136ae30d09ec931 Mon Sep 17 00:00:00 2001 From: stephena Date: Tue, 2 Aug 2005 18:28:29 +0000 Subject: [PATCH] Changed debugger font to 8x13 instead of 9x15. I'm not sure which one we'll use yet. More layout issue fixes. When I changed the debugger fonts, everything was redrawn correctly (just smaller). This is exactly what should happen, and is a good first step to making the GUI be font-size aware. Added change tracking to the CPU PS register (ToggleBitWidget). git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@708 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba --- stella/src/debugger/CpuWidget.cxx | 29 +- stella/src/debugger/RamWidget.cxx | 45 +- stella/src/debugger/TiaWidget.cxx | 67 +- stella/src/gui/ConsoleFont.hxx | 4939 +++++++++++++--------------- stella/src/gui/DataGridWidget.cxx | 32 +- stella/src/gui/DataGridWidget.hxx | 6 +- stella/src/gui/Font.hxx | 3 +- stella/src/gui/GuiUtils.hxx | 8 +- stella/src/gui/ToggleBitWidget.cxx | 41 +- stella/src/gui/ToggleBitWidget.hxx | 10 +- 10 files changed, 2411 insertions(+), 2769 deletions(-) diff --git a/stella/src/debugger/CpuWidget.cxx b/stella/src/debugger/CpuWidget.cxx index 23b3c419d..00d3ce3eb 100644 --- a/stella/src/debugger/CpuWidget.cxx +++ b/stella/src/debugger/CpuWidget.cxx @@ -13,7 +13,7 @@ // See the file "license" for information on usage and redistribution of // this file, and for a DISCLAIMER OF ALL WARRANTIES. // -// $Id: CpuWidget.cxx,v 1.2 2005-08-02 15:59:43 stephena Exp $ +// $Id: CpuWidget.cxx,v 1.3 2005-08-02 18:28:27 stephena Exp $ // // Based on code from ScummVM - Scumm Interpreter // Copyright (C) 2002-2004 The ScummVM project @@ -57,37 +57,38 @@ CpuWidget::CpuWidget(GuiObject* boss, int x, int y, int w, int h) : Widget(boss, x, y, w, h), CommandSender(boss) { - int xpos = 10, ypos = 20, lwidth = 4 * kCFontWidth; - StaticTextWidget* t; const GUI::Font& font = instance()->consoleFont(); + int xpos = 10, ypos = 20, lwidth = 4 * font.getMaxCharWidth(); + int fontHeight = font.getFontHeight(), lineHeight = font.getLineHeight(); + StaticTextWidget* t; // Create a 1x5 grid with labels for the CPU registers - myCpuGrid = new DataGridWidget(boss, xpos + lwidth, ypos, 1, 5, 8, 16); + myCpuGrid = new DataGridWidget(boss, font, xpos + lwidth, ypos, 1, 5, 8, 16); myCpuGrid->setTarget(this); myActiveWidget = myCpuGrid; string labels[5] = { "PC:", "SP:", "A:", "X:", "Y:" }; for(int row = 0; row < 5; ++row) { - t = new StaticTextWidget(boss, xpos, ypos + row*kCLineHeight + 2, - lwidth, kCFontHeight, + t = new StaticTextWidget(boss, xpos, ypos + row*lineHeight + 2, + lwidth, fontHeight, labels[row], kTextAlignLeft); t->setFont(font); } // Create a read-only textbox containing the current PC label xpos += lwidth + myCpuGrid->colWidth() + 10; - myPCLabel = new EditTextWidget(boss, xpos, ypos, 100, kCLineHeight, ""); + myPCLabel = new EditTextWidget(boss, xpos, ypos, 100, lineHeight, ""); myPCLabel->clearFlags(WIDGET_TAB_NAVIGATE); myPCLabel->setFont(font); myPCLabel->setEditable(false); // Create a bitfield widget for changing the processor status - xpos = 10; ypos += 5*kCLineHeight + 5; - t = new StaticTextWidget(boss, xpos, ypos, lwidth-2, kCFontHeight, + xpos = 10; ypos += 5*lineHeight + 5; + t = new StaticTextWidget(boss, xpos, ypos, lwidth-2, fontHeight, "PS:", kTextAlignLeft); t->setFont(font); - myPSRegister = new ToggleBitWidget(boss, xpos+lwidth, ypos-2, 8, 1); + myPSRegister = new ToggleBitWidget(boss, font, xpos+lwidth, ypos-2, 8, 1); myPSRegister->setTarget(this); // FIXME -------------------------- @@ -95,7 +96,7 @@ CpuWidget::CpuWidget(GuiObject* boss, int x, int y, int w, int h) // so I won't bother fixing it here. // And some status fields - xpos = 10; ypos += 2*kCLineHeight; + xpos = 10; ypos += 2*lineHeight; new StaticTextWidget(boss, xpos, ypos, 55, kLineHeight, "Current Ins:", kTextAlignLeft); xpos += 60; myCurrentIns = new EditTextWidget(boss, xpos, ypos-2, 300, kLineHeight, ""); @@ -256,7 +257,11 @@ void CpuWidget::fillGrid() myCpuGrid->setList(alist, vlist, changed); // Update the PS register booleans - myPSRegister->setState(state.PSbits); + changed.clear(); + for(unsigned int i = 0; i < state.PSbits.size(); ++i) + changed.push_back(state.PSbits[i] != oldstate.PSbits[i]); + + myPSRegister->setState(state.PSbits, changed); // Update the other status fields int pc = state.PC; diff --git a/stella/src/debugger/RamWidget.cxx b/stella/src/debugger/RamWidget.cxx index 6d7c26570..f93986a5d 100644 --- a/stella/src/debugger/RamWidget.cxx +++ b/stella/src/debugger/RamWidget.cxx @@ -13,7 +13,7 @@ // See the file "license" for information on usage and redistribution of // this file, and for a DISCLAIMER OF ALL WARRANTIES. // -// $Id: RamWidget.cxx,v 1.2 2005-08-02 15:59:43 stephena Exp $ +// $Id: RamWidget.cxx,v 1.3 2005-08-02 18:28:27 stephena Exp $ // // Based on code from ScummVM - Scumm Interpreter // Copyright (C) 2002-2004 The ScummVM project @@ -37,21 +37,26 @@ RamWidget::RamWidget(GuiObject* boss, int x, int y, int w, int h) : Widget(boss, x, y, w, h), CommandSender(boss) { - int xpos = 10, ypos = 25, lwidth = 4 * kCFontWidth; - const int vWidth = _w - kButtonWidth - 20, space = 6, buttonw = 24; const GUI::Font& font = instance()->consoleFont(); + int xpos = 10, ypos = 25, lwidth = 4 * font.getMaxCharWidth(); + int fontHeight = font.getFontHeight(), lineHeight = font.getLineHeight(); + int fontWidth = font.getMaxCharWidth(); StaticTextWidget* t; +// FIXME - this contains magic numbers + const int vWidth = _w - kButtonWidth - 20, space = 6, buttonw = 24; + // Create a 16x8 grid holding byte values (16 x 8 = 128 RAM bytes) with labels - myRamGrid = new DataGridWidget(boss, xpos + lwidth, ypos, 16, 8, 2, 8, kBASE_16); + myRamGrid = new DataGridWidget(boss, font, xpos + lwidth, ypos, + 16, 8, 2, 8, kBASE_16); myRamGrid->setTarget(this); myRamGrid->clearFlags(WIDGET_TAB_NAVIGATE); myActiveWidget = myRamGrid; for(int row = 0; row < 8; ++row) { - t = new StaticTextWidget(boss, xpos, ypos + row*kCLineHeight + 2, - lwidth, kCFontHeight, + t = new StaticTextWidget(boss, xpos, ypos + row*lineHeight + 2, + lwidth, fontHeight, Debugger::to_hex_8(row*16 + kRamStart) + string(":"), kTextAlignLeft); t->setFont(font); @@ -59,42 +64,42 @@ RamWidget::RamWidget(GuiObject* boss, int x, int y, int w, int h) for(int col = 0; col < 16; ++col) { t = new StaticTextWidget(boss, xpos + col*myRamGrid->colWidth() + lwidth + 7, - ypos - kCLineHeight, - kCFontWidth, kCFontHeight, + ypos - lineHeight, + fontWidth, fontHeight, Debugger::to_hex_4(col), kTextAlignLeft); t->setFont(font); } - xpos = 20; ypos += 9 * kCLineHeight; + xpos = 20; ypos += 9 * lineHeight; t = new StaticTextWidget(boss, xpos, ypos, - 6*kCFontWidth, kCFontHeight, + 6*fontWidth, fontHeight, "Label:", kTextAlignLeft); t->setFont(font); - xpos += 6*kCFontWidth + 5; - myLabel = new EditTextWidget(boss, xpos, ypos-2, 15*kCFontWidth, kCLineHeight, ""); + xpos += 6*fontWidth + 5; + myLabel = new EditTextWidget(boss, xpos, ypos-2, 15*fontWidth, lineHeight, ""); myLabel->clearFlags(WIDGET_TAB_NAVIGATE); myLabel->setFont(font); myLabel->setEditable(false); - xpos += 15*kCFontWidth + 20; + xpos += 15*fontWidth + 20; t = new StaticTextWidget(boss, xpos, ypos, - 4*kCFontWidth, kCFontHeight, + 4*fontWidth, fontHeight, "Dec:", kTextAlignLeft); t->setFont(font); - xpos += 4*kCFontWidth + 5; - myDecValue = new EditTextWidget(boss, xpos, ypos-2, 4*kCFontWidth, kCLineHeight, ""); + xpos += 4*fontWidth + 5; + myDecValue = new EditTextWidget(boss, xpos, ypos-2, 4*fontWidth, lineHeight, ""); myDecValue->clearFlags(WIDGET_TAB_NAVIGATE); myDecValue->setFont(font); myDecValue->setEditable(false); - xpos += 4*kCFontWidth + 20; + xpos += 4*fontWidth + 20; t = new StaticTextWidget(boss, xpos, ypos, - 4*kCFontWidth, kCFontHeight, + 4*fontWidth, fontHeight, "Bin:", kTextAlignLeft); t->setFont(font); - xpos += 4*kCFontWidth + 5; - myBinValue = new EditTextWidget(boss, xpos, ypos-2, 9*kCFontWidth, kCLineHeight, ""); + xpos += 4*fontWidth + 5; + myBinValue = new EditTextWidget(boss, xpos, ypos-2, 9*fontWidth, lineHeight, ""); myBinValue->clearFlags(WIDGET_TAB_NAVIGATE); myBinValue->setFont(font); myBinValue->setEditable(false); diff --git a/stella/src/debugger/TiaWidget.cxx b/stella/src/debugger/TiaWidget.cxx index 1b778c7b9..40a994450 100644 --- a/stella/src/debugger/TiaWidget.cxx +++ b/stella/src/debugger/TiaWidget.cxx @@ -13,7 +13,7 @@ // See the file "license" for information on usage and redistribution of // this file, and for a DISCLAIMER OF ALL WARRANTIES. // -// $Id: TiaWidget.cxx,v 1.2 2005-08-02 15:59:43 stephena Exp $ +// $Id: TiaWidget.cxx,v 1.3 2005-08-02 18:28:27 stephena Exp $ // // Based on code from ScummVM - Scumm Interpreter // Copyright (C) 2002-2004 The ScummVM project @@ -52,96 +52,99 @@ TiaWidget::TiaWidget(GuiObject* boss, int x, int y, int w, int h) : Widget(boss, x, y, w, h), CommandSender(boss) { - int xpos = 10, ypos = 25, lwidth = 4 * kCFontWidth; -// const int vWidth = _w - kButtonWidth - 20, space = 6, buttonw = 24; - StaticTextWidget* t; const GUI::Font& font = instance()->consoleFont(); + int xpos = 10, ypos = 25, lwidth = 4 * font.getMaxCharWidth(); + int fontHeight = font.getFontHeight(), lineHeight = font.getLineHeight(); + int fontWidth = font.getMaxCharWidth(); + StaticTextWidget* t; // Create a 16x1 grid holding byte values with labels - myRamGrid = new DataGridWidget(boss, xpos + lwidth, ypos, 16, 1, 2, 8, kBASE_16); + myRamGrid = new DataGridWidget(boss, font, xpos + lwidth, ypos, + 16, 1, 2, 8, kBASE_16); myRamGrid->setEditable(false); myRamGrid->setTarget(this); myRamGrid->setID(kRamID); myActiveWidget = myRamGrid; t = new StaticTextWidget(boss, xpos, ypos + 2, - lwidth, kCFontHeight, + lwidth, fontHeight, Debugger::to_hex_8(0) + string(":"), kTextAlignLeft); t->setFont(font); for(int col = 0; col < 16; ++col) { t = new StaticTextWidget(boss, xpos + col*myRamGrid->colWidth() + lwidth + 7, - ypos - kCLineHeight, - kCFontWidth, kCFontHeight, + ypos - lineHeight, + fontWidth, fontHeight, Debugger::to_hex_4(col), kTextAlignLeft); t->setFont(font); } - xpos = 20; ypos += 2 * kCLineHeight; + xpos = 20; ypos += 2 * lineHeight; t = new StaticTextWidget(boss, xpos, ypos, - 6*kCFontWidth, kCFontHeight, + 6*fontWidth, fontHeight, "Label:", kTextAlignLeft); t->setFont(font); - xpos += 6*kCFontWidth + 5; - myLabel = new EditTextWidget(boss, xpos, ypos-2, 15*kCFontWidth, kCLineHeight, ""); + xpos += 6*fontWidth + 5; + myLabel = new EditTextWidget(boss, xpos, ypos-2, 15*fontWidth, lineHeight, ""); myLabel->clearFlags(WIDGET_TAB_NAVIGATE); myLabel->setFont(font); myLabel->setEditable(false); - xpos += 15*kCFontWidth + 20; + xpos += 15*fontWidth + 20; t = new StaticTextWidget(boss, xpos, ypos, - 4*kCFontWidth, kCFontHeight, + 4*fontWidth, fontHeight, "Dec:", kTextAlignLeft); t->setFont(font); - xpos += 4*kCFontWidth + 5; - myDecValue = new EditTextWidget(boss, xpos, ypos-2, 4*kCFontWidth, kCLineHeight, ""); + xpos += 4*fontWidth + 5; + myDecValue = new EditTextWidget(boss, xpos, ypos-2, 4*fontWidth, lineHeight, ""); myDecValue->clearFlags(WIDGET_TAB_NAVIGATE); myDecValue->setFont(font); myDecValue->setEditable(false); - xpos += 4*kCFontWidth + 20; + xpos += 4*fontWidth + 20; t = new StaticTextWidget(boss, xpos, ypos, - 4*kCFontWidth, kCFontHeight, + 4*fontWidth, fontHeight, "Bin:", kTextAlignLeft); t->setFont(font); - xpos += 4*kCFontWidth + 5; - myBinValue = new EditTextWidget(boss, xpos, ypos-2, 9*kCFontWidth, kCLineHeight, ""); + xpos += 4*fontWidth + 5; + myBinValue = new EditTextWidget(boss, xpos, ypos-2, 9*fontWidth, lineHeight, ""); myBinValue->clearFlags(WIDGET_TAB_NAVIGATE); myBinValue->setFont(font); myBinValue->setEditable(false); // Color registers const char* regNames[] = { "COLUP0:", "COLUP1:", "COLUPF:", "COLUBK:" }; - xpos = 10; ypos += 2* kCLineHeight; + xpos = 10; ypos += 2*lineHeight; for(int row = 0; row < 4; ++row) { - t = new StaticTextWidget(boss, xpos, ypos + row*kCLineHeight + 2, - 7*kCFontWidth, kCFontHeight, + t = new StaticTextWidget(boss, xpos, ypos + row*lineHeight + 2, + 7*fontWidth, fontHeight, regNames[row], kTextAlignLeft); t->setFont(font); } - xpos += 7*kCFontWidth + 5; - myColorRegs = new DataGridWidget(boss, xpos, ypos, 1, 4, 2, 8, kBASE_16); + xpos += 7*fontWidth + 5; + myColorRegs = new DataGridWidget(boss, font, xpos, ypos, + 1, 4, 2, 8, kBASE_16); myColorRegs->setTarget(this); myColorRegs->setID(kColorRegsID); xpos += myColorRegs->colWidth() + 5; - myCOLUP0Color = new ColorWidget(boss, xpos, ypos+2, 20, kCLineHeight - 4); + myCOLUP0Color = new ColorWidget(boss, xpos, ypos+2, 20, lineHeight - 4); myCOLUP0Color->setTarget(this); - ypos += kCLineHeight; - myCOLUP1Color = new ColorWidget(boss, xpos, ypos+2, 20, kCLineHeight - 4); + ypos += lineHeight; + myCOLUP1Color = new ColorWidget(boss, xpos, ypos+2, 20, lineHeight - 4); myCOLUP1Color->setTarget(this); - ypos += kCLineHeight; - myCOLUPFColor = new ColorWidget(boss, xpos, ypos+2, 20, kCLineHeight - 4); + ypos += lineHeight; + myCOLUPFColor = new ColorWidget(boss, xpos, ypos+2, 20, lineHeight - 4); myCOLUPFColor->setTarget(this); - ypos += kCLineHeight; - myCOLUBKColor = new ColorWidget(boss, xpos, ypos+2, 20, kCLineHeight - 4); + ypos += lineHeight; + myCOLUBKColor = new ColorWidget(boss, xpos, ypos+2, 20, lineHeight - 4); myCOLUBKColor->setTarget(this); /* diff --git a/stella/src/gui/ConsoleFont.hxx b/stella/src/gui/ConsoleFont.hxx index 41526b344..fda191fa5 100644 --- a/stella/src/gui/ConsoleFont.hxx +++ b/stella/src/gui/ConsoleFont.hxx @@ -13,7 +13,7 @@ // See the file "license" for information on usage and redistribution of // this file, and for a DISCLAIMER OF ALL WARRANTIES. // -// $Id: ConsoleFont.hxx,v 1.3 2005-08-02 13:34:14 urchlay Exp $ +// $Id: ConsoleFont.hxx,v 1.4 2005-08-02 18:28:28 stephena Exp $ // // Based on code from ScummVM - Scumm Interpreter // Copyright (C) 2002-2004 The ScummVM project @@ -26,12 +26,12 @@ namespace GUI { /* Font information: - name: 9x15 - facename: -Misc-Fixed-Medium-R-Normal--15-140-75-75-C-90-ISO10646-1 - w x h: 9x15 + name: 8x13 + facename: -Misc-Fixed-Medium-R-Normal--13-120-75-75-C-80-ISO10646-1 + w x h: 8x13 size: 127 - ascent: 12 - descent: 3 + ascent: 11 + descent: 2 first char: 0 (0x00) last char: 126 (0x7e) default char: 0 (0x00) @@ -43,60 +43,54 @@ namespace GUI { static const uInt16 _console_font_bits[] = { /* Character 0 (0x00): - width 9 - +---------+ - | | - | | - | ** ** * | - | * | - | * | - | * * | - | * | - | * | - | * * | - | * | - | * | - | * ** ** | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + |* * * * | + | | + |* * | + | | + |* * | + | | + |* * | + | | + |* * * * | + | | + | | + +--------+ */ 0x0000, 0x0000, -0x6d00, -0x0100, -0x4000, -0x4100, -0x0100, -0x4000, -0x4100, -0x0100, -0x4000, -0x5b00, +0xaa00, 0x0000, +0x8200, +0x0000, +0x8200, +0x0000, +0x8200, +0x0000, +0xaa00, 0x0000, 0x0000, /* Character 32 (0x20): - width 9 - +---------+ - | | - | | - | | - | | - | | - | | - | | - | | - | | - | | - | | - | | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + +--------+ */ 0x0000, 0x0000, @@ -111,72 +105,62 @@ static const uInt16 _console_font_bits[] = { 0x0000, 0x0000, 0x0000, -0x0000, -0x0000, /* Character 33 (0x21): - width 9 - +---------+ - | | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | | - | | - | * | - | * | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | * | + | * | + | * | + | * | + | * | + | * | + | * | + | | + | * | + | | + | | + +--------+ */ 0x0000, -0x0800, -0x0800, -0x0800, -0x0800, -0x0800, -0x0800, -0x0800, 0x0000, +0x1000, +0x1000, +0x1000, +0x1000, +0x1000, +0x1000, +0x1000, 0x0000, -0x0800, -0x0800, -0x0000, +0x1000, 0x0000, 0x0000, /* Character 34 (0x22): - width 9 - +---------+ - | | - | | - | * * | - | * * | - | * * | - | | - | | - | | - | | - | | - | | - | | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | * * | + | * * | + | * * | + | | + | | + | | + | | + | | + | | + | | + | | + +--------+ */ 0x0000, 0x0000, -0x1200, -0x1200, -0x1200, -0x0000, -0x0000, +0x2400, +0x2400, +0x2400, 0x0000, 0x0000, 0x0000, @@ -187,24 +171,22 @@ static const uInt16 _console_font_bits[] = { 0x0000, /* Character 35 (0x23): - width 9 - +---------+ - | | - | | - | | - | * * | - | * * | - | ****** | - | * * | - | * * | - | ****** | - | * * | - | * * | - | | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | | + | * * | + | * * | + | ****** | + | * * | + | ****** | + | * * | + | * * | + | | + | | + | | + +--------+ */ 0x0000, 0x0000, @@ -213,150 +195,132 @@ static const uInt16 _console_font_bits[] = { 0x2400, 0x7e00, 0x2400, -0x2400, 0x7e00, 0x2400, 0x2400, 0x0000, 0x0000, 0x0000, -0x0000, /* Character 36 (0x24): - width 9 - +---------+ - | | - | | - | * | - | ***** | - | * * * | - | * * | - | * * | - | *** | - | * * | - | * * | - | * * * | - | ***** | - | * | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | * | + | **** | + | * * | + | * * | + | *** | + | * * | + | * * | + | **** | + | * | + | | + | | + +--------+ */ 0x0000, 0x0000, -0x0800, -0x3e00, -0x4900, -0x4800, -0x2800, -0x1c00, -0x0a00, -0x0900, -0x4900, -0x3e00, -0x0800, +0x1000, +0x3c00, +0x5000, +0x5000, +0x3800, +0x1400, +0x1400, +0x7800, +0x1000, 0x0000, 0x0000, /* Character 37 (0x25): - width 9 - +---------+ - | | - | | - | * * | - | * * * | - | * * * | - | * * | - | * | - | * | - | * * | - | * * * | - | * * * | - | * * | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | * * | + | * * * | + | * * | + | * | + | * | + | * | + | * * | + | * * * | + | * * | + | | + | | + +--------+ */ 0x0000, 0x0000, -0x2100, -0x5200, +0x2200, 0x5200, 0x2400, 0x0800, 0x0800, -0x1200, -0x2500, -0x2500, -0x4200, -0x0000, +0x1000, +0x2400, +0x2a00, +0x4400, 0x0000, 0x0000, /* Character 38 (0x26): - width 9 - +---------+ - | | - | | - | ** | - | * * | - | * * | - | * * | - | ** | - | ** * | - | * * * | - | * * | - | * * * | - | ** * | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | | + | | + | ** | + | * * | + | * * | + | ** | + | * * * | + | * * | + | *** * | + | | + | | + +--------+ */ 0x0000, 0x0000, +0x0000, +0x0000, 0x3000, 0x4800, 0x4800, -0x4800, 0x3000, -0x3100, 0x4a00, 0x4400, -0x4a00, -0x3100, -0x0000, +0x3a00, 0x0000, 0x0000, /* Character 39 (0x27): - width 9 - +---------+ - | | - | | - | * | - | * | - | * | - | | - | | - | | - | | - | | - | | - | | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | * | + | * | + | * | + | | + | | + | | + | | + | | + | | + | | + | | + +--------+ */ 0x0000, 0x0000, -0x0800, -0x0800, -0x0800, -0x0000, -0x0000, +0x1000, +0x1000, +0x1000, 0x0000, 0x0000, 0x0000, @@ -367,35 +331,31 @@ static const uInt16 _console_font_bits[] = { 0x0000, /* Character 40 (0x28): - width 9 - +---------+ - | | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | * | + | * | + | * | + | * | + | * | + | * | + | * | + | * | + | * | + | | + | | + +--------+ */ 0x0000, +0x0000, 0x0400, 0x0800, 0x0800, 0x1000, 0x1000, 0x1000, -0x1000, -0x1000, -0x1000, 0x0800, 0x0800, 0x0400, @@ -403,70 +363,62 @@ static const uInt16 _console_font_bits[] = { 0x0000, /* Character 41 (0x29): - width 9 - +---------+ - | | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | * | + | * | + | * | + | * | + | * | + | * | + | * | + | * | + | * | + | | + | | + +--------+ */ 0x0000, +0x0000, +0x2000, +0x1000, 0x1000, 0x0800, 0x0800, -0x0400, -0x0400, -0x0400, -0x0400, -0x0400, -0x0400, -0x0800, 0x0800, 0x1000, +0x1000, +0x2000, 0x0000, 0x0000, /* Character 42 (0x2a): - width 9 - +---------+ - | | - | | - | * | - | * * * | - | * * * | - | *** | - | * * * | - | * * * | - | * | - | | - | | - | | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | * * | + | ** | + | ****** | + | ** | + | * * | + | | + | | + | | + | | + | | + | | + +--------+ */ 0x0000, 0x0000, -0x0800, -0x4900, -0x2a00, -0x1c00, -0x2a00, -0x4900, -0x0800, +0x2400, +0x1800, +0x7e00, +0x1800, +0x2400, 0x0000, 0x0000, 0x0000, @@ -475,60 +427,54 @@ static const uInt16 _console_font_bits[] = { 0x0000, /* Character 43 (0x2b): - width 9 - +---------+ - | | - | | - | | - | | - | * | - | * | - | * | - | ******* | - | * | - | * | - | * | - | | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | | + | | + | * | + | * | + | ***** | + | * | + | * | + | | + | | + | | + | | + +--------+ */ 0x0000, 0x0000, 0x0000, 0x0000, -0x0800, -0x0800, -0x0800, -0x7f00, -0x0800, -0x0800, -0x0800, +0x1000, +0x1000, +0x7c00, +0x1000, +0x1000, 0x0000, 0x0000, 0x0000, 0x0000, /* Character 44 (0x2c): - width 9 - +---------+ - | | - | | - | | - | | - | | - | | - | | - | | - | | - | | - | ** | - | ** | - | * | - | * | - | * | - +---------+ + width 8 + +--------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | *** | + | ** | + | * | + | | + +--------+ */ 0x0000, 0x0000, @@ -539,32 +485,28 @@ static const uInt16 _console_font_bits[] = { 0x0000, 0x0000, 0x0000, +0x3800, +0x3000, +0x4000, 0x0000, -0x0c00, -0x0c00, -0x0400, -0x0400, -0x0800, /* Character 45 (0x2d): - width 9 - +---------+ - | | - | | - | | - | | - | | - | | - | | - | ******* | - | | - | | - | | - | | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | | + | | + | | + | | + | ***** | + | | + | | + | | + | | + | | + | | + +--------+ */ 0x0000, 0x0000, @@ -572,9 +514,7 @@ static const uInt16 _console_font_bits[] = { 0x0000, 0x0000, 0x0000, -0x0000, -0x7f00, -0x0000, +0x7c00, 0x0000, 0x0000, 0x0000, @@ -583,24 +523,22 @@ static const uInt16 _console_font_bits[] = { 0x0000, /* Character 46 (0x2e): - width 9 - +---------+ - | | - | | - | | - | | - | | - | | - | | - | | - | | - | | - | ** | - | ** | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | * | + | *** | + | * | + | | + +--------+ */ 0x0000, 0x0000, @@ -611,500 +549,444 @@ static const uInt16 _console_font_bits[] = { 0x0000, 0x0000, 0x0000, -0x0000, -0x0c00, -0x0c00, -0x0000, -0x0000, +0x1000, +0x3800, +0x1000, 0x0000, /* Character 47 (0x2f): - width 9 - +---------+ - | | - | | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | * | + | * | + | * | + | * | + | * | + | * | + | * | + |* | + |* | + | | + | | + +--------+ */ 0x0000, 0x0000, -0x0100, 0x0200, 0x0200, 0x0400, 0x0800, -0x0800, 0x1000, 0x2000, -0x2000, 0x4000, -0x0000, +0x8000, +0x8000, 0x0000, 0x0000, /* Character 48 (0x30): - width 9 - +---------+ - | | - | | - | *** | - | * * | - | * * | - | * * | - | * * | - | * * | - | * * | - | * * | - | * * | - | *** | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | ** | + | * * | + | * * | + | * * | + | * * | + | * * | + | * * | + | * * | + | ** | + | | + | | + +--------+ */ 0x0000, 0x0000, -0x1c00, -0x2200, -0x4100, -0x4100, -0x4100, -0x4100, -0x4100, -0x4100, -0x2200, -0x1c00, -0x0000, +0x1800, +0x2400, +0x4200, +0x4200, +0x4200, +0x4200, +0x4200, +0x2400, +0x1800, 0x0000, 0x0000, /* Character 49 (0x31): - width 9 - +---------+ - | | - | | - | * | - | ** | - | * * | - | * * | - | * | - | * | - | * | - | * | - | * | - | ******* | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | * | + | ** | + | * * | + | * | + | * | + | * | + | * | + | * | + | ***** | + | | + | | + +--------+ */ 0x0000, 0x0000, -0x0800, -0x1800, -0x2800, -0x4800, -0x0800, -0x0800, -0x0800, -0x0800, -0x0800, -0x7f00, -0x0000, +0x1000, +0x3000, +0x5000, +0x1000, +0x1000, +0x1000, +0x1000, +0x1000, +0x7c00, 0x0000, 0x0000, /* Character 50 (0x32): - width 9 - +---------+ - | | - | | - | ***** | - | * * | - | * * | - | * | - | * | - | * | - | * | - | * | - | * | - | ******* | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | **** | + | * * | + | * * | + | * | + | * | + | ** | + | * | + | * | + | ****** | + | | + | | + +--------+ */ 0x0000, 0x0000, -0x3e00, -0x4100, -0x4100, +0x3c00, +0x4200, +0x4200, 0x0200, 0x0400, -0x0800, -0x1000, +0x1800, 0x2000, 0x4000, -0x7f00, -0x0000, +0x7e00, 0x0000, 0x0000, /* Character 51 (0x33): - width 9 - +---------+ - | | - | | - | ******* | - | * | - | * | - | * | - | *** | - | * | - | * | - | * | - | * * | - | ***** | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | ****** | + | * | + | * | + | * | + | *** | + | * | + | * | + | * * | + | **** | + | | + | | + +--------+ */ 0x0000, 0x0000, -0x7f00, -0x0100, +0x7e00, 0x0200, 0x0400, -0x0e00, -0x0100, -0x0100, -0x0100, -0x4100, -0x3e00, -0x0000, +0x0800, +0x1c00, +0x0200, +0x0200, +0x4200, +0x3c00, 0x0000, 0x0000, /* Character 52 (0x34): - width 9 - +---------+ - | | - | | - | * | - | ** | - | * * | - | * * | - | * * | - | * * | - | ******* | - | * | - | * | - | * | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | * | + | ** | + | * * | + | * * | + | * * | + | * * | + | ****** | + | * | + | * | + | | + | | + +--------+ */ 0x0000, 0x0000, -0x0200, -0x0600, -0x0a00, -0x1200, -0x2200, -0x4200, -0x7f00, -0x0200, -0x0200, -0x0200, -0x0000, +0x0400, +0x0c00, +0x1400, +0x2400, +0x4400, +0x4400, +0x7e00, +0x0400, +0x0400, 0x0000, 0x0000, /* Character 53 (0x35): - width 9 - +---------+ - | | - | | - | ******* | - | * | - | * | - | * **** | - | ** * | - | * | - | * | - | * | - | * * | - | ***** | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | ****** | + | * | + | * | + | * *** | + | ** * | + | * | + | * | + | * * | + | **** | + | | + | | + +--------+ */ 0x0000, 0x0000, -0x7f00, +0x7e00, 0x4000, 0x4000, -0x5e00, -0x6100, -0x0100, -0x0100, -0x0100, -0x4100, -0x3e00, -0x0000, +0x5c00, +0x6200, +0x0200, +0x0200, +0x4200, +0x3c00, 0x0000, 0x0000, /* Character 54 (0x36): - width 9 - +---------+ - | | - | | - | **** | - | * | - | * | - | * | - | * **** | - | ** * | - | * * | - | * * | - | * * | - | ***** | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | *** | + | * | + | * | + | * | + | * *** | + | ** * | + | * * | + | * * | + | **** | + | | + | | + +--------+ */ 0x0000, 0x0000, -0x1e00, +0x1c00, 0x2000, 0x4000, 0x4000, -0x5e00, -0x6100, -0x4100, -0x4100, -0x4100, -0x3e00, -0x0000, +0x5c00, +0x6200, +0x4200, +0x4200, +0x3c00, 0x0000, 0x0000, /* Character 55 (0x37): - width 9 - +---------+ - | | - | | - | ******* | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | ****** | + | * | + | * | + | * | + | * | + | * | + | * | + | * | + | * | + | | + | | + +--------+ */ 0x0000, 0x0000, -0x7f00, -0x0100, +0x7e00, 0x0200, -0x0200, -0x0400, 0x0400, 0x0800, 0x0800, 0x1000, 0x1000, -0x0000, +0x2000, +0x2000, 0x0000, 0x0000, /* Character 56 (0x38): - width 9 - +---------+ - | | - | | - | *** | - | * * | - | * * | - | * * | - | *** | - | * * | - | * * | - | * * | - | * * | - | *** | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | **** | + | * * | + | * * | + | * * | + | **** | + | * * | + | * * | + | * * | + | **** | + | | + | | + +--------+ */ 0x0000, 0x0000, -0x1c00, -0x2200, -0x4100, -0x2200, -0x1c00, -0x2200, -0x4100, -0x4100, -0x2200, -0x1c00, -0x0000, +0x3c00, +0x4200, +0x4200, +0x4200, +0x3c00, +0x4200, +0x4200, +0x4200, +0x3c00, 0x0000, 0x0000, /* Character 57 (0x39): - width 9 - +---------+ - | | - | | - | ***** | - | * * | - | * * | - | * * | - | * ** | - | **** * | - | * | - | * | - | * | - | **** | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | **** | + | * * | + | * * | + | * ** | + | *** * | + | * | + | * | + | * | + | *** | + | | + | | + +--------+ */ 0x0000, 0x0000, -0x3e00, -0x4100, -0x4100, -0x4100, -0x4300, -0x3d00, -0x0100, -0x0100, -0x0200, 0x3c00, -0x0000, +0x4200, +0x4200, +0x4600, +0x3a00, +0x0200, +0x0200, +0x0400, +0x3800, 0x0000, 0x0000, /* Character 58 (0x3a): - width 9 - +---------+ - | | - | | - | | - | | - | | - | ** | - | ** | - | | - | | - | | - | ** | - | ** | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | | + | | + | * | + | *** | + | * | + | | + | | + | * | + | *** | + | * | + | | + +--------+ */ 0x0000, 0x0000, 0x0000, 0x0000, -0x0000, -0x0c00, -0x0c00, -0x0000, -0x0000, -0x0000, -0x0c00, -0x0c00, +0x1000, +0x3800, +0x1000, 0x0000, 0x0000, +0x1000, +0x3800, +0x1000, 0x0000, /* Character 59 (0x3b): - width 9 - +---------+ - | | - | | - | | - | | - | | - | ** | - | ** | - | | - | | - | | - | ** | - | ** | - | * | - | * | - | * | - +---------+ + width 8 + +--------+ + | | + | | + | | + | | + | * | + | *** | + | * | + | | + | | + | *** | + | ** | + | * | + | | + +--------+ */ 0x0000, 0x0000, 0x0000, 0x0000, -0x0000, -0x0c00, -0x0c00, +0x1000, +0x3800, +0x1000, 0x0000, 0x0000, +0x3800, +0x3000, +0x4000, 0x0000, -0x0c00, -0x0c00, -0x0400, -0x0400, -0x0800, /* Character 60 (0x3c): - width 9 - +---------+ - | | - | | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | * | + | * | + | * | + | * | + | * | + | * | + | * | + | * | + | * | + | | + | | + +--------+ */ 0x0000, 0x0000, @@ -1113,113 +995,100 @@ static const uInt16 _console_font_bits[] = { 0x0800, 0x1000, 0x2000, -0x2000, 0x1000, 0x0800, 0x0400, 0x0200, 0x0000, 0x0000, -0x0000, /* Character 61 (0x3d): - width 9 - +---------+ - | | - | | - | | - | | - | | - | | - | ******* | - | | - | | - | ******* | - | | - | | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | | + | | + | | + | ****** | + | | + | | + | ****** | + | | + | | + | | + | | + +--------+ */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -0x0000, -0x7f00, +0x7e00, 0x0000, 0x0000, -0x7f00, -0x0000, +0x7e00, 0x0000, 0x0000, 0x0000, 0x0000, /* Character 62 (0x3e): - width 9 - +---------+ - | | - | | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | * | + | * | + | * | + | * | + | * | + | * | + | * | + | * | + | * | + | | + | | + +--------+ */ 0x0000, 0x0000, +0x4000, 0x2000, 0x1000, 0x0800, 0x0400, -0x0200, -0x0200, -0x0400, 0x0800, 0x1000, 0x2000, -0x0000, +0x4000, 0x0000, 0x0000, /* Character 63 (0x3f): - width 9 - +---------+ - | | - | | - | ***** | - | * * | - | * * | - | * | - | * | - | * | - | * | - | * | - | | - | * | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | **** | + | * * | + | * * | + | * | + | * | + | * | + | * | + | | + | * | + | | + | | + +--------+ */ 0x0000, 0x0000, -0x3e00, -0x4100, -0x4100, -0x0100, +0x3c00, +0x4200, +0x4200, 0x0200, 0x0400, 0x0800, @@ -1228,968 +1097,860 @@ static const uInt16 _console_font_bits[] = { 0x0800, 0x0000, 0x0000, -0x0000, /* Character 64 (0x40): - width 9 - +---------+ - | | - | | - | ***** | - | * * | - | * * | - | * **** | - | * * * | - | * * ** | - | * ** * | - | * | - | * | - | ***** | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | **** | + | * * | + | * * | + | * *** | + | * * * | + | * * ** | + | * * * | + | * | + | **** | + | | + | | + +--------+ */ 0x0000, 0x0000, -0x3e00, -0x4100, -0x4100, -0x4f00, -0x5100, -0x5300, -0x4d00, +0x3c00, +0x4200, +0x4200, +0x4e00, +0x5200, +0x5600, +0x4a00, 0x4000, -0x4000, -0x3e00, -0x0000, +0x3c00, 0x0000, 0x0000, /* Character 65 (0x41): - width 9 - +---------+ - | | - | | - | * | - | * * | - | * * | - | * * | - | * * | - | * * | - | ******* | - | * * | - | * * | - | * * | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | ** | + | * * | + | * * | + | * * | + | * * | + | ****** | + | * * | + | * * | + | * * | + | | + | | + +--------+ */ 0x0000, 0x0000, -0x0800, -0x1400, -0x2200, -0x4100, -0x4100, -0x4100, -0x7f00, -0x4100, -0x4100, -0x4100, -0x0000, +0x1800, +0x2400, +0x4200, +0x4200, +0x4200, +0x7e00, +0x4200, +0x4200, +0x4200, 0x0000, 0x0000, /* Character 66 (0x42): - width 9 - +---------+ - | | - | | - | ***** | - | * * | - | * * | - | * * | - | ***** | - | * * | - | * * | - | * * | - | * * | - | ***** | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | **** | + | * * | + | * * | + | * * | + | **** | + | * * | + | * * | + | * * | + | **** | + | | + | | + +--------+ */ 0x0000, 0x0000, -0x7c00, +0x7800, +0x4400, 0x4200, -0x4100, +0x4400, +0x7800, +0x4400, 0x4200, -0x7c00, -0x4200, -0x4100, -0x4100, -0x4200, -0x7c00, -0x0000, +0x4400, +0x7800, 0x0000, 0x0000, /* Character 67 (0x43): - width 9 - +---------+ - | | - | | - | ***** | - | * * | - | * | - | * | - | * | - | * | - | * | - | * | - | * * | - | ***** | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | **** | + | * * | + | * | + | * | + | * | + | * | + | * | + | * * | + | **** | + | | + | | + +--------+ */ 0x0000, 0x0000, -0x3e00, -0x4100, +0x3c00, +0x4200, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, -0x4000, -0x4100, -0x3e00, -0x0000, +0x4200, +0x3c00, 0x0000, 0x0000, /* Character 68 (0x44): - width 9 - +---------+ - | | - | | - | ***** | - | * * | - | * * | - | * * | - | * * | - | * * | - | * * | - | * * | - | * * | - | ***** | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | **** | + | * * | + | * * | + | * * | + | * * | + | * * | + | * * | + | * * | + | **** | + | | + | | + +--------+ */ 0x0000, 0x0000, -0x7c00, +0x7800, +0x4400, 0x4200, -0x4100, -0x4100, -0x4100, -0x4100, -0x4100, -0x4100, 0x4200, -0x7c00, -0x0000, +0x4200, +0x4200, +0x4200, +0x4400, +0x7800, 0x0000, 0x0000, /* Character 69 (0x45): - width 9 - +---------+ - | | - | | - | ******* | - | * | - | * | - | * | - | ***** | - | * | - | * | - | * | - | * | - | ******* | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | ****** | + | * | + | * | + | * | + | **** | + | * | + | * | + | * | + | ****** | + | | + | | + +--------+ */ 0x0000, 0x0000, -0x7f00, +0x7e00, 0x4000, 0x4000, 0x4000, -0x7c00, +0x7800, 0x4000, 0x4000, 0x4000, -0x4000, -0x7f00, -0x0000, +0x7e00, 0x0000, 0x0000, /* Character 70 (0x46): - width 9 - +---------+ - | | - | | - | ******* | - | * | - | * | - | * | - | ***** | - | * | - | * | - | * | - | * | - | * | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | ****** | + | * | + | * | + | * | + | **** | + | * | + | * | + | * | + | * | + | | + | | + +--------+ */ 0x0000, 0x0000, -0x7f00, +0x7e00, 0x4000, 0x4000, 0x4000, +0x7800, +0x4000, +0x4000, +0x4000, +0x4000, +0x0000, +0x0000, + +/* Character 71 (0x47): + width 8 + +--------+ + | | + | | + | **** | + | * * | + | * | + | * | + | * | + | * *** | + | * * | + | * ** | + | *** * | + | | + | | + +--------+ +*/ +0x0000, +0x0000, +0x3c00, +0x4200, +0x4000, +0x4000, +0x4000, +0x4e00, +0x4200, +0x4600, +0x3a00, +0x0000, +0x0000, + +/* Character 72 (0x48): + width 8 + +--------+ + | | + | | + | * * | + | * * | + | * * | + | * * | + | ****** | + | * * | + | * * | + | * * | + | * * | + | | + | | + +--------+ +*/ +0x0000, +0x0000, +0x4200, +0x4200, +0x4200, +0x4200, +0x7e00, +0x4200, +0x4200, +0x4200, +0x4200, +0x0000, +0x0000, + +/* Character 73 (0x49): + width 8 + +--------+ + | | + | | + | ***** | + | * | + | * | + | * | + | * | + | * | + | * | + | * | + | ***** | + | | + | | + +--------+ +*/ +0x0000, +0x0000, +0x7c00, +0x1000, +0x1000, +0x1000, +0x1000, +0x1000, +0x1000, +0x1000, +0x7c00, +0x0000, +0x0000, + +/* Character 74 (0x4a): + width 8 + +--------+ + | | + | | + | *****| + | * | + | * | + | * | + | * | + | * | + | * | + | * * | + | *** | + | | + | | + +--------+ +*/ +0x0000, +0x0000, +0x1f00, +0x0400, +0x0400, +0x0400, +0x0400, +0x0400, +0x0400, +0x4400, +0x3800, +0x0000, +0x0000, + +/* Character 75 (0x4b): + width 8 + +--------+ + | | + | | + | * * | + | * * | + | * * | + | * * | + | ** | + | * * | + | * * | + | * * | + | * * | + | | + | | + +--------+ +*/ +0x0000, +0x0000, +0x4200, +0x4400, +0x4800, +0x5000, +0x6000, +0x5000, +0x4800, +0x4400, +0x4200, +0x0000, +0x0000, + +/* Character 76 (0x4c): + width 8 + +--------+ + | | + | | + | * | + | * | + | * | + | * | + | * | + | * | + | * | + | * | + | ****** | + | | + | | + +--------+ +*/ +0x0000, +0x0000, +0x4000, +0x4000, +0x4000, +0x4000, +0x4000, +0x4000, +0x4000, +0x4000, +0x7e00, +0x0000, +0x0000, + +/* Character 77 (0x4d): + width 8 + +--------+ + | | + | | + |* * | + |* * | + |** ** | + |* * * * | + |* * * | + |* * * | + |* * | + |* * | + |* * | + | | + | | + +--------+ +*/ +0x0000, +0x0000, +0x8200, +0x8200, +0xc600, +0xaa00, +0x9200, +0x9200, +0x8200, +0x8200, +0x8200, +0x0000, +0x0000, + +/* Character 78 (0x4e): + width 8 + +--------+ + | | + | | + | * * | + | * * | + | ** * | + | * * * | + | * * * | + | * ** | + | * * | + | * * | + | * * | + | | + | | + +--------+ +*/ +0x0000, +0x0000, +0x4200, +0x4200, +0x6200, +0x5200, +0x4a00, +0x4600, +0x4200, +0x4200, +0x4200, +0x0000, +0x0000, + +/* Character 79 (0x4f): + width 8 + +--------+ + | | + | | + | **** | + | * * | + | * * | + | * * | + | * * | + | * * | + | * * | + | * * | + | **** | + | | + | | + +--------+ +*/ +0x0000, +0x0000, +0x3c00, +0x4200, +0x4200, +0x4200, +0x4200, +0x4200, +0x4200, +0x4200, +0x3c00, +0x0000, +0x0000, + +/* Character 80 (0x50): + width 8 + +--------+ + | | + | | + | ***** | + | * * | + | * * | + | * * | + | ***** | + | * | + | * | + | * | + | * | + | | + | | + +--------+ +*/ +0x0000, +0x0000, +0x7c00, +0x4200, +0x4200, +0x4200, 0x7c00, 0x4000, 0x4000, 0x4000, 0x4000, -0x4000, -0x0000, -0x0000, -0x0000, - -/* Character 71 (0x47): - width 9 - +---------+ - | | - | | - | ***** | - | * * | - | * | - | * | - | * | - | * *** | - | * * | - | * * | - | * * | - | ***** | - | | - | | - | | - +---------+ -*/ -0x0000, -0x0000, -0x3e00, -0x4100, -0x4000, -0x4000, -0x4000, -0x4700, -0x4100, -0x4100, -0x4100, -0x3e00, -0x0000, -0x0000, -0x0000, - -/* Character 72 (0x48): - width 9 - +---------+ - | | - | | - | * * | - | * * | - | * * | - | * * | - | ******* | - | * * | - | * * | - | * * | - | * * | - | * * | - | | - | | - | | - +---------+ -*/ -0x0000, -0x0000, -0x4100, -0x4100, -0x4100, -0x4100, -0x7f00, -0x4100, -0x4100, -0x4100, -0x4100, -0x4100, -0x0000, -0x0000, -0x0000, - -/* Character 73 (0x49): - width 9 - +---------+ - | | - | | - | ***** | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | ***** | - | | - | | - | | - +---------+ -*/ -0x0000, -0x0000, -0x3e00, -0x0800, -0x0800, -0x0800, -0x0800, -0x0800, -0x0800, -0x0800, -0x0800, -0x3e00, -0x0000, -0x0000, -0x0000, - -/* Character 74 (0x4a): - width 9 - +---------+ - | | - | | - | *****| - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * * | - | **** | - | | - | | - | | - +---------+ -*/ -0x0000, -0x0000, -0x0f80, -0x0200, -0x0200, -0x0200, -0x0200, -0x0200, -0x0200, -0x0200, -0x4200, -0x3c00, -0x0000, -0x0000, -0x0000, - -/* Character 75 (0x4b): - width 9 - +---------+ - | | - | | - | * * | - | * * | - | * * | - | * * | - | *** | - | * * | - | * * | - | * * | - | * * | - | * * | - | | - | | - | | - +---------+ -*/ -0x0000, -0x0000, -0x4100, -0x4200, -0x4400, -0x4800, -0x7000, -0x5000, -0x4800, -0x4400, -0x4200, -0x4100, -0x0000, -0x0000, -0x0000, - -/* Character 76 (0x4c): - width 9 - +---------+ - | | - | | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | ******* | - | | - | | - | | - +---------+ -*/ -0x0000, -0x0000, -0x4000, -0x4000, -0x4000, -0x4000, -0x4000, -0x4000, -0x4000, -0x4000, -0x4000, -0x7f00, -0x0000, -0x0000, -0x0000, - -/* Character 77 (0x4d): - width 9 - +---------+ - | | - | | - | * * | - | * * | - | ** ** | - | * * * * | - | * * * * | - | * * * | - | * * * | - | * * | - | * * | - | * * | - | | - | | - | | - +---------+ -*/ -0x0000, -0x0000, -0x4100, -0x4100, -0x6300, -0x5500, -0x5500, -0x4900, -0x4900, -0x4100, -0x4100, -0x4100, -0x0000, -0x0000, -0x0000, - -/* Character 78 (0x4e): - width 9 - +---------+ - | | - | | - | * * | - | * * | - | ** * | - | * * * | - | * * * | - | * * * | - | * ** | - | * * | - | * * | - | * * | - | | - | | - | | - +---------+ -*/ -0x0000, -0x0000, -0x4100, -0x4100, -0x6100, -0x5100, -0x4900, -0x4500, -0x4300, -0x4100, -0x4100, -0x4100, -0x0000, -0x0000, -0x0000, - -/* Character 79 (0x4f): - width 9 - +---------+ - | | - | | - | ***** | - | * * | - | * * | - | * * | - | * * | - | * * | - | * * | - | * * | - | * * | - | ***** | - | | - | | - | | - +---------+ -*/ -0x0000, -0x0000, -0x3e00, -0x4100, -0x4100, -0x4100, -0x4100, -0x4100, -0x4100, -0x4100, -0x4100, -0x3e00, -0x0000, -0x0000, -0x0000, - -/* Character 80 (0x50): - width 9 - +---------+ - | | - | | - | ****** | - | * * | - | * * | - | * * | - | ****** | - | * | - | * | - | * | - | * | - | * | - | | - | | - | | - +---------+ -*/ -0x0000, -0x0000, -0x7e00, -0x4100, -0x4100, -0x4100, -0x7e00, -0x4000, -0x4000, -0x4000, -0x4000, -0x4000, -0x0000, 0x0000, 0x0000, /* Character 81 (0x51): - width 9 - +---------+ - | | - | | - | ***** | - | * * | - | * * | - | * * | - | * * | - | * * | - | * * | - | * * * | - | * * * | - | ***** | - | * | - | ** | - | | - +---------+ + width 8 + +--------+ + | | + | | + | **** | + | * * | + | * * | + | * * | + | * * | + | * * | + | * * * | + | * * * | + | **** | + | * | + | | + +--------+ */ 0x0000, 0x0000, -0x3e00, -0x4100, -0x4100, -0x4100, -0x4100, -0x4100, -0x4100, -0x5100, -0x4900, -0x3e00, -0x0400, -0x0300, +0x3c00, +0x4200, +0x4200, +0x4200, +0x4200, +0x4200, +0x5200, +0x4a00, +0x3c00, +0x0200, 0x0000, /* Character 82 (0x52): - width 9 - +---------+ - | | - | | - | ****** | - | * * | - | * * | - | * * | - | ****** | - | * * | - | * * | - | * * | - | * * | - | * * | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | ***** | + | * * | + | * * | + | * * | + | ***** | + | * * | + | * * | + | * * | + | * * | + | | + | | + +--------+ */ 0x0000, 0x0000, -0x7e00, -0x4100, -0x4100, -0x4100, -0x7e00, +0x7c00, +0x4200, +0x4200, +0x4200, +0x7c00, +0x5000, 0x4800, 0x4400, 0x4200, -0x4100, -0x4100, -0x0000, 0x0000, 0x0000, /* Character 83 (0x53): - width 9 - +---------+ - | | - | | - | ***** | - | * * | - | * * | - | * | - | *** | - | ** | - | * | - | * * | - | * * | - | ***** | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | **** | + | * * | + | * | + | * | + | **** | + | * | + | * | + | * * | + | **** | + | | + | | + +--------+ */ 0x0000, 0x0000, -0x3e00, -0x4100, -0x4100, +0x3c00, +0x4200, 0x4000, -0x3800, -0x0600, -0x0100, -0x4100, -0x4100, -0x3e00, -0x0000, +0x4000, +0x3c00, +0x0200, +0x0200, +0x4200, +0x3c00, 0x0000, 0x0000, /* Character 84 (0x54): - width 9 - +---------+ - | | - | | - | ******* | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + |******* | + | * | + | * | + | * | + | * | + | * | + | * | + | * | + | * | + | | + | | + +--------+ */ 0x0000, 0x0000, -0x7f00, -0x0800, -0x0800, -0x0800, -0x0800, -0x0800, -0x0800, -0x0800, -0x0800, -0x0800, -0x0000, +0xfe00, +0x1000, +0x1000, +0x1000, +0x1000, +0x1000, +0x1000, +0x1000, +0x1000, 0x0000, 0x0000, /* Character 85 (0x55): - width 9 - +---------+ - | | - | | - | * * | - | * * | - | * * | - | * * | - | * * | - | * * | - | * * | - | * * | - | * * | - | ***** | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | * * | + | * * | + | * * | + | * * | + | * * | + | * * | + | * * | + | * * | + | **** | + | | + | | + +--------+ */ 0x0000, 0x0000, -0x4100, -0x4100, -0x4100, -0x4100, -0x4100, -0x4100, -0x4100, -0x4100, -0x4100, -0x3e00, -0x0000, +0x4200, +0x4200, +0x4200, +0x4200, +0x4200, +0x4200, +0x4200, +0x4200, +0x3c00, 0x0000, 0x0000, /* Character 86 (0x56): - width 9 - +---------+ - | | - | | - | * * | - | * * | - | * * | - | * * | - | * * | - | * * | - | * * | - | * * | - | * * | - | * | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + |* * | + |* * | + | * * | + | * * | + | * * | + | * * | + | * * | + | * * | + | * | + | | + | | + +--------+ */ 0x0000, 0x0000, -0x4100, -0x4100, -0x4100, -0x2200, -0x2200, -0x2200, -0x1400, -0x1400, -0x1400, -0x0800, -0x0000, +0x8200, +0x8200, +0x4400, +0x4400, +0x4400, +0x2800, +0x2800, +0x2800, +0x1000, 0x0000, 0x0000, /* Character 87 (0x57): - width 9 - +---------+ - | | - | | - | * * | - | * * | - | * * | - | * * | - | * * * | - | * * * | - | * * * | - | * * * | - | * * * * | - | * * | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + |* * | + |* * | + |* * | + |* * | + |* * * | + |* * * | + |* * * | + |* * * * | + | * * | + | | + | | + +--------+ */ 0x0000, 0x0000, -0x4100, -0x4100, -0x4100, -0x4100, -0x4900, -0x4900, -0x4900, -0x4900, -0x5500, -0x2200, -0x0000, +0x8200, +0x8200, +0x8200, +0x8200, +0x9200, +0x9200, +0x9200, +0xaa00, +0x4400, 0x0000, 0x0000, /* Character 88 (0x58): - width 9 - +---------+ - | | - | | - | * * | - | * * | - | * * | - | * * | - | * | - | * | - | * * | - | * * | - | * * | - | * * | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + |* * | + |* * | + | * * | + | * * | + | * | + | * * | + | * * | + |* * | + |* * | + | | + | | + +--------+ */ 0x0000, 0x0000, -0x4100, -0x4100, -0x2200, -0x1400, -0x0800, -0x0800, -0x1400, -0x2200, -0x4100, -0x4100, -0x0000, +0x8200, +0x8200, +0x4400, +0x2800, +0x1000, +0x2800, +0x4400, +0x8200, +0x8200, 0x0000, 0x0000, /* Character 89 (0x59): - width 9 - +---------+ - | | - | | - | * * | - | * * | - | * * | - | * * | - | * | - | * | - | * | - | * | - | * | - | * | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + |* * | + |* * | + | * * | + | * * | + | * | + | * | + | * | + | * | + | * | + | | + | | + +--------+ */ 0x0000, 0x0000, -0x4100, -0x4100, -0x2200, -0x1400, -0x0800, -0x0800, -0x0800, -0x0800, -0x0800, -0x0800, -0x0000, +0x8200, +0x8200, +0x4400, +0x2800, +0x1000, +0x1000, +0x1000, +0x1000, +0x1000, 0x0000, 0x0000, /* Character 90 (0x5a): - width 9 - +---------+ - | | - | | - | ******* | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | ******* | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | ****** | + | * | + | * | + | * | + | * | + | * | + | * | + | * | + | ****** | + | | + | | + +--------+ */ 0x0000, 0x0000, -0x7f00, -0x0100, +0x7e00, 0x0200, 0x0400, 0x0800, @@ -2197,146 +1958,129 @@ static const uInt16 _console_font_bits[] = { 0x2000, 0x4000, 0x4000, -0x7f00, -0x0000, +0x7e00, 0x0000, 0x0000, /* Character 91 (0x5b): - width 9 - +---------+ - | | - | **** | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | **** | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | **** | + | * | + | * | + | * | + | * | + | * | + | * | + | * | + | **** | + | | + | | + +--------+ */ 0x0000, -0x1e00, -0x1000, -0x1000, -0x1000, -0x1000, -0x1000, -0x1000, -0x1000, -0x1000, -0x1000, -0x1000, -0x1e00, +0x0000, +0x3c00, +0x2000, +0x2000, +0x2000, +0x2000, +0x2000, +0x2000, +0x2000, +0x3c00, 0x0000, 0x0000, /* Character 92 (0x5c): - width 9 - +---------+ - | | - | | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + |* | + |* | + | * | + | * | + | * | + | * | + | * | + | * | + | * | + | | + | | + +--------+ */ 0x0000, 0x0000, +0x8000, +0x8000, 0x4000, 0x2000, -0x2000, 0x1000, 0x0800, -0x0800, 0x0400, 0x0200, 0x0200, -0x0100, -0x0000, 0x0000, 0x0000, /* Character 93 (0x5d): - width 9 - +---------+ - | | - | **** | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | **** | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | **** | + | * | + | * | + | * | + | * | + | * | + | * | + | * | + | **** | + | | + | | + +--------+ */ 0x0000, -0x3c00, -0x0400, -0x0400, -0x0400, -0x0400, -0x0400, -0x0400, -0x0400, -0x0400, -0x0400, -0x0400, -0x3c00, +0x0000, +0x7800, +0x0800, +0x0800, +0x0800, +0x0800, +0x0800, +0x0800, +0x0800, +0x7800, 0x0000, 0x0000, /* Character 94 (0x5e): - width 9 - +---------+ - | | - | | - | * | - | * * | - | * * | - | * * | - | | - | | - | | - | | - | | - | | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | * | + | * * | + | * * | + | | + | | + | | + | | + | | + | | + | | + | | + +--------+ */ 0x0000, 0x0000, -0x0800, -0x1400, -0x2200, -0x4100, -0x0000, +0x1000, +0x2800, +0x4400, 0x0000, 0x0000, 0x0000, @@ -2347,24 +2091,22 @@ static const uInt16 _console_font_bits[] = { 0x0000, /* Character 95 (0x5f): - width 9 - +---------+ - | | - | | - | | - | | - | | - | | - | | - | | - | | - | | - | | - | | - |******** | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + |******* | + | | + +--------+ */ 0x0000, 0x0000, @@ -2377,36 +2119,30 @@ static const uInt16 _console_font_bits[] = { 0x0000, 0x0000, 0x0000, -0x0000, -0xff00, -0x0000, +0xfe00, 0x0000, /* Character 96 (0x60): - width 9 - +---------+ - | | - | * | - | * | - | * | - | | - | | - | | - | | - | | - | | - | | - | | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | * | + | * | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + +--------+ */ 0x0000, 0x1000, 0x0800, -0x0400, -0x0000, 0x0000, 0x0000, 0x0000, @@ -2419,888 +2155,790 @@ static const uInt16 _console_font_bits[] = { 0x0000, /* Character 97 (0x61): - width 9 - +---------+ - | | - | | - | | - | | - | | - | ***** | - | * | - | * | - | ****** | - | * * | - | * ** | - | **** * | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | | + | | + | | + | **** | + | * | + | ***** | + | * * | + | * ** | + | *** * | + | | + | | + +--------+ */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, +0x3c00, +0x0200, 0x3e00, -0x0100, -0x0100, -0x3f00, -0x4100, -0x4300, -0x3d00, -0x0000, +0x4200, +0x4600, +0x3a00, 0x0000, 0x0000, /* Character 98 (0x62): - width 9 - +---------+ - | | - | | - | * | - | * | - | * | - | * **** | - | ** * | - | * * | - | * * | - | * * | - | ** * | - | * **** | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | * | + | * | + | * | + | * *** | + | ** * | + | * * | + | * * | + | ** * | + | * *** | + | | + | | + +--------+ */ 0x0000, 0x0000, 0x4000, 0x4000, 0x4000, -0x5e00, -0x6100, -0x4100, -0x4100, -0x4100, -0x6100, -0x5e00, -0x0000, +0x5c00, +0x6200, +0x4200, +0x4200, +0x6200, +0x5c00, 0x0000, 0x0000, /* Character 99 (0x63): - width 9 - +---------+ - | | - | | - | | - | | - | | - | ***** | - | * * | - | * | - | * | - | * | - | * * | - | ***** | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | | + | | + | | + | **** | + | * * | + | * | + | * | + | * * | + | **** | + | | + | | + +--------+ */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -0x3e00, -0x4100, +0x3c00, +0x4200, 0x4000, 0x4000, -0x4000, -0x4100, -0x3e00, -0x0000, +0x4200, +0x3c00, 0x0000, 0x0000, /* Character 100 (0x64): - width 9 - +---------+ - | | - | | - | * | - | * | - | * | - | **** * | - | * ** | - | * * | - | * * | - | * * | - | * ** | - | **** * | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | * | + | * | + | * | + | *** * | + | * ** | + | * * | + | * * | + | * ** | + | *** * | + | | + | | + +--------+ */ 0x0000, 0x0000, -0x0100, -0x0100, -0x0100, -0x3d00, -0x4300, -0x4100, -0x4100, -0x4100, -0x4300, -0x3d00, -0x0000, +0x0200, +0x0200, +0x0200, +0x3a00, +0x4600, +0x4200, +0x4200, +0x4600, +0x3a00, 0x0000, 0x0000, /* Character 101 (0x65): - width 9 - +---------+ - | | - | | - | | - | | - | | - | ***** | - | * * | - | * * | - | ******* | - | * | - | * | - | ***** | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | | + | | + | | + | **** | + | * * | + | ****** | + | * | + | * * | + | **** | + | | + | | + +--------+ */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -0x3e00, -0x4100, -0x4100, -0x7f00, +0x3c00, +0x4200, +0x7e00, 0x4000, -0x4000, -0x3e00, -0x0000, +0x4200, +0x3c00, 0x0000, 0x0000, /* Character 102 (0x66): - width 9 - +---------+ - | | - | | - | *** | - | * * | - | * * | - | * | - | * | - | ***** | - | * | - | * | - | * | - | * | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | *** | + | * * | + | * | + | * | + | ***** | + | * | + | * | + | * | + | * | + | | + | | + +--------+ */ 0x0000, 0x0000, -0x0e00, -0x1100, -0x1100, -0x1000, -0x1000, +0x1c00, +0x2200, +0x2000, +0x2000, 0x7c00, -0x1000, -0x1000, -0x1000, -0x1000, -0x0000, +0x2000, +0x2000, +0x2000, +0x2000, 0x0000, 0x0000, /* Character 103 (0x67): - width 9 - +---------+ - | | - | | - | | - | | - | | - | **** * | - | * * | - | * * | - | * * | - | **** | - | * | - | ***** | - | * * | - | * * | - | ***** | - +---------+ + width 8 + +--------+ + | | + | | + | | + | | + | | + | *** * | + | * * | + | * * | + | *** | + | * | + | **** | + | * * | + | **** | + +--------+ */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -0x3d00, -0x4200, -0x4200, +0x3a00, +0x4400, +0x4400, +0x3800, +0x4000, +0x3c00, 0x4200, 0x3c00, -0x4000, -0x3e00, -0x4100, -0x4100, -0x3e00, /* Character 104 (0x68): - width 9 - +---------+ - | | - | | - | * | - | * | - | * | - | * **** | - | ** * | - | * * | - | * * | - | * * | - | * * | - | * * | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | * | + | * | + | * | + | * *** | + | ** * | + | * * | + | * * | + | * * | + | * * | + | | + | | + +--------+ */ 0x0000, 0x0000, 0x4000, 0x4000, 0x4000, -0x5e00, -0x6100, -0x4100, -0x4100, -0x4100, -0x4100, -0x4100, -0x0000, +0x5c00, +0x6200, +0x4200, +0x4200, +0x4200, +0x4200, 0x0000, 0x0000, /* Character 105 (0x69): - width 9 - +---------+ - | | - | | - | ** | - | | - | | - | *** | - | * | - | * | - | * | - | * | - | * | - | ***** | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | | + | * | + | | + | ** | + | * | + | * | + | * | + | * | + | ***** | + | | + | | + +--------+ */ 0x0000, 0x0000, -0x1800, 0x0000, +0x1000, 0x0000, -0x3800, -0x0800, -0x0800, -0x0800, -0x0800, -0x0800, -0x3e00, -0x0000, +0x3000, +0x1000, +0x1000, +0x1000, +0x1000, +0x7c00, 0x0000, 0x0000, /* Character 106 (0x6a): - width 9 - +---------+ - | | - | | - | ** | - | | - | | - | *** | - | * | - | * | - | * | - | * | - | * | - | * * | - | * * | - | * * | - | **** | - +---------+ + width 8 + +--------+ + | | + | | + | | + | * | + | | + | ** | + | * | + | * | + | * | + | * | + | * * | + | * * | + | *** | + +--------+ */ 0x0000, 0x0000, -0x0600, 0x0000, +0x0400, 0x0000, -0x0e00, -0x0200, -0x0200, -0x0200, -0x0200, -0x0200, -0x4200, -0x4200, -0x4200, -0x3c00, +0x0c00, +0x0400, +0x0400, +0x0400, +0x0400, +0x4400, +0x4400, +0x3800, /* Character 107 (0x6b): - width 9 - +---------+ - | | - | | - | * | - | * | - | * | - | * * | - | * ** | - | * ** | - | ** | - | * ** | - | * ** | - | * * | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | * | + | * | + | * | + | * * | + | * * | + | *** | + | * * | + | * * | + | * * | + | | + | | + +--------+ */ 0x0000, 0x0000, 0x4000, 0x4000, 0x4000, -0x4100, -0x4600, -0x5800, -0x6000, -0x5800, -0x4600, -0x4100, -0x0000, +0x4400, +0x4800, +0x7000, +0x4800, +0x4400, +0x4200, 0x0000, 0x0000, /* Character 108 (0x6c): - width 9 - +---------+ - | | - | | - | *** | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | ***** | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | ** | + | * | + | * | + | * | + | * | + | * | + | * | + | * | + | ***** | + | | + | | + +--------+ */ 0x0000, 0x0000, -0x3800, -0x0800, -0x0800, -0x0800, -0x0800, -0x0800, -0x0800, -0x0800, -0x0800, -0x3e00, -0x0000, +0x3000, +0x1000, +0x1000, +0x1000, +0x1000, +0x1000, +0x1000, +0x1000, +0x7c00, 0x0000, 0x0000, /* Character 109 (0x6d): - width 9 - +---------+ - | | - | | - | | - | | - | | - | *** ** | - | * * * | - | * * * | - | * * * | - | * * * | - | * * * | - | * * | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | | + | | + | | + |*** ** | + |* * * | + |* * * | + |* * * | + |* * * | + |* * | + | | + | | + +--------+ */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -0x7600, -0x4900, -0x4900, -0x4900, -0x4900, -0x4900, -0x4100, -0x0000, +0xec00, +0x9200, +0x9200, +0x9200, +0x9200, +0x8200, 0x0000, 0x0000, /* Character 110 (0x6e): - width 9 - +---------+ - | | - | | - | | - | | - | | - | * **** | - | ** * | - | * * | - | * * | - | * * | - | * * | - | * * | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | | + | | + | | + | * *** | + | ** * | + | * * | + | * * | + | * * | + | * * | + | | + | | + +--------+ */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -0x5e00, -0x6100, -0x4100, -0x4100, -0x4100, -0x4100, -0x4100, -0x0000, +0x5c00, +0x6200, +0x4200, +0x4200, +0x4200, +0x4200, 0x0000, 0x0000, /* Character 111 (0x6f): - width 9 - +---------+ - | | - | | - | | - | | - | | - | ***** | - | * * | - | * * | - | * * | - | * * | - | * * | - | ***** | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | | + | | + | | + | **** | + | * * | + | * * | + | * * | + | * * | + | **** | + | | + | | + +--------+ */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -0x3e00, -0x4100, -0x4100, -0x4100, -0x4100, -0x4100, -0x3e00, -0x0000, +0x3c00, +0x4200, +0x4200, +0x4200, +0x4200, +0x3c00, 0x0000, 0x0000, /* Character 112 (0x70): - width 9 - +---------+ - | | - | | - | | - | | - | | - | * **** | - | ** * | - | * * | - | * * | - | * * | - | ** * | - | * **** | - | * | - | * | - | * | - +---------+ + width 8 + +--------+ + | | + | | + | | + | | + | | + | * *** | + | ** * | + | * * | + | ** * | + | * *** | + | * | + | * | + | * | + +--------+ */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -0x5e00, -0x6100, -0x4100, -0x4100, -0x4100, -0x6100, -0x5e00, +0x5c00, +0x6200, +0x4200, +0x6200, +0x5c00, 0x4000, 0x4000, 0x4000, /* Character 113 (0x71): - width 9 - +---------+ - | | - | | - | | - | | - | | - | **** * | - | * ** | - | * * | - | * * | - | * * | - | * ** | - | **** * | - | * | - | * | - | * | - +---------+ + width 8 + +--------+ + | | + | | + | | + | | + | | + | *** * | + | * ** | + | * * | + | * ** | + | *** * | + | * | + | * | + | * | + +--------+ */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -0x3d00, -0x4300, -0x4100, -0x4100, -0x4100, -0x4300, -0x3d00, -0x0100, -0x0100, -0x0100, +0x3a00, +0x4600, +0x4200, +0x4600, +0x3a00, +0x0200, +0x0200, +0x0200, /* Character 114 (0x72): - width 9 - +---------+ - | | - | | - | | - | | - | | - | * *** | - | ** * | - | * * | - | * | - | * | - | * | - | * | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | | + | | + | | + | * *** | + | * * | + | * | + | * | + | * | + | * | + | | + | | + +--------+ */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -0x4e00, -0x3100, -0x2100, +0x5c00, +0x2200, 0x2000, 0x2000, 0x2000, 0x2000, 0x0000, 0x0000, -0x0000, /* Character 115 (0x73): - width 9 - +---------+ - | | - | | - | | - | | - | | - | ***** | - | * * | - | * | - | ***** | - | * | - | * * | - | ***** | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | | + | | + | | + | **** | + | * * | + | ** | + | ** | + | * * | + | **** | + | | + | | + +--------+ */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -0x3e00, -0x4100, -0x4000, -0x3e00, -0x0100, -0x4100, -0x3e00, -0x0000, +0x3c00, +0x4200, +0x3000, +0x0c00, +0x4200, +0x3c00, 0x0000, 0x0000, /* Character 116 (0x74): - width 9 - +---------+ - | | - | | - | | - | * | - | * | - | ****** | - | * | - | * | - | * | - | * | - | * * | - | *** | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | | + | * | + | * | + | ***** | + | * | + | * | + | * | + | * * | + | *** | + | | + | | + +--------+ */ 0x0000, 0x0000, 0x0000, -0x1000, -0x1000, -0x7e00, -0x1000, -0x1000, -0x1000, -0x1000, -0x1100, -0x0e00, -0x0000, +0x2000, +0x2000, +0x7c00, +0x2000, +0x2000, +0x2000, +0x2200, +0x1c00, 0x0000, 0x0000, /* Character 117 (0x75): - width 9 - +---------+ - | | - | | - | | - | | - | | - | * * | - | * * | - | * * | - | * * | - | * * | - | * * | - | **** * | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | | + | | + | | + | * * | + | * * | + | * * | + | * * | + | * * | + | *** * | + | | + | | + +--------+ */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -0x4200, -0x4200, -0x4200, -0x4200, -0x4200, -0x4200, -0x3d00, -0x0000, +0x4400, +0x4400, +0x4400, +0x4400, +0x4400, +0x3a00, 0x0000, 0x0000, /* Character 118 (0x76): - width 9 - +---------+ - | | - | | - | | - | | - | | - | * * | - | * * | - | * * | - | * * | - | * * | - | * * | - | * | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | | + | | + | | + | * * | + | * * | + | * * | + | * * | + | * * | + | * | + | | + | | + +--------+ */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -0x4100, -0x4100, -0x2200, -0x2200, -0x1400, -0x1400, -0x0800, -0x0000, +0x4400, +0x4400, +0x4400, +0x2800, +0x2800, +0x1000, 0x0000, 0x0000, /* Character 119 (0x77): - width 9 - +---------+ - | | - | | - | | - | | - | | - | * * | - | * * | - | * * * | - | * * * | - | * * * | - | * * * * | - | * * | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | | + | | + | | + |* * | + |* * | + |* * * | + |* * * | + |* * * * | + | * * | + | | + | | + +--------+ */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -0x4100, -0x4100, -0x4900, -0x4900, -0x4900, -0x5500, -0x2200, -0x0000, +0x8200, +0x8200, +0x9200, +0x9200, +0xaa00, +0x4400, 0x0000, 0x0000, /* Character 120 (0x78): - width 9 - +---------+ - | | - | | - | | - | | - | | - | * * | - | * * | - | * * | - | * | - | * * | - | * * | - | * * | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | | + | | + | | + | * * | + | * * | + | ** | + | ** | + | * * | + | * * | + | | + | | + +--------+ */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -0x4100, -0x2200, -0x1400, -0x0800, -0x1400, -0x2200, -0x4100, -0x0000, +0x4200, +0x2400, +0x1800, +0x1800, +0x2400, +0x4200, 0x0000, 0x0000, /* Character 121 (0x79): - width 9 - +---------+ - | | - | | - | | - | | - | | - | * * | - | * * | - | * * | - | * * | - | * * | - | * ** | - | *** * | - | * | - | * * | - | **** | - +---------+ + width 8 + +--------+ + | | + | | + | | + | | + | | + | * * | + | * * | + | * * | + | * ** | + | *** * | + | * | + | * * | + | **** | + +--------+ */ 0x0000, 0x0000, @@ -3310,8 +2948,6 @@ static const uInt16 _console_font_bits[] = { 0x4200, 0x4200, 0x4200, -0x4200, -0x4200, 0x4600, 0x3a00, 0x0200, @@ -3319,176 +2955,156 @@ static const uInt16 _console_font_bits[] = { 0x3c00, /* Character 122 (0x7a): - width 9 - +---------+ - | | - | | - | | - | | - | | - | ******* | - | * | - | * | - | * | - | * | - | * | - | ******* | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | | + | | + | | + | ****** | + | * | + | * | + | * | + | * | + | ****** | + | | + | | + +--------+ */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -0x7f00, -0x0200, +0x7e00, 0x0400, 0x0800, 0x1000, 0x2000, -0x7f00, -0x0000, +0x7e00, 0x0000, 0x0000, /* Character 123 (0x7b): - width 9 - +---------+ - | | - | *** | - | * | - | * | - | * | - | * | - | ** | - | ** | - | * | - | * | - | * | - | * | - | *** | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | *** | + | * | + | * | + | * | + | ** | + | * | + | * | + | * | + | *** | + | | + | | + +--------+ */ 0x0000, -0x0700, +0x0000, +0x0e00, +0x1000, +0x1000, 0x0800, +0x3000, 0x0800, -0x0800, -0x0400, -0x1800, -0x1800, -0x0400, -0x0800, -0x0800, -0x0800, -0x0700, +0x1000, +0x1000, +0x0e00, 0x0000, 0x0000, /* Character 124 (0x7c): - width 9 - +---------+ - | | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | * | + | * | + | * | + | * | + | * | + | * | + | * | + | * | + | * | + | | + | | + +--------+ */ 0x0000, -0x0800, -0x0800, -0x0800, -0x0800, -0x0800, -0x0800, -0x0800, -0x0800, -0x0800, -0x0800, -0x0800, -0x0800, +0x0000, +0x1000, +0x1000, +0x1000, +0x1000, +0x1000, +0x1000, +0x1000, +0x1000, +0x1000, 0x0000, 0x0000, /* Character 125 (0x7d): - width 9 - +---------+ - | | - | *** | - | * | - | * | - | * | - | * | - | ** | - | ** | - | * | - | * | - | * | - | * | - | *** | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | *** | + | * | + | * | + | * | + | ** | + | * | + | * | + | * | + | *** | + | | + | | + +--------+ */ 0x0000, +0x0000, 0x7000, 0x0800, 0x0800, -0x0800, 0x1000, 0x0c00, -0x0c00, 0x1000, 0x0800, 0x0800, -0x0800, 0x7000, 0x0000, 0x0000, /* Character 126 (0x7e): - width 9 - +---------+ - | | - | | - | ** * | - | * * * | - | * ** | - | | - | | - | | - | | - | | - | | - | | - | | - | | - | | - +---------+ + width 8 + +--------+ + | | + | | + | * * | + | * * * | + | * * | + | | + | | + | | + | | + | | + | | + | | + | | + +--------+ */ 0x0000, 0x0000, -0x3100, -0x4900, -0x4600, -0x0000, -0x0000, +0x2400, +0x5400, +0x4800, 0x0000, 0x0000, 0x0000, @@ -3501,7 +3117,7 @@ static const uInt16 _console_font_bits[] = { /* Character->glyph mapping. */ static const uInt16 _console_sysfont_offset[] = { - 15, /* (0x00) */ + 13, /* (0x00) */ 0, /* (0x01) */ 0, /* (0x02) */ 0, /* (0x03) */ @@ -3533,109 +3149,108 @@ static const uInt16 _console_sysfont_offset[] = { 0, /* (0x1d) */ 0, /* (0x1e) */ 0, /* (0x1f) */ - 15, /* (0x20) */ - 30, /* (0x21) */ - 45, /* (0x22) */ - 60, /* (0x23) */ - 75, /* (0x24) */ - 90, /* (0x25) */ - 105, /* (0x26) */ - 120, /* (0x27) */ - 135, /* (0x28) */ - 150, /* (0x29) */ - 165, /* (0x2a) */ - 180, /* (0x2b) */ - 195, /* (0x2c) */ - 210, /* (0x2d) */ - 225, /* (0x2e) */ - 240, /* (0x2f) */ - 255, /* (0x30) */ - 270, /* (0x31) */ - 285, /* (0x32) */ - 300, /* (0x33) */ - 315, /* (0x34) */ - 330, /* (0x35) */ - 345, /* (0x36) */ - 360, /* (0x37) */ - 375, /* (0x38) */ - 390, /* (0x39) */ - 405, /* (0x3a) */ - 420, /* (0x3b) */ - 435, /* (0x3c) */ - 450, /* (0x3d) */ - 465, /* (0x3e) */ - 480, /* (0x3f) */ - 495, /* (0x40) */ - 510, /* (0x41) */ - 525, /* (0x42) */ - 540, /* (0x43) */ - 555, /* (0x44) */ - 570, /* (0x45) */ - 585, /* (0x46) */ - 600, /* (0x47) */ - 615, /* (0x48) */ - 630, /* (0x49) */ - 645, /* (0x4a) */ - 660, /* (0x4b) */ - 675, /* (0x4c) */ - 690, /* (0x4d) */ - 705, /* (0x4e) */ - 720, /* (0x4f) */ - 735, /* (0x50) */ - 750, /* (0x51) */ - 765, /* (0x52) */ - 780, /* (0x53) */ - 795, /* (0x54) */ - 810, /* (0x55) */ - 825, /* (0x56) */ - 840, /* (0x57) */ - 855, /* (0x58) */ - 870, /* (0x59) */ - 885, /* (0x5a) */ - 900, /* (0x5b) */ - 915, /* (0x5c) */ - 930, /* (0x5d) */ - 945, /* (0x5e) */ - 960, /* (0x5f) */ - 975, /* (0x60) */ - 990, /* (0x61) */ - 1005, /* (0x62) */ - 1020, /* (0x63) */ - 1035, /* (0x64) */ - 1050, /* (0x65) */ - 1065, /* (0x66) */ - 1080, /* (0x67) */ - 1095, /* (0x68) */ - 1110, /* (0x69) */ - 1125, /* (0x6a) */ - 1140, /* (0x6b) */ - 1155, /* (0x6c) */ - 1170, /* (0x6d) */ - 1185, /* (0x6e) */ - 1200, /* (0x6f) */ - 1215, /* (0x70) */ - 1230, /* (0x71) */ - 1245, /* (0x72) */ - 1260, /* (0x73) */ - 1275, /* (0x74) */ - 1290, /* (0x75) */ - 1305, /* (0x76) */ - 1320, /* (0x77) */ - 1335, /* (0x78) */ - 1350, /* (0x79) */ - 1365, /* (0x7a) */ - 1380, /* (0x7b) */ - 1395, /* (0x7c) */ - 1410, /* (0x7d) */ - 1425, /* (0x7e) */ + 13, /* (0x20) */ + 26, /* (0x21) */ + 39, /* (0x22) */ + 52, /* (0x23) */ + 65, /* (0x24) */ + 78, /* (0x25) */ + 91, /* (0x26) */ + 104, /* (0x27) */ + 117, /* (0x28) */ + 130, /* (0x29) */ + 143, /* (0x2a) */ + 156, /* (0x2b) */ + 169, /* (0x2c) */ + 182, /* (0x2d) */ + 195, /* (0x2e) */ + 208, /* (0x2f) */ + 221, /* (0x30) */ + 234, /* (0x31) */ + 247, /* (0x32) */ + 260, /* (0x33) */ + 273, /* (0x34) */ + 286, /* (0x35) */ + 299, /* (0x36) */ + 312, /* (0x37) */ + 325, /* (0x38) */ + 338, /* (0x39) */ + 351, /* (0x3a) */ + 364, /* (0x3b) */ + 377, /* (0x3c) */ + 390, /* (0x3d) */ + 403, /* (0x3e) */ + 416, /* (0x3f) */ + 429, /* (0x40) */ + 442, /* (0x41) */ + 455, /* (0x42) */ + 468, /* (0x43) */ + 481, /* (0x44) */ + 494, /* (0x45) */ + 507, /* (0x46) */ + 520, /* (0x47) */ + 533, /* (0x48) */ + 546, /* (0x49) */ + 559, /* (0x4a) */ + 572, /* (0x4b) */ + 585, /* (0x4c) */ + 598, /* (0x4d) */ + 611, /* (0x4e) */ + 624, /* (0x4f) */ + 637, /* (0x50) */ + 650, /* (0x51) */ + 663, /* (0x52) */ + 676, /* (0x53) */ + 689, /* (0x54) */ + 702, /* (0x55) */ + 715, /* (0x56) */ + 728, /* (0x57) */ + 741, /* (0x58) */ + 754, /* (0x59) */ + 767, /* (0x5a) */ + 780, /* (0x5b) */ + 793, /* (0x5c) */ + 806, /* (0x5d) */ + 819, /* (0x5e) */ + 832, /* (0x5f) */ + 845, /* (0x60) */ + 858, /* (0x61) */ + 871, /* (0x62) */ + 884, /* (0x63) */ + 897, /* (0x64) */ + 910, /* (0x65) */ + 923, /* (0x66) */ + 936, /* (0x67) */ + 949, /* (0x68) */ + 962, /* (0x69) */ + 975, /* (0x6a) */ + 988, /* (0x6b) */ + 1001, /* (0x6c) */ + 1014, /* (0x6d) */ + 1027, /* (0x6e) */ + 1040, /* (0x6f) */ + 1053, /* (0x70) */ + 1066, /* (0x71) */ + 1079, /* (0x72) */ + 1092, /* (0x73) */ + 1105, /* (0x74) */ + 1118, /* (0x75) */ + 1131, /* (0x76) */ + 1144, /* (0x77) */ + 1157, /* (0x78) */ + 1170, /* (0x79) */ + 1183, /* (0x7a) */ + 1196, /* (0x7b) */ + 1209, /* (0x7c) */ + 1222, /* (0x7d) */ + 1235, /* (0x7e) */ }; - static const FontDesc consoleDesc = { - "9x15", - 9, - 15, - 12, + "8x13", + 8, + 13, + 11, 0, 127, _console_font_bits, diff --git a/stella/src/gui/DataGridWidget.cxx b/stella/src/gui/DataGridWidget.cxx index d559f67ab..cc1967545 100644 --- a/stella/src/gui/DataGridWidget.cxx +++ b/stella/src/gui/DataGridWidget.cxx @@ -13,7 +13,7 @@ // See the file "license" for information on usage and redistribution of // this file, and for a DISCLAIMER OF ALL WARRANTIES. // -// $Id: DataGridWidget.cxx,v 1.16 2005-08-02 15:59:45 stephena Exp $ +// $Id: DataGridWidget.cxx,v 1.17 2005-08-02 18:28:28 stephena Exp $ // // Based on code from ScummVM - Scumm Interpreter // Copyright (C) 2002-2004 The ScummVM project @@ -31,21 +31,23 @@ #include "RamWidget.hxx" // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -DataGridWidget::DataGridWidget(GuiObject* boss, int x, int y, int cols, int rows, +DataGridWidget::DataGridWidget(GuiObject* boss, const GUI::Font& font, + int x, int y, int cols, int rows, int colchars, int bits, BaseFormat base) - : EditableWidget(boss, x, y, cols*(colchars * kCFontWidth + 8) + 1, kCLineHeight*rows + 1), + : EditableWidget(boss, x, y, cols*(colchars * font.getMaxCharWidth() + 8) + 1, + font.getLineHeight()*rows + 1), CommandSender(boss), _rows(rows), _cols(cols), _currentRow(0), _currentCol(0), - _colWidth(colchars * kCFontWidth + 8), + _rowHeight(font.getLineHeight()), + _colWidth(colchars * font.getMaxCharWidth() + 8), _bits(bits), _base(base), _selectedItem(0) { - // This widget always uses a monospace font - setFont(instance()->consoleFont()); + setFont(font); _flags = WIDGET_ENABLED | WIDGET_CLEARBG | WIDGET_RETAIN_FOCUS | WIDGET_TAB_NAVIGATE; @@ -172,7 +174,7 @@ void DataGridWidget::handleMouseUp(int x, int y, int button, int clickCount) // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - int DataGridWidget::findItem(int x, int y) { - int row = (y - 1) / kCLineHeight; + int row = (y - 1) / _rowHeight; if(row >= _rows) row = _rows - 1; int col = x / _colWidth; @@ -448,8 +450,8 @@ cerr << "DataGridWidget::drawWidget\n"; // Draw the internal grid and labels int linewidth = _cols * _colWidth; for (row = 0; row <= _rows; row++) - fb.hLine(_x, _y + (row * kCLineHeight), _x + linewidth, kColor); - int lineheight = _rows * kCLineHeight; + fb.hLine(_x, _y + (row * _rowHeight), _x + linewidth, kColor); + int lineheight = _rows * _rowHeight; for (col = 0; col <= _cols; col++) fb.vLine(_x + (col * _colWidth), _y, _y + lineheight, kColor); @@ -459,16 +461,16 @@ cerr << "DataGridWidget::drawWidget\n"; for (col = 0; col < _cols; col++) { int x = _x + 4 + (col * _colWidth); - int y = _y + 2 + (row * kCLineHeight); + int y = _y + 2 + (row * _rowHeight); int pos = row*_cols + col; // Draw the selected item inverted, on a highlighted background. if (_currentRow == row && _currentCol == col) { if (_hasFocus && !_editMode) - fb.fillRect(x - 4, y - 2, _colWidth+1, kCLineHeight+1, kTextColorHi); + fb.fillRect(x - 4, y - 2, _colWidth+1, _rowHeight+1, kTextColorHi); else - fb.frameRect(x - 4, y - 2, _colWidth+1, kCLineHeight+1, kTextColorHi); + fb.frameRect(x - 4, y - 2, _colWidth+1, _rowHeight+1, kTextColorHi); } if (_selectedItem == pos && _editMode) @@ -487,7 +489,7 @@ cerr << "DataGridWidget::drawWidget\n"; if(_changedList[pos]) { - fb.fillRect(x - 3, y - 1, _colWidth-1, kCLineHeight-1, kTextColorEm); + fb.fillRect(x - 3, y - 1, _colWidth-1, _rowHeight-1, kTextColorEm); fb.drawString(_font, buffer, x, y, _colWidth, kTextColorHi); } else @@ -504,8 +506,8 @@ cerr << "DataGridWidget::drawWidget\n"; // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - GUI::Rect DataGridWidget::getEditRect() const { - GUI::Rect r(1, 0, _colWidth, kCLineHeight); - const int rowoffset = _currentRow * kCLineHeight; + GUI::Rect r(1, 0, _colWidth, _rowHeight); + const int rowoffset = _currentRow * _rowHeight; const int coloffset = _currentCol * _colWidth + 4; r.top += rowoffset; r.bottom += rowoffset; diff --git a/stella/src/gui/DataGridWidget.hxx b/stella/src/gui/DataGridWidget.hxx index 2b329462f..ac6964c03 100644 --- a/stella/src/gui/DataGridWidget.hxx +++ b/stella/src/gui/DataGridWidget.hxx @@ -13,7 +13,7 @@ // See the file "license" for information on usage and redistribution of // this file, and for a DISCLAIMER OF ALL WARRANTIES. // -// $Id: DataGridWidget.hxx,v 1.9 2005-07-07 15:19:04 stephena Exp $ +// $Id: DataGridWidget.hxx,v 1.10 2005-08-02 18:28:28 stephena Exp $ // // Based on code from ScummVM - Scumm Interpreter // Copyright (C) 2002-2004 The ScummVM project @@ -51,7 +51,8 @@ enum { class DataGridWidget : public EditableWidget, public CommandSender { public: - DataGridWidget(GuiObject* boss, int x, int y, int cols, int rows, + DataGridWidget(GuiObject* boss, const GUI::Font& font, + int x, int y, int cols, int rows, int colchars, int bits, BaseFormat format = kBASE_DEFAULT); virtual ~DataGridWidget(); @@ -93,6 +94,7 @@ class DataGridWidget : public EditableWidget, public CommandSender int _cols; int _currentRow; int _currentCol; + int _rowHeight; int _colWidth; int _bits; diff --git a/stella/src/gui/Font.hxx b/stella/src/gui/Font.hxx index 61893962a..8e866f654 100644 --- a/stella/src/gui/Font.hxx +++ b/stella/src/gui/Font.hxx @@ -13,7 +13,7 @@ // See the file "license" for information on usage and redistribution of // this file, and for a DISCLAIMER OF ALL WARRANTIES. // -// $Id: Font.hxx,v 1.3 2005-08-01 22:33:15 stephena Exp $ +// $Id: Font.hxx,v 1.4 2005-08-02 18:28:29 stephena Exp $ // // Based on code from ScummVM - Scumm Interpreter // Copyright (C) 2002-2004 The ScummVM project @@ -52,6 +52,7 @@ class Font const FontDesc& desc() { return myFontDesc; } int getFontHeight() const { return myFontDesc.height; } + int getLineHeight() const { return myFontDesc.height + 2; } int getMaxCharWidth() const { return myFontDesc.maxwidth; } int getCharWidth(uInt8 chr) const; diff --git a/stella/src/gui/GuiUtils.hxx b/stella/src/gui/GuiUtils.hxx index 4622f6ca6..64c485594 100644 --- a/stella/src/gui/GuiUtils.hxx +++ b/stella/src/gui/GuiUtils.hxx @@ -13,7 +13,7 @@ // See the file "license" for information on usage and redistribution of // this file, and for a DISCLAIMER OF ALL WARRANTIES. // -// $Id: GuiUtils.hxx,v 1.15 2005-08-02 15:59:45 stephena Exp $ +// $Id: GuiUtils.hxx,v 1.16 2005-08-02 18:28:29 stephena Exp $ // // Based on code from ScummVM - Scumm Interpreter // Copyright (C) 2002-2004 The ScummVM project @@ -29,16 +29,12 @@ Probably not very neat, but at least it works ... @author Stephen Anthony - @version $Id: GuiUtils.hxx,v 1.15 2005-08-02 15:59:45 stephena Exp $ + @version $Id: GuiUtils.hxx,v 1.16 2005-08-02 18:28:29 stephena Exp $ */ #define kFontHeight 10 #define kLineHeight 12 -#define kCFontWidth 9 -#define kCFontHeight 15 -#define kCLineHeight 17 - #define kScrollBarWidth 9 // Colors indices to use for the various GUI elements diff --git a/stella/src/gui/ToggleBitWidget.cxx b/stella/src/gui/ToggleBitWidget.cxx index 32f157686..da141806d 100644 --- a/stella/src/gui/ToggleBitWidget.cxx +++ b/stella/src/gui/ToggleBitWidget.cxx @@ -13,7 +13,7 @@ // See the file "license" for information on usage and redistribution of // this file, and for a DISCLAIMER OF ALL WARRANTIES. // -// $Id: ToggleBitWidget.cxx,v 1.5 2005-08-02 15:59:45 stephena Exp $ +// $Id: ToggleBitWidget.cxx,v 1.6 2005-08-02 18:28:29 stephena Exp $ // // Based on code from ScummVM - Scumm Interpreter // Copyright (C) 2002-2004 The ScummVM project @@ -27,19 +27,20 @@ #include "ToggleBitWidget.hxx" // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -ToggleBitWidget::ToggleBitWidget(GuiObject* boss, int x, int y, - int cols, int rows, int colchars) - : Widget(boss, x, y, cols*(colchars * kCFontWidth + 8) + 1, kCLineHeight*rows + 1), +ToggleBitWidget::ToggleBitWidget(GuiObject* boss, const GUI::Font& font, + int x, int y, int cols, int rows, int colchars) + : Widget(boss, x, y, cols*(colchars * font.getMaxCharWidth() + 8) + 1, + font.getLineHeight()*rows + 1), CommandSender(boss), _rows(rows), _cols(cols), _currentRow(0), _currentCol(0), - _colWidth(colchars * kCFontWidth + 8), + _rowHeight(font.getLineHeight()), + _colWidth(colchars * font.getMaxCharWidth() + 8), _selectedItem(0) { - // This widget always uses a monospace font - setFont(instance()->consoleFont()); + setFont(font); _flags = WIDGET_ENABLED | WIDGET_CLEARBG | WIDGET_RETAIN_FOCUS | WIDGET_TAB_NAVIGATE; @@ -64,10 +65,12 @@ void ToggleBitWidget::setList(const StringList& off, const StringList& on) } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void ToggleBitWidget::setState(const BoolArray& state) +void ToggleBitWidget::setState(const BoolArray& state, const BoolArray& changed) { _stateList.clear(); _stateList = state; + _changedList.clear(); + _changedList = changed; } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -112,7 +115,7 @@ void ToggleBitWidget::handleMouseUp(int x, int y, int button, int clickCount) // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - int ToggleBitWidget::findItem(int x, int y) { - int row = (y - 1) / kCLineHeight; + int row = (y - 1) / _rowHeight; if(row >= _rows) row = _rows - 1; int col = x / _colWidth; @@ -254,8 +257,8 @@ cerr << "ToggleBitWidget::drawWidget\n"; // Draw the internal grid and labels int linewidth = _cols * _colWidth; for (row = 0; row <= _rows; row++) - fb.hLine(_x, _y + (row * kCLineHeight), _x + linewidth, kColor); - int lineheight = _rows * kCLineHeight; + fb.hLine(_x, _y + (row * _rowHeight), _x + linewidth, kColor); + int lineheight = _rows * _rowHeight; for (col = 0; col <= _cols; col++) fb.vLine(_x + (col * _colWidth), _y, _y + lineheight, kColor); @@ -265,23 +268,31 @@ cerr << "ToggleBitWidget::drawWidget\n"; for (col = 0; col < _cols; col++) { int x = _x + 4 + (col * _colWidth); - int y = _y + 2 + (row * kCLineHeight); + int y = _y + 2 + (row * _rowHeight); int pos = row*_cols + col; // Draw the selected item inverted, on a highlighted background. if (_currentRow == row && _currentCol == col) { if (_hasFocus) - fb.fillRect(x - 4, y - 2, _colWidth+1, kCLineHeight+1, kTextColorHi); + fb.fillRect(x - 4, y - 2, _colWidth+1, _rowHeight+1, kTextColorHi); else - fb.frameRect(x - 4, y - 2, _colWidth+1, kCLineHeight+1, kTextColorHi); + fb.frameRect(x - 4, y - 2, _colWidth+1, _rowHeight+1, kTextColorHi); } if(_stateList[pos]) buffer = _onList[pos]; else buffer = _offList[pos]; - fb.drawString(_font, buffer, x, y, _colWidth, kTextColor); + + // Highlight changes + if(_changedList[pos]) + { + fb.fillRect(x - 3, y - 1, _colWidth-1, _rowHeight-1, kTextColorEm); + fb.drawString(_font, buffer, x, y, _colWidth, kTextColorHi); + } + else + fb.drawString(_font, buffer, x, y, _colWidth, kTextColor); } } } diff --git a/stella/src/gui/ToggleBitWidget.hxx b/stella/src/gui/ToggleBitWidget.hxx index 922d53328..031b8cd2a 100644 --- a/stella/src/gui/ToggleBitWidget.hxx +++ b/stella/src/gui/ToggleBitWidget.hxx @@ -13,7 +13,7 @@ // See the file "license" for information on usage and redistribution of // this file, and for a DISCLAIMER OF ALL WARRANTIES. // -// $Id: ToggleBitWidget.hxx,v 1.3 2005-07-05 15:25:44 stephena Exp $ +// $Id: ToggleBitWidget.hxx,v 1.4 2005-08-02 18:28:29 stephena Exp $ // // Based on code from ScummVM - Scumm Interpreter // Copyright (C) 2002-2004 The ScummVM project @@ -39,12 +39,12 @@ enum { class ToggleBitWidget : public Widget, public CommandSender { public: - ToggleBitWidget(GuiObject* boss, int x, int y, int cols, int rows, - int colchars = 1); + ToggleBitWidget(GuiObject* boss, const GUI::Font& font, + int x, int y, int cols, int rows, int colchars = 1); virtual ~ToggleBitWidget(); void setList(const StringList& off, const StringList& on); - void setState(const BoolArray& state); + void setState(const BoolArray& state, const BoolArray& changed); bool getSelectedState() const { return _stateList[_selectedItem]; } @@ -66,12 +66,14 @@ class ToggleBitWidget : public Widget, public CommandSender int _cols; int _currentRow; int _currentCol; + int _rowHeight; int _colWidth; int _selectedItem; StringList _offList; StringList _onList; BoolArray _stateList; + BoolArray _changedList; }; #endif