#include "src/text/gpu/TextBlobRedrawCoordinator.h"
#include "include/core/SkMatrix.h"
#include "include/core/SkPoint.h"
#include "include/core/SkTypes.h"
#include "src/core/SkDevice.h"
#include "src/core/SkStrikeCache.h"
#include "src/text/GlyphRun.h"
#include <utility>
class SkCanvas;
class SkPaint;
usingnamespaceskia_private;
DECLARE_SKMESSAGEBUS_MESSAGE(…)
namespace sktext::gpu {
static inline bool SkShouldPostMessageToBus(
const TextBlobRedrawCoordinator::PurgeBlobMessage& msg, uint32_t msgBusUniqueID) { … }
TextBlobRedrawCoordinator::TextBlobRedrawCoordinator(uint32_t messageBusID)
: … { … }
void TextBlobRedrawCoordinator::drawGlyphRunList(SkCanvas* canvas,
const SkMatrix& viewMatrix,
const sktext::GlyphRunList& glyphRunList,
const SkPaint& paint,
SkStrikeDeviceInfo strikeDeviceInfo,
const AtlasDrawDelegate& atlasDelegate) { … }
sk_sp<TextBlob> TextBlobRedrawCoordinator::findOrCreateBlob(const SkMatrix& viewMatrix,
const GlyphRunList& glyphRunList,
const SkPaint& paint,
SkStrikeDeviceInfo strikeDeviceInfo) { … }
static void post_purge_blob_message(uint32_t blobID, uint32_t cacheID) { … }
sk_sp<TextBlob> TextBlobRedrawCoordinator::addOrReturnExisting(
const GlyphRunList& glyphRunList, sk_sp<TextBlob> blob) { … }
sk_sp<TextBlob> TextBlobRedrawCoordinator::find(const TextBlob::Key& key) { … }
void TextBlobRedrawCoordinator::remove(TextBlob* blob) { … }
void TextBlobRedrawCoordinator::internalRemove(TextBlob* blob) { … }
void TextBlobRedrawCoordinator::freeAll() { … }
void TextBlobRedrawCoordinator::purgeStaleBlobs() { … }
void TextBlobRedrawCoordinator::internalPurgeStaleBlobs() { … }
size_t TextBlobRedrawCoordinator::usedBytes() const { … }
bool TextBlobRedrawCoordinator::isOverBudget() const { … }
void TextBlobRedrawCoordinator::internalCheckPurge(TextBlob* blob) { … }
sk_sp<TextBlob> TextBlobRedrawCoordinator::internalAdd(sk_sp<TextBlob> blob) { … }
TextBlobRedrawCoordinator::BlobIDCacheEntry::BlobIDCacheEntry() : … { … }
TextBlobRedrawCoordinator::BlobIDCacheEntry::BlobIDCacheEntry(uint32_t id) : … { … }
uint32_t TextBlobRedrawCoordinator::BlobIDCacheEntry::GetKey(
const TextBlobRedrawCoordinator::BlobIDCacheEntry& entry) { … }
void TextBlobRedrawCoordinator::BlobIDCacheEntry::addBlob(sk_sp<TextBlob> blob) { … }
void TextBlobRedrawCoordinator::BlobIDCacheEntry::removeBlob(TextBlob* blob) { … }
sk_sp<TextBlob>
TextBlobRedrawCoordinator::BlobIDCacheEntry::find(const TextBlob::Key& key) const { … }
int TextBlobRedrawCoordinator::BlobIDCacheEntry::findBlobIndex(const TextBlob::Key& key) const { … }
}