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. |
11 * | 11 * |
12 * This library is distributed in the hope that it will be useful, | 12 * This library is distributed in the hope that it will be useful, |
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
15 * Library General Public License for more details. | 15 * Library General Public License for more details. |
16 * | 16 * |
17 * You should have received a copy of the GNU Library General Public License | 17 * You should have received a copy of the GNU Library General Public License |
18 * along with this library; see the file COPYING.LIB. If not, write to | 18 * along with this library; see the file COPYING.LIB. If not, write to |
19 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | 19 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
20 * Boston, MA 02110-1301, USA. | 20 * Boston, MA 02110-1301, USA. |
21 */ | 21 */ |
22 | 22 |
23 #include "core/layout/svg/LayoutSVGResourcePaintServer.h" | 23 #include "core/layout/svg/LayoutSVGResourcePaintServer.h" |
24 | 24 |
25 #include "core/layout/svg/SVGResources.h" | 25 #include "core/layout/svg/SVGResources.h" |
26 #include "core/layout/svg/SVGResourcesCache.h" | 26 #include "core/layout/svg/SVGResourcesCache.h" |
27 #include "core/style/ComputedStyle.h" | 27 #include "core/style/ComputedStyle.h" |
| 28 #include "platform/graphics/paint/PaintCanvas.h" |
| 29 #include "platform/graphics/paint/PaintFlags.h" |
28 #include "platform/graphics/skia/SkiaUtils.h" | 30 #include "platform/graphics/skia/SkiaUtils.h" |
29 #include "third_party/skia/include/core/SkPaint.h" | 31 #include "third_party/skia/include/core/SkPaint.h" |
30 | 32 |
31 namespace blink { | 33 namespace blink { |
32 | 34 |
33 SVGPaintServer::SVGPaintServer(Color color) : m_color(color) {} | 35 SVGPaintServer::SVGPaintServer(Color color) : m_color(color) {} |
34 | 36 |
35 SVGPaintServer::SVGPaintServer(PassRefPtr<Gradient> gradient, | 37 SVGPaintServer::SVGPaintServer(PassRefPtr<Gradient> gradient, |
36 const AffineTransform& transform) | 38 const AffineTransform& transform) |
37 : m_gradient(gradient), m_transform(transform), m_color(Color::black) {} | 39 : m_gradient(gradient), m_transform(transform), m_color(Color::black) {} |
38 | 40 |
39 SVGPaintServer::SVGPaintServer(PassRefPtr<Pattern> pattern, | 41 SVGPaintServer::SVGPaintServer(PassRefPtr<Pattern> pattern, |
40 const AffineTransform& transform) | 42 const AffineTransform& transform) |
41 : m_pattern(pattern), m_transform(transform), m_color(Color::black) {} | 43 : m_pattern(pattern), m_transform(transform), m_color(Color::black) {} |
42 | 44 |
43 void SVGPaintServer::applyToSkPaint(SkPaint& paint, float paintAlpha) { | 45 void SVGPaintServer::applyToSkPaint(PaintFlags& paint, float paintAlpha) { |
44 SkColor baseColor = m_gradient || m_pattern ? SK_ColorBLACK : m_color.rgb(); | 46 SkColor baseColor = m_gradient || m_pattern ? SK_ColorBLACK : m_color.rgb(); |
45 paint.setColor(scaleAlpha(baseColor, paintAlpha)); | 47 paint.setColor(scaleAlpha(baseColor, paintAlpha)); |
46 if (m_pattern) { | 48 if (m_pattern) { |
47 m_pattern->applyToPaint(paint, affineTransformToSkMatrix(m_transform)); | 49 m_pattern->applyToPaint(paint, affineTransformToSkMatrix(m_transform)); |
48 } else if (m_gradient) { | 50 } else if (m_gradient) { |
49 m_gradient->applyToPaint(paint, affineTransformToSkMatrix(m_transform)); | 51 m_gradient->applyToPaint(paint, affineTransformToSkMatrix(m_transform)); |
50 } else { | 52 } else { |
51 paint.setShader(nullptr); | 53 paint.setShader(nullptr); |
52 } | 54 } |
53 } | 55 } |
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
182 LayoutSVGResourcePaintServer::~LayoutSVGResourcePaintServer() {} | 184 LayoutSVGResourcePaintServer::~LayoutSVGResourcePaintServer() {} |
183 | 185 |
184 SVGPaintDescription LayoutSVGResourcePaintServer::requestPaintDescription( | 186 SVGPaintDescription LayoutSVGResourcePaintServer::requestPaintDescription( |
185 const LayoutObject& layoutObject, | 187 const LayoutObject& layoutObject, |
186 const ComputedStyle& style, | 188 const ComputedStyle& style, |
187 LayoutSVGResourceMode resourceMode) { | 189 LayoutSVGResourceMode resourceMode) { |
188 return requestPaint(layoutObject, style, resourceMode); | 190 return requestPaint(layoutObject, style, resourceMode); |
189 } | 191 } |
190 | 192 |
191 } // namespace blink | 193 } // namespace blink |
OLD | NEW |