96 Commits

Author SHA1 Message Date
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
PgBiel
e73c561f16 fix header height and rows state calculations
- remove non-repeating header height on pending flush
- use lrows
- reset current region dataon orphan prevention row wipe
2025-04-06 13:37:17 -03:00
PgBiel
fbb0306ebc fix non stopping footer 2025-04-06 04:47:36 -03:00
PgBiel
75403f86a9 flush pending headers as soon as possible
- dont wait until the end of the region, as a header can start and end in the same region (i.e. never repeat).
2025-04-06 04:00:23 -03:00
PgBiel
054b3b89d1 remove bump repeating headers
this has been done on pending header layout now
2025-04-06 03:45:18 -03:00
PgBiel
27557ee155 fix accidental error dropping in pending header layout 2025-04-06 03:44:09 -03:00
PgBiel
59dc458188 fix line layout with missing header bottoms 2025-04-06 03:42:30 -03:00
PgBiel
c04dedf470 fix grid.header errors in rowspans 2025-04-06 02:25:38 -03:00
PgBiel
f9569efc40 adapt usages of header_height to repeating_header_height
- Document unchanged usages
2025-04-06 02:12:05 -03:00
PgBiel
d172eccfd9 store height of each repeating header
So we can update in the middle of the region
2025-04-06 02:01:32 -03:00
PgBiel
ecc93297f8 initial attempt on repeating header height
- Faulty, as we have to update it when pushing new pending headers too
- Need to have a vector associating a height to each row...
2025-04-06 00:06:40 -03:00
PgBiel
f21dc8b7e2 a footer todo 2025-04-06 00:05:25 -03:00
PgBiel
1301b901b7 count header rows in each region
- Currently also includes non-repeatable header row heights, which will lead to bugs on rowspans; needs fix
2025-04-05 01:14:17 -03:00
PgBiel
e586cffa6c finish region adjustments
- flush pending headers
- properly layout headers at region start
2025-04-04 22:02:09 -03:00
PgBiel
63055c8c83 use headers to layout enum on layout_headers
- This will allow us to tell layout_headers to just layout headers that are already repeating, plus pending headers which are waiting for layout.
2025-04-04 21:31:13 -03:00
PgBiel
af35e287af finish layout_headers refactor
- Subtract footer height in it already
- Still need to fix finish region
2025-04-04 21:24:20 -03:00
PgBiel
0143d0775b begin refactoring layout_headers
- May have to include ALL headers when skipping a region...
- Approach too naive
2025-04-04 21:24:20 -03:00
PgBiel
6029e6f3bb begin placing new headers
Considerations:
- Need to change layout headers algorithm to
  1. Place those headers
  2. But in a new region, also place other repeating headers
  3. Keep footer height up-to-date without much intervention
2025-04-04 21:24:20 -03:00
PgBiel
b420588c19 more header changes 2025-04-04 21:24:20 -03:00
PgBiel
4bd3abf44d initial multi heading progress
pending headers change
2025-04-04 21:23:38 -03:00
Eduardo Sánchez Muñoz
38213ed534
Use u64 instead of usize to store counter and enumeration item numbers, so behavior does not vary from 64-bit to 32-bit platforms (#6026) 2025-03-24 18:16:33 +00:00
Max
96f6957371
Fix math.root frame size (#6021) 2025-03-11 10:18:15 +00:00
evie
3650859ae8
Fix cargo clippy warnings (mostly about .repeat.take and .next_back) (#6038) 2025-03-11 10:00:53 +00:00
Emmanuel Lesueur
52f1f53973
Fix curve with multiple non-closed components. (#5963) 2025-02-26 18:07:29 +00:00
Max
81efc82d3c
Fix math accent base height calculation (#5941) 2025-02-24 16:05:36 +00:00
Laurenz
69c3f95705
Bump MSRV to 1.83 and Rust in CI to 1.85 (#5946) 2025-02-24 12:28:01 +00:00
Laurenz
89e71acecd
Respect par constructor arguments (#5842) 2025-02-10 14:37:19 +00:00
PgBiel
3fba256405
Don't crash on image with zero DPI (#5835) 2025-02-10 10:39:04 +00:00
Malo
ca702c7f82
Documentation fixes and improvements (#5816) 2025-02-06 10:18:10 +00:00
Eric Biedert
85b0318158
Fix small copy-paste oversight (#5811) 2025-02-05 12:40:54 +00:00
Laurenz
12dbb012b1
Revert adding flatten-text to image (#5789) 2025-02-02 19:25:58 +00:00
Malo
f239b0a6a1
Change the default math class of U+22A5 ⊥ UP TACK to Normal (#5714) 2025-01-31 10:05:03 +00:00