You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

59 lines
1.5 KiB
C++

/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
* QwtPolar Widget Library
* Copyright (C) 2008 Uwe Rathmann
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the Qwt License, Version 1.0
*****************************************************************************/
#ifndef QWT_POLAR_MAGNIFIER_H
#define QWT_POLAR_MAGNIFIER_H 1
#include "qwt_polar_global.h"
#include "qwt_magnifier.h"
class QwtPolarPlot;
class QwtPolarCanvas;
/*!
\brief QwtPolarMagnifier provides zooming, by magnifying in steps.
Using QwtPlotMagnifier a plot can be zoomed in/out in steps using
keys, the mouse wheel or moving a mouse button in vertical direction.
Together with QwtPolarPanner it is possible to implement
an individual navigation of the plot canvas.
\sa QwtPolarPanner, QwtPolarPlot, QwtPolarCanvas
*/
class QWT_POLAR_EXPORT QwtPolarMagnifier: public QwtMagnifier
{
Q_OBJECT
public:
explicit QwtPolarMagnifier( QwtPolarCanvas * );
virtual ~QwtPolarMagnifier();
void setUnzoomKey( int key, int modifiers );
void getUnzoomKey( int &key, int &modifiers ) const;
QwtPolarPlot *plot();
const QwtPolarPlot *plot() const;
QwtPolarCanvas *canvas();
const QwtPolarCanvas *canvas() const;
protected:
virtual void rescale( double factor );
void unzoom();
virtual void widgetKeyPressEvent( QKeyEvent * );
private:
class PrivateData;
PrivateData *d_data;
};
#endif