Loading...
Searching...
No Matches
qwt_magnifier.h
/******************************************************************************
* Qwt Widget Library
* Copyright (C) 1997 Josef Wilgen
* Copyright (C) 2002 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_MAGNIFIER_H
#define QWT_MAGNIFIER_H
#include "qwt_global.h"
#include <qobject.h>
class QWidget;
class QMouseEvent;
class QWheelEvent;
class QKeyEvent;
class QWT_EXPORT QwtMagnifier : public QObject
{
Q_OBJECT
public:
explicit QwtMagnifier( QWidget* );
virtual ~QwtMagnifier();
QWidget* parentWidget();
const QWidget* parentWidget() const;
void setEnabled( bool );
bool isEnabled() const;
// mouse
void setMouseFactor( double );
double mouseFactor() const;
void setMouseButton( Qt::MouseButton, Qt::KeyboardModifiers = Qt::NoModifier );
void getMouseButton( Qt::MouseButton&, Qt::KeyboardModifiers& ) const;
// mouse wheel
void setWheelFactor( double );
double wheelFactor() const;
void setWheelModifiers( Qt::KeyboardModifiers );
Qt::KeyboardModifiers wheelModifiers() const;
// keyboard
void setKeyFactor( double );
double keyFactor() const;
void setZoomInKey( int key, Qt::KeyboardModifiers = Qt::NoModifier );
void getZoomInKey( int& key, Qt::KeyboardModifiers& ) const;
void setZoomOutKey( int key, Qt::KeyboardModifiers = Qt::NoModifier );
void getZoomOutKey( int& key, Qt::KeyboardModifiers& ) const;
virtual bool eventFilter( QObject*, QEvent* ) QWT_OVERRIDE;
protected:
virtual void rescale( double factor ) = 0;
virtual void widgetMousePressEvent( QMouseEvent* );
virtual void widgetMouseReleaseEvent( QMouseEvent* );
virtual void widgetMouseMoveEvent( QMouseEvent* );
virtual void widgetWheelEvent( QWheelEvent* );
virtual void widgetKeyPressEvent( QKeyEvent* );
virtual void widgetKeyReleaseEvent( QKeyEvent* );
private:
class PrivateData;
PrivateData* m_data;
};
#endif
QwtMagnifier
QwtMagnifier provides zooming, by magnifying in steps.
Definition qwt_magnifier.h:28
QwtMagnifier::rescale
virtual void rescale(double factor)=0