Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
data_display.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <cstddef>
4#include <memory>
5#include <optional>
7#include <pulp/view/view.hpp>
8#include <string>
9#include <string_view>
10#include <vector>
11
12namespace pulp::view {
21
25 public:
27 virtual ~LevelDisplay();
28 virtual void set_levels(float primary, float secondary) = 0;
32 virtual void set_level_fill(std::optional<canvas::Color> background,
33 std::vector<canvas::Color> gradient) = 0;
34 virtual void clear_level_fill() = 0;
35 virtual void set_level_bar_ratio(float ratio) = 0;
37};
38
40 public:
41 virtual ~SeriesDisplay();
42 virtual void set_series(const float* values, std::size_t count) = 0;
44 virtual void set_series_preview(std::string_view token) = 0;
45};
46
48 public:
49 virtual ~BinDisplay();
51 virtual void set_bins(const float* values, std::size_t count) = 0;
52};
53
55 std::string id;
56 std::string class_name;
57 std::string header;
58};
59
60using DataDisplayFactory = std::unique_ptr<View> (*)();
61
63 std::string id;
65 std::vector<DataDisplayCatalogRow> catalog_rows;
66};
67
69bool has_data_display(std::string_view id);
70std::unique_ptr<View> make_data_display(std::string_view id);
73
74} // namespace pulp::view
Definition data_display.hpp:47
virtual void set_bins(const float *values, std::size_t count)=0
Values use the producer's convention for units.
Generic level, series and bin display seams owned by view-core.
Definition data_display.hpp:24
virtual void set_level_bar_ratio(float ratio)=0
virtual void set_levels(float primary, float secondary)=0
virtual void set_level_render_style(WidgetRenderStyle)=0
virtual void clear_level_fill()=0
Orientation
Definition data_display.hpp:26
@ horizontal
Definition data_display.hpp:26
@ vertical
Definition data_display.hpp:26
virtual void set_level_orientation(Orientation)=0
virtual void set_level_fill(std::optional< canvas::Color > background, std::vector< canvas::Color > gradient)=0
Installs a fill gradient (stops low to high).
Definition data_display.hpp:39
virtual void set_series(const float *values, std::size_t count)=0
virtual void set_series_preview(std::string_view token)=0
Opaque design-time preview token; the vocabulary belongs to the provider.
Hover-cursor tracking for platform window hosts.
Definition fwd.hpp:27
void clear_data_displays()
std::size_t data_display_registration_count()
bool has_data_display(std::string_view id)
std::unique_ptr< View >(*)() DataDisplayFactory
Definition data_display.hpp:60
void register_data_display(DataDisplayRegistration registration)
WidgetRenderStyle
Rendering style for widgets.
Definition data_display.hpp:20
@ silver
Definition data_display.hpp:20
@ standard
Definition data_display.hpp:20
@ minimal
Definition data_display.hpp:20
std::unique_ptr< View > make_data_display(std::string_view id)
Definition data_display.hpp:54
std::string id
Definition data_display.hpp:55
std::string class_name
Definition data_display.hpp:56
std::string header
Definition data_display.hpp:57
Definition data_display.hpp:62
DataDisplayFactory make
Definition data_display.hpp:64
std::string id
Definition data_display.hpp:63
std::vector< DataDisplayCatalogRow > catalog_rows
Definition data_display.hpp:65