diff options
author | Vincent Sanders <vince@kyllikki.org> | 2016-05-05 22:28:51 +0100 |
---|---|---|
committer | Vincent Sanders <vince@kyllikki.org> | 2016-05-15 13:44:34 +0100 |
commit | d21447d096a320a08b3efb2b8768fad0dcdcfd64 (patch) | |
tree | 1a83814b7c9e94b2f13c473261f23dd3a17dee64 /cocoa/ArrowBox.m | |
parent | 2cbb337756d9af5bda4d594964d446439f602551 (diff) | |
download | netsurf-d21447d096a320a08b3efb2b8768fad0dcdcfd64.tar.gz netsurf-d21447d096a320a08b3efb2b8768fad0dcdcfd64.tar.bz2 |
move frontends into sub directory
Diffstat (limited to 'cocoa/ArrowBox.m')
-rw-r--r-- | cocoa/ArrowBox.m | 163 |
1 files changed, 0 insertions, 163 deletions
diff --git a/cocoa/ArrowBox.m b/cocoa/ArrowBox.m deleted file mode 100644 index 6605fcca9..000000000 --- a/cocoa/ArrowBox.m +++ /dev/null @@ -1,163 +0,0 @@ -/* Copyright 2011 Sven Weidauer - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, copy, - * modify, merge, publish, distribute, sublicense, and/or sell copies - * of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -#import "ArrowBox.h" - -@implementation ArrowBox - -@synthesize arrowPosition; -@synthesize arrowSize; -@synthesize arrowEdge; -@synthesize cornerRadius; - -- (void) setArrowEdge: (ArrowEdge)newEdge -{ - if (arrowEdge == newEdge) { - return; - } - - arrowEdge = newEdge; - - [self setNeedsDisplay: YES]; - updateShadow = YES; -} - - -- (void) setArrowSize: (CGFloat)newSize -{ - arrowSize = newSize; - [self setNeedsDisplay: YES]; - updateShadow = YES; -} - - -- (void) setCornerRadius: (CGFloat)newRadius -{ - cornerRadius = newRadius; - [self setNeedsDisplay: YES]; - updateShadow = YES; -} - -- (void) setArrowPosition: (CGFloat)newPosition -{ - arrowPosition = newPosition; - - [self setNeedsDisplay: YES]; - updateShadow = YES; -} - - -- (id)initWithFrame:(NSRect)frame -{ - self = [super initWithFrame:frame]; - if (self) { - arrowPosition = 50; - cornerRadius = 10; - arrowSize = 15; - } - return self; -} - -- (void)drawRect:(NSRect)dirtyRect -{ - [[NSColor clearColor] set]; - [NSBezierPath fillRect: dirtyRect]; - - NSBezierPath *path = [NSBezierPath bezierPath]; - - NSRect bounds = [self convertRectToBase: NSInsetRect( [self bounds], 2, 2 )]; - bounds.origin.x = floor( bounds.origin.x ); - bounds.origin.y = floor( bounds.origin.y ); - bounds.size.width = floor( bounds.size.width ); - bounds.size.height = floor( bounds.size.height ); - bounds = [self convertRectFromBase: bounds]; - - const CGFloat right = bounds.size.width - arrowSize; - const CGFloat top = bounds.size.height - arrowSize; - const CGFloat left = arrowSize; - const CGFloat bottom = arrowSize; - - [path setLineJoinStyle:NSRoundLineJoinStyle]; - - [path moveToPoint: NSMakePoint( right - cornerRadius, top )]; - - if (arrowEdge == ArrowTopEdge) { - [path lineToPoint: NSMakePoint( arrowPosition + arrowSize, top )]; - [path lineToPoint: NSMakePoint( arrowPosition, top + arrowSize )]; - [path lineToPoint: NSMakePoint( arrowPosition - arrowSize, top )]; - } - - [path appendBezierPathWithArcFromPoint: NSMakePoint( left, top ) - toPoint: NSMakePoint( left, top - cornerRadius ) - radius: cornerRadius]; - - if (arrowEdge == ArrowLeftEdge) { - [path lineToPoint: NSMakePoint( left, bottom + arrowPosition + arrowSize )]; - [path lineToPoint: NSMakePoint( left - arrowSize, bottom + arrowPosition )]; - [path lineToPoint: NSMakePoint( left, bottom + arrowPosition - arrowSize )]; - } - - [path appendBezierPathWithArcFromPoint: NSMakePoint( left, bottom ) - toPoint: NSMakePoint( left + cornerRadius, bottom ) - radius: cornerRadius]; - - if (arrowEdge == ArrowBottomEdge) { - [path lineToPoint: NSMakePoint( arrowPosition - arrowSize, bottom )]; - [path lineToPoint: NSMakePoint( arrowPosition, bottom - arrowSize )]; - [path lineToPoint: NSMakePoint( arrowPosition + arrowSize, bottom )]; - } - - [path appendBezierPathWithArcFromPoint: NSMakePoint( right, bottom ) - toPoint: NSMakePoint( right, bottom + cornerRadius ) - radius: cornerRadius]; - - if (arrowEdge == ArrowRightEdge) { - [path lineToPoint: NSMakePoint( right, bottom + arrowPosition - arrowSize )]; - [path lineToPoint: NSMakePoint( right + arrowSize, bottom + arrowPosition )]; - [path lineToPoint: NSMakePoint( right, bottom + arrowPosition + arrowSize )]; - } - - [path appendBezierPathWithArcFromPoint: NSMakePoint( right, top ) - toPoint: NSMakePoint( right - cornerRadius, top ) - radius: cornerRadius]; - [path closePath]; - - [[NSColor colorWithDeviceWhite: 1.0 alpha: 0.4] set]; - [[NSColor colorWithDeviceWhite: 0.0 alpha: 0.75] setFill]; - - NSAffineTransform *transform = [NSAffineTransform transform]; - [transform translateXBy: bounds.origin.x yBy: bounds.origin.y]; - [transform concat]; - - [path setLineWidth: 2.0]; - [path fill]; - [path stroke]; - - if (updateShadow) { - [[self window] invalidateShadow]; - [[self window] update]; - updateShadow = NO; - } -} - -@end |