equal
deleted
inserted
replaced
57 procedure printFinger(finger: TTouch_Data); |
57 procedure printFinger(finger: TTouch_Data); |
58 implementation |
58 implementation |
59 |
59 |
60 const |
60 const |
61 clickTime = 200; |
61 clickTime = 200; |
62 longClickTime = 400; |
|
63 nilFingerId = High(TSDL_FingerId); |
62 nilFingerId = High(TSDL_FingerId); |
64 |
63 |
65 var |
64 var |
66 pointerCount : Longword; |
65 pointerCount : Longword; |
67 fingers: array of TTouch_Data; |
66 fingers: array of TTouch_Data; |
214 x := x; |
213 x := x; |
215 y := y; |
214 y := y; |
216 finger:= updateFinger(x,y,0,0,pointerId); |
215 finger:= updateFinger(x,y,0,0,pointerId); |
217 //Check for onTouchClick event |
216 //Check for onTouchClick event |
218 if not(fingerHasMoved(finger^)) then |
217 if not(fingerHasMoved(finger^)) then |
|
218 begin |
219 if (RealTicks - finger^.timeSinceDown) < clickTime then |
219 if (RealTicks - finger^.timeSinceDown) < clickTime then |
220 onTouchClick(finger^) |
220 onTouchClick(finger^) |
221 else |
221 else |
222 onTouchLongClick(finger^); |
222 onTouchLongClick(finger^); |
|
223 end; |
223 |
224 |
224 if aimingCrosshair then |
225 if aimingCrosshair then |
225 begin |
226 begin |
226 aimingCrosshair:= false; |
227 aimingCrosshair:= false; |
227 upKey:= false; |
228 upKey:= false; |
260 end; |
261 end; |
261 |
262 |
262 procedure onTouchLongClick(finger: TTouch_Data); |
263 procedure onTouchLongClick(finger: TTouch_Data); |
263 begin |
264 begin |
264 {$IFDEF USE_TOUCH_INTERFACE} |
265 {$IFDEF USE_TOUCH_INTERFACE} |
|
266 WriteLnToConsole('blabla'); |
265 if isOnWidget(jumpWidget, finger) then |
267 if isOnWidget(jumpWidget, finger) then |
|
268 begin |
266 ParseTeamCommand('ljump'); |
269 ParseTeamCommand('ljump'); |
|
270 exit; |
|
271 end; |
|
272 |
|
273 if (CurrentHedgehog <> nil) and (Ammoz[CurrentHedgehog^.CurAmmoType].Ammo.Propz and ammoprop_NeedTarget <> 0)then |
|
274 ParseTeamCommand('put'); |
267 {$ENDIF} |
275 {$ENDIF} |
268 end; |
276 end; |
269 |
277 |
270 procedure onTouchClick(finger: TTouch_Data); |
278 procedure onTouchClick(finger: TTouch_Data); |
271 begin |
279 begin |
539 end; |
547 end; |
540 |
548 |
541 //Method to calculate the distance this finger has moved since the downEvent |
549 //Method to calculate the distance this finger has moved since the downEvent |
542 function fingerHasMoved(finger: TTouch_Data): boolean; |
550 function fingerHasMoved(finger: TTouch_Data): boolean; |
543 begin |
551 begin |
544 fingerHasMoved := trunc(sqrt(sqr(finger.X-finger.historicalX) + sqr(finger.y-finger.historicalY))) > 330; |
552 fingerHasMoved := trunc(sqrt(sqr(finger.X-finger.historicalX) + sqr(finger.y-finger.historicalY))) > 30; |
|
553 WriteLnToConsole(inttostr(ord(fingerHasMoved)) + ' xy' + inttostr(finger.x) + ' ' + inttostr(finger.historicalx)); |
545 end; |
554 end; |
546 |
555 |
547 function calculateDelta(finger1, finger2: TTouch_Data): LongInt; inline; |
556 function calculateDelta(finger1, finger2: TTouch_Data): LongInt; inline; |
548 begin |
557 begin |
549 calculateDelta := Round(sqrt(sqr(finger2.x-finger1.x) + sqr(finger2.y-finger1.y))); |
558 calculateDelta := Round(sqrt(sqr(finger2.x-finger1.x) + sqr(finger2.y-finger1.y))); |