Chromium Code Reviews| Index: third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2DState.cpp |
| diff --git a/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2DState.cpp b/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2DState.cpp |
| index 510e4df93938e7b739ac62600a2a23050c96fe3a..6ad2fdb2781730acfc48551ecdc34d39c1242c2c 100644 |
| --- a/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2DState.cpp |
| +++ b/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2DState.cpp |
| @@ -23,6 +23,7 @@ |
| static const char defaultFont[] = "10px sans-serif"; |
| static const char defaultFilter[] = "none"; |
| +static const char defaultImageSmoothingQuality[] = "low"; |
| namespace blink { |
| @@ -58,6 +59,7 @@ CanvasRenderingContext2DState::CanvasRenderingContext2DState() |
| m_strokePaint.setStrokeJoin(SkPaint::kMiter_Join); |
| m_strokePaint.setAntiAlias(true); |
| setImageSmoothingEnabled(true); |
| + setImageSmoothingQuality(defaultImageSmoothingQuality); |
| } |
| CanvasRenderingContext2DState::CanvasRenderingContext2DState(const CanvasRenderingContext2DState& other, ClipListCopyMode mode) |
| @@ -479,6 +481,43 @@ bool CanvasRenderingContext2DState::imageSmoothingEnabled() const |
| return m_imagePaint.getFilterQuality() == kLow_SkFilterQuality; |
|
zino
2015/10/14 07:51:36
I think you will have to modify the imageSmoothing
|
| } |
| +void CanvasRenderingContext2DState::setImageSmoothingQuality(String quality) |
| +{ |
| + SkFilterQuality filterQuality = imageSmoothingQuality2SkFilterQuality(quality); |
| + m_strokePaint.setFilterQuality(filterQuality); |
| + m_fillPaint.setFilterQuality(filterQuality); |
| + m_imagePaint.setFilterQuality(filterQuality); |
| +} |
| + |
| +String CanvasRenderingContext2DState::imageSmoothingQuality() const |
| +{ |
| + return SkFilterQuality2imageSmoothingQuality(m_imagePaint.getFilterQuality()); |
| +} |
| + |
| +String CanvasRenderingContext2DState::SkFilterQuality2imageSmoothingQuality(SkFilterQuality quality) const |
|
zino
2015/10/14 07:51:36
I think it is better to avoid unnecessary addition
|
| +{ |
| + if (quality == kLow_SkFilterQuality) |
|
zino
2015/10/14 07:51:36
Please see: http://www.chromium.org/blink/coding-s
|
| + return "low"; |
| + else if (quality == kMedium_SkFilterQuality) |
| + return "medium"; |
| + else if (quality == kHigh_SkFilterQuality) |
| + return "high"; |
| + else |
| + return "none"; |
| +} |
| + |
| +SkFilterQuality CanvasRenderingContext2DState::imageSmoothingQuality2SkFilterQuality(String quality) const |
| +{ |
| + if (quality == "low") |
|
zino
2015/10/14 07:51:36
ditto
('ditto' means that this is the same as abov
|
| + return kLow_SkFilterQuality; |
| + else if (quality == "medium") |
| + return kMedium_SkFilterQuality; |
| + else if (quality == "high") |
| + return kHigh_SkFilterQuality; |
| + else |
| + return kNone_SkFilterQuality; |
| +} |
| + |
| bool CanvasRenderingContext2DState::shouldDrawShadows() const |
| { |
| return alphaChannel(m_shadowColor) && (m_shadowBlur || !m_shadowOffset.isZero()); |