use super::definitions::PresetDef;
use super::formulas::{FormulaOp, GuideDef};
use super::path::{PathCommandDef, PathDef, PathFill};
macro_rules! gd {
($name:expr, $op:ident, $x:expr, $y:expr, $z:expr) => {
GuideDef { name: $name, op: FormulaOp::$op, x: $x, y: $y, z: $z }
};
}
pub fn lookup_text_warp(name: &str) -> Option<&'static PresetDef> {
match name {
"textArchDown" => Some(&TEXT_ARCH_DOWN),
"textArchDownPour" => Some(&TEXT_ARCH_DOWN_POUR),
"textArchUp" => Some(&TEXT_ARCH_UP),
"textArchUpPour" => Some(&TEXT_ARCH_UP_POUR),
"textButton" => Some(&TEXT_BUTTON),
"textButtonPour" => Some(&TEXT_BUTTON_POUR),
"textCanDown" => Some(&TEXT_CAN_DOWN),
"textCanUp" => Some(&TEXT_CAN_UP),
"textCascadeDown" => Some(&TEXT_CASCADE_DOWN),
"textCascadeUp" => Some(&TEXT_CASCADE_UP),
"textChevron" => Some(&TEXT_CHEVRON),
"textChevronInverted" => Some(&TEXT_CHEVRON_INVERTED),
"textCircle" => Some(&TEXT_CIRCLE),
"textCirclePour" => Some(&TEXT_CIRCLE_POUR),
"textCurveDown" => Some(&TEXT_CURVE_DOWN),
"textCurveUp" => Some(&TEXT_CURVE_UP),
"textDeflate" => Some(&TEXT_DEFLATE),
"textDeflateBottom" => Some(&TEXT_DEFLATE_BOTTOM),
"textDeflateInflate" => Some(&TEXT_DEFLATE_INFLATE),
"textDeflateInflateDeflate" => Some(&TEXT_DEFLATE_INFLATE_DEFLATE),
"textDeflateTop" => Some(&TEXT_DEFLATE_TOP),
"textDoubleWave1" => Some(&TEXT_DOUBLE_WAVE1),
"textFadeDown" => Some(&TEXT_FADE_DOWN),
"textFadeLeft" => Some(&TEXT_FADE_LEFT),
"textFadeRight" => Some(&TEXT_FADE_RIGHT),
"textFadeUp" => Some(&TEXT_FADE_UP),
"textInflate" => Some(&TEXT_INFLATE),
"textInflateBottom" => Some(&TEXT_INFLATE_BOTTOM),
"textInflateTop" => Some(&TEXT_INFLATE_TOP),
"textPlain" => Some(&TEXT_PLAIN),
"textRingInside" => Some(&TEXT_RING_INSIDE),
"textRingOutside" => Some(&TEXT_RING_OUTSIDE),
"textSlantDown" => Some(&TEXT_SLANT_DOWN),
"textSlantUp" => Some(&TEXT_SLANT_UP),
"textStop" => Some(&TEXT_STOP),
"textTriangle" => Some(&TEXT_TRIANGLE),
"textTriangleInverted" => Some(&TEXT_TRIANGLE_INVERTED),
"textWave1" => Some(&TEXT_WAVE1),
"textWave2" => Some(&TEXT_WAVE2),
"textWave4" => Some(&TEXT_WAVE4),
_ => None,
}
}
static TEXT_ARCH_DOWN_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "x2", y: "y2" },
PathCommandDef::ArcTo { wr: "wd2", hr: "hd2", st_ang: "stAng", sw_ang: "swAng" },
];
static TEXT_ARCH_DOWN_PATHS: &[PathDef] = &[
PathDef { commands: TEXT_ARCH_DOWN_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
];
static TEXT_ARCH_DOWN_GUIDES: &[GuideDef] = &[
gd!("adval", Pin, "0", "adj", "21599999"),
gd!("v1", AddSub, "10800000", "0", "adval"),
gd!("v2", AddSub, "32400000", "0", "adval"),
gd!("nv1", AddSub, "0", "0", "v1"),
gd!("stAng", IfElse, "nv1", "v2", "v1"),
gd!("w1", AddSub, "5400000", "0", "adval"),
gd!("w2", AddSub, "16200000", "0", "adval"),
gd!("d1", AddSub, "adval", "0", "stAng"),
gd!("d2", AddSub, "d1", "0", "21600000"),
gd!("v3", AddSub, "0", "0", "10800000"),
gd!("c2", IfElse, "w2", "d1", "d2"),
gd!("c1", IfElse, "v1", "d2", "c2"),
gd!("c0", IfElse, "w1", "d1", "c1"),
gd!("swAng", IfElse, "stAng", "c0", "v3"),
gd!("wt1", Sin, "wd2", "adj", ""),
gd!("ht1", Cos, "hd2", "adj", ""),
gd!("dx1", CosAtan2, "wd2", "ht1", "wt1"),
gd!("dy1", SinAtan2, "hd2", "ht1", "wt1"),
gd!("x1", AddSub, "hc", "dx1", "0"),
gd!("y1", AddSub, "vc", "dy1", "0"),
gd!("wt2", Sin, "wd2", "stAng", ""),
gd!("ht2", Cos, "hd2", "stAng", ""),
gd!("dx2", CosAtan2, "wd2", "ht2", "wt2"),
gd!("dy2", SinAtan2, "hd2", "ht2", "wt2"),
gd!("x2", AddSub, "hc", "dx2", "0"),
gd!("y2", AddSub, "vc", "dy2", "0"),
];
static TEXT_ARCH_DOWN: PresetDef = PresetDef {
adjust_defaults: &[("adj", 0)],
guides: TEXT_ARCH_DOWN_GUIDES,
paths: TEXT_ARCH_DOWN_PATHS,
text_rect: None,
};
static TEXT_ARCH_DOWN_POUR_P0_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "x3", y: "y3" },
PathCommandDef::ArcTo { wr: "iwd2", hr: "ihd2", st_ang: "stAng", sw_ang: "swAng" },
];
static TEXT_ARCH_DOWN_POUR_P1_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "x1", y: "y1" },
PathCommandDef::ArcTo { wr: "wd2", hr: "hd2", st_ang: "stAng", sw_ang: "swAng" },
];
static TEXT_ARCH_DOWN_POUR_PATHS: &[PathDef] = &[
PathDef { commands: TEXT_ARCH_DOWN_POUR_P0_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
PathDef { commands: TEXT_ARCH_DOWN_POUR_P1_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
];
static TEXT_ARCH_DOWN_POUR_GUIDES: &[GuideDef] = &[
gd!("adval", Pin, "0", "adj1", "21599999"),
gd!("v1", AddSub, "10800000", "0", "adval"),
gd!("v2", AddSub, "32400000", "0", "adval"),
gd!("nv1", AddSub, "0", "0", "v1"),
gd!("stAng", IfElse, "nv1", "v2", "v1"),
gd!("w1", AddSub, "5400000", "0", "adval"),
gd!("w2", AddSub, "16200000", "0", "adval"),
gd!("d1", AddSub, "adval", "0", "stAng"),
gd!("d2", AddSub, "d1", "0", "21600000"),
gd!("v3", AddSub, "0", "0", "10800000"),
gd!("c2", IfElse, "w2", "d1", "d2"),
gd!("c1", IfElse, "v1", "d2", "c2"),
gd!("c0", IfElse, "w1", "d1", "c1"),
gd!("swAng", IfElse, "stAng", "c0", "v3"),
gd!("wt1", Sin, "wd2", "stAng", ""),
gd!("ht1", Cos, "hd2", "stAng", ""),
gd!("dx1", CosAtan2, "wd2", "ht1", "wt1"),
gd!("dy1", SinAtan2, "hd2", "ht1", "wt1"),
gd!("x1", AddSub, "hc", "dx1", "0"),
gd!("y1", AddSub, "vc", "dy1", "0"),
gd!("adval2", Pin, "0", "adj2", "99000"),
gd!("ratio", MulDiv, "adval2", "1", "100000"),
gd!("iwd2", MulDiv, "wd2", "ratio", "1"),
gd!("ihd2", MulDiv, "hd2", "ratio", "1"),
gd!("wt2", Sin, "iwd2", "adval", ""),
gd!("ht2", Cos, "ihd2", "adval", ""),
gd!("dx2", CosAtan2, "iwd2", "ht2", "wt2"),
gd!("dy2", SinAtan2, "ihd2", "ht2", "wt2"),
gd!("x2", AddSub, "hc", "dx2", "0"),
gd!("y2", AddSub, "vc", "dy2", "0"),
gd!("wt3", Sin, "iwd2", "stAng", ""),
gd!("ht3", Cos, "ihd2", "stAng", ""),
gd!("dx3", CosAtan2, "iwd2", "ht3", "wt3"),
gd!("dy3", SinAtan2, "ihd2", "ht3", "wt3"),
gd!("x3", AddSub, "hc", "dx3", "0"),
gd!("y3", AddSub, "vc", "dy3", "0"),
];
static TEXT_ARCH_DOWN_POUR: PresetDef = PresetDef {
adjust_defaults: &[("adj1", 0), ("adj2", 25000)],
guides: TEXT_ARCH_DOWN_POUR_GUIDES,
paths: TEXT_ARCH_DOWN_POUR_PATHS,
text_rect: None,
};
static TEXT_ARCH_UP_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "x1", y: "y1" },
PathCommandDef::ArcTo { wr: "wd2", hr: "hd2", st_ang: "adval", sw_ang: "swAng" },
];
static TEXT_ARCH_UP_PATHS: &[PathDef] = &[
PathDef { commands: TEXT_ARCH_UP_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
];
static TEXT_ARCH_UP_GUIDES: &[GuideDef] = &[
gd!("adval", Pin, "0", "adj", "21599999"),
gd!("v1", AddSub, "10800000", "0", "adval"),
gd!("v2", AddSub, "32400000", "0", "adval"),
gd!("end", IfElse, "v1", "v1", "v2"),
gd!("w1", AddSub, "5400000", "0", "adval"),
gd!("w2", AddSub, "16200000", "0", "adval"),
gd!("d1", AddSub, "end", "0", "adval"),
gd!("d2", AddSub, "21600000", "d1", "0"),
gd!("c2", IfElse, "w2", "d1", "d2"),
gd!("c1", IfElse, "v1", "d2", "c2"),
gd!("swAng", IfElse, "w1", "d1", "c1"),
gd!("wt1", Sin, "wd2", "adj", ""),
gd!("ht1", Cos, "hd2", "adj", ""),
gd!("dx1", CosAtan2, "wd2", "ht1", "wt1"),
gd!("dy1", SinAtan2, "hd2", "ht1", "wt1"),
gd!("x1", AddSub, "hc", "dx1", "0"),
gd!("y1", AddSub, "vc", "dy1", "0"),
];
static TEXT_ARCH_UP: PresetDef = PresetDef {
adjust_defaults: &[("adj", 0)],
guides: TEXT_ARCH_UP_GUIDES,
paths: TEXT_ARCH_UP_PATHS,
text_rect: None,
};
static TEXT_ARCH_UP_POUR_P0_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "x1", y: "y1" },
PathCommandDef::ArcTo { wr: "wd2", hr: "hd2", st_ang: "adval", sw_ang: "swAng" },
];
static TEXT_ARCH_UP_POUR_P1_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "x2", y: "y2" },
PathCommandDef::ArcTo { wr: "iwd2", hr: "ihd2", st_ang: "adval", sw_ang: "swAng" },
];
static TEXT_ARCH_UP_POUR_PATHS: &[PathDef] = &[
PathDef { commands: TEXT_ARCH_UP_POUR_P0_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
PathDef { commands: TEXT_ARCH_UP_POUR_P1_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
];
static TEXT_ARCH_UP_POUR_GUIDES: &[GuideDef] = &[
gd!("adval", Pin, "0", "adj1", "21599999"),
gd!("v1", AddSub, "10800000", "0", "adval"),
gd!("v2", AddSub, "32400000", "0", "adval"),
gd!("end", IfElse, "v1", "v1", "v2"),
gd!("w1", AddSub, "5400000", "0", "adval"),
gd!("w2", AddSub, "16200000", "0", "adval"),
gd!("d1", AddSub, "end", "0", "adval"),
gd!("d2", AddSub, "21600000", "d1", "0"),
gd!("c2", IfElse, "w2", "d1", "d2"),
gd!("c1", IfElse, "v1", "d2", "c2"),
gd!("swAng", IfElse, "w1", "d1", "c1"),
gd!("wt1", Sin, "wd2", "adval", ""),
gd!("ht1", Cos, "hd2", "adval", ""),
gd!("dx1", CosAtan2, "wd2", "ht1", "wt1"),
gd!("dy1", SinAtan2, "hd2", "ht1", "wt1"),
gd!("x1", AddSub, "hc", "dx1", "0"),
gd!("y1", AddSub, "vc", "dy1", "0"),
gd!("adval2", Pin, "0", "adj2", "99000"),
gd!("ratio", MulDiv, "adval2", "1", "100000"),
gd!("iwd2", MulDiv, "wd2", "ratio", "1"),
gd!("ihd2", MulDiv, "hd2", "ratio", "1"),
gd!("wt2", Sin, "iwd2", "adval", ""),
gd!("ht2", Cos, "ihd2", "adval", ""),
gd!("dx2", CosAtan2, "iwd2", "ht2", "wt2"),
gd!("dy2", SinAtan2, "ihd2", "ht2", "wt2"),
gd!("x2", AddSub, "hc", "dx2", "0"),
gd!("y2", AddSub, "vc", "dy2", "0"),
];
static TEXT_ARCH_UP_POUR: PresetDef = PresetDef {
adjust_defaults: &[("adj1", 0), ("adj2", 50000)],
guides: TEXT_ARCH_UP_POUR_GUIDES,
paths: TEXT_ARCH_UP_POUR_PATHS,
text_rect: None,
};
static TEXT_BUTTON_P0_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "x1", y: "y1" },
PathCommandDef::ArcTo { wr: "wd2", hr: "hd2", st_ang: "stT", sw_ang: "swT" },
];
static TEXT_BUTTON_P1_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "l", y: "vc" },
PathCommandDef::LineTo { x: "r", y: "vc" },
];
static TEXT_BUTTON_P2_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "x2", y: "y2" },
PathCommandDef::ArcTo { wr: "wd2", hr: "hd2", st_ang: "stB", sw_ang: "swB" },
];
static TEXT_BUTTON_PATHS: &[PathDef] = &[
PathDef { commands: TEXT_BUTTON_P0_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
PathDef { commands: TEXT_BUTTON_P1_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
PathDef { commands: TEXT_BUTTON_P2_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
];
static TEXT_BUTTON_GUIDES: &[GuideDef] = &[
gd!("adval", Pin, "0", "adj", "21599999"),
gd!("bot", AddSub, "5400000", "0", "adval"),
gd!("lef", AddSub, "10800000", "0", "adval"),
gd!("top", AddSub, "16200000", "0", "adval"),
gd!("rig", AddSub, "21600000", "0", "adval"),
gd!("c3", IfElse, "top", "adval", "0"),
gd!("c2", IfElse, "lef", "10800000", "c3"),
gd!("c1", IfElse, "bot", "rig", "c2"),
gd!("stAng", IfElse, "adval", "c1", "0"),
gd!("w1", AddSub, "21600000", "0", "stAng"),
gd!("stAngB", IfElse, "stAng", "w1", "0"),
gd!("td1", MulDiv, "bot", "2", "1"),
gd!("td2", MulDiv, "top", "2", "1"),
gd!("ntd2", AddSub, "0", "0", "td2"),
gd!("w2", AddSub, "0", "0", "10800000"),
gd!("c6", IfElse, "top", "ntd2", "w2"),
gd!("c5", IfElse, "lef", "10800000", "c6"),
gd!("c4", IfElse, "bot", "td1", "c5"),
gd!("v1", IfElse, "adval", "c4", "10800000"),
gd!("swAngT", AddSub, "0", "0", "v1"),
gd!("stT", IfElse, "lef", "stAngB", "stAng"),
gd!("stB", IfElse, "lef", "stAng", "stAngB"),
gd!("swT", IfElse, "lef", "v1", "swAngT"),
gd!("swB", IfElse, "lef", "swAngT", "v1"),
gd!("wt1", Sin, "wd2", "stT", ""),
gd!("ht1", Cos, "hd2", "stT", ""),
gd!("dx1", CosAtan2, "wd2", "ht1", "wt1"),
gd!("dy1", SinAtan2, "hd2", "ht1", "wt1"),
gd!("x1", AddSub, "hc", "dx1", "0"),
gd!("y1", AddSub, "vc", "dy1", "0"),
gd!("wt2", Sin, "wd2", "stB", ""),
gd!("ht2", Cos, "hd2", "stB", ""),
gd!("dx2", CosAtan2, "wd2", "ht2", "wt2"),
gd!("dy2", SinAtan2, "hd2", "ht2", "wt2"),
gd!("x2", AddSub, "hc", "dx2", "0"),
gd!("y2", AddSub, "vc", "dy2", "0"),
gd!("wt3", Sin, "wd2", "adj", ""),
gd!("ht3", Cos, "hd2", "adj", ""),
gd!("dx3", CosAtan2, "wd2", "ht3", "wt3"),
gd!("dy3", SinAtan2, "hd2", "ht3", "wt3"),
gd!("x3", AddSub, "hc", "dx3", "0"),
gd!("y3", AddSub, "vc", "dy3", "0"),
];
static TEXT_BUTTON: PresetDef = PresetDef {
adjust_defaults: &[("adj", 10800000)],
guides: TEXT_BUTTON_GUIDES,
paths: TEXT_BUTTON_PATHS,
text_rect: None,
};
static TEXT_BUTTON_POUR_P0_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "x1", y: "y1" },
PathCommandDef::ArcTo { wr: "wd2", hr: "hd2", st_ang: "stT", sw_ang: "swT" },
];
static TEXT_BUTTON_POUR_P1_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "x2", y: "y2" },
PathCommandDef::ArcTo { wr: "iwd2", hr: "ihd2", st_ang: "stT", sw_ang: "swT" },
];
static TEXT_BUTTON_POUR_P2_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "xl", y: "yu" },
PathCommandDef::LineTo { x: "xr", y: "yu" },
];
static TEXT_BUTTON_POUR_P3_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "xl", y: "yd" },
PathCommandDef::LineTo { x: "xr", y: "yd" },
];
static TEXT_BUTTON_POUR_P4_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "x5", y: "y5" },
PathCommandDef::ArcTo { wr: "iwd2", hr: "ihd2", st_ang: "stB", sw_ang: "swB" },
];
static TEXT_BUTTON_POUR_P5_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "x6", y: "y6" },
PathCommandDef::ArcTo { wr: "wd2", hr: "hd2", st_ang: "stB", sw_ang: "swB" },
];
static TEXT_BUTTON_POUR_PATHS: &[PathDef] = &[
PathDef { commands: TEXT_BUTTON_POUR_P0_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
PathDef { commands: TEXT_BUTTON_POUR_P1_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
PathDef { commands: TEXT_BUTTON_POUR_P2_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
PathDef { commands: TEXT_BUTTON_POUR_P3_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
PathDef { commands: TEXT_BUTTON_POUR_P4_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
PathDef { commands: TEXT_BUTTON_POUR_P5_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
];
static TEXT_BUTTON_POUR_GUIDES: &[GuideDef] = &[
gd!("adval", Pin, "0", "adj1", "21599999"),
gd!("bot", AddSub, "5400000", "0", "adval"),
gd!("lef", AddSub, "10800000", "0", "adval"),
gd!("top", AddSub, "16200000", "0", "adval"),
gd!("rig", AddSub, "21600000", "0", "adval"),
gd!("c3", IfElse, "top", "adval", "0"),
gd!("c2", IfElse, "lef", "10800000", "c3"),
gd!("c1", IfElse, "bot", "rig", "c2"),
gd!("stAng", IfElse, "adval", "c1", "0"),
gd!("w1", AddSub, "21600000", "0", "stAng"),
gd!("stAngB", IfElse, "stAng", "w1", "0"),
gd!("td1", MulDiv, "bot", "2", "1"),
gd!("td2", MulDiv, "top", "2", "1"),
gd!("ntd2", AddSub, "0", "0", "td2"),
gd!("w2", AddSub, "0", "0", "10800000"),
gd!("c6", IfElse, "top", "ntd2", "w2"),
gd!("c5", IfElse, "lef", "10800000", "c6"),
gd!("c4", IfElse, "bot", "td1", "c5"),
gd!("v1", IfElse, "adval", "c4", "10800000"),
gd!("swAngT", AddSub, "0", "0", "v1"),
gd!("stT", IfElse, "lef", "stAngB", "stAng"),
gd!("stB", IfElse, "lef", "stAng", "stAngB"),
gd!("swT", IfElse, "lef", "v1", "swAngT"),
gd!("swB", IfElse, "lef", "swAngT", "v1"),
gd!("wt1", Sin, "wd2", "stT", ""),
gd!("ht1", Cos, "hd2", "stT", ""),
gd!("dx1", CosAtan2, "wd2", "ht1", "wt1"),
gd!("dy1", SinAtan2, "hd2", "ht1", "wt1"),
gd!("x1", AddSub, "hc", "dx1", "0"),
gd!("y1", AddSub, "vc", "dy1", "0"),
gd!("wt6", Sin, "wd2", "stB", ""),
gd!("ht6", Cos, "hd2", "stB", ""),
gd!("dx6", CosAtan2, "wd2", "ht6", "wt6"),
gd!("dy6", SinAtan2, "hd2", "ht6", "wt6"),
gd!("x6", AddSub, "hc", "dx6", "0"),
gd!("y6", AddSub, "vc", "dy6", "0"),
gd!("adval2", Pin, "40000", "adj2", "99000"),
gd!("ratio", MulDiv, "adval2", "1", "100000"),
gd!("iwd2", MulDiv, "wd2", "ratio", "1"),
gd!("ihd2", MulDiv, "hd2", "ratio", "1"),
gd!("wt2", Sin, "iwd2", "stT", ""),
gd!("ht2", Cos, "ihd2", "stT", ""),
gd!("dx2", CosAtan2, "iwd2", "ht2", "wt2"),
gd!("dy2", SinAtan2, "ihd2", "ht2", "wt2"),
gd!("x2", AddSub, "hc", "dx2", "0"),
gd!("y2", AddSub, "vc", "dy2", "0"),
gd!("wt5", Sin, "iwd2", "stB", ""),
gd!("ht5", Cos, "ihd2", "stB", ""),
gd!("dx5", CosAtan2, "iwd2", "ht5", "wt5"),
gd!("dy5", SinAtan2, "ihd2", "ht5", "wt5"),
gd!("x5", AddSub, "hc", "dx5", "0"),
gd!("y5", AddSub, "vc", "dy5", "0"),
gd!("d1", AddSub, "hd2", "0", "ihd2"),
gd!("d12", MulDiv, "d1", "1", "2"),
gd!("yu", AddSub, "vc", "0", "d12"),
gd!("yd", AddSub, "vc", "d12", "0"),
gd!("v1", MulDiv, "d12", "d12", "1"),
gd!("v2", MulDiv, "ihd2", "ihd2", "1"),
gd!("v3", MulDiv, "v1", "1", "v2"),
gd!("v4", AddSub, "1", "0", "v3"),
gd!("v5", MulDiv, "iwd2", "iwd2", "1"),
gd!("v6", MulDiv, "v4", "v5", "1"),
gd!("v7", Sqrt, "v6", "", ""),
gd!("xl", AddSub, "hc", "0", "v7"),
gd!("xr", AddSub, "hc", "v7", "0"),
gd!("wtadj", Sin, "iwd2", "adj1", ""),
gd!("htadj", Cos, "ihd2", "adj1", ""),
gd!("dxadj", CosAtan2, "iwd2", "htadj", "wtadj"),
gd!("dyadj", SinAtan2, "ihd2", "htadj", "wtadj"),
gd!("xadj", AddSub, "hc", "dxadj", "0"),
gd!("yadj", AddSub, "vc", "dyadj", "0"),
];
static TEXT_BUTTON_POUR: PresetDef = PresetDef {
adjust_defaults: &[("adj1", 0), ("adj2", 50000)],
guides: TEXT_BUTTON_POUR_GUIDES,
paths: TEXT_BUTTON_POUR_PATHS,
text_rect: None,
};
static TEXT_CAN_DOWN_P0_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "l", y: "t" },
PathCommandDef::ArcTo { wr: "wd2", hr: "dy", st_ang: "cd2", sw_ang: "ncd2" },
];
static TEXT_CAN_DOWN_P1_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "l", y: "y1" },
PathCommandDef::ArcTo { wr: "wd2", hr: "dy", st_ang: "cd2", sw_ang: "ncd2" },
];
static TEXT_CAN_DOWN_PATHS: &[PathDef] = &[
PathDef { commands: TEXT_CAN_DOWN_P0_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
PathDef { commands: TEXT_CAN_DOWN_P1_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
];
static TEXT_CAN_DOWN_GUIDES: &[GuideDef] = &[
gd!("a", Pin, "0", "adj", "33333"),
gd!("dy", MulDiv, "a", "h", "100000"),
gd!("y0", AddSub, "t", "dy", "0"),
gd!("y1", AddSub, "b", "0", "dy"),
gd!("ncd2", MulDiv, "cd2", "-1", "1"),
];
static TEXT_CAN_DOWN: PresetDef = PresetDef {
adjust_defaults: &[("adj", 14286)],
guides: TEXT_CAN_DOWN_GUIDES,
paths: TEXT_CAN_DOWN_PATHS,
text_rect: None,
};
static TEXT_CAN_UP_P0_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "l", y: "y1" },
PathCommandDef::ArcTo { wr: "wd2", hr: "dy", st_ang: "cd2", sw_ang: "cd2" },
];
static TEXT_CAN_UP_P1_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "l", y: "b" },
PathCommandDef::ArcTo { wr: "wd2", hr: "dy", st_ang: "cd2", sw_ang: "cd2" },
];
static TEXT_CAN_UP_PATHS: &[PathDef] = &[
PathDef { commands: TEXT_CAN_UP_P0_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
PathDef { commands: TEXT_CAN_UP_P1_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
];
static TEXT_CAN_UP_GUIDES: &[GuideDef] = &[
gd!("a", Pin, "66667", "adj", "100000"),
gd!("dy1", MulDiv, "a", "h", "100000"),
gd!("dy", AddSub, "h", "0", "dy1"),
gd!("y0", AddSub, "t", "dy1", "0"),
gd!("y1", AddSub, "t", "dy", "0"),
];
static TEXT_CAN_UP: PresetDef = PresetDef {
adjust_defaults: &[("adj", 85714)],
guides: TEXT_CAN_UP_GUIDES,
paths: TEXT_CAN_UP_PATHS,
text_rect: None,
};
static TEXT_CASCADE_DOWN_P0_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "l", y: "t" },
PathCommandDef::LineTo { x: "r", y: "y2" },
];
static TEXT_CASCADE_DOWN_P1_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "l", y: "y1" },
PathCommandDef::LineTo { x: "r", y: "b" },
];
static TEXT_CASCADE_DOWN_PATHS: &[PathDef] = &[
PathDef { commands: TEXT_CASCADE_DOWN_P0_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
PathDef { commands: TEXT_CASCADE_DOWN_P1_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
];
static TEXT_CASCADE_DOWN_GUIDES: &[GuideDef] = &[
gd!("a", Pin, "28570", "adj", "100000"),
gd!("dy", MulDiv, "a", "h", "100000"),
gd!("y1", AddSub, "t", "dy", "0"),
gd!("dy2", AddSub, "h", "0", "dy"),
gd!("dy3", MulDiv, "dy2", "1", "4"),
gd!("y2", AddSub, "t", "dy3", "0"),
];
static TEXT_CASCADE_DOWN: PresetDef = PresetDef {
adjust_defaults: &[("adj", 44444)],
guides: TEXT_CASCADE_DOWN_GUIDES,
paths: TEXT_CASCADE_DOWN_PATHS,
text_rect: None,
};
static TEXT_CASCADE_UP_P0_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "l", y: "y2" },
PathCommandDef::LineTo { x: "r", y: "t" },
];
static TEXT_CASCADE_UP_P1_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "l", y: "b" },
PathCommandDef::LineTo { x: "r", y: "y1" },
];
static TEXT_CASCADE_UP_PATHS: &[PathDef] = &[
PathDef { commands: TEXT_CASCADE_UP_P0_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
PathDef { commands: TEXT_CASCADE_UP_P1_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
];
static TEXT_CASCADE_UP_GUIDES: &[GuideDef] = &[
gd!("a", Pin, "28570", "adj", "100000"),
gd!("dy", MulDiv, "a", "h", "100000"),
gd!("y1", AddSub, "t", "dy", "0"),
gd!("dy2", AddSub, "h", "0", "dy"),
gd!("dy3", MulDiv, "dy2", "1", "4"),
gd!("y2", AddSub, "t", "dy3", "0"),
];
static TEXT_CASCADE_UP: PresetDef = PresetDef {
adjust_defaults: &[("adj", 44444)],
guides: TEXT_CASCADE_UP_GUIDES,
paths: TEXT_CASCADE_UP_PATHS,
text_rect: None,
};
static TEXT_CHEVRON_P0_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "l", y: "y" },
PathCommandDef::LineTo { x: "hc", y: "t" },
PathCommandDef::LineTo { x: "r", y: "y" },
];
static TEXT_CHEVRON_P1_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "l", y: "b" },
PathCommandDef::LineTo { x: "hc", y: "y1" },
PathCommandDef::LineTo { x: "r", y: "b" },
];
static TEXT_CHEVRON_PATHS: &[PathDef] = &[
PathDef { commands: TEXT_CHEVRON_P0_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
PathDef { commands: TEXT_CHEVRON_P1_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
];
static TEXT_CHEVRON_GUIDES: &[GuideDef] = &[
gd!("a", Pin, "0", "adj", "50000"),
gd!("y", MulDiv, "a", "h", "100000"),
gd!("y1", AddSub, "t", "b", "y"),
];
static TEXT_CHEVRON: PresetDef = PresetDef {
adjust_defaults: &[("adj", 25000)],
guides: TEXT_CHEVRON_GUIDES,
paths: TEXT_CHEVRON_PATHS,
text_rect: None,
};
static TEXT_CHEVRON_INVERTED_P0_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "l", y: "t" },
PathCommandDef::LineTo { x: "hc", y: "y1" },
PathCommandDef::LineTo { x: "r", y: "t" },
];
static TEXT_CHEVRON_INVERTED_P1_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "l", y: "y" },
PathCommandDef::LineTo { x: "hc", y: "b" },
PathCommandDef::LineTo { x: "r", y: "y" },
];
static TEXT_CHEVRON_INVERTED_PATHS: &[PathDef] = &[
PathDef { commands: TEXT_CHEVRON_INVERTED_P0_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
PathDef { commands: TEXT_CHEVRON_INVERTED_P1_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
];
static TEXT_CHEVRON_INVERTED_GUIDES: &[GuideDef] = &[
gd!("a", Pin, "50000", "adj", "100000"),
gd!("y", MulDiv, "a", "h", "100000"),
gd!("y1", AddSub, "b", "0", "y"),
];
static TEXT_CHEVRON_INVERTED: PresetDef = PresetDef {
adjust_defaults: &[("adj", 75000)],
guides: TEXT_CHEVRON_INVERTED_GUIDES,
paths: TEXT_CHEVRON_INVERTED_PATHS,
text_rect: None,
};
static TEXT_CIRCLE_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "x1", y: "y1" },
PathCommandDef::ArcTo { wr: "wd2", hr: "hd2", st_ang: "adval", sw_ang: "swAng" },
];
static TEXT_CIRCLE_PATHS: &[PathDef] = &[
PathDef { commands: TEXT_CIRCLE_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
];
static TEXT_CIRCLE_GUIDES: &[GuideDef] = &[
gd!("adval", Pin, "0", "adj", "21599999"),
gd!("d0", AddSub, "adval", "0", "10800000"),
gd!("d1", AddSub, "10800000", "0", "adval"),
gd!("d2", AddSub, "21600000", "0", "adval"),
gd!("d3", IfElse, "d1", "d1", "10799999"),
gd!("d4", IfElse, "d0", "d2", "d3"),
gd!("swAng", MulDiv, "d4", "2", "1"),
gd!("wt1", Sin, "wd2", "adj", ""),
gd!("ht1", Cos, "hd2", "adj", ""),
gd!("dx1", CosAtan2, "wd2", "ht1", "wt1"),
gd!("dy1", SinAtan2, "hd2", "ht1", "wt1"),
gd!("x1", AddSub, "hc", "dx1", "0"),
gd!("y1", AddSub, "vc", "dy1", "0"),
];
static TEXT_CIRCLE: PresetDef = PresetDef {
adjust_defaults: &[("adj", 10800000)],
guides: TEXT_CIRCLE_GUIDES,
paths: TEXT_CIRCLE_PATHS,
text_rect: None,
};
static TEXT_CIRCLE_POUR_P0_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "x1", y: "y1" },
PathCommandDef::ArcTo { wr: "wd2", hr: "hd2", st_ang: "adval", sw_ang: "swAng" },
];
static TEXT_CIRCLE_POUR_P1_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "x2", y: "y2" },
PathCommandDef::ArcTo { wr: "iwd2", hr: "ihd2", st_ang: "adval", sw_ang: "swAng" },
];
static TEXT_CIRCLE_POUR_PATHS: &[PathDef] = &[
PathDef { commands: TEXT_CIRCLE_POUR_P0_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
PathDef { commands: TEXT_CIRCLE_POUR_P1_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
];
static TEXT_CIRCLE_POUR_GUIDES: &[GuideDef] = &[
gd!("adval", Pin, "0", "adj1", "21599999"),
gd!("d0", AddSub, "adval", "0", "10800000"),
gd!("d1", AddSub, "10800000", "0", "adval"),
gd!("d2", AddSub, "21600000", "0", "adval"),
gd!("d3", IfElse, "d1", "d1", "10799999"),
gd!("d4", IfElse, "d0", "d2", "d3"),
gd!("swAng", MulDiv, "d4", "2", "1"),
gd!("wt1", Sin, "wd2", "adval", ""),
gd!("ht1", Cos, "hd2", "adval", ""),
gd!("dx1", CosAtan2, "wd2", "ht1", "wt1"),
gd!("dy1", SinAtan2, "hd2", "ht1", "wt1"),
gd!("x1", AddSub, "hc", "dx1", "0"),
gd!("y1", AddSub, "vc", "dy1", "0"),
gd!("adval2", Pin, "0", "adj2", "99000"),
gd!("ratio", MulDiv, "adval2", "1", "100000"),
gd!("iwd2", MulDiv, "wd2", "ratio", "1"),
gd!("ihd2", MulDiv, "hd2", "ratio", "1"),
gd!("wt2", Sin, "iwd2", "adval", ""),
gd!("ht2", Cos, "ihd2", "adval", ""),
gd!("dx2", CosAtan2, "iwd2", "ht2", "wt2"),
gd!("dy2", SinAtan2, "ihd2", "ht2", "wt2"),
gd!("x2", AddSub, "hc", "dx2", "0"),
gd!("y2", AddSub, "vc", "dy2", "0"),
];
static TEXT_CIRCLE_POUR: PresetDef = PresetDef {
adjust_defaults: &[("adj1", 0), ("adj2", 50000)],
guides: TEXT_CIRCLE_POUR_GUIDES,
paths: TEXT_CIRCLE_POUR_PATHS,
text_rect: None,
};
static TEXT_CURVE_DOWN_P0_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "l", y: "t" },
PathCommandDef::CubicBezTo { x1: "x1", y1: "y1", x2: "x2", y2: "y2", x3: "r", y3: "y0" },
];
static TEXT_CURVE_DOWN_P1_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "l", y: "y5" },
PathCommandDef::CubicBezTo { x1: "x1", y1: "y6", x2: "x2", y2: "y6", x3: "r", y3: "y5" },
];
static TEXT_CURVE_DOWN_PATHS: &[PathDef] = &[
PathDef { commands: TEXT_CURVE_DOWN_P0_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
PathDef { commands: TEXT_CURVE_DOWN_P1_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
];
static TEXT_CURVE_DOWN_GUIDES: &[GuideDef] = &[
gd!("a", Pin, "0", "adj", "56338"),
gd!("dy", MulDiv, "a", "h", "100000"),
gd!("gd1", MulDiv, "dy", "3", "4"),
gd!("gd2", MulDiv, "dy", "5", "4"),
gd!("gd3", MulDiv, "dy", "3", "8"),
gd!("gd4", MulDiv, "dy", "1", "8"),
gd!("gd5", AddSub, "h", "0", "gd3"),
gd!("gd6", AddSub, "gd4", "h", "0"),
gd!("y0", AddSub, "t", "dy", "0"),
gd!("y1", AddSub, "t", "gd1", "0"),
gd!("y2", AddSub, "t", "gd2", "0"),
gd!("y3", AddSub, "t", "gd3", "0"),
gd!("y4", AddSub, "t", "gd4", "0"),
gd!("y5", AddSub, "t", "gd5", "0"),
gd!("y6", AddSub, "t", "gd6", "0"),
gd!("x1", AddSub, "l", "wd3", "0"),
gd!("x2", AddSub, "r", "0", "wd3"),
];
static TEXT_CURVE_DOWN: PresetDef = PresetDef {
adjust_defaults: &[("adj", 45977)],
guides: TEXT_CURVE_DOWN_GUIDES,
paths: TEXT_CURVE_DOWN_PATHS,
text_rect: None,
};
static TEXT_CURVE_UP_P0_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "l", y: "y0" },
PathCommandDef::CubicBezTo { x1: "x1", y1: "y2", x2: "x2", y2: "y1", x3: "r", y3: "t" },
];
static TEXT_CURVE_UP_P1_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "l", y: "y5" },
PathCommandDef::CubicBezTo { x1: "x1", y1: "y6", x2: "x2", y2: "y6", x3: "r", y3: "y5" },
];
static TEXT_CURVE_UP_PATHS: &[PathDef] = &[
PathDef { commands: TEXT_CURVE_UP_P0_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
PathDef { commands: TEXT_CURVE_UP_P1_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
];
static TEXT_CURVE_UP_GUIDES: &[GuideDef] = &[
gd!("a", Pin, "0", "adj", "56338"),
gd!("dy", MulDiv, "a", "h", "100000"),
gd!("gd1", MulDiv, "dy", "3", "4"),
gd!("gd2", MulDiv, "dy", "5", "4"),
gd!("gd3", MulDiv, "dy", "3", "8"),
gd!("gd4", MulDiv, "dy", "1", "8"),
gd!("gd5", AddSub, "h", "0", "gd3"),
gd!("gd6", AddSub, "gd4", "h", "0"),
gd!("y0", AddSub, "t", "dy", "0"),
gd!("y1", AddSub, "t", "gd1", "0"),
gd!("y2", AddSub, "t", "gd2", "0"),
gd!("y3", AddSub, "t", "gd3", "0"),
gd!("y4", AddSub, "t", "gd4", "0"),
gd!("y5", AddSub, "t", "gd5", "0"),
gd!("y6", AddSub, "t", "gd6", "0"),
gd!("x1", AddSub, "l", "wd3", "0"),
gd!("x2", AddSub, "r", "0", "wd3"),
];
static TEXT_CURVE_UP: PresetDef = PresetDef {
adjust_defaults: &[("adj", 45977)],
guides: TEXT_CURVE_UP_GUIDES,
paths: TEXT_CURVE_UP_PATHS,
text_rect: None,
};
static TEXT_DEFLATE_P0_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "l", y: "t" },
PathCommandDef::CubicBezTo { x1: "x0", y1: "y0", x2: "x1", y2: "y0", x3: "r", y3: "t" },
];
static TEXT_DEFLATE_P1_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "l", y: "b" },
PathCommandDef::CubicBezTo { x1: "x0", y1: "y1", x2: "x1", y2: "y1", x3: "r", y3: "b" },
];
static TEXT_DEFLATE_PATHS: &[PathDef] = &[
PathDef { commands: TEXT_DEFLATE_P0_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
PathDef { commands: TEXT_DEFLATE_P1_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
];
static TEXT_DEFLATE_GUIDES: &[GuideDef] = &[
gd!("a", Pin, "0", "adj", "37500"),
gd!("dy", MulDiv, "a", "ss", "100000"),
gd!("gd0", MulDiv, "dy", "4", "3"),
gd!("gd1", AddSub, "h", "0", "gd0"),
gd!("adjY", AddSub, "t", "dy", "0"),
gd!("y0", AddSub, "t", "gd0", "0"),
gd!("y1", AddSub, "t", "gd1", "0"),
gd!("x0", AddSub, "l", "wd3", "0"),
gd!("x1", AddSub, "r", "0", "wd3"),
];
static TEXT_DEFLATE: PresetDef = PresetDef {
adjust_defaults: &[("adj", 18750)],
guides: TEXT_DEFLATE_GUIDES,
paths: TEXT_DEFLATE_PATHS,
text_rect: None,
};
static TEXT_DEFLATE_BOTTOM_P0_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "l", y: "t" },
PathCommandDef::LineTo { x: "r", y: "t" },
];
static TEXT_DEFLATE_BOTTOM_P1_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "l", y: "b" },
PathCommandDef::QuadBezTo { x1: "hc", y1: "cp", x2: "r", y2: "b" },
];
static TEXT_DEFLATE_BOTTOM_PATHS: &[PathDef] = &[
PathDef { commands: TEXT_DEFLATE_BOTTOM_P0_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
PathDef { commands: TEXT_DEFLATE_BOTTOM_P1_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
];
static TEXT_DEFLATE_BOTTOM_GUIDES: &[GuideDef] = &[
gd!("a", Pin, "6250", "adj", "100000"),
gd!("dy", MulDiv, "a", "ss", "100000"),
gd!("dy2", AddSub, "h", "0", "dy"),
gd!("y1", AddSub, "t", "dy", "0"),
gd!("cp", AddSub, "y1", "0", "dy2"),
];
static TEXT_DEFLATE_BOTTOM: PresetDef = PresetDef {
adjust_defaults: &[("adj", 50000)],
guides: TEXT_DEFLATE_BOTTOM_GUIDES,
paths: TEXT_DEFLATE_BOTTOM_PATHS,
text_rect: None,
};
static TEXT_DEFLATE_INFLATE_P0_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "l", y: "t" },
PathCommandDef::LineTo { x: "r", y: "t" },
];
static TEXT_DEFLATE_INFLATE_P1_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "l", y: "dh1" },
PathCommandDef::QuadBezTo { x1: "hc", y1: "y3", x2: "r", y2: "dh1" },
];
static TEXT_DEFLATE_INFLATE_P2_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "l", y: "dh2" },
PathCommandDef::QuadBezTo { x1: "hc", y1: "y4", x2: "r", y2: "dh2" },
];
static TEXT_DEFLATE_INFLATE_P3_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "l", y: "b" },
PathCommandDef::LineTo { x: "r", y: "b" },
];
static TEXT_DEFLATE_INFLATE_PATHS: &[PathDef] = &[
PathDef { commands: TEXT_DEFLATE_INFLATE_P0_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
PathDef { commands: TEXT_DEFLATE_INFLATE_P1_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
PathDef { commands: TEXT_DEFLATE_INFLATE_P2_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
PathDef { commands: TEXT_DEFLATE_INFLATE_P3_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
];
static TEXT_DEFLATE_INFLATE_GUIDES: &[GuideDef] = &[
gd!("a", Pin, "5000", "adj", "95000"),
gd!("dy", MulDiv, "a", "h", "100000"),
gd!("del", MulDiv, "h", "5", "100"),
gd!("dh1", MulDiv, "h", "45", "100"),
gd!("dh2", MulDiv, "h", "55", "100"),
gd!("yh", AddSub, "dy", "0", "del"),
gd!("yl", AddSub, "dy", "del", "0"),
gd!("y3", AddSub, "yh", "yh", "dh1"),
gd!("y4", AddSub, "yl", "yl", "dh2"),
];
static TEXT_DEFLATE_INFLATE: PresetDef = PresetDef {
adjust_defaults: &[("adj", 35000)],
guides: TEXT_DEFLATE_INFLATE_GUIDES,
paths: TEXT_DEFLATE_INFLATE_PATHS,
text_rect: None,
};
static TEXT_DEFLATE_INFLATE_DEFLATE_P0_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "l", y: "t" },
PathCommandDef::LineTo { x: "r", y: "t" },
];
static TEXT_DEFLATE_INFLATE_DEFLATE_P1_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "l", y: "ey1" },
PathCommandDef::QuadBezTo { x1: "hc", y1: "y1", x2: "r", y2: "ey1" },
];
static TEXT_DEFLATE_INFLATE_DEFLATE_P2_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "l", y: "ey2" },
PathCommandDef::QuadBezTo { x1: "hc", y1: "y2", x2: "r", y2: "ey2" },
];
static TEXT_DEFLATE_INFLATE_DEFLATE_P3_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "l", y: "ey3" },
PathCommandDef::QuadBezTo { x1: "hc", y1: "y3", x2: "r", y2: "ey3" },
];
static TEXT_DEFLATE_INFLATE_DEFLATE_P4_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "l", y: "ey4" },
PathCommandDef::QuadBezTo { x1: "hc", y1: "y4", x2: "r", y2: "ey4" },
];
static TEXT_DEFLATE_INFLATE_DEFLATE_P5_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "l", y: "b" },
PathCommandDef::LineTo { x: "r", y: "b" },
];
static TEXT_DEFLATE_INFLATE_DEFLATE_PATHS: &[PathDef] = &[
PathDef { commands: TEXT_DEFLATE_INFLATE_DEFLATE_P0_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
PathDef { commands: TEXT_DEFLATE_INFLATE_DEFLATE_P1_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
PathDef { commands: TEXT_DEFLATE_INFLATE_DEFLATE_P2_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
PathDef { commands: TEXT_DEFLATE_INFLATE_DEFLATE_P3_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
PathDef { commands: TEXT_DEFLATE_INFLATE_DEFLATE_P4_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
PathDef { commands: TEXT_DEFLATE_INFLATE_DEFLATE_P5_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
];
static TEXT_DEFLATE_INFLATE_DEFLATE_GUIDES: &[GuideDef] = &[
gd!("a", Pin, "3000", "adj", "47000"),
gd!("dy", MulDiv, "a", "h", "100000"),
gd!("del", MulDiv, "h", "3", "100"),
gd!("ey1", MulDiv, "h", "30", "100"),
gd!("ey2", MulDiv, "h", "36", "100"),
gd!("ey3", MulDiv, "h", "63", "100"),
gd!("ey4", MulDiv, "h", "70", "100"),
gd!("by", AddSub, "b", "0", "dy"),
gd!("yh1", AddSub, "dy", "0", "del"),
gd!("yl1", AddSub, "dy", "del", "0"),
gd!("yh2", AddSub, "by", "0", "del"),
gd!("yl2", AddSub, "by", "del", "0"),
gd!("y1", AddSub, "yh1", "yh1", "ey1"),
gd!("y2", AddSub, "yl1", "yl1", "ey2"),
gd!("y3", AddSub, "yh2", "yh2", "ey3"),
gd!("y4", AddSub, "yl2", "yl2", "ey4"),
];
static TEXT_DEFLATE_INFLATE_DEFLATE: PresetDef = PresetDef {
adjust_defaults: &[("adj", 25000)],
guides: TEXT_DEFLATE_INFLATE_DEFLATE_GUIDES,
paths: TEXT_DEFLATE_INFLATE_DEFLATE_PATHS,
text_rect: None,
};
static TEXT_DEFLATE_TOP_P0_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "l", y: "t" },
PathCommandDef::QuadBezTo { x1: "hc", y1: "cp", x2: "r", y2: "t" },
];
static TEXT_DEFLATE_TOP_P1_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "l", y: "b" },
PathCommandDef::LineTo { x: "r", y: "b" },
];
static TEXT_DEFLATE_TOP_PATHS: &[PathDef] = &[
PathDef { commands: TEXT_DEFLATE_TOP_P0_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
PathDef { commands: TEXT_DEFLATE_TOP_P1_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
];
static TEXT_DEFLATE_TOP_GUIDES: &[GuideDef] = &[
gd!("a", Pin, "0", "adj", "93750"),
gd!("dy", MulDiv, "a", "h", "100000"),
gd!("y1", AddSub, "t", "dy", "0"),
gd!("cp", AddSub, "y1", "dy", "0"),
];
static TEXT_DEFLATE_TOP: PresetDef = PresetDef {
adjust_defaults: &[("adj", 50000)],
guides: TEXT_DEFLATE_TOP_GUIDES,
paths: TEXT_DEFLATE_TOP_PATHS,
text_rect: None,
};
static TEXT_DOUBLE_WAVE1_P0_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "x2", y: "y1" },
PathCommandDef::CubicBezTo { x1: "x3", y1: "y2", x2: "x4", y2: "y3", x3: "x5", y3: "y1" },
PathCommandDef::CubicBezTo { x1: "x6", y1: "y2", x2: "x7", y2: "y3", x3: "x8", y3: "y1" },
];
static TEXT_DOUBLE_WAVE1_P1_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "x9", y: "y4" },
PathCommandDef::CubicBezTo { x1: "x10", y1: "y5", x2: "x11", y2: "y6", x3: "x12", y3: "y4" },
PathCommandDef::CubicBezTo { x1: "x13", y1: "y5", x2: "x14", y2: "y6", x3: "x15", y3: "y4" },
];
static TEXT_DOUBLE_WAVE1_PATHS: &[PathDef] = &[
PathDef { commands: TEXT_DOUBLE_WAVE1_P0_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
PathDef { commands: TEXT_DOUBLE_WAVE1_P1_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
];
static TEXT_DOUBLE_WAVE1_GUIDES: &[GuideDef] = &[
gd!("a1", Pin, "0", "adj1", "12500"),
gd!("a2", Pin, "-10000", "adj2", "10000"),
gd!("y1", MulDiv, "h", "a1", "100000"),
gd!("dy2", MulDiv, "y1", "10", "3"),
gd!("y2", AddSub, "y1", "0", "dy2"),
gd!("y3", AddSub, "y1", "dy2", "0"),
gd!("y4", AddSub, "b", "0", "y1"),
gd!("y5", AddSub, "y4", "0", "dy2"),
gd!("y6", AddSub, "y4", "dy2", "0"),
gd!("of", MulDiv, "w", "a2", "100000"),
gd!("of2", MulDiv, "w", "a2", "50000"),
gd!("x1", Abs, "of", "", ""),
gd!("dx2", IfElse, "of2", "0", "of2"),
gd!("x2", AddSub, "l", "0", "dx2"),
gd!("dx8", IfElse, "of2", "of2", "0"),
gd!("x8", AddSub, "r", "0", "dx8"),
gd!("dx3", AddDiv, "dx2", "x8", "6"),
gd!("x3", AddSub, "x2", "dx3", "0"),
gd!("dx4", AddDiv, "dx2", "x8", "3"),
gd!("x4", AddSub, "x2", "dx4", "0"),
gd!("x5", AddDiv, "x2", "x8", "2"),
gd!("x6", AddSub, "x5", "dx3", "0"),
gd!("x7", AddDiv, "x6", "x8", "2"),
gd!("x9", AddSub, "l", "dx8", "0"),
gd!("x15", AddSub, "r", "dx2", "0"),
gd!("x10", AddSub, "x9", "dx3", "0"),
gd!("x11", AddSub, "x9", "dx4", "0"),
gd!("x12", AddDiv, "x9", "x15", "2"),
gd!("x13", AddSub, "x12", "dx3", "0"),
gd!("x14", AddDiv, "x13", "x15", "2"),
gd!("x16", AddSub, "r", "0", "x1"),
gd!("xAdj", AddSub, "hc", "of", "0"),
];
static TEXT_DOUBLE_WAVE1: PresetDef = PresetDef {
adjust_defaults: &[("adj1", 6250), ("adj2", 0)],
guides: TEXT_DOUBLE_WAVE1_GUIDES,
paths: TEXT_DOUBLE_WAVE1_PATHS,
text_rect: None,
};
static TEXT_FADE_DOWN_P0_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "l", y: "t" },
PathCommandDef::LineTo { x: "r", y: "t" },
];
static TEXT_FADE_DOWN_P1_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "x1", y: "b" },
PathCommandDef::LineTo { x: "x2", y: "b" },
];
static TEXT_FADE_DOWN_PATHS: &[PathDef] = &[
PathDef { commands: TEXT_FADE_DOWN_P0_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
PathDef { commands: TEXT_FADE_DOWN_P1_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
];
static TEXT_FADE_DOWN_GUIDES: &[GuideDef] = &[
gd!("a", Pin, "0", "adj", "49999"),
gd!("dx", MulDiv, "a", "w", "100000"),
gd!("x1", AddSub, "l", "dx", "0"),
gd!("x2", AddSub, "r", "0", "dx"),
];
static TEXT_FADE_DOWN: PresetDef = PresetDef {
adjust_defaults: &[("adj", 33333)],
guides: TEXT_FADE_DOWN_GUIDES,
paths: TEXT_FADE_DOWN_PATHS,
text_rect: None,
};
static TEXT_FADE_LEFT_P0_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "l", y: "y1" },
PathCommandDef::LineTo { x: "r", y: "t" },
];
static TEXT_FADE_LEFT_P1_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "l", y: "y2" },
PathCommandDef::LineTo { x: "r", y: "b" },
];
static TEXT_FADE_LEFT_PATHS: &[PathDef] = &[
PathDef { commands: TEXT_FADE_LEFT_P0_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
PathDef { commands: TEXT_FADE_LEFT_P1_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
];
static TEXT_FADE_LEFT_GUIDES: &[GuideDef] = &[
gd!("a", Pin, "0", "adj", "49999"),
gd!("dy", MulDiv, "a", "h", "100000"),
gd!("y1", AddSub, "t", "dy", "0"),
gd!("y2", AddSub, "b", "0", "dy"),
];
static TEXT_FADE_LEFT: PresetDef = PresetDef {
adjust_defaults: &[("adj", 33333)],
guides: TEXT_FADE_LEFT_GUIDES,
paths: TEXT_FADE_LEFT_PATHS,
text_rect: None,
};
static TEXT_FADE_RIGHT_P0_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "l", y: "t" },
PathCommandDef::LineTo { x: "r", y: "y1" },
];
static TEXT_FADE_RIGHT_P1_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "l", y: "b" },
PathCommandDef::LineTo { x: "r", y: "y2" },
];
static TEXT_FADE_RIGHT_PATHS: &[PathDef] = &[
PathDef { commands: TEXT_FADE_RIGHT_P0_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
PathDef { commands: TEXT_FADE_RIGHT_P1_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
];
static TEXT_FADE_RIGHT_GUIDES: &[GuideDef] = &[
gd!("a", Pin, "0", "adj", "49999"),
gd!("dy", MulDiv, "a", "h", "100000"),
gd!("y1", AddSub, "t", "dy", "0"),
gd!("y2", AddSub, "b", "0", "dy"),
];
static TEXT_FADE_RIGHT: PresetDef = PresetDef {
adjust_defaults: &[("adj", 33333)],
guides: TEXT_FADE_RIGHT_GUIDES,
paths: TEXT_FADE_RIGHT_PATHS,
text_rect: None,
};
static TEXT_FADE_UP_P0_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "x1", y: "t" },
PathCommandDef::LineTo { x: "x2", y: "t" },
];
static TEXT_FADE_UP_P1_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "l", y: "b" },
PathCommandDef::LineTo { x: "r", y: "b" },
];
static TEXT_FADE_UP_PATHS: &[PathDef] = &[
PathDef { commands: TEXT_FADE_UP_P0_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
PathDef { commands: TEXT_FADE_UP_P1_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
];
static TEXT_FADE_UP_GUIDES: &[GuideDef] = &[
gd!("a", Pin, "0", "adj", "49999"),
gd!("dx", MulDiv, "a", "w", "100000"),
gd!("x1", AddSub, "l", "dx", "0"),
gd!("x2", AddSub, "r", "0", "dx"),
];
static TEXT_FADE_UP: PresetDef = PresetDef {
adjust_defaults: &[("adj", 33333)],
guides: TEXT_FADE_UP_GUIDES,
paths: TEXT_FADE_UP_PATHS,
text_rect: None,
};
static TEXT_INFLATE_P0_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "l", y: "ty" },
PathCommandDef::CubicBezTo { x1: "x0", y1: "y0", x2: "x1", y2: "y0", x3: "r", y3: "ty" },
];
static TEXT_INFLATE_P1_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "l", y: "by" },
PathCommandDef::CubicBezTo { x1: "x0", y1: "y1", x2: "x1", y2: "y1", x3: "r", y3: "by" },
];
static TEXT_INFLATE_PATHS: &[PathDef] = &[
PathDef { commands: TEXT_INFLATE_P0_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
PathDef { commands: TEXT_INFLATE_P1_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
];
static TEXT_INFLATE_GUIDES: &[GuideDef] = &[
gd!("a", Pin, "0", "adj", "20000"),
gd!("dy", MulDiv, "a", "h", "100000"),
gd!("gd", MulDiv, "dy", "1", "3"),
gd!("gd0", AddSub, "0", "0", "gd"),
gd!("gd1", AddSub, "h", "0", "gd0"),
gd!("ty", AddSub, "t", "dy", "0"),
gd!("by", AddSub, "b", "0", "dy"),
gd!("y0", AddSub, "t", "gd0", "0"),
gd!("y1", AddSub, "t", "gd1", "0"),
gd!("x0", AddSub, "l", "wd3", "0"),
gd!("x1", AddSub, "r", "0", "wd3"),
];
static TEXT_INFLATE: PresetDef = PresetDef {
adjust_defaults: &[("adj", 18750)],
guides: TEXT_INFLATE_GUIDES,
paths: TEXT_INFLATE_PATHS,
text_rect: None,
};
static TEXT_INFLATE_BOTTOM_P0_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "l", y: "t" },
PathCommandDef::LineTo { x: "r", y: "t" },
];
static TEXT_INFLATE_BOTTOM_P1_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "l", y: "ty" },
PathCommandDef::QuadBezTo { x1: "hc", y1: "b", x2: "r", y2: "ty" },
];
static TEXT_INFLATE_BOTTOM_PATHS: &[PathDef] = &[
PathDef { commands: TEXT_INFLATE_BOTTOM_P0_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
PathDef { commands: TEXT_INFLATE_BOTTOM_P1_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
];
static TEXT_INFLATE_BOTTOM_GUIDES: &[GuideDef] = &[
gd!("a", Pin, "60000", "adj", "100000"),
gd!("dy", MulDiv, "a", "h", "100000"),
gd!("ty", AddSub, "t", "dy", "0"),
];
static TEXT_INFLATE_BOTTOM: PresetDef = PresetDef {
adjust_defaults: &[("adj", 60000)],
guides: TEXT_INFLATE_BOTTOM_GUIDES,
paths: TEXT_INFLATE_BOTTOM_PATHS,
text_rect: None,
};
static TEXT_INFLATE_TOP_P0_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "l", y: "ty" },
PathCommandDef::QuadBezTo { x1: "hc", y1: "t", x2: "r", y2: "ty" },
];
static TEXT_INFLATE_TOP_P1_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "l", y: "b" },
PathCommandDef::LineTo { x: "r", y: "b" },
];
static TEXT_INFLATE_TOP_PATHS: &[PathDef] = &[
PathDef { commands: TEXT_INFLATE_TOP_P0_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
PathDef { commands: TEXT_INFLATE_TOP_P1_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
];
static TEXT_INFLATE_TOP_GUIDES: &[GuideDef] = &[
gd!("a", Pin, "0", "adj", "50000"),
gd!("dy", MulDiv, "a", "h", "100000"),
gd!("ty", AddSub, "t", "dy", "0"),
];
static TEXT_INFLATE_TOP: PresetDef = PresetDef {
adjust_defaults: &[("adj", 40000)],
guides: TEXT_INFLATE_TOP_GUIDES,
paths: TEXT_INFLATE_TOP_PATHS,
text_rect: None,
};
static TEXT_PLAIN_P0_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "tlx", y: "t" },
PathCommandDef::LineTo { x: "trx", y: "t" },
];
static TEXT_PLAIN_P1_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "blx", y: "b" },
PathCommandDef::LineTo { x: "brx", y: "b" },
];
static TEXT_PLAIN_PATHS: &[PathDef] = &[
PathDef { commands: TEXT_PLAIN_P0_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
PathDef { commands: TEXT_PLAIN_P1_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
];
static TEXT_PLAIN_GUIDES: &[GuideDef] = &[
gd!("a", Pin, "30000", "adj", "70000"),
gd!("mid", MulDiv, "a", "w", "100000"),
gd!("midDir", AddSub, "mid", "0", "hc"),
gd!("dl", AddSub, "mid", "0", "l"),
gd!("dr", AddSub, "r", "0", "mid"),
gd!("dl2", MulDiv, "dl", "2", "1"),
gd!("dr2", MulDiv, "dr", "2", "1"),
gd!("dx", IfElse, "midDir", "dr2", "dl2"),
gd!("xr", AddSub, "l", "dx", "0"),
gd!("xl", AddSub, "r", "0", "dx"),
gd!("tlx", IfElse, "midDir", "l", "xl"),
gd!("trx", IfElse, "midDir", "xr", "r"),
gd!("blx", IfElse, "midDir", "xl", "l"),
gd!("brx", IfElse, "midDir", "r", "xr"),
];
static TEXT_PLAIN: PresetDef = PresetDef {
adjust_defaults: &[("adj", 50000)],
guides: TEXT_PLAIN_GUIDES,
paths: TEXT_PLAIN_PATHS,
text_rect: None,
};
static TEXT_RING_INSIDE_P0_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "l", y: "y1" },
PathCommandDef::ArcTo { wr: "wd2", hr: "r", st_ang: "10800000", sw_ang: "21599999" },
];
static TEXT_RING_INSIDE_P1_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "l", y: "y2" },
PathCommandDef::ArcTo { wr: "wd2", hr: "r", st_ang: "10800000", sw_ang: "21599999" },
];
static TEXT_RING_INSIDE_PATHS: &[PathDef] = &[
PathDef { commands: TEXT_RING_INSIDE_P0_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
PathDef { commands: TEXT_RING_INSIDE_P1_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
];
static TEXT_RING_INSIDE_GUIDES: &[GuideDef] = &[
gd!("a", Pin, "50000", "adj", "99000"),
gd!("dy", MulDiv, "a", "h", "100000"),
gd!("y", AddSub, "t", "dy", "0"),
gd!("r", MulDiv, "dy", "1", "2"),
gd!("y1", AddSub, "t", "r", "0"),
gd!("y2", AddSub, "b", "0", "r"),
];
static TEXT_RING_INSIDE: PresetDef = PresetDef {
adjust_defaults: &[("adj", 60000)],
guides: TEXT_RING_INSIDE_GUIDES,
paths: TEXT_RING_INSIDE_PATHS,
text_rect: None,
};
static TEXT_RING_OUTSIDE_P0_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "l", y: "y1" },
PathCommandDef::ArcTo { wr: "wd2", hr: "r", st_ang: "10800000", sw_ang: "-21599999" },
];
static TEXT_RING_OUTSIDE_P1_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "l", y: "y2" },
PathCommandDef::ArcTo { wr: "wd2", hr: "r", st_ang: "10800000", sw_ang: "-21599999" },
];
static TEXT_RING_OUTSIDE_PATHS: &[PathDef] = &[
PathDef { commands: TEXT_RING_OUTSIDE_P0_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
PathDef { commands: TEXT_RING_OUTSIDE_P1_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
];
static TEXT_RING_OUTSIDE_GUIDES: &[GuideDef] = &[
gd!("a", Pin, "50000", "adj", "99000"),
gd!("dy", MulDiv, "a", "h", "100000"),
gd!("y", AddSub, "t", "dy", "0"),
gd!("r", MulDiv, "dy", "1", "2"),
gd!("y1", AddSub, "t", "r", "0"),
gd!("y2", AddSub, "b", "0", "r"),
];
static TEXT_RING_OUTSIDE: PresetDef = PresetDef {
adjust_defaults: &[("adj", 60000)],
guides: TEXT_RING_OUTSIDE_GUIDES,
paths: TEXT_RING_OUTSIDE_PATHS,
text_rect: None,
};
static TEXT_SLANT_DOWN_P0_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "l", y: "t" },
PathCommandDef::LineTo { x: "r", y: "y2" },
];
static TEXT_SLANT_DOWN_P1_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "l", y: "y1" },
PathCommandDef::LineTo { x: "r", y: "b" },
];
static TEXT_SLANT_DOWN_PATHS: &[PathDef] = &[
PathDef { commands: TEXT_SLANT_DOWN_P0_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
PathDef { commands: TEXT_SLANT_DOWN_P1_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
];
static TEXT_SLANT_DOWN_GUIDES: &[GuideDef] = &[
gd!("a", Pin, "28569", "adj", "100000"),
gd!("dy", MulDiv, "a", "h", "100000"),
gd!("y1", AddSub, "t", "dy", "0"),
gd!("y2", AddSub, "b", "0", "dy"),
];
static TEXT_SLANT_DOWN: PresetDef = PresetDef {
adjust_defaults: &[("adj", 44445)],
guides: TEXT_SLANT_DOWN_GUIDES,
paths: TEXT_SLANT_DOWN_PATHS,
text_rect: None,
};
static TEXT_SLANT_UP_P0_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "l", y: "y1" },
PathCommandDef::LineTo { x: "r", y: "t" },
];
static TEXT_SLANT_UP_P1_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "l", y: "b" },
PathCommandDef::LineTo { x: "r", y: "y2" },
];
static TEXT_SLANT_UP_PATHS: &[PathDef] = &[
PathDef { commands: TEXT_SLANT_UP_P0_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
PathDef { commands: TEXT_SLANT_UP_P1_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
];
static TEXT_SLANT_UP_GUIDES: &[GuideDef] = &[
gd!("a", Pin, "0", "adj", "71431"),
gd!("dy", MulDiv, "a", "h", "100000"),
gd!("y1", AddSub, "t", "dy", "0"),
gd!("y2", AddSub, "b", "0", "dy"),
];
static TEXT_SLANT_UP: PresetDef = PresetDef {
adjust_defaults: &[("adj", 55555)],
guides: TEXT_SLANT_UP_GUIDES,
paths: TEXT_SLANT_UP_PATHS,
text_rect: None,
};
static TEXT_STOP_P0_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "l", y: "y1" },
PathCommandDef::LineTo { x: "x1", y: "t" },
PathCommandDef::LineTo { x: "x2", y: "t" },
PathCommandDef::LineTo { x: "r", y: "y1" },
];
static TEXT_STOP_P1_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "l", y: "y2" },
PathCommandDef::LineTo { x: "x1", y: "b" },
PathCommandDef::LineTo { x: "x2", y: "b" },
PathCommandDef::LineTo { x: "r", y: "y2" },
];
static TEXT_STOP_PATHS: &[PathDef] = &[
PathDef { commands: TEXT_STOP_P0_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
PathDef { commands: TEXT_STOP_P1_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
];
static TEXT_STOP_GUIDES: &[GuideDef] = &[
gd!("a", Pin, "14286", "adj", "50000"),
gd!("dx", MulDiv, "w", "1", "3"),
gd!("dy", MulDiv, "a", "h", "100000"),
gd!("x1", AddSub, "l", "dx", "0"),
gd!("x2", AddSub, "r", "0", "dx"),
gd!("y1", AddSub, "t", "dy", "0"),
gd!("y2", AddSub, "b", "0", "dy"),
];
static TEXT_STOP: PresetDef = PresetDef {
adjust_defaults: &[("adj", 25000)],
guides: TEXT_STOP_GUIDES,
paths: TEXT_STOP_PATHS,
text_rect: None,
};
static TEXT_TRIANGLE_P0_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "l", y: "y" },
PathCommandDef::LineTo { x: "hc", y: "t" },
PathCommandDef::LineTo { x: "r", y: "y" },
];
static TEXT_TRIANGLE_P1_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "l", y: "b" },
PathCommandDef::LineTo { x: "r", y: "b" },
];
static TEXT_TRIANGLE_PATHS: &[PathDef] = &[
PathDef { commands: TEXT_TRIANGLE_P0_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
PathDef { commands: TEXT_TRIANGLE_P1_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
];
static TEXT_TRIANGLE_GUIDES: &[GuideDef] = &[
gd!("a", Pin, "0", "adj", "100000"),
gd!("y", MulDiv, "a", "h", "100000"),
];
static TEXT_TRIANGLE: PresetDef = PresetDef {
adjust_defaults: &[("adj", 50000)],
guides: TEXT_TRIANGLE_GUIDES,
paths: TEXT_TRIANGLE_PATHS,
text_rect: None,
};
static TEXT_TRIANGLE_INVERTED_P0_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "l", y: "t" },
PathCommandDef::LineTo { x: "r", y: "t" },
];
static TEXT_TRIANGLE_INVERTED_P1_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "l", y: "y" },
PathCommandDef::LineTo { x: "hc", y: "b" },
PathCommandDef::LineTo { x: "r", y: "y" },
];
static TEXT_TRIANGLE_INVERTED_PATHS: &[PathDef] = &[
PathDef { commands: TEXT_TRIANGLE_INVERTED_P0_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
PathDef { commands: TEXT_TRIANGLE_INVERTED_P1_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
];
static TEXT_TRIANGLE_INVERTED_GUIDES: &[GuideDef] = &[
gd!("a", Pin, "0", "adj", "100000"),
gd!("y", MulDiv, "a", "h", "100000"),
];
static TEXT_TRIANGLE_INVERTED: PresetDef = PresetDef {
adjust_defaults: &[("adj", 50000)],
guides: TEXT_TRIANGLE_INVERTED_GUIDES,
paths: TEXT_TRIANGLE_INVERTED_PATHS,
text_rect: None,
};
static TEXT_WAVE1_P0_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "x2", y: "y1" },
PathCommandDef::CubicBezTo { x1: "x3", y1: "y2", x2: "x4", y2: "y3", x3: "x5", y3: "y1" },
];
static TEXT_WAVE1_P1_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "x6", y: "y4" },
PathCommandDef::CubicBezTo { x1: "x7", y1: "y5", x2: "x8", y2: "y6", x3: "x10", y3: "y4" },
];
static TEXT_WAVE1_PATHS: &[PathDef] = &[
PathDef { commands: TEXT_WAVE1_P0_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
PathDef { commands: TEXT_WAVE1_P1_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
];
static TEXT_WAVE1_GUIDES: &[GuideDef] = &[
gd!("a1", Pin, "0", "adj1", "20000"),
gd!("a2", Pin, "-10000", "adj2", "10000"),
gd!("y1", MulDiv, "h", "a1", "100000"),
gd!("dy2", MulDiv, "y1", "10", "3"),
gd!("y2", AddSub, "y1", "0", "dy2"),
gd!("y3", AddSub, "y1", "dy2", "0"),
gd!("y4", AddSub, "b", "0", "y1"),
gd!("y5", AddSub, "y4", "0", "dy2"),
gd!("y6", AddSub, "y4", "dy2", "0"),
gd!("of", MulDiv, "w", "a2", "100000"),
gd!("of2", MulDiv, "w", "a2", "50000"),
gd!("x1", Abs, "of", "", ""),
gd!("dx2", IfElse, "of2", "0", "of2"),
gd!("x2", AddSub, "l", "0", "dx2"),
gd!("dx5", IfElse, "of2", "of2", "0"),
gd!("x5", AddSub, "r", "0", "dx5"),
gd!("dx3", AddDiv, "dx2", "x5", "3"),
gd!("x3", AddSub, "x2", "dx3", "0"),
gd!("x4", AddDiv, "x3", "x5", "2"),
gd!("x6", AddSub, "l", "dx5", "0"),
gd!("x10", AddSub, "r", "dx2", "0"),
gd!("x7", AddSub, "x6", "dx3", "0"),
gd!("x8", AddDiv, "x7", "x10", "2"),
gd!("x9", AddSub, "r", "0", "x1"),
gd!("xAdj", AddSub, "hc", "of", "0"),
];
static TEXT_WAVE1: PresetDef = PresetDef {
adjust_defaults: &[("adj1", 12500), ("adj2", 0)],
guides: TEXT_WAVE1_GUIDES,
paths: TEXT_WAVE1_PATHS,
text_rect: None,
};
static TEXT_WAVE2_P0_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "x2", y: "y1" },
PathCommandDef::CubicBezTo { x1: "x3", y1: "y3", x2: "x4", y2: "y2", x3: "x5", y3: "y1" },
];
static TEXT_WAVE2_P1_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "x6", y: "y4" },
PathCommandDef::CubicBezTo { x1: "x7", y1: "y6", x2: "x8", y2: "y5", x3: "x10", y3: "y4" },
];
static TEXT_WAVE2_PATHS: &[PathDef] = &[
PathDef { commands: TEXT_WAVE2_P0_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
PathDef { commands: TEXT_WAVE2_P1_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
];
static TEXT_WAVE2_GUIDES: &[GuideDef] = &[
gd!("a1", Pin, "0", "adj1", "20000"),
gd!("a2", Pin, "-10000", "adj2", "10000"),
gd!("y1", MulDiv, "h", "a1", "100000"),
gd!("dy2", MulDiv, "y1", "10", "3"),
gd!("y2", AddSub, "y1", "0", "dy2"),
gd!("y3", AddSub, "y1", "dy2", "0"),
gd!("y4", AddSub, "b", "0", "y1"),
gd!("y5", AddSub, "y4", "0", "dy2"),
gd!("y6", AddSub, "y4", "dy2", "0"),
gd!("of", MulDiv, "w", "a2", "100000"),
gd!("of2", MulDiv, "w", "a2", "50000"),
gd!("x1", Abs, "of", "", ""),
gd!("dx2", IfElse, "of2", "0", "of2"),
gd!("x2", AddSub, "l", "0", "dx2"),
gd!("dx5", IfElse, "of2", "of2", "0"),
gd!("x5", AddSub, "r", "0", "dx5"),
gd!("dx3", AddDiv, "dx2", "x5", "3"),
gd!("x3", AddSub, "x2", "dx3", "0"),
gd!("x4", AddDiv, "x3", "x5", "2"),
gd!("x6", AddSub, "l", "dx5", "0"),
gd!("x10", AddSub, "r", "dx2", "0"),
gd!("x7", AddSub, "x6", "dx3", "0"),
gd!("x8", AddDiv, "x7", "x10", "2"),
gd!("x9", AddSub, "r", "0", "x1"),
gd!("xAdj", AddSub, "hc", "of", "0"),
];
static TEXT_WAVE2: PresetDef = PresetDef {
adjust_defaults: &[("adj1", 12500), ("adj2", 0)],
guides: TEXT_WAVE2_GUIDES,
paths: TEXT_WAVE2_PATHS,
text_rect: None,
};
static TEXT_WAVE4_P0_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "x2", y: "y1" },
PathCommandDef::CubicBezTo { x1: "x3", y1: "y3", x2: "x4", y2: "y2", x3: "x5", y3: "y1" },
PathCommandDef::CubicBezTo { x1: "x6", y1: "y3", x2: "x7", y2: "y2", x3: "x8", y3: "y1" },
];
static TEXT_WAVE4_P1_CMDS: &[PathCommandDef] = &[
PathCommandDef::MoveTo { x: "x9", y: "y4" },
PathCommandDef::CubicBezTo { x1: "x10", y1: "y6", x2: "x11", y2: "y5", x3: "x12", y3: "y4" },
PathCommandDef::CubicBezTo { x1: "x13", y1: "y6", x2: "x14", y2: "y5", x3: "x15", y3: "y4" },
];
static TEXT_WAVE4_PATHS: &[PathDef] = &[
PathDef { commands: TEXT_WAVE4_P0_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
PathDef { commands: TEXT_WAVE4_P1_CMDS, w: None, h: None, fill: PathFill::Norm, stroke: true },
];
static TEXT_WAVE4_GUIDES: &[GuideDef] = &[
gd!("a1", Pin, "0", "adj1", "12500"),
gd!("a2", Pin, "-10000", "adj2", "10000"),
gd!("y1", MulDiv, "h", "a1", "100000"),
gd!("dy2", MulDiv, "y1", "10", "3"),
gd!("y2", AddSub, "y1", "0", "dy2"),
gd!("y3", AddSub, "y1", "dy2", "0"),
gd!("y4", AddSub, "b", "0", "y1"),
gd!("y5", AddSub, "y4", "0", "dy2"),
gd!("y6", AddSub, "y4", "dy2", "0"),
gd!("of", MulDiv, "w", "a2", "100000"),
gd!("of2", MulDiv, "w", "a2", "50000"),
gd!("x1", Abs, "of", "", ""),
gd!("dx2", IfElse, "of2", "0", "of2"),
gd!("x2", AddSub, "l", "0", "dx2"),
gd!("dx8", IfElse, "of2", "of2", "0"),
gd!("x8", AddSub, "r", "0", "dx8"),
gd!("dx3", AddDiv, "dx2", "x8", "6"),
gd!("x3", AddSub, "x2", "dx3", "0"),
gd!("dx4", AddDiv, "dx2", "x8", "3"),
gd!("x4", AddSub, "x2", "dx4", "0"),
gd!("x5", AddDiv, "x2", "x8", "2"),
gd!("x6", AddSub, "x5", "dx3", "0"),
gd!("x7", AddDiv, "x6", "x8", "2"),
gd!("x9", AddSub, "l", "dx8", "0"),
gd!("x15", AddSub, "r", "dx2", "0"),
gd!("x10", AddSub, "x9", "dx3", "0"),
gd!("x11", AddSub, "x9", "dx4", "0"),
gd!("x12", AddDiv, "x9", "x15", "2"),
gd!("x13", AddSub, "x12", "dx3", "0"),
gd!("x14", AddDiv, "x13", "x15", "2"),
gd!("x16", AddSub, "r", "0", "x1"),
gd!("xAdj", AddSub, "hc", "of", "0"),
];
static TEXT_WAVE4: PresetDef = PresetDef {
adjust_defaults: &[("adj1", 6250), ("adj2", 0)],
guides: TEXT_WAVE4_GUIDES,
paths: TEXT_WAVE4_PATHS,
text_rect: None,
};