mirror of https://github.com/qt/qtgraphs.git
38 lines
951 B
C++
38 lines
951 B
C++
// Copyright (C) 2023 The Qt Company Ltd.
|
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
|
|
|
|
#include "custominputhandler.h"
|
|
|
|
CustomInputHandler::CustomInputHandler(QObject *parent) :
|
|
QAbstract3DInputHandler(parent)
|
|
{
|
|
}
|
|
|
|
//! [0]
|
|
void CustomInputHandler::mouseMoveEvent(QMouseEvent *event, const QPoint &mousePos)
|
|
{
|
|
Q_UNUSED(event);
|
|
setInputPosition(mousePos, true);
|
|
}
|
|
//! [0]
|
|
|
|
//! [1]
|
|
void CustomInputHandler::wheelEvent(QWheelEvent *event)
|
|
{
|
|
// Adjust zoom level based on what zoom range we're in.
|
|
int zoomLevel = this->cameraZoomLevel();
|
|
if (zoomLevel > 100)
|
|
zoomLevel += event->angleDelta().y() / 12;
|
|
else if (zoomLevel > 50)
|
|
zoomLevel += event->angleDelta().y() / 60;
|
|
else
|
|
zoomLevel += event->angleDelta().y() / 120;
|
|
if (zoomLevel > 500)
|
|
zoomLevel = 500;
|
|
else if (zoomLevel < 10)
|
|
zoomLevel = 10;
|
|
|
|
this->setCameraZoomLevel(zoomLevel);
|
|
}
|
|
//! [1]
|