// Copyright 2017 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef UI_OZONE_PLATFORM_WAYLAND_HOST_WAYLAND_CURSOR_H_ #define UI_OZONE_PLATFORM_WAYLAND_HOST_WAYLAND_CURSOR_H_ #include <vector> #include "base/containers/flat_map.h" #include "base/memory/raw_ptr.h" #include "base/timer/timer.h" #include "third_party/skia/include/core/SkSurface.h" #include "ui/ozone/platform/wayland/common/wayland_object.h" #include "ui/ozone/platform/wayland/host/wayland_shm_buffer.h" class SkBitmap; struct wl_cursor; namespace gfx { class Point; } namespace ui { class WaylandConnection; class WaylandPointer; // Interface through which WaylandCursor notifies the listener that it has // attached another buffer to the pointer surface. The listener may free the // previous buffer if it was holding it. class WaylandCursorBufferListener { … }; // Manages the actual visual representation (what users see drawn) of the // 'pointer' (which is the Wayland term for mouse/mice). // // Encapsulates the low-level job such as surface and buffer management and // Wayland protocol calls. class WaylandCursor { … }; } // namespace ui #endif // UI_OZONE_PLATFORM_WAYLAND_HOST_WAYLAND_CURSOR_H_