329 Commits

Author SHA1 Message Date
Laurenz
304d9dd110 Small style changes 2021-11-24 17:00:10 +01:00
Laurenz
8a88f71cb1 Transformations 2021-11-23 22:04:08 +01:00
Laurenz
4f9e5819bb 2d alignments with plus operator 2021-11-23 12:45:20 +01:00
Laurenz
02f114d072 Remove decorum 2021-11-22 15:50:35 +01:00
Laurenz
b2e6a29789 Refactoring 2021-11-18 00:58:32 +01:00
Laurenz
095fa52be5 Placed node 2021-11-17 23:09:23 +01:00
Laurenz
89f2e71852 Align node 2021-11-17 17:09:19 +01:00
Laurenz
9a800daa82 Image fit modes 2021-11-16 21:32:29 +01:00
Laurenz
0e0f340502 Revert page and inline levels 2021-11-16 10:41:30 +01:00
Laurenz
5b344b663a Reorganize modules
Instead of separating functionality into layout and library, everything lives in the library now. This way, related things live side by side and there are no duplicate file names in the two directories.
2021-10-31 15:52:35 +01:00
Laurenz
feff013abb More useful Spec helpers 2021-10-31 14:40:15 +01:00
Laurenz
564cb7e989 Fix panic in pad node 2021-10-31 13:51:28 +01:00
Laurenz
5c534fb428 Simplify node construction 2021-10-26 17:14:11 +02:00
Laurenz
fb0cd3df6e Fr in stack and par 2021-10-26 14:56:10 +02:00
Laurenz
b42ecbd6a6 Simplify decorations 2021-10-23 20:24:35 +02:00
Laurenz
5becb32ba4 Introduce page / block / inline levels 2021-10-23 20:23:47 +02:00
Laurenz
c627847cb3 Remove directions from grid 2021-10-23 20:22:47 +02:00
Laurenz
6690bc2354 Revise block node contract
Frames produced by block nodes are now always treated as exactly one per
given region and a frame must not be larger than its respective region.
Any overflow must be handled internally. This means that stack and grid
don't need to search for fitting regions anymore, since the child has
already does that for them. This commit further moves stack spacing into
a new `SpacingNode`.
2021-10-23 20:22:47 +02:00
Laurenz
1e74f7c407 New ShapeNode
Replaces `BackgroundNode` and `FixedNode`
2021-10-23 20:22:47 +02:00
Laurenz
5f4dde0a6b Remove inline alignment from stack
The current inline alignment is very broken and leads to lots of subtle weirdness. Getting rid of it simplifies the stack's interface a lot. At a later point either:
- inline alignment will be added back in a better way, or
- all nodes will be able to expand or align themselves, meaning that the stack's children take care of their alignment
2021-10-23 20:22:47 +02:00
Laurenz
9ac125dea8 Rename State to Style and move it into its own module 2021-10-10 21:04:10 +02:00
Laurenz
d4cc8c775d Move paint and colors into geom 2021-10-10 20:26:58 +02:00
Laurenz
61fdc85b13 Refactor a bit 2021-10-05 23:23:09 +02:00
Laurenz
b69c0355ec Don't fit images to remaining height
Makes them really small if there's only little space left ...
2021-10-05 20:05:15 +02:00
Laurenz
1d60525690 Fix panic in grid due to empty auto row 2021-10-02 18:41:03 +02:00
Laurenz
0e89facb53 Allow linear values for text edges 2021-09-28 10:53:54 +02:00
Laurenz
f1ab290572 Refactor line reordering from callback to iterator 2021-09-27 22:45:29 +02:00
Laurenz
e10b3d838a Fix panic due to bad alignments in stack function 2021-09-27 13:45:18 +02:00
Laurenz
ff37a2893d More useful incremental checks
Co-Authored-By: Martin <mhaug@live.de>
2021-09-27 11:40:28 +02:00
Laurenz
1982a0639e Expand all but last region for broken up auto rows 2021-09-27 11:39:31 +02:00
Laurenz
6c478face4 Fix paragraph constraints
Co-Authored-By: Martin <mhaug@live.de>
2021-09-27 11:38:18 +02:00
Laurenz
19e17cc6ac Simplify decoration handling 2021-09-26 12:43:45 +02:00
Laurenz
a493b9533a More useful Debug impls 2021-09-26 12:24:24 +02:00
Laurenz
5594868f8b Prevent paragraph from overflowing due to trailing linebreak 2021-09-25 23:35:27 +02:00
Laurenz
c18321a4c2 Bugfix and tidying 2021-09-15 13:05:00 +02:00
Laurenz
18190f377a Reimplement Debug for layout nodes 2021-09-10 15:10:35 +02:00
Laurenz
b0b4607725 Set the correct base for grid cells 2021-09-10 15:10:34 +02:00
Laurenz
50a464488c Fix fr rows in infinite region 2021-09-10 15:10:34 +02:00
Laurenz
148a06c070 Switch from state to decorations for underline/strikethrough/overline 2021-08-24 00:41:15 +02:00
Martin
d546453880
Links! (#43)
Co-authored-by: Laurenz <laurmaedje@gmail.com>
2021-08-23 23:56:33 +02:00
Laurenz
0806af4aec Kerned PDF output 2021-08-23 13:21:44 +02:00
Laurenz
c0377de653 Shorter/clearer field name for geometry types
Size { width, height } => Size { w, h }
Spec { horizontal, vertical } => Spec { x, y }
Gen { cross, main } => Gen { inline, block }
2021-08-21 19:08:47 +02:00
Laurenz
0dd4ae0a7a Prune derives 2021-08-21 17:30:21 +02:00
Laurenz
f38eb10c2b Make better use of existing variables in grid 2021-08-21 15:28:44 +02:00
Laurenz
f71c38b38d Turn backlog into iterator 2021-08-21 15:28:26 +02:00
Laurenz
a6f260ca39 Refactor layouting a bit
Notably:
- Handle aspect ratio in fixed node
- Inline constraint inflation into pad node
2021-08-19 15:52:15 +02:00
Martin
fdab7158c9
Pattern properties (#42)
Included in this package are:
* Code review I: The unnamed review.
* Code Review II: How I met your review.
* Code Review III: Code, the final frontier. These are the voyages of the USS Review ...
2021-08-19 15:07:11 +02:00
Laurenz
594809e35b Library functions behave more imperatively
- Templates scope state changes
- State-modifying function operate in place instead of returning a template
- Internal template representation contains actual owned nodes instead of a pointer to a syntax tree + an expression map
- No more wide calls
2021-08-17 22:20:37 +02:00
Laurenz
c53d98a22f More logical ordering and naming 2021-08-17 12:49:48 +02:00
Laurenz
9a798ce6f6 Make percentages for h and v relative to area instead of font size 2021-08-17 00:17:28 +02:00