define_pixels (ht, wd, pen_size, stem_ht);
- save ellipse, pat;
+ save ellipse, pat, T;
path ellipse, pat;
+ transform T;
- pickup pencircle xscaled linethickness
- yscaled pen_size
- rotated -dalpha;
-
- ellipse := fullcircle xscaled linethickness
- yscaled pen_size
- rotated -dalpha;
+ T := identity xscaled linethickness
+ yscaled pen_size
+ rotated -dalpha;
+ pickup pencircle transformed T;
+ ellipse := fullcircle transformed T;
if direction = dir_up:
top y1 = ht / 2;
define_pixels (ht, wd, stem_ht);
- save ellipse;
+ save ellipse, T;
path ellipse;
+ transform T;
- pickup pencircle xscaled 0.6 linethickness
- yscaled ht;
-
- ellipse := fullcircle xscaled 0.6 linethickness
- yscaled ht;
+ T := identity xscaled 0.6 linethickness
+ yscaled ht;
+ pickup pencircle transformed T;
+ ellipse := fullcircle transformed T;
lft x1 = 0;
y1 = 0;
define_pixels (ht, wd, stem_ht);
- save ellipse;
+ save ellipse, T;
path ellipse;
+ transform T;
- pickup pencircle xscaled linethickness
- yscaled 0.4ht
- rotated -dalpha;
-
- ellipse := fullcircle xscaled linethickness
- yscaled 0.4ht
- rotated -dalpha;
+ T := identity xscaled linethickness
+ yscaled 0.4 ht
+ rotated -dalpha;
+ pickup pencircle transformed T;
+ ellipse := fullcircle transformed T;
if direction > 0:
bot y1 = bot y3 = bot y5 = -direction * 0.33 ht;
def draw_mensural_outermost_flare (expr staffline_adjustment, d_) =
define_pixels (linethickness, staff_space);
- save ellipse, pat;
+ save ellipse, pat, T;
path ellipse, pat;
+ transform T;
- pickup pencircle xscaled 1.00 linethickness
- yscaled 0.22 staff_space
- rotated -35;
+ T := identity xscaled 1.00 linethickness
+ yscaled 0.22 staff_space
+ rotated -35;
+ pickup pencircle transformed T;
+ ellipse := fullcircle transformed T;
- ellipse := fullcircle xscaled 1.00 linethickness
- yscaled 0.22 staff_space
- rotated -35;
-
z11 = (+0.00 staff_space, -0.00 staff_space);
z12 = (+0.15 staff_space, -0.00 staff_space);
def draw_mensural_inner_flare (expr il_shift, idx, d_) =
define_pixels (linethickness, staff_space);
- save ellipse, pat;
+ save ellipse, pat, T;
path ellipse, pat;
+ transform T;
- pickup pencircle xscaled 1.00 linethickness
- yscaled 0.22 staff_space
- rotated -35;
-
- ellipse := fullcircle xscaled 1.00 linethickness
- yscaled 0.22 staff_space
- rotated -35;
+ T := identity xscaled 1.00 linethickness
+ yscaled 0.22 staff_space
+ rotated -35;
+ pickup pencircle transformed T;
+ ellipse := fullcircle transformed T;
save i;
numeric i[];
define_pixels (ht, wd);
- pickup pencircle xscaled linethickness
- yscaled 0.44 ht;
-
- save ellipse;
+ save ellipse, T;
path ellipse;
+ transform T;
- ellipse := reverse fullcircle xscaled linethickness
- yscaled 0.44 ht;
+ T := identity xscaled linethickness
+ yscaled 0.44 ht;
+ pickup pencircle transformed T;
+ ellipse := reverse fullcircle transformed T;
z1 = (rt 0.00 wd, top -0.28 ht);
z2 = (0.11 wd, -0.14 ht);
z3 = (2/6 wd, -convexity);
z4 = (0.50 wd - blot_diameter / 2, +convexity);
- save height, ellipse;
- path ellipse;
+
+ save height;
height = 2 ypart (directionpoint right of (z1
.. z2
.. z3
.. z4));
- pickup pencircle xscaled blot_diameter
- yscaled (h + d - height);
+ save ellipse, T;
+ path ellipse;
+ transform T;
- ellipse := fullcircle xscaled blot_diameter
- yscaled (h + d - height);
+ T := identity xscaled blot_diameter
+ yscaled (h + d - height);
+ pickup pencircle transformed T;
+ ellipse := fullcircle transformed T;
% Adjust vertical coordinates to touch bounding box.
y1 := top -d;
define_pixels (wd, ht);
- save ellipse;
+ save ellipse, T;
path ellipse;
+ transform T;
- pickup pencircle xscaled wd
- yscaled blot_diameter;
-
- ellipse := fullcircle xscaled wd
- yscaled blot_diameter;
+ T := identity xscaled wd
+ yscaled blot_diameter;
+ pickup pencircle transformed T;
+ ellipse := fullcircle transformed T;
set_char_box (wd# / 2, wd# / 2, ht# / 2, ht# / 2);
x6 = x4;
y5 = y6 = y2 - 2 mensural_Cthickness;
- pickup pencircle scaled round;
-
fill bot z1{right}
.. rt z1{up}
-- rt z5{up}