Commit 3f4c17b6b for imagemagick.org

commit 3f4c17b6b5003bf3a7fcb7c1a2a3a25463ca35a5
Author: Cristy <mikayla-grace@urban-warrior.org>
Date:   Mon Jan 11 20:42:03 2021 -0500

    support -define identify:convex-hull=true define

diff --git a/ChangeLog b/ChangeLog
index 9261cf028..e7186e1aa 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2021-01-11  7.0.10-58  <quetzlzacatenango@image...>
+  * Release ImageMagick version 7.0.10-58 GIT revision 18...
+
+2021-01-11  7.0.10-58  <quetzlzacatenango@image...>
+  * identify the convex hull and minimum bounding box attributes of an image
+    with the -define identify:convex-hull=true define.
+
 2021-01-09  7.0.10-57  <quetzlzacatenango@image...>
   * Release ImageMagick version 7.0.10-57 GIT revision 18221:2f611d533:20210109

diff --git a/MagickCore/accelerate.c b/MagickCore/accelerate.c
index ffaeadaae..4622ee0b8 100644
--- a/MagickCore/accelerate.c
+++ b/MagickCore/accelerate.c
@@ -287,7 +287,7 @@ static cl_mem createKernelInfo(MagickCLDevice device,const double radius,
       ResourceLimitWarning,"AcquireKernelInfo failed.",".");
     return((cl_mem) NULL);
   }
-  kernelBufferPtr=(float *)AcquireMagickMemory(kernel->width*
+  kernelBufferPtr=(float *) AcquireMagickMemory(kernel->width*
     sizeof(*kernelBufferPtr));
   if (kernelBufferPtr == (float *) NULL)
     {
@@ -297,7 +297,7 @@ static cl_mem createKernelInfo(MagickCLDevice device,const double radius,
       return((cl_mem) NULL);
     }
   for (i = 0; i < (ssize_t) kernel->width; i++)
-    kernelBufferPtr[i] = (float)kernel->values[i];
+    kernelBufferPtr[i]=(float) kernel->values[i];
   imageKernelBuffer=CreateOpenCLBuffer(device,CL_MEM_COPY_HOST_PTR |
     CL_MEM_READ_ONLY,kernel->width*sizeof(*kernelBufferPtr),kernelBufferPtr);
   *width=(cl_uint) kernel->width;
diff --git a/MagickCore/identify.c b/MagickCore/identify.c
index 9ebe381f3..09568001c 100644
--- a/MagickCore/identify.c
+++ b/MagickCore/identify.c
@@ -1277,55 +1277,57 @@ MagickExport MagickBooleanType IdentifyImage(Image *image,FILE *file,
         (void) fputc('\n',file);
       (void) FormatLocaleFile(file,"%s\n",value);
     }
-  {
-    char
-      *points,
-      value[MagickPathExtent];
+  artifact=GetImageArtifact(image,"identify:convex-hull");
+  if (IsStringTrue(artifact) != MagickFalse)
+    {
+      char
+        *points,
+        value[MagickPathExtent];

-    PointInfo
-      *bounding_box,
-      *convex_hull;
+      PointInfo
+        *bounding_box,
+        *convex_hull;

-    ssize_t
-      n;
+      ssize_t
+        n;

-    size_t
-      number_points;
+      size_t
+        number_points;

-    /*
-      Display convex hull & minimum bounding box.
-    */
-    convex_hull=GetImageConvexHull(image,&number_points,exception);
-    if (convex_hull != (PointInfo *) NULL)
-      {
-        points=AcquireString("");
-        for (n=0; n < (ssize_t) number_points; n++)
+      /*
+        Display convex hull & minimum bounding box.
+      */
+      convex_hull=GetImageConvexHull(image,&number_points,exception);
+      if (convex_hull != (PointInfo *) NULL)
         {
-          (void) FormatLocaleString(value,MagickPathExtent,"%g,%g ",
-            convex_hull[n].x,convex_hull[n].y);
-          (void) ConcatenateString(&points,value);
+          points=AcquireString("");
+          for (n=0; n < (ssize_t) number_points; n++)
+          {
+            (void) FormatLocaleString(value,MagickPathExtent,"%g,%g ",
+              convex_hull[n].x,convex_hull[n].y);
+            (void) ConcatenateString(&points,value);
+          }
+          convex_hull=(PointInfo *) RelinquishMagickMemory(convex_hull);
+          (void) FormatLocaleFile(file,"  Convex hull: ");
+          (void) FormatLocaleFile(file,"%s\n",points);
+          points=DestroyString(points);
         }
-        convex_hull=(PointInfo *) RelinquishMagickMemory(convex_hull);
-        (void) FormatLocaleFile(file,"  Convex hull: ");
-        (void) FormatLocaleFile(file,"%s\n",points);
-        points=DestroyString(points);
-      }
-    bounding_box=GetImageMinimumBoundingBox(image,&number_points,exception);
-    if (bounding_box != (PointInfo *) NULL)
-      {
-        points=AcquireString("");
-        for (n=0; n < (ssize_t) number_points; n++)
+      bounding_box=GetImageMinimumBoundingBox(image,&number_points,exception);
+      if (bounding_box != (PointInfo *) NULL)
         {
-          (void) FormatLocaleString(value,MagickPathExtent,"%g,%g ",
-            bounding_box[n].x,bounding_box[n].y);
-          (void) ConcatenateString(&points,value);
+          points=AcquireString("");
+          for (n=0; n < (ssize_t) number_points; n++)
+          {
+            (void) FormatLocaleString(value,MagickPathExtent,"%g,%g ",
+              bounding_box[n].x,bounding_box[n].y);
+            (void) ConcatenateString(&points,value);
+          }
+          bounding_box=(PointInfo *) RelinquishMagickMemory(bounding_box);
+          (void) FormatLocaleFile(file,"  Minimum bounding box: ");
+          (void) FormatLocaleFile(file,"%s\n",points);
+          points=DestroyString(points);
         }
-        bounding_box=(PointInfo *) RelinquishMagickMemory(bounding_box);
-        (void) FormatLocaleFile(file,"  Minimum bounding box: ");
-        (void) FormatLocaleFile(file,"%s\n",points);
-        points=DestroyString(points);
-      }
-  }
+    }
   ResetImageProfileIterator(image);
   name=GetNextImageProfile(image);
   if (name != (char *) NULL)