OLD | NEW |
1 /* | 1 /* |
2 Copyright (C) 2004, 2005, 2007 Nikolas Zimmermann <zimmermann@kde.org> | 2 Copyright (C) 2004, 2005, 2007 Nikolas Zimmermann <zimmermann@kde.org> |
3 2004, 2005, 2010 Rob Buis <buis@kde.org> | 3 2004, 2005, 2010 Rob Buis <buis@kde.org> |
4 Copyright (C) Research In Motion Limited 2010. All rights reserved. | 4 Copyright (C) Research In Motion Limited 2010. All rights reserved. |
5 | 5 |
6 Based on khtml code by: | 6 Based on khtml code by: |
7 Copyright (C) 1999 Antti Koivisto (koivisto@kde.org) | 7 Copyright (C) 1999 Antti Koivisto (koivisto@kde.org) |
8 Copyright (C) 1999-2003 Lars Knoll (knoll@kde.org) | 8 Copyright (C) 1999-2003 Lars Knoll (knoll@kde.org) |
9 Copyright (C) 2002-2003 Dirk Mueller (mueller@kde.org) | 9 Copyright (C) 2002-2003 Dirk Mueller (mueller@kde.org) |
10 Copyright (C) 2002 Apple Computer, Inc. | 10 Copyright (C) 2002 Apple Computer, Inc. |
(...skipping 11 matching lines...) Expand all Loading... |
22 You should have received a copy of the GNU Library General Public License | 22 You should have received a copy of the GNU Library General Public License |
23 along with this library; see the file COPYING.LIB. If not, write to | 23 along with this library; see the file COPYING.LIB. If not, write to |
24 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | 24 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
25 Boston, MA 02110-1301, USA. | 25 Boston, MA 02110-1301, USA. |
26 */ | 26 */ |
27 | 27 |
28 #include "config.h" | 28 #include "config.h" |
29 | 29 |
30 #include "core/style/SVGComputedStyle.h" | 30 #include "core/style/SVGComputedStyle.h" |
31 | 31 |
| 32 #include "core/style/DataEquivalency.h" |
| 33 |
32 namespace blink { | 34 namespace blink { |
33 | 35 |
34 static const int kPaintOrderBitwidth = 2; | 36 static const int kPaintOrderBitwidth = 2; |
35 | 37 |
36 SVGComputedStyle::SVGComputedStyle() | 38 SVGComputedStyle::SVGComputedStyle() |
37 { | 39 { |
38 static SVGComputedStyle* initialStyle = new SVGComputedStyle(CreateInitial); | 40 static SVGComputedStyle* initialStyle = new SVGComputedStyle(CreateInitial); |
39 | 41 |
40 fill = initialStyle->fill; | 42 fill = initialStyle->fill; |
41 stroke = initialStyle->stroke; | 43 stroke = initialStyle->stroke; |
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
180 || stroke->paintUri != other->stroke->paintUri | 182 || stroke->paintUri != other->stroke->paintUri |
181 || stroke->miterLimit != other->stroke->miterLimit | 183 || stroke->miterLimit != other->stroke->miterLimit |
182 || *stroke->dashArray != *other->stroke->dashArray | 184 || *stroke->dashArray != *other->stroke->dashArray |
183 || stroke->dashOffset != other->stroke->dashOffset | 185 || stroke->dashOffset != other->stroke->dashOffset |
184 || stroke->visitedLinkPaintColor != other->stroke->visitedLinkPaintC
olor | 186 || stroke->visitedLinkPaintColor != other->stroke->visitedLinkPaintC
olor |
185 || stroke->visitedLinkPaintUri != other->stroke->visitedLinkPaintUri | 187 || stroke->visitedLinkPaintUri != other->stroke->visitedLinkPaintUri |
186 || stroke->visitedLinkPaintType != other->stroke->visitedLinkPaintTy
pe) | 188 || stroke->visitedLinkPaintType != other->stroke->visitedLinkPaintTy
pe) |
187 return true; | 189 return true; |
188 } | 190 } |
189 | 191 |
190 // The x, y, rx and ry properties require a re-layout. | 192 // The StyleLayoutData properties require a re-layout. |
191 if (layout.get() != other->layout.get()) { | 193 if (layout.get() != other->layout.get()) { |
192 if (layout->x != other->layout->x | 194 if (layout->x != other->layout->x |
193 || layout->y != other->layout->y | 195 || layout->y != other->layout->y |
194 || layout->r != other->layout->r | 196 || layout->r != other->layout->r |
195 || layout->rx != other->layout->rx | 197 || layout->rx != other->layout->rx |
196 || layout->ry != other->layout->ry | 198 || layout->ry != other->layout->ry |
197 || layout->cx != other->layout->cx | 199 || layout->cx != other->layout->cx |
198 || layout->cy != other->layout->cy) | 200 || layout->cy != other->layout->cy |
| 201 || !dataEquivalent(layout->d, other->layout->d)) |
199 return true; | 202 return true; |
200 } | 203 } |
201 | 204 |
202 return false; | 205 return false; |
203 } | 206 } |
204 | 207 |
205 bool SVGComputedStyle::diffNeedsPaintInvalidation(const SVGComputedStyle* other)
const | 208 bool SVGComputedStyle::diffNeedsPaintInvalidation(const SVGComputedStyle* other)
const |
206 { | 209 { |
207 if (stroke->opacity != other->stroke->opacity) | 210 if (stroke->opacity != other->stroke->opacity) |
208 return true; | 211 return true; |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
276 case PaintOrderMarkersStrokeFill: | 279 case PaintOrderMarkersStrokeFill: |
277 pt = paintOrderSequence(PT_MARKERS, PT_STROKE, PT_FILL); | 280 pt = paintOrderSequence(PT_MARKERS, PT_STROKE, PT_FILL); |
278 break; | 281 break; |
279 } | 282 } |
280 | 283 |
281 pt = (pt >> (kPaintOrderBitwidth*index)) & ((1u << kPaintOrderBitwidth) - 1)
; | 284 pt = (pt >> (kPaintOrderBitwidth*index)) & ((1u << kPaintOrderBitwidth) - 1)
; |
282 return (EPaintOrderType)pt; | 285 return (EPaintOrderType)pt; |
283 } | 286 } |
284 | 287 |
285 } | 288 } |
OLD | NEW |