Draw grid lines on widget
This commit is contained in:
@@ -44,6 +44,7 @@ EqParameterWidget::EqParameterWidget( QWidget *parent ) :
|
||||
m_pixelsPerUnitHeight = (height() - 4) / ( totalHeight );
|
||||
m_scale = 1.5;
|
||||
m_pixelsPerOctave = freqToXPixel( 10000 ) - freqToXPixel( 5000 );
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -59,9 +60,27 @@ EqParameterWidget::~EqParameterWidget()
|
||||
|
||||
void EqParameterWidget::paintEvent( QPaintEvent *event )
|
||||
{
|
||||
QPainter painter( this );
|
||||
QPainter painter( this );
|
||||
//Draw Frequecy maker lines
|
||||
painter.setPen( QPen( QColor( 100, 100, 100, 200 ), 1, Qt::SolidLine, Qt::RoundCap, Qt::BevelJoin ) );
|
||||
for( int x = 20 ; x < 100; x += 10)
|
||||
{
|
||||
painter.drawLine( freqToXPixel( x ) , 0, freqToXPixel( x ) , height() );
|
||||
}
|
||||
for( int x = 100 ; x < 1000; x += 100)
|
||||
{
|
||||
painter.drawLine( freqToXPixel( x ) , 0, freqToXPixel( x ) , height() );
|
||||
}
|
||||
for( int x = 1000 ; x < 11000; x += 1000)
|
||||
{
|
||||
painter.drawLine( freqToXPixel( x ) , 0, freqToXPixel( x ) , height() );
|
||||
}
|
||||
//draw 0dB line
|
||||
painter.drawLine(0, gainToYPixel( 0 ) , width(), gainToYPixel( 0 ) );
|
||||
|
||||
for( int i = 0 ; i < bandCount() ; i++ )
|
||||
{
|
||||
|
||||
m_bands[i].color.setAlpha(m_bands[i].active->value() ? activeAplha() : inactiveAlpha());
|
||||
painter.setPen( QPen( m_bands[i].color, 10, Qt::SolidLine, Qt::RoundCap, Qt::BevelJoin ) );
|
||||
float x = freqToXPixel( m_bands[i].freq->value() );
|
||||
@@ -71,11 +90,11 @@ void EqParameterWidget::paintEvent( QPaintEvent *event )
|
||||
{
|
||||
gain = m_bands[i].gain->value();
|
||||
}
|
||||
y = gainToYPixel( gain ) + 3;
|
||||
y = gainToYPixel( gain );
|
||||
float bw = m_bands[i].freq->value() / m_bands[i].res->value();
|
||||
m_bands[i].x = x; m_bands[i].y = y;
|
||||
painter.drawPoint( x, y );
|
||||
painter.setPen( QPen( m_bands[i].color, 3, Qt::SolidLine, Qt::RoundCap, Qt::BevelJoin ) );
|
||||
painter.setPen( QPen( m_bands[i].color, 3, Qt::SolidLine, Qt::SquareCap, Qt::BevelJoin ) );
|
||||
if(i == 0 || i == bandCount() - 1 ){
|
||||
painter.drawLine(x, y, x, y - (m_bands[i].res->value() * 4 ) );
|
||||
}
|
||||
|
||||
@@ -122,6 +122,8 @@ private:
|
||||
|
||||
enum MouseAction { none, drag, res } m_mouseAction;
|
||||
int m_oldX, m_oldY;
|
||||
int *m_xGridBands;
|
||||
|
||||
|
||||
inline int freqToXPixel( float freq )
|
||||
{
|
||||
|
||||
@@ -63,9 +63,15 @@ public:
|
||||
int m_lastY;
|
||||
virtual void paintEvent( QPaintEvent* event )
|
||||
{
|
||||
const int fh = height();
|
||||
const int LOWER_Y = -96; // dB
|
||||
int m_lastY = height();
|
||||
QPainter p( this );
|
||||
p.setPen( QPen( color, 1, Qt::SolidLine, Qt::RoundCap, Qt::BevelJoin ) );
|
||||
//draw grid lines
|
||||
int y33 = (int)( fh * 2.0 / 3.0 * (20*(log10( 0.33 ) ) - LOWER_Y ) / (-LOWER_Y ) );
|
||||
p.drawLine(0, y33, width(), y33);
|
||||
|
||||
const float e = m_sa->m_energy;
|
||||
if( e <= 0 )
|
||||
{
|
||||
@@ -73,9 +79,7 @@ public:
|
||||
return;
|
||||
}
|
||||
float * b = m_sa->m_bands;
|
||||
const int LOWER_Y = -60; // dB
|
||||
int h;
|
||||
const int fh = height();
|
||||
bool linX = true;
|
||||
if( linX )
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user