# HG changeset patch # User Matti Hamalainen # Date 1521748771 -7200 # Node ID 27e541d02be88a03bc0ea1f901fc2b3aa305d732 # Parent ba89afea0f291987f5d4eeaec8819c4530f4579d Implement left/right swipe gesture navigation. diff -r ba89afea0f29 -r 27e541d02be8 mgallery.js --- a/mgallery.js Thu Mar 22 21:58:13 2018 +0200 +++ b/mgallery.js Thu Mar 22 21:59:31 2018 +0200 @@ -179,3 +179,31 @@ ev.preventDefault(); ev.target.click(); } + + +var mgalTouchX = null, mgalTouchY = null; + +function mgalTouchStart(evt) +{ + mgalTouchX = evt.touches[0].clientX; + mgalTouchY = evt.touches[0].clientY; +} + + +function mgalTouchMove(evt) +{ + if (mgalTouchX != null && mgalTouchY != null && evt) + { + var deltaX = mgalTouchX - evt.touches[0].clientX; + var deltaY = mgalTouchY - evt.touches[0].clientY; + + if (Math.abs(deltaX) > Math.abs(deltaY)) + { + if (deltaX < 0) + mgalNavigateTo(mgalPrevURL); + else + mgalNavigateTo(mgalNextURL); + } + } + mgalTouchX = mgalTouchY = null; +} diff -r ba89afea0f29 -r 27e541d02be8 mgallery.php --- a/mgallery.php Thu Mar 22 21:58:13 2018 +0200 +++ b/mgallery.php Thu Mar 22 21:59:31 2018 +0200 @@ -633,6 +633,9 @@ mgalAddEventOb("window", window, "load", mgalAdjustImage); mgalAddEventOb("document", document, "keypress", mgalProcessKeyPress); +mgalAddEventOb("document", document, "touchstart", mgalTouchStart); +mgalAddEventOb("document", document, "touchmove", mgalTouchMove); + adjustPID = -1;