Advertisement
apolloandmatt

Modified GetMouseGesture function with toggle

Feb 14th, 2023
969
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. GetMouseGesture(MultiAxis := false, reset := false) {
  2.  Static
  3.  if (MultiAxis) {
  4.     mousegetpos,xpos2, ypos2
  5.     dx:=xpos2-xpos1,dy:=ypos1-ypos2
  6.     ,( abs(dy) >= abs(dx) ? (dy > 0 ? (track:="U") : (track:="D")) : (dx > 0 ? (track:="R") : (track:="L")) )
  7.     ,abs(dy)<4 and abs(dx)<4 ? (track := "") : ""
  8.     ,xpos1:=xpos2,ypos1:=ypos2
  9.     ,track<>SubStr(gesture, 0, 1) ? (gesture := gesture . track) : ""
  10.     ,gesture := reset ? "" : gesture
  11.     Return gesture
  12. } else {
  13.   mousegetpos, xpos2, ypos2
  14.   dx := xpos2 - xpos1
  15.   dy := ypos1 - ypos2
  16.   if (gesture = "") {
  17.       if (abs(dx) > abs(dy)) {
  18.           axis := "h"
  19.       } else {
  20.           axis := "v"
  21.       }
  22.   }
  23.   if (axis = "h" and abs(dy) >= abs(dx)) {
  24.       track := ""
  25.   } else if (axis = "v" and abs(dx) >= abs(dy)) {
  26.       track := ""
  27.   } else {
  28.       if (abs(dy) >= abs(dx)) {
  29.           track := (dy > 0 ? "U" : "D")
  30.       } else {
  31.           track := (dx > 0 ? "R" : "L")
  32.       }
  33.   }
  34.   xpos1 := xpos2
  35.   ypos1 := ypos2
  36.   if (track <> SubStr(gesture, 0, 1)) {
  37.       gesture := gesture . track
  38.   }
  39.   gesture := reset ? "" : gesture
  40.   Return gesture
  41.  }
  42. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement