OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org) |
3 * (C) 2000 Antti Koivisto (koivisto@kde.org) | 3 * (C) 2000 Antti Koivisto (koivisto@kde.org) |
4 * (C) 2000 Dirk Mueller (mueller@kde.org) | 4 * (C) 2000 Dirk Mueller (mueller@kde.org) |
5 * (C) 2004 Allan Sandfeld Jensen (kde@carewolf.com) | 5 * (C) 2004 Allan Sandfeld Jensen (kde@carewolf.com) |
6 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights
reserved. | 6 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights
reserved. |
7 * Copyright (C) 2009 Google Inc. All rights reserved. | 7 * Copyright (C) 2009 Google Inc. All rights reserved. |
8 * | 8 * |
9 * This library is free software; you can redistribute it and/or | 9 * This library is free software; you can redistribute it and/or |
10 * modify it under the terms of the GNU Library General Public | 10 * modify it under the terms of the GNU Library General Public |
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
88 void applyTransform(const AffineTransform& localToAncestorTransform, bool id
entityStatusUnknown = true) | 88 void applyTransform(const AffineTransform& localToAncestorTransform, bool id
entityStatusUnknown = true) |
89 { | 89 { |
90 if (identityStatusUnknown && localToAncestorTransform.isIdentity()) | 90 if (identityStatusUnknown && localToAncestorTransform.isIdentity()) |
91 return; | 91 return; |
92 | 92 |
93 context->concatCTM(localToAncestorTransform); | 93 context->concatCTM(localToAncestorTransform); |
94 | 94 |
95 if (rect == infiniteRect()) | 95 if (rect == infiniteRect()) |
96 return; | 96 return; |
97 | 97 |
98 rect = localToAncestorTransform.inverse().mapRect(rect); | 98 if (localToAncestorTransform.isInvertible()) |
| 99 rect = localToAncestorTransform.inverse().mapRect(rect); |
| 100 else |
| 101 rect.setSize(IntSize(0, 0)); |
99 } | 102 } |
100 | 103 |
101 static IntRect infiniteRect() { return IntRect(LayoutRect::infiniteRect());
} | 104 static IntRect infiniteRect() { return IntRect(LayoutRect::infiniteRect());
} |
102 const RenderLayerModelObject* paintContainer() const { return m_paintContain
er; } | 105 const RenderLayerModelObject* paintContainer() const { return m_paintContain
er; } |
103 | 106 |
104 ListHashSet<RenderInline*>* outlineObjects() { return m_outlineObjects; } | 107 ListHashSet<RenderInline*>* outlineObjects() { return m_outlineObjects; } |
105 void setOutlineObjects(ListHashSet<RenderInline*>* objects) { m_outlineObjec
ts = objects; } | 108 void setOutlineObjects(ListHashSet<RenderInline*>* objects) { m_outlineObjec
ts = objects; } |
106 | 109 |
107 // FIXME: Introduce setters/getters at some point. Requires a lot of changes
throughout rendering/. | 110 // FIXME: Introduce setters/getters at some point. Requires a lot of changes
throughout rendering/. |
108 GraphicsContext* context; | 111 GraphicsContext* context; |
109 IntRect rect; | 112 IntRect rect; |
110 PaintPhase phase; | 113 PaintPhase phase; |
111 PaintBehavior paintBehavior; | 114 PaintBehavior paintBehavior; |
112 RenderObject* paintingRoot; // used to draw just one element and its visual
kids | 115 RenderObject* paintingRoot; // used to draw just one element and its visual
kids |
113 OverlapTestRequestMap* overlapTestRequests; | 116 OverlapTestRequestMap* overlapTestRequests; |
114 | 117 |
115 private: | 118 private: |
116 | 119 |
117 const RenderLayerModelObject* m_paintContainer; // the layer object that ori
ginates the current painting | 120 const RenderLayerModelObject* m_paintContainer; // the layer object that ori
ginates the current painting |
118 ListHashSet<RenderInline*>* m_outlineObjects; // used to list outlines that
should be painted by a block with inline children | 121 ListHashSet<RenderInline*>* m_outlineObjects; // used to list outlines that
should be painted by a block with inline children |
119 }; | 122 }; |
120 | 123 |
121 } // namespace WebCore | 124 } // namespace WebCore |
122 | 125 |
123 #endif // PaintInfo_h | 126 #endif // PaintInfo_h |
OLD | NEW |