From 3993576dfcbdbf6e2d5c632290d586cd1137a5f0 Mon Sep 17 00:00:00 2001 From: stephena Date: Sun, 12 Aug 2007 23:05:12 +0000 Subject: [PATCH] More UI cleanups for the recent palette changes. git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1343 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba --- stella/src/debugger/Debugger.cxx | 18 ++++---- stella/src/debugger/gui/ContextMenu.cxx | 8 ++-- stella/src/debugger/gui/PromptWidget.cxx | 3 +- stella/src/debugger/gui/RomWidget.cxx | 12 ++---- stella/src/emucore/FrameBuffer.hxx | 15 ++++--- stella/src/emucore/OSystem.cxx | 42 ++++++++----------- stella/src/emucore/OSystem.hxx | 7 +--- stella/src/gui/EditableWidget.cxx | 6 +-- stella/src/gui/ListWidget.cxx | 6 +-- stella/src/gui/PopUpWidget.cxx | 10 ++--- stella/src/gui/ScrollBarWidget.cxx | 18 ++++---- stella/src/gui/Widget.cxx | 52 ++++++++---------------- stella/src/gui/Widget.hxx | 15 ++++--- 13 files changed, 94 insertions(+), 118 deletions(-) diff --git a/stella/src/debugger/Debugger.cxx b/stella/src/debugger/Debugger.cxx index 86000c090..1a182b1ac 100644 --- a/stella/src/debugger/Debugger.cxx +++ b/stella/src/debugger/Debugger.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: Debugger.cxx,v 1.111 2007-08-10 18:27:10 stephena Exp $ +// $Id: Debugger.cxx,v 1.112 2007-08-12 23:05:12 stephena Exp $ //============================================================================ #include "bspf.hxx" @@ -969,6 +969,7 @@ void Debugger::setQuitState() // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - GUI::Rect Debugger::getDialogBounds() const { + // The dialog bounds are the actual size of the entire dialog container GUI::Rect r(0, 0, myWidth, myHeight); return r; } @@ -976,6 +977,7 @@ GUI::Rect Debugger::getDialogBounds() const // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - GUI::Rect Debugger::getTiaBounds() const { + // The area showing the TIA image (NTSC and PAL supported, up to 260 lines) GUI::Rect r(0, 0, 320, 260); return r; } @@ -985,8 +987,9 @@ GUI::Rect Debugger::getRomBounds() const { // The ROM area is the full area to the right of the tabs GUI::Rect dialog = getDialogBounds(); + GUI::Rect status = getStatusBounds(); - int x1 = dialog.right - myOSystem->consoleFont().getMaxCharWidth() * 60; + int x1 = status.right + 1; int y1 = 0; int x2 = dialog.right; int y2 = dialog.bottom; @@ -999,13 +1002,14 @@ GUI::Rect Debugger::getRomBounds() const GUI::Rect Debugger::getStatusBounds() const { // The status area is the full area to the right of the TIA image - // and left of the ROM area + // extending as far as necessary + GUI::Rect dlg = getDialogBounds(); GUI::Rect tia = getTiaBounds(); - GUI::Rect rom = getRomBounds(); int x1 = tia.right + 1; int y1 = 0; - int x2 = rom.left - 1; + int x2 = tia.right + 225 + (dlg.width() > 1030 ? + (int) (0.2 * (dlg.width() - 1030)) : 0); int y2 = tia.bottom; GUI::Rect r(x1, y1, x2, y2); @@ -1018,11 +1022,11 @@ GUI::Rect Debugger::getTabBounds() const // The tab area is the full area below the TIA image GUI::Rect dialog = getDialogBounds(); GUI::Rect tia = getTiaBounds(); - GUI::Rect rom = getRomBounds(); + GUI::Rect status = getStatusBounds(); int x1 = 0; int y1 = tia.bottom + 1; - int x2 = rom.left - 1; + int x2 = status.right + 1; int y2 = dialog.bottom; GUI::Rect r(x1, y1, x2, y2); diff --git a/stella/src/debugger/gui/ContextMenu.cxx b/stella/src/debugger/gui/ContextMenu.cxx index 71f64f44e..3863723a9 100644 --- a/stella/src/debugger/gui/ContextMenu.cxx +++ b/stella/src/debugger/gui/ContextMenu.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: ContextMenu.cxx,v 1.9 2007-01-01 18:04:43 stephena Exp $ +// $Id: ContextMenu.cxx,v 1.10 2007-08-12 23:05:12 stephena Exp $ // // Based on code from ScummVM - Scumm Interpreter // Copyright (C) 2002-2004 The ScummVM project @@ -191,7 +191,7 @@ void ContextMenu::drawDialog() { FrameBuffer& fb = instance()->frameBuffer(); - fb.fillRect(_x+1, _y+1, _w-2, _h-2, kBGColor); + fb.fillRect(_x+1, _y+1, _w-2, _h-2, kWidColor); fb.box(_x, _y, _w, _h, kColor, kShadowColor); // Draw the entries @@ -204,10 +204,10 @@ void ContextMenu::drawDialog() int w = _w - 4; string& name = _entries[i]; - fb.fillRect(x, y, w, _rowHeight, hilite ? kTextColorHi : kBGColor); + fb.fillRect(x, y, w, _rowHeight, hilite ? kTextColorHi : kWidColor); fb.drawString(_font, name, x + 1, y + 2, w - 2, - hilite ? kBGColor : kTextColor); + hilite ? kWidColor : kTextColor); } _dirty = false; fb.addDirtyRect(_x, _y, _w, _h); diff --git a/stella/src/debugger/gui/PromptWidget.cxx b/stella/src/debugger/gui/PromptWidget.cxx index 1103f9d37..8a120f169 100644 --- a/stella/src/debugger/gui/PromptWidget.cxx +++ b/stella/src/debugger/gui/PromptWidget.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: PromptWidget.cxx,v 1.17 2007-07-31 15:46:20 stephena Exp $ +// $Id: PromptWidget.cxx,v 1.18 2007-08-12 23:05:12 stephena Exp $ // // Based on code from ScummVM - Scumm Interpreter // Copyright (C) 2002-2004 The ScummVM project @@ -54,6 +54,7 @@ PromptWidget::PromptWidget(GuiObject* boss, const GUI::Font& font, _flags = WIDGET_ENABLED | WIDGET_CLEARBG | WIDGET_RETAIN_FOCUS | WIDGET_WANTS_TAB | WIDGET_WANTS_RAWDATA; _type = kPromptWidget; + _bgcolor = kWidColor; _kConsoleCharWidth = font.getMaxCharWidth(); _kConsoleCharHeight = font.getFontHeight(); diff --git a/stella/src/debugger/gui/RomWidget.cxx b/stella/src/debugger/gui/RomWidget.cxx index 9b3ea2339..c04bd77f3 100644 --- a/stella/src/debugger/gui/RomWidget.cxx +++ b/stella/src/debugger/gui/RomWidget.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: RomWidget.cxx,v 1.20 2007-01-01 18:04:44 stephena Exp $ +// $Id: RomWidget.cxx,v 1.21 2007-08-12 23:05:12 stephena Exp $ // // Based on code from ScummVM - Scumm Interpreter // Copyright (C) 2002-2004 The ScummVM project @@ -47,8 +47,7 @@ RomWidget::RomWidget(GuiObject* boss, const GUI::Font& font, int x, int y) { _type = kRomWidget; - int w = 58 * font.getMaxCharWidth(), - h = 0, xpos, ypos; + int xpos, ypos; StaticTextWidget* t; // Create bank editable area @@ -60,7 +59,7 @@ RomWidget::RomWidget(GuiObject* boss, const GUI::Font& font, int x, int y) xpos += t->getWidth() + 10; myBank = new DataGridWidget(boss, font, xpos, ypos-2, - 1, 1, 1, 2, kBASE_16_4); + 1, 1, 2, 2, kBASE_16_4); myBank->setTarget(this); myBank->setRange(0, instance()->debugger().bankCount()); if(instance()->debugger().bankCount() <= 1) @@ -81,11 +80,8 @@ RomWidget::RomWidget(GuiObject* boss, const GUI::Font& font, int x, int y) // Create rom listing xpos = x; ypos += myBank->getHeight() + 4; - - // Update height of widget to use all remaining vertical space GUI::Rect dialog = instance()->debugger().getDialogBounds(); - int rows = ((dialog.height() - ypos) / font.getLineHeight()) - 1; - h = rows * font.getLineHeight(); + int w = dialog.width() - x - 5, h = dialog.height() - ypos - 3; myRomList = new RomListWidget(boss, font, xpos, ypos, w, h); myRomList->setTarget(this); diff --git a/stella/src/emucore/FrameBuffer.hxx b/stella/src/emucore/FrameBuffer.hxx index 7185a0ff7..d121bb922 100644 --- a/stella/src/emucore/FrameBuffer.hxx +++ b/stella/src/emucore/FrameBuffer.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: FrameBuffer.hxx,v 1.88 2007-08-06 20:16:51 stephena Exp $ +// $Id: FrameBuffer.hxx,v 1.89 2007-08-12 23:05:12 stephena Exp $ //============================================================================ #ifndef FRAMEBUFFER_HXX @@ -75,14 +75,17 @@ enum { kTextColorHi, kTextColorEm, kDlgColor, - kListColor, + kWidColor, kBtnColor, kBtnColorHi, - kBtnFntColor, - kBtnFntColorHi, + kBtnTextColor, + kBtnTextColorHi, + kCheckColor, kScrollColor, kScrollColorHi, - kWidColor, + kSliderColor, + kSliderColorHi, + kWidFrameColor, kNumColors }; @@ -95,7 +98,7 @@ enum { All GUI elements (ala ScummVM) are drawn here as well. @author Stephen Anthony - @version $Id: FrameBuffer.hxx,v 1.88 2007-08-06 20:16:51 stephena Exp $ + @version $Id: FrameBuffer.hxx,v 1.89 2007-08-12 23:05:12 stephena Exp $ */ class FrameBuffer { diff --git a/stella/src/emucore/OSystem.cxx b/stella/src/emucore/OSystem.cxx index 3e3f900f8..aef2c5133 100644 --- a/stella/src/emucore/OSystem.cxx +++ b/stella/src/emucore/OSystem.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: OSystem.cxx,v 1.104 2007-08-10 18:27:11 stephena Exp $ +// $Id: OSystem.cxx,v 1.105 2007-08-12 23:05:12 stephena Exp $ //============================================================================ #include @@ -768,15 +768,6 @@ void OSystem::queryVideoHardware() // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - /* - kColor - kBGColor - kShadowColor - kHiliteColor - kTextColor - kTextColorHi - kTextColorEm - - Palette is defined as follows: kColor TODO kBGColor TODO @@ -787,20 +778,20 @@ void OSystem::queryVideoHardware() kTextColorEm TODO kDlgColor Dialog background - kListColor File list background + kWidColor Widget background kBtnColor Normal button background kBtnColorHi Highlighted button background - kBtnFntColor Normal button font color - kBtnFntColorHi Highlighted button font color + kBtnTextColor Normal button font color + kBtnTextColorHi Highlighted button font color kScrollColor Normal scrollbar color kScrollColorHi Highlighted scrollbar color - kWidColor Border for currently selected widget + kWidFrameColor Border for currently selected widget */ uInt32 OSystem::ourGUIColors[kNumUIPalettes][kNumColors-256] = { - // Normal mode + // Standard { 0x686868, // kColor 0x000000, // kBGColor 0x404040, // kShadowColor @@ -809,20 +800,23 @@ uInt32 OSystem::ourGUIColors[kNumUIPalettes][kNumColors-256] = { 0x62a108, // kTextColorHi 0xc80000, // kTextColorEm 0xc9af7c, // kDlgColor - 0xf0f0cf, // kListColor + 0xf0f0cf, // kWidColor 0xac3410, // kBtnColor 0xd55941, // kBtnColorHi - 0xffffff, // kBtnFntColor - 0xffd652, // kBtnFntColorHi - 0x000000, // kScrollColor - 0x000000, // kScrollColorHi - 0xc80000 // kWidColor + 0xffffff, // kBtnTextColor + 0xffd652, // kBtnTextColorHi + 0xac3410, // kCheckColor + 0xac3410, // kScrollColor + 0xd55941, // kScrollColorHi + 0xac3410, // kSliderColor + 0xd55941, // kSliderColorHi + 0xc80000 // kWidFrameColor }, - // GP2X + // Classic { 0x686868, 0x000000, 0x404040, 0xc8c8ff, 0x20a020, 0x00ff00, 0xc80000, - 0x000000, 0x000000, 0x000000, 0x000000, 0x20a020, 0x00ff00, 0x000000, - 0x000000, 0xc80000 } + 0x000000, 0x000000, 0x000000, 0x000000, 0x20a020, 0x00ff00, 0x20a020, + 0x20a020, 0x00ff00, 0x20a020, 0x00ff00, 0xc80000 } }; // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/stella/src/emucore/OSystem.hxx b/stella/src/emucore/OSystem.hxx index 5ddd48ca2..565c0d716 100644 --- a/stella/src/emucore/OSystem.hxx +++ b/stella/src/emucore/OSystem.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: OSystem.hxx,v 1.54 2007-08-10 18:27:11 stephena Exp $ +// $Id: OSystem.hxx,v 1.55 2007-08-12 23:05:12 stephena Exp $ //============================================================================ #ifndef OSYSTEM_HXX @@ -51,7 +51,7 @@ typedef Common::Array ResolutionList; other objects belong. @author Stephen Anthony - @version $Id: OSystem.hxx,v 1.54 2007-08-10 18:27:11 stephena Exp $ + @version $Id: OSystem.hxx,v 1.55 2007-08-12 23:05:12 stephena Exp $ */ class OSystem { @@ -499,9 +499,6 @@ class OSystem }; TimingInfo myTimingInfo; - // Capabilities for this OSystem - uInt32 myCapabilities; - // Table of RGB values for GUI elements static uInt32 ourGUIColors[kNumUIPalettes][kNumColors-256]; diff --git a/stella/src/gui/EditableWidget.cxx b/stella/src/gui/EditableWidget.cxx index 7ad21b094..5d2b9f9d7 100644 --- a/stella/src/gui/EditableWidget.cxx +++ b/stella/src/gui/EditableWidget.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: EditableWidget.cxx,v 1.23 2007-08-07 14:38:51 stephena Exp $ +// $Id: EditableWidget.cxx,v 1.24 2007-08-12 23:05:12 stephena Exp $ // // Based on code from ScummVM - Scumm Interpreter // Copyright (C) 2002-2004 The ScummVM project @@ -37,8 +37,8 @@ EditableWidget::EditableWidget(GuiObject* boss, const GUI::Font& font, _editScrollOffset = 0; - _bgcolor = kListColor; - _bgcolorhi = kListColor; + _bgcolor = kWidColor; + _bgcolorhi = kWidColor; _textcolor = kTextColor; _textcolorhi = kTextColor; } diff --git a/stella/src/gui/ListWidget.cxx b/stella/src/gui/ListWidget.cxx index 3a276a0ef..980d6ce48 100644 --- a/stella/src/gui/ListWidget.cxx +++ b/stella/src/gui/ListWidget.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: ListWidget.cxx,v 1.48 2007-08-06 20:16:51 stephena Exp $ +// $Id: ListWidget.cxx,v 1.49 2007-08-12 23:05:12 stephena Exp $ // // Based on code from ScummVM - Scumm Interpreter // Copyright (C) 2002-2004 The ScummVM project @@ -46,8 +46,8 @@ ListWidget::ListWidget(GuiObject* boss, const GUI::Font& font, { _flags = WIDGET_ENABLED | WIDGET_CLEARBG | WIDGET_RETAIN_FOCUS; _type = kListWidget; - _bgcolor = kListColor; - _bgcolorhi = kListColor; + _bgcolor = kWidColor; + _bgcolorhi = kWidColor; _textcolor = kTextColor; _textcolorhi = kTextColor; diff --git a/stella/src/gui/PopUpWidget.cxx b/stella/src/gui/PopUpWidget.cxx index de77a01f7..fd4611292 100644 --- a/stella/src/gui/PopUpWidget.cxx +++ b/stella/src/gui/PopUpWidget.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: PopUpWidget.cxx,v 1.36 2007-08-07 14:38:52 stephena Exp $ +// $Id: PopUpWidget.cxx,v 1.37 2007-08-12 23:05:12 stephena Exp $ // // Based on code from ScummVM - Scumm Interpreter // Copyright (C) 2002-2004 The ScummVM project @@ -86,7 +86,7 @@ void PopUpDialog::drawDialog() // The last entry may be empty. Fill it with black. if(_twoColumns && (count & 1)) fb.fillRect(_x + 1 + _w / 2, _y + 1 + _popUpBoss->_fontHeight * (_entriesPerColumn - 1), - _w / 2 - 1, _popUpBoss->_fontHeight, kListColor); + _w / 2 - 1, _popUpBoss->_fontHeight, kWidColor); _dirty = false; fb.addDirtyRect(_x, _y, _w, _h); @@ -232,7 +232,7 @@ void PopUpDialog::drawMenuEntry(int entry, bool hilite) } string& name = _popUpBoss->_entries[entry].name; - fb.fillRect(x, y, w, _popUpBoss->_fontHeight, hilite ? kTextColorHi : kListColor); + fb.fillRect(x, y, w, _popUpBoss->_fontHeight, hilite ? kTextColorHi : kWidColor); if(name.size() == 0) { @@ -431,7 +431,7 @@ PopUpWidget::PopUpWidget(GuiObject* boss, const GUI::Font& font, _flags = WIDGET_ENABLED | WIDGET_CLEARBG | WIDGET_RETAIN_FOCUS; _type = kPopUpWidget; _bgcolor = kDlgColor; - _bgcolorhi = kListColor; + _bgcolorhi = kWidColor; _textcolor = kTextColor; _textcolorhi = kTextColor; @@ -566,7 +566,7 @@ void PopUpWidget::drawWidget(bool hilite) fb.vLine(x + w - 1, _y, _y +_h - 1, kShadowColor); // Fill the background - fb.fillRect(x + 1, _y + 1, w - 2, _h - 2, kListColor); + fb.fillRect(x + 1, _y + 1, w - 2, _h - 2, kWidColor); // Draw an arrow pointing down at the right end to signal this is a dropdown/popup fb.drawBitmap(up_down_arrows, x+w - 10, _y + myArrowsY, diff --git a/stella/src/gui/ScrollBarWidget.cxx b/stella/src/gui/ScrollBarWidget.cxx index 4678a4d2f..4dfdf2466 100644 --- a/stella/src/gui/ScrollBarWidget.cxx +++ b/stella/src/gui/ScrollBarWidget.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: ScrollBarWidget.cxx,v 1.17 2007-08-07 14:38:52 stephena Exp $ +// $Id: ScrollBarWidget.cxx,v 1.18 2007-08-12 23:05:12 stephena Exp $ // // Based on code from ScummVM - Scumm Interpreter // Copyright (C) 2002-2004 The ScummVM project @@ -69,8 +69,8 @@ ScrollBarWidget::ScrollBarWidget(GuiObject* boss, const GUI::Font& font, { _flags = WIDGET_ENABLED | WIDGET_TRACK_MOUSE | WIDGET_CLEARBG; _type = kScrollBarWidget; - _bgcolor = kListColor; - _bgcolorhi = kListColor; + _bgcolor = kWidColor; + _bgcolorhi = kWidColor; _part = kNoPart; _sliderHeight = 0; @@ -264,23 +264,23 @@ void ScrollBarWidget::drawWidget(bool hilite) fb.frameRect(_x, _y, _w, UP_DOWN_BOX_HEIGHT, kColor); fb.drawBitmap(up_arrow, _x, _y, isSinglePage ? kColor : - (hilite && _part == kUpArrowPart) ? kBtnColorHi : kBtnColor); + (hilite && _part == kUpArrowPart) ? kScrollColorHi : kScrollColor); // Down arrow fb.frameRect(_x, bottomY - UP_DOWN_BOX_HEIGHT, _w, UP_DOWN_BOX_HEIGHT, kColor); fb.drawBitmap(down_arrow, _x, bottomY - UP_DOWN_BOX_HEIGHT, isSinglePage ? kColor : - (hilite && _part == kDownArrowPart) ? kBtnColorHi : kBtnColor); + (hilite && _part == kDownArrowPart) ? kScrollColorHi : kScrollColor); // Slider if(!isSinglePage) { fb.fillRect(_x, _y + _sliderPos, _w, _sliderHeight, - (hilite && _part == kSliderPart) ? kBtnColorHi : kBtnColor); + (hilite && _part == kSliderPart) ? kScrollColorHi : kScrollColor); fb.frameRect(_x, _y + _sliderPos, _w, _sliderHeight, kColor); int y = _y + _sliderPos + _sliderHeight / 2; - fb.hLine(_x + 2, y - 2, _x + _w - 3, kBtnFntColorHi); - fb.hLine(_x + 2, y, _x + _w - 3, kBtnFntColorHi); - fb.hLine(_x + 2, y + 2, _x + _w - 3, kBtnFntColorHi); + fb.hLine(_x + 2, y - 2, _x + _w - 3, kWidColor); + fb.hLine(_x + 2, y, _x + _w - 3, kWidColor); + fb.hLine(_x + 2, y + 2, _x + _w - 3, kWidColor); } } diff --git a/stella/src/gui/Widget.cxx b/stella/src/gui/Widget.cxx index 434a08258..29d36cc8a 100644 --- a/stella/src/gui/Widget.cxx +++ b/stella/src/gui/Widget.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: Widget.cxx,v 1.53 2007-08-10 18:27:12 stephena Exp $ +// $Id: Widget.cxx,v 1.54 2007-08-12 23:05:12 stephena Exp $ // // Based on code from ScummVM - Scumm Interpreter // Copyright (C) 2002-2004 The ScummVM project @@ -41,8 +41,8 @@ Widget::Widget(GuiObject* boss, const GUI::Font& font, _id(-1), _flags(0), _hasFocus(false), - _bgcolor(kBGColor), - _bgcolorhi(kBGColor), + _bgcolor(kWidColor), + _bgcolorhi(kWidColor), _textcolor(kTextColor), _textcolorhi(kTextColorHi) { @@ -285,7 +285,7 @@ Widget* Widget::setFocusForChain(GuiObject* boss, WidgetArray& arr, w = rect.width(), h = rect.height(); tmp->receivedFocus(); - fb.frameRect(x, y, w, h, kWidColor, kDashLine); + fb.frameRect(x, y, w, h, kWidFrameColor, kDashLine); tmp->setDirty(); tmp->draw(); fb.addDirtyRect(x, y, w, h); @@ -357,8 +357,8 @@ ButtonWidget::ButtonWidget(GuiObject *boss, const GUI::Font& font, _type = kButtonWidget; _bgcolor = kBtnColor; _bgcolorhi = kBtnColorHi; - _textcolor = kBtnFntColor; - _textcolorhi = kBtnFntColorHi; + _textcolor = kBtnTextColor; + _textcolorhi = kBtnTextColorHi; _editable = false; } @@ -428,14 +428,14 @@ static unsigned int checked_img_x[8] = static unsigned int checked_img_o[8] = { - 0x00000000, - 0x01000010, - 0x00100100, 0x00011000, + 0x00111100, + 0x01111110, + 0x11111111, + 0x11111111, + 0x01111110, + 0x00111100, 0x00011000, - 0x00000000, - 0x00000000, - 0x00000000, }; // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -453,10 +453,7 @@ CheckboxWidget::CheckboxWidget(GuiObject *boss, const GUI::Font& font, { _flags = WIDGET_ENABLED; _type = kCheckboxWidget; - _bgcolor = kListColor; - _bgcolorhi = kBtnColorHi; - _textcolor = kBtnFntColor; - _textcolorhi = kBtnFntColorHi; + _bgcolor = _bgcolorhi = kWidColor; _editable = true; @@ -499,7 +496,6 @@ void CheckboxWidget::setState(bool state) if(_state != state) { _state = state; - _flags ^= WIDGET_INV_BORDER; setDirty(); draw(); } } @@ -520,20 +516,12 @@ void CheckboxWidget::drawWidget(bool hilite) if(_state) { unsigned int* img = _fillRect ? checked_img_o : checked_img_x; - fb.drawBitmap(img, _x + 3, _y + _boxY + 3, kBtnColor); + int color = _fillRect ? kWidFrameColor : kCheckColor; + fb.drawBitmap(img, _x + 3, _y + _boxY + 3, color); } } else fb.fillRect(_x + 2, _y + _boxY + 2, 10, 10, kColor); - -/* - - int checked = !isEnabled() ? kColor : _state ? _bgcolorhi : _bgcolor; - fb.fillRect(_x + 2, _y + _boxY + 2, 10, 10, checked); - - if(!_fillRect && isEnabled() && _state) // draw a cross - fb.drawBitmap(checked_img, _x + 3, _y + _boxY + 3, _textcolor); -*/ // Finally draw the label fb.drawString(_font, _label, _x + 20, _y + _textY, _w, @@ -556,8 +544,6 @@ SliderWidget::SliderWidget(GuiObject *boss, const GUI::Font& font, _type = kSliderWidget; _bgcolor = kDlgColor; _bgcolorhi = kDlgColor; - _textcolor = kBtnColor; - _textcolorhi = kBtnColorHi; if(!_label.empty() && _labelWidth == 0) _labelWidth = _font->getStringWidth(_label); @@ -568,10 +554,6 @@ SliderWidget::SliderWidget(GuiObject *boss, const GUI::Font& font, // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void SliderWidget::setValue(int value) { -/*cerr << "SliderWidget::setValue: " << value - << ", max = " << _valueMax - << ", min = " << _valueMin - << endl;*/ if(value < _valueMin) value = _valueMin; else if(value > _valueMax) value = _valueMax; @@ -679,12 +661,12 @@ void SliderWidget::drawWidget(bool hilite) // Fill the box fb.fillRect(_x + _labelWidth + 2, _y + 2, _w - _labelWidth - 4, _h - 4, - !isEnabled() ? kColor : kListColor); + !isEnabled() ? kColor : kWidColor); // Draw the 'bar' fb.fillRect(_x + _labelWidth + 2, _y + 2, valueToPos(_value), _h - 4, !isEnabled() ? kColor : - hilite ? _textcolorhi : _textcolor); + hilite ? kSliderColorHi : kSliderColor); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/stella/src/gui/Widget.hxx b/stella/src/gui/Widget.hxx index e62bf6f1d..3b547d1e5 100644 --- a/stella/src/gui/Widget.hxx +++ b/stella/src/gui/Widget.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: Widget.hxx,v 1.56 2007-08-10 18:27:12 stephena Exp $ +// $Id: Widget.hxx,v 1.57 2007-08-12 23:05:12 stephena Exp $ // // Based on code from ScummVM - Scumm Interpreter // Copyright (C) 2002-2004 The ScummVM project @@ -41,12 +41,11 @@ enum { WIDGET_INVISIBLE = 1 << 1, WIDGET_HILITED = 1 << 2, WIDGET_BORDER = 1 << 3, - WIDGET_INV_BORDER = 1 << 4, - WIDGET_CLEARBG = 1 << 5, - WIDGET_TRACK_MOUSE = 1 << 6, - WIDGET_RETAIN_FOCUS = 1 << 7, - WIDGET_WANTS_TAB = 1 << 8, - WIDGET_WANTS_RAWDATA = 1 << 9 + WIDGET_CLEARBG = 1 << 4, + WIDGET_TRACK_MOUSE = 1 << 5, + WIDGET_RETAIN_FOCUS = 1 << 6, + WIDGET_WANTS_TAB = 1 << 7, + WIDGET_WANTS_RAWDATA = 1 << 8 }; enum { @@ -88,7 +87,7 @@ enum { This is the base class for all widgets. @author Stephen Anthony - @version $Id: Widget.hxx,v 1.56 2007-08-10 18:27:12 stephena Exp $ + @version $Id: Widget.hxx,v 1.57 2007-08-12 23:05:12 stephena Exp $ */ class Widget : public GuiObject {