blob: a9ac2330937651922f0965914c547cca6d46d15d [file] [log] [blame]
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef UI_BASE_X_X11_MOVE_LOOP_DELEGATE_H_
#define UI_BASE_X_X11_MOVE_LOOP_DELEGATE_H_
namespace gfx {
class Point;
}
namespace ui {
// Receives mouse events while the X11MoveLoop is tracking a drag.
class X11MoveLoopDelegate {
public:
virtual ~X11MoveLoopDelegate() = default;
// Called when we receive a mouse move event.
virtual void OnMouseMovement(const gfx::Point& screen_point,
int flags,
base::TimeTicks event_time) = 0;
// Called when the mouse button is released.
virtual void OnMouseReleased() = 0;
// Called when the user has released the mouse button. The move loop will
// release the grab after this has been called.
virtual void OnMoveLoopEnded() = 0;
};
} // namespace ui
#endif // UI_BASE_X_X11_MOVE_LOOP_DELEGATE_H_