Revision: 3082
http://skim-app.svn.sourceforge.net/skim-app/?rev=3082&view=rev
Author: hofman
Date: 2007-10-28 04:49:42 -0700 (Sun, 28 Oct 2007)
Log Message:
-----------
Reverse gradients in Leopard. In fact, change the meaning of the NSBezierPath
and CIImage categories to follow the more sensible Leopard ordering.
Modified Paths:
--------------
trunk/BDSKGradientView.h
trunk/BDSKGradientView.m
trunk/CIImage_BDSKExtensions.m
trunk/SKSplitView.m
trunk/SKStatusBar.m
Modified: trunk/BDSKGradientView.h
===================================================================
--- trunk/BDSKGradientView.h 2007-10-28 10:14:41 UTC (rev 3081)
+++ trunk/BDSKGradientView.h 2007-10-28 11:49:42 UTC (rev 3082)
@@ -42,8 +42,8 @@
@interface BDSKGradientView : NSView
{
@private
- CIColor *startColor;
- CIColor *endColor;
+ CIColor *lowerColor;
+ CIColor *upperColor;
}
- (void)setLowerColor:(NSColor *)color;
Modified: trunk/BDSKGradientView.m
===================================================================
--- trunk/BDSKGradientView.m 2007-10-28 10:14:41 UTC (rev 3081)
+++ trunk/BDSKGradientView.m 2007-10-28 11:49:42 UTC (rev 3082)
@@ -57,8 +57,8 @@
- (void)dealloc
{
- [endColor release];
- [startColor release];
+ [lowerColor release];
+ [upperColor release];
[super dealloc];
}
@@ -66,24 +66,24 @@
{
// fill entire view, not just the (possibly clipped) aRect
if ([[self window] styleMask] & NSClosableWindowMask)
- [[NSBezierPath bezierPathWithRect:[self bounds]]
fillPathVerticallyWithStartColor:[self upperColor] endColor:[self lowerColor]];
+ [[NSBezierPath bezierPathWithRect:[self bounds]]
fillPathVerticallyWithStartColor:[self lowerColor] endColor:[self upperColor]];
}
// -[CIColor initWithColor:] fails (returns nil) with +[NSColor gridColor]
rdar://problem/4789043
- (void)setLowerColor:(NSColor *)color
{
- [endColor autorelease];
- endColor = [[CIColor colorWithNSColor:color] retain];
+ [lowerColor autorelease];
+ lowerColor = [[CIColor colorWithNSColor:color] retain];
}
- (void)setUpperColor:(NSColor *)color
{
- [startColor autorelease];
- startColor = [[CIColor colorWithNSColor:color] retain];
+ [upperColor autorelease];
+ upperColor = [[CIColor colorWithNSColor:color] retain];
}
-- (CIColor *)lowerColor { return endColor; }
-- (CIColor *)upperColor { return startColor; }
+- (CIColor *)lowerColor { return lowerColor; }
+- (CIColor *)upperColor { return upperColor; }
// required in order for redisplay to work properly with the controls
- (BOOL)isOpaque{ return ([[self window] styleMask] & NSClosableWindowMask)
!= 0; }
Modified: trunk/CIImage_BDSKExtensions.m
===================================================================
--- trunk/CIImage_BDSKExtensions.m 2007-10-28 10:14:41 UTC (rev 3081)
+++ trunk/CIImage_BDSKExtensions.m 2007-10-28 11:49:42 UTC (rev 3082)
@@ -41,6 +41,20 @@
@implementation CIImage (BDSKExtensions)
+static NSString *startColorKey = nil;
+static NSString *endColorKey = nil;
+
++ (void)initialize {
+ if (floor(NSAppKitVersionNumber) <= 824) {
+ // in Tiger the input colors are reversed
+ startColorKey = [@"inputColor1" retain];
+ endColorKey = [@"inputColor0" retain];
+ } else {
+ startColorKey = [@"inputColor0" retain];
+ endColorKey = [@"inputColor1" retain];
+ }
+}
+
+ (CIImage *)imageWithConstantColor:(CIColor *)color;
{
static CIFilter *colorFilter = nil;
@@ -58,8 +72,8 @@
if (linearFilter == nil)
linearFilter = [[CIFilter filterWithName:@"CILinearGradient"] retain];
- [linearFilter setValue:startColor forKey:@"inputColor0"];
- [linearFilter setValue:endColor forKey:@"inputColor1"];
+ [linearFilter setValue:startColor forKey:startColorKey];
+ [linearFilter setValue:endColor forKey:endColorKey];
[linearFilter setValue:[CIVector vectorWithX:startPoint.x Y:startPoint.y]
forKey:@"inputPoint0"];
[linearFilter setValue:[CIVector vectorWithX:endPoint.x Y:endPoint.y]
forKey:@"inputPoint1"];
Modified: trunk/SKSplitView.m
===================================================================
--- trunk/SKSplitView.m 2007-10-28 10:14:41 UTC (rev 3081)
+++ trunk/SKSplitView.m 2007-10-28 11:49:42 UTC (rev 3082)
@@ -47,14 +47,14 @@
+ (CIColor *)startColor{
static CIColor *startColor = nil;
if (startColor == nil)
- startColor = [[CIColor colorWithNSColor:[NSColor
colorWithCalibratedWhite:0.85 alpha:1.0]] retain];
+ startColor = [[CIColor colorWithNSColor:[NSColor
colorWithCalibratedWhite:0.95 alpha:1.0]] retain];
return startColor;
}
+ (CIColor *)endColor{
static CIColor *endColor = nil;
if (endColor == nil)
- endColor = [[CIColor colorWithNSColor:[NSColor
colorWithCalibratedWhite:0.95 alpha:1.0]] retain];
+ endColor = [[CIColor colorWithNSColor:[NSColor
colorWithCalibratedWhite:0.85 alpha:1.0]] retain];
return endColor;
}
@@ -98,9 +98,9 @@
if (blendEnds) {
NSRect endRect, ignored;
NSDivideRect(aRect, &endRect, &ignored, END_JOIN_WIDTH, [self
isVertical] ? NSMinYEdge : NSMinXEdge);
+ [[NSBezierPath bezierPathWithRect:endRect] fillPathVertically:[self
isVertical] withStartColor:[[self class] endColor] endColor:[CIColor
clearColor]];
+ NSDivideRect(aRect, &endRect, &ignored, END_JOIN_WIDTH, [self
isVertical] ? NSMaxYEdge : NSMaxXEdge);
[[NSBezierPath bezierPathWithRect:endRect] fillPathVertically:[self
isVertical] withStartColor:[CIColor clearColor] endColor:[[self class]
startColor]];
- NSDivideRect(aRect, &endRect, &ignored, END_JOIN_WIDTH, [self
isVertical] ? NSMaxYEdge : NSMaxXEdge);
- [[NSBezierPath bezierPathWithRect:endRect] fillPathVertically:[self
isVertical] withStartColor:[[self class] endColor] endColor:[CIColor
clearColor]];
}
[NSGraphicsContext saveGraphicsState];
Modified: trunk/SKStatusBar.m
===================================================================
--- trunk/SKStatusBar.m 2007-10-28 10:14:41 UTC (rev 3081)
+++ trunk/SKStatusBar.m 2007-10-28 11:49:42 UTC (rev 3082)
@@ -90,7 +90,7 @@
NSRect textRect, ignored;
float rightMargin = RIGHT_MARGIN;
- [[NSBezierPath bezierPathWithRect:[self bounds]]
fillPathVerticallyWithStartColor:[[self class] upperColor] endColor:[[self
class] lowerColor]];
+ [[NSBezierPath bezierPathWithRect:[self bounds]]
fillPathVerticallyWithStartColor:[[self class] lowerColor] endColor:[[self
class] upperColor]];
if (progressIndicator)
rightMargin += NSWidth([progressIndicator frame]) + SEPARATION;
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Skim-app-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit