Commit | Line | Data |
---|---|---|
b2441318 | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
c31a9457 PE |
2 | #ifndef _PERF_GTK_H_ |
3 | #define _PERF_GTK_H_ 1 | |
4 | ||
42ab68a3 NK |
5 | #include <stdbool.h> |
6 | ||
c31a9457 PE |
7 | #pragma GCC diagnostic ignored "-Wstrict-prototypes" |
8 | #include <gtk/gtk.h> | |
9 | #pragma GCC diagnostic error "-Wstrict-prototypes" | |
10 | ||
42ab68a3 NK |
11 | |
12 | struct perf_gtk_context { | |
13 | GtkWidget *main_window; | |
7a60ba94 | 14 | GtkWidget *notebook; |
a6b702c1 | 15 | |
89fe808a | 16 | #ifdef HAVE_GTK_INFO_BAR_SUPPORT |
a6b702c1 NK |
17 | GtkWidget *info_bar; |
18 | GtkWidget *message_label; | |
19 | #endif | |
b4418c68 NK |
20 | GtkWidget *statbar; |
21 | guint statbar_ctx_id; | |
42ab68a3 NK |
22 | }; |
23 | ||
fc67297b NK |
24 | int perf_gtk__init(void); |
25 | void perf_gtk__exit(bool wait_for_ok); | |
26 | ||
42ab68a3 NK |
27 | extern struct perf_gtk_context *pgctx; |
28 | ||
29 | static inline bool perf_gtk__is_active_context(struct perf_gtk_context *ctx) | |
30 | { | |
31 | return ctx && ctx->main_window; | |
32 | } | |
33 | ||
34 | struct perf_gtk_context *perf_gtk__activate_context(GtkWidget *window); | |
35 | int perf_gtk__deactivate_context(struct perf_gtk_context **ctx); | |
36 | ||
4bb1646a | 37 | void perf_gtk__init_helpline(void); |
4779a2e9 | 38 | void gtk_ui_progress__init(void); |
12ceaded | 39 | void perf_gtk__init_hpp(void); |
4bb1646a | 40 | |
0da41ce9 NK |
41 | void perf_gtk__signal(int sig); |
42 | void perf_gtk__resize_window(GtkWidget *window); | |
43 | const char *perf_gtk__get_percent_color(double percent); | |
44 | GtkWidget *perf_gtk__setup_statusbar(void); | |
45 | ||
89fe808a | 46 | #ifdef HAVE_GTK_INFO_BAR_SUPPORT |
0da41ce9 NK |
47 | GtkWidget *perf_gtk__setup_info_bar(void); |
48 | #else | |
a6b702c1 NK |
49 | static inline GtkWidget *perf_gtk__setup_info_bar(void) |
50 | { | |
51 | return NULL; | |
52 | } | |
53 | #endif | |
54 | ||
fc67297b NK |
55 | struct perf_evsel; |
56 | struct perf_evlist; | |
57 | struct hist_entry; | |
58 | struct hist_browser_timer; | |
59 | ||
60 | int perf_evlist__gtk_browse_hists(struct perf_evlist *evlist, const char *help, | |
61 | struct hist_browser_timer *hbt, | |
62 | float min_pcnt); | |
63 | int hist_entry__gtk_annotate(struct hist_entry *he, | |
64 | struct perf_evsel *evsel, | |
65 | struct hist_browser_timer *hbt); | |
66 | void perf_gtk__show_annotations(void); | |
67 | ||
c31a9457 | 68 | #endif /* _PERF_GTK_H_ */ |