OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) Research In Motion Limited 2009-2010. All rights reserved. | 2 * Copyright (C) Research In Motion Limited 2009-2010. All rights reserved. |
3 * | 3 * |
4 * This library is free software; you can redistribute it and/or | 4 * This library is free software; you can redistribute it and/or |
5 * modify it under the terms of the GNU Library General Public | 5 * modify it under the terms of the GNU Library General Public |
6 * License as published by the Free Software Foundation; either | 6 * License as published by the Free Software Foundation; either |
7 * version 2 of the License, or (at your option) any later version. | 7 * version 2 of the License, or (at your option) any later version. |
8 * | 8 * |
9 * This library is distributed in the hope that it will be useful, | 9 * This library is distributed in the hope that it will be useful, |
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
12 * Library General Public License for more details. | 12 * Library General Public License for more details. |
13 * | 13 * |
14 * You should have received a copy of the GNU Library General Public License | 14 * You should have received a copy of the GNU Library General Public License |
15 * along with this library; see the file COPYING.LIB. If not, write to | 15 * along with this library; see the file COPYING.LIB. If not, write to |
16 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | 16 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
17 * Boston, MA 02110-1301, USA. | 17 * Boston, MA 02110-1301, USA. |
18 */ | 18 */ |
19 | 19 |
20 #ifndef RenderSVGResourceClipper_h | 20 #ifndef RenderSVGResourceClipper_h |
21 #define RenderSVGResourceClipper_h | 21 #define RenderSVGResourceClipper_h |
22 | 22 |
23 #include "core/platform/graphics/FloatRect.h" | |
24 #include "core/platform/graphics/GraphicsContext.h" | |
25 #include "core/platform/graphics/ImageBuffer.h" | |
26 #include "core/platform/graphics/IntSize.h" | |
27 #include "core/platform/graphics/Path.h" | |
28 #include "core/rendering/svg/RenderSVGResourceContainer.h" | 23 #include "core/rendering/svg/RenderSVGResourceContainer.h" |
29 #include "core/svg/SVGClipPathElement.h" | 24 #include "core/svg/SVGClipPathElement.h" |
30 #include "core/svg/SVGUnitTypes.h" | |
31 | |
32 #include <wtf/HashMap.h> | |
33 #include <wtf/OwnPtr.h> | |
34 | 25 |
35 namespace WebCore { | 26 namespace WebCore { |
36 | 27 |
37 struct ClipperData { | 28 struct ClipperData { |
38 WTF_MAKE_FAST_ALLOCATED; | 29 WTF_MAKE_FAST_ALLOCATED; |
39 public: | 30 public: |
40 OwnPtr<ImageBuffer> clipMaskImage; | 31 OwnPtr<ImageBuffer> clipMaskImage; |
41 }; | 32 }; |
42 | 33 |
43 class RenderSVGResourceClipper FINAL : public RenderSVGResourceContainer { | 34 class RenderSVGResourceClipper FINAL : public RenderSVGResourceContainer { |
(...skipping 25 matching lines...) Expand all Loading... |
69 bool drawContentIntoMaskImage(ClipperData*, const FloatRect& objectBoundingB
ox); | 60 bool drawContentIntoMaskImage(ClipperData*, const FloatRect& objectBoundingB
ox); |
70 void calculateClipContentRepaintRect(); | 61 void calculateClipContentRepaintRect(); |
71 | 62 |
72 FloatRect m_clipBoundaries; | 63 FloatRect m_clipBoundaries; |
73 HashMap<RenderObject*, ClipperData*> m_clipper; | 64 HashMap<RenderObject*, ClipperData*> m_clipper; |
74 }; | 65 }; |
75 | 66 |
76 } | 67 } |
77 | 68 |
78 #endif | 69 #endif |
OLD | NEW |