From 59d038d591f7f00e6752cbfadbbc1c0ca318c5c0 Mon Sep 17 00:00:00 2001 From: Arnaldo Carvalho de Melo Date: Fri, 20 Apr 2012 16:26:14 -0300 Subject: [PATCH] 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 Cc: Frederic Weisbecker Cc: Mike Galbraith Cc: Namhyung Kim Cc: Paul Mackerras Cc: Peter Zijlstra Cc: Stephane Eranian Link: http://lkml.kernel.org/n/tip-63yhb2htv9g3g1olmojzptkd@git.kernel.org Signed-off-by: Arnaldo Carvalho de Melo --- tools/perf/ui/browser.c | 7 +++++++ tools/perf/ui/browser.h | 1 + tools/perf/ui/browsers/annotate.c | 14 ++++---------- 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/tools/perf/ui/browser.c b/tools/perf/ui/browser.c index a1b140cf75ac..973ff74e3640 100644 --- a/tools/perf/ui/browser.c +++ b/tools/perf/ui/browser.c @@ -593,6 +593,13 @@ unsigned int ui_browser__argv_refresh(struct ui_browser *browser) 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) { int i = 0; diff --git a/tools/perf/ui/browser.h b/tools/perf/ui/browser.h index 2550277db9f9..ce20975419d2 100644 --- a/tools/perf/ui/browser.h +++ b/tools/perf/ui/browser.h @@ -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__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); int ui_browser__show(struct ui_browser *self, const char *title, diff --git a/tools/perf/ui/browsers/annotate.c b/tools/perf/ui/browsers/annotate.c index 38f4c6f821c2..c3fc6f39f901 100644 --- a/tools/perf/ui/browsers/annotate.c +++ b/tools/perf/ui/browsers/annotate.c @@ -71,9 +71,7 @@ static void annotate_browser__write(struct ui_browser *self, void *entry, int ro slsmg_write_nstring(" ", 9); } - SLsmg_set_char_set(1); - SLsmg_write_char(SLSMG_VLINE_CHAR); - SLsmg_set_char_set(0); + ui_browser__write_graph(self, SLSMG_VLINE_CHAR); SLsmg_write_char(' '); /* The scroll bar isn't being used */ @@ -116,10 +114,8 @@ static void annotate_browser__write(struct ui_browser *self, void *entry, int ro if (ins__is_jump(dl->ins)) { bool fwd = dl->ops.target > (u64)dl->offset; - SLsmg_set_char_set(1); - SLsmg_write_char(fwd ? SLSMG_DARROW_CHAR : - SLSMG_UARROW_CHAR); - SLsmg_set_char_set(0); + ui_browser__write_graph(self, fwd ? SLSMG_DARROW_CHAR : + SLSMG_UARROW_CHAR); SLsmg_write_char(' '); } else { slsmg_write_nstring(" ", 2); @@ -131,9 +127,7 @@ static void annotate_browser__write(struct ui_browser *self, void *entry, int ro if (strcmp(dl->name, "retq")) { slsmg_write_nstring(" ", 2); } else { - SLsmg_set_char_set(1); - SLsmg_write_char(SLSMG_LARROW_CHAR); - SLsmg_set_char_set(0); + ui_browser__write_graph(self, SLSMG_LARROW_CHAR); SLsmg_write_char(' '); } -- 2.30.2