annotate data/model/RelativelyFineZoomConstraint.h @ 1552:05c3fbaec8ea

Introduce RelativelyFineZoomConstraint, which encodes more-or-less the scheme that was already used for the horizontal thumbwheel in the pane (which overrode the layers' own zoom constraints unless they said they couldn't support any other)
author Chris Cannam
date Wed, 10 Oct 2018 14:32:34 +0100
parents
children
rev   line source
Chris@1552 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
Chris@1552 2
Chris@1552 3 /*
Chris@1552 4 Sonic Visualiser
Chris@1552 5 An audio file viewer and annotation editor.
Chris@1552 6 Centre for Digital Music, Queen Mary, University of London.
Chris@1552 7
Chris@1552 8 This program is free software; you can redistribute it and/or
Chris@1552 9 modify it under the terms of the GNU General Public License as
Chris@1552 10 published by the Free Software Foundation; either version 2 of the
Chris@1552 11 License, or (at your option) any later version. See the file
Chris@1552 12 COPYING included with this distribution for more information.
Chris@1552 13 */
Chris@1552 14
Chris@1552 15 #ifndef SV_RELATIVELY_FINE_ZOOM_CONSTRAINT_H
Chris@1552 16 #define SV_RELATIVELY_FINE_ZOOM_CONSTRAINT_H
Chris@1552 17
Chris@1552 18 #include "base/ZoomConstraint.h"
Chris@1552 19
Chris@1552 20 class RelativelyFineZoomConstraint : virtual public ZoomConstraint
Chris@1552 21 {
Chris@1552 22 public:
Chris@1552 23 virtual ZoomLevel getNearestZoomLevel(ZoomLevel requested,
Chris@1552 24 RoundingDirection dir = RoundNearest)
Chris@1552 25 const override;
Chris@1552 26 };
Chris@1552 27
Chris@1552 28 #endif
Chris@1552 29