mirror of
https://github.com/cappuccino/cappuccino.git
synced 2026-09-18 16:33:31 +00:00
Deploying to gh-pages from @ cappuccino/cappuccino@e107e2d804 🚀
This commit is contained in:
@@ -55119,7 +55119,7 @@ CGColorSpaceStandardizeComponents = function(aColorSpace, components)
|
||||
break;
|
||||
}
|
||||
}
|
||||
p;11;CGContext.jt;40163;@STATIC;1.0;i;19;CGAffineTransform.ji;17;CPCompatibility.ji;12;CGGeometry.ji;8;CGPath.ji;15;CGContextText.jt;40048;objj_executeFile("CGAffineTransform.j", YES);objj_executeFile("CPCompatibility.j", YES);objj_executeFile("CGGeometry.j", YES);objj_executeFile("CGPath.j", YES);objj_executeFile("CGContextText.j", YES);{var the_typedef = objj_allocateTypeDef("CGContext");
|
||||
p;11;CGContext.jt;36450;@STATIC;1.0;i;19;CGAffineTransform.ji;17;CPCompatibility.ji;12;CGGeometry.ji;8;CGPath.ji;15;CGContextText.jt;36335;objj_executeFile("CGAffineTransform.j", YES);objj_executeFile("CPCompatibility.j", YES);objj_executeFile("CGGeometry.j", YES);objj_executeFile("CGPath.j", YES);objj_executeFile("CGContextText.j", YES);{var the_typedef = objj_allocateTypeDef("CGContext");
|
||||
objj_registerTypeDef(the_typedef);
|
||||
}kCGLineCapButt = 0;
|
||||
kCGLineCapRound = 1;
|
||||
@@ -55423,13 +55423,15 @@ CGContextStrokeRoundedRectangleInRect = function(aContext, aRect, aRadius, ne, s
|
||||
}
|
||||
if (CPFeatureIsCompatible(CPHTMLCanvasFeature))
|
||||
{
|
||||
var CANVAS_LINECAP_TABLE = ["butt", "round", "square"],
|
||||
CANVAS_LINEJOIN_TABLE = ["miter", "round", "bevel"],
|
||||
CANVAS_COMPOSITE_TABLE = ["source-over", "source-over", "source-over", "source-over", "darker", "lighter", "source-over", "source-over", "source-over", "source-over", "source-over", "source-over", "source-over", "source-over", "source-over", "source-over", "source-over", "copy", "source-in", "source-out", "source-atop", "destination-over", "destination-in", "destination-out", "destination-atop", "xor", "source-over", "source-over"];
|
||||
var hasPath = function(aContext, methodName)
|
||||
const CANVAS_LINECAP_TABLE = ["butt", "round", "square"];
|
||||
const CANVAS_LINEJOIN_TABLE = ["miter", "round", "bevel"];
|
||||
const CANVAS_COMPOSITE_TABLE = ["source-over", "source-over", "source-over", "source-over", "darker", "lighter", "source-over", "source-over", "source-over", "source-over", "source-over", "source-over", "source-over", "source-over", "source-over", "source-over", "source-over", "copy", "source-in", "source-out", "source-atop", "destination-over", "destination-in", "destination-out", "destination-atop", "xor", "source-over", "source-over"];
|
||||
const hasPath = function(aContext, methodName)
|
||||
{
|
||||
if (!aContext.hasPath)
|
||||
{
|
||||
CPLog.error(methodName + ": no current point");
|
||||
}
|
||||
return aContext.hasPath;
|
||||
};
|
||||
CGContextSaveGState = function(aContext)
|
||||
@@ -55451,16 +55453,6 @@ if (CPFeatureIsCompatible(CPHTMLCanvasFeature))
|
||||
aContext.setLineDash(someDashes);
|
||||
aContext.lineDashOffset = aPhase;
|
||||
}
|
||||
else if (typeof aContext['webkitLineDash'] !== 'undefined')
|
||||
{
|
||||
aContext.webkitLineDash = someDashes;
|
||||
aContext.webkitLineDashOffset = aPhase;
|
||||
}
|
||||
else if (typeof aContext['mozDash'] !== 'undefined')
|
||||
{
|
||||
aContext.mozDash = someDashes;
|
||||
aContext.mozDashOffset = aPhase;
|
||||
}
|
||||
else if (someDashes)
|
||||
{
|
||||
CPLog.warn("CGContextSetLineDash not implemented in this environment.");
|
||||
@@ -55490,45 +55482,60 @@ if (CPFeatureIsCompatible(CPHTMLCanvasFeature))
|
||||
CGContextAddArcToPoint = function(aContext, x1, y1, x2, y2, radius)
|
||||
{
|
||||
if (!hasPath(aContext, "CGContextAddArcToPoint"))
|
||||
{
|
||||
return;
|
||||
}
|
||||
aContext.arcTo(x1, y1, x2, y2, radius);
|
||||
}
|
||||
CGContextAddCurveToPoint = function(aContext, cp1x, cp1y, cp2x, cp2y, x, y)
|
||||
{
|
||||
if (!hasPath(aContext, "CGContextAddCurveToPoint"))
|
||||
{
|
||||
return;
|
||||
}
|
||||
aContext.bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y);
|
||||
}
|
||||
CGContextAddLines = function(aContext, points, count)
|
||||
{
|
||||
if (count == null)
|
||||
{
|
||||
count = points.length;
|
||||
}
|
||||
if (count < 1)
|
||||
{
|
||||
return;
|
||||
}
|
||||
aContext.moveTo(points[0].x, points[0].y);
|
||||
for (var i = 1; i < count; ++i)
|
||||
for (let i = 1; i < count; ++i)
|
||||
{
|
||||
aContext.lineTo(points[i].x, points[i].y);
|
||||
}
|
||||
aContext.hasPath = YES;
|
||||
}
|
||||
CGContextAddLineToPoint = function(aContext, x, y)
|
||||
{
|
||||
if (!hasPath(aContext, "CGContextAddLineToPoint"))
|
||||
{
|
||||
return;
|
||||
}
|
||||
aContext.lineTo(x, y);
|
||||
}
|
||||
CGContextAddPath = function(aContext, aPath)
|
||||
{
|
||||
if (!aContext || CGPathIsEmpty(aPath))
|
||||
return;
|
||||
if (!aContext.hasPath)
|
||||
aContext.beginPath();
|
||||
aContext.moveTo(aPath.start.x, aPath.start.y);
|
||||
var elements = aPath.elements,
|
||||
i = 0,
|
||||
count = aPath.count;
|
||||
for (; i < count; ++i)
|
||||
{
|
||||
var element = elements[i],
|
||||
return;
|
||||
}
|
||||
if (!aContext.hasPath)
|
||||
{
|
||||
aContext.beginPath();
|
||||
}
|
||||
aContext.moveTo(aPath.start.x, aPath.start.y);
|
||||
const elements = aPath.elements,
|
||||
count = aPath.count;
|
||||
for (let i = 0; i < count; ++i)
|
||||
{
|
||||
const element = elements[i],
|
||||
type = element.type;
|
||||
switch(type) {
|
||||
case kCGPathElementMoveToPoint:
|
||||
@@ -55564,16 +55571,20 @@ if (CPFeatureIsCompatible(CPHTMLCanvasFeature))
|
||||
CGContextAddQuadCurveToPoint = function(aContext, cpx, cpy, x, y)
|
||||
{
|
||||
if (!hasPath(aContext, "CGContextAddQuadCurveToPoint"))
|
||||
{
|
||||
return;
|
||||
}
|
||||
aContext.quadraticCurveTo(cpx, cpy, x, y);
|
||||
}
|
||||
CGContextAddRects = function(aContext, rects, count)
|
||||
{
|
||||
if (count == null)
|
||||
count = rects.length;
|
||||
for (var i = 0; i < count; ++i)
|
||||
{
|
||||
var rect = rects[i];
|
||||
count = rects.length;
|
||||
}
|
||||
for (let i = 0; i < count; ++i)
|
||||
{
|
||||
const rect = rects[i];
|
||||
aContext.rect(CGRectGetMinX(rect), CGRectGetMinY(rect), CGRectGetWidth(rect), CGRectGetHeight(rect));
|
||||
}
|
||||
aContext.hasPath = YES;
|
||||
@@ -55604,13 +55615,21 @@ if (CPFeatureIsCompatible(CPHTMLCanvasFeature))
|
||||
CGContextDrawPath = function(aContext, aMode)
|
||||
{
|
||||
if (!aContext.hasPath)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (aMode === kCGPathFill || aMode === kCGPathFillStroke)
|
||||
{
|
||||
aContext.fill();
|
||||
}
|
||||
else if (aMode === kCGPathStroke || aMode === kCGPathFillStroke || aMode === kCGPathEOFillStroke)
|
||||
{
|
||||
aContext.stroke();
|
||||
}
|
||||
else if (aMode === kCGPathEOFill || aMode === kCGPathEOFillStroke)
|
||||
{
|
||||
CPLog.warn("Unimplemented fill mode in CGContextDrawPath: %d", aMode);
|
||||
}
|
||||
aContext.hasPath = NO;
|
||||
}
|
||||
CGContextFillRect = function(aContext, aRect)
|
||||
@@ -55621,10 +55640,12 @@ if (CPFeatureIsCompatible(CPHTMLCanvasFeature))
|
||||
CGContextFillRects = function(aContext, rects, count)
|
||||
{
|
||||
if (count == null)
|
||||
count = rects.length;
|
||||
for (var i = 0; i < count; ++i)
|
||||
{
|
||||
var rect = rects[i];
|
||||
count = rects.length;
|
||||
}
|
||||
for (let i = 0; i < count; ++i)
|
||||
{
|
||||
const rect = rects[i];
|
||||
aContext.fillRect(CGRectGetMinX(rect), CGRectGetMinY(rect), CGRectGetWidth(rect), CGRectGetHeight(rect));
|
||||
}
|
||||
aContext.hasPath = NO;
|
||||
@@ -55650,7 +55671,9 @@ if (CPFeatureIsCompatible(CPHTMLCanvasFeature))
|
||||
CGContextClipToRects = function(aContext, rects, count)
|
||||
{
|
||||
if (count == null)
|
||||
{
|
||||
count = rects.length;
|
||||
}
|
||||
aContext.beginPath();
|
||||
CGContextAddRects(aContext, rects, count);
|
||||
aContext.clip();
|
||||
@@ -55662,42 +55685,46 @@ if (CPFeatureIsCompatible(CPHTMLCanvasFeature))
|
||||
}
|
||||
CGContextSetFillColor = function(aContext, aColor)
|
||||
{
|
||||
var patternImage = (aColor == null ? aColor : (aColor.isa.method_msgSend["patternImage"] || _objj_forward)(aColor, "patternImage"));
|
||||
const patternImage = (aColor == null ? aColor : (aColor.isa.method_msgSend["patternImage"] || _objj_forward)(aColor, "patternImage"));
|
||||
if ((patternImage == null ? patternImage : (patternImage.isa.method_msgSend["isSingleImage"] || _objj_forward)(patternImage, "isSingleImage")))
|
||||
{
|
||||
var pattern = aContext.createPattern((patternImage == null ? patternImage : (patternImage.isa.method_msgSend["image"] || _objj_forward)(patternImage, "image")), "repeat");
|
||||
const pattern = aContext.createPattern((patternImage == null ? patternImage : (patternImage.isa.method_msgSend["image"] || _objj_forward)(patternImage, "image")), "repeat");
|
||||
aContext.fillStyle = pattern;
|
||||
}
|
||||
else
|
||||
{
|
||||
aContext.fillStyle = (aColor == null ? aColor : (aColor.isa.method_msgSend["cssString"] || _objj_forward)(aColor, "cssString"));
|
||||
}
|
||||
}
|
||||
CGContextCreatePatternContext = function(aContext, aSize)
|
||||
{
|
||||
var pattern = document.createElement("canvas");
|
||||
const pattern = document.createElement("canvas");
|
||||
pattern.width = aSize.width;
|
||||
pattern.height = aSize.height;
|
||||
return pattern.getContext("2d");
|
||||
}
|
||||
CGContextSetFillPattern = function(aContext, aPatternContext)
|
||||
{
|
||||
var pattern = aContext.createPattern(aPatternContext.canvas, "repeat");
|
||||
const pattern = aContext.createPattern(aPatternContext.canvas, "repeat");
|
||||
aContext.fillStyle = pattern;
|
||||
}
|
||||
CGContextSetStrokePattern = function(aContext, aPatternContext)
|
||||
{
|
||||
var pattern = aContext.createPattern(aPatternContext.canvas, "repeat");
|
||||
const pattern = aContext.createPattern(aPatternContext.canvas, "repeat");
|
||||
aContext.strokeStyle = pattern;
|
||||
}
|
||||
CGContextSetStrokeColor = function(aContext, aColor)
|
||||
{
|
||||
var patternImage = (aColor == null ? aColor : (aColor.isa.method_msgSend["patternImage"] || _objj_forward)(aColor, "patternImage"));
|
||||
const patternImage = (aColor == null ? aColor : (aColor.isa.method_msgSend["patternImage"] || _objj_forward)(aColor, "patternImage"));
|
||||
if ((patternImage == null ? patternImage : (patternImage.isa.method_msgSend["isSingleImage"] || _objj_forward)(patternImage, "isSingleImage")))
|
||||
{
|
||||
var pattern = aContext.createPattern((patternImage == null ? patternImage : (patternImage.isa.method_msgSend["image"] || _objj_forward)(patternImage, "image")), "repeat");
|
||||
const pattern = aContext.createPattern((patternImage == null ? patternImage : (patternImage.isa.method_msgSend["image"] || _objj_forward)(patternImage, "image")), "repeat");
|
||||
aContext.strokeStyle = pattern;
|
||||
}
|
||||
else
|
||||
{
|
||||
aContext.strokeStyle = (aColor == null ? aColor : (aColor.isa.method_msgSend["cssString"] || _objj_forward)(aColor, "cssString"));
|
||||
}
|
||||
}
|
||||
CGContextSetShadow = function(aContext, aSize, aBlur)
|
||||
{
|
||||
@@ -55726,124 +55753,9 @@ if (CPFeatureIsCompatible(CPHTMLCanvasFeature))
|
||||
{
|
||||
aContext.translate(tx, ty);
|
||||
}
|
||||
var scale_rotate = function(a, b, c, d)
|
||||
CGContextConcatCTM = function(aContext, anAffineTransform)
|
||||
{
|
||||
var sign = a * d < 0.0 || b * c > 0.0 ? -1.0 : 1.0,
|
||||
a2 = (ATAN2(b, d) + ATAN2(-sign * c, sign * a)) / 2.0,
|
||||
cos = COS(a2),
|
||||
sin = SIN(a2);
|
||||
if (cos === 0)
|
||||
{
|
||||
sx = -c / sin;
|
||||
sy = b / sin;
|
||||
}
|
||||
else if (sin === 0)
|
||||
{
|
||||
sx = a / cos;
|
||||
sy = d / cos;
|
||||
}
|
||||
else
|
||||
{
|
||||
abs_cos = ABS(cos);
|
||||
abs_sin = ABS(sin);
|
||||
sx = (abs_cos * a / cos + abs_sin * -c / sin) / (abs_cos + abs_sin);
|
||||
sy = (abs_cos * d / cos + abs_sin * b / sin) / (abs_cos + abs_sin);
|
||||
}
|
||||
};
|
||||
var rotate_scale = function(a, b, c, d)
|
||||
{
|
||||
var sign = a * d < 0.0 || b * c > 0.0 ? -1.0 : 1.0,
|
||||
a1 = (ATAN2(sign * b, sign * a) + ATAN2(-c, d)) / 2.0,
|
||||
cos = COS(a1),
|
||||
sin = SIN(a1);
|
||||
if (cos === 0)
|
||||
{
|
||||
sx = b / sin;
|
||||
sy = -c / sin;
|
||||
}
|
||||
else if (sin === 0)
|
||||
{
|
||||
sx = a / cos;
|
||||
sy = d / cos;
|
||||
}
|
||||
else
|
||||
{
|
||||
abs_cos = ABS(cos);
|
||||
abs_sin = ABS(sin);
|
||||
sx = (abs_cos * a / cos + abs_sin * b / sin) / (abs_cos + abs_sin);
|
||||
sy = (abs_cos * d / cos + abs_sin * -c / sin) / (abs_cos + abs_sin);
|
||||
}
|
||||
};
|
||||
eigen = function(anAffineTransform)
|
||||
{
|
||||
CPLog.warn("Unimplemented function: eigen");
|
||||
}
|
||||
if (CPFeatureIsCompatible(CPJavaScriptCanvasTransformFeature))
|
||||
{
|
||||
CGContextConcatCTM = function(aContext, anAffineTransform)
|
||||
{
|
||||
aContext.transform(anAffineTransform.a, anAffineTransform.b, anAffineTransform.c, anAffineTransform.d, anAffineTransform.tx, anAffineTransform.ty);
|
||||
};
|
||||
}
|
||||
else
|
||||
{
|
||||
CGContextConcatCTM = function(aContext, anAffineTransform)
|
||||
{
|
||||
var a = anAffineTransform.a,
|
||||
b = anAffineTransform.b,
|
||||
c = anAffineTransform.c,
|
||||
d = anAffineTransform.d,
|
||||
tx = anAffineTransform.tx,
|
||||
ty = anAffineTransform.ty,
|
||||
sx = 1.0,
|
||||
sy = 1.0,
|
||||
a1 = 0.0,
|
||||
a2 = 0.0;
|
||||
if (b === 0.0 && c === 0.0)
|
||||
{
|
||||
sx = a;
|
||||
sy = d;
|
||||
}
|
||||
else if (a * b === -c * d)
|
||||
{
|
||||
scale_rotate(a, b, c, d);
|
||||
}
|
||||
else if (a * c === -b * d)
|
||||
{
|
||||
rotate_scale(a, b, c, d);
|
||||
}
|
||||
else
|
||||
{
|
||||
var transpose = CGAffineTransformMake(a, c, b, d, 0.0, 0.0),
|
||||
u = eigen(CGAffineTransformConcat(anAffineTransform, transpose)),
|
||||
v = eigen(CGAffineTransformConcat(transpose, anAffineTransform)),
|
||||
U = CGAffineTransformMake(u.vector_1.x, u.vector_2.x, u.vector_1.y, u.vector_2.y, 0.0, 0.0),
|
||||
VT = CGAffineTransformMake(v.vector_1.x, v.vector_1.y, v.vector_2.x, v.vector_2.y, 0.0, 0.0),
|
||||
S = CGAffineTransformConcat(CGAffineTransformConcat(CGAffineTransformInvert(U), anAffineTransform), CGAffineTransformInvert(VT));
|
||||
a = VT.a;
|
||||
b = VT.b;
|
||||
c = VT.c;
|
||||
d = VT.d;
|
||||
scale_rotate(a, b, c, d);
|
||||
S.a *= sx;
|
||||
S.d *= sy;
|
||||
a = U.a;
|
||||
b = U.b;
|
||||
c = U.c;
|
||||
d = U.d;
|
||||
rotate_scale(a, b, c, d);
|
||||
sx = S.a * sx;
|
||||
sy = S.d * sy;
|
||||
}
|
||||
if (tx != 0 || ty != 0)
|
||||
CGContextTranslateCTM(aContext, tx, ty);
|
||||
if (a1 != 0.0)
|
||||
CGContextRotateCTM(aContext, a1);
|
||||
if (sx != 1.0 || sy != 1.0)
|
||||
CGContextScaleCTM(aContext, sx, sy);
|
||||
if (a2 != 0.0)
|
||||
CGContextRotateCTM(aContext, a2);
|
||||
};
|
||||
aContext.transform(anAffineTransform.a, anAffineTransform.b, anAffineTransform.c, anAffineTransform.d, anAffineTransform.tx, anAffineTransform.ty);
|
||||
}
|
||||
CGContextDrawImage = function(aContext, aRect, anImage)
|
||||
{
|
||||
@@ -55852,34 +55764,38 @@ if (CPFeatureIsCompatible(CPHTMLCanvasFeature))
|
||||
}
|
||||
to_string = function(aColor)
|
||||
{
|
||||
return "rgba(" + ROUND(aColor.components[0] * 255) + ", " + ROUND(aColor.components[1] * 255) + ", " + ROUND(255 * aColor.components[2]) + ", " + aColor.components[3] + ")";
|
||||
return "rgba(" + Math.round(aColor.components[0] * 255) + ", " + Math.round(aColor.components[1] * 255) + ", " + Math.round(255 * aColor.components[2]) + ", " + aColor.components[3] + ")";
|
||||
}
|
||||
CGContextDrawLinearGradient = function(aContext, aGradient, aStartPoint, anEndPoint, options)
|
||||
{
|
||||
var colors = aGradient.colors,
|
||||
count = colors.length,
|
||||
linearGradient = aContext.createLinearGradient(aStartPoint.x, aStartPoint.y, anEndPoint.x, anEndPoint.y);
|
||||
const colors = aGradient.colors;
|
||||
const linearGradient = aContext.createLinearGradient(aStartPoint.x, aStartPoint.y, anEndPoint.x, anEndPoint.y);
|
||||
let count = colors.length;
|
||||
while (count--)
|
||||
{
|
||||
linearGradient.addColorStop(aGradient.locations[count], to_string(colors[count]));
|
||||
}
|
||||
aContext.fillStyle = linearGradient;
|
||||
aContext.fill();
|
||||
aContext.hasPath = NO;
|
||||
}
|
||||
CGContextDrawRadialGradient = function(aContext, aGradient, aStartCenter, aStartRadius, anEndCenter, anEndRadius, options)
|
||||
{
|
||||
var colors = aGradient.colors,
|
||||
count = colors.length,
|
||||
linearGradient = aContext.createRadialGradient(aStartCenter.x, aStartCenter.y, aStartRadius, anEndCenter.x, anEndCenter.y, anEndRadius);
|
||||
const colors = aGradient.colors;
|
||||
const linearGradient = aContext.createRadialGradient(aStartCenter.x, aStartCenter.y, aStartRadius, anEndCenter.x, anEndCenter.y, anEndRadius);
|
||||
let count = colors.length;
|
||||
while (count--)
|
||||
{
|
||||
linearGradient.addColorStop(aGradient.locations[count], to_string(colors[count]));
|
||||
}
|
||||
aContext.fillStyle = linearGradient;
|
||||
aContext.fill();
|
||||
aContext.hasPath = NO;
|
||||
}
|
||||
CGBitmapGraphicsContextCreate = function()
|
||||
{
|
||||
var DOMElement = document.createElement("canvas"),
|
||||
context = DOMElement.getContext("2d");
|
||||
const DOMElement = document.createElement("canvas");
|
||||
const context = DOMElement.getContext("2d");
|
||||
context.DOMElement = DOMElement;
|
||||
context.hasPath = NO;
|
||||
return context;
|
||||
|
||||
@@ -53022,7 +53022,7 @@ CGColorSpaceStandardizeComponents = function(aColorSpace, components)
|
||||
break;
|
||||
}
|
||||
}
|
||||
p;11;CGContext.jt;40163;@STATIC;1.0;i;19;CGAffineTransform.ji;17;CPCompatibility.ji;12;CGGeometry.ji;8;CGPath.ji;15;CGContextText.jt;40048;objj_executeFile("CGAffineTransform.j", YES);objj_executeFile("CPCompatibility.j", YES);objj_executeFile("CGGeometry.j", YES);objj_executeFile("CGPath.j", YES);objj_executeFile("CGContextText.j", YES);{var the_typedef = objj_allocateTypeDef("CGContext");
|
||||
p;11;CGContext.jt;36450;@STATIC;1.0;i;19;CGAffineTransform.ji;17;CPCompatibility.ji;12;CGGeometry.ji;8;CGPath.ji;15;CGContextText.jt;36335;objj_executeFile("CGAffineTransform.j", YES);objj_executeFile("CPCompatibility.j", YES);objj_executeFile("CGGeometry.j", YES);objj_executeFile("CGPath.j", YES);objj_executeFile("CGContextText.j", YES);{var the_typedef = objj_allocateTypeDef("CGContext");
|
||||
objj_registerTypeDef(the_typedef);
|
||||
}kCGLineCapButt = 0;
|
||||
kCGLineCapRound = 1;
|
||||
@@ -53326,13 +53326,15 @@ CGContextStrokeRoundedRectangleInRect = function(aContext, aRect, aRadius, ne, s
|
||||
}
|
||||
if (CPFeatureIsCompatible(CPHTMLCanvasFeature))
|
||||
{
|
||||
var CANVAS_LINECAP_TABLE = ["butt", "round", "square"],
|
||||
CANVAS_LINEJOIN_TABLE = ["miter", "round", "bevel"],
|
||||
CANVAS_COMPOSITE_TABLE = ["source-over", "source-over", "source-over", "source-over", "darker", "lighter", "source-over", "source-over", "source-over", "source-over", "source-over", "source-over", "source-over", "source-over", "source-over", "source-over", "source-over", "copy", "source-in", "source-out", "source-atop", "destination-over", "destination-in", "destination-out", "destination-atop", "xor", "source-over", "source-over"];
|
||||
var hasPath = function(aContext, methodName)
|
||||
const CANVAS_LINECAP_TABLE = ["butt", "round", "square"];
|
||||
const CANVAS_LINEJOIN_TABLE = ["miter", "round", "bevel"];
|
||||
const CANVAS_COMPOSITE_TABLE = ["source-over", "source-over", "source-over", "source-over", "darker", "lighter", "source-over", "source-over", "source-over", "source-over", "source-over", "source-over", "source-over", "source-over", "source-over", "source-over", "source-over", "copy", "source-in", "source-out", "source-atop", "destination-over", "destination-in", "destination-out", "destination-atop", "xor", "source-over", "source-over"];
|
||||
const hasPath = function(aContext, methodName)
|
||||
{
|
||||
if (!aContext.hasPath)
|
||||
{
|
||||
CPLog.error(methodName + ": no current point");
|
||||
}
|
||||
return aContext.hasPath;
|
||||
};
|
||||
CGContextSaveGState = function(aContext)
|
||||
@@ -53354,16 +53356,6 @@ if (CPFeatureIsCompatible(CPHTMLCanvasFeature))
|
||||
aContext.setLineDash(someDashes);
|
||||
aContext.lineDashOffset = aPhase;
|
||||
}
|
||||
else if (typeof aContext['webkitLineDash'] !== 'undefined')
|
||||
{
|
||||
aContext.webkitLineDash = someDashes;
|
||||
aContext.webkitLineDashOffset = aPhase;
|
||||
}
|
||||
else if (typeof aContext['mozDash'] !== 'undefined')
|
||||
{
|
||||
aContext.mozDash = someDashes;
|
||||
aContext.mozDashOffset = aPhase;
|
||||
}
|
||||
else if (someDashes)
|
||||
{
|
||||
CPLog.warn("CGContextSetLineDash not implemented in this environment.");
|
||||
@@ -53393,45 +53385,60 @@ if (CPFeatureIsCompatible(CPHTMLCanvasFeature))
|
||||
CGContextAddArcToPoint = function(aContext, x1, y1, x2, y2, radius)
|
||||
{
|
||||
if (!hasPath(aContext, "CGContextAddArcToPoint"))
|
||||
{
|
||||
return;
|
||||
}
|
||||
aContext.arcTo(x1, y1, x2, y2, radius);
|
||||
}
|
||||
CGContextAddCurveToPoint = function(aContext, cp1x, cp1y, cp2x, cp2y, x, y)
|
||||
{
|
||||
if (!hasPath(aContext, "CGContextAddCurveToPoint"))
|
||||
{
|
||||
return;
|
||||
}
|
||||
aContext.bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y);
|
||||
}
|
||||
CGContextAddLines = function(aContext, points, count)
|
||||
{
|
||||
if (count == null)
|
||||
{
|
||||
count = points.length;
|
||||
}
|
||||
if (count < 1)
|
||||
{
|
||||
return;
|
||||
}
|
||||
aContext.moveTo(points[0].x, points[0].y);
|
||||
for (var i = 1; i < count; ++i)
|
||||
for (let i = 1; i < count; ++i)
|
||||
{
|
||||
aContext.lineTo(points[i].x, points[i].y);
|
||||
}
|
||||
aContext.hasPath = YES;
|
||||
}
|
||||
CGContextAddLineToPoint = function(aContext, x, y)
|
||||
{
|
||||
if (!hasPath(aContext, "CGContextAddLineToPoint"))
|
||||
{
|
||||
return;
|
||||
}
|
||||
aContext.lineTo(x, y);
|
||||
}
|
||||
CGContextAddPath = function(aContext, aPath)
|
||||
{
|
||||
if (!aContext || CGPathIsEmpty(aPath))
|
||||
return;
|
||||
if (!aContext.hasPath)
|
||||
aContext.beginPath();
|
||||
aContext.moveTo(aPath.start.x, aPath.start.y);
|
||||
var elements = aPath.elements,
|
||||
i = 0,
|
||||
count = aPath.count;
|
||||
for (; i < count; ++i)
|
||||
{
|
||||
var element = elements[i],
|
||||
return;
|
||||
}
|
||||
if (!aContext.hasPath)
|
||||
{
|
||||
aContext.beginPath();
|
||||
}
|
||||
aContext.moveTo(aPath.start.x, aPath.start.y);
|
||||
const elements = aPath.elements,
|
||||
count = aPath.count;
|
||||
for (let i = 0; i < count; ++i)
|
||||
{
|
||||
const element = elements[i],
|
||||
type = element.type;
|
||||
switch(type) {
|
||||
case kCGPathElementMoveToPoint:
|
||||
@@ -53467,16 +53474,20 @@ if (CPFeatureIsCompatible(CPHTMLCanvasFeature))
|
||||
CGContextAddQuadCurveToPoint = function(aContext, cpx, cpy, x, y)
|
||||
{
|
||||
if (!hasPath(aContext, "CGContextAddQuadCurveToPoint"))
|
||||
{
|
||||
return;
|
||||
}
|
||||
aContext.quadraticCurveTo(cpx, cpy, x, y);
|
||||
}
|
||||
CGContextAddRects = function(aContext, rects, count)
|
||||
{
|
||||
if (count == null)
|
||||
count = rects.length;
|
||||
for (var i = 0; i < count; ++i)
|
||||
{
|
||||
var rect = rects[i];
|
||||
count = rects.length;
|
||||
}
|
||||
for (let i = 0; i < count; ++i)
|
||||
{
|
||||
const rect = rects[i];
|
||||
aContext.rect(CGRectGetMinX(rect), CGRectGetMinY(rect), CGRectGetWidth(rect), CGRectGetHeight(rect));
|
||||
}
|
||||
aContext.hasPath = YES;
|
||||
@@ -53507,13 +53518,21 @@ if (CPFeatureIsCompatible(CPHTMLCanvasFeature))
|
||||
CGContextDrawPath = function(aContext, aMode)
|
||||
{
|
||||
if (!aContext.hasPath)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (aMode === kCGPathFill || aMode === kCGPathFillStroke)
|
||||
{
|
||||
aContext.fill();
|
||||
}
|
||||
else if (aMode === kCGPathStroke || aMode === kCGPathFillStroke || aMode === kCGPathEOFillStroke)
|
||||
{
|
||||
aContext.stroke();
|
||||
}
|
||||
else if (aMode === kCGPathEOFill || aMode === kCGPathEOFillStroke)
|
||||
{
|
||||
CPLog.warn("Unimplemented fill mode in CGContextDrawPath: %d", aMode);
|
||||
}
|
||||
aContext.hasPath = NO;
|
||||
}
|
||||
CGContextFillRect = function(aContext, aRect)
|
||||
@@ -53524,10 +53543,12 @@ if (CPFeatureIsCompatible(CPHTMLCanvasFeature))
|
||||
CGContextFillRects = function(aContext, rects, count)
|
||||
{
|
||||
if (count == null)
|
||||
count = rects.length;
|
||||
for (var i = 0; i < count; ++i)
|
||||
{
|
||||
var rect = rects[i];
|
||||
count = rects.length;
|
||||
}
|
||||
for (let i = 0; i < count; ++i)
|
||||
{
|
||||
const rect = rects[i];
|
||||
aContext.fillRect(CGRectGetMinX(rect), CGRectGetMinY(rect), CGRectGetWidth(rect), CGRectGetHeight(rect));
|
||||
}
|
||||
aContext.hasPath = NO;
|
||||
@@ -53553,7 +53574,9 @@ if (CPFeatureIsCompatible(CPHTMLCanvasFeature))
|
||||
CGContextClipToRects = function(aContext, rects, count)
|
||||
{
|
||||
if (count == null)
|
||||
{
|
||||
count = rects.length;
|
||||
}
|
||||
aContext.beginPath();
|
||||
CGContextAddRects(aContext, rects, count);
|
||||
aContext.clip();
|
||||
@@ -53565,42 +53588,46 @@ if (CPFeatureIsCompatible(CPHTMLCanvasFeature))
|
||||
}
|
||||
CGContextSetFillColor = function(aContext, aColor)
|
||||
{
|
||||
var patternImage = (aColor == null ? aColor : (aColor.isa.method_msgSend["patternImage"] || _objj_forward)(aColor, "patternImage"));
|
||||
const patternImage = (aColor == null ? aColor : (aColor.isa.method_msgSend["patternImage"] || _objj_forward)(aColor, "patternImage"));
|
||||
if ((patternImage == null ? patternImage : (patternImage.isa.method_msgSend["isSingleImage"] || _objj_forward)(patternImage, "isSingleImage")))
|
||||
{
|
||||
var pattern = aContext.createPattern((patternImage == null ? patternImage : (patternImage.isa.method_msgSend["image"] || _objj_forward)(patternImage, "image")), "repeat");
|
||||
const pattern = aContext.createPattern((patternImage == null ? patternImage : (patternImage.isa.method_msgSend["image"] || _objj_forward)(patternImage, "image")), "repeat");
|
||||
aContext.fillStyle = pattern;
|
||||
}
|
||||
else
|
||||
{
|
||||
aContext.fillStyle = (aColor == null ? aColor : (aColor.isa.method_msgSend["cssString"] || _objj_forward)(aColor, "cssString"));
|
||||
}
|
||||
}
|
||||
CGContextCreatePatternContext = function(aContext, aSize)
|
||||
{
|
||||
var pattern = document.createElement("canvas");
|
||||
const pattern = document.createElement("canvas");
|
||||
pattern.width = aSize.width;
|
||||
pattern.height = aSize.height;
|
||||
return pattern.getContext("2d");
|
||||
}
|
||||
CGContextSetFillPattern = function(aContext, aPatternContext)
|
||||
{
|
||||
var pattern = aContext.createPattern(aPatternContext.canvas, "repeat");
|
||||
const pattern = aContext.createPattern(aPatternContext.canvas, "repeat");
|
||||
aContext.fillStyle = pattern;
|
||||
}
|
||||
CGContextSetStrokePattern = function(aContext, aPatternContext)
|
||||
{
|
||||
var pattern = aContext.createPattern(aPatternContext.canvas, "repeat");
|
||||
const pattern = aContext.createPattern(aPatternContext.canvas, "repeat");
|
||||
aContext.strokeStyle = pattern;
|
||||
}
|
||||
CGContextSetStrokeColor = function(aContext, aColor)
|
||||
{
|
||||
var patternImage = (aColor == null ? aColor : (aColor.isa.method_msgSend["patternImage"] || _objj_forward)(aColor, "patternImage"));
|
||||
const patternImage = (aColor == null ? aColor : (aColor.isa.method_msgSend["patternImage"] || _objj_forward)(aColor, "patternImage"));
|
||||
if ((patternImage == null ? patternImage : (patternImage.isa.method_msgSend["isSingleImage"] || _objj_forward)(patternImage, "isSingleImage")))
|
||||
{
|
||||
var pattern = aContext.createPattern((patternImage == null ? patternImage : (patternImage.isa.method_msgSend["image"] || _objj_forward)(patternImage, "image")), "repeat");
|
||||
const pattern = aContext.createPattern((patternImage == null ? patternImage : (patternImage.isa.method_msgSend["image"] || _objj_forward)(patternImage, "image")), "repeat");
|
||||
aContext.strokeStyle = pattern;
|
||||
}
|
||||
else
|
||||
{
|
||||
aContext.strokeStyle = (aColor == null ? aColor : (aColor.isa.method_msgSend["cssString"] || _objj_forward)(aColor, "cssString"));
|
||||
}
|
||||
}
|
||||
CGContextSetShadow = function(aContext, aSize, aBlur)
|
||||
{
|
||||
@@ -53629,124 +53656,9 @@ if (CPFeatureIsCompatible(CPHTMLCanvasFeature))
|
||||
{
|
||||
aContext.translate(tx, ty);
|
||||
}
|
||||
var scale_rotate = function(a, b, c, d)
|
||||
CGContextConcatCTM = function(aContext, anAffineTransform)
|
||||
{
|
||||
var sign = a * d < 0.0 || b * c > 0.0 ? -1.0 : 1.0,
|
||||
a2 = (ATAN2(b, d) + ATAN2(-sign * c, sign * a)) / 2.0,
|
||||
cos = COS(a2),
|
||||
sin = SIN(a2);
|
||||
if (cos === 0)
|
||||
{
|
||||
sx = -c / sin;
|
||||
sy = b / sin;
|
||||
}
|
||||
else if (sin === 0)
|
||||
{
|
||||
sx = a / cos;
|
||||
sy = d / cos;
|
||||
}
|
||||
else
|
||||
{
|
||||
abs_cos = ABS(cos);
|
||||
abs_sin = ABS(sin);
|
||||
sx = (abs_cos * a / cos + abs_sin * -c / sin) / (abs_cos + abs_sin);
|
||||
sy = (abs_cos * d / cos + abs_sin * b / sin) / (abs_cos + abs_sin);
|
||||
}
|
||||
};
|
||||
var rotate_scale = function(a, b, c, d)
|
||||
{
|
||||
var sign = a * d < 0.0 || b * c > 0.0 ? -1.0 : 1.0,
|
||||
a1 = (ATAN2(sign * b, sign * a) + ATAN2(-c, d)) / 2.0,
|
||||
cos = COS(a1),
|
||||
sin = SIN(a1);
|
||||
if (cos === 0)
|
||||
{
|
||||
sx = b / sin;
|
||||
sy = -c / sin;
|
||||
}
|
||||
else if (sin === 0)
|
||||
{
|
||||
sx = a / cos;
|
||||
sy = d / cos;
|
||||
}
|
||||
else
|
||||
{
|
||||
abs_cos = ABS(cos);
|
||||
abs_sin = ABS(sin);
|
||||
sx = (abs_cos * a / cos + abs_sin * b / sin) / (abs_cos + abs_sin);
|
||||
sy = (abs_cos * d / cos + abs_sin * -c / sin) / (abs_cos + abs_sin);
|
||||
}
|
||||
};
|
||||
eigen = function(anAffineTransform)
|
||||
{
|
||||
CPLog.warn("Unimplemented function: eigen");
|
||||
}
|
||||
if (CPFeatureIsCompatible(CPJavaScriptCanvasTransformFeature))
|
||||
{
|
||||
CGContextConcatCTM = function(aContext, anAffineTransform)
|
||||
{
|
||||
aContext.transform(anAffineTransform.a, anAffineTransform.b, anAffineTransform.c, anAffineTransform.d, anAffineTransform.tx, anAffineTransform.ty);
|
||||
};
|
||||
}
|
||||
else
|
||||
{
|
||||
CGContextConcatCTM = function(aContext, anAffineTransform)
|
||||
{
|
||||
var a = anAffineTransform.a,
|
||||
b = anAffineTransform.b,
|
||||
c = anAffineTransform.c,
|
||||
d = anAffineTransform.d,
|
||||
tx = anAffineTransform.tx,
|
||||
ty = anAffineTransform.ty,
|
||||
sx = 1.0,
|
||||
sy = 1.0,
|
||||
a1 = 0.0,
|
||||
a2 = 0.0;
|
||||
if (b === 0.0 && c === 0.0)
|
||||
{
|
||||
sx = a;
|
||||
sy = d;
|
||||
}
|
||||
else if (a * b === -c * d)
|
||||
{
|
||||
scale_rotate(a, b, c, d);
|
||||
}
|
||||
else if (a * c === -b * d)
|
||||
{
|
||||
rotate_scale(a, b, c, d);
|
||||
}
|
||||
else
|
||||
{
|
||||
var transpose = CGAffineTransformMake(a, c, b, d, 0.0, 0.0),
|
||||
u = eigen(CGAffineTransformConcat(anAffineTransform, transpose)),
|
||||
v = eigen(CGAffineTransformConcat(transpose, anAffineTransform)),
|
||||
U = CGAffineTransformMake(u.vector_1.x, u.vector_2.x, u.vector_1.y, u.vector_2.y, 0.0, 0.0),
|
||||
VT = CGAffineTransformMake(v.vector_1.x, v.vector_1.y, v.vector_2.x, v.vector_2.y, 0.0, 0.0),
|
||||
S = CGAffineTransformConcat(CGAffineTransformConcat(CGAffineTransformInvert(U), anAffineTransform), CGAffineTransformInvert(VT));
|
||||
a = VT.a;
|
||||
b = VT.b;
|
||||
c = VT.c;
|
||||
d = VT.d;
|
||||
scale_rotate(a, b, c, d);
|
||||
S.a *= sx;
|
||||
S.d *= sy;
|
||||
a = U.a;
|
||||
b = U.b;
|
||||
c = U.c;
|
||||
d = U.d;
|
||||
rotate_scale(a, b, c, d);
|
||||
sx = S.a * sx;
|
||||
sy = S.d * sy;
|
||||
}
|
||||
if (tx != 0 || ty != 0)
|
||||
CGContextTranslateCTM(aContext, tx, ty);
|
||||
if (a1 != 0.0)
|
||||
CGContextRotateCTM(aContext, a1);
|
||||
if (sx != 1.0 || sy != 1.0)
|
||||
CGContextScaleCTM(aContext, sx, sy);
|
||||
if (a2 != 0.0)
|
||||
CGContextRotateCTM(aContext, a2);
|
||||
};
|
||||
aContext.transform(anAffineTransform.a, anAffineTransform.b, anAffineTransform.c, anAffineTransform.d, anAffineTransform.tx, anAffineTransform.ty);
|
||||
}
|
||||
CGContextDrawImage = function(aContext, aRect, anImage)
|
||||
{
|
||||
@@ -53755,34 +53667,38 @@ if (CPFeatureIsCompatible(CPHTMLCanvasFeature))
|
||||
}
|
||||
to_string = function(aColor)
|
||||
{
|
||||
return "rgba(" + ROUND(aColor.components[0] * 255) + ", " + ROUND(aColor.components[1] * 255) + ", " + ROUND(255 * aColor.components[2]) + ", " + aColor.components[3] + ")";
|
||||
return "rgba(" + Math.round(aColor.components[0] * 255) + ", " + Math.round(aColor.components[1] * 255) + ", " + Math.round(255 * aColor.components[2]) + ", " + aColor.components[3] + ")";
|
||||
}
|
||||
CGContextDrawLinearGradient = function(aContext, aGradient, aStartPoint, anEndPoint, options)
|
||||
{
|
||||
var colors = aGradient.colors,
|
||||
count = colors.length,
|
||||
linearGradient = aContext.createLinearGradient(aStartPoint.x, aStartPoint.y, anEndPoint.x, anEndPoint.y);
|
||||
const colors = aGradient.colors;
|
||||
const linearGradient = aContext.createLinearGradient(aStartPoint.x, aStartPoint.y, anEndPoint.x, anEndPoint.y);
|
||||
let count = colors.length;
|
||||
while (count--)
|
||||
{
|
||||
linearGradient.addColorStop(aGradient.locations[count], to_string(colors[count]));
|
||||
}
|
||||
aContext.fillStyle = linearGradient;
|
||||
aContext.fill();
|
||||
aContext.hasPath = NO;
|
||||
}
|
||||
CGContextDrawRadialGradient = function(aContext, aGradient, aStartCenter, aStartRadius, anEndCenter, anEndRadius, options)
|
||||
{
|
||||
var colors = aGradient.colors,
|
||||
count = colors.length,
|
||||
linearGradient = aContext.createRadialGradient(aStartCenter.x, aStartCenter.y, aStartRadius, anEndCenter.x, anEndCenter.y, anEndRadius);
|
||||
const colors = aGradient.colors;
|
||||
const linearGradient = aContext.createRadialGradient(aStartCenter.x, aStartCenter.y, aStartRadius, anEndCenter.x, anEndCenter.y, anEndRadius);
|
||||
let count = colors.length;
|
||||
while (count--)
|
||||
{
|
||||
linearGradient.addColorStop(aGradient.locations[count], to_string(colors[count]));
|
||||
}
|
||||
aContext.fillStyle = linearGradient;
|
||||
aContext.fill();
|
||||
aContext.hasPath = NO;
|
||||
}
|
||||
CGBitmapGraphicsContextCreate = function()
|
||||
{
|
||||
var DOMElement = document.createElement("canvas"),
|
||||
context = DOMElement.getContext("2d");
|
||||
const DOMElement = document.createElement("canvas");
|
||||
const context = DOMElement.getContext("2d");
|
||||
context.DOMElement = DOMElement;
|
||||
context.hasPath = NO;
|
||||
return context;
|
||||
|
||||
+148
-148
@@ -1,148 +1,148 @@
|
||||
1787817683598|ArrayController1|
|
||||
1787817683612|ArrayControllerInitialSelectionTest|
|
||||
1787817683626|ArrayControllerRemovingFirstTest|
|
||||
1787817683639|AttachedSheet|
|
||||
1787817683652|AttachedSheet2|
|
||||
1787817683666|Bindings|
|
||||
1787817683679|CGCanvasContext|
|
||||
1787817683692|CGPath|
|
||||
1787817683706|CPAlertTest|
|
||||
1787817683719|CPAnimatablePropertyContainerTest|
|
||||
1787817683732|CPAnimationContextTest|
|
||||
1787817683746|CPAnimationTest|
|
||||
1787817683759|CPBinder-echo-bug|
|
||||
1787817683772|CPBoxCibTest|
|
||||
1787817683786|CPBoxTest|
|
||||
1787817683799|CPBrowserTest|
|
||||
1787817683813|CPButtonBarTest|
|
||||
1787817683826|CPButtonKeyEquivalentDefaultTest|
|
||||
1787817683839|CPButtonTest|
|
||||
1787817683852|CPByteCountFormatter|
|
||||
1787817683866|CPCollectionViewNibTest|
|
||||
1787817683879|CPColor-CPImage-description|
|
||||
1787817683893|CPColorWellBindings|
|
||||
1787817683906|CPComboBoxTest|
|
||||
1787817683919|CPControlPerformClickExceptionTest|
|
||||
1787817683933|CPControlSize|
|
||||
1787817683946|CPCursor|
|
||||
1787817683959|CPDateFormatterTest|
|
||||
1787817683973|CPDatePickerTest|
|
||||
1787817683986|CPDictionaryControllerTest|
|
||||
1787817684000|CPDocumentControllerTest|
|
||||
1787817684013|CPFormatterTest|
|
||||
1787817684026|CPGraphicsTest|
|
||||
1787817684040|CPImageAndTextViewImageScaling|
|
||||
1787817684053|CPImageViewAlignmentScaling|
|
||||
1787817684067|CPImageViewTest|
|
||||
1787817684080|CPImageViewbindingsTest|
|
||||
1787817684093|CPLanguageModelChatbot|
|
||||
1787817684107|CPLevelIndicator|
|
||||
1787817684120|CPLocalizationTest|
|
||||
1787817684133|CPLogTest|
|
||||
1787817684147|CPMarkdownParser|
|
||||
1787817684161|CPMenuCALayerTest|
|
||||
1787817684174|CPMenuEnabledBindingsTest|
|
||||
1787817684188|CPMenuKeyEquivalents|
|
||||
1787817684201|CPMenuRemoveAllTest|
|
||||
1787817684214|CPMenuSubmenuPlacementConstraints|
|
||||
1787817684227|CPMenuTest|
|
||||
1787817684241|CPOutlineViewCibTest|
|
||||
1787817684254|CPOutlineViewTest|
|
||||
1787817684268|CPOutlineViewViewBasedCibTest|
|
||||
1787817684282|CPPanelTest|
|
||||
1787817684295|CPPlatformWindow|
|
||||
1787817684309|CPPlattformWindowMinSize|
|
||||
1787817684322|CPPopUpButtonBindings|
|
||||
1787817684336|CPPopUpButtonTest|
|
||||
1787817684349|CPPopover|
|
||||
1787817684363|CPPredicateEditorCibTest|
|
||||
1787817684376|CPProgressIndicator|
|
||||
1787817684390|CPPropertyListSerializationTest|
|
||||
1787817684403|CPRadioBindings|
|
||||
1787817684416|CPRuleEditorCibTest|
|
||||
1787817684430|CPRuleEditorTestI8N|
|
||||
1787817684443|CPScrollView|
|
||||
1787817684457|CPScrollView2|
|
||||
1787817684470|CPSearchField|
|
||||
1787817684483|CPSearchFieldPredicateBinding|
|
||||
1787817684497|CPSegmentedControlBindings|
|
||||
1787817684510|CPSegmentedControlTest|
|
||||
1787817684524|CPSoundTest|
|
||||
1787817684537|CPSplitViewDivider|
|
||||
1787817684551|CPSplitViewTest|
|
||||
1787817684564|CPStackViewTest|
|
||||
1787817684578|CPStepperBindings|
|
||||
1787817684591|CPStepperNibTest|
|
||||
1787817684605|CPTabView2|
|
||||
1787817684618|CPTabViewBindings|
|
||||
1787817684632|CPTabViewNib|
|
||||
1787817684645|CPTableViewGroupRows|
|
||||
1787817684659|CPTextField|
|
||||
1787817684672|CPTextFieldEditingStyleTest|
|
||||
1787817684686|CPTextFieldHeightTest|
|
||||
1787817684699|CPTextFieldMovementsTest|
|
||||
1787817684712|CPTextFieldMultiline|
|
||||
1787817684726|CPTextView|
|
||||
1787817684739|CPTextViewCibTest|
|
||||
1787817684753|CPTextViewDelegateAndNotifications|
|
||||
1787817684766|CPTimeZone|
|
||||
1787817684780|CPTokenFieldTest|
|
||||
1787817684793|CPToolTip|
|
||||
1787817684807|CPToolbarTest|
|
||||
1787817684820|CPTreeControllerTest|
|
||||
1787817684834|CPURLConnectionAsyncTest|
|
||||
1787817684847|CPURLConnectionSynchronousTest|
|
||||
1787817684860|CPUserDefaults|
|
||||
1787817684874|CPUserDefaultsControllerTest|
|
||||
1787817684887|CPUserNotificationTest|
|
||||
1787817684901|CPViewController|
|
||||
1787817684915|CPVisualEffectViewTest|
|
||||
1787817684928|CPWebViewTest|
|
||||
1787817684941|CPWebViewTest2|
|
||||
1787817684955|CPWindowLiveResizeTest|
|
||||
1787817684968|CPWindowMovableTest|
|
||||
1787817684982|CPWindowResizeStyle|
|
||||
1787817684995|ChildWindows|
|
||||
1787817685009|CompilationTests|
|
||||
1787817685022|ContinuouslyUpdatesValueBinding|
|
||||
1787817685036|CopyAndPaste|
|
||||
1787817685049|CrossOriginTest|
|
||||
1787817685063|FF4096Test|
|
||||
1787817685076|FontEnhancementTest|
|
||||
1787817685090|FontMetricsExplorer|
|
||||
1787817685103|KeyEquivalents|
|
||||
1787817685116|KeyViewLoopTest|
|
||||
1787817685130|KeyWindowInTheBackgroundActivation|
|
||||
1787817685143|LayoutTest|
|
||||
1787817685157|LoadTimeTest|
|
||||
1787817685170|LongBindings|
|
||||
1787817685184|MobileTest|
|
||||
1787817685197|MultipleValueBindings|
|
||||
1787817685210|NSBoxTest|
|
||||
1787817685224|NSBrowserTest|
|
||||
1787817685237|NewTextFieldBezel|
|
||||
1787817685251|Nib2CibAlignment|
|
||||
1787817685265|Nib2CibBaselineAlignementTest|
|
||||
1787817685278|Nib2CibSubviewsOrderTest|
|
||||
1787817685292|NibAppRemixed|
|
||||
1787817685305|PatternFillTest|
|
||||
1787817685319|PlatformWindows|
|
||||
1787817685332|PopUpButtonEscTest|
|
||||
1787817685346|ScalingTest|
|
||||
1787817685359|ScalingTest2|
|
||||
1787817685373|ScrollviewTheming|
|
||||
1787817685387|SheetWindowOrderFrontIssue|
|
||||
1787817685400|SimpleBindings2|
|
||||
1787817685414|SmartFoldersDemo|
|
||||
1787817685427|TableTest|
|
||||
1787817685440|ThemeBrowser|
|
||||
1787817685454|ThemeKitchenSink|
|
||||
1787817685467|TrackingArea|
|
||||
1787817685481|UndoRedoWithMenuUpdate|
|
||||
1787817685494|UserlandNSTest|
|
||||
1787817685508|layoutEphemeralSubviewTest|
|
||||
1787817685521|loadDynamicFrameworks|
|
||||
1787817685534|performKeyEquivalentTest|
|
||||
1787817685548|predicateWithFormat|
|
||||
1787817685561|resignFirstResponder-CPControlTextDidEndEditing|
|
||||
1787817685575|sizeToFitFix|
|
||||
1787818036101|ArrayController1|
|
||||
1787818036113|ArrayControllerInitialSelectionTest|
|
||||
1787818036125|ArrayControllerRemovingFirstTest|
|
||||
1787818036138|AttachedSheet|
|
||||
1787818036150|AttachedSheet2|
|
||||
1787818036162|Bindings|
|
||||
1787818036174|CGCanvasContext|
|
||||
1787818036186|CGPath|
|
||||
1787818036198|CPAlertTest|
|
||||
1787818036210|CPAnimatablePropertyContainerTest|
|
||||
1787818036222|CPAnimationContextTest|
|
||||
1787818036234|CPAnimationTest|
|
||||
1787818036246|CPBinder-echo-bug|
|
||||
1787818036259|CPBoxCibTest|
|
||||
1787818036271|CPBoxTest|
|
||||
1787818036283|CPBrowserTest|
|
||||
1787818036295|CPButtonBarTest|
|
||||
1787818036307|CPButtonKeyEquivalentDefaultTest|
|
||||
1787818036320|CPButtonTest|
|
||||
1787818036332|CPByteCountFormatter|
|
||||
1787818036344|CPCollectionViewNibTest|
|
||||
1787818036357|CPColor-CPImage-description|
|
||||
1787818036369|CPColorWellBindings|
|
||||
1787818036381|CPComboBoxTest|
|
||||
1787818036393|CPControlPerformClickExceptionTest|
|
||||
1787818036405|CPControlSize|
|
||||
1787818036418|CPCursor|
|
||||
1787818036430|CPDateFormatterTest|
|
||||
1787818036442|CPDatePickerTest|
|
||||
1787818036454|CPDictionaryControllerTest|
|
||||
1787818036467|CPDocumentControllerTest|
|
||||
1787818036479|CPFormatterTest|
|
||||
1787818036491|CPGraphicsTest|
|
||||
1787818036503|CPImageAndTextViewImageScaling|
|
||||
1787818036516|CPImageViewAlignmentScaling|
|
||||
1787818036528|CPImageViewTest|
|
||||
1787818036540|CPImageViewbindingsTest|
|
||||
1787818036552|CPLanguageModelChatbot|
|
||||
1787818036565|CPLevelIndicator|
|
||||
1787818036577|CPLocalizationTest|
|
||||
1787818036589|CPLogTest|
|
||||
1787818036602|CPMarkdownParser|
|
||||
1787818036614|CPMenuCALayerTest|
|
||||
1787818036626|CPMenuEnabledBindingsTest|
|
||||
1787818036639|CPMenuKeyEquivalents|
|
||||
1787818036651|CPMenuRemoveAllTest|
|
||||
1787818036663|CPMenuSubmenuPlacementConstraints|
|
||||
1787818036675|CPMenuTest|
|
||||
1787818036688|CPOutlineViewCibTest|
|
||||
1787818036700|CPOutlineViewTest|
|
||||
1787818036712|CPOutlineViewViewBasedCibTest|
|
||||
1787818036724|CPPanelTest|
|
||||
1787818036737|CPPlatformWindow|
|
||||
1787818036749|CPPlattformWindowMinSize|
|
||||
1787818036761|CPPopUpButtonBindings|
|
||||
1787818036773|CPPopUpButtonTest|
|
||||
1787818036786|CPPopover|
|
||||
1787818036798|CPPredicateEditorCibTest|
|
||||
1787818036810|CPProgressIndicator|
|
||||
1787818036822|CPPropertyListSerializationTest|
|
||||
1787818036835|CPRadioBindings|
|
||||
1787818036847|CPRuleEditorCibTest|
|
||||
1787818036859|CPRuleEditorTestI8N|
|
||||
1787818036871|CPScrollView|
|
||||
1787818036884|CPScrollView2|
|
||||
1787818036896|CPSearchField|
|
||||
1787818036908|CPSearchFieldPredicateBinding|
|
||||
1787818036920|CPSegmentedControlBindings|
|
||||
1787818036933|CPSegmentedControlTest|
|
||||
1787818036945|CPSoundTest|
|
||||
1787818036957|CPSplitViewDivider|
|
||||
1787818036969|CPSplitViewTest|
|
||||
1787818036982|CPStackViewTest|
|
||||
1787818036994|CPStepperBindings|
|
||||
1787818037006|CPStepperNibTest|
|
||||
1787818037018|CPTabView2|
|
||||
1787818037031|CPTabViewBindings|
|
||||
1787818037043|CPTabViewNib|
|
||||
1787818037055|CPTableViewGroupRows|
|
||||
1787818037067|CPTextField|
|
||||
1787818037080|CPTextFieldEditingStyleTest|
|
||||
1787818037092|CPTextFieldHeightTest|
|
||||
1787818037104|CPTextFieldMovementsTest|
|
||||
1787818037116|CPTextFieldMultiline|
|
||||
1787818037129|CPTextView|
|
||||
1787818037141|CPTextViewCibTest|
|
||||
1787818037153|CPTextViewDelegateAndNotifications|
|
||||
1787818037165|CPTimeZone|
|
||||
1787818037178|CPTokenFieldTest|
|
||||
1787818037190|CPToolTip|
|
||||
1787818037202|CPToolbarTest|
|
||||
1787818037214|CPTreeControllerTest|
|
||||
1787818037226|CPURLConnectionAsyncTest|
|
||||
1787818037239|CPURLConnectionSynchronousTest|
|
||||
1787818037251|CPUserDefaults|
|
||||
1787818037263|CPUserDefaultsControllerTest|
|
||||
1787818037275|CPUserNotificationTest|
|
||||
1787818037288|CPViewController|
|
||||
1787818037300|CPVisualEffectViewTest|
|
||||
1787818037312|CPWebViewTest|
|
||||
1787818037325|CPWebViewTest2|
|
||||
1787818037337|CPWindowLiveResizeTest|
|
||||
1787818037349|CPWindowMovableTest|
|
||||
1787818037362|CPWindowResizeStyle|
|
||||
1787818037374|ChildWindows|
|
||||
1787818037386|CompilationTests|
|
||||
1787818037399|ContinuouslyUpdatesValueBinding|
|
||||
1787818037411|CopyAndPaste|
|
||||
1787818037423|CrossOriginTest|
|
||||
1787818037435|FF4096Test|
|
||||
1787818037448|FontEnhancementTest|
|
||||
1787818037460|FontMetricsExplorer|
|
||||
1787818037472|KeyEquivalents|
|
||||
1787818037485|KeyViewLoopTest|
|
||||
1787818037497|KeyWindowInTheBackgroundActivation|
|
||||
1787818037509|LayoutTest|
|
||||
1787818037521|LoadTimeTest|
|
||||
1787818037534|LongBindings|
|
||||
1787818037546|MobileTest|
|
||||
1787818037558|MultipleValueBindings|
|
||||
1787818037571|NSBoxTest|
|
||||
1787818037583|NSBrowserTest|
|
||||
1787818037595|NewTextFieldBezel|
|
||||
1787818037607|Nib2CibAlignment|
|
||||
1787818037620|Nib2CibBaselineAlignementTest|
|
||||
1787818037632|Nib2CibSubviewsOrderTest|
|
||||
1787818037644|NibAppRemixed|
|
||||
1787818037656|PatternFillTest|
|
||||
1787818037668|PlatformWindows|
|
||||
1787818037680|PopUpButtonEscTest|
|
||||
1787818037693|ScalingTest|
|
||||
1787818037705|ScalingTest2|
|
||||
1787818037717|ScrollviewTheming|
|
||||
1787818037729|SheetWindowOrderFrontIssue|
|
||||
1787818037741|SimpleBindings2|
|
||||
1787818037753|SmartFoldersDemo|
|
||||
1787818037765|TableTest|
|
||||
1787818037778|ThemeBrowser|
|
||||
1787818037790|ThemeKitchenSink|
|
||||
1787818037802|TrackingArea|
|
||||
1787818037815|UndoRedoWithMenuUpdate|
|
||||
1787818037827|UserlandNSTest|
|
||||
1787818037839|layoutEphemeralSubviewTest|
|
||||
1787818037851|loadDynamicFrameworks|
|
||||
1787818037864|performKeyEquivalentTest|
|
||||
1787818037876|predicateWithFormat|
|
||||
1787818037888|resignFirstResponder-CPControlTextDidEndEditing|
|
||||
1787818037900|sizeToFitFix|
|
||||
|
||||
Reference in New Issue
Block a user