|
1 | 1 | --[[============================================================ |
2 | 2 | --= |
3 | | ---= InputField v3.3 - text input handling library for LÖVE (0.10.2+) |
| 3 | +--= InputField v3.3-dev - text input handling library for LÖVE (0.10.2+) |
4 | 4 | --= - Written by Marcus 'ReFreezed' Thunström |
5 | 5 | --= - MIT License (See the bottom of this file) |
6 | 6 | --= - https://github.com/ReFreezed/InputField |
@@ -917,11 +917,18 @@ function InputField.setScrollY(field, scrollY) |
917 | 917 | limitScroll(field) |
918 | 918 | end |
919 | 919 |
|
920 | | --- field:scroll( deltaX, deltaY ) |
| 920 | +-- scrolledX, scrolledY = field:scroll( deltaX, deltaY ) |
| 921 | +-- Returned values are how much was actually scrolled. |
921 | 922 | function InputField.scroll(field, dx, dy) |
922 | | - field.scrollX = field.scrollX + dx |
923 | | - field.scrollY = field.scrollY + dy |
| 923 | + local oldScrollX = field.scrollX |
| 924 | + local oldScrollY = field.scrollY |
| 925 | + field.scrollX = oldScrollX + dx |
| 926 | + field.scrollY = oldScrollY + dy |
| 927 | + |
924 | 928 | limitScroll(field) |
| 929 | + |
| 930 | + return field.scrollX - oldScrollX, |
| 931 | + field.scrollY - oldScrollY |
925 | 932 | end |
926 | 933 |
|
927 | 934 | -- field:scrollToCursor( ) |
@@ -1786,13 +1793,17 @@ function InputField.wheelmoved(field, dx, dy) |
1786 | 1793 | dx, dy = dy, dx |
1787 | 1794 | end |
1788 | 1795 |
|
| 1796 | + if not ((dx ~= 0 and field:canScrollHorizontally()) or (dy ~= 0 and field:canScrollVertically())) then |
| 1797 | + return false |
| 1798 | + end |
| 1799 | + |
1789 | 1800 | local fontH = field.font:getHeight() |
1790 | | - field:scroll( |
| 1801 | + local scrolledX, scrolledY = field:scroll( |
1791 | 1802 | -dx * field.wheelScrollSpeedX*fontH, |
1792 | 1803 | -dy * field.wheelScrollSpeedY*fontH |
1793 | 1804 | ) |
1794 | 1805 |
|
1795 | | - return true -- Always handle event (for now). |
| 1806 | + return scrolledX ~= 0 or scrolledY ~= 0 |
1796 | 1807 | end |
1797 | 1808 |
|
1798 | 1809 |
|
|
0 commit comments