annotate layer/LogNumericalScale.h @ 1551:e79731086b0f

Fixes to NoteLayer, particularly to calculation of vertical scale when model unit is not Hz. To avoid inconsistency we now behave as if the unit is always Hz from the point of view of the external API and display, converting at the point where we obtain values from the events themselves. Also various fixes to editing.
author Chris Cannam
date Thu, 21 Nov 2019 14:02:57 +0000
parents fc9d9f1103fa
children
rev   line source
Chris@696 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
Chris@696 2
Chris@696 3 /*
Chris@696 4 Sonic Visualiser
Chris@696 5 An audio file viewer and annotation editor.
Chris@696 6 Centre for Digital Music, Queen Mary, University of London.
Chris@1281 7 This file copyright 2006-2018 Chris Cannam and QMUL.
Chris@696 8
Chris@696 9 This program is free software; you can redistribute it and/or
Chris@696 10 modify it under the terms of the GNU General Public License as
Chris@696 11 published by the Free Software Foundation; either version 2 of the
Chris@696 12 License, or (at your option) any later version. See the file
Chris@696 13 COPYING included with this distribution for more information.
Chris@696 14 */
Chris@696 15
Chris@1276 16 #ifndef SV_LOG_NUMERICAL_SCALE_H
Chris@1276 17 #define SV_LOG_NUMERICAL_SCALE_H
Chris@696 18
Chris@696 19 #include <QRect>
Chris@696 20
Chris@696 21 class QPainter;
Chris@918 22 class LayerGeometryProvider;
Chris@696 23 class VerticalScaleLayer;
Chris@696 24
Chris@696 25 class LogNumericalScale
Chris@696 26 {
Chris@696 27 public:
Chris@1281 28 int getWidth(LayerGeometryProvider *v, QPainter &paint);
Chris@696 29
Chris@696 30 void paintVertical
Chris@1276 31 (LayerGeometryProvider *v, const VerticalScaleLayer *layer,
Chris@1276 32 QPainter &paint, int x0, double minlog, double maxlog);
Chris@696 33 };
Chris@696 34
Chris@696 35 #endif
Chris@696 36