Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
VTK
VTK
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 561
    • Issues 561
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 144
    • Merge Requests 144
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • VTK
  • VTKVTK
  • Merge Requests
  • !1577

Merged
Opened Jun 17, 2016 by Elvis Stansvik@estanDeveloper

Support wheel events in vtkInteractorStyleUser

  • Overview 8
  • Commits 1
  • Changes 2

This patch adds support for wheel events to vtkInteractorStyleUser.

Running the following minimal test case

#include <iostream>

#include <vtkRenderWindow.h>
#include <vtkRenderWindowInteractor.h>
#include <vtkInteractorStyleUser.h>
#include <vtkCommand.h>
#include <vtkCallbackCommand.h>
#include <vtkSmartPointer.h>
 
static void onWheelForward(vtkObject *, long unsigned int, void *, void *) {
        std::cout << "mouse wheel forward" << std::endl;
}

static void onWheelBackward(vtkObject *, long unsigned int, void *, void *) {
        std::cout << "mouse wheel backward" << std::endl;
}

int main() {
    auto style = vtkSmartPointer<vtkInteractorStyleUser>::New();

    auto onWheelForwardCallback = vtkSmartPointer<vtkCallbackCommand>::New();
    onWheelForwardCallback->SetCallback(onWheelForward);
    style->AddObserver(vtkCommand::MouseWheelForwardEvent, onWheelForwardCallback);

    auto onWheelBackwardCallback = vtkSmartPointer<vtkCallbackCommand>::New();
    onWheelBackwardCallback->SetCallback(onWheelBackward);
    style->AddObserver(vtkCommand::MouseWheelBackwardEvent, onWheelBackwardCallback);

    auto renderWindow = vtkSmartPointer<vtkRenderWindow>::New();
 
    auto interactor = vtkSmartPointer<vtkRenderWindowInteractor>::New();
    interactor->SetRenderWindow(renderWindow);
    interactor->SetInteractorStyle(style);
 
    interactor->Start();
 
    return 0;
}

will print nothing without the patch when the mouse wheel is turned over the window, but will print "mouse wheel forward" and "mouse wheel backward" as expected when the patch is applied.

Assignee
Assign to
Reviewer
Request review from
None
Milestone
None
Assign milestone
Time tracking
Reference: vtk/vtk!1577
Source branch: interactor-style-mouse-wheel-support