13#ifndef SO_POINTING_ACTION_H
14#define SO_POINTING_ACTION_H
272 bool _positionSensitive;
276 TriggerList _triggers;
282 void* _grabReleaseData;
#define SOMANAGEDINTERACTION_API
File to resolve system dependencies in View2D library.
void(* grabReleaseFunc)(SoPointingAction *, void *)
@ Button3Mask
Right button.
@ Button1Mask
Left button.
@ AllButtonsMask
All buttons.
@ Button2Mask
Middle button.
Provides a coordinating interface to the SoInteractionHandlers in the scene.
SoInteraction(InteractionType type, SoInteractionOwner *owner, const std::string &id, bool registerWithOwner=true)
SoPointerPosition manages the current position of the mouse cursor.
friend class SoOffsetPointingAction
@ Button1Mask
Left button.
@ Button2Mask
Middle button.
@ Button3Mask
Right button.
@ AllButtonsMask
All buttons.
StopMode
Argument type for releaseGrab().
@ AbortAction
Current action should be aborted.
@ FinishAction
Current action should be finished.
TriggerList getTriggers() const
Returns the list of default modifier/button mask combinations set for this action.
SoPointingAction(SoInteractionOwner *owner, std::string id, bool positionSensitive=true)
virtual SoOffsetAction * proxiedOffsetAction() const
virtual void dragCancelled()
void addTrigger(const Trigger &trigger)
Adds another default modifier/button mask as trigger.
virtual void unsetHighlight()
virtual std::string getCurrentStatusMessage() const
virtual SoPointingAction * endPress(int clickCount)=0
ManagedMouseButtonTrigger Trigger
virtual void setMode(int)
virtual int getCurrentCursor(SoViewerProxy *) const
virtual bool isPositionSensitive() const
virtual int getNumModes() const
virtual void startPressAt(const SoPointerPosition &pos)=0
virtual bool wantsImmediateDragUpdates()
void clearTriggers()
Removes all triggers.
std::list< Trigger > TriggerList
List of triggers.
friend class SoInteractionCoordinator
void setTrigger(const Trigger &trigger)
Same with Trigger object.
virtual void releaseGrab(StopMode)
void setTrigger(int triggerMask, int ignoreMask=0)
virtual bool wantsMouseOverUpdates()
virtual bool triggersAction(int mask)
virtual void setHighlightAt(const SoPointerPosition &)
virtual void dragMoveTo(const SoPointerPosition &pos)=0
Continues the drag to given device position.
virtual bool isSensitiveAt(const SoPointerPosition &pos)=0