]> granicus.if.org Git - imagemagick/commitdiff
(no commit message)
authorcristy <urban-warrior@git.imagemagick.org>
Thu, 25 Jun 2015 13:02:53 +0000 (13:02 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Thu, 25 Jun 2015 13:02:53 +0000 (13:02 +0000)
PerlMagick/Magick.xs
PerlMagick/quantum/quantum.xs.in

index f7c7fd58cb61038149e2262d2ee06159b5838184..a3559f689dc4c754382fb8109a0f384ab5ec5e01 100644 (file)
@@ -556,11 +556,11 @@ static struct
     { "Kuwahara", { {"geometry", StringReference}, {"radius", RealReference},
       {"sigma", RealReference}, {"channel", MagickChannelOptions} } },
     { "ConnectedComponents", { {"connectivity", IntegerReference} } },
-    { "Copy", { {"geometry", StringReference}, {"width", IntegerReference},
-      {"height", IntegerReference}, {"x", IntegerReference},
-      {"y", IntegerReference}, {"offset", StringReference},
-      {"dx", IntegerReference}, {"dy", IntegerReference},
-      {"image", ImageReference} } },
+    { "CopyPixels", { {"image", ImageReference}, {"geometry", StringReference},
+      {"width", IntegerReference}, {"height", IntegerReference},
+      {"x", IntegerReference}, {"y", IntegerReference},
+      {"gravity", MagickGravityOptions}, {"offset", StringReference}, 
+      {"dx", IntegerReference}, {"dy", IntegerReference} } },
   };
 
 static SplayTreeInfo
@@ -11247,19 +11247,32 @@ Mogrify(ref,...)
           OffsetInfo
             offset;
 
-          if (attribute_flag[5] != 0)
-            image->gravity=(GravityType) argument_list[5].integer_reference;
+          source_image=image;
           if (attribute_flag[0] != 0)
-            flags=ParseGravityGeometry(image,argument_list[0].string_reference,
-              &geometry,exception);
+            source_image=argument_list[0].image_reference;
           if (attribute_flag[1] != 0)
-            geometry.width=argument_list[1].integer_reference;
+            flags=ParseGravityGeometry(image,argument_list[1].string_reference,
+              &geometry,exception);
           if (attribute_flag[2] != 0)
-            geometry.height=argument_list[2].integer_reference;
+            geometry.width=argument_list[2].integer_reference;
           if (attribute_flag[3] != 0)
-            geometry.x=argument_list[3].integer_reference;
+            geometry.height=argument_list[3].integer_reference;
           if (attribute_flag[4] != 0)
-            geometry.y=argument_list[4].integer_reference;
+            geometry.x=argument_list[4].integer_reference;
+          if (attribute_flag[5] != 0)
+            geometry.y=argument_list[5].integer_reference;
+          if (attribute_flag[6] != 0)
+            source_image->gravity=(GravityType)
+              argument_list[6].integer_reference;
+          offset.x=0;
+          offset.y=0;
+          if (attribute_flag[7] != 0)
+            flags=ParseGravityGeometry(source_image,
+              argument_list[0].string_reference,&offset,exception);
+          if (attribute_flag[8] != 0)
+            offset.x=argument_list[8].integer_reference;
+          if (attribute_flag[9] != 0)
+            offset.y=argument_list[9].integer_reference;
           source_image=image;
           (void) CopyImagePixels(image,source_image,&geometry,&offset,
             exception);
index f7e91c93ea365d92b6bd2a3e4118702b2bd32e78..5275b6063eb9455ea33d1003fe40ee8c7020cc16 100644 (file)
@@ -556,11 +556,11 @@ static struct
     { "Kuwahara", { {"geometry", StringReference}, {"radius", RealReference},
       {"sigma", RealReference}, {"channel", MagickChannelOptions} } },
     { "ConnectedComponents", { {"connectivity", IntegerReference} } },
-    { "Copy", { {"geometry", StringReference}, {"width", IntegerReference},
-      {"height", IntegerReference}, {"x", IntegerReference},
-      {"y", IntegerReference}, {"offset", StringReference},
-      {"dx", IntegerReference}, {"dy", IntegerReference},
-      {"image", ImageReference} } },
+    { "CopyPixels", { {"image", ImageReference}, {"geometry", StringReference},
+      {"width", IntegerReference}, {"height", IntegerReference},
+      {"x", IntegerReference}, {"y", IntegerReference},
+      {"gravity", MagickGravityOptions}, {"offset", StringReference}, 
+      {"dx", IntegerReference}, {"dy", IntegerReference} } },
   };
 
 static SplayTreeInfo
@@ -11245,19 +11245,32 @@ Mogrify(ref,...)
           OffsetInfo
             offset;
 
-          if (attribute_flag[5] != 0)
-            image->gravity=(GravityType) argument_list[5].integer_reference;
+          source_image=image;
           if (attribute_flag[0] != 0)
-            flags=ParseGravityGeometry(image,argument_list[0].string_reference,
-              &geometry,exception);
+            source_image=argument_list[0].image_reference;
           if (attribute_flag[1] != 0)
-            geometry.width=argument_list[1].integer_reference;
+            flags=ParseGravityGeometry(image,argument_list[1].string_reference,
+              &geometry,exception);
           if (attribute_flag[2] != 0)
-            geometry.height=argument_list[2].integer_reference;
+            geometry.width=argument_list[2].integer_reference;
           if (attribute_flag[3] != 0)
-            geometry.x=argument_list[3].integer_reference;
+            geometry.height=argument_list[3].integer_reference;
           if (attribute_flag[4] != 0)
-            geometry.y=argument_list[4].integer_reference;
+            geometry.x=argument_list[4].integer_reference;
+          if (attribute_flag[5] != 0)
+            geometry.y=argument_list[5].integer_reference;
+          if (attribute_flag[6] != 0)
+            source_image->gravity=(GravityType)
+              argument_list[6].integer_reference;
+          offset.x=0;
+          offset.y=0;
+          if (attribute_flag[7] != 0)
+            flags=ParseGravityGeometry(source_image,
+              argument_list[0].string_reference,&offset,exception);
+          if (attribute_flag[8] != 0)
+            offset.x=argument_list[8].integer_reference;
+          if (attribute_flag[9] != 0)
+            offset.y=argument_list[9].integer_reference;
           source_image=image;
           (void) CopyImagePixels(image,source_image,&geometry,&offset,
             exception);