xref: /linux/tools/perf/ui/gtk/gtk.h (revision e29371d762df5bb35d2bc434ea266a046e5a0a75)
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 void perf_gtk__init_helpline(void);
33 void perf_gtk__init_progress(void);
34 void perf_gtk__init_hpp(void);
35 
36 #ifndef HAVE_GTK_INFO_BAR
37 static inline GtkWidget *perf_gtk__setup_info_bar(void)
38 {
39 	return NULL;
40 }
41 #endif
42 
43 #endif /* _PERF_GTK_H_ */
44