chromium/ui/ozone/platform/drm/mojom/device_cursor.mojom

// Copyright 2016 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

module ui.ozone.mojom;

import "mojo/public/mojom/base/time.mojom";
import "skia/public/mojom/bitmap.mojom";
import "ui/gfx/geometry/mojom/geometry.mojom";
import "ui/gfx/mojom/accelerated_widget.mojom";

// The DeviceCursor setting interface provided by a Mojo-enabled Ozone platform
// where functionality equivalent to the DrmCursorProxy is exposed by a
// dedicated thread within the Ozone platform.
interface DeviceCursor {
  // Sets the cursor |bitmaps| on |window| with |frame_delay|. If |point|
  // is present, sets the cursor at |point| as well.
  SetCursor(gfx.mojom.AcceleratedWidget window,
            array<skia.mojom.BitmapN32> bitmaps,
            gfx.mojom.Point? point,
            mojo_base.mojom.TimeDelta frame_delay);

  // Moves the cursor in |window| to |point|.
  MoveCursor(gfx.mojom.AcceleratedWidget window, gfx.mojom.Point point);
};