#include <optional>
#include "base/memory/raw_ptr.h"
#include "content/browser/media/capture/mouse_cursor_overlay_controller.h"
#include "third_party/skia/include/core/SkBitmap.h"
#include "ui/aura/client/cursor_shape_client.h"
#include "ui/aura/window.h"
#include "ui/aura/window_tree_host.h"
#include "ui/base/cursor/cursor.h"
#include "ui/base/cursor/mojom/cursor_type.mojom-shared.h"
#include "ui/events/event.h"
#include "ui/events/event_handler.h"
#include "ui/gfx/geometry/point.h"
#include "ui/wm/public/activation_client.h"
namespace content {
class MouseCursorOverlayController::Observer final
: public ui::EventHandler,
public aura::WindowObserver { … };
MouseCursorOverlayController::MouseCursorOverlayController()
: … { … }
MouseCursorOverlayController::~MouseCursorOverlayController() { … }
void MouseCursorOverlayController::SetTargetView(aura::Window* window) { … }
gfx::NativeCursor MouseCursorOverlayController::GetCurrentCursorOrDefault()
const { … }
gfx::RectF MouseCursorOverlayController::ComputeRelativeBoundsForOverlay(
const gfx::NativeCursor& cursor,
const gfx::PointF& location) const { … }
void MouseCursorOverlayController::DisconnectFromToolkitForTesting() { … }
SkBitmap MouseCursorOverlayController::GetCursorImage(
const gfx::NativeCursor& cursor) { … }
}