7 textattrs
= [text
.halign
.center
, text
.vshift
.middlezero
]
8 A
= c
.text(0, 0, r
"\bf A", textattrs
)
9 B
= c
.text(1, 0, r
"\bf B", textattrs
)
10 C
= c
.text(1, 1, r
"\bf C", textattrs
)
11 D
= c
.text(0, 1, r
"\bf D", textattrs
)
13 for X
in [A
, B
, C
, D
]:
14 c
.stroke(X
.bbox().enlarged(0.1).rect())
16 for X
,Y
in [[A
, B
], [B
, C
], [C
, D
], [D
, A
]]:
17 c
.stroke(connector
.arc(X
, Y
, boxdists
=0.25), [color
.rgb
.red
, deco
.earrow
.normal
])
19 c
.stroke(connector
.curve(D
, B
, boxdists
=0.25, relangle1
=45, relangle2
=-45, relbulge
=0.8),
20 [color
.rgb
.blue
, deco
.earrow
.normal
])
22 c
.writetofile("connect")