home *** CD-ROM | disk | FTP | other *** search
- /*
- Window.h
- Application Kit, Release 2.0
- Copyright (c) 1988, 1989, 1990, NeXT, Inc. All rights reserved.
- */
-
- #import "NSResponder.h"
- #import "NSScreen.h"
- #import "drag.h"
- #import "NSColor.h"
- #import "NSGraphics.h"
- @class NSText;
- @class NSCursor;
- @class NSView;
-
- enum {
- NSBorderlessWindowMask = 0,
- NSTitledWindowMask = 1 << 0,
- NSClosableWindowMask = 1 << 1,
- NSMiniaturizableWindowMask = 1 << 2,
- NSResizableWindowMask = 1 << 3
- };
-
- extern NSSize NSIconSize;
- extern NSSize NSTokenSize;
-
- enum {
- NSNormalWindowLevel = 0,
- NSFloatingWindowLevel = 3,
- NSDockWindowLevel = 5,
- NSSubmenuWindowLevel = 10,
- NSMainMenuWindowLevel = 20
- };
-
- @class NSEvent;
-
- @interface NSWindow : NSResponder
- {
- NSRect frame;
- id contentView;
- id delegate;
- id firstResponder;
- id lastLeftHit;
- id lastRightHit;
- id counterpart;
- id fieldEditor;
- int winEventMask;
- int windowNum;
- NSColor *_backgroundColor;
- struct _wFlags {
- #ifdef __BIG_ENDIAN__
- unsigned int style:4;
- unsigned int backing:2;
- unsigned int buttonMask:3;
- unsigned int visible:1;
- unsigned int isMainWindow:1;
- unsigned int isKeyWindow:1;
- unsigned int isPanel:1;
- unsigned int hideOnDeactivate:1;
- unsigned int dontFreeWhenClosed:1;
- unsigned int oneShot:1;
- #else
- unsigned int oneShot:1;
- unsigned int dontFreeWhenClosed:1;
- unsigned int hideOnDeactivate:1;
- unsigned int isPanel:1;
- unsigned int isKeyWindow:1;
- unsigned int isMainWindow:1;
- unsigned int visible:1;
- unsigned int buttonMask:3;
- unsigned int backing:2;
- unsigned int style:4;
- #endif
- } wFlags;
- struct _wFlags2 {
- #ifdef __BIG_ENDIAN__
- unsigned int deferred:1;
- unsigned int _cursorRectsDisabled:1;
- unsigned int _haveFreeCursorRects:1;
- unsigned int _validCursorRects:1;
- unsigned int docEdited:1;
- unsigned int dynamicDepthLimit:1;
- unsigned int _worksWhenModal:1;
- unsigned int _limitedBecomeKey:1;
- unsigned int _needsFlush:1;
- unsigned int _newMiniIcon:1;
- unsigned int _ignoredFirstMouse:1;
- unsigned int _repostedFirstMouse:1;
- unsigned int _windowDying:1;
- unsigned int _tempHidden:1;
- unsigned int _hiddenOnDeactivate:1;
- unsigned int _floatingPanel:1;
- #else
- unsigned int _floatingPanel:1;
- unsigned int _hiddenOnDeactivate:1;
- unsigned int _tempHidden:1;
- unsigned int _windowDying:1;
- unsigned int _repostedFirstMouse:1;
- unsigned int _ignoredFirstMouse:1;
- unsigned int _RESERVED:1;
- unsigned int _needsFlush:1;
- unsigned int _limitedBecomeKey:1;
- unsigned int _worksWhenModal:1;
- unsigned int dynamicDepthLimit:1;
- unsigned int docEdited:1;
- unsigned int _validCursorRects:1;
- unsigned int _haveFreeCursorRects:1;
- unsigned int _cursorRectsDisabled:1;
- unsigned int deferred:1;
- #endif
- } wFlags2;
- id _borderView;
- short _displayDisabled;
- short _flushDisabled;
- void *_cursorRects;
- NXHashTable *_trectTable;
- id _invalidCursorView;
- id _miniIcon;
- void *_private;
- }
-
- + (NSRect)frameRectForContentRect:(NSRect)cRect styleMask:(int)aStyle;
- + (NSRect)contentRectForFrameRect:(NSRect)fRect styleMask:(int)aStyle;
- + (float)minFrameWidthWithTitle:(NSString *)aTitle styleMask:(unsigned int)aStyle;
- + (NSWindowDepth)defaultDepthLimit;
-
- - initWithContentRect:(NSRect)contentRect styleMask:(unsigned int)aStyle backing:(NSBackingStoreType)bufferingType defer:(BOOL)flag;
- - initWithContentRect:(NSRect)contentRect styleMask:(unsigned int)aStyle backing:(NSBackingStoreType)bufferingType defer:(BOOL)flag screen:(NSScreen *)screen;
-
- - setTitle:(NSString *)aString;
- - setTitleWithRepresentedFilename:(NSString *)aString;
- - setExcludedFromWindowsMenu:(BOOL)flag;
- - (BOOL)isExcludedFromWindowsMenu;
- - setContentView:aView;
- - contentView;
- - setDelegate:anObject;
- - delegate;
- - (NSString *)title;
- - (int)windowNum;
- - (unsigned int)styleMask;
- - getFieldEditor:(BOOL)createFlag for:anObject;
- - endEditingFor:anObject;
-
- - (NSRect)constrainFrameRect:(NSRect)frameRect;
- - (void)setFrame:(NSRect)frameRect display:(BOOL)flag;
- - setContentSize:(NSSize)contentSize;
- - setFrameOrigin:(NSPoint)newOrigin;
- - setFrameTopLeftPoint:(NSPoint)newTopLeft;
- - (NSPoint)cascadeTopLeftFromPoint:(NSPoint)topLeftPoint;
- - (NSRect)frame;
-
- - (NSPoint)mouseLocationOutsideOfEventStream;
-
- - useOptimizedDrawing:(BOOL)flag;
- - disableFlushWindow;
- - reenableFlushWindow;
- - (BOOL)isFlushWindowDisabled;
- - flushWindow;
- - flushWindowIfNeeded;
- - (void)setViewsNeedDisplay:(BOOL)flag;
- - (BOOL)viewsNeedDisplay;
- - displayIfNeeded;
- - display;
- - (void)setAutodisplay:(BOOL)flag;
- - (BOOL)isAutodisplay;
-
- - update;
- - makeFirstResponder:aResponder;
- - firstResponder;
- - (int)resizeFlags;
- - keyDown:(NSEvent *)theEvent;
- - close;
- - setFreeWhenClosed:(BOOL)flag;
- - (BOOL)isReleasedWhenClosed;
- - miniaturize:sender;
- - deminiaturize:sender;
- - (BOOL)tryToPerform:(SEL)anAction with:anObject;
- - validRequestorForSendType:(NSString *)sendType andReturnType:(NSString *)returnType;
- - setBackgroundColor:(NSColor *)color;
- - (NSColor *)backgroundColor;
-
- - setHideOnDeactivate:(BOOL)flag;
- - (BOOL)doesHideOnDeactivate;
- - center;
- - makeKeyAndOrderFront:sender;
- - orderFront:sender;
- - orderBack:sender;
- - orderOut:sender;
- - orderWindow:(int)place relativeTo:(int)otherWin;
- - orderFrontRegardless;
-
- - setMiniwindowImage:(NSImage *)anImage;
- - setMiniwindowTitle:(NSString *)title;
- - (NSImage *)miniwindowImage;
- - (NSString *)miniwindowTitle;
-
- - setDocEdited:(BOOL)flag;
- - (BOOL)isDocEdited;
- - (BOOL)isVisible;
- - (BOOL)isKeyWindow;
- - (BOOL)isMainWindow;
- - (BOOL)canBecomeKeyWindow;
- - (BOOL)canBecomeMainWindow;
- - makeKeyWindow;
- - becomeKeyWindow;
- - resignKeyWindow;
- - becomeMainWindow;
- - resignMainWindow;
-
- - (BOOL)worksWhenModal;
- - (NSPoint)convertBaseToScreen:(NSPoint)aPoint;
- - (NSPoint)convertScreenToBase:(NSPoint)aPoint;
- - performClose:sender;
- - performMiniaturize:sender;
- - (int)gState;
- - setOneShot:(BOOL)flag;
- - (BOOL)isOneShot;
- - (NSData *)dataWithEPSInsideRect:(NSRect)rect;
- - print:sender;
- - fax:sender;
-
- - disableCursorRects;
- - enableCursorRects;
- - discardCursorRects;
- - invalidateCursorRectsForView:aView;
- - resetCursorRects;
-
- - setBackingType:(int)bufferingType;
- - (int)backingType;
- - (void)setLevel:(int)newLevel;
- - (int)level;
- - setDepthLimit:(NSWindowDepth)limit;
- - (NSWindowDepth)depthLimit;
- - setDynamicDepthLimit:(BOOL)flag;
- - (BOOL)hasDynamicDepthLimit;
- - (NSScreen *)screen;
- - (NSScreen *)deepestScreen;
- - (BOOL)canStoreColor;
- - counterpart;
-
- - (NSString *)stringWithSavedFrame;
- - (void)setFrameFromString:(NSString *)string;
- - (void)saveFrameUsingName:(NSString *)name;
- - (BOOL)setFrameUsingName:(NSString *)name;
- - (BOOL)setFrameAutosaveName:(NSString *)name;
- - (NSString *)frameAutosaveName;
- + (void)removeFrameUsingName:(NSString *)name;
-
- - (NSSize)minSize;
- - (NSSize)maxSize;
- - setMinSize:(NSSize)size;
- - setMaxSize:(NSSize)size;
- - (NSEvent *)nextEventMatchingMask:(unsigned int)mask;
- - (NSEvent *)nextEventMatchingMask:(unsigned int)mask untilDate:(NSDate *)expiration inMode:(NSString *)mode dequeue:(BOOL)deqFlag;
- - (void)discardEventsMatchingMask:(unsigned int)mask beforeEvent:(NSEvent *)lastEvent;
- - (void)postEvent:(NSEvent *)event atStart:(BOOL)flag;
- - (NSEvent *)currentEvent;
- - (void)setAcceptsMouseMovedEvents:(BOOL)flag;
- - (BOOL)acceptsMouseMovedEvents;
- - (NSDictionary *)deviceDescription;
- - sendEvent:(NSEvent *)theEvent;
- - (NSPoint)mouseLocationOutsideOfEventStream;
-
- @end
-
-
- @interface NSWindow(Drag)
- - dragImage:anImage at:(NSPoint)baseLocation offset:(NSSize)initialOffset event:(NSEvent *)event pasteboard:(NSPasteboard *)pboard source:sourceObj slideBack:(BOOL)slideFlag;
-
- - registerForDraggedTypes:(NSArray *)newTypes;
- - unregisterDraggedTypes;
- @end
-
-
- @interface NSObject(WindowDelegate)
- - windowWillClose:sender;
- - windowWillReturnFieldEditor:sender toObject:client;
- - (NSSize)windowWillResize:sender toSize:(NSSize)frameSize;
- - windowDidResize:sender;
- - windowDidExpose:sender;
- - windowWillMove:sender;
- - windowDidMove:sender;
- - windowDidBecomeKey:sender;
- - windowDidResignKey:sender;
- - windowDidBecomeMain:sender;
- - windowDidResignMain:sender;
- - windowWillMiniaturize:sender toMiniwindow:miniwindow;
- - windowDidMiniaturize:sender;
- - windowDidDeminiaturize:sender;
- - windowDidUpdate:sender;
- - windowDidChangeScreen:sender;
- @end
-
-
- /* Notifications */
- extern NSString *NSWindowDidBecomeKeyNotification;
- extern NSString *NSWindowDidBecomeMainNotification;
- extern NSString *NSWindowDidChangeScreenNotification;
- extern NSString *NSWindowDidDeminiaturizeNotification;
- extern NSString *NSWindowDidExposeNotification;
- extern NSString *NSWindowDidMiniaturizeNotification;
- extern NSString *NSWindowDidMoveNotification;
- extern NSString *NSWindowDidResignKeyNotification;
- extern NSString *NSWindowDidResignMainNotification;
- extern NSString *NSWindowDidResizeNotification;
- extern NSString *NSWindowDidUpdateNotification;
- extern NSString *NSWindowWillCloseNotification;
- extern NSString *NSWindowWillMiniaturizeNotification;
- extern NSString *NSWindowWillMoveNotification;
- extern NSString *NSWindowWillUpdateNotification;
-