annotate layer/ColourMapper.h @ 399:80c7dd3c8dce

* Add audio device selection to preferences * Add (not yet functional) insert, delete, edit buttons to data edit window * Add proper set methods for time fields in data edit window (using general sparse model base class)
author Chris Cannam
date Fri, 13 Jun 2008 21:09:43 +0000
parents e1a9e478b7f2
children aca01b3af29f
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@376 46 Printer
Chris@376 47 };
Chris@376 48
Chris@376 49 int getMap() const { return m_map; }
Chris@376 50 float getMinValue() const { return m_min; }
Chris@376 51 float getMaxValue() const { return m_max; }
Chris@376 52
Chris@376 53 static int getColourMapCount();
Chris@376 54 static QString getColourMapName(int n);
Chris@376 55
Chris@376 56 QColor map(float value) const;
Chris@376 57
Chris@376 58 QColor getContrastingColour() const; // for cursors etc
Chris@376 59 bool hasLightBackground() const;
Chris@376 60
Chris@376 61 protected:
Chris@376 62 int m_map;
Chris@376 63 float m_min;
Chris@376 64 float m_max;
Chris@376 65 };
Chris@376 66
Chris@376 67 #endif
Chris@376 68