Files
@ 81bc58c2b941
Branch filter:
Location: tempo-plotter/src/zoomer.h - annotation
81bc58c2b941
1.8 KiB
text/plain
find values from tracker x position, no drawing yet
bdc33b5c53c6 81bc58c2b941 bdc33b5c53c6 bdc33b5c53c6 bdc33b5c53c6 bdc33b5c53c6 bdc33b5c53c6 bdc33b5c53c6 bdc33b5c53c6 bdc33b5c53c6 bdc33b5c53c6 bdc33b5c53c6 bdc33b5c53c6 bdc33b5c53c6 bdc33b5c53c6 bdc33b5c53c6 bdc33b5c53c6 bdc33b5c53c6 bdc33b5c53c6 bdc33b5c53c6 bdc33b5c53c6 bdc33b5c53c6 81bc58c2b941 81bc58c2b941 81bc58c2b941 81bc58c2b941 bdc33b5c53c6 1e848e98efb7 bdc33b5c53c6 bdc33b5c53c6 bdc33b5c53c6 bdc33b5c53c6 81bc58c2b941 bdc33b5c53c6 81bc58c2b941 bdc33b5c53c6 bdc33b5c53c6 bdc33b5c53c6 d4a271f3d46a d4a271f3d46a d4a271f3d46a d4a271f3d46a 754420135f22 754420135f22 81bc58c2b941 81bc58c2b941 754420135f22 754420135f22 c9d4060942ac c9d4060942ac c9d4060942ac c9d4060942ac c9d4060942ac c9d4060942ac c9d4060942ac c9d4060942ac c9d4060942ac c9d4060942ac 81bc58c2b941 81bc58c2b941 81bc58c2b941 bdc33b5c53c6 bdc33b5c53c6 bdc33b5c53c6 | /*
Copyright © 2018 Hasan Yavuz Özderya
This file is part of serialplot.
serialplot is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
serialplot is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with serialplot. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef ZOOMER_H
#define ZOOMER_H
#include <QVector>
#include "scrollzoomer.h"
#include "stream.h"
class Zoomer : public ScrollZoomer
{
Q_OBJECT
public:
Zoomer(QWidget*, const Stream* stream, bool doReplot=true);
void zoom(int up);
void zoom(const QRectF&);
signals:
void unzoomed();
protected:
/// Re-implemented to display selection size in the tracker text.
QwtText trackerTextF(const QPointF &pos) const;
/// Re-implemented for alpha background
void drawRubberBand(QPainter* painter) const;
/// Re-implemented to draw sample values
void drawTracker(QPainter* painter) const;
/// Re-implemented for alpha background (masking is basically disabled)
QRegion rubberBandMask() const;
/// Overloaded for panning
void widgetMousePressEvent(QMouseEvent* mouseEvent);
/// Overloaded for panning
void widgetMouseReleaseEvent(QMouseEvent* mouseEvent);
/// Overloaded for panning
void widgetMouseMoveEvent(QMouseEvent* mouseEvent);
private:
bool is_panning;
QPointF pan_point;
const Stream* _stream;
QVector<double> findValues(double x) const;
};
#endif // ZOOMER_H
|