1794 { 0, 2}, ///< 13 : left + right + down = down |
1794 { 0, 2}, ///< 13 : left + right + down = down |
1795 { 2, 0}, ///< 14 : right + up + down = right |
1795 { 2, 0}, ///< 14 : right + up + down = right |
1796 { 0, 0}, ///< 15 : left + up + right + down = nothing |
1796 { 0, 0}, ///< 15 : left + up + right + down = nothing |
1797 }; |
1797 }; |
1798 |
1798 |
1799 static bool HandleKeyScrolling() |
1799 static void HandleKeyScrolling() |
1800 { |
1800 { |
1801 if (_dirkeys && !_no_scroll) { |
1801 if (_dirkeys && !_no_scroll) { |
1802 int factor = _shift_pressed ? 50 : 10; |
1802 int factor = _shift_pressed ? 50 : 10; |
1803 ScrollMainViewport(scrollamt[_dirkeys][0] * factor, scrollamt[_dirkeys][1] * factor); |
1803 ScrollMainViewport(scrollamt[_dirkeys][0] * factor, scrollamt[_dirkeys][1] * factor); |
1804 return false; |
1804 } |
1805 } |
|
1806 return true; |
|
1807 } |
1805 } |
1808 |
1806 |
1809 void MouseLoop(MouseClick click, int mousewheel) |
1807 void MouseLoop(MouseClick click, int mousewheel) |
1810 { |
1808 { |
1811 DecreaseWindowCounters(); |
1809 DecreaseWindowCounters(); |
1812 HandlePlacePresize(); |
1810 HandlePlacePresize(); |
1813 UpdateTileSelection(); |
1811 UpdateTileSelection(); |
|
1812 HandleKeyScrolling(); |
|
1813 |
1814 if (!VpHandlePlaceSizingDrag()) return; |
1814 if (!VpHandlePlaceSizingDrag()) return; |
1815 if (!HandleDragDrop()) return; |
1815 if (!HandleDragDrop()) return; |
1816 if (!HandleWindowDragging()) return; |
1816 if (!HandleWindowDragging()) return; |
1817 if (!HandleScrollbarScrolling()) return; |
1817 if (!HandleScrollbarScrolling()) return; |
1818 if (!HandleViewportScroll()) return; |
1818 if (!HandleViewportScroll()) return; |
1819 if (!HandleMouseOver()) return; |
1819 if (!HandleMouseOver()) return; |
1820 if (!HandleKeyScrolling()) return; |
|
1821 |
1820 |
1822 bool scrollwheel_scrolling = _settings_client.gui.scrollwheel_scrolling == 1 && (_cursor.v_wheel != 0 || _cursor.h_wheel != 0); |
1821 bool scrollwheel_scrolling = _settings_client.gui.scrollwheel_scrolling == 1 && (_cursor.v_wheel != 0 || _cursor.h_wheel != 0); |
1823 if (click == MC_NONE && mousewheel == 0 && !scrollwheel_scrolling) return; |
1822 if (click == MC_NONE && mousewheel == 0 && !scrollwheel_scrolling) return; |
1824 |
1823 |
1825 int x = _cursor.pos.x; |
1824 int x = _cursor.pos.x; |