36 lines
776 B
C++
36 lines
776 B
C++
#ifndef MAPTOOLSPECTRAL_H
|
|
#define MAPTOOLSPECTRAL_H
|
|
|
|
#include "MapTool.h"
|
|
#include <QVector>
|
|
|
|
class QGraphicsLineItem;
|
|
|
|
class MapToolSpectral : public MapTool
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
MapToolSpectral(QObject* parent = nullptr);
|
|
~MapToolSpectral();
|
|
|
|
void canvasMousePressEvent(QMouseEvent* e) override;
|
|
|
|
void activate() override;
|
|
void deactivate() override;
|
|
|
|
signals:
|
|
void spectralClicked(int x, int y, QVector<double> wavelengths, QVector<double> spectrum);
|
|
|
|
private:
|
|
void updateCrosshair(double sceneX, double sceneY);
|
|
void removeCrosshair();
|
|
|
|
QGraphicsLineItem* m_hLine = nullptr; // horizontal line
|
|
QGraphicsLineItem* m_vLine = nullptr; // vertical line
|
|
|
|
static const double CrosshairHalfLen;
|
|
};
|
|
|
|
#endif // MAPTOOLSPECTRAL_H
|