OLD | NEW |
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_VIEWS_WIDGET_DESKTOP_AURA_DESKTOP_DRAG_DROP_CLIENT_AURAX11_H_ | 5 #ifndef UI_VIEWS_WIDGET_DESKTOP_AURA_DESKTOP_DRAG_DROP_CLIENT_AURAX11_H_ |
6 #define UI_VIEWS_WIDGET_DESKTOP_AURA_DESKTOP_DRAG_DROP_CLIENT_AURAX11_H_ | 6 #define UI_VIEWS_WIDGET_DESKTOP_AURA_DESKTOP_DRAG_DROP_CLIENT_AURAX11_H_ |
7 | 7 |
8 #include <X11/Xlib.h> | 8 #include <X11/Xlib.h> |
9 | 9 |
10 #include <memory> | 10 #include <memory> |
11 #include <set> | 11 #include <set> |
12 #include <vector> | 12 #include <vector> |
13 | 13 |
14 #include "base/compiler_specific.h" | 14 #include "base/compiler_specific.h" |
15 #include "base/macros.h" | 15 #include "base/macros.h" |
16 #include "base/memory/weak_ptr.h" | 16 #include "base/memory/weak_ptr.h" |
17 #include "base/timer/timer.h" | 17 #include "base/timer/timer.h" |
18 #include "ui/aura/client/drag_drop_client.h" | 18 #include "ui/aura/client/drag_drop_client.h" |
19 #include "ui/aura/window_observer.h" | 19 #include "ui/aura/window_observer.h" |
20 #include "ui/base/cursor/cursor.h" | 20 #include "ui/base/cursor/cursor.h" |
21 #include "ui/base/dragdrop/drag_drop_types.h" | 21 #include "ui/base/dragdrop/drag_drop_types.h" |
22 #include "ui/gfx/geometry/point.h" | 22 #include "ui/gfx/geometry/point.h" |
23 #include "ui/gfx/geometry/size.h" | 23 #include "ui/gfx/geometry/size.h" |
24 #include "ui/gfx/x/x11_atom_cache.h" | |
25 #include "ui/views/views_export.h" | 24 #include "ui/views/views_export.h" |
26 #include "ui/views/widget/desktop_aura/x11_move_loop_delegate.h" | 25 #include "ui/views/widget/desktop_aura/x11_move_loop_delegate.h" |
27 | 26 |
28 namespace aura { | 27 namespace aura { |
29 namespace client { | 28 namespace client { |
30 class DragDropDelegate; | 29 class DragDropDelegate; |
31 } | 30 } |
32 } | 31 } |
33 | 32 |
34 namespace gfx { | 33 namespace gfx { |
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
205 // X11MoveLoopDelegate interface. | 204 // X11MoveLoopDelegate interface. |
206 std::unique_ptr<X11MoveLoop> move_loop_; | 205 std::unique_ptr<X11MoveLoop> move_loop_; |
207 | 206 |
208 aura::Window* root_window_; | 207 aura::Window* root_window_; |
209 | 208 |
210 DesktopNativeCursorManager* cursor_manager_; | 209 DesktopNativeCursorManager* cursor_manager_; |
211 | 210 |
212 Display* xdisplay_; | 211 Display* xdisplay_; |
213 ::Window xwindow_; | 212 ::Window xwindow_; |
214 | 213 |
215 ui::X11AtomCache atom_cache_; | |
216 | |
217 // Target side information. | 214 // Target side information. |
218 class X11DragContext; | 215 class X11DragContext; |
219 std::unique_ptr<X11DragContext> target_current_context_; | 216 std::unique_ptr<X11DragContext> target_current_context_; |
220 | 217 |
221 // The modifier state for the most recent mouse move. | 218 // The modifier state for the most recent mouse move. |
222 int current_modifier_state_; | 219 int current_modifier_state_; |
223 | 220 |
224 // The Aura window that is currently under the cursor. We need to manually | 221 // The Aura window that is currently under the cursor. We need to manually |
225 // keep track of this because Windows will only call our drag enter method | 222 // keep track of this because Windows will only call our drag enter method |
226 // once when the user enters the associated X Window. But inside that X | 223 // once when the user enters the associated X Window. But inside that X |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
286 gfx::Vector2d drag_widget_offset_; | 283 gfx::Vector2d drag_widget_offset_; |
287 | 284 |
288 base::WeakPtrFactory<DesktopDragDropClientAuraX11> weak_ptr_factory_; | 285 base::WeakPtrFactory<DesktopDragDropClientAuraX11> weak_ptr_factory_; |
289 | 286 |
290 DISALLOW_COPY_AND_ASSIGN(DesktopDragDropClientAuraX11); | 287 DISALLOW_COPY_AND_ASSIGN(DesktopDragDropClientAuraX11); |
291 }; | 288 }; |
292 | 289 |
293 } // namespace views | 290 } // namespace views |
294 | 291 |
295 #endif // UI_VIEWS_WIDGET_DESKTOP_AURA_DESKTOP_DRAG_DROP_CLIENT_AURAX11_H_ | 292 #endif // UI_VIEWS_WIDGET_DESKTOP_AURA_DESKTOP_DRAG_DROP_CLIENT_AURAX11_H_ |
OLD | NEW |