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 GtkWidget *notebook; 14 15 #ifdef HAVE_GTK_INFO_BAR_SUPPORT 16 GtkWidget *info_bar; 17 GtkWidget *message_label; 18 #endif 19 GtkWidget *statbar; 20 guint statbar_ctx_id; 21 }; 22 23 int perf_gtk__init(void); 24 void perf_gtk__exit(bool wait_for_ok); 25 26 extern struct perf_gtk_context *pgctx; 27 perf_gtk__is_active_context(struct perf_gtk_context * ctx)28static inline bool perf_gtk__is_active_context(struct perf_gtk_context *ctx) 29 { 30 return ctx && ctx->main_window; 31 } 32 33 struct perf_gtk_context *perf_gtk__activate_context(GtkWidget *window); 34 int perf_gtk__deactivate_context(struct perf_gtk_context **ctx); 35 36 void perf_gtk__init_helpline(void); 37 void gtk_ui_progress__init(void); 38 void perf_gtk__init_hpp(void); 39 40 void perf_gtk__signal(int sig); 41 void perf_gtk__resize_window(GtkWidget *window); 42 const char *perf_gtk__get_percent_color(double percent); 43 GtkWidget *perf_gtk__setup_statusbar(void); 44 45 #ifdef HAVE_GTK_INFO_BAR_SUPPORT 46 GtkWidget *perf_gtk__setup_info_bar(void); 47 #else perf_gtk__setup_info_bar(void)48static inline GtkWidget *perf_gtk__setup_info_bar(void) 49 { 50 return NULL; 51 } 52 #endif 53 54 struct perf_evsel; 55 struct perf_evlist; 56 struct hist_entry; 57 struct hist_browser_timer; 58 59 int perf_evlist__gtk_browse_hists(struct perf_evlist *evlist, const char *help, 60 struct hist_browser_timer *hbt, 61 float min_pcnt); 62 int hist_entry__gtk_annotate(struct hist_entry *he, 63 struct perf_evsel *evsel, 64 struct hist_browser_timer *hbt); 65 void perf_gtk__show_annotations(void); 66 67 #endif /* _PERF_GTK_H_ */ 68