diff options
Diffstat (limited to 'Frameworks/BWToolkitFramework.framework/BWAnchoredButtonCell.m')
-rw-r--r-- | Frameworks/BWToolkitFramework.framework/BWAnchoredButtonCell.m | 227 |
1 files changed, 0 insertions, 227 deletions
diff --git a/Frameworks/BWToolkitFramework.framework/BWAnchoredButtonCell.m b/Frameworks/BWToolkitFramework.framework/BWAnchoredButtonCell.m deleted file mode 100644 index 74bc1a71..00000000 --- a/Frameworks/BWToolkitFramework.framework/BWAnchoredButtonCell.m +++ /dev/null @@ -1,227 +0,0 @@ -// -// BWAnchoredButtonCell.m -// BWToolkit -// -// Created by Brandon Walkin (www.brandonwalkin.com) -// All code is provided under the New BSD license. -// - -#import "BWAnchoredButtonCell.h" -#import "BWAnchoredButtonBar.h" -#import "BWAnchoredButton.h" -#import "NSColor+BWAdditions.h" -#import "NSImage+BWAdditions.h" - -static NSColor *fillStop1, *fillStop2, *fillStop3, *fillStop4; -static NSColor *topBorderColor, *bottomBorderColor, *sideBorderColor, *sideInsetColor, *pressedColor; -static NSColor *textColor, *textShadowColor, *imageColor, *imageShadowColor; -static NSColor *borderedSideBorderColor, *borderedTopBorderColor; -static NSGradient *fillGradient; -static float scaleFactor = 1.0f; - -@interface BWAnchoredButtonCell (BWABCPrivate) -- (void)drawTitleInFrame:(NSRect)cellFrame; -- (void)drawImageInFrame:(NSRect)cellFrame; -@end - -@implementation BWAnchoredButtonCell - -+ (void)initialize; -{ - fillStop1 = [[NSColor colorWithCalibratedWhite:(253.0f / 255.0f) alpha:1] retain]; - fillStop2 = [[NSColor colorWithCalibratedWhite:(242.0f / 255.0f) alpha:1] retain]; - fillStop3 = [[NSColor colorWithCalibratedWhite:(230.0f / 255.0f) alpha:1] retain]; - fillStop4 = [[NSColor colorWithCalibratedWhite:(230.0f / 255.0f) alpha:1] retain]; - - fillGradient = [[NSGradient alloc] initWithColorsAndLocations: - fillStop1, (CGFloat)0.0, - fillStop2, (CGFloat)0.45454, - fillStop3, (CGFloat)0.45454, - fillStop4, (CGFloat)1.0, - nil]; - - topBorderColor = [[NSColor colorWithCalibratedWhite:(202.0f / 255.0f) alpha:1] retain]; - bottomBorderColor = [[NSColor colorWithCalibratedWhite:(170.0f / 255.0f) alpha:1] retain]; - sideBorderColor = [[NSColor colorWithCalibratedWhite:(0.0f / 255.0f) alpha:0.2] retain]; - sideInsetColor = [[NSColor colorWithCalibratedWhite:(255.0f / 255.0f) alpha:0.5] retain]; - - pressedColor = [[NSColor colorWithCalibratedWhite:(0.0f / 255.0f) alpha:0.35] retain]; - - textColor = [[NSColor colorWithCalibratedWhite:(10.0f / 255.0f) alpha:1] retain]; - textShadowColor = [[NSColor colorWithCalibratedWhite:(255.0f / 255.0f) alpha:0.75] retain]; - - imageColor = [[NSColor colorWithCalibratedWhite:(72.0f / 255.0f) alpha:1] retain]; - imageShadowColor = [[NSColor colorWithCalibratedWhite:(240.0f / 255.0f) alpha:1] retain]; - - borderedSideBorderColor = [[NSColor colorWithCalibratedWhite:(0.0f / 255.0f) alpha:0.25] retain]; - borderedTopBorderColor = [[NSColor colorWithCalibratedWhite:(190.0f / 255.0f) alpha:1] retain]; - -} - -- (void)awakeFromNib -{ - scaleFactor = [[NSScreen mainScreen] userSpaceScaleFactor]; -} - -- (void)drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlView -{ - BOOL inBorderedBar = YES; - - if ([[[self controlView] superview] respondsToSelector:@selector(isAtBottom)]) - { - if ([(BWAnchoredButtonBar *)[[self controlView] superview] isAtBottom]) - inBorderedBar = NO; - } - - [fillGradient drawInRect:cellFrame angle:90]; - - [bottomBorderColor drawPixelThickLineAtPosition:0 withInset:0 inRect:cellFrame inView:[self controlView] horizontal:YES flip:YES]; - [sideInsetColor drawPixelThickLineAtPosition:1 withInset:1 inRect:cellFrame inView:[self controlView] horizontal:NO flip:NO]; - [sideInsetColor drawPixelThickLineAtPosition:1 withInset:1 inRect:cellFrame inView:[self controlView] horizontal:NO flip:YES]; - - if (inBorderedBar) - { - [borderedTopBorderColor drawPixelThickLineAtPosition:0 withInset:0 inRect:cellFrame inView:[self controlView] horizontal:YES flip:NO]; - [borderedSideBorderColor drawPixelThickLineAtPosition:0 withInset:1 inRect:cellFrame inView:[self controlView] horizontal:NO flip:NO]; - [borderedSideBorderColor drawPixelThickLineAtPosition:0 withInset:1 inRect:cellFrame inView:[self controlView] horizontal:NO flip:YES]; - } - else - { - [topBorderColor drawPixelThickLineAtPosition:0 withInset:0 inRect:cellFrame inView:[self controlView] horizontal:YES flip:NO]; - [sideBorderColor drawPixelThickLineAtPosition:0 withInset:1 inRect:cellFrame inView:[self controlView] horizontal:NO flip:NO]; - [sideBorderColor drawPixelThickLineAtPosition:0 withInset:1 inRect:cellFrame inView:[self controlView] horizontal:NO flip:YES]; - } - - if (inBorderedBar && [[self controlView] respondsToSelector:@selector(isAtLeftEdgeOfBar)]) - { - if ([(BWAnchoredButton *)[self controlView] isAtLeftEdgeOfBar]) - [bottomBorderColor drawPixelThickLineAtPosition:0 withInset:1 inRect:cellFrame inView:[self controlView] horizontal:NO flip:NO]; - if ([(BWAnchoredButton *)[self controlView] isAtRightEdgeOfBar]) - [bottomBorderColor drawPixelThickLineAtPosition:0 withInset:1 inRect:cellFrame inView:[self controlView] horizontal:NO flip:YES]; - } - - if ([self image] == nil && [self alternateImage] == nil) - [self drawTitleInFrame:cellFrame]; - else - [self drawImageInFrame:cellFrame]; - - if ([self isHighlighted]) - { - [pressedColor set]; - NSRectFillUsingOperation(cellFrame, NSCompositeSourceOver); - } -} - -- (void)drawTitleInFrame:(NSRect)cellFrame -{ - if (![[self title] isEqualToString:@""]) - { - NSColor *localTextColor = textColor; - - if (![self isEnabled]) - { - localTextColor = [textColor colorWithAlphaComponent:0.6]; - } - - NSMutableDictionary *attributes = [[[NSMutableDictionary alloc] init] autorelease]; - [attributes addEntriesFromDictionary:[[self attributedTitle] attributesAtIndex:0 effectiveRange:NULL]]; - [attributes setObject:localTextColor forKey:NSForegroundColorAttributeName]; - [attributes setObject:[NSFont systemFontOfSize:11] forKey:NSFontAttributeName]; - - NSShadow *shadow = [[[NSShadow alloc] init] autorelease]; - [shadow setShadowOffset:NSMakeSize(0,-1)]; - [shadow setShadowColor:textShadowColor]; - [attributes setObject:shadow forKey:NSShadowAttributeName]; - - NSMutableAttributedString *string = [[[NSMutableAttributedString alloc] initWithString:[self title] attributes:attributes] autorelease]; - [self setAttributedTitle:string]; - - // Draw title - NSRect boundingRect = [[self attributedTitle] boundingRectWithSize:cellFrame.size options:0]; - - NSPoint cellCenter; - cellCenter.x = cellFrame.size.width / 2; - cellCenter.y = cellFrame.size.height / 2; - - NSPoint drawPoint = cellCenter; - drawPoint.x -= boundingRect.size.width / 2; - drawPoint.y -= boundingRect.size.height / 2; - - drawPoint.x = roundf(drawPoint.x); - drawPoint.y = roundf(drawPoint.y); - - if (drawPoint.x < 4) - drawPoint.x = 4; - - [[self attributedTitle] drawAtPoint:drawPoint]; - } -} - -- (void)drawImageInFrame:(NSRect)cellFrame -{ - NSImage *image; - - image = ([self state] == NSOffState || [self alternateImage] == nil ? [self image] : [self alternateImage]); - - - if (image != nil) - { - [image setScalesWhenResized:NO]; - NSRect sourceRect = NSZeroRect; - - if ([[image name] isEqualToString:@"NSActionTemplate"]) - [image setSize:NSMakeSize(10,10)]; - - sourceRect.size = [image size]; - - NSPoint backgroundCenter; - backgroundCenter.x = cellFrame.size.width / 2; - backgroundCenter.y = cellFrame.size.height / 2; - - NSPoint drawPoint = backgroundCenter; - drawPoint.x -= sourceRect.size.width / 2; - drawPoint.y -= sourceRect.size.height / 2 ; - - drawPoint.x = roundf(drawPoint.x); - drawPoint.y = roundf(drawPoint.y); - - NSAffineTransform* xform = [NSAffineTransform transform]; - [xform translateXBy:0.0 yBy:cellFrame.size.height]; - [xform scaleXBy:1.0 yBy:-1.0]; - [xform concat]; - - if ([image isTemplate]) - { - NSImage *glyphImage = [image tintedImageWithColor:imageColor]; - NSImage *shadowImage = [image tintedImageWithColor:imageShadowColor]; - NSPoint shadowPoint = drawPoint; - shadowPoint.y--; - - [shadowImage drawAtPoint:shadowPoint fromRect:sourceRect operation:NSCompositeSourceOver fraction:1]; - - if ([self isEnabled]) - [glyphImage drawAtPoint:drawPoint fromRect:sourceRect operation:NSCompositeSourceOver fraction:1]; - else - [glyphImage drawAtPoint:drawPoint fromRect:sourceRect operation:NSCompositeSourceOver fraction:0.5]; - } - else - { - if ([self isEnabled]) - [image drawAtPoint:drawPoint fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:1]; - else - [image drawAtPoint:drawPoint fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:0.5]; - } - } -} - -- (NSControlSize)controlSize -{ - return [super controlSize]; -} - -- (void)setControlSize:(NSControlSize)size -{ - -} - -@end |