Package com.itextpdf.layout.renderer
Class GridTrackSizer
java.lang.Object
com.itextpdf.layout.renderer.GridTrackSizer
Class representing a track sizing algorithm.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static final class
private static class
private static enum
(package private) static class
(package private) static class
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final float
private final float
private final Grid
private final Grid.GridOrder
private final List
<GridTrackSizer.Track> -
Constructor Summary
ConstructorsConstructorDescriptionGridTrackSizer
(Grid grid, List<GridValue> values, float gap, float availableSpace, Grid.GridOrder order) Create a track sizing algorithm for given template. -
Method Summary
Modifier and TypeMethodDescriptionprivate static float
affectedSizeForContribution
(GridTrackSizer.Track track, GridTrackSizer.GridItemContributionType contributionType) private float
calculateMinMaxContribution
(GridCell cell, boolean minTypeContribution) Calculate min or max contribution of a cell.private float
private void
distributeExtraSpaceToTracks
(float extraSpace, float flexFactorSum, GridTrackSizer.GridItemContributionType contributionType, List<GridTrackSizer.Track> tracksToGrow, List<GridTrackSizer.Track> tracksToGrowBeyondLimits, boolean isEqualDistribution) private void
private static float
extraSpaceShare
(GridTrackSizer.Track track, float growthPotential, boolean isEqualDistribution, GridTrackSizer.ExtraSpaceShareFunctionParams changedParams) private float
findFrSize
(List<GridTrackSizer.Track> affectedTracks, float leftoverSpace) private List
<GridTrackSizer.Track> getSpannedTracks
(GridCell cell) private static void
growAffectedSizeByPlannedIncrease
(GridTrackSizer.Track track, GridTrackSizer.GridItemContributionType contributionType) private float
growthPotentialForSet
(GridTrackSizer.Track track, GridTrackSizer.GridItemContributionType contributionType, boolean ignoreInfinitelyGrowable) private void
increaseTrackSizesToAccommodateGridItems
(List<GridCell> group, boolean isGroupSpanningFlexTrack, GridTrackSizer.GridItemContributionType contributionType) private void
private static boolean
isContributionAppliedToTrack
(GridTrackSizer.Track track, GridTrackSizer.GridItemContributionType contributionType) private static boolean
isDistributionForGrowthLimits
(GridTrackSizer.GridItemContributionType contributionType) private void
private void
private static boolean
shouldUsedSizeGrowBeyondLimit
(GridTrackSizer.Track track, GridTrackSizer.GridItemContributionType contributionType) (package private) GridTrackSizer.TrackSizingResult
Resolves template values and auto-values to point values.private void
-
Field Details
-
grid
-
tracks
-
gap
private final float gap -
availableSpace
private final float availableSpace -
order
-
percentValueIndexes
-
-
Constructor Details
-
GridTrackSizer
GridTrackSizer(Grid grid, List<GridValue> values, float gap, float availableSpace, Grid.GridOrder order) Create a track sizing algorithm for given template.- Parameters:
grid
- grid to processvalues
- template valuesgap
- gap between tracksavailableSpace
- space to fit tracks onorder
- grid order
-
-
Method Details
-
sizeTracks
GridTrackSizer.TrackSizingResult sizeTracks()Resolves template values and auto-values to point values.- Returns:
- list of points, representing track sizes with expanded percentages in case of inline calculation.
-
stretchAutoTracks
private void stretchAutoTracks() -
maximizeTracks
private void maximizeTracks() -
expandFlexibleTracks
private void expandFlexibleTracks() -
getSpannedTracks
-
determineFreeSpace
private float determineFreeSpace() -
findFrSize
-
resolveIntrinsicTrackSizes
private void resolveIntrinsicTrackSizes() -
increaseTrackSizesToAccommodateGridItems
private void increaseTrackSizesToAccommodateGridItems(List<GridCell> group, boolean isGroupSpanningFlexTrack, GridTrackSizer.GridItemContributionType contributionType) -
growAffectedSizeByPlannedIncrease
private static void growAffectedSizeByPlannedIncrease(GridTrackSizer.Track track, GridTrackSizer.GridItemContributionType contributionType) -
distributeExtraSpaceToTracks
private void distributeExtraSpaceToTracks(float extraSpace, float flexFactorSum, GridTrackSizer.GridItemContributionType contributionType, List<GridTrackSizer.Track> tracksToGrow, List<GridTrackSizer.Track> tracksToGrowBeyondLimits, boolean isEqualDistribution) -
isDistributionForGrowthLimits
private static boolean isDistributionForGrowthLimits(GridTrackSizer.GridItemContributionType contributionType) -
growthPotentialForSet
private float growthPotentialForSet(GridTrackSizer.Track track, GridTrackSizer.GridItemContributionType contributionType, boolean ignoreInfinitelyGrowable) -
shouldUsedSizeGrowBeyondLimit
private static boolean shouldUsedSizeGrowBeyondLimit(GridTrackSizer.Track track, GridTrackSizer.GridItemContributionType contributionType) -
isContributionAppliedToTrack
private static boolean isContributionAppliedToTrack(GridTrackSizer.Track track, GridTrackSizer.GridItemContributionType contributionType) -
affectedSizeForContribution
private static float affectedSizeForContribution(GridTrackSizer.Track track, GridTrackSizer.GridItemContributionType contributionType) -
initializeTrackSizes
private void initializeTrackSizes() -
calculateMinMaxContribution
Calculate min or max contribution of a cell.- Parameters:
cell
- cell to calculate contributionminTypeContribution
- type of contribution: min if true, max otherwise- Returns:
- contribution value
-