summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Hesse <mail@eworm.de>2015-07-17 14:33:34 +0200
committerChristian Hesse <mail@eworm.de>2015-08-19 22:42:34 +0200
commitd8e23bb0847d766d7f3fdf8bdd11f7d70829fad8 (patch)
tree76e41872d9bf93f03cc45549021c6988538f5f67
parent9e67b6585ec42d16fd73a4f2df372f54f1188a32 (diff)
remove UTF-8 code when compiling with --disable-unicode
-rw-r--r--CRT.c14
-rw-r--r--CRT.h8
-rw-r--r--ListItem.c6
-rw-r--r--Meter.c26
-rw-r--r--Meter.h8
5 files changed, 51 insertions, 11 deletions
diff --git a/CRT.c b/CRT.c
index b44a86b6..3c0829a1 100644
--- a/CRT.c
+++ b/CRT.c
@@ -133,6 +133,8 @@ const char *CRT_treeStrAscii[TREE_STR_COUNT] = {
"-", // TREE_STR_SHUT
};
+#ifdef HAVE_LIBNCURSESW
+
const char *CRT_treeStrUtf8[TREE_STR_COUNT] = {
"\xe2\x94\x80", // TREE_STR_HORZ ─
"\xe2\x94\x82", // TREE_STR_VERT │
@@ -143,14 +145,16 @@ const char *CRT_treeStrUtf8[TREE_STR_COUNT] = {
"\xe2\x94\x80", // TREE_STR_SHUT ─
};
+bool CRT_utf8 = false;
+
+#endif
+
const char **CRT_treeStr = CRT_treeStrAscii;
static bool CRT_hasColors;
int CRT_delay = 0;
-bool CRT_utf8 = false;
-
int* CRT_colors;
int CRT_colorSchemes[LAST_COLORSCHEME][LAST_COLORELEMENT] = {
@@ -596,7 +600,11 @@ void CRT_init(int delay, int colorScheme) {
CRT_utf8 = false;
#endif
- CRT_treeStr = CRT_utf8 ? CRT_treeStrUtf8 : CRT_treeStrAscii;
+ CRT_treeStr =
+#ifdef HAVE_LIBNCURSESW
+ CRT_utf8 ? CRT_treeStrUtf8 :
+#endif
+ CRT_treeStrAscii;
mousemask(BUTTON1_CLICKED, NULL);
}
diff --git a/CRT.h b/CRT.h
index 3e8babe7..074cff36 100644
--- a/CRT.h
+++ b/CRT.h
@@ -114,14 +114,18 @@ void CRT_handleSIGSEGV(int sgn);
extern const char *CRT_treeStrAscii[TREE_STR_COUNT];
+#ifdef HAVE_LIBNCURSESW
+
extern const char *CRT_treeStrUtf8[TREE_STR_COUNT];
+extern bool CRT_utf8;
+
+#endif
+
extern const char **CRT_treeStr;
extern int CRT_delay;
-extern bool CRT_utf8;
-
int* CRT_colors;
extern int CRT_colorSchemes[LAST_COLORSCHEME][LAST_COLORELEMENT];
diff --git a/ListItem.c b/ListItem.c
index 68fd9ffe..07788e73 100644
--- a/ListItem.c
+++ b/ListItem.c
@@ -42,7 +42,11 @@ static void ListItem_display(Object* cast, RichString* out) {
snprintf(buffer, len, "%s", this->value);
*/
if (this->moving) {
- RichString_write(out, CRT_colors[DEFAULT_COLOR], CRT_utf8 ? "↕ " : "+ ");
+ RichString_write(out, CRT_colors[DEFAULT_COLOR],
+#ifdef HAVE_LIBNCURSESW
+ CRT_utf8 ? "↕ " :
+#endif
+ "+ ");
} else {
RichString_prune(out);
}
diff --git a/Meter.c b/Meter.c
index af863ae5..f7ad61aa 100644
--- a/Meter.c
+++ b/Meter.c
@@ -308,6 +308,8 @@ static void BarMeterMode_draw(Meter* this, int x, int y, int w) {
/* ---------- GraphMeterMode ---------- */
+#ifdef HAVE_LIBNCURSESW
+
#define PIXPERROW_UTF8 4
static const char* GraphMeterMode_dotsUtf8[] = {
/*00*/"⠀", /*01*/"⢀", /*02*/"⢠", /*03*/"⢰", /*04*/ "⢸",
@@ -317,6 +319,8 @@ static const char* GraphMeterMode_dotsUtf8[] = {
/*40*/"⡇", /*41*/"⣇", /*42*/"⣧", /*43*/"⣷", /*44*/ "⣿"
};
+#endif
+
#define PIXPERROW_ASCII 2
static const char* GraphMeterMode_dotsAscii[] = {
/*00*/" ", /*01*/".", /*02*/":",
@@ -333,10 +337,13 @@ static void GraphMeterMode_draw(Meter* this, int x, int y, int w) {
GraphData* data = (GraphData*) this->drawData;
const int nValues = METER_BUFFER_LEN;
+#ifdef HAVE_LIBNCURSESW
if (CRT_utf8) {
GraphMeterMode_dots = GraphMeterMode_dotsUtf8;
pixperrow = PIXPERROW_UTF8;
- } else {
+ } else
+#endif
+ {
GraphMeterMode_dots = GraphMeterMode_dotsAscii;
pixperrow = PIXPERROW_ASCII;
}
@@ -399,12 +406,16 @@ static const char* LEDMeterMode_digitsAscii[] = {
"|__|"," |","|__ "," __|"," |"," __|","|__|"," |","|__|"," __|"
};
+#ifdef HAVE_LIBNCURSESW
+
static const char* LEDMeterMode_digitsUtf8[] = {
"┌──┐"," ┐ ","╶──┐","╶──┐","╷ ╷","┌──╴","┌──╴","╶──┐","┌──┐","┌──┐",
"│ │"," │ ","┌──┘"," ──┤","└──┤","└──┐","├──┐"," │","├──┤","└──┤",
"└──┘"," ╵ ","└──╴","╶──┘"," ╵","╶──┘","└──┘"," ╵","└──┘"," ──┘"
};
+#endif
+
static const char** LEDMeterMode_digits;
static void LEDMeterMode_drawDigit(int x, int y, int n) {
@@ -415,11 +426,12 @@ static void LEDMeterMode_drawDigit(int x, int y, int n) {
static void LEDMeterMode_draw(Meter* this, int x, int y, int w) {
(void) w;
- if (CRT_utf8) {
+#ifdef HAVE_LIBNCURSESW
+ if (CRT_utf8)
LEDMeterMode_digits = LEDMeterMode_digitsUtf8;
- } else {
+ else
+#endif
LEDMeterMode_digits = LEDMeterMode_digitsAscii;
- }
char buffer[METER_BUFFER_LEN];
Meter_setValues(this, buffer, METER_BUFFER_LEN - 1);
@@ -427,7 +439,11 @@ static void LEDMeterMode_draw(Meter* this, int x, int y, int w) {
RichString_begin(out);
Meter_displayBuffer(this, buffer, &out);
- int yText = CRT_utf8 ? y+1 : y+2;
+ int yText =
+#ifdef HAVE_LIBNCURSESW
+ CRT_utf8 ? y+1 :
+#endif
+ y+2;
attrset(CRT_colors[LED_COLOR]);
mvaddstr(yText, x, this->caption);
int xx = x + strlen(this->caption);
diff --git a/Meter.h b/Meter.h
index 63e32955..6b268c3f 100644
--- a/Meter.h
+++ b/Meter.h
@@ -119,11 +119,19 @@ ListItem* Meter_toListItem(Meter* this, bool moving);
/* ---------- GraphMeterMode ---------- */
+#ifdef HAVE_LIBNCURSESW
+
#define PIXPERROW_UTF8 4
+#endif
+
#define PIXPERROW_ASCII 2
/* ---------- LEDMeterMode ---------- */
+#ifdef HAVE_LIBNCURSESW
+
+#endif
+
extern MeterMode* Meter_modes[];
/* Blank meter */

© 2014-2024 Faster IT GmbH | imprint | privacy policy