annotate layer/VerticalScaleLayer.h @ 698:ad7623c39396

Pull out log and linear vertical scales into their own classes, make some improvements to log numbering
author Chris Cannam
date Wed, 04 Dec 2013 11:35:08 +0000
parents
children 084f65094203
rev   line source
Chris@698 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
Chris@698 2
Chris@698 3 /*
Chris@698 4 Sonic Visualiser
Chris@698 5 An audio file viewer and annotation editor.
Chris@698 6 Centre for Digital Music, Queen Mary, University of London.
Chris@698 7 This file copyright 2006-2013 Chris Cannam and QMUL.
Chris@698 8
Chris@698 9 This program is free software; you can redistribute it and/or
Chris@698 10 modify it under the terms of the GNU General Public License as
Chris@698 11 published by the Free Software Foundation; either version 2 of the
Chris@698 12 License, or (at your option) any later version. See the file
Chris@698 13 COPYING included with this distribution for more information.
Chris@698 14 */
Chris@698 15
Chris@698 16 #ifndef VERTICAL_SCALE_LAYER_H
Chris@698 17 #define VERTICAL_SCALE_LAYER_H
Chris@698 18
Chris@698 19 class VerticalScaleLayer
Chris@698 20 {
Chris@698 21 public:
Chris@698 22 virtual void getScaleExtents(View *, float &min, float &max, bool &log) const = 0;
Chris@698 23 virtual int getYForValue(View *, float value) const = 0;
Chris@698 24 virtual float getValueForY(View *, int y) const = 0;
Chris@698 25 virtual QString getScaleUnits() const = 0;
Chris@698 26 };
Chris@698 27
Chris@698 28 #endif
Chris@698 29