summaryrefslogtreecommitdiffstats
path: root/src/spectro_source.hh
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/spectro_source.hh22
1 files changed, 15 insertions, 7 deletions
diff --git a/src/spectro_source.hh b/src/spectro_source.hh
index c337ef1..d861b5b 100644
--- a/src/spectro_source.hh
+++ b/src/spectro_source.hh
@@ -117,7 +117,8 @@ class spectrogram_source
: public text_sub_source
, public text_time_translator
, public list_overlay_source
- , public list_input_delegate {
+ , public list_input_delegate
+ , public text_delegate {
public:
~spectrogram_source() override = default;
@@ -130,11 +131,18 @@ public:
bool list_input_handle_key(listview_curses& lv, int ch) override;
- bool list_value_for_overlay(const listview_curses& lv,
- int y,
- int bottom,
+ bool text_handle_mouse(textview_curses& tc,
+ const listview_curses::display_line_content_t&,
+ mouse_event& me) override;
+
+ bool list_static_overlay(const listview_curses& lv,
+ int y,
+ int bottom,
+ attr_line_t& value_out) override;
+
+ void list_value_for_overlay(const listview_curses& lv,
vis_line_t row,
- attr_line_t& value_out) override;
+ std::vector<attr_line_t>& value_out) override;
size_t text_line_count() override;
@@ -151,7 +159,7 @@ public:
void text_selection_changed(textview_curses& tc) override;
- nonstd::optional<struct timeval> time_for_row(vis_line_t row) override;
+ nonstd::optional<row_info> time_for_row(vis_line_t row) override;
nonstd::optional<vis_line_t> row_for_time(
struct timeval time_bucket) override;
@@ -167,7 +175,7 @@ public:
void cache_bounds();
- nonstd::optional<struct timeval> time_for_row_int(vis_line_t row);
+ nonstd::optional<row_info> time_for_row_int(vis_line_t row);
const spectrogram_row& load_row(const listview_curses& lv, int row);