26#include <initializer_list>
53 for (
int i = 0;
i <
N;
i++) {
64 auto data = wBuffer.snapshotAsData();
74 for (
auto [srcGlyphID, dstGlyphID] :
SkMakeZip(srcGlyphs, dstGlyphs)) {
75 REPORTER_ASSERT(r, srcGlyphID.packedGlyphID == dstGlyphID.packedGlyphID);
83 auto strike = strikeSpec.findOrCreateStrike();
91 promise.flatten(wBuffer);
93 auto data = wBuffer.snapshotAsData();
103 promise.flatten(wBuffer);
106 wBuffer.writeUInt(12);
107 wBuffer.writeUInt(12);
108 wBuffer.writeUInt(12);
109 auto data = wBuffer.snapshotAsData();
119 promise.flatten(wBuffer);
121 wBuffer.writeUInt(12);
122 wBuffer.writeUInt(12);
123 wBuffer.writeUInt(12);
124 auto data = wBuffer.snapshotAsData();
sktext::gpu::SubRunAllocator SubRunAllocator
sktext::gpu::GlyphVector GlyphVector
SkSpan(Container &&) -> SkSpan< std::remove_pointer_t< decltype(std::data(std::declval< Container >()))> >
constexpr auto SkMakeZip(Ts &&... ts)
#define REPORTER_ASSERT(r, cond,...)
static std::tuple< SkStrikeSpec, SkScalar > MakeCanonicalized(const SkFont &font, const SkPaint *paint=nullptr)
void write32(int32_t value)
const SkDescriptor & descriptor() const
static const SkDescriptor & GetDescriptor(const GlyphVector &v)
static SkSpan< GlyphVector::Variant > GetGlyphs(const GlyphVector &v)
static GlyphVector Make(SkStrikePromise &&promise, SkSpan< const SkPackedGlyphID > glyphs, SubRunAllocator *alloc)
static std::optional< GlyphVector > MakeFromBuffer(SkReadBuffer &buffer, const SkStrikeClient *strikeClient, SubRunAllocator *alloc)
font
Font Metadata and Metrics.
DEF_TEST(GlyphVector_Serialization, r)
std::shared_ptr< const fml::Mapping > data