#pragma once #include #include #include #include "../Screen.hpp" #include "Signal.hpp" typedef struct { double x, y, w, h; } fRect; class PlotScreen : public Screen { public: PlotScreen(SDL_Renderer* renderer, Signal* dataSource, int x, int y, int w, int h, double minX, double minY, double maxX, double maxY); ~PlotScreen(); void Update() override; void Render(SDL_Renderer* renderer) override; private: void SignalToSampleList(std::vector& container, uint32_t maxSamples = 0); void SampleListToPointList(const std::vector& source, std::vector& container); fRect plotRect; Signal* dataSource; };