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 30 matching lines...) Expand all Loading... |
41 , m_color(Color::black) | 41 , m_color(Color::black) |
42 { | 42 { |
43 } | 43 } |
44 | 44 |
45 SVGPaintServer::SVGPaintServer(PassRefPtr<Pattern> pattern) | 45 SVGPaintServer::SVGPaintServer(PassRefPtr<Pattern> pattern) |
46 : m_pattern(pattern) | 46 : m_pattern(pattern) |
47 , m_color(Color::black) | 47 , m_color(Color::black) |
48 { | 48 { |
49 } | 49 } |
50 | 50 |
51 void SVGPaintServer::apply(GraphicsContext& context, RenderSVGResourceMode resou
rceMode, GraphicsContextStateSaver* stateSaver) | 51 void SVGPaintServer::apply(GraphicsContext& context, RenderSVGResourceMode resou
rceMode, float paintAlpha, GraphicsContextStateSaver& stateSaver) |
52 { | 52 { |
53 ASSERT(resourceMode == ApplyToFillMode || resourceMode == ApplyToStrokeMode)
; | 53 ASSERT(resourceMode == ApplyToFillMode || resourceMode == ApplyToStrokeMode)
; |
54 if (stateSaver && (m_gradient || m_pattern)) | 54 |
55 stateSaver->saveIfNeeded(); | 55 if (m_gradient || m_pattern) |
| 56 stateSaver.saveIfNeeded(); |
56 | 57 |
57 if (resourceMode == ApplyToFillMode) { | 58 if (resourceMode == ApplyToFillMode) { |
58 if (m_pattern) | 59 if (m_pattern) |
59 context.setFillPattern(m_pattern); | 60 context.setFillPattern(m_pattern, paintAlpha); |
60 else if (m_gradient) | 61 else if (m_gradient) |
61 context.setFillGradient(m_gradient); | 62 context.setFillGradient(m_gradient, paintAlpha); |
62 else | 63 else |
63 context.setFillColor(m_color); | 64 context.setFillColor(multiplyAlpha(m_color.rgb(), paintAlpha)); |
64 } else { | 65 } else { |
65 if (m_pattern) | 66 if (m_pattern) |
66 context.setStrokePattern(m_pattern); | 67 context.setStrokePattern(m_pattern, paintAlpha); |
67 else if (m_gradient) | 68 else if (m_gradient) |
68 context.setStrokeGradient(m_gradient); | 69 context.setStrokeGradient(m_gradient, paintAlpha); |
69 else | 70 else |
70 context.setStrokeColor(m_color); | 71 context.setStrokeColor(multiplyAlpha(m_color.rgb(), paintAlpha)); |
71 } | 72 } |
72 } | 73 } |
73 | 74 |
74 void SVGPaintServer::prependTransform(const AffineTransform& transform) | 75 void SVGPaintServer::prependTransform(const AffineTransform& transform) |
75 { | 76 { |
76 ASSERT(m_gradient || m_pattern); | 77 ASSERT(m_gradient || m_pattern); |
77 if (m_pattern) | 78 if (m_pattern) |
78 m_pattern->setPatternSpaceTransform(transform * m_pattern->patternSpaceT
ransform()); | 79 m_pattern->setPatternSpaceTransform(transform * m_pattern->patternSpaceT
ransform()); |
79 else | 80 else |
80 m_gradient->setGradientSpaceTransform(transform * m_gradient->gradientSp
aceTransform()); | 81 m_gradient->setGradientSpaceTransform(transform * m_gradient->gradientSp
aceTransform()); |
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
182 RenderSVGResourcePaintServer::~RenderSVGResourcePaintServer() | 183 RenderSVGResourcePaintServer::~RenderSVGResourcePaintServer() |
183 { | 184 { |
184 } | 185 } |
185 | 186 |
186 SVGPaintDescription RenderSVGResourcePaintServer::requestPaintDescription(const
RenderObject& renderer, const RenderStyle& style, RenderSVGResourceMode resource
Mode) | 187 SVGPaintDescription RenderSVGResourcePaintServer::requestPaintDescription(const
RenderObject& renderer, const RenderStyle& style, RenderSVGResourceMode resource
Mode) |
187 { | 188 { |
188 return requestPaint(renderer, style, resourceMode); | 189 return requestPaint(renderer, style, resourceMode); |
189 } | 190 } |
190 | 191 |
191 } | 192 } |
OLD | NEW |