OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "core/paint/SVGImagePainter.h" | 5 #include "core/paint/SVGImagePainter.h" |
6 | 6 |
7 #include "core/layout/ImageQualityController.h" | 7 #include "core/layout/ImageQualityController.h" |
8 #include "core/layout/LayoutImageResource.h" | 8 #include "core/layout/LayoutImageResource.h" |
9 #include "core/layout/svg/LayoutSVGImage.h" | 9 #include "core/layout/svg/LayoutSVGImage.h" |
10 #include "core/paint/LayoutObjectDrawingRecorder.h" | 10 #include "core/paint/LayoutObjectDrawingRecorder.h" |
11 #include "core/paint/ObjectPainter.h" | 11 #include "core/paint/ObjectPainter.h" |
12 #include "core/paint/PaintInfo.h" | 12 #include "core/paint/PaintInfo.h" |
13 #include "core/paint/SVGPaintContext.h" | 13 #include "core/paint/SVGPaintContext.h" |
14 #include "core/svg/SVGImageElement.h" | 14 #include "core/svg/SVGImageElement.h" |
15 #include "core/svg/graphics/SVGImage.h" | 15 #include "core/svg/graphics/SVGImage.h" |
16 #include "platform/graphics/GraphicsContext.h" | 16 #include "platform/graphics/GraphicsContext.h" |
17 #include "third_party/skia/include/core/SkPicture.h" | 17 #include "third_party/skia/include/core/SkPicture.h" |
18 | 18 |
19 namespace blink { | 19 namespace blink { |
20 | 20 |
21 void SVGImagePainter::paint(const PaintInfo& paintInfo) | 21 void SVGImagePainter::paint(const PaintInfo& paintInfo) |
22 { | 22 { |
23 if (paintInfo.phase != PaintPhaseForeground | 23 if (paintInfo.phase != PaintPhaseForeground |
24 || m_layoutSVGImage.style()->visibility() != VISIBLE | 24 || m_layoutSVGImage.style()->visibility() != EVisibility::Visible |
25 || !m_layoutSVGImage.imageResource()->hasImage()) | 25 || !m_layoutSVGImage.imageResource()->hasImage()) |
26 return; | 26 return; |
27 | 27 |
28 FloatRect boundingBox = m_layoutSVGImage.paintInvalidationRectInLocalSVGCoor
dinates(); | 28 FloatRect boundingBox = m_layoutSVGImage.paintInvalidationRectInLocalSVGCoor
dinates(); |
29 if (!paintInfo.cullRect().intersectsCullRect(m_layoutSVGImage.localToSVGPare
ntTransform(), boundingBox)) | 29 if (!paintInfo.cullRect().intersectsCullRect(m_layoutSVGImage.localToSVGPare
ntTransform(), boundingBox)) |
30 return; | 30 return; |
31 | 31 |
32 PaintInfo paintInfoBeforeFiltering(paintInfo); | 32 PaintInfo paintInfoBeforeFiltering(paintInfo); |
33 // Images cannot have children so do not call updateCullRect. | 33 // Images cannot have children so do not call updateCullRect. |
34 SVGTransformContext transformContext(paintInfoBeforeFiltering.context, m_lay
outSVGImage, m_layoutSVGImage.localToSVGParentTransform()); | 34 SVGTransformContext transformContext(paintInfoBeforeFiltering.context, m_lay
outSVGImage, m_layoutSVGImage.localToSVGParentTransform()); |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
89 if (cachedImage->errorOccurred()) | 89 if (cachedImage->errorOccurred()) |
90 return FloatSize(); | 90 return FloatSize(); |
91 | 91 |
92 if (cachedImage->getImage()->isSVGImage()) | 92 if (cachedImage->getImage()->isSVGImage()) |
93 return toSVGImage(cachedImage->getImage())->concreteObjectSize(m_layoutS
VGImage.objectBoundingBox().size()); | 93 return toSVGImage(cachedImage->getImage())->concreteObjectSize(m_layoutS
VGImage.objectBoundingBox().size()); |
94 | 94 |
95 return FloatSize(cachedImage->getImage()->size()); | 95 return FloatSize(cachedImage->getImage()->size()); |
96 } | 96 } |
97 | 97 |
98 } // namespace blink | 98 } // namespace blink |
OLD | NEW |