Chromium Code Reviews| 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 |