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 16 GtkWidget *info_bar; 17 GtkWidget *message_label; 18 #endif 19 GtkWidget *statbar; 20 guint statbar_ctx_id; 21 }; 22 23 extern struct perf_gtk_context *pgctx; 24 25 static inline bool perf_gtk__is_active_context(struct perf_gtk_context *ctx) 26 { 27 return ctx && ctx->main_window; 28 } 29 30 struct perf_gtk_context *perf_gtk__activate_context(GtkWidget *window); 31 int perf_gtk__deactivate_context(struct perf_gtk_context **ctx); 32 33 void perf_gtk__init_helpline(void); 34 void perf_gtk__init_progress(void); 35 void perf_gtk__init_hpp(void); 36 37 void perf_gtk__signal(int sig); 38 void perf_gtk__resize_window(GtkWidget *window); 39 const char *perf_gtk__get_percent_color(double percent); 40 GtkWidget *perf_gtk__setup_statusbar(void); 41 42 #ifdef HAVE_GTK_INFO_BAR 43 GtkWidget *perf_gtk__setup_info_bar(void); 44 #else 45 static inline GtkWidget *perf_gtk__setup_info_bar(void) 46 { 47 return NULL; 48 } 49 #endif 50 51 #endif /* _PERF_GTK_H_ */ 52