#include "src/core/SkStrikeSpec.h"
#include "include/core/SkFont.h"
#include "include/core/SkFontTypes.h"
#include "include/core/SkMatrix.h"
#include "include/core/SkPaint.h"
#include "include/core/SkPathEffect.h"
#include "include/core/SkSurfaceProps.h"
#include "src/base/SkTLazy.h"
#include "src/core/SkFontPriv.h"
#include "src/core/SkGlyph.h"
#include "src/core/SkStrike.h"
#include "src/core/SkStrikeCache.h"
#include "src/text/StrikeForGPU.h"
#include <utility>
SkStrikeSpec::SkStrikeSpec(const SkDescriptor& descriptor, sk_sp<SkTypeface> typeface)
: … { … }
SkStrikeSpec::SkStrikeSpec(const SkStrikeSpec&) = default;
SkStrikeSpec::SkStrikeSpec(SkStrikeSpec&&) = default;
SkStrikeSpec::~SkStrikeSpec() = default;
SkStrikeSpec SkStrikeSpec::MakeMask(const SkFont& font, const SkPaint& paint,
const SkSurfaceProps& surfaceProps,
SkScalerContextFlags scalerContextFlags,
const SkMatrix& deviceMatrix) { … }
SkStrikeSpec SkStrikeSpec::MakeTransformMask(const SkFont& font,
const SkPaint& paint,
const SkSurfaceProps& surfaceProps,
SkScalerContextFlags scalerContextFlags,
const SkMatrix& deviceMatrix) { … }
std::tuple<SkStrikeSpec, SkScalar> SkStrikeSpec::MakePath(
const SkFont& font, const SkPaint& paint,
const SkSurfaceProps& surfaceProps,
SkScalerContextFlags scalerContextFlags) { … }
std::tuple<SkStrikeSpec, SkScalar> SkStrikeSpec::MakeCanonicalized(
const SkFont& font, const SkPaint* paint) { … }
SkStrikeSpec SkStrikeSpec::MakeWithNoDevice(const SkFont& font, const SkPaint* paint) { … }
bool SkStrikeSpec::ShouldDrawAsPath(
const SkPaint& paint, const SkFont& font, const SkMatrix& viewMatrix) { … }
SkString SkStrikeSpec::dump() const { … }
SkStrikeSpec SkStrikeSpec::MakePDFVector(const SkTypeface& typeface, int* size) { … }
SkStrikeSpec::SkStrikeSpec(const SkFont& font, const SkPaint& paint,
const SkSurfaceProps& surfaceProps,
SkScalerContextFlags scalerContextFlags,
const SkMatrix& deviceMatrix) { … }
sk_sp<sktext::StrikeForGPU> SkStrikeSpec::findOrCreateScopedStrike(
sktext::StrikeForGPUCacheInterface* cache) const { … }
sk_sp<SkStrike> SkStrikeSpec::findOrCreateStrike() const { … }
sk_sp<SkStrike> SkStrikeSpec::findOrCreateStrike(SkStrikeCache* cache) const { … }
SkBulkGlyphMetrics::SkBulkGlyphMetrics(const SkStrikeSpec& spec)
: … { … }
SkBulkGlyphMetrics::~SkBulkGlyphMetrics() = default;
SkSpan<const SkGlyph*> SkBulkGlyphMetrics::glyphs(SkSpan<const SkGlyphID> glyphIDs) { … }
const SkGlyph* SkBulkGlyphMetrics::glyph(SkGlyphID glyphID) { … }
SkBulkGlyphMetricsAndPaths::SkBulkGlyphMetricsAndPaths(const SkStrikeSpec& spec)
: … { … }
SkBulkGlyphMetricsAndPaths::SkBulkGlyphMetricsAndPaths(sk_sp<SkStrike>&& strike)
: … { … }
SkBulkGlyphMetricsAndPaths::~SkBulkGlyphMetricsAndPaths() = default;
SkSpan<const SkGlyph*> SkBulkGlyphMetricsAndPaths::glyphs(SkSpan<const SkGlyphID> glyphIDs) { … }
const SkGlyph* SkBulkGlyphMetricsAndPaths::glyph(SkGlyphID glyphID) { … }
void SkBulkGlyphMetricsAndPaths::findIntercepts(
const SkScalar* bounds, SkScalar scale, SkScalar xPos,
const SkGlyph* glyph, SkScalar* array, int* count) { … }
SkBulkGlyphMetricsAndDrawables::SkBulkGlyphMetricsAndDrawables(const SkStrikeSpec& spec)
: … { … }
SkBulkGlyphMetricsAndDrawables::SkBulkGlyphMetricsAndDrawables(sk_sp<SkStrike>&& strike)
: … { … }
SkBulkGlyphMetricsAndDrawables::~SkBulkGlyphMetricsAndDrawables() = default;
SkSpan<const SkGlyph*> SkBulkGlyphMetricsAndDrawables::glyphs(SkSpan<const SkGlyphID> glyphIDs) { … }
const SkGlyph* SkBulkGlyphMetricsAndDrawables::glyph(SkGlyphID glyphID) { … }
SkBulkGlyphMetricsAndImages::SkBulkGlyphMetricsAndImages(const SkStrikeSpec& spec)
: … { … }
SkBulkGlyphMetricsAndImages::SkBulkGlyphMetricsAndImages(sk_sp<SkStrike>&& strike)
: … { … }
SkBulkGlyphMetricsAndImages::~SkBulkGlyphMetricsAndImages() = default;
SkSpan<const SkGlyph*> SkBulkGlyphMetricsAndImages::glyphs(SkSpan<const SkPackedGlyphID> glyphIDs) { … }
const SkGlyph* SkBulkGlyphMetricsAndImages::glyph(SkPackedGlyphID packedID) { … }
const SkDescriptor& SkBulkGlyphMetricsAndImages::descriptor() const { … }