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 classprivate static classprivate static enum(package private) static class(package private) static class -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final floatprivate final floatprivate final Gridprivate final Grid.GridOrderprivate 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 floataffectedSizeForContribution(GridTrackSizer.Track track, GridTrackSizer.GridItemContributionType contributionType) private floatcalculateMinMaxContribution(GridCell cell, boolean minTypeContribution) Calculate min or max contribution of a cell.private floatprivate voiddistributeExtraSpaceToTracks(float extraSpace, float flexFactorSum, GridTrackSizer.GridItemContributionType contributionType, List<GridTrackSizer.Track> tracksToGrow, List<GridTrackSizer.Track> tracksToGrowBeyondLimits, boolean isEqualDistribution) private voidprivate static floatextraSpaceShare(GridTrackSizer.Track track, float growthPotential, boolean isEqualDistribution, GridTrackSizer.ExtraSpaceShareFunctionParams changedParams) private floatfindFrSize(List<GridTrackSizer.Track> affectedTracks, float leftoverSpace) private List<GridTrackSizer.Track> getSpannedTracks(GridCell cell) private static voidgrowAffectedSizeByPlannedIncrease(GridTrackSizer.Track track, GridTrackSizer.GridItemContributionType contributionType) private floatgrowthPotentialForSet(GridTrackSizer.Track track, GridTrackSizer.GridItemContributionType contributionType, boolean ignoreInfinitelyGrowable) private voidincreaseTrackSizesToAccommodateGridItems(List<GridCell> group, boolean isGroupSpanningFlexTrack, GridTrackSizer.GridItemContributionType contributionType) private voidprivate static booleanisContributionAppliedToTrack(GridTrackSizer.Track track, GridTrackSizer.GridItemContributionType contributionType) private static booleanisDistributionForGrowthLimits(GridTrackSizer.GridItemContributionType contributionType) private voidprivate voidprivate static booleanshouldUsedSizeGrowBeyondLimit(GridTrackSizer.Track track, GridTrackSizer.GridItemContributionType contributionType) (package private) GridTrackSizer.TrackSizingResultResolves 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
-