use deckmint::objects::text::{TextOptionsBuilder, TextRunBuilder, TabStop};
use deckmint::{AlignH, GlowProps, Presentation};
fn main() {
let mut pres = Presentation::new();
let slide = pres.add_slide();
slide.add_text(
"Rich Text Demo",
TextOptionsBuilder::new()
.bounds(0.5, 0.3, 9.0, 0.8)
.font_size(28.0).bold()
.build(),
);
slide.add_text_runs(
vec![
TextRunBuilder::new("Bold red ")
.bold().color("#FF0000").build(),
TextRunBuilder::new("italic blue ")
.italic().color("#4472C4").build(),
TextRunBuilder::new("with glow")
.font_size(24.0)
.glow(GlowProps::new(8.0, "#FFC000", 0.7))
.build(),
],
TextOptionsBuilder::new()
.bounds(0.5, 1.5, 9.0, 1.5)
.font_size(20.0)
.build(),
);
slide.add_text(
"Left\tCenter\tRight",
TextOptionsBuilder::new()
.bounds(0.5, 3.5, 9.0, 1.0)
.font_size(18.0)
.tab_stops(vec![
TabStop::new(3.0, "ctr"),
TabStop::new(6.0, "r"),
])
.build(),
);
slide.add_text_runs(
vec![
TextRunBuilder::new("H").font_size(24.0).build(),
TextRunBuilder::new("2").font_size(24.0).subscript().build(),
TextRunBuilder::new("O + E=mc").font_size(24.0).build(),
TextRunBuilder::new("2").font_size(24.0).superscript().build(),
],
TextOptionsBuilder::new()
.bounds(0.5, 4.5, 9.0, 1.0)
.align(AlignH::Center)
.build(),
);
pres.write_to_file("03_rich_text.pptx").unwrap();
println!("Wrote 03_rich_text.pptx");
}