forked from HEL/chronos
		
	adapted boundary shape rendering
This commit is contained in:
		@@ -1,22 +1,23 @@
 | 
			
		||||
#import "/src/cetz.typ": draw
 | 
			
		||||
 | 
			
		||||
#import "/src/core/utils.typ": normalize-measure
 | 
			
		||||
#import "/src/consts.typ": *
 | 
			
		||||
#import "/src/core/utils.typ": normalize-measure, normalize-units
 | 
			
		||||
 | 
			
		||||
#let name = "boundary"
 | 
			
		||||
 | 
			
		||||
#let render(x, y, p, bottom) = {
 | 
			
		||||
  let m = measure(p.display-name)
 | 
			
		||||
  let m = normalize-measure(p.display-name)
 | 
			
		||||
  let style = p.resolved-style
 | 
			
		||||
  let circle-r = BOUNDARY-HEIGHT / 2
 | 
			
		||||
  let height = normalize-units(style.height)
 | 
			
		||||
  let spacing = normalize-units(style.spacing)
 | 
			
		||||
  let circle-r = height / 2
 | 
			
		||||
  let y0 = if bottom {
 | 
			
		||||
    y - m.height / 1pt - SYM-GAP
 | 
			
		||||
    y - m.height - spacing
 | 
			
		||||
  } else {
 | 
			
		||||
    y + m.height / 1pt + BOUNDARY-HEIGHT + SYM-GAP
 | 
			
		||||
    y + m.height + height + spacing
 | 
			
		||||
  }
 | 
			
		||||
  let x0 = x - BOUNDARY-HEIGHT
 | 
			
		||||
  let x0 = x - height
 | 
			
		||||
  let y1 = y0 - circle-r
 | 
			
		||||
  let y2 = y0 - BOUNDARY-HEIGHT
 | 
			
		||||
  let y2 = y0 - height
 | 
			
		||||
 | 
			
		||||
  draw.circle(
 | 
			
		||||
    (x + circle-r, y1),
 | 
			
		||||
@@ -42,12 +43,17 @@
 | 
			
		||||
#let get-size(par) = {
 | 
			
		||||
  let m = normalize-measure(par.display-name)
 | 
			
		||||
 | 
			
		||||
  // BOUNDARY-HEIGHT * 2pt
 | 
			
		||||
  // BOUNDARY-HEIGHT * 1pt + SYM-GAP * 1pt + h
 | 
			
		||||
  let height = normalize-units(par.resolved-style.height)
 | 
			
		||||
  let width = height * 2
 | 
			
		||||
  let spacing = normalize-units(par.resolved-style.spacing)
 | 
			
		||||
 | 
			
		||||
  return m
 | 
			
		||||
  return (
 | 
			
		||||
    width: calc.max(m.width, width),
 | 
			
		||||
    height: height + spacing + m.height
 | 
			
		||||
  )
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#let default-style = (
 | 
			
		||||
  :
 | 
			
		||||
  height: 20pt,
 | 
			
		||||
  spacing: 5pt
 | 
			
		||||
)
 | 
			
		||||
		Reference in New Issue
	
	Block a user