summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES4
-rw-r--r--test/blocks.cxx19
2 files changed, 20 insertions, 3 deletions
diff --git a/CHANGES b/CHANGES
index c83fb7d5d..79f8a5b0d 100644
--- a/CHANGES
+++ b/CHANGES
@@ -63,6 +63,10 @@ Changes in FLTK 1.4.0 Released: ??? ?? 2017
Other Improvements
- (add new items here)
+ - The blocks demo program got a new keyboard shortcut (ALT+SHIFT+H) to
+ reset the user's high score. It is now slower than before in higher
+ levels, hence you can expect higher scores (due to a bug fix in the
+ timer code). You can use the '+' key to increase the level at all times.
- Some methods of Fl_Tabs are now virtual and/or protected for easier
subclassing without code duplication (STR #3211 and others).
To be continued...
diff --git a/test/blocks.cxx b/test/blocks.cxx
index 335a9aeb0..d9b86839d 100644
--- a/test/blocks.cxx
+++ b/test/blocks.cxx
@@ -751,9 +751,22 @@ int BlockWindow::handle(int event) {
switch (event) {
case FL_KEYBOARD:
- if (Fl::event_text()) {
- if (strcmp(Fl::event_text(), "+") == 0)
- up_level();
+
+ // '+': raise level
+ if (Fl::event_text() &&
+ !Fl::event_state(FL_CTRL | FL_ALT | FL_META) &&
+ !strcmp(Fl::event_text(), "+")) {
+ up_level();
+ return (1);
+ }
+
+ // ALT + SHIFT + 'H': clear highscore
+ if (Fl::event_text() &&
+ (Fl::event_state() & (FL_ALT | FL_SHIFT)) == (FL_ALT | FL_SHIFT) &&
+ !strcmp(Fl::event_text(), "H")) {
+ high_score_ = score_;
+ prefs_.set("high_score", high_score_);
+ return (1);
}
break;