% March 2000 %
% %
% %
-% Copyright 1999-2010 ImageMagick Studio LLC, a non-profit organization %
+% Copyright 1999-2011 ImageMagick Studio LLC, a non-profit organization %
% dedicated to making software imaging solutions freely available. %
% %
% You may not use this file except in compliance with the License. You may %
SVGInfo
*svg_info;
- svg_info=(SVGInfo *) AcquireAlignedMemory(1,sizeof(*svg_info));
+ svg_info=(SVGInfo *) AcquireMagickMemory(sizeof(*svg_info));
if (svg_info == (SVGInfo *) NULL)
return((SVGInfo *) NULL);
(void) ResetMagickMemory(svg_info,0,sizeof(*svg_info));
svg_info->text=AcquireString("");
- svg_info->scale=(double *) AcquireAlignedMemory(1,sizeof(*svg_info->scale));
+ svg_info->scale=(double *) AcquireMagickMemory(sizeof(*svg_info->scale));
if (svg_info->scale == (double *) NULL)
ThrowFatalException(ResourceLimitFatalError,"MemoryAllocationFailed");
GetAffineMatrix(&svg_info->affine);
*svg_info;
svg_info=(SVGInfo *) context;
+ (void) svg_info;
*number_tokens=0;
if (style == (const char *) NULL)
return((char **) NULL);
(void) LogMagickEvent(CoderEvent,GetMagickModule(),
" SAX.setDocumentLocator()");
svg_info=(SVGInfo *) context;
+ (void) svg_info;
}
static void SVGStartDocument(void *context)
break;
}
}
+ if (strchr((char *) name,':') != (char *) NULL)
+ {
+ /*
+ Skip over namespace.
+ */
+ for ( ; *name != ':'; name++) ;
+ name++;
+ }
switch (*name)
{
case 'C':
default:
break;
}
- transform.sx=current.sx*affine.sx+current.ry*affine.rx;
- transform.rx=current.rx*affine.sx+current.sy*affine.rx;
- transform.ry=current.sx*affine.ry+current.ry*affine.sy;
- transform.sy=current.rx*affine.ry+current.sy*affine.sy;
- transform.tx=current.sx*affine.tx+current.ry*affine.ty+
- current.tx;
- transform.ty=current.rx*affine.tx+current.sy*affine.ty+
- current.ty;
+ transform.sx=affine.sx*current.sx+affine.ry*current.rx;
+ transform.rx=affine.rx*current.sx+affine.sy*current.rx;
+ transform.ry=affine.sx*current.ry+affine.ry*current.sy;
+ transform.sy=affine.rx*current.ry+affine.sy*current.sy;
+ transform.tx=affine.sx*current.tx+affine.ry*current.ty+
+ affine.tx;
+ transform.ty=affine.rx*current.tx+affine.sy*current.ty+
+ affine.ty;
}
MVGPrintf(svg_info->file,
"affine %g %g %g %g %g %g\n",transform.sx,
default:
break;
}
- transform.sx=current.sx*affine.sx+current.ry*affine.rx;
- transform.rx=current.rx*affine.sx+current.sy*affine.rx;
- transform.ry=current.sx*affine.ry+current.ry*affine.sy;
- transform.sy=current.rx*affine.ry+current.sy*affine.sy;
- transform.tx=current.sx*affine.tx+current.ry*affine.ty+
- current.tx;
- transform.ty=current.rx*affine.tx+current.sy*affine.ty+
- current.ty;
+ transform.sx=affine.sx*current.sx+affine.ry*current.rx;
+ transform.rx=affine.rx*current.sx+affine.sy*current.rx;
+ transform.ry=affine.sx*current.ry+affine.ry*current.sy;
+ transform.sy=affine.rx*current.ry+affine.sy*current.sy;
+ transform.tx=affine.sx*current.tx+affine.ry*current.ty+
+ affine.tx;
+ transform.ty=affine.rx*current.tx+affine.sy*current.ty+
+ affine.ty;
}
MVGPrintf(svg_info->file,
"affine %g %g %g %g %g %g\n",transform.sx,
(void) LogMagickEvent(CoderEvent,GetMagickModule(),
" SAX.endElement(%s)",name);
svg_info=(SVGInfo *) context;
+ if (strchr((char *) name,':') != (char *) NULL)
+ {
+ /*
+ Skip over namespace.
+ */
+ for ( ; *name != ':'; name++) ;
+ name++;
+ }
switch (*name)
{
case 'C':
(void) LogMagickEvent(CoderEvent,GetMagickModule(),
" SAX.ignorableWhitespace(%.30s, %d)",c,length);
svg_info=(SVGInfo *) context;
+ (void) svg_info;
}
static void SVGProcessingInstructions(void *context,const xmlChar *target,
(void) LogMagickEvent(CoderEvent,GetMagickModule(),
" SAX.processingInstruction(%s, %s)",target,data);
svg_info=(SVGInfo *) context;
+ (void) svg_info;
}
static void SVGComment(void *context,const xmlChar *value)
value;
value=strtol(point,&p,10);
+ (void) value;
return(p != point ? MagickTrue : MagickFalse);
}