| 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 |