/******************************************************************************************************

	BXGradientWindow.h
	
 ******************************************************************************************************

	Author:			Peter Baumgartner		Tel:  (+4989) 649-43875
					Rosskopfstr. 20			Mail: peter@baumgartner.com
					82031 GrŸnwald			
					Germany					
	
					Copyright © 2006 by Peter Baumgartner - All Rights Reserved

 ******************************************************************************************************/

/******************************************************************************************************
	READ ME
 ******************************************************************************************************/

	#pragma mark READ ME

	// This window subclass implements an iTunes like window look...


	
/******************************************************************************************************
	CONSTANTS
 ******************************************************************************************************/

	#pragma mark CONSTANTS

	enum BXGradientStyle
	{
		kBXGradientStyleDefault,
		kBXGradientStylePeter,
		kBXGradientStyleFlo,
		kBXGradientStyleiLife,
		kBXGradientStyleUnified,
		kBXGradientStylePeterUnified
	};
	
	
	
/******************************************************************************************************
	BXGradientWindow
 ******************************************************************************************************/

	#pragma mark

	@interface BXGradientWindow : NSWindow
	{
		NSMutableArray* _gradients;
		
		NSInteger _gradientStyle;
		
		CGFloat _backgroundGray;
		CGFloat _topLineGray;
		CGFloat _topBevelGray;
		CGFloat _topGradientGray;
		CGFloat _bottomGradientGray;
		CGFloat _bottomBevelGray;
		CGFloat _bottomLineGray;

		BOOL _arrayNeedsUpdate;
		BOOL _imageNeedsUpdate;
	}
	
	// Accessors...
	
	- (void) setGradients:(NSMutableArray*)inGradients;
	- (NSMutableArray*) gradients;

	- (void) setGradientStyle:(NSInteger)inStyle;
	- (NSInteger) gradientStyle;

	- (void) setBackgroundGray:(CGFloat)inGray;
	- (CGFloat) backgroundGray;

	- (void) setTopLineGray:(CGFloat)inGray;
	- (CGFloat) topLineGray;

	- (void) setTopBevelGray:(CGFloat)inGray;
	- (CGFloat) topBevelGray;

	- (void) setTopGradientGray:(CGFloat)inGray;
	- (CGFloat) topGradientGray;

	- (void) setBottomGradientGray:(CGFloat)inGray;
	- (CGFloat) bottomGradientGray;

	- (void) setBottomBevelGray:(CGFloat)inGray;
	- (CGFloat) bottomBevelGray;

	- (void) setBottomLineGray:(CGFloat)inGray;
	- (CGFloat) bottomLineGray;

	// Drawing...
	
	- (void) updateGradientArray;
	- (void) updateBackgroundImage;
	
	@end



/******************************************************************************************************/
