Index: ash/wm/drag_details.h |
diff --git a/ash/wm/drag_details.h b/ash/wm/drag_details.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..426db259e3a62611ced2226fcca5393219e30b18 |
--- /dev/null |
+++ b/ash/wm/drag_details.h |
@@ -0,0 +1,72 @@ |
+// Copyright (c) 2013 The Chromium Authors. All rights reserved. |
oshima
2014/01/10 02:28:52
nit: nuke (c)
varkha
2014/01/10 06:13:07
Done.
|
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef ASH_WM_DRAG_DETAILS_H_ |
+#define ASH_WM_DRAG_DETAILS_H_ |
+ |
+#include "ash/ash_export.h" |
+#include "base/basictypes.h" |
+#include "base/memory/scoped_ptr.h" |
+#include "ui/aura/client/window_move_client.h" |
+#include "ui/gfx/rect.h" |
+ |
+namespace aura { |
+class Window; |
+} |
+ |
+namespace ash { |
+class WindowResizer; |
+ |
+namespace wm { |
+class WindowState; |
+} |
+ |
+struct ASH_EXPORT DragDetails { |
+ DragDetails(aura::Window* window, |
+ const gfx::Point& location, |
+ int window_component, |
+ aura::client::WindowMoveSource source); |
+ ~DragDetails(); |
+ |
+ // Initial bounds of the window in parent coordinates. |
+ const gfx::Rect initial_bounds_in_parent; |
+ |
+ // Restore bounds (in screen coordinates) of the window before the drag |
+ // started. Only set if the window is normal and is being dragged. |
+ gfx::Rect restore_bounds; |
+ |
+ // Location passed to the constructor, in |window->parent()|'s coordinates. |
+ const gfx::Point initial_location_in_parent; |
+ |
+ // Initial opacity of the window. |
+ const float initial_opacity; |
+ |
+ // The component the user pressed on. |
+ const int window_component; |
+ |
+ // Bitmask of the |kBoundsChange_| constants. |
+ const int bounds_change; |
+ |
+ // Bitmask of the |kBoundsChangeDirection_| constants. |
+ const int position_change_direction; |
+ |
+ // Bitmask of the |kBoundsChangeDirection_| constants. |
+ const int size_change_direction; |
+ |
+ // Will the drag actually modify the window? |
+ const bool is_resizable; |
+ |
+ // Source of the event initiating the drag. |
+ const aura::client::WindowMoveSource source; |
+ |
+ // True if the window should attach to the shelf after releasing. |
+ bool should_attach_to_shelf; |
+ |
+ // WindowResizer that is controlling the drag. |
+ WindowResizer* window_resizer; |
+}; |
+ |
+} // namespace ash |
+ |
+#endif // ASH_WM_DRAG_DETAILS_H_ |