f219d798ee07925198eb5c19e95ae8773352eff2
[WebKit-https.git] / Tools / DumpRenderTree / mac / DumpRenderTreeDraggingInfo.mm
1 /*
2  * Copyright (C) 2005, 2006 Apple Inc.  All rights reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions
6  * are met:
7  *
8  * 1.  Redistributions of source code must retain the above copyright
9  *     notice, this list of conditions and the following disclaimer. 
10  * 2.  Redistributions in binary form must reproduce the above copyright
11  *     notice, this list of conditions and the following disclaimer in the
12  *     documentation and/or other materials provided with the distribution. 
13  * 3.  Neither the name of Apple Inc. ("Apple") nor the names of
14  *     its contributors may be used to endorse or promote products derived
15  *     from this software without specific prior written permission. 
16  *
17  * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
18  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20  * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
21  * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27  */
28
29 #import "config.h"
30 #import "DumpRenderTreeDraggingInfo.h"
31
32 #if !PLATFORM(IOS)
33
34 #import "DumpRenderTree.h"
35 #import "EventSendingController.h"
36 #import <WebKit/WebKit.h>
37
38 @implementation DumpRenderTreeDraggingInfo
39
40 - (id)initWithImage:(NSImage *)anImage offset:(NSSize)o pasteboard:(NSPasteboard *)pboard source:(id)source
41 {
42     draggedImage = [anImage retain];
43     draggingPasteboard = [pboard retain];
44     draggingSource = [source retain];
45     offset = o;
46     
47     return [super init];
48 }
49
50 - (void)dealloc
51 {
52     [draggedImage release];
53     [draggingPasteboard release];
54     [draggingSource release];
55     [super dealloc];
56 }
57
58 - (NSWindow *)draggingDestinationWindow 
59 {
60     return [[mainFrame webView] window];
61 }
62
63 - (NSDragOperation)draggingSourceOperationMask 
64 {
65     return [draggingSource draggingSourceOperationMaskForLocal:YES];
66 }
67
68 - (NSPoint)draggingLocation
69
70     return lastMousePosition; 
71 }
72
73 - (NSPoint)draggedImageLocation 
74 {
75     return NSMakePoint(lastMousePosition.x + offset.width, lastMousePosition.y + offset.height);
76 }
77
78 - (NSImage *)draggedImage
79 {
80     return draggedImage;
81 }
82
83 - (NSPasteboard *)draggingPasteboard
84 {
85     return draggingPasteboard;
86 }
87
88 - (id)draggingSource
89 {
90     return draggingSource;
91 }
92
93 - (int)draggingSequenceNumber
94 {
95     NSLog(@"DumpRenderTree doesn't support draggingSequenceNumber");
96     return 0;
97 }
98
99 - (void)slideDraggedImageTo:(NSPoint)screenPoint
100 {
101     NSLog(@"DumpRenderTree doesn't support slideDraggedImageTo:");
102 }
103
104 - (NSArray *)namesOfPromisedFilesDroppedAtDestination:(NSURL *)dropDestination
105 {
106     NSLog(@"DumpRenderTree doesn't support namesOfPromisedFilesDroppedAtDestination:");
107     return nil;
108 }
109
110 - (NSDraggingFormation)draggingFormation
111 {
112     return NSDraggingFormationDefault;
113 }
114
115 - (void)setDraggingFormation:(NSDraggingFormation)formation
116 {
117     // Ignored.
118 }
119
120 - (BOOL)animatesToDestination
121 {
122     return NO;
123 }
124
125 - (void)setAnimatesToDestination:(BOOL)flag
126 {
127     // Ignored.
128 }
129
130 - (NSInteger)numberOfValidItemsForDrop
131 {
132     return 1;
133 }
134
135 - (void)setNumberOfValidItemsForDrop:(NSInteger)number
136 {
137     // Ignored.
138 }
139
140 - (void)enumerateDraggingItemsWithOptions:(NSEnumerationOptions)enumOpts forView:(NSView *)view classes:(NSArray *)classArray searchOptions:(NSDictionary *)searchOptions usingBlock:(void (^)(NSDraggingItem *draggingItem, NSInteger idx, BOOL *stop))block
141 {
142     // Ignored.
143 }
144
145 -(NSSpringLoadingHighlight)springLoadingHighlight
146 {
147     return NSSpringLoadingHighlightNone;
148 }
149
150 - (void)resetSpringLoading
151 {
152 }
153
154 @end
155
156 #endif // !PLATFORM(IOS)