annotate layer/ColourMapper.h @ 536:aca01b3af29f

* Add High Gain colour map
author Chris Cannam
date Fri, 22 May 2009 15:50:10 +0000
parents e1a9e478b7f2
children a1226b3b7925
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@376 32 ColourMapper(int map, float minValue, float 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@376 51 float getMinValue() const { return m_min; }
Chris@376 52 float 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@376 57 QColor map(float 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@376 64 float m_min;
Chris@376 65 float m_max;
Chris@376 66 };
Chris@376 67
Chris@376 68 #endif
Chris@376 69