a456abdf46237c94cad7d791dea125fa29cd4911
[WebKit-https.git] / WebKit / Misc.subproj / WebNSViewExtras.h
1 /*
2     WebNSViewExtras.h
3         Copyright (c) 2002, Apple, Inc. All rights reserved.
4 */
5
6 #import <AppKit/AppKit.h>
7
8 #define WebDragImageAlpha    0.75
9
10 @class WebArchive;
11 @class WebFrameView;
12 @class WebImageRenderer;
13
14 @interface NSView (WebExtras)
15
16 // Returns the nearest enclosing view of the given class, or nil if none.
17 - (NSView *)_web_superviewOfClass:(Class)class;
18
19 // Returns the nearest enclosing view of the given class, or nil if none.
20 // Stops searching and returns nil when limitClass is encountered
21 - (NSView *)_web_superviewOfClass:(Class)class stoppingAtClass:(Class)limitClass;
22
23 // Returns the first WebFrameView superview. Only works if self is the WebFrameView's document view.
24 - (WebFrameView *)_web_parentWebFrameView;
25
26 // returns whether a drag should begin starting with mouseDownEvent; if the time
27 // passes expiration or the mouse moves less than the hysteresis before the mouseUp event,
28 // returns NO, else returns YES.
29 - (BOOL)_web_dragShouldBeginFromMouseDown:(NSEvent *)mouseDownEvent
30                            withExpiration:(NSDate *)expiration
31                               xHysteresis:(float)xHysteresis
32                               yHysteresis:(float)yHysteresis;
33
34 // Calls _web_dragShouldBeginFromMouseDown:withExpiration:xHysteresis:yHysteresis: with
35 // the default values for xHysteresis and yHysteresis
36 - (BOOL)_web_dragShouldBeginFromMouseDown:(NSEvent *)mouseDownEvent
37                            withExpiration:(NSDate *)expiration;
38
39 // Convenience method. Returns NSDragOperationCopy if _web_bestURLFromPasteboard doesn't return nil.
40 // Returns NSDragOperationNone otherwise.
41 - (NSDragOperation)_web_dragOperationForDraggingInfo:(id <NSDraggingInfo>)sender;
42
43 // Resizes and applies alpha to image and drags it.
44 - (void)_web_dragImage:(WebImageRenderer *)image
45                   rect:(NSRect)rect
46                  event:(NSEvent *)event
47             pasteboard:(NSPasteboard *)pasteboard 
48                 source:(id)source
49                 offset:(NSPoint *)dragImageOffset;
50
51 @end