| OLD | NEW |
| (Empty) |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 #ifndef SVGClipPainter_h | |
| 6 #define SVGClipPainter_h | |
| 7 | |
| 8 #include "platform/geometry/FloatRect.h" | |
| 9 #include "platform/graphics/paint/DisplayItemClient.h" | |
| 10 #include "wtf/Allocator.h" | |
| 11 | |
| 12 namespace blink { | |
| 13 | |
| 14 class AffineTransform; | |
| 15 class GraphicsContext; | |
| 16 class LayoutObject; | |
| 17 class LayoutSVGResourceClipper; | |
| 18 | |
| 19 enum class ClipperState; | |
| 20 | |
| 21 class SVGClipPainter { | |
| 22 STACK_ALLOCATED(); | |
| 23 | |
| 24 public: | |
| 25 SVGClipPainter(LayoutSVGResourceClipper& clip) : m_clip(clip) {} | |
| 26 | |
| 27 bool prepareEffect(const LayoutObject&, | |
| 28 const FloatRect&, | |
| 29 const FloatRect&, | |
| 30 const FloatPoint&, | |
| 31 GraphicsContext&, | |
| 32 ClipperState&); | |
| 33 void finishEffect(const LayoutObject&, GraphicsContext&, ClipperState&); | |
| 34 | |
| 35 private: | |
| 36 // Return false if there is a problem drawing the mask. | |
| 37 bool drawClipAsMask(GraphicsContext&, | |
| 38 const LayoutObject&, | |
| 39 const FloatRect& targetBoundingBox, | |
| 40 const FloatRect& targetVisualRect, | |
| 41 const AffineTransform&, | |
| 42 const FloatPoint&); | |
| 43 | |
| 44 LayoutSVGResourceClipper& m_clip; | |
| 45 }; | |
| 46 | |
| 47 } // namespace blink | |
| 48 | |
| 49 #endif // SVGClipPainter_h | |
| OLD | NEW |