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

Unified Diff: src/core/SkBitmapFilter.cpp

Issue 18978014: Working plumb of image scaling: (Closed) Base URL: https://skia.googlecode.com/svn/trunk
Patch Set: Rework plumb to have filter quality as an enum, avoid allocating new purgable bitmap Created 7 years, 5 months 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/SkBitmapFilter.cpp
diff --git a/src/core/SkBitmapFilter.cpp b/src/core/SkBitmapFilter.cpp
index 3cbafd743c1eb9943b451f0a8129105b32da3253..2b9520d270ac3f9ea2965bc6c24e2960de64b645 100644
--- a/src/core/SkBitmapFilter.cpp
+++ b/src/core/SkBitmapFilter.cpp
@@ -147,12 +147,13 @@ static SkBitmapFilter *allocateBitmapFilter() {
}
SkBitmapProcState::ShaderProc32
-SkBitmapProcState::chooseBitmapFilterProc(const SkPaint& paint) {
- // we need to be requested
- uint32_t mask = SkPaint::kFilterBitmap_Flag
- | SkPaint::kHighQualityFilterBitmap_Flag
- ;
- if ((paint.getFlags() & mask) != mask) {
+SkBitmapProcState::chooseBitmapFilterProc() {
+
+ if (fFilterQuality != kHQ_BitmapFilter) {
+ return NULL;
+ }
+
+ if (fAlphaScale != 256) {
return NULL;
}
@@ -166,11 +167,6 @@ SkBitmapProcState::chooseBitmapFilterProc(const SkPaint& paint) {
return NULL;
}
- // TODO: support blending inside our procs
- if (0xFF != paint.getAlpha()) {
- return NULL;
- }
-
if (fInvType & (SkMatrix::kAffine_Mask | SkMatrix::kScale_Mask)) {
fBitmapFilter = allocateBitmapFilter();
}
« no previous file with comments | « gyp/gmslides.gypi ('k') | src/core/SkBitmapProcShader.cpp » ('j') | src/core/SkBitmapProcState.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698