| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2012 Apple Inc. All rights reserved. | 2 * Copyright (C) 2012 Apple Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
| 6 * are met: | 6 * are met: |
| 7 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
| 8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
| 9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
| 10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 61 class CORE_EXPORT LayoutMultiColumnSet : public LayoutBlockFlow { | 61 class CORE_EXPORT LayoutMultiColumnSet : public LayoutBlockFlow { |
| 62 public: | 62 public: |
| 63 static LayoutMultiColumnSet* createAnonymous(LayoutFlowThread&, const Comput
edStyle& parentStyle); | 63 static LayoutMultiColumnSet* createAnonymous(LayoutFlowThread&, const Comput
edStyle& parentStyle); |
| 64 | 64 |
| 65 const MultiColumnFragmentainerGroup& firstFragmentainerGroup() const { retur
n m_fragmentainerGroups.first(); } | 65 const MultiColumnFragmentainerGroup& firstFragmentainerGroup() const { retur
n m_fragmentainerGroups.first(); } |
| 66 const MultiColumnFragmentainerGroup& lastFragmentainerGroup() const { return
m_fragmentainerGroups.last(); } | 66 const MultiColumnFragmentainerGroup& lastFragmentainerGroup() const { return
m_fragmentainerGroups.last(); } |
| 67 MultiColumnFragmentainerGroup& fragmentainerGroupAtFlowThreadOffset(LayoutUn
it); | 67 MultiColumnFragmentainerGroup& fragmentainerGroupAtFlowThreadOffset(LayoutUn
it); |
| 68 const MultiColumnFragmentainerGroup& fragmentainerGroupAtFlowThreadOffset(La
youtUnit) const; | 68 const MultiColumnFragmentainerGroup& fragmentainerGroupAtFlowThreadOffset(La
youtUnit) const; |
| 69 const MultiColumnFragmentainerGroup& fragmentainerGroupAtVisualPoint(const L
ayoutPoint&) const; | 69 const MultiColumnFragmentainerGroup& fragmentainerGroupAtVisualPoint(const L
ayoutPoint&) const; |
| 70 | 70 |
| 71 virtual bool isOfType(LayoutObjectType type) const override { return type ==
LayoutObjectLayoutMultiColumnSet || LayoutBlockFlow::isOfType(type); } | 71 bool isOfType(LayoutObjectType type) const override { return type == LayoutO
bjectLayoutMultiColumnSet || LayoutBlockFlow::isOfType(type); } |
| 72 virtual bool canHaveChildren() const override final { return false; } | 72 bool canHaveChildren() const final { return false; } |
| 73 | 73 |
| 74 // Return the width and height of a single column or page in the set. | 74 // Return the width and height of a single column or page in the set. |
| 75 LayoutUnit pageLogicalWidth() const { return flowThread()->logicalWidth(); } | 75 LayoutUnit pageLogicalWidth() const { return flowThread()->logicalWidth(); } |
| 76 LayoutUnit pageLogicalHeight() const; | 76 LayoutUnit pageLogicalHeight() const; |
| 77 | 77 |
| 78 LayoutFlowThread* flowThread() const { return m_flowThread; } | 78 LayoutFlowThread* flowThread() const { return m_flowThread; } |
| 79 | 79 |
| 80 LayoutBlockFlow* multiColumnBlockFlow() const { return toLayoutBlockFlow(par
ent()); } | 80 LayoutBlockFlow* multiColumnBlockFlow() const { return toLayoutBlockFlow(par
ent()); } |
| 81 LayoutMultiColumnFlowThread* multiColumnFlowThread() const | 81 LayoutMultiColumnFlowThread* multiColumnFlowThread() const |
| 82 { | 82 { |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 134 | 134 |
| 135 // Layout of flow thread content that was to be rendered inside this column
set has | 135 // Layout of flow thread content that was to be rendered inside this column
set has |
| 136 // finished. This happens at end of flow thread layout, and when advancing t
o the next column | 136 // finished. This happens at end of flow thread layout, and when advancing t
o the next column |
| 137 // set or spanner. | 137 // set or spanner. |
| 138 void endFlow(LayoutUnit offsetInFlowThread); | 138 void endFlow(LayoutUnit offsetInFlowThread); |
| 139 | 139 |
| 140 // Expand this set's flow thread portion rectangle to contain all trailing f
low thread | 140 // Expand this set's flow thread portion rectangle to contain all trailing f
low thread |
| 141 // overflow. Only to be called on the last set. | 141 // overflow. Only to be called on the last set. |
| 142 void expandToEncompassFlowThreadContentsIfNeeded(); | 142 void expandToEncompassFlowThreadContentsIfNeeded(); |
| 143 | 143 |
| 144 virtual void computeIntrinsicLogicalWidths(LayoutUnit& minLogicalWidth, Layo
utUnit& maxLogicalWidth) const override final; | 144 void computeIntrinsicLogicalWidths(LayoutUnit& minLogicalWidth, LayoutUnit&
maxLogicalWidth) const final; |
| 145 | 145 |
| 146 void attachToFlowThread(); | 146 void attachToFlowThread(); |
| 147 void detachFromFlowThread(); | 147 void detachFromFlowThread(); |
| 148 | 148 |
| 149 // The top of the page nearest to the specified block offset. All in flowthr
ead coordinates. | 149 // The top of the page nearest to the specified block offset. All in flowthr
ead coordinates. |
| 150 LayoutUnit pageLogicalTopForOffset(LayoutUnit offset) const; | 150 LayoutUnit pageLogicalTopForOffset(LayoutUnit offset) const; |
| 151 | 151 |
| 152 void collectLayerFragments(DeprecatedPaintLayerFragments&, const LayoutRect&
layerBoundingBox, const LayoutRect& dirtyRect); | 152 void collectLayerFragments(DeprecatedPaintLayerFragments&, const LayoutRect&
layerBoundingBox, const LayoutRect& dirtyRect); |
| 153 | 153 |
| 154 LayoutUnit columnGap() const; | 154 LayoutUnit columnGap() const; |
| 155 | 155 |
| 156 // The "CSS actual" value of column-count. This includes overflowing columns
, if any. | 156 // The "CSS actual" value of column-count. This includes overflowing columns
, if any. |
| 157 unsigned actualColumnCount() const; | 157 unsigned actualColumnCount() const; |
| 158 | 158 |
| 159 virtual const char* name() const override { return "LayoutMultiColumnSet"; } | 159 const char* name() const override { return "LayoutMultiColumnSet"; } |
| 160 | 160 |
| 161 protected: | 161 protected: |
| 162 LayoutMultiColumnSet(LayoutFlowThread*); | 162 LayoutMultiColumnSet(LayoutFlowThread*); |
| 163 | 163 |
| 164 private: | 164 private: |
| 165 virtual void insertedIntoTree() override final; | 165 void insertedIntoTree() final; |
| 166 virtual void willBeRemovedFromTree() override final; | 166 void willBeRemovedFromTree() final; |
| 167 | 167 |
| 168 virtual bool isSelfCollapsingBlock() const override { return false; } | 168 bool isSelfCollapsingBlock() const override { return false; } |
| 169 | 169 |
| 170 virtual void computeLogicalHeight(LayoutUnit logicalHeight, LayoutUnit logic
alTop, LogicalExtentComputedValues&) const override; | 170 void computeLogicalHeight(LayoutUnit logicalHeight, LayoutUnit logicalTop, L
ogicalExtentComputedValues&) const override; |
| 171 virtual PositionWithAffinity positionForPoint(const LayoutPoint&) override; | 171 PositionWithAffinity positionForPoint(const LayoutPoint&) override; |
| 172 | 172 |
| 173 virtual void paintObject(const PaintInfo&, const LayoutPoint& paintOffset) o
verride; | 173 void paintObject(const PaintInfo&, const LayoutPoint& paintOffset) override; |
| 174 | 174 |
| 175 virtual void addOverflowFromChildren() override; | 175 void addOverflowFromChildren() override; |
| 176 | 176 |
| 177 MultiColumnFragmentainerGroupList m_fragmentainerGroups; | 177 MultiColumnFragmentainerGroupList m_fragmentainerGroups; |
| 178 LayoutFlowThread* m_flowThread; | 178 LayoutFlowThread* m_flowThread; |
| 179 }; | 179 }; |
| 180 | 180 |
| 181 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutMultiColumnSet, isLayoutMultiColumnSet()); | 181 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutMultiColumnSet, isLayoutMultiColumnSet()); |
| 182 | 182 |
| 183 } // namespace blink | 183 } // namespace blink |
| 184 | 184 |
| 185 #endif // LayoutMultiColumnSet_h | 185 #endif // LayoutMultiColumnSet_h |
| 186 | 186 |
| OLD | NEW |