/* * Copyright 2018 The Android Open Source Project * * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file.
*/
private: // GlyphIDs and positions. const SkZip<const SkGlyphID, const SkPoint> fSource; // Original text from SkTextBlob if present. Will be empty of not present. const SkSpan<constchar> fText; // Original clusters from SkTextBlob if present. Will be empty if not present. const SkSpan<const uint32_t> fClusters; // Possible RSXForm information const SkSpan<const SkVector> fScaledRotations; // Font for this run modified to have glyph encoding and left alignment.
SkFont fFont;
};
class GlyphRunList {
SkSpan<const GlyphRun> fGlyphRuns;
private: // The text blob is needed to hook up the call back that the SkTextBlob destructor calls. It // should be used for nothing else. const SkTextBlob* fOriginalTextBlob{nullptr}; const SkRect fSourceBounds{SkRect::MakeEmpty()}; const SkPoint fOrigin = {0, 0};
GlyphRunBuilder* const fBuilder;
};
int fMaxTotalRunSize{0};
skia_private::AutoTMalloc<SkPoint> fPositions; int fMaxScaledRotations{0};
skia_private::AutoTMalloc<SkVector> fScaledRotations;
std::vector<GlyphRun> fGlyphRunListStorage;
std::optional<GlyphRunList> fGlyphRunList; // Defaults to no value;
// Used as a temporary for preparing using utfN text. This implies that only one run of // glyph ids will ever be needed because blobs are already glyph based.
std::vector<SkGlyphID> fScratchGlyphIDs;
};
} // namespace sktext
#endif// SkGlyphRun_DEFINED
Messung V0.5
¤ Dauer der Verarbeitung: 0.15 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.