| OLD | NEW |
| 1 // Copyright (c) 2014 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "config.h" | 5 #include "config.h" |
| 6 #include "platform/graphics/GraphicsContextState.h" | 6 #include "platform/graphics/GraphicsContextState.h" |
| 7 | 7 |
| 8 #include "platform/graphics/skia/SkiaUtils.h" | 8 #include "platform/graphics/skia/SkiaUtils.h" |
| 9 | 9 |
| 10 namespace WebCore { | 10 namespace WebCore { |
| (...skipping 18 matching lines...) Expand all Loading... |
| 29 m_strokePaint.setStrokeCap(SkPaint::kDefault_Cap); | 29 m_strokePaint.setStrokeCap(SkPaint::kDefault_Cap); |
| 30 m_strokePaint.setStrokeJoin(SkPaint::kDefault_Join); | 30 m_strokePaint.setStrokeJoin(SkPaint::kDefault_Join); |
| 31 m_strokePaint.setStrokeMiter(SkFloatToScalar(m_strokeData.miterLimit())); | 31 m_strokePaint.setStrokeMiter(SkFloatToScalar(m_strokeData.miterLimit())); |
| 32 m_strokePaint.setFilterLevel(WebCoreInterpolationQualityToSkFilterLevel(m_in
terpolationQuality)); | 32 m_strokePaint.setFilterLevel(WebCoreInterpolationQualityToSkFilterLevel(m_in
terpolationQuality)); |
| 33 m_strokePaint.setAntiAlias(m_shouldAntialias); | 33 m_strokePaint.setAntiAlias(m_shouldAntialias); |
| 34 m_fillPaint.setColor(applyAlpha(m_fillColor.rgb())); | 34 m_fillPaint.setColor(applyAlpha(m_fillColor.rgb())); |
| 35 m_fillPaint.setFilterLevel(WebCoreInterpolationQualityToSkFilterLevel(m_inte
rpolationQuality)); | 35 m_fillPaint.setFilterLevel(WebCoreInterpolationQualityToSkFilterLevel(m_inte
rpolationQuality)); |
| 36 m_fillPaint.setAntiAlias(m_shouldAntialias); | 36 m_fillPaint.setAntiAlias(m_shouldAntialias); |
| 37 } | 37 } |
| 38 | 38 |
| 39 void GraphicsContextState::copy(GraphicsContextState* source) | 39 GraphicsContextState::GraphicsContextState(const GraphicsContextState& other) |
| 40 : m_strokePaint(other.m_strokePaint) |
| 41 , m_fillPaint(other.m_fillPaint) |
| 42 , m_strokeData(other.m_strokeData) |
| 43 , m_fillColor(other.m_fillColor) |
| 44 , m_fillRule(other.m_fillRule) |
| 45 , m_fillGradient(other.m_fillGradient) |
| 46 , m_fillPattern(other.m_fillPattern) |
| 47 , m_looper(other.m_looper) |
| 48 , m_textDrawingMode(other.m_textDrawingMode) |
| 49 , m_alpha(other.m_alpha) |
| 50 , m_xferMode(other.m_xferMode) |
| 51 , m_colorFilter(other.m_colorFilter) |
| 52 , m_compositeOperator(other.m_compositeOperator) |
| 53 , m_blendMode(other.m_blendMode) |
| 54 , m_interpolationQuality(other.m_interpolationQuality) |
| 55 , m_saveCount(0) |
| 56 , m_shouldAntialias(other.m_shouldAntialias) |
| 57 , m_shouldSmoothFonts(other.m_shouldSmoothFonts) |
| 58 , m_shouldClampToSourceRect(other.m_shouldClampToSourceRect) { } |
| 59 |
| 60 void GraphicsContextState::copy(const GraphicsContextState& source) |
| 40 { | 61 { |
| 41 m_strokePaint = source->m_strokePaint; | 62 new (this) GraphicsContextState(source); |
| 42 m_fillPaint = source->m_fillPaint; | |
| 43 m_strokeData = source->m_strokeData; | |
| 44 m_fillColor = source->m_fillColor; | |
| 45 m_fillRule = source->m_fillRule; | |
| 46 m_fillGradient = source->m_fillGradient; | |
| 47 m_fillPattern = source->m_fillPattern; | |
| 48 m_looper = source->m_looper; | |
| 49 m_textDrawingMode = source->m_textDrawingMode; | |
| 50 m_alpha = source->m_alpha; | |
| 51 m_xferMode = source->m_xferMode; | |
| 52 m_colorFilter = source->m_colorFilter; | |
| 53 m_compositeOperator = source->m_compositeOperator; | |
| 54 m_blendMode = source->m_blendMode; | |
| 55 m_interpolationQuality = source->m_interpolationQuality; | |
| 56 m_saveCount = 0; | |
| 57 m_shouldAntialias = source->m_shouldAntialias; | |
| 58 m_shouldSmoothFonts = source->m_shouldSmoothFonts; | |
| 59 m_shouldClampToSourceRect = source->m_shouldClampToSourceRect; | |
| 60 } | 63 } |
| 61 | 64 |
| 62 const SkPaint& GraphicsContextState::strokePaint(int strokedPathLength) const | 65 const SkPaint& GraphicsContextState::strokePaint(int strokedPathLength) const |
| 63 { | 66 { |
| 64 if (m_strokeData.gradient() && m_strokeData.gradient()->shaderChanged()) | 67 if (m_strokeData.gradient() && m_strokeData.gradient()->shaderChanged()) |
| 65 m_strokePaint.setShader(m_strokeData.gradient()->shader()); | 68 m_strokePaint.setShader(m_strokeData.gradient()->shader()); |
| 66 m_strokeData.setupPaintDashPathEffect(&m_strokePaint, strokedPathLength); | 69 m_strokeData.setupPaintDashPathEffect(&m_strokePaint, strokedPathLength); |
| 67 return m_strokePaint; | 70 return m_strokePaint; |
| 68 } | 71 } |
| 69 | 72 |
| (...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 243 | 246 |
| 244 void GraphicsContextState::setShouldAntialias(bool shouldAntialias) | 247 void GraphicsContextState::setShouldAntialias(bool shouldAntialias) |
| 245 { | 248 { |
| 246 m_shouldAntialias = shouldAntialias; | 249 m_shouldAntialias = shouldAntialias; |
| 247 m_strokePaint.setAntiAlias(shouldAntialias); | 250 m_strokePaint.setAntiAlias(shouldAntialias); |
| 248 m_fillPaint.setAntiAlias(shouldAntialias); | 251 m_fillPaint.setAntiAlias(shouldAntialias); |
| 249 } | 252 } |
| 250 | 253 |
| 251 | 254 |
| 252 } // namespace WebCore | 255 } // namespace WebCore |
| OLD | NEW |