chromium/components/viz/service/display/delegated_ink_point_renderer_base.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 COMPONENTS_VIZ_SERVICE_DISPLAY_DELEGATED_INK_POINT_RENDERER_BASE_H_
#define COMPONENTS_VIZ_SERVICE_DISPLAY_DELEGATED_INK_POINT_RENDERER_BASE_H_

#include <memory>
#include <optional>
#include <unordered_map>
#include <utility>
#include <vector>

#include "components/viz/service/display/delegated_ink_trail_data.h"
#include "components/viz/service/viz_service_export.h"
#include "mojo/public/cpp/bindings/receiver.h"
#include "ui/gfx/mojom/delegated_ink_point_renderer.mojom.h"

namespace gfx {
class DelegatedInkMetadata;
class DelegatedInkPoint;
}  // namespace gfx

namespace viz {

// This is the base class used for rendering delegated ink trails on the end of
// strokes to reduce user perceived latency. On initialization, it binds the
// mojo interface required for receiving delegated ink points that are made and
// sent from the browser process.
//
// For more information on the feature, please see the explainer:
// https://github.com/WICG/ink-enhancement/blob/main/README.md
class VIZ_SERVICE_EXPORT DelegatedInkPointRendererBase
    : public gfx::mojom::DelegatedInkPointRenderer {};

}  // namespace viz

#endif  // COMPONENTS_VIZ_SERVICE_DISPLAY_DELEGATED_INK_POINT_RENDERER_BASE_H_