CTGradient : remove unused built-in gradients; eliminate some warnings that cropped up because addElement: became private

This commit is contained in:
Mitchell Livingston 2008-05-09 21:12:53 +00:00
parent cc9d22c5df
commit ef4f28f132
2 changed files with 2 additions and 353 deletions

View File

@ -36,21 +36,6 @@ typedef enum _CTBlendingMode
+ (id)gradientWithBeginningColor:(NSColor *)begin endingColor:(NSColor *)end;
+ (id)aquaSelectedGradient;
+ (id)aquaNormalGradient;
+ (id)aquaPressedGradient;
+ (id)unifiedSelectedGradient;
+ (id)unifiedNormalGradient;
+ (id)unifiedPressedGradient;
+ (id)unifiedDarkGradient;
+ (id)sourceListSelectedGradient;
+ (id)sourceListUnselectedGradient;
+ (id)rainbowGradient;
+ (id)hydrogenSpectrumGradient;
- (CTGradient *)gradientWithAlphaComponent:(float)alpha;
- (CTGradient *)addColorStop:(NSColor *)color atPosition:(float)position; //positions given relative to [0,1]
@ -70,4 +55,6 @@ typedef enum _CTBlendingMode
- (void)fillBezierPath:(NSBezierPath *)path angle:(float)angle;
- (void)radialFillBezierPath:(NSBezierPath *)path;
- (void)addElement:(CTGradientElement*)newElement;
@end

View File

