#include "src/text/gpu/SlugImpl.h"
#include "include/core/SkMatrix.h"
#include "include/core/SkPoint.h"
#include "include/core/SkRect.h"
#include "include/core/SkSerialProcs.h"
#include "include/private/base/SkAssert.h"
#include "include/private/chromium/Slug.h"
#include "src/core/SkDevice.h"
#include "src/core/SkReadBuffer.h"
#include "src/core/SkWriteBuffer.h"
#include "src/text/GlyphRun.h"
#include "src/text/gpu/SubRunAllocator.h"
#include "src/text/gpu/SubRunContainer.h"
#include <memory>
#include <utility>
class SkStrikeClient;
namespace sktext::gpu {
SlugImpl::SlugImpl(SubRunAllocator&& alloc,
gpu::SubRunContainerOwner subRuns,
SkRect sourceBounds,
SkPoint origin)
: … { … }
void SlugImpl::doFlatten(SkWriteBuffer& buffer) const { … }
sk_sp<Slug> SlugImpl::MakeFromBuffer(SkReadBuffer& buffer, const SkStrikeClient* client) { … }
SkMatrix position_matrix(const SkMatrix& drawMatrix, SkPoint drawOrigin) { … }
sk_sp<SlugImpl> SlugImpl::Make(const SkMatrix& viewMatrix,
const sktext::GlyphRunList& glyphRunList,
const SkPaint& paint,
SkStrikeDeviceInfo strikeDeviceInfo,
sktext::StrikeForGPUCacheInterface* strikeCache) { … }
void Slug::AddDeserialProcs(SkDeserialProcs* procs, const SkStrikeClient* client) { … }
}