alot of renaming...
[k8sterm.git] / src / tfatalbox.c
blob463626b3ec1e24c6cfd42509c1ac278bdf70c7bf
1 ////////////////////////////////////////////////////////////////////////////////
2 //SHITCODE!
3 static void k8t_tmDrawFatalBox (K8Term *term, const char *msg) {
4 if (term != NULL) {
5 static const char *title = " GURU MEDITAION ";
6 static const char *clr = "\x1b[0;1;33;41m";
7 static const char *clrdef = "\x1b[0m";
8 int mlen, tlen = strlen(title), wdt = tlen+4;
9 //
10 if (msg == NULL) msg = "";
11 if ((mlen = strlen(msg))+4 > wdt) wdt = mlen+4;
13 k8t_ttyPutStr(term, clr);
15 if (term->col <= mlen+4) {
16 k8t_ttyPutStr(term, msg);
17 return;
20 term->charset = K8T_MODE_GFX1;
21 term->mode &= ~K8T_MODE_GFX0;
22 term->mode |= K8T_MODE_GFX1;
23 //term->c.attr.attr |= K8T_ATTR_REVERSE;
24 if (wdt == tlen+4) {
25 // just title
26 int left = (wdt-2-mlen)/2, cnt = left+1+mlen;
28 k8t_ttyPutStr(term, "lq");
29 k8t_ttyPutStr(term, "\x1b[37m");
30 k8t_ttyPutStr(term, title);
31 k8t_ttyPutStr(term, "\x1b[33m");
32 k8t_ttyPutStr(term, "qk");
34 k8t_ttyPutStr(term, clrdef);
35 k8t_ttyPutStr(term, "\r\n");
36 k8t_ttyPutStr(term, clr);
38 k8t_tmPutC(term, "x");
39 while (left-- > 0) k8t_tmPutC(term, " ");
40 term->charset = K8T_MODE_GFX0;
41 k8t_ttyPutStr(term, msg);
42 term->charset = K8T_MODE_GFX1;
43 while (cnt++ < wdt-1) k8t_tmPutC(term, " ");
44 k8t_ttyPutStr(term, "x");
46 k8t_ttyPutStr(term, clrdef);
47 k8t_ttyPutStr(term, "\r\n");
48 k8t_ttyPutStr(term, clr);
50 k8t_tmPutC(term, "m");
51 for (int f = 2; f < wdt; ++f) k8t_tmPutC(term, "q");
52 k8t_tmPutC(term, "j");
53 } else {
54 int left = (wdt-2-tlen)/2, cnt = left+1+tlen;
56 k8t_tmPutC(term, "l");
57 while (left-- > 0) k8t_tmPutC(term, "q");
58 k8t_ttyPutStr(term, "\x1b[37m");
59 k8t_ttyPutStr(term, title);
60 k8t_ttyPutStr(term, "\x1b[33m");
61 while (cnt++ < wdt-1) k8t_tmPutC(term, "q");
62 k8t_tmPutC(term, "k");
64 k8t_ttyPutStr(term, clrdef);
65 k8t_ttyPutStr(term, "\r\n");
66 k8t_ttyPutStr(term, clr);
68 k8t_ttyPutStr(term, "x ");
69 term->charset = K8T_MODE_GFX0;
70 k8t_ttyPutStr(term, msg);
71 term->charset = K8T_MODE_GFX1;
72 k8t_ttyPutStr(term, " x");
74 k8t_ttyPutStr(term, clrdef);
75 k8t_ttyPutStr(term, "\r\n");
76 k8t_ttyPutStr(term, clr);
78 k8t_tmPutC(term, "m");
79 for (int f = 2; f < wdt; ++f) k8t_tmPutC(term, "q");
80 k8t_tmPutC(term, "j");
83 term->charset = K8T_MODE_GFX0;
84 //term->c.attr.attr &= ~K8T_ATTR_REVERSE;
86 //k8t_ttyPutStr(msg);
88 k8t_ttyPutStr(term, "\x1b[0m");
92 static void tdrawfatalmsg (K8Term *term, const char *msg) {
93 if (term != NULL && msg != NULL) {
94 k8t_tmResetMode(term);
95 term->c.state |= K8T_CURSOR_HIDE;
96 //k8t_tmMoveTo(0, term->c.y);
97 if (term->c.x != 0) k8t_ttyPutStr(term, "\x1b[0m\r\n");
99 k8t_tmDrawFatalBox(term, msg);
101 k8t_tmWantRedraw(term, 1);
102 k8t_tmFullDirty(term);