Star64_linux/tools/perf/util/ui/browser.h
Arnaldo Carvalho de Melo ef8f34aabf perf ui: Start breaking down newt.c into multiple files
As new TUI features get added the newt.c file is growing a lot and its
name is growing misleading as an effort is being made to reduce the
coupling with libnewt.

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>
2010-08-06 21:50:41 -03:00

43 lines
1.5 KiB
C

#ifndef _PERF_UI_BROWSER_H_
#define _PERF_UI_BROWSER_H_ 1
#include <stdbool.h>
#include <newt.h>
#include "../types.h"
#define HE_COLORSET_TOP 50
#define HE_COLORSET_MEDIUM 51
#define HE_COLORSET_NORMAL 52
#define HE_COLORSET_SELECTED 53
#define HE_COLORSET_CODE 54
struct ui_browser {
newtComponent form, sb;
u64 index, first_visible_entry_idx;
void *first_visible_entry, *entries;
u16 top, left, width, height;
void *priv;
unsigned int (*refresh)(struct ui_browser *self);
void (*write)(struct ui_browser *self, void *entry, int row);
void (*seek)(struct ui_browser *self, off_t offset, int whence);
u32 nr_entries;
};
int ui_browser__percent_color(double percent, bool current);
bool ui_browser__is_current_entry(struct ui_browser *self, unsigned row);
void ui_browser__refresh_dimensions(struct ui_browser *self);
void ui_browser__reset_index(struct ui_browser *self);
int ui_browser__show(struct ui_browser *self, const char *title);
int ui_browser__refresh(struct ui_browser *self);
int ui_browser__run(struct ui_browser *self, struct newtExitStruct *es);
void ui_browser__rb_tree_seek(struct ui_browser *self, off_t offset, int whence);
unsigned int ui_browser__rb_tree_refresh(struct ui_browser *self);
void ui_browser__list_head_seek(struct ui_browser *self, off_t offset, int whence);
unsigned int ui_browser__list_head_refresh(struct ui_browser *self);
void ui_browser__init(void);
#endif /* _PERF_UI_BROWSER_H_ */