annotate widgets/Plotter.h @ 232:70b88fbbfb5c

integrate simple equalizer filter
author lbajardsilogic
date Thu, 06 Mar 2008 14:56:40 +0000
parents 7d5d51145b81
children 628531da16ef
rev   line source
benoitrigolleau@211 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
benoitrigolleau@211 2
benoitrigolleau@211 3 /* Sound Access
benoitrigolleau@211 4 EASAIER client application.
benoitrigolleau@211 5 Silogic 2007. Benoit Rigolleau.
benoitrigolleau@211 6
benoitrigolleau@211 7 This program is free software; you can redistribute it and/or
benoitrigolleau@211 8 modify it under the terms of the GNU General Public License as
benoitrigolleau@211 9 published by the Free Software Foundation; either version 2 of the
benoitrigolleau@211 10 License, or (at your option) any later version. See the file
benoitrigolleau@211 11 COPYING included with this distribution for more information.
benoitrigolleau@211 12 */
benoitrigolleau@211 13
benoitrigolleau@211 14
benoitrigolleau@211 15 #ifndef PLOTTER_H
benoitrigolleau@211 16 #define PLOTTER_H
benoitrigolleau@211 17
benoitrigolleau@211 18 #include <QMap>
benoitrigolleau@211 19 #include <QPixmap>
benoitrigolleau@211 20 #include <QVector>
benoitrigolleau@211 21 #include <QWidget>
benoitrigolleau@211 22
benoitrigolleau@211 23
benoitrigolleau@211 24 class Plotter : public QWidget
benoitrigolleau@211 25 {
benoitrigolleau@211 26 Q_OBJECT
benoitrigolleau@211 27
benoitrigolleau@211 28 public:
benoitrigolleau@211 29 Plotter(QWidget *parent = 0);
benoitrigolleau@211 30
benoitrigolleau@211 31 void setCurveData(const QVector<QPoint> &data);
benoitrigolleau@211 32 void clearCurve();
benoitrigolleau@211 33 void setSignalSize(int m_signalWidth, int m_signalHeight);
benoitrigolleau@211 34 void setMargin(int margin);
benoitrigolleau@211 35
lbajardsilogic@229 36 signals:
lbajardsilogic@232 37 void filterChanged(QVector<int>&);
lbajardsilogic@229 38
lbajardsilogic@229 39 public slots:
lbajardsilogic@229 40 void setCurve(float *);
lbajardsilogic@232 41 void setFilter(float *);
lbajardsilogic@232 42
lbajardsilogic@229 43
benoitrigolleau@211 44 protected:
benoitrigolleau@211 45 void paintEvent(QPaintEvent *event);
benoitrigolleau@211 46 void resizeEvent(QResizeEvent *event);
benoitrigolleau@211 47 void mousePressEvent(QMouseEvent *event);
benoitrigolleau@211 48 void mouseMoveEvent(QMouseEvent *event);
benoitrigolleau@211 49 void mouseReleaseEvent(QMouseEvent *event);
benoitrigolleau@211 50
benoitrigolleau@211 51 private:
benoitrigolleau@211 52 void refreshPixmap();
benoitrigolleau@211 53 void drawGrid(QPainter *painter);
benoitrigolleau@211 54 void drawCurve(QPainter *painter);
benoitrigolleau@211 55 void drawMaskCurve(QPainter *painter);
benoitrigolleau@211 56 QVector<QPoint> m_curve;
lbajardsilogic@229 57 QVector<int> m_curveMask;
benoitrigolleau@211 58 QPixmap m_pixmap;
benoitrigolleau@211 59 int m_signalHeight;
benoitrigolleau@211 60 int m_signalWidth;
benoitrigolleau@211 61 int m_margin;
benoitrigolleau@211 62 bool m_curveMaskActive;
benoitrigolleau@211 63 QPoint m_lastPoint;
benoitrigolleau@211 64 };
benoitrigolleau@211 65
benoitrigolleau@211 66
benoitrigolleau@211 67 #endif
benoitrigolleau@211 68