aboutsummaryrefslogtreecommitdiffstats
path: root/RichString.h
diff options
context:
space:
mode:
authorDaniel Lange <DLange@git.local>2016-04-11 13:00:22 +0200
committerDaniel Lange <DLange@git.local>2016-04-11 13:00:22 +0200
commitc74c38760df69bb87e93dff18cf91464e5d02f37 (patch)
treeee2a19a0ef3a808bdfc8c1e6a00e96d79966dcb0 /RichString.h
parent9379132a8234eeedf62d37ef57713e52c12db6ab (diff)
downloaddebian_htop-c74c38760df69bb87e93dff18cf91464e5d02f37.tar.gz
debian_htop-c74c38760df69bb87e93dff18cf91464e5d02f37.tar.bz2
debian_htop-c74c38760df69bb87e93dff18cf91464e5d02f37.zip
Imported Upstream version 0.8.1upstream/0.8.1
Diffstat (limited to 'RichString.h')
-rw-r--r--RichString.h44
1 files changed, 40 insertions, 4 deletions
diff --git a/RichString.h b/RichString.h
index 6eed0d9..7f777bb 100644
--- a/RichString.h
+++ b/RichString.h
@@ -4,12 +4,20 @@
#define HEADER_RichString
+#ifndef CONFIG_H
+#define CONFIG_H
+#include "config.h"
+#endif
+
#include <stdlib.h>
#include <string.h>
#include <curses.h>
#include "debug.h"
#include <assert.h>
+#ifdef HAVE_LIBNCURSESW
+#include <wchar.h>
+#endif
#define RICHSTRING_MAXLEN 300
@@ -17,9 +25,23 @@
#define RichString_init(this) (this)->len = 0
#define RichString_initVal(this) (this).len = 0
+#ifdef HAVE_LIBNCURSESW
+#define RichString_printVal(this, y, x) mvadd_wchstr(y, x, this.chstr)
+#define RichString_printoffnVal(this, y, x, off, n) mvadd_wchnstr(y, x, this.chstr + off, n)
+#define RichString_getCharVal(this, i) (this.chstr[i].chars[0] & 255)
+#else
+#define RichString_printVal(this, y, x) mvaddchstr(y, x, this.chstr)
+#define RichString_printoffnVal(this, y, x, off, n) mvaddchnstr(y, x, this.chstr + off, n)
+#define RichString_getCharVal(this, i) (this.chstr[i])
+#endif
+
typedef struct RichString_ {
int len;
+#ifdef HAVE_LIBNCURSESW
+ cchar_t chstr[RICHSTRING_MAXLEN+1];
+#else
chtype chstr[RICHSTRING_MAXLEN+1];
+#endif
} RichString;
@@ -27,15 +49,29 @@ typedef struct RichString_ {
#define MIN(a,b) ((a)<(b)?(a):(b))
#endif
-extern void RichString_appendn(RichString* this, int attrs, char* data, int len);
+#ifdef HAVE_LIBNCURSESW
-extern void RichString_append(RichString* this, int attrs, char* data);
+extern void RichString_appendn(RichString* this, int attrs, char* data_c, int len);
-void RichString_write(RichString* this, int attrs, char* data);
+extern void RichString_setAttrn(RichString *this, int attrs, int start, int finish);
+
+int RichString_findChar(RichString *this, char c, int start);
+
+#else
+
+extern void RichString_appendn(RichString* this, int attrs, char* data_c, int len);
+
+void RichString_setAttrn(RichString *this, int attrs, int start, int finish);
+
+int RichString_findChar(RichString *this, char c, int start);
+
+#endif
void RichString_setAttr(RichString *this, int attrs);
-void RichString_applyAttr(RichString *this, int attrs);
+extern void RichString_append(RichString* this, int attrs, char* data);
+
+void RichString_write(RichString* this, int attrs, char* data);
RichString RichString_quickString(int attrs, char* data);

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