IF drawOutline
THEN {
OPEN h: cI.hint;
sw, se, ne, nw: IPCoTab.CornerSpace;
originX, originY: REAL;
dimX, dimY: REAL;
[originX, originY] ← co.origin;
originX ← xOffset + (originX * scaleFactor);
originY ← yOffset + (originY *scaleFactor);
[dimX, dimY] ← CT.GetDim[co];
dimX ← dimX * scaleFactor;
dimY ← dimY * scaleFactor;
[sw, se, ne, nw] ← CT.GetCornerSps[co];
Graphics.SetStipple[context, IPConstants.Black];
IF h.sw
THEN {
Graphics.SetCP[context, originX, originY + sw.y * scaleFactor];
Graphics.DrawTo[context, originX + sw.x * scaleFactor, originY + sw.y * scaleFactor];
Graphics.DrawTo[context, originX + sw.x * scaleFactor, originY]} ELSE {
Graphics.SetCP[context, originX, originY]};
IF h.se
THEN {
Graphics.DrawTo[context, originX+ dimX - se.x * scaleFactor, originY];
Graphics.DrawTo[context, originX + dimX - se.x * scaleFactor, originY + se.y * scaleFactor];
Graphics.DrawTo[context, originX + dimX, originY + se.y * scaleFactor];} ELSE{
Graphics.DrawTo[context, originX + dimX, originY];};
IF h.ne
THEN {
Graphics.DrawTo[context, originX + dimX, originY +dimY - ne.y * scaleFactor];
Graphics.DrawTo[context, originX + dimX - ne.x * scaleFactor, originY + dimY - ne.y * scaleFactor];
Graphics.DrawTo[context, originX + dimX - ne.x * scaleFactor, originY + dimY];} ELSE {
Graphics.DrawTo[context, originX + dimX, originY + dimY]};
IF h.nw
THEN {
Graphics.DrawTo[context, originX + nw.x * scaleFactor, originY + dimY];
Graphics.DrawTo[context, originX + nw.x * scaleFactor, originY + dimY - nw.y * scaleFactor];
Graphics.DrawTo[context, originX, originY + dimY - nw.y * scaleFactor];} ELSE {
Graphics.DrawTo[context, originX, originY + dimY]};
IF h.sw
THEN {
Graphics.DrawTo[context, originX, originY + sw.y * scaleFactor];} ELSE {
Graphics.DrawTo[context, originX, originY]};};