1e7b3ba6dSNamhyung Kim #ifndef _PERF_GTK_H_ 2e7b3ba6dSNamhyung Kim #define _PERF_GTK_H_ 1 3e7b3ba6dSNamhyung Kim 442ab68a3SNamhyung Kim #include <stdbool.h> 542ab68a3SNamhyung Kim 6e7b3ba6dSNamhyung Kim #pragma GCC diagnostic ignored "-Wstrict-prototypes" 7e7b3ba6dSNamhyung Kim #include <gtk/gtk.h> 8e7b3ba6dSNamhyung Kim #pragma GCC diagnostic error "-Wstrict-prototypes" 9e7b3ba6dSNamhyung Kim 1042ab68a3SNamhyung Kim 1142ab68a3SNamhyung Kim struct perf_gtk_context { 1242ab68a3SNamhyung Kim GtkWidget *main_window; 13a6b702c1SNamhyung Kim 14a6b702c1SNamhyung Kim #ifdef HAVE_GTK_INFO_BAR 15a6b702c1SNamhyung Kim GtkWidget *info_bar; 16a6b702c1SNamhyung Kim GtkWidget *message_label; 17a6b702c1SNamhyung Kim #endif 18b4418c68SNamhyung Kim GtkWidget *statbar; 19b4418c68SNamhyung Kim guint statbar_ctx_id; 2042ab68a3SNamhyung Kim }; 2142ab68a3SNamhyung Kim 2242ab68a3SNamhyung Kim extern struct perf_gtk_context *pgctx; 2342ab68a3SNamhyung Kim 2442ab68a3SNamhyung Kim static inline bool perf_gtk__is_active_context(struct perf_gtk_context *ctx) 2542ab68a3SNamhyung Kim { 2642ab68a3SNamhyung Kim return ctx && ctx->main_window; 2742ab68a3SNamhyung Kim } 2842ab68a3SNamhyung Kim 2942ab68a3SNamhyung Kim struct perf_gtk_context *perf_gtk__activate_context(GtkWidget *window); 3042ab68a3SNamhyung Kim int perf_gtk__deactivate_context(struct perf_gtk_context **ctx); 3142ab68a3SNamhyung Kim 324bb1646aSNamhyung Kim void perf_gtk__init_helpline(void); 33a753579cSNamhyung Kim void perf_gtk__init_progress(void); 3412ceadedSNamhyung Kim void perf_gtk__init_hpp(void); 354bb1646aSNamhyung Kim 36a6b702c1SNamhyung Kim #ifndef HAVE_GTK_INFO_BAR 37a6b702c1SNamhyung Kim static inline GtkWidget *perf_gtk__setup_info_bar(void) 38a6b702c1SNamhyung Kim { 39a6b702c1SNamhyung Kim return NULL; 40a6b702c1SNamhyung Kim } 41a6b702c1SNamhyung Kim #endif 42a6b702c1SNamhyung Kim 43e7b3ba6dSNamhyung Kim #endif /* _PERF_GTK_H_ */ 44