]> git.gir.st - VIper.git/blob - schemes.h
schemes into .h
[VIper.git] / schemes.h
1 #ifndef __SCHEMES_H__
2 #define __SCHEMES_H__
3
4 #define BORDER_T 0
5 #define BORDER_C 1
6 #define BORDER_B 2
7 #define BORDER_S 3
8 #define BORDER_L 0
9 #define BORDER_R 2
10 #define BORDER(v,h) op.scheme->border[BORDER_ ## v][BORDER_ ## h]
11
12 struct scheme {
13 char* border[4][3];
14
15 char* snake[5][5]; /* [predecessor][successor] */
16
17 char* items[1];
18 };
19
20 struct scheme unic0de = {
21 .border = {
22 {"╔═", "══", "═╗"},
23 {"║ ", " ", " ║"},
24 {"╚═", "══", "═╝"},
25 { "╡","","╞" },
26 },
27
28 .snake = { /* sorted like in the enum directions */
29 {/* NONE -> */
30 /*NONE */ "",
31 /*NORTH*/ "⢿⡿",
32 /*EAST */ "⢾⣿",
33 /*SOUTH*/ "⣾⣷",
34 /*WEST */ "⣿⡷",
35 },{/* NORTH -> */
36 /*NONE */ "⢇⡸",
37 /*NORTH*/ "",
38 /*EAST */ "⢇⣈",
39 /*SOUTH*/ "⡇⢸",
40 /*WEST */ "⣁⡸",
41 },{/* EAST -> */
42 /*NONE */ "⢎⣉",
43 /*NORTH*/ "⢇⣈",
44 /*EAST */ "",
45 /*SOUTH*/ "⡎⢉",
46 /*WEST */ "⣉⣉",
47 },{/* SOUTH -> */
48 /*NONE */ "⡎⢱",
49 /*NORTH*/ "⡇⢸",
50 /*EAST */ "⡎⢉",
51 /*SOUTH*/ "",
52 /*WEST */ "⡉⢱",
53 },{/* WEST -> */
54 /*NONE */ "⣉⡱",
55 /*NORTH*/ "⣁⡸",
56 /*EAST */ "⣉⣉",
57 /*SOUTH*/ "⡉⢱",
58 /*WEST */ "",
59 },
60 },
61
62 .items = {"🍎"},
63 };
64
65 #endif
Imprint / Impressum