summaryrefslogtreecommitdiffstats
path: root/svgbob/src/box_drawing.rs
diff options
context:
space:
mode:
Diffstat (limited to 'svgbob/src/box_drawing.rs')
-rw-r--r--svgbob/src/box_drawing.rs225
1 files changed, 0 insertions, 225 deletions
diff --git a/svgbob/src/box_drawing.rs b/svgbob/src/box_drawing.rs
deleted file mode 100644
index b589958..0000000
--- a/svgbob/src/box_drawing.rs
+++ /dev/null
@@ -1,225 +0,0 @@
-use block::Block;
-use block::Block::{A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y};
-
-use fragments::Fragment;
-use fragments::{arc, line};
-
-use point_block::PointBlock;
-use properties::Properties;
-
-pub fn box_drawing(ch: &char) -> (Vec<Block>, Vec<Fragment>) {
- let a = &PointBlock::block(A);
- let b = &PointBlock::block(B);
- let c = &PointBlock::block(C);
- let d = &PointBlock::block(D);
- let e = &PointBlock::block(E);
- let _f = &PointBlock::block(F);
- let _g = &PointBlock::block(G);
- let h = &PointBlock::block(H);
- let _i = &PointBlock::block(I);
- let _j = &PointBlock::block(J);
- let k = &PointBlock::block(K);
- let l = &PointBlock::block(L);
- let m = &PointBlock::block(M);
- let n = &PointBlock::block(N);
- let o = &PointBlock::block(O);
- let p = &PointBlock::block(P);
- let q = &PointBlock::block(Q);
- let r = &PointBlock::block(R);
- let s = &PointBlock::block(S);
- let t = &PointBlock::block(T);
- let u = &PointBlock::block(U);
- let v = &PointBlock::block(V);
- let w = &PointBlock::block(W);
- let x = &PointBlock::block(X);
- let y = &PointBlock::block(Y);
-
- //////////////////////////////
- //
- // Static are all Strong signal
- // and are used Box Drawing
- //
- ////////////////////////////////
- if ch.in_any(vec!['─', '━']) {
- (vec![K, O], vec![line(k, o)])
- } else if ch.is('¯') {
- // overscore?
- (vec![A, E], vec![line(a, e)])
- } else if ch.is('│') {
- (vec![C, W], vec![line(c, w)])
- } else if ch.is('┃') {
- (vec![E, Y], vec![line(c, w)])
- } else if ch.is('╭') {
- (vec![O, W], vec![arc(o, r, 2), line(r, w)])
- } else if ch.any("┌┍┎┏") {
- (vec![W, O], vec![line(m, w), line(m, o)])
- } else if ch.is('╮') {
- (vec![K, W], vec![line(w, r), arc(r, k, 2)])
- } else if ch.any("┐┑┒┓") {
- (vec![W, K], vec![line(m, w), line(m, k)])
- } else if ch.is('╰') {
- (vec![C, O], vec![line(c, h), arc(h, o, 2)])
- } else if ch.any("┗└┕┖") {
- (vec![C, O], vec![line(m, c), line(m, o)])
- } else if ch.is('╯') {
- (vec![C, K], vec![line(c, h), arc(k, h, 2)])
- } else if ch.any("┘┙┚┛") {
- (vec![C, K], vec![line(m, c), line(m, k)])
- } else if ch.any("┼┽┾┿╀╁╂╃╄╅╆╇╈╉╊╋") {
- (
- vec![C, W, K, O],
- vec![line(m, c), line(m, w), line(m, k), line(m, o)],
- )
- } else if ch.any("┬┭┮┯┰┱┲┳") {
- (vec![W, K, O], vec![line(m, w), line(m, k), line(m, o)])
- } else if ch.any("┴┵┶┷┸┹┺┻") {
- (vec![C, K, O], vec![line(m, c), line(m, k), line(m, o)])
- } else if ch.any("├┝┞┟┠┡┢┣") {
- (vec![C, W, O], vec![line(m, c), line(m, w), line(m, o)])
- } else if ch.any("┤┥┦┧┨┩┪┫") {
- (vec![C, W, K], vec![line(m, c), line(m, w), line(m, k)])
- } else if ch.is('║') {
- (
- vec![B, V, D, X],
- vec![line(b, v), line(v, b), line(d, x), line(x, d)],
- )
- } else if ch.is('═') {
- (vec![K, O, P, T], vec![line(k, o), line(k, o), line(p, t)])
- } else if ch.is('╔') {
- (
- vec![O, V, T, X],
- vec![line(o, l), line(l, v), line(t, s), line(s, x)],
- )
- } else if ch.is('╗') {
- (
- vec![K, X, P, V],
- vec![line(k, n), line(n, x), line(p, q), line(q, v)],
- )
- } else if ch.is('╚') {
- (
- vec![B, T, D, O],
- vec![line(b, q), line(q, t), line(d, n), line(n, o)],
- )
- } else if ch.is('╝') {
- (
- vec![P, K, B, D],
- vec![line(p, s), line(s, d), line(k, l), line(l, b)],
- )
- } else if ch.is('╒') {
- (vec![W, O, T], vec![line(m, w), line(m, o), line(r, t)])
- } else if ch.is('╓') {
- (vec![O, V, X], vec![line(l, o), line(l, v), line(n, x)])
- } else if ch.is('╬') {
- (
- vec![B, D, V, X, K, P, O, T],
- vec![
- line(b, l),
- line(l, k),
- line(p, q),
- line(q, v),
- line(d, n),
- line(n, o),
- line(t, s),
- line(s, x),
- ],
- )
- } else if ch.is('╦') {
- (
- vec![K, O, P, V, T, X],
- vec![line(k, o), line(p, q), line(q, v), line(t, s), line(s, x)],
- )
- } else if ch.is('╩') {
- (
- vec![P, T, K, B, D, O],
- vec![line(p, t), line(k, l), line(l, b), line(d, n), line(n, o)],
- )
- } else if ch.is('╠') {
- (
- vec![B, V, D, O, T, X],
- vec![line(b, v), line(d, n), line(n, o), line(t, s), line(s, x)],
- )
- } else if ch.is('╣') {
- (
- vec![D, X, B, K, P, V],
- vec![line(d, x), line(b, l), line(l, k), line(p, q), line(q, v)],
- )
- } else if ch.is('╱') {
- (vec![U, E], vec![line(u, e)])
- } else if ch.is('╲') {
- (vec![A, Y], vec![line(a, y)])
- } else if ch.is('╳') {
- (vec![A, Y, U, E], vec![line(a, y), line(u, e)])
- } else if ch.is('╒') {
- (vec![W, O, T], vec![line(m, w), line(m, o), line(r, t)])
- } else if ch.is('╓') {
- (vec![O, V, X], vec![line(l, o), line(l, v), line(n, x)])
- } else if ch.is('╞') {
- (vec![C, W, O, T], vec![line(c, w), line(m, o), line(r, t)])
- } else if ch.is('╡') {
- (vec![W, C, K, P], vec![line(c, w), line(k, m), line(p, r)])
- } else if ch.is('╤') {
- (
- vec![K, O, P, T, W],
- vec![line(k, o), line(p, t), line(r, w)],
- )
- } else if ch.is('╥') {
- (vec![K, O, V, X], vec![line(k, o), line(l, v), line(n, x)])
- } else if ch.is('╖') {
- (vec![K, X, V], vec![line(k, n), line(n, x), line(l, v)])
- } else if ch.is('╙') {
- (vec![O, B, D], vec![line(l, o), line(l, b), line(n, d)])
- } else if ch.is('╜') {
- (vec![K, B, D], vec![line(k, n), line(l, b), line(n, d)])
- } else if ch.is('╕') {
- (vec![W, K, P], vec![line(m, w), line(k, m), line(p, r)])
- } else if ch.is('╛') {
- (vec![C, P, K], vec![line(c, r), line(r, p), line(k, m)])
- } else if ch.is('╘') {
- (vec![C, O, T], vec![line(c, r), line(m, o), line(r, t)])
- } else if ch.is('╢') {
- (
- vec![D, B, K, V, X],
- vec![line(d, x), line(b, v), line(k, l)],
- )
- } else if ch.is('╟') {
- (
- vec![D, X, B, V, O],
- vec![line(d, x), line(b, v), line(n, o)],
- )
- } else if ch.is('╪') {
- (
- vec![C, W, K, O, P, T],
- vec![line(c, w), line(k, o), line(p, t)],
- )
- } else if ch.is('╧') {
- (
- vec![K, O, P, T, C],
- vec![line(k, o), line(p, t), line(c, m)],
- )
- } else if ch.is('╫') {
- (
- vec![K, O, B, V, D, X],
- vec![line(k, o), line(b, v), line(d, x)],
- )
- } else if ch.is('╨') {
- (vec![K, O, B, D], vec![line(k, o), line(b, l), line(d, n)])
- }
- // ◜
- else if ch.is('◜') {
- (vec![E, W], vec![arc(e, m, 4), line(m, w)])
- }
- // ◝
- else if ch.is('◝') {
- (vec![A, W], vec![arc(m, a, 4), line(m, w)])
- }
- // ◟
- else if ch.is('◟') {
- (vec![C, Y], vec![arc(m, y, 4), line(c, m)])
- }
- // ◞
- else if ch.is('◞') {
- (vec![C, U], vec![arc(u, m, 4), line(m, c)])
- } else {
- (vec![], vec![])
- }
-}