annotate widgets/LevelPanToolButton.h @ 932:37bb4b416c52 tonioni

Render direct to widget (necessary to avoid pixel doubling on OS/X)
author Chris Cannam
date Wed, 25 Mar 2015 11:27:46 +0000
parents 86df7de08e03
children 9022635c615a
rev   line source
Chris@929 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
Chris@929 2
Chris@929 3 /*
Chris@929 4 Sonic Visualiser
Chris@929 5 An audio file viewer and annotation editor.
Chris@929 6 Centre for Digital Music, Queen Mary, University of London.
Chris@929 7
Chris@929 8 This program is free software; you can redistribute it and/or
Chris@929 9 modify it under the terms of the GNU General Public License as
Chris@929 10 published by the Free Software Foundation; either version 2 of the
Chris@929 11 License, or (at your option) any later version. See the file
Chris@929 12 COPYING included with this distribution for more information.
Chris@929 13 */
Chris@929 14
Chris@929 15 #ifndef LEVEL_PAN_TOOLBUTTON_H
Chris@929 16 #define LEVEL_PAN_TOOLBUTTON_H
Chris@929 17
Chris@929 18 #include <QToolButton>
Chris@929 19
Chris@929 20 class LevelPanWidget;
Chris@929 21
Chris@929 22 class LevelPanToolButton : public QToolButton
Chris@929 23 {
Chris@929 24 Q_OBJECT
Chris@929 25
Chris@929 26 public:
Chris@929 27 LevelPanToolButton(QWidget *parent = 0);
Chris@929 28 ~LevelPanToolButton();
Chris@929 29
Chris@929 30 /// Return level as a gain value in the range [0,1]
Chris@929 31 float getLevel() const;
Chris@929 32
Chris@929 33 /// Return pan as a value in the range [-1,1]
Chris@929 34 float getPan() const;
Chris@929 35
Chris@929 36 void setImageSize(int pixels);
Chris@929 37
Chris@929 38 public slots:
Chris@929 39 /// Set level in the range [0,1] -- will be rounded
Chris@929 40 void setLevel(float);
Chris@929 41
Chris@929 42 /// Set pan in the range [-1,1] -- will be rounded
Chris@929 43 void setPan(float);
Chris@929 44
Chris@929 45 signals:
Chris@929 46 void levelChanged(float);
Chris@929 47 void panChanged(float);
Chris@929 48
Chris@930 49 private slots:
Chris@930 50 void selfLevelChanged(float);
Chris@930 51 void selfClicked();
Chris@930 52
Chris@929 53 protected:
Chris@932 54 void paintEvent(QPaintEvent *);
Chris@932 55
Chris@929 56 LevelPanWidget *m_lpw;
Chris@929 57 int m_pixels;
Chris@930 58 bool m_muted;
Chris@930 59 float m_savedLevel;
Chris@929 60 };
Chris@929 61
Chris@929 62 #endif