class HPS::SelectAreaOperator : public HPS::ConstructRectangleOperator

The HPS::SelectAreaOperator class is a selection mechanism that operates on a rectangle input. As with all operators, this operator must be made active on a HPS::View object before it can be used. The results of the last selection can be obtained by calling GetActiveSelection(). Selection options such as granularity, algorithm, proximity, and more are set using a HPS::SelectionOptionsKit passed to SetSelectionOptions. See Programming Guide section “User Interaction” for more details on how to use operators.

Subclassed by HPS::HighlightAreaOperator

Public Functions

HPS::SelectionResults GetActiveSelection() const

This method returns the results of the last selection action. If no objects were selected, the SelectionResults object returned will be have a count of 0.

inline virtual HPS::UTF8 GetName() const

Returns the name of the Operator.

inline HPS::SelectionOptionsKit GetSelectionOptions() const

Gets the selection options kit that was set on this operator.

virtual bool OnMouseUp(MouseState const &in_state)

This function is called whenever HPS receives a MouseEvent that signals a mouse button was released.


in_state – A MouseState object describing the current mouse state.


true if the input event was handled, false otherwise.

virtual bool OnTouchUp(TouchState const &in_state)

This function is called whenever HPS receives a TouchEvent that signals a point of contact has been released.


in_state – A TouchState object describing the current touch state.


true if the input event was handled, false otherwise.

virtual void OnViewAttached(HPS::View const &in_attached_view)

This function is called whenever a view is attached to this operator.


in_attached_view – The view attached to this operator.

SelectAreaOperator(MouseButtons in_mouse_trigger = MouseButtons::ButtonLeft(), ModifierKeys in_modifier_trigger = ModifierKeys())

SelectAreaOperator constructor. The operator is not active until it is attached to a HPS::View. Even after being attached, operator must remain in scope until you’re done using it.

  • in_mouse_trigger – The mouse button that will trigger this operator. Defaults to left mouse button.

  • in_modifier_trigger – The modifier key that, when used with the in_mouse_trigger, will trigger this operator. Passing an empty ModifierKeys object means no modifier key is necessary to trigger the operator.

inline void SetSelectionOptions(HPS::SelectionOptionsKit const &in_options)

Sets the selection options that will be used as selection criteria for this operator.


in_options – The HPS::SelectionOptionsKit that contains the selection options for this operator