Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(104)

Unified Diff: src/core/SkDevice.cpp

Issue 719253002: rename filterTextFlags to disableLCD (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/core/SkDevice.cpp
diff --git a/src/core/SkDevice.cpp b/src/core/SkDevice.cpp
index 3d5000f5694ae97752cdf01ed70da33aa340aca5..c9afe67b02617dcc19d189127a7b608b069e31a7 100644
--- a/src/core/SkDevice.cpp
+++ b/src/core/SkDevice.cpp
@@ -28,18 +28,6 @@ SkBaseDevice::~SkBaseDevice() {
SkDELETE(fMetaData);
}
-SkBaseDevice* SkBaseDevice::createCompatibleDevice(const SkImageInfo& info) {
- return this->onCreateDevice(info, kGeneral_Usage);
-}
-
-SkBaseDevice* SkBaseDevice::createCompatibleDeviceForSaveLayer(const SkImageInfo& info) {
- return this->onCreateDevice(info, kSaveLayer_Usage);
-}
-
-SkBaseDevice* SkBaseDevice::createCompatibleDeviceForImageFilter(const SkImageInfo& info) {
- return this->onCreateDevice(info, kImageFilter_Usage);
-}
-
SkMetaData& SkBaseDevice::getMetaData() {
// metadata users are rare, so we lazily allocate it. If that changes we
// can decide to just make it a field in the device (rather than a ptr)
@@ -65,6 +53,22 @@ void SkBaseDevice::setPixelGeometry(SkPixelGeometry geo) {
fLeakyProperties->setPixelGeometry(geo);
}
+void SkBaseDevice::setup(SkPixelGeometry geo, Usage usage) {
+ switch (usage) {
+ case kGeneral_Usage:
+ break;
+ case kSaveLayer_Usage:
+ if (this->imageInfo().alphaType() != kOpaque_SkAlphaType) {
+ geo = kUnknown_SkPixelGeometry;
+ }
+ break;
+ case kImageFilter_Usage:
+ geo = kUnknown_SkPixelGeometry;
+ break;
+ }
+ fLeakyProperties->setPixelGeometry(geo);
+}
+
SkSurface* SkBaseDevice::newSurface(const SkImageInfo&, const SkSurfaceProps&) { return NULL; }
const void* SkBaseDevice::peekPixels(SkImageInfo*, size_t*) { return NULL; }
@@ -187,3 +191,18 @@ bool SkBaseDevice::EXPERIMENTAL_drawPicture(SkCanvas*, const SkPicture*, const S
// The base class doesn't perform any accelerated picture rendering
return false;
}
+
+//////////////////////////////////////////////////////////////////////////////////////////
+
+bool SkBaseDevice::disableLCD(const SkPaint& paint) const {
+ if (!paint.isLCDRenderText() || !paint.isAntiAlias()) {
+ return false;
+ }
+
+ if (kUnknown_SkPixelGeometry == fLeakyProperties->pixelGeometry()) {
+ return true;
+ }
+
+ return this->onDisableLCD(paint);
+}
+

Powered by Google App Engine
This is Rietveld 408576698