diff options
author | Daniel Lange <DLange@git.local> | 2016-04-11 13:00:22 +0200 |
---|---|---|
committer | Daniel Lange <DLange@git.local> | 2016-04-11 13:00:22 +0200 |
commit | c74c38760df69bb87e93dff18cf91464e5d02f37 (patch) | |
tree | ee2a19a0ef3a808bdfc8c1e6a00e96d79966dcb0 /RichString.h | |
parent | 9379132a8234eeedf62d37ef57713e52c12db6ab (diff) | |
download | debian_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.h | 44 |
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); |