xref: /openbmc/linux/tools/perf/ui/gtk/gtk.h (revision 95e9fd10)
1 #ifndef _PERF_GTK_H_
2 #define _PERF_GTK_H_ 1
3 
4 #include <stdbool.h>
5 
6 #pragma GCC diagnostic ignored "-Wstrict-prototypes"
7 #include <gtk/gtk.h>
8 #pragma GCC diagnostic error "-Wstrict-prototypes"
9 
10 
11 struct perf_gtk_context {
12 	GtkWidget *main_window;
13 
14 #ifdef HAVE_GTK_INFO_BAR
15 	GtkWidget *info_bar;
16 	GtkWidget *message_label;
17 #endif
18 	GtkWidget *statbar;
19 	guint statbar_ctx_id;
20 };
21 
22 extern struct perf_gtk_context *pgctx;
23 
24 static inline bool perf_gtk__is_active_context(struct perf_gtk_context *ctx)
25 {
26 	return ctx && ctx->main_window;
27 }
28 
29 struct perf_gtk_context *perf_gtk__activate_context(GtkWidget *window);
30 int perf_gtk__deactivate_context(struct perf_gtk_context **ctx);
31 
32 #ifndef HAVE_GTK_INFO_BAR
33 static inline GtkWidget *perf_gtk__setup_info_bar(void)
34 {
35 	return NULL;
36 }
37 #endif
38 
39 #endif /* _PERF_GTK_H_ */
40