"%.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;
"%.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;
"%.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)
{
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,
<configure name="NAME" value="ImageMagick"/>
<configure name="LIB_VERSION" value="0x665"/>
<configure name="LIB_VERSION_NUMBER" value="6,6,5,0"/>
- <configure name="RELEASE_DATE" value="2010-10-09"/>
+ <configure name="RELEASE_DATE" value="2010-10-10"/>
<configure name="CONFIGURE" value="./configure "/>
<configure name="PREFIX" value="/usr/local"/>
<configure name="EXEC-PREFIX" value="/usr/local"/>
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)
{
#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)
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;
}
}
\f
*/
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);
}
\f
*/
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);
}
\f
*/
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);
}
\f
*/
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);
}
\f
*/
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);
}
\f