From: cristy Date: Sun, 10 Oct 2010 13:46:51 +0000 (+0000) Subject: (no commit message) X-Git-Tag: 7.0.1-0~8707 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ef7c8a535a3caed47ceff50130e76418274c94df;p=imagemagick --- diff --git a/coders/msl.c b/coders/msl.c index 3577f114c..f0204a4f5 100644 --- a/coders/msl.c +++ b/coders/msl.c @@ -1065,14 +1065,14 @@ static void MSLStartElement(void *context,const xmlChar *tag, "%.20gx%.20g%+.20g%+.20g",(double) geometry.width,(double) geometry.height,(double) geometry.x,(double) geometry.y); CloneString(&draw_info->geometry,text); - draw_info->affine.sx=current.sx*affine.sx+current.ry*affine.rx; - draw_info->affine.rx=current.rx*affine.sx+current.sy*affine.rx; - draw_info->affine.ry=current.sx*affine.ry+current.ry*affine.sy; - draw_info->affine.sy=current.rx*affine.ry+current.sy*affine.sy; - draw_info->affine.tx=current.sx*affine.tx+current.ry*affine.ty+ - current.tx; - draw_info->affine.ty=current.rx*affine.tx+current.sy*affine.ty+ - current.ty; + draw_info->affine.sx=affine.sx*current.sx+affine.ry*current.rx; + draw_info->affine.rx=affine.rx*current.sx+affine.sy*current.rx; + draw_info->affine.ry=affine.sx*current.ry+affine.ry*current.sy; + draw_info->affine.sy=affine.rx*current.ry+affine.sy*current.sy; + draw_info->affine.tx=affine.sx*current.tx+affine.ry*current.ty+ + affine.tx; + draw_info->affine.ty=affine.rx*current.tx+affine.sy*current.ty+ + affine.ty; (void) AnnotateImage(msl_info->image[n],draw_info); draw_info=DestroyDrawInfo(draw_info); break; @@ -2655,14 +2655,14 @@ static void MSLStartElement(void *context,const xmlChar *tag, "%.20gx%.20g%+.20g%+.20g",(double) geometry.width,(double) geometry.height,(double) geometry.x,(double) geometry.y); CloneString(&draw_info->geometry,text); - draw_info->affine.sx=current.sx*affine.sx+current.ry*affine.rx; - draw_info->affine.rx=current.rx*affine.sx+current.sy*affine.rx; - draw_info->affine.ry=current.sx*affine.ry+current.ry*affine.sy; - draw_info->affine.sy=current.rx*affine.ry+current.sy*affine.sy; - draw_info->affine.tx=current.sx*affine.tx+current.ry*affine.ty+ - current.tx; - draw_info->affine.ty=current.rx*affine.tx+current.sy*affine.ty+ - current.ty; + draw_info->affine.sx=affine.sx*current.sx+affine.ry*current.rx; + draw_info->affine.rx=affine.rx*current.sx+affine.sy*current.rx; + draw_info->affine.ry=affine.sx*current.ry+affine.ry*current.sy; + draw_info->affine.sy=affine.rx*current.ry+affine.sy*current.sy; + draw_info->affine.tx=affine.sx*current.tx+affine.ry*current.ty+ + affine.tx; + draw_info->affine.ty=affine.rx*current.tx+affine.sy*current.ty+ + affine.ty; (void) DrawImage(msl_info->image[n],draw_info); draw_info=DestroyDrawInfo(draw_info); break; @@ -4798,14 +4798,14 @@ static void MSLStartElement(void *context,const xmlChar *tag, "%.20gx%.20g%+.20g%+.20g",(double) geometry.width,(double) geometry.height,(double) geometry.x,(double) geometry.y); CloneString(&draw_info->geometry,text); - draw_info->affine.sx=current.sx*affine.sx+current.ry*affine.rx; - draw_info->affine.rx=current.rx*affine.sx+current.sy*affine.rx; - draw_info->affine.ry=current.sx*affine.ry+current.ry*affine.sy; - draw_info->affine.sy=current.rx*affine.ry+current.sy*affine.sy; - draw_info->affine.tx=current.sx*affine.tx+current.ry*affine.ty+ - current.tx; - draw_info->affine.ty=current.rx*affine.tx+current.sy*affine.ty+ - current.ty; + draw_info->affine.sx=affine.sx*current.sx+affine.ry*current.rx; + draw_info->affine.rx=affine.rx*current.sx+affine.sy*current.rx; + draw_info->affine.ry=affine.sx*current.ry+affine.ry*current.sy; + draw_info->affine.sy=affine.rx*current.ry+affine.sy*current.sy; + draw_info->affine.tx=affine.sx*current.tx+affine.ry*current.ty+ + affine.tx; + draw_info->affine.ty=affine.rx*current.tx+affine.sy*current.ty+ + affine.ty; status=GetTypeMetrics(msl_info->attributes[n],draw_info,&metrics); if (status != MagickFalse) { diff --git a/coders/svg.c b/coders/svg.c index 82e443120..880d4518e 100644 --- a/coders/svg.c +++ b/coders/svg.c @@ -1391,14 +1391,14 @@ static void SVGStartElement(void *context,const xmlChar *name, 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, @@ -1983,14 +1983,14 @@ static void SVGStartElement(void *context,const xmlChar *name, 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, diff --git a/config/configure.xml b/config/configure.xml index 3bbce2dba..109a76a7a 100644 --- a/config/configure.xml +++ b/config/configure.xml @@ -9,7 +9,7 @@ - + diff --git a/magick/draw.c b/magick/draw.c index d4cd7fdfe..061d38d77 100644 --- a/magick/draw.c +++ b/magick/draw.c @@ -2761,14 +2761,14 @@ MagickExport MagickBooleanType DrawImage(Image *image,const DrawInfo *draw_info) if ((affine.sx != 1.0) || (affine.rx != 0.0) || (affine.ry != 0.0) || (affine.sy != 1.0) || (affine.tx != 0.0) || (affine.ty != 0.0)) { - graphic_context[n]->affine.sx=current.sx*affine.sx+current.ry*affine.rx; - graphic_context[n]->affine.rx=current.rx*affine.sx+current.sy*affine.rx; - graphic_context[n]->affine.ry=current.sx*affine.ry+current.ry*affine.sy; - graphic_context[n]->affine.sy=current.rx*affine.ry+current.sy*affine.sy; - graphic_context[n]->affine.tx= - current.sx*affine.tx+current.ry*affine.ty+current.tx; - graphic_context[n]->affine.ty= - current.rx*affine.tx+current.sy*affine.ty+current.ty; + graphic_context[n]->affine.sx=affine.sx*current.sx+affine.ry*current.rx; + graphic_context[n]->affine.rx=affine.rx*current.sx+affine.sy*current.rx; + graphic_context[n]->affine.ry=affine.sx*current.ry+affine.ry*current.sy; + graphic_context[n]->affine.sy=affine.rx*current.ry+affine.sy*current.sy; + graphic_context[n]->affine.tx=affine.sx*current.tx+affine.ry*current.ty+ + affine.tx; + graphic_context[n]->affine.ty=affine.rx*current.tx+affine.sy*current.ty+ + affine.ty; } if (primitive_type == UndefinedPrimitive) { diff --git a/magick/version.h b/magick/version.h index 22a2866f9..475a2e6ec 100644 --- a/magick/version.h +++ b/magick/version.h @@ -33,7 +33,7 @@ extern "C" { #define MagickLibAddendum "-0" #define MagickLibInterface 4 #define MagickLibMinInterface 4 -#define MagickReleaseDate "2010-10-09" +#define MagickReleaseDate "2010-10-10" #define MagickChangeDate "20101008" #define MagickAuthoritativeURL "http://www.imagemagick.org" #if defined(MAGICKCORE_OPENMP_SUPPORT) diff --git a/wand/drawing-wand.c b/wand/drawing-wand.c index ba0df1598..77f8d5d3a 100644 --- a/wand/drawing-wand.c +++ b/wand/drawing-wand.c @@ -441,14 +441,14 @@ static void AdjustAffine(DrawingWand *wand,const AffineMatrix *affine) current; current=CurrentContext->affine; - CurrentContext->affine.sx=current.sx*affine->sx+current.ry*affine->rx; - CurrentContext->affine.rx=current.rx*affine->sx+current.sy*affine->rx; - CurrentContext->affine.ry=current.sx*affine->ry+current.ry*affine->sy; - CurrentContext->affine.sy=current.rx*affine->ry+current.sy*affine->sy; - CurrentContext->affine.tx=current.sx*affine->tx+current.ry*affine->ty+ - current.tx; - CurrentContext->affine.ty=current.rx*affine->tx+current.sy*affine->ty+ - current.ty; + CurrentContext->affine.sx=affine->sx*current.sx+affine->ry*current.rx; + CurrentContext->affine.rx=affine->rx*current.sx+affine->sy*current.rx; + CurrentContext->affine.ry=affine->sx*current.ry+affine->ry*current.sy; + CurrentContext->affine.sy=affine->rx*current.ry+affine->sy*current.sy; + CurrentContext->affine.tx=affine->sx*current.tx+affine->ry*current.ty+ + affine->tx; + CurrentContext->affine.ty=affine->rx*current.tx+affine->sy*current.ty+ + affine->ty; } } @@ -4326,19 +4326,10 @@ WandExport void DrawResetVectorGraphics(DrawingWand *wand) */ WandExport void DrawRotate(DrawingWand *wand,const double degrees) { - AffineMatrix - affine; - assert(wand != (DrawingWand *) NULL); assert(wand->signature == WandSignature); if (wand->debug != MagickFalse) (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name); - GetAffineMatrix(&affine); - affine.sx=cos(DegreesToRadians(fmod(degrees,360.0))); - affine.rx=sin(DegreesToRadians(fmod(degrees,360.0))); - affine.ry=(-sin(DegreesToRadians(fmod(degrees,360.0)))); - affine.sy=cos(DegreesToRadians(fmod(degrees,360.0))); - AdjustAffine(wand,&affine); (void) MvgPrintf(wand,"rotate %g\n",degrees); } @@ -4419,17 +4410,10 @@ WandExport void DrawRoundRectangle(DrawingWand *wand,double x1,double y1, */ WandExport void DrawScale(DrawingWand *wand,const double x,const double y) { - AffineMatrix - affine; - assert(wand != (DrawingWand *) NULL); assert(wand->signature == WandSignature); if (wand->debug != MagickFalse) (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name); - GetAffineMatrix(&affine); - affine.sx=x; - affine.sy=y; - AdjustAffine(wand,&affine); (void) MvgPrintf(wand,"scale %g,%g\n",x,y); } @@ -6368,16 +6352,10 @@ WandExport MagickBooleanType DrawSetVectorGraphics(DrawingWand *wand, */ WandExport void DrawSkewX(DrawingWand *wand,const double degrees) { - AffineMatrix - affine; - assert(wand != (DrawingWand *) NULL); assert(wand->signature == WandSignature); if (wand->debug != MagickFalse) (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name); - GetAffineMatrix(&affine); - affine.ry=tan(DegreesToRadians(fmod(degrees,360.0))); - AdjustAffine(wand,&affine); (void) MvgPrintf(wand,"skewX %g\n",degrees); } @@ -6408,16 +6386,10 @@ WandExport void DrawSkewX(DrawingWand *wand,const double degrees) */ WandExport void DrawSkewY(DrawingWand *wand,const double degrees) { - AffineMatrix - affine; - assert(wand != (DrawingWand *) NULL); assert(wand->signature == WandSignature); if (wand->debug != MagickFalse) (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name); - GetAffineMatrix(&affine); - affine.rx=tan(DegreesToRadians(fmod(degrees,360.0))); - DrawAffine(wand,&affine); (void) MvgPrintf(wand,"skewY %g\n",degrees); } @@ -6452,17 +6424,10 @@ WandExport void DrawSkewY(DrawingWand *wand,const double degrees) */ WandExport void DrawTranslate(DrawingWand *wand,const double x,const double y) { - AffineMatrix - affine; - assert(wand != (DrawingWand *) NULL); assert(wand->signature == WandSignature); if (wand->debug != MagickFalse) (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name); - GetAffineMatrix(&affine); - affine.tx=x; - affine.ty=y; - AdjustAffine(wand,&affine); (void) MvgPrintf(wand,"translate %g,%g\n",x,y); }