13#ifndef SO_INTERACTION_HANDLER_H
14#define SO_INTERACTION_HANDLER_H
22#include <ThirdPartyWarningsDisable.h>
23#include <Inventor/events/SoKeyboardEvent.h>
24#include <Inventor/events/SoMouseWheelEvent.h>
27#include <ThirdPartyWarningsRestore.h>
30class SoHandleEventAction;
73 SoMouseWheelEvent::Orientation orientation,
short rotation);
125 std::list<SoPointingAction*> getPointingActions(SoState* state);
134 SoState* _inventorState;
137 int _currentButtonMask;
138 int _currentModifierMask;
140 bool _currentPointerLocationValid;
143 bool _pointingActionFound;
147 bool _hadPointerUpdate;
#define SOMANAGEDINTERACTION_API
File to resolve system dependencies in View2D library.
Provides a coordinating interface to the SoInteractionHandlers in the scene.
void handlePointerLeftWindow(SoState *state)
Called if the pointer left the scene widget.
virtual bool isValidStartingLocation(const SoPointerPosition &location)
SoPointerPosition getCurrentPointerLocation()
Returns the current position of the mouse cursor.
bool isCurrentPointerLocationValid()
Returns whether the current mouse cursor position is valid.
SoInteractionHandler(SoInteractionProvider *provider)
void selectTargetPointingAction(SoState *state, const SoPointerPosition &location, int mask)
void modifierMaskChanged(SoState *state, const SoPointerPosition &location, int modifierMask)
Called if the modifier mask changed since the last input event.
bool wheelRotated(SoState *state, const SoPointerPosition &location, int modifierMask, SoMouseWheelEvent::Orientation orientation, short rotation)
bool trySwitchGlobalPointingAction(SoState *state, const SoPointerPosition &location, int buttonMask, int modifierMask)
int getCurrentButtonMask()
virtual ~SoInteractionHandler()
virtual void handleEventForInteraction(SoHandleEventAction *action)
Handles the mouse and keyboard events and send them to interaction nodes.
void buttonMaskChanged(SoState *state, const SoPointerPosition &location, int buttonMask)
Called if the button mask changed since the last input event.
bool handleKeyPress(SoState *state, const SoPointerPosition &location, int modifiers, SoKeyboardEvent::Key nKey, bool positionValid)
SoPointingAction * getLocalCurrentPointingAction()
bool canSelectPointingAction()
virtual bool isEnabled(SoPointingAction *action, int currentMask)
int getCurrentModifierMask()
Returns the currently active button modifier.
void locationChanged(SoState *state, const SoPointerPosition &location, bool force=false, bool renderRefresh=false)
virtual bool augmentLocation(SoPointerPosition &, bool)
SoInteractionCoordinator * getCoordinator()
Access method, returns the interaction coordinator during event handling.
SoPointerPosition manages the current position of the mouse cursor.