annotate layer/ColourMapper.h @ 959:2633a1d73e39

Address #1214, layer import produces wrong layer type. We needed a more principled approach to making sure the format gets updated properly and the dialog elements are consistent (basically separating making the dialog elements consistent from subsequently updating the format). This change should provide that, though there may be gotchas still.
author Chris Cannam
date Tue, 12 May 2015 12:31:37 +0100
parents a1226b3b7925
children 2a85ab180d08
rev   line source
Chris@376 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
Chris@376 2
Chris@376 3 /*
Chris@376 4 Sonic Visualiser
Chris@376 5 An audio file viewer and annotation editor.
Chris@376 6 Centre for Digital Music, Queen Mary, University of London.
Chris@376 7 This file copyright 2006-2007 Chris Cannam and QMUL.
Chris@376 8
Chris@376 9 This program is free software; you can redistribute it and/or
Chris@376 10 modify it under the terms of the GNU General Public License as
Chris@376 11 published by the Free Software Foundation; either version 2 of the
Chris@376 12 License, or (at your option) any later version. See the file
Chris@376 13 COPYING included with this distribution for more information.
Chris@376 14 */
Chris@376 15
Chris@376 16 #ifndef _COLOUR_MAPPER_H_
Chris@376 17 #define _COLOUR_MAPPER_H_
Chris@376 18
Chris@376 19 #include <QObject>
Chris@376 20 #include <QColor>
Chris@376 21 #include <QString>
Chris@376 22
Chris@376 23 /**
Chris@376 24 * A class for mapping intensity values onto various colour maps.
Chris@376 25 */
Chris@376 26
Chris@376 27 class ColourMapper : public QObject
Chris@376 28 {
Chris@376 29 Q_OBJECT
Chris@376 30
Chris@376 31 public:
Chris@902 32 ColourMapper(int map, double minValue, double maxValue);
Chris@376 33 virtual ~ColourMapper();
Chris@376 34
Chris@376 35 enum StandardMap {
Chris@376 36 DefaultColours,
Chris@376 37 Sunset,
Chris@376 38 WhiteOnBlack,
Chris@376 39 BlackOnWhite,
Chris@376 40 RedOnBlue,
Chris@376 41 YellowOnBlack,
Chris@376 42 BlueOnBlack,
Chris@376 43 FruitSalad,
Chris@376 44 Banded,
Chris@376 45 Highlight,
Chris@536 46 Printer,
Chris@536 47 HighGain
Chris@376 48 };
Chris@376 49
Chris@376 50 int getMap() const { return m_map; }
Chris@902 51 double getMinValue() const { return m_min; }
Chris@902 52 double getMaxValue() const { return m_max; }
Chris@376 53
Chris@376 54 static int getColourMapCount();
Chris@376 55 static QString getColourMapName(int n);
Chris@376 56
Chris@902 57 QColor map(double value) const;
Chris@376 58
Chris@376 59 QColor getContrastingColour() const; // for cursors etc
Chris@376 60 bool hasLightBackground() const;
Chris@376 61
Chris@376 62 protected:
Chris@376 63 int m_map;
Chris@902 64 double m_min;
Chris@902 65 double m_max;
Chris@376 66 };
Chris@376 67
Chris@376 68 #endif
Chris@376 69