blob: bba23d19be5f3a93e3f6d00b315079ca8a434b40 [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_EVENTS_OZONE_EVDEV_CURSOR_DELEGATE_EVDEV_H_
#define UI_EVENTS_OZONE_EVDEV_CURSOR_DELEGATE_EVDEV_H_
#include "ui/events/ozone/evdev/events_ozone_evdev_export.h"
#include "ui/gfx/geometry/point_f.h"
#include "ui/gfx/native_widget_types.h"
namespace gfx {
class Vector2dF;
class Rect;
}
namespace ui {
class EVENTS_OZONE_EVDEV_EXPORT CursorDelegateEvdev {
public:
virtual ~CursorDelegateEvdev() {}
// Move the cursor.
virtual void MoveCursor(const gfx::Vector2dF& delta) = 0;
virtual void MoveCursorTo(gfx::AcceleratedWidget widget,
const gfx::PointF& location) = 0;
virtual void MoveCursorTo(const gfx::PointF& location) = 0;
// Location in screen.
virtual gfx::PointF GetLocation() = 0;
// Cursor visibility.
virtual bool IsCursorVisible() = 0;
// The bounds that the cursor is confined to.
virtual gfx::Rect GetCursorConfinedBounds() = 0;
};
} // namespace ui
#endif // UI_EVENTS_OZONE_EVDEV_CURSOR_DELEGATE_EVDEV_H_