hedgewars/uTouch.pas
branchhedgeroid
changeset 5615 104f69e798bb
parent 5609 9d66611e4d0a
child 5617 88f43becefe3
equal deleted inserted replaced
5613:a7e40b20ce44 5615:104f69e798bb
    26 procedure deleteFinger(id: SDL_FingerId);
    26 procedure deleteFinger(id: SDL_FingerId);
    27 procedure onTouchClick(finger: Touch_Finger);
    27 procedure onTouchClick(finger: Touch_Finger);
    28 
    28 
    29 function findFinger(id: SDL_FingerId): Touch_Finger;
    29 function findFinger(id: SDL_FingerId): Touch_Finger;
    30 procedure aim(finger: Touch_Finger);
    30 procedure aim(finger: Touch_Finger);
       
    31 function isOnCrosshair(finger: Touch_Finger): boolean;
    31 function isOnCurrentHog(finger: Touch_Finger): boolean;
    32 function isOnCurrentHog(finger: Touch_Finger): boolean;
    32 function isOnFireButton(finger: Touch_Finger): boolean;
    33 function isOnFireButton(finger: Touch_Finger): boolean;
    33 procedure convertToWorldCoord(var x,y: hwFloat; finger: Touch_Finger);
    34 procedure convertToWorldCoord(var x,y: hwFloat; finger: Touch_Finger);
    34 function fingerHasMoved(finger: Touch_Finger): boolean;
    35 function fingerHasMoved(finger: Touch_Finger): boolean;
    35 function calculateDelta(finger1, finger2: Touch_Finger): hwFloat;
    36 function calculateDelta(finger1, finger2: Touch_Finger): hwFloat;
    85             begin
    86             begin
    86                 moveCursor := true;
    87                 moveCursor := true;
    87                 exit;
    88                 exit;
    88             end;
    89             end;
    89 
    90 
    90             if isOnCurrentHog(finger) then
    91             if isOnCrosshair(finger) then
    91             begin
    92             begin
    92                 aiming:= true;
    93                 aiming:= true;
    93                 exit;
    94                 exit;
    94             end;
    95             end;
    95 
    96 
   356 function isOnFireButton(finger: Touch_Finger): boolean;
   357 function isOnFireButton(finger: Touch_Finger): boolean;
   357 begin
   358 begin
   358     isOnFireButton:= (finger.x < 150) and (finger.y > 390);
   359     isOnFireButton:= (finger.x < 150) and (finger.y > 390);
   359 end;
   360 end;
   360 
   361 
       
   362 function isOnCrosshair(finger: Touch_Finger): boolean;
       
   363 var
       
   364     x,y,fingerX, fingerY : hwFloat;
       
   365 begin
       
   366     x := int2hwFloat(CrosshairX);
       
   367     y := int2hwFloat(CrosshairY);
       
   368 
       
   369     convertToWorldCoord(fingerX, fingerY, finger);
       
   370     isOnCrosshair:= Distance(fingerX-x, fingerY-y) < _20;
       
   371 end;
       
   372 
   361 function isOnCurrentHog(finger: Touch_Finger): boolean;
   373 function isOnCurrentHog(finger: Touch_Finger): boolean;
   362 var
   374 var
   363     x,y, fingerX, fingerY : hwFloat;
   375     x,y, fingerX, fingerY : hwFloat;
   364 begin
   376 begin
   365     x := CurrentHedgehog^.Gear^.X;
   377     x := CurrentHedgehog^.Gear^.X;