]> granicus.if.org Git - imagemagick/commitdiff
...
authorCristy <urban-warrior@imagemagick.org>
Sat, 28 Apr 2018 16:00:18 +0000 (12:00 -0400)
committerCristy <urban-warrior@imagemagick.org>
Sat, 28 Apr 2018 16:00:18 +0000 (12:00 -0400)
MagickCore/draw.c
coders/svg.c

index b6bdd087c4f38bff9593917c1e1dda40bc41d2da..77842412d59aedd13451e769682556b153bbde60 100644 (file)
@@ -2443,6 +2443,16 @@ MagickExport MagickBooleanType DrawImage(Image *image,const DrawInfo *draw_info,
           status=MagickFalse;
         break;
       }
+      case 'm':
+      case 'M':
+      {
+        if (LocaleCompare("mask",keyword) == 0)
+          {
+            GetNextToken(q,&q,extent,token);
+            break;
+          }
+        break;
+      }
       case 'o':
       case 'O':
       {
@@ -2524,6 +2534,8 @@ MagickExport MagickBooleanType DrawImage(Image *image,const DrawInfo *draw_info,
                 n--;
                 break;
               }
+            if (LocaleCompare("mask",token) == 0)
+              break;
             if (LocaleCompare("pattern",token) == 0)
               break;
             if (LocaleCompare("symbol",token) == 0)
@@ -2653,6 +2665,11 @@ MagickExport MagickBooleanType DrawImage(Image *image,const DrawInfo *draw_info,
                   GetNextToken(q,&q,extent,token);
                 break;
               }
+            if (LocaleCompare("mask",token) == 0)
+              {
+                GetNextToken(q,&q,extent,token);
+                break;
+              }
             if (LocaleCompare("pattern",token) == 0)
               {
                 char
index 66f78a6575cbc98a173a25e43398621d7a1f9516..4ac2bf199fd118185112a04b50c2b3edbdcbc7ef 100644 (file)
@@ -1076,6 +1076,16 @@ static void SVGStartElement(void *context,const xmlChar *name,
         }
       break;
     }
+    case 'M':
+    case 'm':
+    {
+      if (LocaleCompare((const char *) name,"mask") == 0)
+        {
+          (void) FormatLocaleFile(svg_info->file,"push mask \"%s\"\n",id);
+          break;
+        }
+      break;
+    }
     case 'P':
     case 'p':
     {
@@ -1549,6 +1559,11 @@ static void SVGStartElement(void *context,const xmlChar *name,
                 GetUserSpaceCoordinateValue(svg_info,1,value);
               break;
             }
+          if (LocaleCompare(keyword,"mask") == 0)
+            {
+              (void) FormatLocaleFile(svg_info->file,"mask \"%s\"\n",value);
+              break;
+            }
           if (LocaleCompare(keyword,"minor") == 0)
             {
               svg_info->element.minor=
@@ -2447,6 +2462,16 @@ static void SVGEndElement(void *context,const xmlChar *name)
         }
       break;
     }
+    case 'M':
+    case 'm':
+    {
+      if (LocaleCompare((const char *) name,"mask") == 0)
+        {
+          (void) FormatLocaleFile(svg_info->file,"pop mask\n");
+          break;
+        }
+      break;
+    }
     case 'P':
     case 'p':
     {