OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
4 * (C) 2007 David Smith (catfish.man@gmail.com) | 4 * (C) 2007 David Smith (catfish.man@gmail.com) |
5 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc.
All rights reserved. | 5 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc.
All rights reserved. |
6 * Copyright (C) Research In Motion Limited 2010. All rights reserved. | 6 * Copyright (C) Research In Motion Limited 2010. All rights reserved. |
7 * | 7 * |
8 * This library is free software; you can redistribute it and/or | 8 * This library is free software; you can redistribute it and/or |
9 * modify it under the terms of the GNU Library General Public | 9 * modify it under the terms of the GNU Library General Public |
10 * License as published by the Free Software Foundation; either | 10 * License as published by the Free Software Foundation; either |
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
106 unsigned m_type : 2; // Type (left or right aligned) | 106 unsigned m_type : 2; // Type (left or right aligned) |
107 unsigned m_ownership : 2; // Ownership | 107 unsigned m_ownership : 2; // Ownership |
108 unsigned m_isPlaced : 1; | 108 unsigned m_isPlaced : 1; |
109 unsigned m_isLowestNonOverhangingFloatInChild : 1; | 109 unsigned m_isLowestNonOverhangingFloatInChild : 1; |
110 #if ENABLE(ASSERT) | 110 #if ENABLE(ASSERT) |
111 unsigned m_isInPlacedTree : 1; | 111 unsigned m_isInPlacedTree : 1; |
112 #endif | 112 #endif |
113 }; | 113 }; |
114 | 114 |
115 struct FloatingObjectHashFunctions { | 115 struct FloatingObjectHashFunctions { |
| 116 STATIC_ONLY(FloatingObjectHashFunctions); |
116 static unsigned hash(FloatingObject* key) { return DefaultHash<LayoutBox*>::
Hash::hash(key->layoutObject()); } | 117 static unsigned hash(FloatingObject* key) { return DefaultHash<LayoutBox*>::
Hash::hash(key->layoutObject()); } |
117 static unsigned hash(const OwnPtr<FloatingObject>& key) { return hash(key.ge
t()); } | 118 static unsigned hash(const OwnPtr<FloatingObject>& key) { return hash(key.ge
t()); } |
118 static unsigned hash(const PassOwnPtr<FloatingObject>& key) { return hash(ke
y.get()); } | 119 static unsigned hash(const PassOwnPtr<FloatingObject>& key) { return hash(ke
y.get()); } |
119 static bool equal(OwnPtr<FloatingObject>& a, FloatingObject* b) { return a->
layoutObject() == b->layoutObject(); } | 120 static bool equal(OwnPtr<FloatingObject>& a, FloatingObject* b) { return a->
layoutObject() == b->layoutObject(); } |
120 static bool equal(OwnPtr<FloatingObject>& a, const OwnPtr<FloatingObject>& b
) { return equal(a, b.get()); } | 121 static bool equal(OwnPtr<FloatingObject>& a, const OwnPtr<FloatingObject>& b
) { return equal(a, b.get()); } |
121 static bool equal(OwnPtr<FloatingObject>& a, const PassOwnPtr<FloatingObject
>& b) { return equal(a, b.get()); } | 122 static bool equal(OwnPtr<FloatingObject>& a, const PassOwnPtr<FloatingObject
>& b) { return equal(a, b.get()); } |
122 | 123 |
123 static const bool safeToCompareToEmptyOrDeleted = true; | 124 static const bool safeToCompareToEmptyOrDeleted = true; |
124 }; | 125 }; |
125 struct FloatingObjectHashTranslator { | 126 struct FloatingObjectHashTranslator { |
| 127 STATIC_ONLY(FloatingObjectHashTranslator); |
126 static unsigned hash(LayoutBox* key) { return DefaultHash<LayoutBox*>::Hash:
:hash(key); } | 128 static unsigned hash(LayoutBox* key) { return DefaultHash<LayoutBox*>::Hash:
:hash(key); } |
127 static bool equal(FloatingObject* a, LayoutBox* b) { return a->layoutObject(
) == b; } | 129 static bool equal(FloatingObject* a, LayoutBox* b) { return a->layoutObject(
) == b; } |
128 static bool equal(const OwnPtr<FloatingObject>& a, LayoutBox* b) { return a-
>layoutObject() == b; } | 130 static bool equal(const OwnPtr<FloatingObject>& a, LayoutBox* b) { return a-
>layoutObject() == b; } |
129 }; | 131 }; |
130 typedef ListHashSet<OwnPtr<FloatingObject>, 4, FloatingObjectHashFunctions> Floa
tingObjectSet; | 132 typedef ListHashSet<OwnPtr<FloatingObject>, 4, FloatingObjectHashFunctions> Floa
tingObjectSet; |
131 typedef FloatingObjectSet::const_iterator FloatingObjectSetIterator; | 133 typedef FloatingObjectSet::const_iterator FloatingObjectSetIterator; |
132 typedef PODInterval<int, FloatingObject*> FloatingObjectInterval; | 134 typedef PODInterval<int, FloatingObject*> FloatingObjectInterval; |
133 typedef PODIntervalTree<int, FloatingObject*> FloatingObjectTree; | 135 typedef PODIntervalTree<int, FloatingObject*> FloatingObjectTree; |
134 typedef PODFreeListArena<PODRedBlackTree<FloatingObjectInterval>::Node> Interval
Arena; | 136 typedef PODFreeListArena<PODRedBlackTree<FloatingObjectInterval>::Node> Interval
Arena; |
135 typedef HashMap<LayoutBox*, OwnPtr<FloatingObject>> LayoutBoxToFloatInfoMap; | 137 typedef HashMap<LayoutBox*, OwnPtr<FloatingObject>> LayoutBoxToFloatInfoMap; |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
201 static String string(const int value); | 203 static String string(const int value); |
202 }; | 204 }; |
203 template<> struct ValueToString<FloatingObject*> { | 205 template<> struct ValueToString<FloatingObject*> { |
204 static String string(const FloatingObject*); | 206 static String string(const FloatingObject*); |
205 }; | 207 }; |
206 #endif | 208 #endif |
207 | 209 |
208 } // namespace blink | 210 } // namespace blink |
209 | 211 |
210 #endif // FloatingObjects_h | 212 #endif // FloatingObjects_h |
OLD | NEW |