linux/tools/perf/ui/gtk/gtk.h
<<
>>
Prefs
   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
  12struct 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
  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_SUPPORT
  47GtkWidget *perf_gtk__setup_info_bar(void);
  48#else
  49static inline GtkWidget *perf_gtk__setup_info_bar(void)
  50{
  51        return NULL;
  52}
  53#endif
  54
  55struct perf_evsel;
  56struct perf_evlist;
  57struct hist_entry;
  58struct hist_browser_timer;
  59
  60int perf_evlist__gtk_browse_hists(struct perf_evlist *evlist, const char *help,
  61                                  struct hist_browser_timer *hbt,
  62                                  float min_pcnt);
  63int hist_entry__gtk_annotate(struct hist_entry *he,
  64                             struct perf_evsel *evsel,
  65                             struct hist_browser_timer *hbt);
  66void perf_gtk__show_annotations(void);
  67
  68#endif /* _PERF_GTK_H_ */
  69