// Maintainer: Max Howell // Authors: Mark Kretschmann & Max Howell (C) 2003-4 // Copyright: See COPYING file that comes with this distribution // #ifndef BARANALYZER_H #define BARANALYZER_H #include "analyzerbase.h" typedef std::vector aroofMemVec; class BarAnalyzer : public Analyzer::Base2D { public: BarAnalyzer( TQWidget* ); void init(); virtual void analyze( const Scope& ); //virtual void transform( Scope& ); /** * Resizes the widget to a new geometry according to @p e * @param e The resize-event */ void resizeEvent( TQResizeEvent * e); uint BAND_COUNT; int MAX_DOWN; int MAX_UP; static const uint ROOF_HOLD_TIME = 48; static const int ROOF_VELOCITY_REDUCTION_FACTOR = 32; static const uint NUM_ROOFS = 16; static const uint COLUMN_WIDTH = 4; protected: TQPixmap m_pixRoof[NUM_ROOFS]; //vector m_roofMem[BAND_COUNT]; //Scope m_bands; //copy of the Scope to prevent creating/destroying a Scope every iteration uint m_lvlMapper[256]; std::vector m_roofMem; std::vector barVector; //positions of bars std::vector roofVector; //positions of roofs std::vector roofVelocityVector; //speed that roofs falls const TQPixmap *gradient() const { return &m_pixBarGradient; } private: TQPixmap m_pixBarGradient; TQPixmap m_pixCompose; Scope m_scope; //so we don't create a vector every frame TQColor m_bg; }; #endif