Render sample rate overlay into spectrum bitmap

This commit is contained in:
2026-05-22 17:15:29 +03:00
parent ea6e57b8b8
commit 26aa55ddde
3 changed files with 195 additions and 90 deletions
+5 -1
View File
@@ -20,7 +20,7 @@ interface
uses
Classes, SysUtils, Graphics, ExtCtrls, Controls, Math,
IntfGraphics, FPImage, LCLIntf, LCLType, GraphType, AppTheme,
AlertOverlay,
AlertOverlay, SampleRateOverlay,
WaterfallView, SMeterView, RulerView;
const
@@ -69,6 +69,7 @@ type
FTXOverlay: Boolean;
// ── ADC overload overlay ─────────────────────────────────────────────────
FADCOverloadVisible: Boolean;
FSampleRateOverlay: TSampleRateOverlay;
// ── Marker ────────────────────────────────────────────────────────────────
FMarkerActive: Boolean;
FMarkerX: Integer;
@@ -197,6 +198,7 @@ type
property PbWaterfall: TPaintBox write SetPbWaterfall;
property PbRuler: TPaintBox write SetPbRuler;
property PbSMeterRight: TPaintBox write SetPbSMeterRight;
property SampleRateOverlay: TSampleRateOverlay read FSampleRateOverlay write FSampleRateOverlay;
// ── Данные от DSP ─────────────────────────────────────────────────────────
procedure SetSpectrumData(const Pixels: array of Single; Count: Integer);
@@ -914,6 +916,8 @@ begin
if FMarkerActive then DrawMarkerLine(C, W, H);
DrawADCOverloadOverlay(C, W, H);
if Assigned(FSampleRateOverlay) then
FSampleRateOverlay.DrawOverlay(FSpectrumBitmap, C, W, H);
end;
// ────────────────────────────────────────────────────────────────────────────