mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 845747 - Add the pref "ui.scrolling.negate_wheel_scrollY" to mobile.js so that "scrollY" can be negated in JavaPanZoomController.java to allow a mouse scroll wheel to scroll the screen in the direction of choice depending on the true/false state of "mNegateWheelScrollY". r=kats
This commit is contained in:
parent
5408c6226d
commit
a6b2e634eb
@ -655,6 +655,8 @@ pref("ui.scrolling.overscroll_snap_limit", -1);
|
||||
pref("ui.scrolling.min_scrollable_distance", -1);
|
||||
// The axis lock mode for panning behaviour - set between standard, free and sticky
|
||||
pref("ui.scrolling.axis_lock_mode", "standard");
|
||||
// Negate scrollY, true will make the mouse scroll wheel move the screen the same direction as with most desktops or laptops.
|
||||
pref("ui.scrolling.negate_wheel_scrollY", true);
|
||||
|
||||
|
||||
// Enable accessibility mode if platform accessibility is enabled.
|
||||
|
@ -131,6 +131,8 @@ class JavaPanZoomController
|
||||
private AxisLockMode mMode;
|
||||
/* A medium-length tap/press is happening */
|
||||
private boolean mMediumPress;
|
||||
/* Used to change the scrollY direction */
|
||||
private boolean mNegateWheelScrollY;
|
||||
|
||||
public JavaPanZoomController(PanZoomTarget target, View view, EventDispatcher eventDispatcher) {
|
||||
mTarget = target;
|
||||
@ -150,14 +152,23 @@ class JavaPanZoomController
|
||||
|
||||
mMode = AxisLockMode.STANDARD;
|
||||
|
||||
PrefsHelper.getPref("ui.scrolling.axis_lock_mode", new PrefsHelper.PrefHandlerBase() {
|
||||
String[] prefs = { "ui.scrolling.axis_lock_mode", "ui.scrolling.negate_wheel_scrollY" };
|
||||
mNegateWheelScrollY = false;
|
||||
PrefsHelper.getPrefs(prefs, new PrefsHelper.PrefHandlerBase() {
|
||||
@Override public void prefValue(String pref, String value) {
|
||||
if (value.equals("standard")) {
|
||||
mMode = AxisLockMode.STANDARD;
|
||||
} else if (value.equals("free")) {
|
||||
mMode = AxisLockMode.FREE;
|
||||
} else {
|
||||
mMode = AxisLockMode.STICKY;
|
||||
if (pref.equals("ui.scrolling.axis_lock_mode")) {
|
||||
if (value.equals("standard")) {
|
||||
mMode = AxisLockMode.STANDARD;
|
||||
} else if (value.equals("free")) {
|
||||
mMode = AxisLockMode.FREE;
|
||||
} else {
|
||||
mMode = AxisLockMode.STICKY;
|
||||
}
|
||||
}
|
||||
}
|
||||
@Override public void prefValue(String pref, boolean value) {
|
||||
if (pref.equals("ui.scrolling.negate_wheel_scrollY")) {
|
||||
mNegateWheelScrollY = value;
|
||||
}
|
||||
}
|
||||
|
||||
@ -555,7 +566,9 @@ class JavaPanZoomController
|
||||
if (mState == PanZoomState.NOTHING || mState == PanZoomState.FLING) {
|
||||
float scrollX = event.getAxisValue(MotionEvent.AXIS_HSCROLL);
|
||||
float scrollY = event.getAxisValue(MotionEvent.AXIS_VSCROLL);
|
||||
|
||||
if (mNegateWheelScrollY) {
|
||||
scrollY *= -1.0;
|
||||
}
|
||||
scrollBy(scrollX * MAX_SCROLL, scrollY * MAX_SCROLL);
|
||||
bounce();
|
||||
return true;
|
||||
|
Loading…
Reference in New Issue
Block a user