Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(320)

Side by Side Diff: ui/aura/client/drag_drop_client.h

Issue 11368072: aura: Add flag to indicate if a drag session is started with touch or mouse. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: patch Created 8 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef UI_AURA_CLIENT_DRAG_DROP_CLIENT_H_ 5 #ifndef UI_AURA_CLIENT_DRAG_DROP_CLIENT_H_
6 #define UI_AURA_CLIENT_DRAG_DROP_CLIENT_H_ 6 #define UI_AURA_CLIENT_DRAG_DROP_CLIENT_H_
7 7
8 #include "ui/aura/aura_export.h" 8 #include "ui/aura/aura_export.h"
9 #include "ui/base/dragdrop/drag_drop_types.h"
9 #include "ui/gfx/native_widget_types.h" 10 #include "ui/gfx/native_widget_types.h"
10 11
11 namespace gfx { 12 namespace gfx {
12 class Point; 13 class Point;
13 } 14 }
14 15
15 namespace ui { 16 namespace ui {
16 class LocatedEvent; 17 class LocatedEvent;
17 class OSExchangeData; 18 class OSExchangeData;
18 } 19 }
19 20
20 namespace aura { 21 namespace aura {
21 class RootWindow; 22 class RootWindow;
22 class Window; 23 class Window;
23 namespace client { 24 namespace client {
24 25
25 // An interface implemented by an object that controls a drag and drop session. 26 // An interface implemented by an object that controls a drag and drop session.
26 class AURA_EXPORT DragDropClient { 27 class AURA_EXPORT DragDropClient {
27 public: 28 public:
28 virtual ~DragDropClient() {} 29 virtual ~DragDropClient() {}
29 30
30 // Initiates a drag and drop session. Returns the drag operation that was 31 // Initiates a drag and drop session. Returns the drag operation that was
31 // applied at the end of the drag drop session. |root_location| is in the 32 // applied at the end of the drag drop session. |root_location| is in the
32 // RootWindow's coordinate system. 33 // RootWindow's coordinate system.
33 virtual int StartDragAndDrop(const ui::OSExchangeData& data, 34 virtual int StartDragAndDrop(const ui::OSExchangeData& data,
34 aura::RootWindow* root_window, 35 aura::RootWindow* root_window,
35 const gfx::Point& root_location, 36 const gfx::Point& root_location,
36 int operation) = 0; 37 int operation,
38 ui::DragDropTypes::DragEventSource source) = 0;
37 39
38 // Called when mouse is dragged during a drag and drop. 40 // Called when mouse is dragged during a drag and drop.
39 virtual void DragUpdate(aura::Window* target, 41 virtual void DragUpdate(aura::Window* target,
40 const ui::LocatedEvent& event) = 0; 42 const ui::LocatedEvent& event) = 0;
41 43
42 // Called when mouse is released during a drag and drop. 44 // Called when mouse is released during a drag and drop.
43 virtual void Drop(aura::Window* target, 45 virtual void Drop(aura::Window* target,
44 const ui::LocatedEvent& event) = 0; 46 const ui::LocatedEvent& event) = 0;
45 47
46 // Called when a drag and drop session is cancelled. 48 // Called when a drag and drop session is cancelled.
47 virtual void DragCancel() = 0; 49 virtual void DragCancel() = 0;
48 50
49 // Returns true if a drag and drop session is in progress. 51 // Returns true if a drag and drop session is in progress.
50 virtual bool IsDragDropInProgress() = 0; 52 virtual bool IsDragDropInProgress() = 0;
51 }; 53 };
52 54
53 AURA_EXPORT void SetDragDropClient(RootWindow* root_window, 55 AURA_EXPORT void SetDragDropClient(RootWindow* root_window,
54 DragDropClient* client); 56 DragDropClient* client);
55 AURA_EXPORT DragDropClient* GetDragDropClient(RootWindow* root_window); 57 AURA_EXPORT DragDropClient* GetDragDropClient(RootWindow* root_window);
56 58
57 } // namespace client 59 } // namespace client
58 } // namespace aura 60 } // namespace aura
59 61
60 #endif // UI_AURA_CLIENT_DRAG_DROP_CLIENT_H_ 62 #endif // UI_AURA_CLIENT_DRAG_DROP_CLIENT_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698