OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2011 Apple Inc. All rights reserved. | 2 * Copyright (C) 2011 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 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
89 void placeItemsOnGrid(); | 89 void placeItemsOnGrid(); |
90 void populateExplicitGridAndOrderIterator(); | 90 void populateExplicitGridAndOrderIterator(); |
91 PassOwnPtr<GridCoordinate> createEmptyGridAreaAtSpecifiedPositionsOutsideGri
d(const RenderBox&, GridTrackSizingDirection, const GridSpan& specifiedPositions
) const; | 91 PassOwnPtr<GridCoordinate> createEmptyGridAreaAtSpecifiedPositionsOutsideGri
d(const RenderBox&, GridTrackSizingDirection, const GridSpan& specifiedPositions
) const; |
92 void placeSpecifiedMajorAxisItemsOnGrid(const Vector<RenderBox*>&); | 92 void placeSpecifiedMajorAxisItemsOnGrid(const Vector<RenderBox*>&); |
93 void placeAutoMajorAxisItemsOnGrid(const Vector<RenderBox*>&); | 93 void placeAutoMajorAxisItemsOnGrid(const Vector<RenderBox*>&); |
94 void placeAutoMajorAxisItemOnGrid(RenderBox&, std::pair<size_t, size_t>& aut
oPlacementCursor); | 94 void placeAutoMajorAxisItemOnGrid(RenderBox&, std::pair<size_t, size_t>& aut
oPlacementCursor); |
95 GridTrackSizingDirection autoPlacementMajorAxisDirection() const; | 95 GridTrackSizingDirection autoPlacementMajorAxisDirection() const; |
96 GridTrackSizingDirection autoPlacementMinorAxisDirection() const; | 96 GridTrackSizingDirection autoPlacementMinorAxisDirection() const; |
97 | 97 |
98 void layoutGridItems(); | 98 void layoutGridItems(); |
99 void populateGridPositions(const GridSizingData&); | 99 void populateGridPositions(const GridSizingData&, LayoutUnit availableSpaceF
orColumns, LayoutUnit availableSpaceForRows); |
100 | 100 |
101 typedef LayoutUnit (RenderGrid::* SizingFunction)(RenderBox&, GridTrackSizin
gDirection, Vector<GridTrack>&); | 101 typedef LayoutUnit (RenderGrid::* SizingFunction)(RenderBox&, GridTrackSizin
gDirection, Vector<GridTrack>&); |
102 typedef LayoutUnit (GridTrack::* AccumulatorGetter)() const; | 102 typedef LayoutUnit (GridTrack::* AccumulatorGetter)() const; |
103 typedef void (GridTrack::* AccumulatorGrowFunction)(LayoutUnit); | 103 typedef void (GridTrack::* AccumulatorGrowFunction)(LayoutUnit); |
104 typedef bool (GridTrackSize::* FilterFunction)() const; | 104 typedef bool (GridTrackSize::* FilterFunction)() const; |
105 void resolveContentBasedTrackSizingFunctionsForItems(GridTrackSizingDirectio
n, GridSizingData&, GridItemWithSpan&, FilterFunction, SizingFunction, Accumulat
orGetter, AccumulatorGrowFunction, FilterFunction growAboveMaxBreadthFilterFunct
ion = nullptr); | 105 void resolveContentBasedTrackSizingFunctionsForItems(GridTrackSizingDirectio
n, GridSizingData&, GridItemWithSpan&, FilterFunction, SizingFunction, Accumulat
orGetter, AccumulatorGrowFunction, FilterFunction growAboveMaxBreadthFilterFunct
ion = nullptr); |
106 void distributeSpaceToTracks(Vector<GridTrack*>&, Vector<size_t>* tracksForG
rowthAboveMaxBreadth, AccumulatorGetter, AccumulatorGrowFunction, GridSizingData
&, LayoutUnit& availableLogicalSpace); | 106 void distributeSpaceToTracks(Vector<GridTrack*>&, Vector<size_t>* tracksForG
rowthAboveMaxBreadth, AccumulatorGetter, AccumulatorGrowFunction, GridSizingData
&, LayoutUnit& availableLogicalSpace); |
107 | 107 |
108 double computeNormalizedFractionBreadth(Vector<GridTrack>&, const GridSpan&
tracksSpan, GridTrackSizingDirection, LayoutUnit availableLogicalSpace) const; | 108 double computeNormalizedFractionBreadth(Vector<GridTrack>&, const GridSpan&
tracksSpan, GridTrackSizingDirection, LayoutUnit availableLogicalSpace) const; |
109 | 109 |
110 GridTrackSize gridTrackSize(GridTrackSizingDirection, size_t) const; | 110 GridTrackSize gridTrackSize(GridTrackSizingDirection, size_t) const; |
111 | 111 |
112 LayoutUnit logicalHeightForChild(RenderBox&, Vector<GridTrack>&); | 112 LayoutUnit logicalHeightForChild(RenderBox&, Vector<GridTrack>&); |
113 LayoutUnit minContentForChild(RenderBox&, GridTrackSizingDirection, Vector<G
ridTrack>& columnTracks); | 113 LayoutUnit minContentForChild(RenderBox&, GridTrackSizingDirection, Vector<G
ridTrack>& columnTracks); |
114 LayoutUnit maxContentForChild(RenderBox&, GridTrackSizingDirection, Vector<G
ridTrack>& columnTracks); | 114 LayoutUnit maxContentForChild(RenderBox&, GridTrackSizingDirection, Vector<G
ridTrack>& columnTracks); |
115 LayoutUnit startOfColumnForChild(const RenderBox& child) const; | 115 LayoutUnit startOfColumnForChild(const RenderBox& child) const; |
116 LayoutUnit endOfColumnForChild(const RenderBox& child) const; | 116 LayoutUnit endOfColumnForChild(const RenderBox& child) const; |
117 LayoutUnit columnPositionAlignedWithGridContainerStart(const RenderBox&) con
st; | 117 LayoutUnit columnPositionAlignedWithGridContainerStart(const RenderBox&) con
st; |
118 LayoutUnit columnPositionAlignedWithGridContainerEnd(const RenderBox&) const
; | 118 LayoutUnit columnPositionAlignedWithGridContainerEnd(const RenderBox&) const
; |
119 LayoutUnit centeredColumnPositionForChild(const RenderBox&) const; | 119 LayoutUnit centeredColumnPositionForChild(const RenderBox&) const; |
120 LayoutUnit columnPositionForChild(const RenderBox&) const; | 120 LayoutUnit columnPositionForChild(const RenderBox&) const; |
121 LayoutUnit startOfRowForChild(const RenderBox& child) const; | 121 LayoutUnit startOfRowForChild(const RenderBox& child) const; |
122 LayoutUnit endOfRowForChild(const RenderBox& child) const; | 122 LayoutUnit endOfRowForChild(const RenderBox& child) const; |
123 LayoutUnit centeredRowPositionForChild(const RenderBox&) const; | 123 LayoutUnit centeredRowPositionForChild(const RenderBox&) const; |
124 LayoutUnit rowPositionForChild(const RenderBox&) const; | 124 LayoutUnit rowPositionForChild(const RenderBox&) const; |
| 125 LayoutUnit contentPositionAndDistributionOffset(LayoutUnit availableFreeSpac
e, ContentPosition, ContentDistributionType, unsigned numberOfItems) const; |
125 LayoutPoint findChildLogicalPosition(const RenderBox&) const; | 126 LayoutPoint findChildLogicalPosition(const RenderBox&) const; |
126 GridCoordinate cachedGridCoordinate(const RenderBox&) const; | 127 GridCoordinate cachedGridCoordinate(const RenderBox&) const; |
127 | 128 |
128 LayoutUnit gridAreaBreadthForChild(const RenderBox& child, GridTrackSizingDi
rection, const Vector<GridTrack>&) const; | 129 LayoutUnit gridAreaBreadthForChild(const RenderBox& child, GridTrackSizingDi
rection, const Vector<GridTrack>&) const; |
129 | 130 |
130 virtual void paintChildren(PaintInfo&, const LayoutPoint&) override; | 131 virtual void paintChildren(PaintInfo&, const LayoutPoint&) override; |
131 bool needToStretchChildLogicalHeight(const RenderBox&) const; | 132 bool needToStretchChildLogicalHeight(const RenderBox&) const; |
132 LayoutUnit childIntrinsicHeight(const RenderBox&) const; | 133 LayoutUnit childIntrinsicHeight(const RenderBox&) const; |
133 LayoutUnit childIntrinsicWidth(const RenderBox&) const; | 134 LayoutUnit childIntrinsicWidth(const RenderBox&) const; |
134 LayoutUnit intrinsicLogicalHeightForChild(const RenderBox&) const; | 135 LayoutUnit intrinsicLogicalHeightForChild(const RenderBox&) const; |
(...skipping 28 matching lines...) Expand all Loading... |
163 OrderIterator m_orderIterator; | 164 OrderIterator m_orderIterator; |
164 Vector<RenderBox*> m_gridItemsOverflowingGridArea; | 165 Vector<RenderBox*> m_gridItemsOverflowingGridArea; |
165 HashMap<const RenderBox*, size_t> m_gridItemsIndexesMap; | 166 HashMap<const RenderBox*, size_t> m_gridItemsIndexesMap; |
166 }; | 167 }; |
167 | 168 |
168 DEFINE_RENDER_OBJECT_TYPE_CASTS(RenderGrid, isRenderGrid()); | 169 DEFINE_RENDER_OBJECT_TYPE_CASTS(RenderGrid, isRenderGrid()); |
169 | 170 |
170 } // namespace blink | 171 } // namespace blink |
171 | 172 |
172 #endif // RenderGrid_h | 173 #endif // RenderGrid_h |
OLD | NEW |