(void) CopyMagickString(p,p+1,MaxTextExtent);
break;
}
+ case 'x':
+ case 'X':
+ {
+ flags|=SeparatorValue;
+ p++;
+ break;
+ }
case '-':
case '.':
case ',':
case '7':
case '8':
case '9':
- case 'x':
- case 'X':
case 215:
{
p++;
*y=(-*y);
}
}
+ if ((flags & SeparatorValue) == 0)
+ {
+ if (((flags & PercentValue) != 0) && ((flags & WidthValue) == 0))
+ {
+ *width=(*height);
+ flags|=WidthValue;
+ }
+ if (((flags & PercentValue) != 0) && ((flags & HeightValue) == 0))
+ {
+ *height=(*width);
+ flags|=HeightValue;
+ }
+ }
#if 0
/* Debugging Geometry */
(void) fprintf(stderr,"GetGeometry...\n");
(void) CopyMagickString(p,p+1,MaxTextExtent);
break;
}
+ case 'x':
+ case 'X':
+ {
+ flags|=SeparatorValue;
+ p++;
+ break;
+ }
case '-':
case '+':
case ',':
case '7':
case '8':
case '9':
- case 'x':
- case 'X':
case '/':
case ':':
case 215:
flags|=SigmaValue;
flags&=(~XiValue);
}
+ if ((flags & SeparatorValue) == 0)
+ {
+ if (((flags & PercentValue) != 0) && ((flags & RhoValue) == 0))
+ {
+ geometry_info->rho=geometry_info->sigma;
+ flags|=RhoValue;
+ }
+ if (((flags & PercentValue) != 0) && ((flags & SigmaValue) == 0))
+ {
+ geometry_info->sigma=geometry_info->rho;
+ flags|=SigmaValue;
+ }
+ }
#if 0
/* Debugging Geometry */
(void) fprintf(stderr,"ParseGeometry...\n");
CorrelateNormalizeValue = 0x10000, /* '^' see ScaleKernelValue() */
AreaValue = 0x20000, /* '@' resize to area - special use flag */
DecimalValue = 0x40000, /* '.' floating point numbers found */
+ SeparatorValue = 0x80000, /* 'x' separator found */
#undef AllValues
AllValues = 0x7fffffff
} GeometryFlags;