brintos

brintos / linux-shallow public Read only

0
0
Text · 1.6 KiB · a2b497f Raw
68 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2#ifndef _PERF_GTK_H_3#define _PERF_GTK_H_ 14 5#include <stdbool.h>6 7#pragma GCC diagnostic ignored "-Wstrict-prototypes"8#include <gtk/gtk.h>9#pragma GCC diagnostic error "-Wstrict-prototypes"10 11 12struct perf_gtk_context {13	GtkWidget *main_window;14	GtkWidget *notebook;15 16#ifdef HAVE_GTK_INFO_BAR_SUPPORT17	GtkWidget *info_bar;18	GtkWidget *message_label;19#endif20	GtkWidget *statbar;21	guint statbar_ctx_id;22};23 24int perf_gtk__init(void);25void perf_gtk__exit(bool wait_for_ok);26 27extern struct perf_gtk_context *pgctx;28 29static inline bool perf_gtk__is_active_context(struct perf_gtk_context *ctx)30{31	return ctx && ctx->main_window;32}33 34struct perf_gtk_context *perf_gtk__activate_context(GtkWidget *window);35int perf_gtk__deactivate_context(struct perf_gtk_context **ctx);36 37void perf_gtk__init_helpline(void);38void gtk_ui_progress__init(void);39void perf_gtk__init_hpp(void);40 41void perf_gtk__signal(int sig);42void perf_gtk__resize_window(GtkWidget *window);43const char *perf_gtk__get_percent_color(double percent);44GtkWidget *perf_gtk__setup_statusbar(void);45 46#ifdef HAVE_GTK_INFO_BAR_SUPPORT47GtkWidget *perf_gtk__setup_info_bar(void);48#else49static inline GtkWidget *perf_gtk__setup_info_bar(void)50{51	return NULL;52}53#endif54 55struct evsel;56struct evlist;57struct hist_entry;58struct hist_browser_timer;59 60int evlist__gtk_browse_hists(struct evlist *evlist, const char *help,61			     struct hist_browser_timer *hbt, float min_pcnt);62int hist_entry__gtk_annotate(struct hist_entry *he,63			     struct evsel *evsel,64			     struct hist_browser_timer *hbt);65void perf_gtk__show_annotations(void);66 67#endif /* _PERF_GTK_H_ */68