Revision: 7487
http://skim-app.svn.sourceforge.net/skim-app/?rev=7487&view=rev
Author: hofman
Date: 2011-09-10 12:09:15 +0000 (Sat, 10 Sep 2011)
Log Message:
-----------
use textfieldcell for drawing background of linewell and fontwell, so we get a
consistent look also on Lion
Modified Paths:
--------------
trunk/SKFontWell.h
trunk/SKFontWell.m
trunk/SKLineWell.h
trunk/SKLineWell.m
Modified: trunk/SKFontWell.h
===================================================================
--- trunk/SKFontWell.h 2011-09-09 13:13:27 UTC (rev 7486)
+++ trunk/SKFontWell.h 2011-09-10 12:09:15 UTC (rev 7487)
@@ -63,6 +63,7 @@
@interface SKFontWellCell : NSButtonCell {
+ NSTextFieldCell *bgCell;
NSColor *textColor;
BOOL hasTextColor;
}
Modified: trunk/SKFontWell.m
===================================================================
--- trunk/SKFontWell.m 2011-09-09 13:13:27 UTC (rev 7486)
+++ trunk/SKFontWell.m 2011-09-10 12:09:15 UTC (rev 7487)
@@ -441,6 +441,8 @@
@synthesize textColor, hasTextColor;
- (void)commonInit {
+ bgCell = [[NSTextFieldCell alloc] initTextCell:@""];
+ [bgCell setBezeled:YES];
if (textColor == nil)
[self setTextColor:[NSColor blackColor]];
[self setBezelStyle:NSShadowlessSquareBezelStyle]; // this is mainly to
make it selectable
@@ -473,33 +475,23 @@
}
- (void)dealloc {
+ SKDESTROY(bgCell);
SKDESTROY(textColor);
[super dealloc];
}
- (void)drawBezelWithFrame:(NSRect)frame inView:(NSView *)controlView {
- [NSGraphicsContext saveGraphicsState];
+ [bgCell drawWithFrame:frame inView:controlView];
- NSColor *bgColor = [self state] == NSOnState ? [NSColor
selectedControlColor] : [NSColor controlBackgroundColor];
- NSColor *edgeColor = [NSColor colorWithCalibratedWhite:0 alpha:[self
isHighlighted] ? 0.33 : .11];
-
- [bgColor setFill];
- NSRectFill(frame);
-
- [edgeColor setStroke];
- [[NSBezierPath bezierPathWithRect:NSInsetRect(frame, 0.5, 0.5)] stroke];
-
- NSBezierPath *path = [NSBezierPath bezierPathWithRect:frame];
- [path appendBezierPathWithRect:NSInsetRect(frame, -2.0, -2.0)];
- [path setWindingRule:NSEvenOddWindingRule];
- NSShadow *shadow1 = [[NSShadow new] autorelease];
- [shadow1 setShadowBlurRadius:2.0];
- [shadow1 setShadowOffset:NSMakeSize(0.0, -1.0)];
- [shadow1 setShadowColor:[NSColor colorWithCalibratedWhite:0.0 alpha:0.7]];
- [shadow1 set];
- [[NSColor blackColor] setFill];
- [path fill];
-
+ [NSGraphicsContext saveGraphicsState];
+ if ([self state] == NSOnState) {
+ [[NSColor selectedControlColor] setFill];
+ NSRectFillUsingOperation(frame, NSCompositePlusDarker);
+ }
+ if ([self isHighlighted]) {
+ [[NSColor colorWithCalibratedWhite:0.0 alpha:0.1] setFill];
+ NSFrameRectWithWidthUsingOperation(frame, 1.0, NSCompositePlusDarker);
+ }
[NSGraphicsContext restoreGraphicsState];
if ([self refusesFirstResponder] == NO && [NSApp isActive] &&
[[controlView window] isKeyWindow] && [[controlView window] firstResponder] ==
controlView) {
Modified: trunk/SKLineWell.h
===================================================================
--- trunk/SKLineWell.h 2011-09-09 13:13:27 UTC (rev 7486)
+++ trunk/SKLineWell.h 2011-09-10 12:09:15 UTC (rev 7487)
@@ -61,6 +61,7 @@
NSArray *dashPattern;
PDFLineStyle startLineStyle;
PDFLineStyle endLineStyle;
+ NSTextFieldCell *bgCell;
struct _lwFlags {
unsigned int displayStyle:2;
Modified: trunk/SKLineWell.m
===================================================================
--- trunk/SKLineWell.m 2011-09-09 13:13:27 UTC (rev 7486)
+++ trunk/SKLineWell.m 2011-09-10 12:09:15 UTC (rev 7487)
@@ -78,6 +78,9 @@
}
- (void)commonInit {
+ bgCell = [[NSTextFieldCell alloc] initTextCell:@""];
+ [bgCell setBezeled:YES];
+
lwFlags.canActivate = 1;
lwFlags.highlighted = 0;
lwFlags.existsActiveLineWell = 0;
@@ -142,6 +145,7 @@
[self unbind:SKLineWellEndLineStyleKey];
if (lwFlags.active)
[self deactivate];
+ SKDESTROY(bgCell);
SKDESTROY(dashPattern);
[super dealloc];
}
@@ -254,30 +258,21 @@
}
- (void)drawRect:(NSRect)rect {
- [NSGraphicsContext saveGraphicsState];
-
NSRect bounds = [self bounds];
- NSColor *bgColor = [self isActive] ? [NSColor selectedControlColor] :
[NSColor controlBackgroundColor];
- NSColor *edgeColor = [NSColor colorWithCalibratedWhite:0 alpha:[self
isHighlighted] ? 0.33 : .11];
- [bgColor setFill];
- NSRectFill(bounds);
+ [bgCell drawWithFrame:bounds inView:self];
- [edgeColor setStroke];
- [[NSBezierPath bezierPathWithRect:NSInsetRect(bounds, 0.5, 0.5)] stroke];
-
- NSBezierPath *path = [NSBezierPath bezierPathWithRect:bounds];
- [path appendBezierPathWithRect:NSInsetRect(bounds, -2.0, -2.0)];
- [path setWindingRule:NSEvenOddWindingRule];
- NSShadow *shadow1 = [[NSShadow new] autorelease];
- [shadow1 setShadowBlurRadius:2.0];
- [shadow1 setShadowOffset:NSMakeSize(0.0, -1.0)];
- [shadow1 setShadowColor:[NSColor colorWithCalibratedWhite:0.0 alpha:0.7]];
- [shadow1 set];
- [[NSColor blackColor] setFill];
- [path fill];
-
+ [NSGraphicsContext saveGraphicsState];
+ if ([self isActive]) {
+ [[NSColor selectedControlColor] setFill];
+ NSRectFillUsingOperation(bounds, NSCompositePlusDarker);
+ }
+ if ([self isHighlighted]) {
+ [[NSColor colorWithCalibratedWhite:0.0 alpha:0.1] setFill];
+ NSFrameRectWithWidthUsingOperation(bounds, 1.0, NSCompositePlusDarker);
+ }
[NSGraphicsContext restoreGraphicsState];
+
[NSGraphicsContext saveGraphicsState];
[[NSBezierPath bezierPathWithRect:NSInsetRect(bounds, 2.0, 2.0)] addClip];
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
Malware Security Report: Protecting Your Business, Customers, and the
Bottom Line. Protect your business and customers by understanding the
threat from malware and how it can impact your online business.
http://www.accelacomm.com/jaw/sfnl/114/51427462/
_______________________________________________
Skim-app-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit