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
10pub fn to_svg(input:&str) -> SVG {
12 to_svg_with_textsize(input, 8.0, 16.0)
13}
14pub 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}