src/window.cpp
changeset 9431 ce662bc7151b
parent 9424 0e77ca5edffb
child 9508 e5ab9738298a
equal deleted inserted replaced
9430:345e3005810d 9431:ce662bc7151b
  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;