From f0d0ce7979d89ab67cb702326f900dc721aa01a4 Mon Sep 17 00:00:00 2001 From: Max Horn Date: Thu, 30 Dec 2004 14:21:16 +0000 Subject: Reduce time till scrolling starts inthe about dialog; pressing shift/alt now causes faster/reverse scrolling (this is an insider trick and not documented on purpose :-) svn-id: r16383 --- gui/about.cpp | 15 ++++++++++++--- gui/about.h | 1 + 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/gui/about.cpp b/gui/about.cpp index 6ba1ec7474..4f4e932fb5 100644 --- a/gui/about.cpp +++ b/gui/about.cpp @@ -28,7 +28,7 @@ namespace GUI { enum { - kScrollStartDelay = 2500, + kScrollStartDelay = 1500, kScrollMillisPerPixel = 80, kXOff = 3, @@ -82,7 +82,7 @@ static const char *credits_intro[] = { AboutDialog::AboutDialog() : Dialog(10, 20, 300, 174), - _scrollPos(0), _scrollTime(0) { + _scrollPos(0), _scrollTime(0), _modifiers(0) { int i; @@ -194,6 +194,12 @@ void AboutDialog::handleTickle() { const uint32 t = g_system->getMillis(); int scrollOffset = ((int)t - (int)_scrollTime) / kScrollMillisPerPixel; if (scrollOffset > 0) { + // Scroll faster when shift is pressed + if (_modifiers & OSystem::KBD_SHIFT) + scrollOffset *= 4; + // Reverse scrolling when alt is pressed + if (_modifiers & OSystem::KBD_ALT) + scrollOffset *= -1; _scrollPos += scrollOffset; _scrollTime = t; @@ -215,10 +221,13 @@ void AboutDialog::handleMouseUp(int x, int y, int button, int clickCount) { } void AboutDialog::handleKeyDown(uint16 ascii, int keycode, int modifiers) { + _modifiers = modifiers; } void AboutDialog::handleKeyUp(uint16 ascii, int keycode, int modifiers) { - close(); + _modifiers = modifiers; + if (ascii) + close(); } diff --git a/gui/about.h b/gui/about.h index 13ad79c7d6..094b8ec551 100644 --- a/gui/about.h +++ b/gui/about.h @@ -33,6 +33,7 @@ protected: uint32 _scrollTime; StringList _lines; uint32 _lineHeight; + byte _modifiers; public: AboutDialog(); -- cgit v1.2.3