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