aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYuri Kobets <yuri.kobets@gmail.com>2023-12-29 12:49:10 +0300
committerYuri Kobets <yuri.kobets@gmail.com>2023-12-29 12:49:10 +0300
commit3bfe3f22f3be441145c8998a4e0354112aa91e70 (patch)
treefd084bde723ad157d2cad63ae9e8b1af7ba7d889
parenta230188b31095987d8919e328629eac8aa4f88ea (diff)
flex: Distribute remaining after algorithm space
-rw-r--r--src/render_flex.cpp16
-rw-r--r--test/render/flex/flex-flexitem-percentage-prescation.htm (renamed from test/render/flex/--flex-flexitem-percentage-prescation.htm)0
-rw-r--r--test/render/flex/flex-flexitem-percentage-prescation.htm.pngbin0 -> 171 bytes
-rw-r--r--test/render/flex/flexbox-basic-block-horiz-001.htm.pngbin473 -> 470 bytes
-rw-r--r--test/render/flex/flexbox-basic-block-vert-001.htm (renamed from test/render/flex/--flexbox-basic-block-vert-001.htm)0
-rw-r--r--test/render/flex/flexbox-basic-block-vert-001.htm.pngbin333 -> 328 bytes
-rw-r--r--test/render/flex/flexbox-flex-flow-002.htm (renamed from test/render/flex/--flexbox-flex-flow-002.htm)0
-rw-r--r--test/render/flex/flexbox-flex-flow-002.htm.pngbin0 -> 1987 bytes
-rw-r--r--test/render/flex/flexbox-mbp-horiz-001-reverse.htm.pngbin442 -> 442 bytes
-rw-r--r--test/render/flex/flexbox-mbp-horiz-001.htm.pngbin440 -> 439 bytes
-rw-r--r--test/render/flex/flexbox-mbp-horiz-002a.htm.pngbin457 -> 456 bytes
-rw-r--r--test/render/flex/flexbox-mbp-horiz-002b.htm.pngbin457 -> 456 bytes
-rw-r--r--test/render/flex/flexbox-overflow-horiz-001.htm.pngbin237 -> 242 bytes
-rw-r--r--test/render/flex/flexbox-overflow-horiz-002.htm.pngbin207 -> 206 bytes
-rw-r--r--test/render/flex/flexbox-overflow-vert-001.htm (renamed from test/render/flex/--flexbox-overflow-vert-001.htm)0
-rw-r--r--test/render/flex/flexbox-overflow-vert-001.htm.pngbin0 -> 205 bytes
-rw-r--r--test/render/flex/flexbox-overflow-vert-002.htm.pngbin192 -> 189 bytes
-rw-r--r--test/render/flex/space-evenly-001.htm (renamed from test/render/flex/--space-evenly-001.htm)0
-rw-r--r--test/render/flex/space-evenly-001.htm.pngbin0 -> 577 bytes
-rw-r--r--test/render/flex/table-as-item-narrow-content.htm (renamed from test/render/flex/--table-as-item-narrow-content.htm)0
-rw-r--r--test/render/flex/table-as-item-narrow-content.htm.pngbin0 -> 541 bytes
21 files changed, 16 insertions, 0 deletions
diff --git a/src/render_flex.cpp b/src/render_flex.cpp
index 0cb520a5..571635b9 100644
--- a/src/render_flex.cpp
+++ b/src/render_flex.cpp
@@ -683,6 +683,22 @@ litehtml::render_item_flex::flex_line::distribute_free_space(int container_main_
if (total_clamped == 0) processed = false;
}
}
+ // Distribute remaining after algorithm space
+ int sum_main_size = 0;
+ for(auto &item : items)
+ {
+ sum_main_size += item.main_size;
+ }
+ int free_space = container_main_size - sum_main_size;
+ if(free_space > 0)
+ {
+ for(auto &item : items)
+ {
+ if(free_space == 0) break;
+ item.main_size++;
+ free_space--;
+ }
+ }
}
}
diff --git a/test/render/flex/--flex-flexitem-percentage-prescation.htm b/test/render/flex/flex-flexitem-percentage-prescation.htm
index 32881e10..32881e10 100644
--- a/test/render/flex/--flex-flexitem-percentage-prescation.htm
+++ b/test/render/flex/flex-flexitem-percentage-prescation.htm
diff --git a/test/render/flex/flex-flexitem-percentage-prescation.htm.png b/test/render/flex/flex-flexitem-percentage-prescation.htm.png
new file mode 100644
index 00000000..4b61e2a8
--- /dev/null
+++ b/test/render/flex/flex-flexitem-percentage-prescation.htm.png
Binary files differ
diff --git a/test/render/flex/flexbox-basic-block-horiz-001.htm.png b/test/render/flex/flexbox-basic-block-horiz-001.htm.png
index f2887b3f..55a0a1af 100644
--- a/test/render/flex/flexbox-basic-block-horiz-001.htm.png
+++ b/test/render/flex/flexbox-basic-block-horiz-001.htm.png
Binary files differ
diff --git a/test/render/flex/--flexbox-basic-block-vert-001.htm b/test/render/flex/flexbox-basic-block-vert-001.htm
index 7fa30372..7fa30372 100644
--- a/test/render/flex/--flexbox-basic-block-vert-001.htm
+++ b/test/render/flex/flexbox-basic-block-vert-001.htm
diff --git a/test/render/flex/flexbox-basic-block-vert-001.htm.png b/test/render/flex/flexbox-basic-block-vert-001.htm.png
index fa14514d..e5625a40 100644
--- a/test/render/flex/flexbox-basic-block-vert-001.htm.png
+++ b/test/render/flex/flexbox-basic-block-vert-001.htm.png
Binary files differ
diff --git a/test/render/flex/--flexbox-flex-flow-002.htm b/test/render/flex/flexbox-flex-flow-002.htm
index 17465ae2..17465ae2 100644
--- a/test/render/flex/--flexbox-flex-flow-002.htm
+++ b/test/render/flex/flexbox-flex-flow-002.htm
diff --git a/test/render/flex/flexbox-flex-flow-002.htm.png b/test/render/flex/flexbox-flex-flow-002.htm.png
new file mode 100644
index 00000000..ec95fc23
--- /dev/null
+++ b/test/render/flex/flexbox-flex-flow-002.htm.png
Binary files differ
diff --git a/test/render/flex/flexbox-mbp-horiz-001-reverse.htm.png b/test/render/flex/flexbox-mbp-horiz-001-reverse.htm.png
index 185155f9..f6f23db3 100644
--- a/test/render/flex/flexbox-mbp-horiz-001-reverse.htm.png
+++ b/test/render/flex/flexbox-mbp-horiz-001-reverse.htm.png
Binary files differ
diff --git a/test/render/flex/flexbox-mbp-horiz-001.htm.png b/test/render/flex/flexbox-mbp-horiz-001.htm.png
index 020f1648..cec56939 100644
--- a/test/render/flex/flexbox-mbp-horiz-001.htm.png
+++ b/test/render/flex/flexbox-mbp-horiz-001.htm.png
Binary files differ
diff --git a/test/render/flex/flexbox-mbp-horiz-002a.htm.png b/test/render/flex/flexbox-mbp-horiz-002a.htm.png
index 8a2b239e..8f94167f 100644
--- a/test/render/flex/flexbox-mbp-horiz-002a.htm.png
+++ b/test/render/flex/flexbox-mbp-horiz-002a.htm.png
Binary files differ
diff --git a/test/render/flex/flexbox-mbp-horiz-002b.htm.png b/test/render/flex/flexbox-mbp-horiz-002b.htm.png
index 8a2b239e..8f94167f 100644
--- a/test/render/flex/flexbox-mbp-horiz-002b.htm.png
+++ b/test/render/flex/flexbox-mbp-horiz-002b.htm.png
Binary files differ
diff --git a/test/render/flex/flexbox-overflow-horiz-001.htm.png b/test/render/flex/flexbox-overflow-horiz-001.htm.png
index 311bfc2d..84a85b52 100644
--- a/test/render/flex/flexbox-overflow-horiz-001.htm.png
+++ b/test/render/flex/flexbox-overflow-horiz-001.htm.png
Binary files differ
diff --git a/test/render/flex/flexbox-overflow-horiz-002.htm.png b/test/render/flex/flexbox-overflow-horiz-002.htm.png
index a6f311f2..a052a42c 100644
--- a/test/render/flex/flexbox-overflow-horiz-002.htm.png
+++ b/test/render/flex/flexbox-overflow-horiz-002.htm.png
Binary files differ
diff --git a/test/render/flex/--flexbox-overflow-vert-001.htm b/test/render/flex/flexbox-overflow-vert-001.htm
index 5aaf5fda..5aaf5fda 100644
--- a/test/render/flex/--flexbox-overflow-vert-001.htm
+++ b/test/render/flex/flexbox-overflow-vert-001.htm
diff --git a/test/render/flex/flexbox-overflow-vert-001.htm.png b/test/render/flex/flexbox-overflow-vert-001.htm.png
new file mode 100644
index 00000000..5ecaedfd
--- /dev/null
+++ b/test/render/flex/flexbox-overflow-vert-001.htm.png
Binary files differ
diff --git a/test/render/flex/flexbox-overflow-vert-002.htm.png b/test/render/flex/flexbox-overflow-vert-002.htm.png
index acad23a5..f7308d5c 100644
--- a/test/render/flex/flexbox-overflow-vert-002.htm.png
+++ b/test/render/flex/flexbox-overflow-vert-002.htm.png
Binary files differ
diff --git a/test/render/flex/--space-evenly-001.htm b/test/render/flex/space-evenly-001.htm
index 51420ef4..51420ef4 100644
--- a/test/render/flex/--space-evenly-001.htm
+++ b/test/render/flex/space-evenly-001.htm
diff --git a/test/render/flex/space-evenly-001.htm.png b/test/render/flex/space-evenly-001.htm.png
new file mode 100644
index 00000000..d230b8dd
--- /dev/null
+++ b/test/render/flex/space-evenly-001.htm.png
Binary files differ
diff --git a/test/render/flex/--table-as-item-narrow-content.htm b/test/render/flex/table-as-item-narrow-content.htm
index 5aeafed4..5aeafed4 100644
--- a/test/render/flex/--table-as-item-narrow-content.htm
+++ b/test/render/flex/table-as-item-narrow-content.htm
diff --git a/test/render/flex/table-as-item-narrow-content.htm.png b/test/render/flex/table-as-item-narrow-content.htm.png
new file mode 100644
index 00000000..1d872136
--- /dev/null
+++ b/test/render/flex/table-as-item-narrow-content.htm.png
Binary files differ