chromium/ui/gfx/delegated_ink_point.h

// Copyright 2020 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_GFX_DELEGATED_INK_POINT_H_
#define UI_GFX_DELEGATED_INK_POINT_H_

#include <limits>
#include <optional>
#include <string>

#include "base/time/time.h"
#include "mojo/public/cpp/bindings/struct_traits.h"
#include "ui/gfx/geometry/point_f.h"
#include "ui/gfx/gfx_export.h"

namespace gfx {

class DelegatedInkMetadata;
namespace mojom {
class DelegatedInkPointDataView;
}  // namespace mojom

// This class stores the information required to draw a single point of a
// delegated ink trail. When the WebAPI |updateInkTrailStartPoint| is called,
// the renderer requests that the browser begin sending these to viz. Viz
// will collect them, and then during |DrawAndSwap| will use the
// DelegatedInkPoints that have arrived from the browser along with the
// DelegatedInkMetadata that the renderer sent to draw a delegated ink trail on
// the screen, connected to the end of the already rendered ink stroke.
//
// Explainer for the feature:
// https://github.com/WICG/ink-enhancement/blob/main/README.md
class GFX_EXPORT DelegatedInkPoint {};

}  // namespace gfx

#endif  // UI_GFX_DELEGATED_INK_POINT_H_