Class ColumnWidthCalculator
java.lang.Object
dev.jcputney.mjml.util.ColumnWidthCalculator
Calculates column pixel widths and responsive width specifications from a list of column nodes
and a container width. Shared by MjSection and MjGroup.
-
Method Summary
Modifier and TypeMethodDescriptionstatic double[]calculatePixelWidths(List<MjmlNode> columns, double containerWidth, boolean usePercentAuto) Calculates pixel widths for each column.static String[]calculateWidthSpecs(List<MjmlNode> columns) Calculates column width specifications for responsive media queries.
-
Method Details
-
calculatePixelWidths
public static double[] calculatePixelWidths(List<MjmlNode> columns, double containerWidth, boolean usePercentAuto) Calculates pixel widths for each column. Columns with explicit widths get their specified value; auto columns share remaining space equally using percentage-based distribution to match MJML's floating-point behavior.- Parameters:
columns- the column nodescontainerWidth- the available width in pixelsusePercentAuto- if true, auto columns use pct*containerWidth/100 (MJML section behavior); if false, auto columns use (remaining)/count (MJML group behavior)- Returns:
- an array of pixel widths corresponding to each column
-
calculateWidthSpecs
Calculates column width specifications for responsive media queries. Returns strings like "100" (percentage), "33.33" (percentage), or "150px" (pixel).- Parameters:
columns- the list of column nodes to calculate width specs for- Returns:
- an array of width specification strings for each column
-