From f85335a7f9fdbff012409bb2af8fecc81740eab0 Mon Sep 17 00:00:00 2001 From: Sven Weidauer Date: Wed, 19 Jan 2011 20:19:43 +0000 Subject: Implementing tabs and fixing scrolling. svn path=/trunk/netsurf/; revision=11396 --- cocoa/PSMTabBarControl/PSMTabDragView.m | 68 +++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 cocoa/PSMTabBarControl/PSMTabDragView.m (limited to 'cocoa/PSMTabBarControl/PSMTabDragView.m') diff --git a/cocoa/PSMTabBarControl/PSMTabDragView.m b/cocoa/PSMTabBarControl/PSMTabDragView.m new file mode 100644 index 000000000..259116ae8 --- /dev/null +++ b/cocoa/PSMTabBarControl/PSMTabDragView.m @@ -0,0 +1,68 @@ +// +// PSMTabDragView.m +// PSMTabBarControl +// +// Created by Kent Sutherland on 6/17/07. +// Copyright 2007 Kent Sutherland. All rights reserved. +// + +#import "PSMTabDragView.h" + + +@implementation PSMTabDragView + +- (id)initWithFrame:(NSRect)frame { + if ( (self = [super initWithFrame:frame]) ) { + _alpha = 1.0; + } + return self; +} + +- (void)dealloc +{ + [_image release]; + [_alternateImage release]; + [super dealloc]; +} + +- (void)drawRect:(NSRect)rect { + //1.0 fade means show the primary image + //0.0 fade means show the secondary image + CGFloat primaryAlpha = _alpha + 0.001f, alternateAlpha = 1.001f - _alpha; + NSRect srcRect; + srcRect.origin = NSZeroPoint; + srcRect.size = [_image size]; + + [_image drawInRect:[self bounds] fromRect:srcRect operation:NSCompositeSourceOver fraction:primaryAlpha]; + srcRect.size = [_alternateImage size]; + [_alternateImage drawInRect:[self bounds] fromRect:srcRect operation:NSCompositeSourceOver fraction:alternateAlpha]; +} + +- (void)setFadeValue:(CGFloat)value +{ + _alpha = value; +} + +- (NSImage *)image +{ + return _image; +} + +- (void)setImage:(NSImage *)image +{ + [_image release]; + _image = [image retain]; +} + +- (NSImage *)alternateImage +{ + return _alternateImage; +} + +- (void)setAlternateImage:(NSImage *)image +{ + [_alternateImage release]; + _alternateImage = [image retain]; +} + +@end -- cgit v1.2.3