35#ifndef WaveformGroup_h
36#define WaveformGroup_h
53 void ReferenceWaveformTextures();
55 void RenderWaveformTextures(
56 vk::raii::CommandBuffer& cmdbuf,
57 std::vector<std::shared_ptr<DisplayedChannel> >& channels,
58 bool clearPersistence);
60 const std::string GetID()
63 const std::string GetRawID()
66 const std::string& GetTitle()
69 void AddArea(std::shared_ptr<WaveformArea>& area);
72 void OnZoomOutHorizontal(int64_t target,
float step);
73 void OnPanHorizontal(
float step);
111 float GetPixelsPerXUnit()
114 int64_t GetXAxisOffset()
119 float GetYAxisWidth()
120 {
return 6 * ImGui::GetFontSize() * ImGui::GetWindowDpiScale(); }
123 {
return ImGui::GetFrameHeightWithSpacing() - ImGui::GetFrameHeight(); }
128 std::lock_guard<std::mutex> lock(m_areaMutex);
133 bool LoadConfiguration(
const YAML::Node& node);
134 YAML::Node SerializeConfiguration(
IDTable& table);
136 bool IsDraggingTrigger()
140 void RenderTimeline(
float width,
float height);
146 void TitleHoverHelp();
156 DRAG_STATE_X_CURSOR0,
157 DRAG_STATE_X_CURSOR1,
162 void DoCursor(
int iCursor, DragState state);
192 std::vector< std::shared_ptr<WaveformArea> >
m_areas;
195 std::mutex m_areaMutex;
Bidirectional table mapping integer IDs in scopesession files to object pointers.
Definition: IDTable.h:49
Top level application window.
Definition: MainWindow.h:115
Data for a marker.
Definition: Marker.h:84
A single channel on an oscilloscope.
Definition: OscilloscopeChannel.h:49
Descriptor for a single stream coming off a channel.
Definition: StreamDescriptor.h:46
A unit of measurement, plus conversion to pretty-printed output.
Definition: Unit.h:57