ui browser: Add method to write graphical characters

To save typing on the switch char set slang stuff.

It also helps in removing more slang direct calls, wrapping them at the
ui_browser level, where at some point I'll try to implement those in
terms of GTK+.

Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Namhyung Kim <namhyung@gmail.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/n/tip-63yhb2htv9g3g1olmojzptkd@git.kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
上级 c4cceae3
...@@ -593,6 +593,13 @@ unsigned int ui_browser__argv_refresh(struct ui_browser *browser) ...@@ -593,6 +593,13 @@ unsigned int ui_browser__argv_refresh(struct ui_browser *browser)
return row; return row;
} }
void ui_browser__write_graph(struct ui_browser *browser __used, int graph)
{
SLsmg_set_char_set(1);
SLsmg_write_char(graph);
SLsmg_set_char_set(0);
}
void ui_browser__init(void) void ui_browser__init(void)
{ {
int i = 0; int i = 0;
......
...@@ -37,6 +37,7 @@ void ui_browser__refresh_dimensions(struct ui_browser *self); ...@@ -37,6 +37,7 @@ void ui_browser__refresh_dimensions(struct ui_browser *self);
void ui_browser__reset_index(struct ui_browser *self); void ui_browser__reset_index(struct ui_browser *self);
void ui_browser__gotorc(struct ui_browser *self, int y, int x); void ui_browser__gotorc(struct ui_browser *self, int y, int x);
void ui_browser__write_graph(struct ui_browser *browser, int graph);
void __ui_browser__show_title(struct ui_browser *browser, const char *title); void __ui_browser__show_title(struct ui_browser *browser, const char *title);
void ui_browser__show_title(struct ui_browser *browser, const char *title); void ui_browser__show_title(struct ui_browser *browser, const char *title);
int ui_browser__show(struct ui_browser *self, const char *title, int ui_browser__show(struct ui_browser *self, const char *title,
......
...@@ -71,9 +71,7 @@ static void annotate_browser__write(struct ui_browser *self, void *entry, int ro ...@@ -71,9 +71,7 @@ static void annotate_browser__write(struct ui_browser *self, void *entry, int ro
slsmg_write_nstring(" ", 9); slsmg_write_nstring(" ", 9);
} }
SLsmg_set_char_set(1); ui_browser__write_graph(self, SLSMG_VLINE_CHAR);
SLsmg_write_char(SLSMG_VLINE_CHAR);
SLsmg_set_char_set(0);
SLsmg_write_char(' '); SLsmg_write_char(' ');
/* The scroll bar isn't being used */ /* The scroll bar isn't being used */
...@@ -116,10 +114,8 @@ static void annotate_browser__write(struct ui_browser *self, void *entry, int ro ...@@ -116,10 +114,8 @@ static void annotate_browser__write(struct ui_browser *self, void *entry, int ro
if (ins__is_jump(dl->ins)) { if (ins__is_jump(dl->ins)) {
bool fwd = dl->ops.target > (u64)dl->offset; bool fwd = dl->ops.target > (u64)dl->offset;
SLsmg_set_char_set(1); ui_browser__write_graph(self, fwd ? SLSMG_DARROW_CHAR :
SLsmg_write_char(fwd ? SLSMG_DARROW_CHAR : SLSMG_UARROW_CHAR);
SLSMG_UARROW_CHAR);
SLsmg_set_char_set(0);
SLsmg_write_char(' '); SLsmg_write_char(' ');
} else { } else {
slsmg_write_nstring(" ", 2); slsmg_write_nstring(" ", 2);
...@@ -131,9 +127,7 @@ static void annotate_browser__write(struct ui_browser *self, void *entry, int ro ...@@ -131,9 +127,7 @@ static void annotate_browser__write(struct ui_browser *self, void *entry, int ro
if (strcmp(dl->name, "retq")) { if (strcmp(dl->name, "retq")) {
slsmg_write_nstring(" ", 2); slsmg_write_nstring(" ", 2);
} else { } else {
SLsmg_set_char_set(1); ui_browser__write_graph(self, SLSMG_LARROW_CHAR);
SLsmg_write_char(SLSMG_LARROW_CHAR);
SLsmg_set_char_set(0);
SLsmg_write_char(' '); SLsmg_write_char(' ');
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册