comic/
lib.rs

1extern crate memenhancer;
2extern crate svgbob;
3extern crate svg;
4
5use svg::node::Node;
6use svg::node::Text as TextNode;
7use svg::node::element::SVG;
8
9
10/// using default text size, 8.0x16.0 px
11pub fn to_svg(input:&str) -> SVG {
12    to_svg_with_textsize(input, 8.0, 16.0)
13}
14///
15///    let text_width:f32 = 8.0;
16///    let text_height:f32 = 16.0;
17///
18pub fn to_svg_with_textsize(input: &str, text_width: f32, text_height: f32) -> SVG {
19    let (svg_memes, updated_input) = memenhancer::get_meme_svg(input, text_width, text_height); 
20    let mut svg = svgbob::to_svg_with_size(&updated_input, text_width, text_height);
21    for meme in svg_memes{
22        let text_node = TextNode::new(meme.to_string());
23        svg.append(text_node);
24    }
25    svg
26}
27
28pub fn to_svg_with_textsize_nooptimization(input: &str, text_width: f32, text_height: f32) -> SVG {
29    let (svg_memes, updated_input) = memenhancer::get_meme_svg(input, text_width, text_height); 
30    let mut svg = svgbob::to_svg_with_size_nooptimization(&updated_input, text_width, text_height);
31    for meme in svg_memes{
32        let text_node = TextNode::new(meme.to_string());
33        svg.append(text_node);
34    }
35    svg
36}
37
38
39#[test]
40fn test_svg(){
41    let text_width:f32 = 8.0;
42    let text_height:f32 = 16.0;
43    let input = "─=≡Σ( ͡° ͜ʖ ͡°)";
44
45    let out = to_svg_with_textsize(input, text_width, text_height);
46    println!("{}", out);
47    panic!();
48}