From 8581c7c54bf44a1e00c1d30adb564ab38fe47a29 Mon Sep 17 00:00:00 2001 From: thrust26 Date: Sat, 31 May 2025 11:15:49 +0200 Subject: [PATCH] updated doc (fixes #959) --- Changes.txt | 4 +++- docs/graphics/options_misc.png | Bin 4772 -> 4854 bytes docs/index.html | 20 +++++++++++++------- src/emucore/EventHandler.cxx | 8 ++++++++ src/emucore/EventHandler.hxx | 2 ++ src/gui/UIDialog.cxx | 9 +++++---- 6 files changed, 31 insertions(+), 12 deletions(-) diff --git a/Changes.txt b/Changes.txt index c679d2896..6d1c70f03 100644 --- a/Changes.txt +++ b/Changes.txt @@ -12,12 +12,14 @@ Release History =========================================================================== -7.0 to 7.1 (xxx x, 202x) +7.x to 8.0 (xxx x, 202x) * Ported Stella to SDL3 * Added option for switching Stella's theme in sync with OS (TODO: Doc) +7.0 to 7.1 (xxx x, 202x) + * Enhanced PAL-60 detection, searches for signature (e.g. PAL60) in ROM * Enhanced VSYNC emulation, considers VBLANK now too diff --git a/docs/graphics/options_misc.png b/docs/graphics/options_misc.png index f8d676b2b9a5430b9dbda7c2de23a7ad2f21384d..817f146354514a7e748131067d2ef38fc1376277 100644 GIT binary patch literal 4854 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 Bf@A;y diff --git a/docs/index.html b/docs/index.html index be498a92c..f49efd53f 100644 --- a/docs/index.html +++ b/docs/index.html @@ -21,7 +21,7 @@

A multi-platform Atari 2600 VCS emulator

-

Release 7.0

+

Release 8.0


User's Guide

@@ -342,7 +342,7 @@

General (required for all versions of Stella)

    -
  • SDL version 2.0.14 or greater, latest version highly recommended
  • +
  • SDL version 3.2.14 or greater, latest version highly recommended
  • 32 bit color graphics card
  • Enough RAM for the OS + 256MB RAM for the emulation; 512MB+ highly recommended
  • Joysticks or gamepads are highly recommended
  • @@ -387,7 +387,7 @@

    Other

    Stella is extremely portable, and in its lifetime has been ported to almost every - platform where the SDL library exists. It is 32/64-bit and endian clean in Linux/Unix, macOS + platform where the SDL library exists. It is 64-bit and endian clean in Linux/Unix, macOS and Windows. The Stella Team is interested in hearing about any problems you may encounter with diverse operating systems and CPU types.


    @@ -3249,12 +3249,17 @@
    -uipalette2 <standard|classic|light|dark>
    - Define alternative palette/theme for UI elements. + Define alternative/light palette/theme for UI elements.
    -altpalette <1|0>
    - Use alternative palette/theme for UI elements. + Use alternative/dark palette/theme for UI elements. + + + +
    -autouipalette <1|0>
    + Automatic switching between light and dark theme in sync with OS. @@ -4007,8 +4012,9 @@ - - + + + diff --git a/src/emucore/EventHandler.cxx b/src/emucore/EventHandler.cxx index 85e93eb75..a1afe8714 100644 --- a/src/emucore/EventHandler.cxx +++ b/src/emucore/EventHandler.cxx @@ -331,6 +331,14 @@ void EventHandler::handleMouseMotionEvent(int x, int y, int xrel, int yrel) { myEvent.set(Event::MouseAxisXValue, x); // required for Lightgun controller myEvent.set(Event::MouseAxisYValue, y); // required for Lightgun controller + cerr << "dx " << (x - lastX - xrel) << ": " << x << ", " << xrel << + " y:" << y << ", " << yrel << "\n"; + if(x - lastX - xrel != 0) + int i = 0; + + + + lastX = x; myEvent.set(Event::MouseAxisXMove, xrel); myEvent.set(Event::MouseAxisYMove, yrel); } diff --git a/src/emucore/EventHandler.hxx b/src/emucore/EventHandler.hxx index 1bbad6ac1..e22494ba1 100644 --- a/src/emucore/EventHandler.hxx +++ b/src/emucore/EventHandler.hxx @@ -497,6 +497,8 @@ class EventHandler // Global Event object Event myEvent; + int lastX; + // Indicates current overlay object DialogContainer* myOverlay{nullptr}; diff --git a/src/gui/UIDialog.cxx b/src/gui/UIDialog.cxx index c32a47ec3..6ea32cf67 100644 --- a/src/gui/UIDialog.cxx +++ b/src/gui/UIDialog.cxx @@ -84,14 +84,14 @@ UIDialog::UIDialog(OSystem& osystem, DialogContainer& parent, VarList::push_back(items, "Light", "light"); VarList::push_back(items, "Dark", "dark"); myPalette1Popup = new PopUpWidget(myTab, font, xpos, ypos, pwidth, lineHeight, - items, "Theme #1 ", lwidth); - myPalette1Popup->setToolTip("Primary theme.", Event::ToggleUIPalette, EventMode::kMenuMode); + items, "Light theme", lwidth); + myPalette1Popup->setToolTip("Primary/light theme.", Event::ToggleUIPalette, EventMode::kMenuMode); wid.push_back(myPalette1Popup); ypos += lineHeight + VGAP; myPalette2Popup = new PopUpWidget(myTab, font, xpos, ypos, pwidth, lineHeight, - items, "Theme #2 ", lwidth); - myPalette2Popup->setToolTip("Alternative theme.", Event::ToggleUIPalette, EventMode::kMenuMode); + items, "Dark theme ", lwidth); + myPalette2Popup->setToolTip("Alternative/dark theme.", Event::ToggleUIPalette, EventMode::kMenuMode); wid.push_back(myPalette2Popup); ypos += lineHeight + VGAP; @@ -99,6 +99,7 @@ UIDialog::UIDialog(OSystem& osystem, DialogContainer& parent, myAutoPalette = new CheckboxWidget(myTab, font, xpos2, myPalette1Popup->getBottom() - CheckboxWidget::boxSize(font) / 2 - 1, "Auto theme"); + myAutoPalette->setToolTip("Enable for automatic switching between light and dark themes in sync with OS."); wid.push_back(myAutoPalette); // Dialog font
    ItemBrief descriptionFor more information,
    see Command Line
    Theme #1Default theme to use for UI elements (see examples)-uipalette
    Theme #2Alternative theme to use for UI elements (see examples)-uipalette2
    Light themeDefault theme to use for UI elements (see examples)-uipalette
    Dark themeAlternative theme to use for UI elements (see examples)-uipalette2
    Auto themeEnable for automatic switching between light and dark themes in sync with OS.-autouipalette
    Dialogs fontThe font used in the dialogs-dialogfont
    HiDPI modeScale the UI by a factor of two when enabled-hidpi
    Dialogs positionPosition of dialogs with Stella window-dialogpos