display.h

来自「频谱分析仪Frequency Analyzer」· C头文件 代码 · 共 68 行

H
68
字号
#if !defined DISPLAY_H
#define DISPLAY_H

#include "active.h"
#include "fft.h"
#include "smartptrs.h"

class ViewWave;
class ViewFreq;

class Painter: public ActiveObject
{
public:
    Painter (
        HWND hwnd,
        ViewWave& viewWave,
        ViewFreq& viewFreq,
        int samplesPerBuf, 
        int samplesPerSec,
        int fftPoints);

    bool ReInit (
        int samplesPerBuf, 
        int samplesPerSec, 
        int fftPoints,
        int bitsPerSample);

    bool Start ();
    void Stop ();

    int HzToPoint (int hz)
    { 
        Lock lock (_mutex);
        return _pFftTransformer->HzToPoint (hz); 
    }

    int Points () 
    { 
        Lock lock (_mutex);
        return _pFftTransformer->Points (); 
    }

private:
    void InitThread () {}
    void Run ();
    void FlushThread ();

    void LokWaveInData ();

    ViewWave   &_viewWave;
    ViewFreq   &_viewFreq;

    int         _samplesPerBuf;
    int         _samplesPerSecond;
    int         _fftPoints;
    int         _bitsPerSample;

    HWND        _hwnd;

    Mutex       _mutex;
    Event       _event;

    PtrRecorder _pRecorder;
    PtrFft      _pFftTransformer;
};

#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?