diff --git a/src/cheat/CheatCodeDialog.cxx b/src/cheat/CheatCodeDialog.cxx index dbf4ba007..71382b061 100644 --- a/src/cheat/CheatCodeDialog.cxx +++ b/src/cheat/CheatCodeDialog.cxx @@ -57,13 +57,13 @@ CheatCodeDialog::CheatCodeDialog(OSystem& osystem, DialogContainer& parent, xpos += myCheatList->getWidth() + 5; ypos = 15; b = new ButtonWidget(this, font, xpos, ypos, buttonWidth, buttonHeight, - "Add", kAddCheatCmd); + "Add" + ELLIPSIS, kAddCheatCmd); wid.push_back(b); ypos += lineHeight + 10; myEditButton = new ButtonWidget(this, font, xpos, ypos, buttonWidth, buttonHeight, - "Edit", kEditCheatCmd); + "Edit" + ELLIPSIS, kEditCheatCmd); wid.push_back(myEditButton); ypos += lineHeight + 10; @@ -74,7 +74,7 @@ CheatCodeDialog::CheatCodeDialog(OSystem& osystem, DialogContainer& parent, ypos += lineHeight + 10; b = new ButtonWidget(this, font, xpos, ypos, buttonWidth, buttonHeight, - "One shot", kAddOneShotCmd); + "One shot" + ELLIPSIS, kAddOneShotCmd); wid.push_back(b); // Inputbox which will pop up when adding/editing a cheat diff --git a/src/gui/ConfigPathDialog.cxx b/src/gui/ConfigPathDialog.cxx index 415800009..5fd82fd35 100644 --- a/src/gui/ConfigPathDialog.cxx +++ b/src/gui/ConfigPathDialog.cxx @@ -41,6 +41,7 @@ ConfigPathDialog::ConfigPathDialog( buttonWidth = font.getStringWidth("Properties file") + 20, buttonHeight = font.getLineHeight() + 4; const int vBorder = 8; + const int hBorder = 10; int xpos, ypos; WidgetArray wid; ButtonWidget* b; @@ -49,12 +50,12 @@ ConfigPathDialog::ConfigPathDialog( _w = 56 * fontWidth + 8; _h = 9 * (lineHeight + 4) + 10; - xpos = vBorder; ypos = vBorder; + xpos = hBorder; ypos = vBorder; // ROM path ButtonWidget* romButton = new ButtonWidget(this, font, xpos, ypos, buttonWidth, buttonHeight, - "Rom path", kChooseRomDirCmd); + "Rom path" + ELLIPSIS, kChooseRomDirCmd); wid.push_back(romButton); xpos += buttonWidth + 10; myRomPath = new EditTextWidget(this, font, xpos, ypos + 2, @@ -62,9 +63,9 @@ ConfigPathDialog::ConfigPathDialog( wid.push_back(myRomPath); // Cheat file - xpos = vBorder; ypos += romButton->getHeight() + 3; + xpos = hBorder; ypos += romButton->getHeight() + 3; b = new ButtonWidget(this, font, xpos, ypos, buttonWidth, buttonHeight, - "Cheat file", kChooseCheatFileCmd); + "Cheat file" + ELLIPSIS, kChooseCheatFileCmd); wid.push_back(b); xpos += buttonWidth + 10; myCheatFile = new EditTextWidget(this, font, xpos, ypos + 2, @@ -72,9 +73,9 @@ ConfigPathDialog::ConfigPathDialog( wid.push_back(myCheatFile); // Palette file - xpos = vBorder; ypos += b->getHeight() + 3; + xpos = hBorder; ypos += b->getHeight() + 3; b = new ButtonWidget(this, font, xpos, ypos, buttonWidth, buttonHeight, - "Palette file", kChoosePaletteFileCmd); + "Palette file" + ELLIPSIS, kChoosePaletteFileCmd); wid.push_back(b); xpos += buttonWidth + 10; myPaletteFile = new EditTextWidget(this, font, xpos, ypos + 2, @@ -82,9 +83,9 @@ ConfigPathDialog::ConfigPathDialog( wid.push_back(myPaletteFile); // Properties file - xpos = vBorder; ypos += b->getHeight() + 3; + xpos = hBorder; ypos += b->getHeight() + 3; b = new ButtonWidget(this, font, xpos, ypos, buttonWidth, buttonHeight, - "Properties file", kChoosePropsFileCmd); + "Properties file" + ELLIPSIS, kChoosePropsFileCmd); wid.push_back(b); xpos += buttonWidth + 10; myPropsFile = new EditTextWidget(this, font, xpos, ypos + 2, @@ -92,9 +93,9 @@ ConfigPathDialog::ConfigPathDialog( wid.push_back(myPropsFile); // State directory - xpos = vBorder; ypos += b->getHeight() + 3; + xpos = hBorder; ypos += b->getHeight() + 3; b = new ButtonWidget(this, font, xpos, ypos, buttonWidth, buttonHeight, - "State path", kChooseStateDirCmd); + "State path" + ELLIPSIS, kChooseStateDirCmd); wid.push_back(b); xpos += buttonWidth + 10; myStatePath = new EditTextWidget(this, font, xpos, ypos + 2, @@ -102,9 +103,9 @@ ConfigPathDialog::ConfigPathDialog( wid.push_back(myStatePath); // NVRAM directory - xpos = vBorder; ypos += b->getHeight() + 3; + xpos = hBorder; ypos += b->getHeight() + 3; b = new ButtonWidget(this, font, xpos, ypos, buttonWidth, buttonHeight, - "NVRAM path", kChooseNVRamDirCmd); + "NVRAM path" + ELLIPSIS, kChooseNVRamDirCmd); wid.push_back(b); xpos += buttonWidth + 10; myNVRamPath = new EditTextWidget(this, font, xpos, ypos + 2, diff --git a/src/gui/ConsoleFont.hxx b/src/gui/ConsoleFont.hxx index 1c8764ee2..7d48e60ac 100644 --- a/src/gui/ConsoleFont.hxx +++ b/src/gui/ConsoleFont.hxx @@ -42,6 +42,41 @@ namespace GUI { // Font character bitmap data. static const uInt16 console_font_bits[] = { + /* MODIFIED + Character 29 (0x1d): + width 8 + bbx ( 8, 13, 0, -2 ) + + +--------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + |XX XX XX| + | | + | | + +--------+ + */ + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0b1101101100000000, + 0x0000, + 0x0000, + /* MODIFIED Character 30 (0x1e): large centered rounded rectangle width 8 @@ -3350,8 +3385,8 @@ static const FontDesc consoleDesc = { 13, 8, 13, 0, -2, 11, - 30, - 97, + 29, + 98, console_font_bits, 0, /* no encode table*/ 0, /* fixed width*/ diff --git a/src/gui/EventMappingWidget.cxx b/src/gui/EventMappingWidget.cxx index 764a92c91..1010150d6 100644 --- a/src/gui/EventMappingWidget.cxx +++ b/src/gui/EventMappingWidget.cxx @@ -62,7 +62,7 @@ EventMappingWidget::EventMappingWidget(GuiObject* boss, const GUI::Font& font, xpos += myActionsList->getWidth() + 5; ypos += 5; myMapButton = new ButtonWidget(boss, font, xpos, ypos, buttonWidth, buttonHeight, - "Map", kStartMapCmd); + "Map" + ELLIPSIS, kStartMapCmd); myMapButton->setTarget(this); addFocusWidget(myMapButton); diff --git a/src/gui/GuiObject.hxx b/src/gui/GuiObject.hxx index 06fef172d..7c8aff1de 100644 --- a/src/gui/GuiObject.hxx +++ b/src/gui/GuiObject.hxx @@ -95,6 +95,9 @@ class GuiObject : public CommandReceiver /** Redraw the focus list */ virtual void redrawFocus() { } + /** special character for menues */ + const string& ELLIPSIS = "\x1d"; + protected: virtual void releaseFocus() = 0; virtual void draw() = 0; diff --git a/src/gui/InputDialog.cxx b/src/gui/InputDialog.cxx index ccfb7df76..5844e57c9 100644 --- a/src/gui/InputDialog.cxx +++ b/src/gui/InputDialog.cxx @@ -101,39 +101,41 @@ void InputDialog::addDevicePortTab(const GUI::Font& font) int xpos, ypos, lwidth, pwidth, tabID; WidgetArray wid; VariantList items; + const int vGap = 4; + const int hSpace = 8; // Devices/ports tabID = myTab->addTab("Devices & Ports"); // Stelladaptor mappings - xpos = 5+3; ypos = 5; + ypos = vGap+2; lwidth = font.getStringWidth("Digital paddle sensitivity "); // was: "Use mouse as a controller " pwidth = font.getStringWidth("-UI, -Emulation"); VarList::push_back(items, "Left / Right", "lr"); VarList::push_back(items, "Right / Left", "rl"); - mySAPort = new PopUpWidget(myTab, font, xpos, ypos, pwidth, lineHeight, items, + mySAPort = new PopUpWidget(myTab, font, hSpace, ypos, pwidth, lineHeight, items, "Stelladaptor port order ", lwidth); wid.push_back(mySAPort); // Use mouse as controller - ypos += lineHeight + 5; + ypos += lineHeight + vGap; items.clear(); VarList::push_back(items, "Always", "always"); VarList::push_back(items, "Analog devices", "analog"); VarList::push_back(items, "Never", "never"); - myMouseControl = new PopUpWidget(myTab, font, xpos, ypos, pwidth, lineHeight, items, + myMouseControl = new PopUpWidget(myTab, font, hSpace, ypos, pwidth, lineHeight, items, "Use mouse as a controller ", lwidth); wid.push_back(myMouseControl); // Mouse cursor state - ypos += lineHeight + 5; + ypos += lineHeight + vGap; items.clear(); VarList::push_back(items, "-UI, -Emulation", "0"); VarList::push_back(items, "-UI, +Emulation", "1"); VarList::push_back(items, "+UI, -Emulation", "2"); VarList::push_back(items, "+UI, +Emulation", "3"); - myCursorState = new PopUpWidget(myTab, font, xpos, ypos, pwidth, lineHeight, items, + myCursorState = new PopUpWidget(myTab, font, hSpace, ypos, pwidth, lineHeight, items, "Mouse cursor visibility ", lwidth); wid.push_back(myCursorState); #ifndef WINDOWED_SUPPORT @@ -144,61 +146,61 @@ void InputDialog::addDevicePortTab(const GUI::Font& font) pwidth = font.getMaxCharWidth() * 8; // Add joystick deadzone setting - ypos += lineHeight + 8; - myDeadzone = new SliderWidget(myTab, font, xpos, ypos, pwidth, lineHeight, + ypos += lineHeight + vGap*3; + myDeadzone = new SliderWidget(myTab, font, hSpace, ypos, pwidth, lineHeight, "Joystick deadzone size ", lwidth, kDeadzoneChanged); myDeadzone->setMinValue(0); myDeadzone->setMaxValue(29); - xpos += myDeadzone->getWidth() + 5; + xpos = hSpace + myDeadzone->getWidth() + 5; myDeadzoneLabel = new StaticTextWidget(myTab, font, xpos, ypos+1, 5*fontWidth, lineHeight, "", kTextAlignLeft); myDeadzoneLabel->setFlags(WIDGET_CLEARBG); wid.push_back(myDeadzone); // Add paddle speed (digital emulation) - xpos = 5+3; ypos += lineHeight + 4; - myDPaddleSpeed = new SliderWidget(myTab, font, xpos, ypos, pwidth, lineHeight, + ypos += lineHeight + vGap; + myDPaddleSpeed = new SliderWidget(myTab, font, hSpace, ypos, pwidth, lineHeight, "Digital paddle sensitivity ", lwidth, kDPSpeedChanged); myDPaddleSpeed->setMinValue(1); myDPaddleSpeed->setMaxValue(20); - xpos += myDPaddleSpeed->getWidth() + 5; + xpos = hSpace + myDPaddleSpeed->getWidth() + 5; myDPaddleLabel = new StaticTextWidget(myTab, font, xpos, ypos+1, 24, lineHeight, "", kTextAlignLeft); myDPaddleLabel->setFlags(WIDGET_CLEARBG); wid.push_back(myDPaddleSpeed); // Add paddle speed (mouse emulation) - xpos = 5+3; ypos += lineHeight + 4; - myMPaddleSpeed = new SliderWidget(myTab, font, xpos, ypos, pwidth, lineHeight, + ypos += lineHeight + vGap; + myMPaddleSpeed = new SliderWidget(myTab, font, hSpace, ypos, pwidth, lineHeight, "Mouse paddle sensitivity ", lwidth, kMPSpeedChanged); myMPaddleSpeed->setMinValue(1); myMPaddleSpeed->setMaxValue(20); - xpos += myMPaddleSpeed->getWidth() + 5; + xpos = hSpace + myMPaddleSpeed->getWidth() + 5; myMPaddleLabel = new StaticTextWidget(myTab, font, xpos, ypos+1, 24, lineHeight, "", kTextAlignLeft); myMPaddleSpeed->setFlags(WIDGET_CLEARBG); wid.push_back(myMPaddleSpeed); // Add trackball speed - xpos = 5+3; ypos += lineHeight + 4; - myTrackBallSpeed = new SliderWidget(myTab, font, xpos, ypos, pwidth, lineHeight, + ypos += lineHeight + vGap; + myTrackBallSpeed = new SliderWidget(myTab, font, hSpace, ypos, pwidth, lineHeight, "Trackball sensitivity ", lwidth, kTBSpeedChanged); myTrackBallSpeed->setMinValue(1); myTrackBallSpeed->setMaxValue(20); - xpos += myTrackBallSpeed->getWidth() + 5; + xpos = hSpace + myTrackBallSpeed->getWidth() + 5; myTrackBallLabel = new StaticTextWidget(myTab, font, xpos, ypos+1, 24, lineHeight, "", kTextAlignLeft); myTrackBallSpeed->setFlags(WIDGET_CLEARBG); wid.push_back(myTrackBallSpeed); // Add 'allow all 4 directions' for joystick - xpos = 10-2; ypos += lineHeight + 12; - myAllowAll4 = new CheckboxWidget(myTab, font, xpos, ypos, + ypos += lineHeight + 12; + myAllowAll4 = new CheckboxWidget(myTab, font, hSpace, ypos, "Allow all 4 directions on joystick"); wid.push_back(myAllowAll4); // Grab mouse (in windowed mode) - ypos += lineHeight + 4; - myGrabMouse = new CheckboxWidget(myTab, font, xpos, ypos, + ypos += lineHeight + vGap; + myGrabMouse = new CheckboxWidget(myTab, font, hSpace, ypos, "Grab mouse in emulation mode"); wid.push_back(myGrabMouse); #ifndef WINDOWED_SUPPORT @@ -206,35 +208,37 @@ void InputDialog::addDevicePortTab(const GUI::Font& font) #endif // Enable/disable control key-combos - ypos += lineHeight + 4; - myCtrlCombo = new CheckboxWidget(myTab, font, xpos, ypos, + ypos += lineHeight + vGap; + myCtrlCombo = new CheckboxWidget(myTab, font, hSpace, ypos, "Use Control key combos"); wid.push_back(myCtrlCombo); int fwidth; // Add EEPROM erase (part 1/2) - fwidth = font.getStringWidth("Erase EEPROM") + 20; - lwidth = font.getStringWidth("AVox/SaveKey"); - new StaticTextWidget(myTab, font, _w - 10 - (fwidth + lwidth) / 2, ypos + 8, - "AVox/SaveKey"); + ypos += vGap*4; + fwidth = font.getStringWidth("AtariVox/SaveKey"); + lwidth = font.getStringWidth("AtariVox/SaveKey"); + new StaticTextWidget(myTab, font, _w - 14 - (fwidth + lwidth) / 2, ypos+2, + "AtariVox/SaveKey"); - // Show joystick database - xpos += 20; ypos += lineHeight + 8; - myJoyDlgButton = new ButtonWidget(myTab, font, xpos, ypos, 20, - "Show Joystick Database", kDBButtonPressed); + // Show joystick database + ypos += lineHeight; + myJoyDlgButton = new ButtonWidget(myTab, font, hSpace, ypos, 20, + "Joystick database" + ELLIPSIS, kDBButtonPressed); wid.push_back(myJoyDlgButton); // Add EEPROM erase (part 1/2) myEraseEEPROMButton = new ButtonWidget(myTab, font, _w - 14 - fwidth, ypos, + fwidth, lineHeight+4, "Erase EEPROM", kEEButtonPressed); // Add AtariVox serial port - xpos -= 20; ypos += lineHeight + 12; + ypos += lineHeight + vGap*2; lwidth = font.getStringWidth("AVox serial port "); - fwidth = _w - 14 - xpos - lwidth; - new StaticTextWidget(myTab, font, xpos, ypos, "AVox serial port "); - myAVoxPort = new EditTextWidget(myTab, font, xpos + lwidth, ypos, + fwidth = _w - 14 - hSpace - lwidth; + new StaticTextWidget(myTab, font, hSpace, ypos, "AVox serial port "); + myAVoxPort = new EditTextWidget(myTab, font, hSpace + lwidth, ypos, fwidth, fontHeight, ""); wid.push_back(myAVoxPort); diff --git a/src/gui/LauncherDialog.cxx b/src/gui/LauncherDialog.cxx index 586c131de..d935ee799 100644 --- a/src/gui/LauncherDialog.cxx +++ b/src/gui/LauncherDialog.cxx @@ -136,8 +136,8 @@ LauncherDialog::LauncherDialog(OSystem& osystem, DialogContainer& parent, "Go Up", kPrevDirCmd); wid.push_back(myPrevDirButton); xpos += bwidth + 8; - myOptionsButton = new ButtonWidget(this, font, xpos, ypos, bwidth, bheight, - "Options", kOptionsCmd); + myOptionsButton = new ButtonWidget(this, font, xpos, ypos, bwidth, bheight, + "Options" + ELLIPSIS, kOptionsCmd); wid.push_back(myOptionsButton); xpos += bwidth + 8; myQuitButton = new ButtonWidget(this, font, xpos, ypos, bwidth, bheight, @@ -149,7 +149,7 @@ LauncherDialog::LauncherDialog(OSystem& osystem, DialogContainer& parent, wid.push_back(myQuitButton); xpos += bwidth + 8; myOptionsButton = new ButtonWidget(this, font, xpos, ypos, bwidth, bheight, - "Options", kOptionsCmd); + "Options" + ELLIPSIS, kOptionsCmd); wid.push_back(myOptionsButton); xpos += bwidth + 8; myPrevDirButton = new ButtonWidget(this, font, xpos, ypos, bwidth, bheight, @@ -174,8 +174,8 @@ LauncherDialog::LauncherDialog(OSystem& osystem, DialogContainer& parent, // Create context menu for ROM list options VariantList l; - VarList::push_back(l, "Power-on options", "override"); - VarList::push_back(l, "Filter listing", "filter"); + VarList::push_back(l, "Power-on options" + ELLIPSIS, "override"); + VarList::push_back(l, "Filter listing" + ELLIPSIS, "filter"); VarList::push_back(l, "Reload listing", "reload"); myMenu = make_unique(this, osystem.frameBuffer().font(), l); diff --git a/src/gui/OptionsDialog.cxx b/src/gui/OptionsDialog.cxx index 5c185fc69..9db6294fb 100644 --- a/src/gui/OptionsDialog.cxx +++ b/src/gui/OptionsDialog.cxx @@ -47,7 +47,7 @@ OptionsDialog::OptionsDialog(OSystem& osystem, DialogContainer& parent, myIsGlobal(global) { const GUI::Font& font = instance().frameBuffer().font(); - const int buttonWidth = font.getStringWidth("Snapshot Settings") + 20, + const int buttonWidth = font.getStringWidth("Snapshot Settings" + ELLIPSIS) + 20, buttonHeight = font.getLineHeight() + 6, rowHeight = font.getLineHeight() + 10; @@ -66,49 +66,49 @@ OptionsDialog::OptionsDialog(OSystem& osystem, DialogContainer& parent, return bw; }; - b = ADD_OD_BUTTON("Video Settings", kVidCmd); + b = ADD_OD_BUTTON("Video Settings" + ELLIPSIS, kVidCmd); wid.push_back(b); - b = ADD_OD_BUTTON("Audio Settings", kAudCmd); + b = ADD_OD_BUTTON("Audio Settings" + ELLIPSIS, kAudCmd); #ifndef SOUND_SUPPORT b->clearFlags(WIDGET_ENABLED); #endif wid.push_back(b); - b = ADD_OD_BUTTON("Input Settings", kInptCmd); + b = ADD_OD_BUTTON("Input Settings" + ELLIPSIS, kInptCmd); wid.push_back(b); - b = ADD_OD_BUTTON("UI Settings", kUsrIfaceCmd); + b = ADD_OD_BUTTON("UI Settings" + ELLIPSIS, kUsrIfaceCmd); wid.push_back(b); - b = ADD_OD_BUTTON("Snapshot Settings", kSnapCmd); + b = ADD_OD_BUTTON("Snapshot Settings" + ELLIPSIS, kSnapCmd); wid.push_back(b); - b = ADD_OD_BUTTON("Config Paths", kCfgPathsCmd); + b = ADD_OD_BUTTON("Config Paths" + ELLIPSIS, kCfgPathsCmd); wid.push_back(b); - myRomAuditButton = ADD_OD_BUTTON("Audit ROMs", kAuditCmd); + myRomAuditButton = ADD_OD_BUTTON("Audit ROMs" + ELLIPSIS, kAuditCmd); wid.push_back(myRomAuditButton); // Move to second column xoffset += buttonWidth + 10; yoffset = 10; - myGameInfoButton = ADD_OD_BUTTON("Game Properties", kInfoCmd); + myGameInfoButton = ADD_OD_BUTTON("Game Properties" + ELLIPSIS, kInfoCmd); wid.push_back(myGameInfoButton); - myCheatCodeButton = ADD_OD_BUTTON("Cheat Code", kCheatCmd); + myCheatCodeButton = ADD_OD_BUTTON("Cheat Code" + ELLIPSIS, kCheatCmd); #ifndef CHEATCODE_SUPPORT myCheatCodeButton->clearFlags(WIDGET_ENABLED); #endif wid.push_back(myCheatCodeButton); - b = ADD_OD_BUTTON("System Logs", kLoggerCmd); + b = ADD_OD_BUTTON("System Logs" + ELLIPSIS, kLoggerCmd); wid.push_back(b); - b = ADD_OD_BUTTON("Help", kHelpCmd); + b = ADD_OD_BUTTON("Help" + ELLIPSIS, kHelpCmd); wid.push_back(b); - b = ADD_OD_BUTTON("About", kAboutCmd); + b = ADD_OD_BUTTON("About" + ELLIPSIS, kAboutCmd); wid.push_back(b); b = ADD_OD_BUTTON("Exit Menu", kExitCmd); diff --git a/src/gui/SnapshotDialog.cxx b/src/gui/SnapshotDialog.cxx index 05b1e7272..225f7b10a 100644 --- a/src/gui/SnapshotDialog.cxx +++ b/src/gui/SnapshotDialog.cxx @@ -34,7 +34,7 @@ SnapshotDialog::SnapshotDialog(OSystem& osystem, DialogContainer& parent, { const int lineHeight = font.getLineHeight(), fontWidth = font.getMaxCharWidth(), - buttonWidth = font.getStringWidth("Save path") + 20, + buttonWidth = font.getStringWidth("Save path" + ELLIPSIS) + 20, buttonHeight = font.getLineHeight() + 4; const int vBorder = 10; int xpos, ypos, lwidth, fwidth; @@ -49,7 +49,7 @@ SnapshotDialog::SnapshotDialog(OSystem& osystem, DialogContainer& parent, // Snapshot path (save files) b = new ButtonWidget(this, font, xpos, ypos, buttonWidth, buttonHeight, - "Save path", kChooseSnapSaveDirCmd); + "Save path" + ELLIPSIS, kChooseSnapSaveDirCmd); wid.push_back(b); xpos += buttonWidth + 10; mySnapSavePath = new EditTextWidget(this, font, xpos, ypos + 2, @@ -59,7 +59,7 @@ SnapshotDialog::SnapshotDialog(OSystem& osystem, DialogContainer& parent, // Snapshot path (load files) xpos = vBorder; ypos += buttonHeight + 3; b = new ButtonWidget(this, font, xpos, ypos, buttonWidth, buttonHeight, - "Load path", kChooseSnapLoadDirCmd); + "Load path" + ELLIPSIS, kChooseSnapLoadDirCmd); wid.push_back(b); xpos += buttonWidth + 10; mySnapLoadPath = new EditTextWidget(this, font, xpos, ypos + 2, diff --git a/src/gui/StellaLargeFont.hxx b/src/gui/StellaLargeFont.hxx index 413c845b4..1f06c60f4 100644 --- a/src/gui/StellaLargeFont.hxx +++ b/src/gui/StellaLargeFont.hxx @@ -42,6 +42,155 @@ namespace GUI { // Font character bitmap data. static const uInt16 stellaLarge_font_bits[] = { + /* MODIFIED + Character 29 (0x1d): + width 10 + bbx ( 10, 20, 0, -4 ) + + +----------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | XX XX XX | + | XX XX XX | + | XX XX XX | + | | + | | + | | + | | + +----------+ + */ + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0b0110110110000000, + 0b0110110110000000, + 0b0110110110000000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + + /* UNUSED + Character 30 (0x1e): + width 10 + bbx ( 10, 20, 0, -4 ) + + +----------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + +----------+ + */ + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + + + /* UNUSED + Character 31 (0x1f): + width 10 + bbx ( 10, 20, 0, -4 ) + + +----------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + +----------+ + */ + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + + /* Character 32 (0x20): width 10 bbx ( 10, 20, 0, -4 ) @@ -4610,8 +4759,8 @@ static const FontDesc stellaLargeDesc = { 20, 10, 20, 0, -4, 16, - 32, - 95, + 29, + 98, stellaLarge_font_bits, 0, /* no encode table*/ 0, /* fixed width*/ diff --git a/src/gui/StellaMediumFont.hxx b/src/gui/StellaMediumFont.hxx index 8839c3bfe..009f9d459 100644 --- a/src/gui/StellaMediumFont.hxx +++ b/src/gui/StellaMediumFont.hxx @@ -42,6 +42,53 @@ namespace GUI { // Font character bitmap data. static const uInt16 stellaMedium_font_bits[] = { + + /* MODIFIED + Character 29 (0x1d): ellipsis + width 9 + bbx ( 9, 15, 0, -3 ) + + +---------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | XX XX XX| + | XX XX XX| + | | + | | + | | + | | + +---------+ + */ + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0b0110110110000000, + 0b0110110110000000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + + /* MODIFIED Character 30 (0x1e): large centered rounded rectangle width 9 @@ -4320,8 +4367,8 @@ static const FontDesc stellaMediumDesc = { 18, 9, 18, 0, -4, 14, - 30, - 97, + 29, + 98, stellaMedium_font_bits, 0, /* no encode table*/ 0, /* fixed width*/ diff --git a/src/gui/VideoDialog.cxx b/src/gui/VideoDialog.cxx index 9a311b7d8..0e803f150 100644 --- a/src/gui/VideoDialog.cxx +++ b/src/gui/VideoDialog.cxx @@ -47,7 +47,9 @@ VideoDialog::VideoDialog(OSystem& osystem, DialogContainer& parent, buttonHeight = font.getLineHeight() + 4; int xpos, ypos, tabID; int lwidth = font.getStringWidth("NTSC Aspect "), - pwidth = font.getStringWidth("XXXXxXXXX"); + pwidth = font.getStringWidth("XXXXxXXXX"), + swidth = 69; + WidgetArray wid; VariantList items; @@ -220,7 +222,7 @@ VideoDialog::VideoDialog(OSystem& osystem, DialogContainer& parent, ypos += lineHeight + 4; // Custom adjustables (using macro voodoo) - xpos += 8; ypos += 4; + xpos += 8+1; ypos += 0; pwidth = lwidth; lwidth = font.getStringWidth("Saturation "); @@ -236,6 +238,7 @@ VideoDialog::VideoDialog(OSystem& osystem, DialogContainer& parent, myTV ## obj->setFlags(WIDGET_CLEARBG); \ ypos += lineHeight + 4 + pwidth = swidth; CREATE_CUSTOM_SLIDERS(Contrast, "Contrast "); CREATE_CUSTOM_SLIDERS(Bright, "Brightness "); CREATE_CUSTOM_SLIDERS(Hue, "Hue "); @@ -247,7 +250,7 @@ VideoDialog::VideoDialog(OSystem& osystem, DialogContainer& parent, CREATE_CUSTOM_SLIDERS(Fringe, "Fringing "); CREATE_CUSTOM_SLIDERS(Bleed, "Bleeding "); - xpos += myTVContrast->getWidth() + myTVContrastLabel->getWidth() + 20; + xpos += myTVContrast->getWidth() + myTVContrastLabel->getWidth() + 36; ypos = 8; lwidth = font.getStringWidth("Intensity "); @@ -263,45 +266,46 @@ VideoDialog::VideoDialog(OSystem& osystem, DialogContainer& parent, ypos += lineHeight + 4; // TV Phosphor default level - xpos += 20; - CREATE_CUSTOM_SLIDERS(PhosLevel, "Default "); - ypos += 4; + xpos += 8-8+16; + pwidth = swidth; + CREATE_CUSTOM_SLIDERS(PhosLevel, "Default "); + ypos += 6; // TV jitter effect - xpos -= 20; + xpos -= 8-8+16; myTVJitter = new CheckboxWidget(myTab, font, xpos, ypos, "Jitter/Roll Effect", kTVJitterChanged); wid.push_back(myTVJitter); - xpos += 20; + xpos += 8+8; ypos += lineHeight; - CREATE_CUSTOM_SLIDERS(JitterRec, "Recovery "); + CREATE_CUSTOM_SLIDERS(JitterRec, "Recovery "); myTVJitterRec->setMinValue(1); myTVJitterRec->setMaxValue(20); - ypos += 4; + ypos += 6; // Scanline intensity and interpolation - xpos -= 20; + xpos -= 8+8; myTVScanLabel = new StaticTextWidget(myTab, font, xpos, ypos, font.getStringWidth("Scanline settings"), fontHeight, "Scanline settings", kTextAlignLeft); ypos += lineHeight; - xpos += 20; + xpos += 8+8; CREATE_CUSTOM_SLIDERS(ScanIntense, "Intensity "); myTVScanInterpolate = new CheckboxWidget(myTab, font, xpos, ypos, "Interpolation"); wid.push_back(myTVScanInterpolate); - ypos += lineHeight + 4; + ypos += lineHeight + 6; // Adjustable presets - xpos -= 20; + xpos -= 8+8; int cloneWidth = font.getStringWidth("Clone Bad Adjust") + 20; #define CREATE_CLONE_BUTTON(obj, desc) \ myClone ## obj = \ new ButtonWidget(myTab, font, xpos, ypos, cloneWidth, buttonHeight,\ desc, kClone ## obj ##Cmd); \ wid.push_back(myClone ## obj); \ - ypos += lineHeight + 10 + ypos += lineHeight + 8 ypos += 4; CREATE_CLONE_BUTTON(Composite, "Clone Composite");