aboutsummaryrefslogtreecommitdiff
path: root/src/ImageViewer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ImageViewer.cpp')
-rw-r--r--src/ImageViewer.cpp30
1 files changed, 26 insertions, 4 deletions
diff --git a/src/ImageViewer.cpp b/src/ImageViewer.cpp
index d00c375..1176046 100644
--- a/src/ImageViewer.cpp
+++ b/src/ImageViewer.cpp
@@ -194,6 +194,22 @@ namespace QuickMedia {
return value >= 0.0 ? 1.0 : -1.0;
}
+ static bool is_key_scroll_up(const mgl::Event::KeyEvent &key) {
+ return (!key.control && key.code == mgl::Keyboard::Up) || (!key.alt && key.control && key.code == mgl::Keyboard::K);
+ }
+
+ static bool is_key_scroll_down(const mgl::Event::KeyEvent &key) {
+ return (!key.control && key.code == mgl::Keyboard::Down) || (!key.alt && key.control && key.code == mgl::Keyboard::J);
+ }
+
+ static bool is_key_previous_chapter(const mgl::Event::KeyEvent &key) {
+ return (key.control && key.code == mgl::Keyboard::Up) || (key.alt && key.control && key.code == mgl::Keyboard::K);
+ }
+
+ static bool is_key_next_chapter(const mgl::Event::KeyEvent &key) {
+ return (key.control && key.code == mgl::Keyboard::Down) || (key.alt && key.control && key.code == mgl::Keyboard::J);
+ }
+
ImageViewerAction ImageViewer::draw() {
const double frame_delta = frame_timer.restart();
const double scroll_speed_key_input = 200.0;
@@ -229,11 +245,17 @@ namespace QuickMedia {
window_size.x = event.size.width;
window_size.y = event.size.height;
} else if(event.type == mgl::Event::KeyPressed) {
- if(event.key.code == mgl::Keyboard::Up || (event.key.control && event.key.code == mgl::Keyboard::K))
+ if(is_key_scroll_up(event.key))
up_pressed = true;
- if(event.key.code == mgl::Keyboard::Down || (event.key.control && event.key.code == mgl::Keyboard::J))
+ if(is_key_scroll_down(event.key))
down_pressed = true;
+ if(is_key_previous_chapter(event.key))
+ return ImageViewerAction::PREVIOUS_CHAPTER;
+
+ if(is_key_next_chapter(event.key))
+ return ImageViewerAction::NEXT_CHAPTER;
+
if(event.key.code == mgl::Keyboard::Escape)
return ImageViewerAction::RETURN;
@@ -243,9 +265,9 @@ namespace QuickMedia {
if(event.key.code == mgl::Keyboard::F)
*fit_image_to_window = !*fit_image_to_window;
} else if(event.type == mgl::Event::KeyReleased) {
- if(event.key.code == mgl::Keyboard::Up || (event.key.control && event.key.code == mgl::Keyboard::K))
+ if(is_key_scroll_up(event.key))
up_pressed = false;
- if(event.key.code == mgl::Keyboard::Down || (event.key.control && event.key.code == mgl::Keyboard::J))
+ if(is_key_scroll_down(event.key))
down_pressed = false;
} else if(event.type == mgl::Event::MouseWheelScrolled/* && event.mouse_wheel_scroll.wheel == mgl::Mouse::VerticalWheel*/) {
scroll_speed += scroll_speed_mouse_wheel * event.mouse_wheel_scroll.delta * frame_delta;