diff options
author | Daniel Lange <DLange@git.local> | 2020-12-07 10:26:01 +0100 |
---|---|---|
committer | Daniel Lange <DLange@git.local> | 2020-12-07 10:26:01 +0100 |
commit | 65357c8c46154de4e4eca14075bfe5523bb5fc14 (patch) | |
tree | 8f430ee5a0d5de377c4e7c94e47842a27c70d7e8 /RichString.h | |
parent | f80394a20254938142011855f2954b3f63fe5909 (diff) | |
download | debian_htop-65357c8c46154de4e4eca14075bfe5523bb5fc14.tar.gz debian_htop-65357c8c46154de4e4eca14075bfe5523bb5fc14.tar.bz2 debian_htop-65357c8c46154de4e4eca14075bfe5523bb5fc14.zip |
New upstream version 3.0.3upstream/3.0.3
Diffstat (limited to 'RichString.h')
-rw-r--r-- | RichString.h | 51 |
1 files changed, 14 insertions, 37 deletions
diff --git a/RichString.h b/RichString.h index e6fb4c3..262befc 100644 --- a/RichString.h +++ b/RichString.h @@ -3,49 +3,33 @@ /* htop - RichString.h (C) 2004,2011 Hisham H. Muhammad -Released under the GNU GPL, see the COPYING file +Released under the GNU GPLv2, see the COPYING file in the source distribution for its full text. */ - #include "config.h" -#include <ctype.h> - -#include <assert.h> -#ifdef HAVE_NCURSESW_CURSES_H -#include <ncursesw/curses.h> -#elif HAVE_NCURSES_NCURSES_H -#include <ncurses/ncurses.h> -#elif HAVE_NCURSES_CURSES_H -#include <ncurses/curses.h> -#elif HAVE_NCURSES_H -#include <ncurses.h> -#elif HAVE_CURSES_H -#include <curses.h> -#endif -#ifdef HAVE_LIBNCURSESW -#include <wctype.h> -#endif +#include "ProvideCurses.h" + #define RichString_size(this) ((this)->chlen) #define RichString_sizeVal(this) ((this).chlen) -#define RichString_begin(this) RichString (this); memset(&this, 0, sizeof(RichString)); (this).chptr = (this).chstr; -#define RichString_beginAllocated(this) memset(&this, 0, sizeof(RichString)); (this).chptr = (this).chstr; -#define RichString_end(this) RichString_prune(&(this)); +#define RichString_begin(this) RichString (this); RichString_beginAllocated(this) +#define RichString_beginAllocated(this) do { memset(&(this), 0, sizeof(RichString)); (this).chptr = (this).chstr; } while(0) +#define RichString_end(this) RichString_prune(&(this)) #ifdef HAVE_LIBNCURSESW #define RichString_printVal(this, y, x) mvadd_wchstr(y, x, (this).chptr) -#define RichString_printoffnVal(this, y, x, off, n) mvadd_wchnstr(y, x, (this).chptr + off, n) +#define RichString_printoffnVal(this, y, x, off, n) mvadd_wchnstr(y, x, (this).chptr + (off), n) #define RichString_getCharVal(this, i) ((this).chptr[i].chars[0] & 255) -#define RichString_setChar(this, at, ch) do{ (this)->chptr[(at)] = (CharType) { .chars = { ch, 0 } }; } while(0) +#define RichString_setChar(this, at, ch) do { (this)->chptr[(at)] = (CharType) { .chars = { ch, 0 } }; } while (0) #define CharType cchar_t #else #define RichString_printVal(this, y, x) mvaddchstr(y, x, (this).chptr) -#define RichString_printoffnVal(this, y, x, off, n) mvaddchnstr(y, x, (this).chptr + off, n) +#define RichString_printoffnVal(this, y, x, off, n) mvaddchnstr(y, x, (this).chptr + (off), n) #define RichString_getCharVal(this, i) ((this).chptr[i]) -#define RichString_setChar(this, at, ch) do{ (this)->chptr[(at)] = ch; } while(0) +#define RichString_setChar(this, at, ch) do { (this)->chptr[(at)] = ch; } while (0) #define CharType chtype #endif @@ -54,27 +38,20 @@ in the source distribution for its full text. typedef struct RichString_ { int chlen; CharType* chptr; - CharType chstr[RICHSTRING_MAXLEN+1]; + CharType chstr[RICHSTRING_MAXLEN + 1]; + int highlightAttr; } RichString; -#ifdef HAVE_LIBNCURSESW - -void RichString_setAttrn(RichString* this, int attrs, int start, int finish); - -int RichString_findChar(RichString* this, char c, int start); - -#else - void RichString_setAttrn(RichString* this, int attrs, int start, int finish); int RichString_findChar(RichString* this, char c, int start); -#endif - void RichString_prune(RichString* this); void RichString_setAttr(RichString* this, int attrs); +void RichString_appendChr(RichString* this, char c, int count); + void RichString_append(RichString* this, int attrs, const char* data); void RichString_appendn(RichString* this, int attrs, const char* data, int len); |