assert(wand->signature == MagickWandSignature);
if (wand->debug != MagickFalse)
(void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
- (void) MVGPrintf(wand,"rectangle %.20g %.20g %.20g %.20g\n",x1,y1,x2,y2);
+ if ((fabs(x2-x1) < MagickEpsilon) && (fabs(y2-y1) < MagickEpsilon))
+ (void) MVGPrintf(wand,"point %.20g %.20g\n",x1,y1);
+ else
+ (void) MVGPrintf(wand,"rectangle %.20g %.20g %.20g %.20g\n",x1,y1,x2,y2);
}
\f
/*
if ((svg_info->radius.x == 0.0) && (svg_info->radius.y == 0.0))
{
(void) FormatLocaleFile(svg_info->file,"class \"rect\"\n");
- (void) FormatLocaleFile(svg_info->file,"rectangle %g,%g %g,%g\n",
- svg_info->bounds.x,svg_info->bounds.y,
- svg_info->bounds.x+svg_info->bounds.width,
- svg_info->bounds.y+svg_info->bounds.height);
+ if ((fabs(svg_info->bounds.width-1.0) < MagickEpsilon) &&
+ (fabs(svg_info->bounds.height-1.0) < MagickEpsilon))
+ (void) FormatLocaleFile(svg_info->file,"point %g,%g\n",
+ svg_info->bounds.x,svg_info->bounds.y);
+ else
+ (void) FormatLocaleFile(svg_info->file,
+ "rectangle %g,%g %g,%g\n",svg_info->bounds.x,
+ svg_info->bounds.y,svg_info->bounds.x+svg_info->bounds.width,
+ svg_info->bounds.y+svg_info->bounds.height);
(void) FormatLocaleFile(svg_info->file,"pop graphic-context\n");
break;
}