// Copyright 2023 Google LLC // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. #ifndef SkPathBridge_DEFINED #define SkPathBridge_DEFINED #include <cstddef> #include <cstdint> namespace fontations_ffi { /** C++ pure virtual interface type, exposed to Rust side to be able to write * from Skrifa path output functions to an SkPath type to capture and convert a * glyph path. */ class PathWrapper { … }; /** C++ pure virtual interface type, exposed to Rust side to be able to write * out variation design parameters to the caller-side allocated * SkFontParameters::Variation::Axis. A direct cast or mapping between a shared * C++/Rust struct and a Skia side struct is not possible because the * hidden-axis flag is private on SkFontParameters::Variation::Axis. */ class AxisWrapper { … }; struct ColorStop; struct BridgeColorStops; struct Transform; struct FillLinearParams; struct FillRadialParams; struct FillSweepParams; /** C++ pure virtual interface, exposed to Rust side for receiving COLRv0/COLRv1 drawing callback * matching Skrifa's ColorPainter trait. */ class ColorPainterWrapper { … }; } // namespace fontations_ffi #endif