Files
EqualizerAPO/Editor/widgets/FrequencyPlotScene.h
T
jthedering 3d8ef28d1b Added: High DPI support for the Configuration Editor. Icons and proportions should look better now when DPI scaling is used.
Improved: Updated Qt to version 5.7
Fixed: The GUI for the Channel command was showing the wrong channels as selected when channel numbers were used instead of names.
2016-07-09 11:07:21 +00:00

62 lines
1.7 KiB
C++

/*
This file is part of EqualizerAPO, a system-wide equalizer.
Copyright (C) 2015 Jonas Thedering
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#pragma once
#include <vector>
#include <QGraphicsScene>
#include "FrequencyPlotItem.h"
class FrequencyPlotScene : public QGraphicsScene
{
Q_OBJECT
public:
explicit FrequencyPlotScene(QObject* parent = 0);
void addItem(FrequencyPlotItem* item);
double xToHz(double x);
double hzToX(double hz);
double yToDb(double y);
double dbToY(double db);
double getZoomX() const;
double getZoomY() const;
void setZoom(double zoomX, double zoomY);
int getBandCount() const;
virtual void setBandCount(int value);
const std::vector<double>& getBands();
const std::vector<double>& getBands(int count);
protected:
static std::vector<double> bands15;
static std::vector<double> bands31;
static std::vector<double> bandsVar;
private:
void updateSceneRect();
double zoomX;
double zoomY;
int bandCount = -1;
};