diff --git a/src/misc.typ b/src/misc.typ index 5d01075..5cfe5cc 100644 --- a/src/misc.typ +++ b/src/misc.typ @@ -1,8 +1,10 @@ +#import "cetz.typ": styles + #import "core/draw/delay.typ" #import "core/draw/event.typ": render as evt-render #import "core/draw/separator.typ" #import "core/draw/sync.typ" -#import "core/utils.typ": set-ctx +#import "core/utils.typ": get-ctx, normalize-units, set-y #let _sep(name, ..style) = { return (( @@ -30,16 +32,26 @@ ),) } -#let gap-render(gap) = set-ctx(ctx => { - ctx.y -= gap.size - return ctx +#let gap-default-style = ( + size: 20pt +) + +#let gap-render(gap) = get-ctx(ctx => { + let style = styles.resolve( + ctx.style, + merge: gap.style, + root: "gap", + base: gap-default-style + ) + let size = normalize-units(style.size) + set-y(ctx.y - size) }) -#let _gap(size: 20) = { +#let _gap(..style) = { return (( type: "gap", draw: gap-render, - size: size + style: style.named() ),) }