Merge branches 'pm-sleep', 'pm-domains' and 'pm-avs'
[deliverable/linux.git] / tools / perf / ui / browser.h
CommitLineData
ef8f34aa
ACM
1#ifndef _PERF_UI_BROWSER_H_
2#define _PERF_UI_BROWSER_H_ 1
3
d944c4ee 4#include <linux/types.h>
ef8f34aa
ACM
5
6#define HE_COLORSET_TOP 50
7#define HE_COLORSET_MEDIUM 51
8#define HE_COLORSET_NORMAL 52
9#define HE_COLORSET_SELECTED 53
10#define HE_COLORSET_CODE 54
058b4cc9 11#define HE_COLORSET_ADDR 55
6692c262 12#define HE_COLORSET_ROOT 56
ef8f34aa
ACM
13
14struct ui_browser {
d247eb6b
ACM
15 u64 index, top_idx;
16 void *top, *entries;
62c95ae3 17 u16 y, x, width, height, rows;
08709165 18 int current_color;
ef8f34aa 19 void *priv;
3af6e338
ACM
20 const char *title;
21 char *helpline;
fa70b5d6 22 void (*refresh_dimensions)(struct ui_browser *browser);
316c7136
ACM
23 unsigned int (*refresh)(struct ui_browser *browser);
24 void (*write)(struct ui_browser *browser, void *entry, int row);
25 void (*seek)(struct ui_browser *browser, off_t offset, int whence);
26 bool (*filter)(struct ui_browser *browser, void *entry);
ef8f34aa 27 u32 nr_entries;
c172f742
ACM
28 bool navkeypressed;
29 bool use_navkeypressed;
ef8f34aa
ACM
30};
31
08709165 32int ui_browser__set_color(struct ui_browser *browser, int color);
316c7136 33void ui_browser__set_percent_color(struct ui_browser *browser,
8f9bbc40 34 double percent, bool current);
316c7136
ACM
35bool ui_browser__is_current_entry(struct ui_browser *browser, unsigned row);
36void ui_browser__refresh_dimensions(struct ui_browser *browser);
37void ui_browser__reset_index(struct ui_browser *browser);
ef8f34aa 38
316c7136 39void ui_browser__gotorc(struct ui_browser *browser, int y, int x);
59d038d5 40void ui_browser__write_graph(struct ui_browser *browser, int graph);
944e1abe 41void __ui_browser__line_arrow(struct ui_browser *browser, unsigned int column,
83b1f2aa 42 u64 start, u64 end);
b210b3bb
ACM
43void __ui_browser__show_title(struct ui_browser *browser, const char *title);
44void ui_browser__show_title(struct ui_browser *browser, const char *title);
316c7136 45int ui_browser__show(struct ui_browser *browser, const char *title,
59e8fe32 46 const char *helpline, ...);
316c7136
ACM
47void ui_browser__hide(struct ui_browser *browser);
48int ui_browser__refresh(struct ui_browser *browser);
3af6e338 49int ui_browser__run(struct ui_browser *browser, int delay_secs);
900e14a8 50void ui_browser__update_nr_entries(struct ui_browser *browser, u32 nr_entries);
4610e413 51void ui_browser__handle_resize(struct ui_browser *browser);
4656cca1
ACM
52void __ui_browser__vline(struct ui_browser *browser, unsigned int column,
53 u16 start, u16 end);
4610e413 54
7b27509f
ACM
55int ui_browser__warning(struct ui_browser *browser, int timeout,
56 const char *format, ...);
4610e413
ACM
57int ui_browser__help_window(struct ui_browser *browser, const char *text);
58bool ui_browser__dialog_yesno(struct ui_browser *browser, const char *text);
aa49f6ec
NK
59int ui_browser__input_window(const char *title, const char *text, char *input,
60 const char *exit_msg, int delay_sec);
6dd60135
NK
61struct perf_session_env;
62int tui__header_window(struct perf_session_env *env);
ef8f34aa 63
1056d3dd
ACM
64void ui_browser__argv_seek(struct ui_browser *browser, off_t offset, int whence);
65unsigned int ui_browser__argv_refresh(struct ui_browser *browser);
66
316c7136
ACM
67void ui_browser__rb_tree_seek(struct ui_browser *browser, off_t offset, int whence);
68unsigned int ui_browser__rb_tree_refresh(struct ui_browser *browser);
ef8f34aa 69
316c7136
ACM
70void ui_browser__list_head_seek(struct ui_browser *browser, off_t offset, int whence);
71unsigned int ui_browser__list_head_refresh(struct ui_browser *browser);
ef8f34aa
ACM
72
73void ui_browser__init(void);
c323cf04 74void annotate_browser__init(void);
ef8f34aa 75#endif /* _PERF_UI_BROWSER_H_ */
This page took 0.206334 seconds and 5 git commands to generate.