mirror of https://github.com/stella-emu/stella.git
added ellipsis to buttons which open another dialog
added ellipsis character to large, medium and small fonts
This commit is contained in:
parent
d99d3a16f5
commit
af30b05734
|
@ -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
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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*/
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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<ContextMenu>(this, osystem.frameBuffer().font(), l);
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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*/
|
||||
|
|
|
@ -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*/
|
||||
|
|
|
@ -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");
|
||||
|
|
Loading…
Reference in New Issue