OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) Research In Motion Limited 2010. All rights reserved. | 2 * Copyright (C) Research In Motion Limited 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 |
(...skipping 24 matching lines...) Expand all Loading... |
35 virtual ~RenderSVGResourceContainer(); | 35 virtual ~RenderSVGResourceContainer(); |
36 | 36 |
37 virtual void removeAllClientsFromCache(bool markForInvalidation = true) = 0; | 37 virtual void removeAllClientsFromCache(bool markForInvalidation = true) = 0; |
38 virtual void removeClientFromCache(RenderObject*, bool markForInvalidation =
true) = 0; | 38 virtual void removeClientFromCache(RenderObject*, bool markForInvalidation =
true) = 0; |
39 | 39 |
40 virtual void layout() override; | 40 virtual void layout() override; |
41 virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle) ov
erride final; | 41 virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle) ov
erride final; |
42 | 42 |
43 virtual bool isSVGResourceContainer() const override final { return true; } | 43 virtual bool isSVGResourceContainer() const override final { return true; } |
44 | 44 |
45 static AffineTransform transformOnNonScalingStroke(RenderObject*, const Affi
neTransform& resourceTransform); | |
46 | |
47 void idChanged(); | 45 void idChanged(); |
48 void addClientRenderLayer(Node*); | 46 void addClientRenderLayer(Node*); |
49 void addClientRenderLayer(RenderLayer*); | 47 void addClientRenderLayer(RenderLayer*); |
50 void removeClientRenderLayer(RenderLayer*); | 48 void removeClientRenderLayer(RenderLayer*); |
51 | 49 |
52 void invalidateCacheAndMarkForLayout(SubtreeLayoutScope* = 0); | 50 void invalidateCacheAndMarkForLayout(SubtreeLayoutScope* = 0); |
53 | 51 |
54 protected: | 52 protected: |
55 // When adding modes, make sure we don't overflow m_invalidationMask below. | 53 // When adding modes, make sure we don't overflow m_invalidationMask below. |
56 enum InvalidationMode { | 54 enum InvalidationMode { |
57 LayoutAndBoundariesInvalidation = 1 << 0, | 55 LayoutAndBoundariesInvalidation = 1 << 0, |
58 BoundariesInvalidation = 1 << 1, | 56 BoundariesInvalidation = 1 << 1, |
59 PaintInvalidation = 1 << 2, | 57 PaintInvalidation = 1 << 2, |
60 ParentOnlyInvalidation = 1 << 3 | 58 ParentOnlyInvalidation = 1 << 3 |
61 }; | 59 }; |
62 | 60 |
63 // Used from the invalidateClient/invalidateClients methods from classes, in
heriting from us. | 61 // Used from the invalidateClient/invalidateClients methods from classes, in
heriting from us. |
64 void markAllClientsForInvalidation(InvalidationMode); | 62 void markAllClientsForInvalidation(InvalidationMode); |
65 void markAllClientLayersForInvalidation(); | 63 void markAllClientLayersForInvalidation(); |
66 void markClientForInvalidation(RenderObject*, InvalidationMode); | 64 void markClientForInvalidation(RenderObject*, InvalidationMode); |
67 | 65 |
68 void clearInvalidationMask() { m_invalidationMask = 0; } | 66 void clearInvalidationMask() { m_invalidationMask = 0; } |
69 | 67 |
70 static AffineTransform computeResourceSpaceTransform(RenderObject*, const Af
fineTransform& baseTransform, const SVGRenderStyle&, unsigned short resourceMode
); | |
71 | |
72 bool m_isInLayout; | 68 bool m_isInLayout; |
73 | 69 |
74 private: | 70 private: |
75 friend class SVGResourcesCache; | 71 friend class SVGResourcesCache; |
76 void addClient(RenderObject*); | 72 void addClient(RenderObject*); |
77 void removeClient(RenderObject*); | 73 void removeClient(RenderObject*); |
78 | 74 |
79 virtual void willBeDestroyed() override final; | 75 virtual void willBeDestroyed() override final; |
80 void registerResource(); | 76 void registerResource(); |
81 | 77 |
(...skipping 28 matching lines...) Expand all Loading... |
110 return static_cast<Renderer*>(container); | 106 return static_cast<Renderer*>(container); |
111 } | 107 } |
112 return 0; | 108 return 0; |
113 } | 109 } |
114 | 110 |
115 DEFINE_RENDER_OBJECT_TYPE_CASTS(RenderSVGResourceContainer, isSVGResourceContain
er()); | 111 DEFINE_RENDER_OBJECT_TYPE_CASTS(RenderSVGResourceContainer, isSVGResourceContain
er()); |
116 | 112 |
117 } | 113 } |
118 | 114 |
119 #endif | 115 #endif |
OLD | NEW |