/*
 * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
 */

#import <Cocoa/Cocoa.h>
#import <jni.h>

#import "GlassMenu.h"
#import "GlassView.h"

// normal Glass window
@interface GlassWindow : NSPanel <NSWindowDelegate> 
{
    jobject     		jWindow;
	
@public
	
    NSWindow			*owner;
	NSView<GlassView>	*view;
    NSScreen    		*currentScreen;
    GlassMenubar		*menubar;
    NSRect				preZoomedRect;
    NSWindow            *fullscreenWindow;
	
    BOOL				useWindowLiveResizeAdditions;
    BOOL        		isFocusable;
    BOOL                isEnabled;
    NSUInteger          enabledStyleMask; // valid while the window is disabled
    BOOL        		isTransparent;
    BOOL        		isDecorated;
    BOOL        		isResizable;
    BOOL        		suppressWindowMoveEvent;
    BOOL        		suppressWindowResizeEvent;
    
    jint        		_setFrameX, _setFrameY, _setFrameWidth, _setFrameHeight;
    jboolean    		_setFrameDisplay, _setFrameAnimated;
	
    jint        		_setLevel;
	
    jfloat        		_setAlpha;
	
    jint        		_setMinimumSizeW, _setMinimumSizeH;
	
    CGFloat        		_setMaximumSizeW, _setMaximumSizeH;
}

- (void)setFullscreenWindow:(NSWindow*)fsWindow;

@end

// "fake" (invisible) window for hosting View representing plugin content
@interface GlassEmbeddedWindow : GlassWindow

@end
