improve default-draw-shape by drawing a rectangle
This commit is contained in:
@ -3,40 +3,20 @@
|
|||||||
#import "../element.typ"
|
#import "../element.typ"
|
||||||
|
|
||||||
#let default-draw-shape(id, tl, tr, br, bl, fill, stroke, symbol) = {
|
#let default-draw-shape(id, tl, tr, br, bl, fill, stroke, symbol) = {
|
||||||
let (x, y) = bl
|
let shapes = draw.rect(
|
||||||
let (width, height) = (tr.at(0) - x, tr.at(1) - y)
|
inset: 0.5em,
|
||||||
|
fill: fill,
|
||||||
let t = (x + width / 2, y + height)
|
stroke: stroke,
|
||||||
let b = (x + width / 2, y)
|
|
||||||
|
|
||||||
let f = draw.group(
|
|
||||||
name: id,
|
name: id,
|
||||||
{
|
bl, tr
|
||||||
draw.merge-path(
|
|
||||||
inset: 0.5em,
|
|
||||||
fill: fill,
|
|
||||||
stroke: stroke,
|
|
||||||
name: id + "-path",
|
|
||||||
close: true,
|
|
||||||
{
|
|
||||||
draw.line(bl, tl, tr, br)
|
|
||||||
},
|
|
||||||
)
|
|
||||||
|
|
||||||
draw.content(
|
|
||||||
(x + width / 2, y + height / 2),
|
|
||||||
padding: 0.5em,
|
|
||||||
align(center)[*$ symbol $*],
|
|
||||||
)
|
|
||||||
|
|
||||||
draw.anchor("north", t)
|
|
||||||
draw.anchor("south", b)
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
return (f, tl, tr, br, bl)
|
shapes += draw.content(
|
||||||
|
id + ".center",
|
||||||
|
[*$ symbol $*]
|
||||||
|
)
|
||||||
|
return (shapes, tl, tr, br, bl)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// Draws a logic gate. This function is also available as `element.iec-gate()`
|
/// Draws a logic gate. This function is also available as `element.iec-gate()`
|
||||||
///
|
///
|
||||||
/// - draw-shape (function): see #doc-ref("element.elmt")
|
/// - draw-shape (function): see #doc-ref("element.elmt")
|
||||||
|
Reference in New Issue
Block a user