"SK_IGNORE_LINEONLY_AA_CONVEX_PATH_OPTS",
"SK_SUPPORT_LEGACY_GRADIENT_DITHERING",
"SK_SUPPORT_LEGACY_DRAWFILTER",
+ "SK_SUPPORT_LEGACY_PIXELREF_API",
"SK_IGNORE_GPU_DITHER",
"SK_SUPPORT_LEGACY_SHADER_ISABITMAP",
"SK_SUPPORT_LEGACY_EMBOSSMASKFILTER",
*/
class SK_API SkPixelRef : public SkRefCnt {
public:
+#ifdef SK_SUPPORT_LEGACY_PIXELREF_API
SkPixelRef(const SkImageInfo&, void* addr, size_t rowBytes, sk_sp<SkColorTable> = nullptr);
const SkImageInfo& info() const {
*/
virtual size_t getAllocatedSizeInBytes() const { return 0; }
+#endif
+
SkPixelRef(int width, int height, void* addr, size_t rowBytes, sk_sp<SkColorTable> = nullptr);
~SkPixelRef() override;
# Turn on a few Google3-specific build fixes.
"GOOGLE3",
# Staging flags for API changes
+ "SK_SUPPORT_LEGACY_PIXELREF_API",
# Temporarily Disable analytic AA for Google3
"SK_NO_ANALYTIC_AA",
]
}
if (fInfo.alphaType() != newAlphaType) {
fInfo = fInfo.makeAlphaType(newAlphaType);
- if (fPixelRef) {
- fPixelRef->changeAlphaType(newAlphaType);
- }
}
SkDEBUGCODE(this->validate();)
return true;
size_t rowBytes, sk_sp<SkColorTable> ctable,
SkMallocPixelRef::ReleaseProc proc,
void* context)
- : INHERITED(info, storage, rowBytes, sanitize(info, std::move(ctable)))
+ : INHERITED(info.width(), info.height(), storage, rowBytes, sanitize(info, std::move(ctable)))
, fReleaseProc(proc)
, fReleaseProcContext(context)
{}
static int32_t gInstCounter;
#endif
+#ifdef SK_SUPPORT_LEGACY_PIXELREF_API
+
static SkImageInfo validate_info(const SkImageInfo& info) {
SkAlphaType newAlphaType = info.alphaType();
SkAssertResult(SkColorTypeValidateAlphaType(info.colorType(), info.alphaType(), &newAlphaType));
fAddedToCache.store(false);
}
+#endif
+
SkPixelRef::SkPixelRef(int width, int height, void* pixels, size_t rowBytes,
sk_sp<SkColorTable> ctable)
: fInfo(SkImageInfo::MakeUnknown(width, height))
#ifdef SK_BUILD_FOR_ANDROID_FRAMEWORK
+#ifdef SK_SUPPORT_LEGACY_PIXELREF_API
// This is undefined if there are clients in-flight trying to use us
void SkPixelRef::android_only_reset(const SkImageInfo& info, size_t rowBytes,
sk_sp<SkColorTable> ctable) {
this->notifyPixelsChanged();
}
+#endif
+
// This is undefined if there are clients in-flight trying to use us
void SkPixelRef::android_only_reset(int width, int height, size_t rowBytes,
sk_sp<SkColorTable> ctable) {
this->onNotifyPixelsChanged();
}
+#ifdef SK_SUPPORT_LEGACY_PIXELREF_API
void SkPixelRef::changeAlphaType(SkAlphaType at) {
*const_cast<SkImageInfo*>(&fInfo) = fInfo.makeAlphaType(at);
}
+#endif
void SkPixelRef::setImmutable() {
fMutability = kImmutable;