41 if (sides.length != grays.length)
44 var colors = [grays arrayByApplyingBlock:
function(gray)
46 return [
CPColor colorWithCalibratedWhite:gray alpha:1.0];
58 if (sides.length != colors.length)
61 var resultRect = CGRectMakeCopy(boundsRect),
62 slice = CGRectMakeZero(),
63 remainder = CGRectMakeZero(),
69 for (var sideIndex = 0; sideIndex < sides.length; ++sideIndex)
71 var side = sides[sideIndex];
73 CGRectDivide(resultRect, slice, remainder, 1.0, side);
74 resultRect = remainder;
75 slice = CGRectIntersection(slice, clipRect);
78 if (CGRectIsEmpty(slice))
89 if (CGRectGetWidth(slice) < 1.0)
92 minX = CGRectGetMinX(slice) + 0.5;
94 minY = CGRectGetMinY(slice);
95 maxY = CGRectGetMaxY(slice);
100 if (CGRectGetHeight(slice) < 1.0)
103 minX = CGRectGetMinX(slice);
104 maxX = CGRectGetMaxX(slice);
105 minY = CGRectGetMinY(slice) + 0.5;