OLD | NEW |
---|---|
1 /* | 1 /* |
2 * Copyright (C) 2006 Nikolas Zimmermann <zimmermann@kde.org> | 2 * Copyright (C) 2006 Nikolas Zimmermann <zimmermann@kde.org> |
3 * Copyright (C) 2007 Rob Buis <buis@kde.org> | 3 * Copyright (C) 2007 Rob Buis <buis@kde.org> |
4 * Copyright (C) 2008 Dirk Schulze <krit@webkit.org> | 4 * Copyright (C) 2008 Dirk Schulze <krit@webkit.org> |
5 * Copyright (C) Research In Motion Limited 2010. All rights reserved. | 5 * Copyright (C) Research In Motion Limited 2010. All rights reserved. |
6 * | 6 * |
7 * This library is free software; you can redistribute it and/or | 7 * This library is free software; you can redistribute it and/or |
8 * modify it under the terms of the GNU Library General Public | 8 * modify it under the terms of the GNU Library General Public |
9 * License as published by the Free Software Foundation; either | 9 * License as published by the Free Software Foundation; either |
10 * version 2 of the License, or (at your option) any later version. | 10 * version 2 of the License, or (at your option) any later version. |
(...skipping 10 matching lines...) Expand all Loading... | |
21 */ | 21 */ |
22 | 22 |
23 #include "config.h" | 23 #include "config.h" |
24 #include "core/layout/svg/LayoutSVGResourcePaintServer.h" | 24 #include "core/layout/svg/LayoutSVGResourcePaintServer.h" |
25 | 25 |
26 #include "core/style/ComputedStyle.h" | 26 #include "core/style/ComputedStyle.h" |
27 #include "core/layout/svg/SVGResources.h" | 27 #include "core/layout/svg/SVGResources.h" |
28 #include "core/layout/svg/SVGResourcesCache.h" | 28 #include "core/layout/svg/SVGResourcesCache.h" |
29 #include "platform/graphics/GraphicsContext.h" | 29 #include "platform/graphics/GraphicsContext.h" |
30 #include "platform/graphics/GraphicsContextStateSaver.h" | 30 #include "platform/graphics/GraphicsContextStateSaver.h" |
31 #include "third_party/skia/include/core/SkPaint.h" | |
31 | 32 |
32 namespace blink { | 33 namespace blink { |
33 | 34 |
34 SVGPaintServer::SVGPaintServer(Color color) | 35 SVGPaintServer::SVGPaintServer(Color color) |
35 : m_color(color) | 36 : m_color(color) |
36 { | 37 { |
37 } | 38 } |
38 | 39 |
39 SVGPaintServer::SVGPaintServer(PassRefPtr<Gradient> gradient) | 40 SVGPaintServer::SVGPaintServer(PassRefPtr<Gradient> gradient) |
40 : m_gradient(gradient) | 41 : m_gradient(gradient) |
41 , m_color(Color::black) | 42 , m_color(Color::black) |
42 { | 43 { |
43 } | 44 } |
44 | 45 |
45 SVGPaintServer::SVGPaintServer(PassRefPtr<Pattern> pattern) | 46 SVGPaintServer::SVGPaintServer(PassRefPtr<Pattern> pattern) |
46 : m_pattern(pattern) | 47 : m_pattern(pattern) |
47 , m_color(Color::black) | 48 , m_color(Color::black) |
48 { | 49 { |
49 } | 50 } |
50 | 51 |
52 void SVGPaintServer::transferToSkPaint(SkPaint& paint, float paintAlpha) | |
f(malita)
2015/04/02 15:51:12
Naming nit: applyToSkPaint maybe? ("transfer" soun
fs
2015/04/07 12:03:56
Done.
| |
53 { | |
54 SkColor baseColor = m_gradient || m_pattern ? SK_ColorBLACK : m_color.rgb(); | |
55 paint.setColor(scaleAlpha(baseColor, paintAlpha)); | |
56 if (m_pattern) | |
57 paint.setShader(m_pattern->shader()); | |
58 else if (m_gradient) | |
59 paint.setShader(m_gradient->shader()); | |
60 else | |
61 paint.setShader(nullptr); | |
62 } | |
63 | |
51 void SVGPaintServer::apply(GraphicsContext& context, LayoutSVGResourceMode resou rceMode, float paintAlpha, GraphicsContextStateSaver& stateSaver) | 64 void SVGPaintServer::apply(GraphicsContext& context, LayoutSVGResourceMode resou rceMode, float paintAlpha, GraphicsContextStateSaver& stateSaver) |
52 { | 65 { |
53 ASSERT(resourceMode == ApplyToFillMode || resourceMode == ApplyToStrokeMode) ; | 66 ASSERT(resourceMode == ApplyToFillMode || resourceMode == ApplyToStrokeMode) ; |
54 | 67 |
55 if (m_gradient || m_pattern) | 68 if (m_gradient || m_pattern) |
56 stateSaver.saveIfNeeded(); | 69 stateSaver.saveIfNeeded(); |
57 | 70 |
58 if (resourceMode == ApplyToFillMode) { | 71 if (resourceMode == ApplyToFillMode) { |
59 if (m_pattern) | 72 if (m_pattern) |
60 context.setFillPattern(m_pattern, paintAlpha); | 73 context.setFillPattern(m_pattern, paintAlpha); |
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
183 LayoutSVGResourcePaintServer::~LayoutSVGResourcePaintServer() | 196 LayoutSVGResourcePaintServer::~LayoutSVGResourcePaintServer() |
184 { | 197 { |
185 } | 198 } |
186 | 199 |
187 SVGPaintDescription LayoutSVGResourcePaintServer::requestPaintDescription(const LayoutObject& layoutObject, const ComputedStyle& style, LayoutSVGResourceMode re sourceMode) | 200 SVGPaintDescription LayoutSVGResourcePaintServer::requestPaintDescription(const LayoutObject& layoutObject, const ComputedStyle& style, LayoutSVGResourceMode re sourceMode) |
188 { | 201 { |
189 return requestPaint(layoutObject, style, resourceMode); | 202 return requestPaint(layoutObject, style, resourceMode); |
190 } | 203 } |
191 | 204 |
192 } | 205 } |
OLD | NEW |