private Sub ScrollGrid_Touch (viewtag As Object, action As Int, X As Float, Y As Float, motionevent As Object) As Boolean
Dim XX,YY As Int
ListRight.RemoveView
Select action
Case 0 ' ACTION_DOWN
Sx=X
Sy=y
Case 1 ' ACTION_UP
Case 2 ' ACTION_MOVE
YY=ScrollGrid.top+y-Sy
XX=ScrollGrid.Left+x-Sx
Case Else
'Log("interrupt") ' 3,6
End Select
Dim jo As JavaObject = motionevent
Dim pc As Int = jo.RunMethod("getPointerCount", Null)
If pc>1 Then
'Log(jo.RunMethod("action", Array As Object(1)))
'261 ACTION_DOWN
' 2 ACTION_MOVE
'262 ACTION_UP
' 6 CLOSE
Select action
Case 261 ' ACTION_DOWN
Zx=jo.RunMethod("getX", Array As Object(1))
Zy=jo.RunMethod("getY", Array As Object(1))
Case 6,262 ' ACTION_UP
ScaleView(ScrollGrid,1)
Case 2 ' ACTION_MOVE
XX=jo.RunMethod("getX", Array As Object(1))
YY=jo.RunMethod("getY", Array As Object(1))
Dim Zi As Float = Sqrt(Power(Abs(Sy-Zy),2)+Power(Abs(Sx-Zx),2))
Dim Zm As Float = Sqrt(Power(Abs(Sy-YY),2)+Power(Abs(Sy-XX),2))
'Log(Floor((Zm/Zi)*100))
ScaleView(ScrollGrid,Zm/Zi)
Case Else
' Interrupt 3, 6
'Log(action)
End Select
End If
Return True
End Sub
Private Sub ScaleView(v As View, Scale As Float)
Dim jo As JavaObject = v
jo.RunMethod("setScaleX", Array(Scale))
jo.RunMethod("setScaleY", Array(Scale))
End Sub