Fixed bug with linear gradient when drawing it without CPGradient

This commit is contained in:
Alexandre Wilhelm
2013-05-20 19:07:39 -07:00
parent 5e0793c2ac
commit de4e28b5cc
2 changed files with 5 additions and 3 deletions
+4
View File
@@ -70,6 +70,10 @@ CPGradientDrawsAfterEndingLocation = kCGGradientDrawsAfterEndLocation;
{
if (self = [super init])
{
// We reverse the location because we reverse the colors in CGContextDrawLinearGradient
// This is needed to get the same behavior as Cocoa when drawing a CGContextDrawLinearGradient without the object CPGradient
someLocations.reverse();
var cgColors = [],
count = [someColors count],
colorSpace = [aColorSpace CGColorSpace] || CGColorSpaceCreateDeviceRGB;
+1 -3
View File
@@ -594,9 +594,8 @@ function to_string(aColor)
function CGContextDrawLinearGradient(aContext, aGradient, aStartPoint, anEndPoint, options)
{
var colors = aGradient.colors,
var colors = aGradient.colors.slice(0).reverse(),
count = colors.length,
linearGradient = aContext.createLinearGradient(aStartPoint.x, aStartPoint.y, anEndPoint.x, anEndPoint.y);
while (count--)
@@ -611,7 +610,6 @@ function CGContextDrawRadialGradient(aContext, aGradient, aStartCenter, aStartRa
{
var colors = aGradient.colors,
count = colors.length,
linearGradient = aContext.createRadialGradient(aStartCenter.x, aStartCenter.y, aStartRadius, anEndCenter.x, anEndCenter.y, anEndRadius);
while (count--)