37class WaveformRenderer {
41 bool renderFullScreen(
Sample* sample, uint64_t xScroll, uint64_t xZoom,
43 SampleRecorder* recorder =
nullptr, std::optional<RGB> rgb = std::nullopt,
44 bool reversed =
false, int32_t xEnd = kDisplayWidth);
47 void renderOneCol(
Sample* sample, int32_t xDisplay,
RGB thisImage[][kDisplayWidth + kSideBarWidth],
48 WaveformRenderData* data,
bool reversed =
false, std::optional<RGB> rgb = std::nullopt);
49 void renderOneColForCollapseAnimation(int32_t xDisplay, int32_t xDisplayOutput, int32_t maxPeakFromZero,
50 int32_t progress,
RGB thisImage[][kDisplayWidth + kSideBarWidth],
52 int32_t valueCentrePoint, int32_t valueSpan);
53 void renderOneColForCollapseAnimationZoomedOut(int32_t xDisplayWaveformLeftEdge, int32_t xDisplayWaveformRightEdge,
54 int32_t xDisplayOutput, int32_t maxPeakFromZero, int32_t progress,
55 RGB thisImage[][kDisplayWidth + kSideBarWidth],
57 int32_t valueCentrePoint, int32_t valueSpan);
59 SampleRecorder* recorder =
nullptr, int32_t xStart = 0, int32_t xEnd = kDisplayWidth);
61 int8_t collapseAnimationToWhichRow;
64 int32_t getColBrightnessForSingleRow(int32_t xDisplay, int32_t maxPeakFromZero,
WaveformRenderData* data);
65 void getColBarPositions(int32_t xDisplay,
WaveformRenderData* data, int32_t* min24, int32_t* max24,
66 int32_t valueCentrePoint, int32_t valueSpan);
67 void drawColBar(int32_t xDisplay, int32_t min24, int32_t max24,
RGB thisImage[][kDisplayWidth + kSideBarWidth],
68 int32_t brightness = 128, std::optional<RGB> rgb = std::nullopt);
69 void renderOneColForCollapseAnimationInterpolation(int32_t xDisplayOutput, int32_t min24, int32_t max24,
70 int32_t singleSquareBrightness, int32_t progress,
71 RGB thisImage[][kDisplayWidth + kSideBarWidth],
72 std::optional<RGB> rgb);