blob: ceeb4533f5b616082329a684e21585473b3f1e96 [file] [log] [blame]
// Copyright 2021 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef THIRD_PARTY_BLINK_RENDERER_MODULES_HANDWRITING_HANDWRITING_TYPE_CONVERTERS_H_
#define THIRD_PARTY_BLINK_RENDERER_MODULES_HANDWRITING_HANDWRITING_TYPE_CONVERTERS_H_
#include <string>
#include "mojo/public/cpp/bindings/type_converter.h"
#include "third_party/blink/public/mojom/handwriting/handwriting.mojom-blink-forward.h"
#include "third_party/blink/renderer/modules/modules_export.h"
namespace blink {
class HandwritingDrawingSegment;
class HandwritingFeatureQuery;
class HandwritingFeatureQueryResult;
class HandwritingHints;
class HandwritingPoint;
class HandwritingPrediction;
class HandwritingSegment;
class HandwritingStroke;
} // namespace blink
namespace mojo {
// Converters from IDL to Mojo.
template <>
struct MODULES_EXPORT
TypeConverter<handwriting::mojom::blink::HandwritingPointPtr,
blink::HandwritingPoint*> {
static handwriting::mojom::blink::HandwritingPointPtr Convert(
const blink::HandwritingPoint* input);
};
template <>
struct MODULES_EXPORT
TypeConverter<handwriting::mojom::blink::HandwritingStrokePtr,
blink::HandwritingStroke*> {
static handwriting::mojom::blink::HandwritingStrokePtr Convert(
const blink::HandwritingStroke* input);
};
template <>
struct MODULES_EXPORT
TypeConverter<handwriting::mojom::blink::HandwritingHintsPtr,
blink::HandwritingHints*> {
static handwriting::mojom::blink::HandwritingHintsPtr Convert(
const blink::HandwritingHints* input);
};
template <>
struct MODULES_EXPORT
TypeConverter<handwriting::mojom::blink::HandwritingFeatureQueryPtr,
blink::HandwritingFeatureQuery*> {
static handwriting::mojom::blink::HandwritingFeatureQueryPtr Convert(
const blink::HandwritingFeatureQuery* input);
};
// Converters from Mojo to IDL.
template <>
struct MODULES_EXPORT
TypeConverter<blink::HandwritingPoint*,
handwriting::mojom::blink::HandwritingPointPtr> {
static blink::HandwritingPoint* Convert(
const handwriting::mojom::blink::HandwritingPointPtr& input);
};
template <>
struct MODULES_EXPORT
TypeConverter<blink::HandwritingStroke*,
handwriting::mojom::blink::HandwritingStrokePtr> {
static blink::HandwritingStroke* Convert(
const handwriting::mojom::blink::HandwritingStrokePtr& input);
};
template <>
struct MODULES_EXPORT
TypeConverter<blink::HandwritingFeatureQueryResult*,
handwriting::mojom::blink::HandwritingFeatureQueryResultPtr> {
static blink::HandwritingFeatureQueryResult* Convert(
const handwriting::mojom::blink::HandwritingFeatureQueryResultPtr& input);
};
template <>
struct MODULES_EXPORT
TypeConverter<blink::HandwritingDrawingSegment*,
handwriting::mojom::blink::HandwritingDrawingSegmentPtr> {
static blink::HandwritingDrawingSegment* Convert(
const handwriting::mojom::blink::HandwritingDrawingSegmentPtr& input);
};
template <>
struct MODULES_EXPORT
TypeConverter<blink::HandwritingSegment*,
handwriting::mojom::blink::HandwritingSegmentPtr> {
static blink::HandwritingSegment* Convert(
const handwriting::mojom::blink::HandwritingSegmentPtr& input);
};
template <>
struct MODULES_EXPORT
TypeConverter<blink::HandwritingPrediction*,
handwriting::mojom::blink::HandwritingPredictionPtr> {
static blink::HandwritingPrediction* Convert(
const handwriting::mojom::blink::HandwritingPredictionPtr& input);
};
} // namespace mojo
#endif // THIRD_PARTY_BLINK_RENDERER_MODULES_HANDWRITING_HANDWRITING_TYPE_CONVERTERS_H_