OSDN Git Service

妥協しました master
authoryamat0jp <yamat0jp@yahoo.co.jp>
Fri, 9 Mar 2018 12:45:27 +0000 (21:45 +0900)
committeryamat0jp <yamat0jp@yahoo.co.jp>
Fri, 9 Mar 2018 12:45:27 +0000 (21:45 +0900)
時々うまく動きます

Unit1.fmx
Unit1.pas
cliprect.deployproj
cliprect.dproj

index ed6892e..f1c0e8f 100644 (file)
--- a/Unit1.fmx
+++ b/Unit1.fmx
@@ -9,7 +9,7 @@ object Form1: TForm1
   FormFactor.Devices = [Desktop]
   DesignerMasterStyle = 0
   object Image1: TImage
-    Touch.InteractiveGestures = [Zoom, Pan, DoubleTap]
+    Touch.InteractiveGestures = [Zoom, Pan, Rotate, DoubleTap]
     OnGesture = Image1Gesture
     OnTap = Image1Tap
     MultiResBitmap = <
index eb3d131..ea020d8 100644 (file)
--- a/Unit1.pas
+++ b/Unit1.pas
@@ -79,49 +79,47 @@ begin
         SpeedButton1Click(Sender);
         tap := 0;
       end;
-    igiZoom:
-      if tap = 2 then
+    igiRotate:
+      with EventInfo do
       begin
-        with EventInfo do
-        begin
-          i := (Distance - dis) * cos(ang) / 2;
-          j := (Distance - dis) * sin(ang) / 2;
-          dis := Distance;
-          if Flags = [TInteractiveGestureFlag.gfBegin] then
-          begin
-            ang := ArcTan((Location.Y - TapLocation.Y) /
-              (Location.X - TapLocation.X));
-            Exit;
-          end;
-        end;
+        ang := ang - Angle;
         if ang < 0 then
           ang := ang + pi;
         if ang < pi / 6 then
-        begin
-          state := 1;
-          resize_x;
-        end
+          state := 1
         else if ang < pi / 3 then
-        begin
-          state := 2;
-          resize_x;
-          resize_y;
-        end
+          state := 2
         else if ang < 2 * pi / 3 then
-        begin
-          state := 3;
-          resize_y;
-        end
+          state := 3
         else if ang < 5 * pi / 6 then
-        begin
-          state := 2;
-          resize_x;
-          resize_y;
-        end
+          state := 2
         else
+          state := 1
+      end;
+    igiZoom:
+      if tap = 2 then
+      begin
+        with EventInfo do
         begin
-          state := 1;
-          resize_x;
+          i := (Distance - dis) * cos(Angle) / 2;
+          j := (Distance - dis) * sin(Angle) / 2;
+          dis := Distance;
+        end;
+        case state of
+          0:
+            begin
+              ang := EventInfo.Angle;
+              state := 1;
+            end;
+          1:
+            resize_x;
+          2:
+            begin
+              resize_x;
+              resize_y;
+            end;
+          3:
+            resize_y;
         end;
         Image1.Repaint;
       end;
@@ -130,7 +128,7 @@ begin
         i := EventInfo.Location.X - pan.X;
         j := EventInfo.Location.Y - pan.Y;
         pan := EventInfo.Location;
-        if EventInfo.Flags = [TInteractiveGestureFlag.gfBegin] then
+        if TInteractiveGestureFlag.gfBegin in EventInfo.Flags then
           Exit;
         dot1.X := dot1.X + i;
         dot2.X := dot2.X + i;
index 1b663be..77b46fa 100644 (file)
@@ -60,9 +60,9 @@
             <RemoteCommand/>
             <Overwrite>True</Overwrite>
         </DeployFile>
-        <DeployFile Include="Android\Debug\splash_image_def.xml" Condition="'$(Config)'=='Debug'">
-            <RemoteDir>cliprect\res\drawable\</RemoteDir>
-            <RemoteName>splash_image_def.xml</RemoteName>
+        <DeployFile Include="C:\Users\Public\Documents\Embarcadero\Studio\15.0\PlatformSDKs\android-ndk-r9c\prebuilt\android-arm\gdbserver\gdbserver" Condition="'$(Config)'=='Debug'">
+            <RemoteDir>cliprect\library\lib\armeabi-v7a\</RemoteDir>
+            <RemoteName>gdbserver</RemoteName>
             <Operation>1</Operation>
             <LocalCommand/>
             <RemoteCommand/>
@@ -76,9 +76,9 @@
             <RemoteCommand/>
             <Overwrite>True</Overwrite>
         </DeployFile>
-        <DeployFile Include="C:\Users\Public\Documents\Embarcadero\Studio\15.0\PlatformSDKs\android-ndk-r9c\prebuilt\android-arm\gdbserver\gdbserver" Condition="'$(Config)'=='Debug'">
-            <RemoteDir>cliprect\library\lib\armeabi-v7a\</RemoteDir>
-            <RemoteName>gdbserver</RemoteName>
+        <DeployFile Include="Android\Debug\splash_image_def.xml" Condition="'$(Config)'=='Debug'">
+            <RemoteDir>cliprect\res\drawable\</RemoteDir>
+            <RemoteName>splash_image_def.xml</RemoteName>
             <Operation>1</Operation>
             <LocalCommand/>
             <RemoteCommand/>
index 93afd18..7754cb8 100644 (file)
                         <Overwrite>true</Overwrite>
                     </Platform>
                 </DeployFile>
-                <DeployFile LocalName="Android\Debug\splash_image_def.xml" Configuration="Debug" Class="AndroidSplashImageDef">
+                <DeployFile LocalName="c:\program files (x86)\embarcadero\studio\15.0\lib\android\debug\mips\libnative-activity.so" Configuration="Debug" Class="AndroidLibnativeMipsFile">
                     <Platform Name="Android">
+                        <RemoteName>libcliprect.so</RemoteName>
                         <Overwrite>true</Overwrite>
                     </Platform>
                 </DeployFile>
-                <DeployFile LocalName="c:\program files (x86)\embarcadero\studio\15.0\lib\android\debug\mips\libnative-activity.so" Configuration="Debug" Class="AndroidLibnativeMipsFile">
+                <DeployFile LocalName="C:\Users\Public\Documents\Embarcadero\Studio\15.0\PlatformSDKs\android-ndk-r9c\prebuilt\android-arm\gdbserver\gdbserver" Configuration="Debug" Class="AndroidGDBServer">
                     <Platform Name="Android">
-                        <RemoteName>libcliprect.so</RemoteName>
                         <Overwrite>true</Overwrite>
                     </Platform>
                 </DeployFile>
                         <Overwrite>true</Overwrite>
                     </Platform>
                 </DeployFile>
-                <DeployFile LocalName="C:\Users\Public\Documents\Embarcadero\Studio\15.0\PlatformSDKs\android-ndk-r9c\prebuilt\android-arm\gdbserver\gdbserver" Configuration="Debug" Class="AndroidGDBServer">
+                <DeployFile LocalName="Android\Debug\splash_image_def.xml" Configuration="Debug" Class="AndroidSplashImageDef">
                     <Platform Name="Android">
                         <Overwrite>true</Overwrite>
                     </Platform>