Index: ui/views/widget/desktop_aura/x11_whole_screen_move_loop.h |
diff --git a/ui/views/widget/desktop_aura/x11_whole_screen_move_loop.h b/ui/views/widget/desktop_aura/x11_whole_screen_move_loop.h |
index cf3665ecac6c8d968340e85121419cf6570c0bbd..bdfa222428888a195bf4ee0d68192f3a1b48ff1d 100644 |
--- a/ui/views/widget/desktop_aura/x11_whole_screen_move_loop.h |
+++ b/ui/views/widget/desktop_aura/x11_whole_screen_move_loop.h |
@@ -10,26 +10,16 @@ |
#include "base/memory/weak_ptr.h" |
#include "ui/events/platform/platform_event_dispatcher.h" |
#include "ui/gfx/image/image_skia.h" |
-#include "ui/gfx/native_widget_types.h" |
-#include "ui/gfx/vector2d_f.h" |
#include "ui/views/widget/desktop_aura/x11_whole_screen_move_loop_delegate.h" |
-typedef struct _XDisplay XDisplay; |
- |
-namespace aura { |
-class Window; |
-} |
- |
namespace ui { |
class ScopedEventDispatcher; |
} |
namespace views { |
-class Widget; |
- |
-// Runs a nested message loop and grabs the mouse. This is used to implement |
-// dragging. |
+// Runs a nested message loop. This is used to implement dragging including |
+// dragging browser tabs and drag and drop. |
class X11WholeScreenMoveLoop : public ui::PlatformEventDispatcher { |
public: |
explicit X11WholeScreenMoveLoop(X11WholeScreenMoveLoopDelegate* delegate); |
@@ -39,36 +29,15 @@ class X11WholeScreenMoveLoop : public ui::PlatformEventDispatcher { |
virtual bool CanDispatchEvent(const ui::PlatformEvent& event) OVERRIDE; |
virtual uint32_t DispatchEvent(const ui::PlatformEvent& event) OVERRIDE; |
- // Runs the nested message loop. While the mouse is grabbed, use |cursor| as |
- // the mouse cursor. Returns true if the move-loop is completed successfully. |
- // If the pointer-grab fails, or the move-loop is canceled by the user (e.g. |
- // by pressing escape), then returns false. |
- bool RunMoveLoop(aura::Window* window, gfx::NativeCursor cursor); |
- |
- // Updates the cursor while the move loop is running. |
- void UpdateCursor(gfx::NativeCursor cursor); |
+ // Runs a nested message loop. Returns true if the move-loop is completed |
+ // successfully. Returns false if the move-loop is canceled by the user (e.g. |
+ // by pressing Esc). |
+ bool RunMoveLoop(); |
// Ends the RunMoveLoop() that's currently in progress. |
void EndMoveLoop(); |
- // Sets an image to be used during the drag. |
- void SetDragImage(const gfx::ImageSkia& image, gfx::Vector2dF offset); |
- |
private: |
- // Grabs the pointer and keyboard, setting the mouse cursor to |cursor|. |
- // Returns true if the grab was successful. |
- bool GrabPointerAndKeyboard(gfx::NativeCursor cursor); |
- |
- // Creates an input-only window to be used during the drag. |
- Window CreateDragInputWindow(XDisplay* display); |
- |
- // Creates a window to show the drag image during the drag. |
- void CreateDragImageWindow(); |
- |
- // Checks to see if |in_image| is an image that has any visible regions |
- // (defined as having a pixel with alpha > 32). If so, return true. |
- bool CheckIfIconValid(); |
- |
// Dispatch mouse movement event to |delegate_| in a posted task. |
void DispatchMouseMovement(); |
@@ -80,25 +49,15 @@ class X11WholeScreenMoveLoop : public ui::PlatformEventDispatcher { |
bool should_reset_mouse_flags_; |
- // An invisible InputOnly window . We create this window so we can track the |
- // cursor wherever it goes on screen during a drag, since normal windows |
- // don't receive pointer motion events outside of their bounds. |
- ::Window grab_input_window_; |
- |
base::Closure quit_closure_; |
- // Keeps track of whether the move-loop is cancled by the user (e.g. by |
+ // Keeps track of whether the move-loop is canceled by the user (e.g. by |
// pressing escape). |
bool canceled_; |
// Keeps track of whether we still have a pointer grab at the end of the loop. |
bool has_grab_; |
- // A Widget is created during the drag if there is an image available to be |
- // used during the drag. |
- scoped_ptr<Widget> drag_widget_; |
- gfx::ImageSkia drag_image_; |
- gfx::Vector2dF drag_offset_; |
XMotionEvent last_xmotion_; |
base::WeakPtrFactory<X11WholeScreenMoveLoop> weak_factory_; |