//
//  BXSplashScreenWindowController.h
//  BXAppKit
//
//  Created by Achim Breidenbach on 14.09.04.
//  Copyright 2004 Boinx Sofware. All rights reserved.
//


@protocol BXSplashScreenWindowDelegate

- (NSString *) splashScreenFileName;
- (BOOL) dropShadow;

@end



@interface BXSplashScreenWindowController : NSWindowController <NSWindowDelegate, BXSplashScreenWindowDelegate>
{
	
	BOOL animationIsRunning;
	BOOL dropShadow;
	
	NSInteger showForSeconds;
	NSString* imageName;
	
	NSTimeInterval fadeOutTime;
}

- (void) startAnimationThread:(id)sender;
- (void) setSplashScreenFileName:(NSString*)newImageName showForSeconds:(NSInteger)newShowForSeconds dropShadow:(BOOL)newDropShadow;
- (void)myAnimationThread:(id)anObject;
+ (void) showSplashScreen:(NSString*)newImageName showForSeconds:(NSInteger)newShowForSeconds dropShadow:(BOOL)newDropShadow;
+ (BXSplashScreenWindowController*) openSplashScreen:(NSString*)newImageName showForMinimumSeconds:(NSInteger)newShowForSeconds dropShadow:(BOOL)newDropShadow;
+ (BXSplashScreenWindowController*) openSplashScreen:(NSString*)newImageName showForMinimumSeconds:(NSInteger)newShowForSeconds dropShadow:(BOOL)newDropShadow autoCloseWhenOtherWindowsOpen:(BOOL)autoClose;

- (BOOL) prepareWindow:(id)sender;
- (void) fadeIn:(id)sender;
- (void) fadeOut:(id)sender;
- (void) closeWindow:(id)sender;

@end
