130 Commits

Author SHA1 Message Date
PgBiel
be12824af2 delete now unused header_height field 2025-05-16 02:43:00 -03:00
PgBiel
78c87c811d
Merge branch 'main' into table-subheaders 2025-05-16 02:32:14 -03:00
PgBiel
df8e4b1063 use more match in line layout 2025-05-16 02:30:34 -03:00
PgBiel
e4e4de8733 clippy 2025-05-16 02:18:06 -03:00
PgBiel
3cbbcaa734 use may_progress_with_repeats for rowspans 2025-05-16 02:10:07 -03:00
PgBiel
915743e6e8 use could_progress_at_top for footers 2025-05-16 02:09:51 -03:00
PgBiel
3ec699541a use may_progress_with_repeats 2025-05-16 02:09:51 -03:00
Tobias Schmitz
d204a28818
Expand text link boxes vertically by half the leading spacing (#6252) 2025-05-12 18:12:35 +00:00
Tobias Schmitz
22a117a091
Prohibit some line break opportunities between LTR-ISOLATE and OBJECT-REPLACEMENT-CHARACTER (#6251)
Co-authored-by: Max <max@mkor.je>
Co-authored-by: Laurenz <laurmaedje@gmail.com>
2025-05-12 09:16:38 +00:00
PgBiel
2127a9e044 store initial after repeats 2025-05-12 02:21:58 -03:00
PgBiel
3bd7486362
Merge branch 'main' into table-subheaders 2025-05-09 13:46:34 -03:00
Tobias Schmitz
b322da930f
Respect RTL cell layouting order in grid layout (#6232)
Co-authored-by: PgBiel <9021226+PgBiel@users.noreply.github.com>
2025-05-06 08:26:55 +00:00
PgBiel
1d217e4019 allow skipping from non-repeated header on lack of space
Can lead to orphans, but without enough space, anything goes.
2025-05-06 03:56:21 -03:00
PgBiel
dafcf8b11e temp fix for imprecision in may_progress_with_offset
better idea: check once at the start of the region

if there are non-header rows, or we could progress at the start of the region, we may progress
2025-05-06 03:45:21 -03:00
PgBiel
db59e3ffcb fix pending header repetition with may progress = false 2025-05-04 04:07:08 -03:00
PgBiel
4bcf5c11a7 move lrows to Current 2025-05-04 02:29:03 -03:00
PgBiel
b7c1dba314 improve variable names related to repeating headers 2025-05-01 00:24:55 -03:00
PgBiel
5289bdae50 update some field docs 2025-05-01 00:08:15 -03:00
PgBiel
8045c72d28 switch to only snapshotting for orphan prevention 2025-04-30 21:10:33 -03:00
PgBiel
09e7062b38 create RowState abstraction
nicer to use than what that was before

store temp values during row layout
2025-04-30 02:44:56 -03:00
PgBiel
6c42f67b3d only flush orphans outside of headers and footers 2025-04-30 02:14:47 -03:00
PgBiel
3ef2137619 flush orphans and pending headers at the same time (broken)
Goal is to ensure pending headers are flushed before a region break, else non-repeating headers will appear more than once

Must not be called while laying out headers, however, so it's broken
2025-04-30 01:49:43 -03:00
PgBiel
ab852a5151 some additional docs 2025-04-30 01:46:47 -03:00
PgBiel
9c49bd507a remove redundant check for short-lived footers
Now it is all handled at the resolving stage.
2025-04-20 19:22:19 -03:00
PgBiel
71ae276071 add Deref to Repeatable
honestly, all the unwrapping was just generating noise.
2025-04-20 15:20:07 -03:00
PgBiel
9a01b9bfe8 remove unnecessary short lived header check 2025-04-20 13:38:45 -03:00
PgBiel
6e21eae3eb mark headers as short-lived during resolve 2025-04-20 13:13:20 -03:00
PgBiel
af0c27cb98 adjust Current visibility 2025-04-19 22:34:58 -03:00
PgBiel
5e572a56f3 rename a few Current fields 2025-04-19 21:16:18 -03:00
PgBiel
9b5c77a3a3 move per-region state to Current 2025-04-19 20:42:41 -03:00
PgBiel
e9e37a313a allow breaking apart consecutive subheaders on pathological cases
- at the end of grid
- right before footer
2025-04-17 03:00:03 -03:00
PgBiel
e0bfe90e12 restore orphan snapshot after pending header relayout 2025-04-11 14:35:50 -03:00
PgBiel
f6bc7f8d45 use exclusively snapshots for pending header orphan prevention
- delete current_header_rows
2025-04-11 14:16:49 -03:00
PgBiel
e4bbe471a7
set snapshot when laying out new headers
- Still need to detect when this doesn't make sense, e.g. in the last region, or right before a footer...
2025-04-09 14:55:41 -03:00
PgBiel
40bc08291d
create lrows orphan snapshot
- Indicate some rows at the end cannot be orphans
2025-04-09 14:52:58 -03:00
PgBiel
f81560af47
fix wrong region skipping 2025-04-09 14:20:11 -03:00
PgBiel
4a83d05625
switch to active header layout in finish_region 2025-04-09 14:01:47 -03:00
PgBiel
cefa7fc72c
separate layout_active_headers and new_headers
- Active headers will push empty regions when skipping regions, whereas new_headers may be called from a non-empty region, so we need to finish the region in full. The code separation also makes it all clearer.
2025-04-09 14:00:58 -03:00
PgBiel
fe957e804a a dangerous missing plus 2025-04-08 19:17:53 -03:00
PgBiel
9331ae8e4b fix measuring range
that was stupid.

fixes header which never fits.
2025-04-08 00:00:50 -03:00
PgBiel
3361b3714d use different disambiguators when skipping region 2025-04-07 23:49:32 -03:00
PgBiel
f3ae293042 proper region progress check for headers 2025-04-07 21:34:22 -03:00
PgBiel
62c5b551f1 rename 'in_last_with_offset' to 'may_progress_with_offset' 2025-04-07 21:30:49 -03:00
PgBiel
05d4af43b6 only match consecutive conflicting headers 2025-04-07 21:20:53 -03:00
PgBiel
5e2241ab65 initial subheader resolving and api 2025-04-06 15:55:36 -03:00
PgBiel
48d0a07ef4 formatting 2025-04-06 15:31:32 -03:00
PgBiel
c90ec3c4da listen to clippy 2025-04-06 15:24:21 -03:00
PgBiel
6b133dca3f fix gutter popping edge case
- With a header at the end, decrease the header row count for orphan prevention.
2025-04-06 15:01:39 -03:00
PgBiel
0c6fae92f0 fix orphan prevention
- Include new headers at the start as part of the region's header rows
- Check if header rows are all rows
2025-04-06 14:14:16 -03:00
PgBiel
fe08df8ee6 fix consecutive header row check
check if there is another header at the end, not if at the next row
2025-04-06 14:12:48 -03:00