@ -13,7 +13,6 @@
@interface CTGradient (Private)
- (void)_commonInit;
- (void)setBlendingMode:(CTGradientBlendingMode)mode;
- (void)addElement:(CTGradientElement*)newElement;
- (CTGradientElement *)elementAtIndex:(unsigned)index;
@ -157,343 +156,6 @@ static void resolveHSV(float *color1, float *color2);
return [newInstance autorelease];
}
+ (id)aquaSelectedGradient
{
id newInstance = [[[self class] alloc] init];
CTGradientElement color1;
color1.red = 0.58;
color1.green = 0.86;
color1.blue = 0.98;
color1.alpha = 1.00;
color1.position = 0;
CTGradientElement color2;
color2.red = 0.42;
color2.green = 0.68;
color2.blue = 0.90;
color2.alpha = 1.00;
color2.position = 11.5/23;
CTGradientElement color3;
color3.red = 0.64;
color3.green = 0.80;
color3.blue = 0.94;
color3.alpha = 1.00;
color3.position = 11.5/23;
CTGradientElement color4;
color4.red = 0.56;
color4.green = 0.70;
color4.blue = 0.90;
color4.alpha = 1.00;
color4.position = 1;
[newInstance addElement:&color1];
[newInstance addElement:&color2];
[newInstance addElement:&color3];
[newInstance addElement:&color4];
return [newInstance autorelease];
}
+ (id)aquaNormalGradient
{
id newInstance = [[[self class] alloc] init];
CTGradientElement color1;
color1.red = color1.green = color1.blue = 0.95;
color1.alpha = 1.00;
color1.position = 0;
CTGradientElement color2;
color2.red = color2.green = color2.blue = 0.83;
color2.alpha = 1.00;
color2.position = 11.5/23;
CTGradientElement color3;
color3.red = color3.green = color3.blue = 0.95;
color3.alpha = 1.00;
color3.position = 11.5/23;
CTGradientElement color4;
color4.red = color4.green = color4.blue = 0.92;
color4.alpha = 1.00;
color4.position = 1;
[newInstance addElement:&color1];
[newInstance addElement:&color2];
[newInstance addElement:&color3];
[newInstance addElement:&color4];
return [newInstance autorelease];
}
+ (id)aquaPressedGradient
{
id newInstance = [[[self class] alloc] init];
CTGradientElement color1;
color1.red = color1.green = color1.blue = 0.80;
color1.alpha = 1.00;
color1.position = 0;
CTGradientElement color2;
color2.red = color2.green = color2.blue = 0.64;
color2.alpha = 1.00;
color2.position = 11.5/23;
CTGradientElement color3;
color3.red = color3.green = color3.blue = 0.80;
color3.alpha = 1.00;
color3.position = 11.5/23;
CTGradientElement color4;
color4.red = color4.green = color4.blue = 0.77;
color4.alpha = 1.00;
color4.position = 1;
[newInstance addElement:&color1];
[newInstance addElement:&color2];
[newInstance addElement:&color3];
[newInstance addElement:&color4];
return [newInstance autorelease];
}
+ (id)unifiedSelectedGradient
{
id newInstance = [[[self class] alloc] init];
CTGradientElement color1;
color1.red = color1.green = color1.blue = 0.85;
color1.alpha = 1.00;
color1.position = 0;
CTGradientElement color2;
color2.red = color2.green = color2.blue = 0.95;
color2.alpha = 1.00;
color2.position = 1;
[newInstance addElement:&color1];
[newInstance addElement:&color2];
return [newInstance autorelease];
}
+ (id)unifiedNormalGradient
{
id newInstance = [[[self class] alloc] init];
CTGradientElement color1;
color1.red = color1.green = color1.blue = 0.75;
color1.alpha = 1.00;
color1.position = 0;
CTGradientElement color2;
color2.red = color2.green = color2.blue = 0.90;
color2.alpha = 1.00;
color2.position = 1;
[newInstance addElement:&color1];
[newInstance addElement:&color2];
return [newInstance autorelease];
}
+ (id)unifiedPressedGradient
{
id newInstance = [[[self class] alloc] init];
CTGradientElement color1;
color1.red = color1.green = color1.blue = 0.60;
color1.alpha = 1.00;
color1.position = 0;
CTGradientElement color2;
color2.red = color2.green = color2.blue = 0.75;
color2.alpha = 1.00;
color2.position = 1;
[newInstance addElement:&color1];
[newInstance addElement:&color2];
return [newInstance autorelease];
}
+ (id)unifiedDarkGradient
{
id newInstance = [[[self class] alloc] init];
CTGradientElement color1;
color1.red = color1.green = color1.blue = 0.68;
color1.alpha = 1.00;
color1.position = 0;
CTGradientElement color2;
color2.red = color2.green = color2.blue = 0.83;
color2.alpha = 1.00;
color2.position = 1;
[newInstance addElement:&color1];
[newInstance addElement:&color2];
return [newInstance autorelease];
}
+ (id)sourceListSelectedGradient
{
id newInstance = [[[self class] alloc] init];
CTGradientElement color1;
color1.red = 0.06;
color1.green = 0.37;
color1.blue = 0.85;
color1.alpha = 1.00;
color1.position = 0;
CTGradientElement color2;
color2.red = 0.30;
color2.green = 0.60;
color2.blue = 0.92;
color2.alpha = 1.00;
color2.position = 1;
[newInstance addElement:&color1];
[newInstance addElement:&color2];
return [newInstance autorelease];
}
+ (id)sourceListUnselectedGradient
{
id newInstance = [[[self class] alloc] init];
CTGradientElement color1;
color1.red = 0.43;
color1.green = 0.43;
color1.blue = 0.43;
color1.alpha = 1.00;
color1.position = 0;
CTGradientElement color2;
color2.red = 0.60;
color2.green = 0.60;
color2.blue = 0.60;
color2.alpha = 1.00;
color2.position = 1;
[newInstance addElement:&color1];
[newInstance addElement:&color2];
return [newInstance autorelease];
}
+ (id)rainbowGradient
{
id newInstance = [[[self class] alloc] init];
CTGradientElement color1;
color1.red = 1.00;
color1.green = 0.00;
color1.blue = 0.00;
color1.alpha = 1.00;
color1.position = 0.0;
CTGradientElement color2;
color2.red = 0.54;
color2.green = 0.00;
color2.blue = 1.00;
color2.alpha = 1.00;
color2.position = 1.0;
[newInstance addElement:&color1];
[newInstance addElement:&color2];
[newInstance setBlendingMode:CTChromaticBlendingMode];
return [newInstance autorelease];
}
+ (id)hydrogenSpectrumGradient
{
id newInstance = [[[self class] alloc] init];
struct {float hue; float position; float width;} colorBands[4];
colorBands[0].hue = 22;
colorBands[0].position = .145;
colorBands[0].width = .01;
colorBands[1].hue = 200;
colorBands[1].position = .71;
colorBands[1].width = .008;
colorBands[2].hue = 253;
colorBands[2].position = .885;
colorBands[2].width = .005;
colorBands[3].hue = 275;
colorBands[3].position = .965;
colorBands[3].width = .003;
int i;
/////////////////////////////
for(i = 0; i < 4; i++)
{
float color[4];
color[0] = colorBands[i].hue - 180*colorBands[i].width;
color[1] = 1;
color[2] = 0.001;
color[3] = 1;
transformHSV_RGB(color);
CTGradientElement fadeIn;
fadeIn.red = color[0];
fadeIn.green = color[1];
fadeIn.blue = color[2];
fadeIn.alpha = color[3];
fadeIn.position = colorBands[i].position - colorBands[i].width;
color[0] = colorBands[i].hue;
color[1] = 1;
color[2] = 1;
color[3] = 1;
transformHSV_RGB(color);
CTGradientElement band;
band.red = color[0];
band.green = color[1];
band.blue = color[2];
band.alpha = color[3];
band.position = colorBands[i].position;
color[0] = colorBands[i].hue + 180*colorBands[i].width;
color[1] = 1;
color[2] = 0.001;
color[3] = 1;
transformHSV_RGB(color);
CTGradientElement fadeOut;
fadeOut.red = color[0];
fadeOut.green = color[1];
fadeOut.blue = color[2];
fadeOut.alpha = color[3];
fadeOut.position = colorBands[i].position + colorBands[i].width;
[newInstance addElement:&fadeIn];
[newInstance addElement:&band];
[newInstance addElement:&fadeOut];
}
[newInstance setBlendingMode:CTChromaticBlendingMode];
return [newInstance autorelease];
}
#pragma mark -
#pragma mark Modification
- (CTGradient *)gradientWithAlphaComponent:(float)alpha
{