diff options
author | Arnaldo Carvalho de Melo <acme@redhat.com> | 2010-08-11 13:51:47 -0400 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2010-08-19 18:33:16 -0400 |
commit | 8f9bbc408b6f704e84d0ae78e6093005ad58d4fe (patch) | |
tree | 2202f2199ceecbc5935eeb333bd123f55247f5b8 /tools/perf/util/ui/browsers | |
parent | c8710ad38900153af7a3e6762e99c062cfa46443 (diff) |
perf ui browser: Abstract some more slang operations
Browsers don't have to deal with absolute coordinates, just using (row,
column) and leaving the rest to ui_browser is better and removes one
more UI backend detail from the browsers.
Also shorten the percent_color setting idiom, removing some more direct
libslang calls.
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
LKML-Reference: <new-submission>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/util/ui/browsers')
-rw-r--r-- | tools/perf/util/ui/browsers/annotate.c | 8 | ||||
-rw-r--r-- | tools/perf/util/ui/browsers/hists.c | 12 | ||||
-rw-r--r-- | tools/perf/util/ui/browsers/map.c | 3 |
3 files changed, 10 insertions, 13 deletions
diff --git a/tools/perf/util/ui/browsers/annotate.c b/tools/perf/util/ui/browsers/annotate.c index a90273e63f4f..a00d529caaff 100644 --- a/tools/perf/util/ui/browsers/annotate.c +++ b/tools/perf/util/ui/browsers/annotate.c | |||
@@ -40,14 +40,12 @@ static void annotate_browser__write(struct ui_browser *self, void *entry, int ro | |||
40 | 40 | ||
41 | if (ol->offset != -1) { | 41 | if (ol->offset != -1) { |
42 | struct objdump_line_rb_node *olrb = objdump_line__rb(ol); | 42 | struct objdump_line_rb_node *olrb = objdump_line__rb(ol); |
43 | int color = ui_browser__percent_color(olrb->percent, current_entry); | 43 | ui_browser__set_percent_color(self, olrb->percent, current_entry); |
44 | SLsmg_set_color(color); | ||
45 | slsmg_printf(" %7.2f ", olrb->percent); | 44 | slsmg_printf(" %7.2f ", olrb->percent); |
46 | if (!current_entry) | 45 | if (!current_entry) |
47 | SLsmg_set_color(HE_COLORSET_CODE); | 46 | ui_browser__set_color(self, HE_COLORSET_CODE); |
48 | } else { | 47 | } else { |
49 | int color = ui_browser__percent_color(0, current_entry); | 48 | ui_browser__set_percent_color(self, 0, current_entry); |
50 | SLsmg_set_color(color); | ||
51 | slsmg_write_nstring(" ", 9); | 49 | slsmg_write_nstring(" ", 9); |
52 | } | 50 | } |
53 | 51 | ||
diff --git a/tools/perf/util/ui/browsers/hists.c b/tools/perf/util/ui/browsers/hists.c index dafdf6775d77..5723091134ee 100644 --- a/tools/perf/util/ui/browsers/hists.c +++ b/tools/perf/util/ui/browsers/hists.c | |||
@@ -341,8 +341,8 @@ static int hist_browser__show_callchain_node_rb_tree(struct hist_browser *self, | |||
341 | *is_current_entry = true; | 341 | *is_current_entry = true; |
342 | } | 342 | } |
343 | 343 | ||
344 | SLsmg_set_color(color); | 344 | ui_browser__set_color(&self->b, color); |
345 | SLsmg_gotorc(self->b.y + row, self->b.x); | 345 | ui_browser__gotorc(&self->b, row, 0); |
346 | slsmg_write_nstring(" ", offset + extra_offset); | 346 | slsmg_write_nstring(" ", offset + extra_offset); |
347 | slsmg_printf("%c ", folded_sign); | 347 | slsmg_printf("%c ", folded_sign); |
348 | slsmg_write_nstring(str, width); | 348 | slsmg_write_nstring(str, width); |
@@ -405,8 +405,8 @@ static int hist_browser__show_callchain_node(struct hist_browser *self, | |||
405 | } | 405 | } |
406 | 406 | ||
407 | s = callchain_list__sym_name(chain, ipstr, sizeof(ipstr)); | 407 | s = callchain_list__sym_name(chain, ipstr, sizeof(ipstr)); |
408 | SLsmg_gotorc(self->b.y + row, self->b.x); | 408 | ui_browser__gotorc(&self->b, row, 0); |
409 | SLsmg_set_color(color); | 409 | ui_browser__set_color(&self->b, color); |
410 | slsmg_write_nstring(" ", offset); | 410 | slsmg_write_nstring(" ", offset); |
411 | slsmg_printf("%c ", folded_sign); | 411 | slsmg_printf("%c ", folded_sign); |
412 | slsmg_write_nstring(s, width - 2); | 412 | slsmg_write_nstring(s, width - 2); |
@@ -484,8 +484,8 @@ static int hist_browser__show_entry(struct hist_browser *self, | |||
484 | color = HE_COLORSET_NORMAL; | 484 | color = HE_COLORSET_NORMAL; |
485 | } | 485 | } |
486 | 486 | ||
487 | SLsmg_set_color(color); | 487 | ui_browser__set_color(&self->b, color); |
488 | SLsmg_gotorc(self->b.y + row, self->b.x); | 488 | ui_browser__gotorc(&self->b, row, 0); |
489 | if (symbol_conf.use_callchain) { | 489 | if (symbol_conf.use_callchain) { |
490 | slsmg_printf("%c ", folded_sign); | 490 | slsmg_printf("%c ", folded_sign); |
491 | width -= 2; | 491 | width -= 2; |
diff --git a/tools/perf/util/ui/browsers/map.c b/tools/perf/util/ui/browsers/map.c index 142b825b42bf..733daba60cd4 100644 --- a/tools/perf/util/ui/browsers/map.c +++ b/tools/perf/util/ui/browsers/map.c | |||
@@ -56,9 +56,8 @@ static void map_browser__write(struct ui_browser *self, void *nd, int row) | |||
56 | struct symbol *sym = rb_entry(nd, struct symbol, rb_node); | 56 | struct symbol *sym = rb_entry(nd, struct symbol, rb_node); |
57 | struct map_browser *mb = container_of(self, struct map_browser, b); | 57 | struct map_browser *mb = container_of(self, struct map_browser, b); |
58 | bool current_entry = ui_browser__is_current_entry(self, row); | 58 | bool current_entry = ui_browser__is_current_entry(self, row); |
59 | int color = ui_browser__percent_color(0, current_entry); | ||
60 | 59 | ||
61 | SLsmg_set_color(color); | 60 | ui_browser__set_percent_color(self, 0, current_entry); |
62 | slsmg_printf("%*llx %*llx %c ", | 61 | slsmg_printf("%*llx %*llx %c ", |
63 | mb->addrlen, sym->start, mb->addrlen, sym->end, | 62 | mb->addrlen, sym->start, mb->addrlen, sym->end, |
64 | sym->binding == STB_GLOBAL ? 'g' : | 63 | sym->binding == STB_GLOBAL ? 'g' : |