#include <sprk_ops.h>

Classes | |
class | AnnotationInsertedEvent |
Public Member Functions | |
AnnotationOperator (MouseButtons in_mouse_trigger=MouseButtons::ButtonLeft(), ModifierKeys in_modifier_trigger=ModifierKeys()) | |
UTF8 | GetBackgroundShape () const |
virtual HPS::UTF8 | GetName () const override |
virtual bool | OnKeyDown (KeyboardState const &in_state) override |
virtual bool | OnMouseDown (MouseState const &in_state) override |
virtual bool | OnMouseMove (MouseState const &in_state) override |
virtual bool | OnTextInput (HPS::UTF8 const &in_text) override |
virtual bool | OnTouchDown (TouchState const &in_state) override |
virtual bool | OnTouchMove (TouchState const &in_state) override |
virtual bool | OnTouchUp (TouchState const &in_state) override |
virtual void | OnViewAttached (HPS::View const &in_attached_view) override |
virtual void | OnViewDetached (HPS::View const &in_detached_view) override |
void | SetBackgroundShape (const char *in_shape) |
![]() | |
virtual void | Assign (Operator const &in_that) |
void | DetachView () |
virtual bool | Equals (Operator const &in_that) const |
View | GetAttachedView () const |
ModifierKeys | GetModifierTrigger () const |
MouseButtons | GetMouseTrigger () const |
virtual bool | IsMouseTriggered (MouseState const &in_state) |
HPS::Type | ObjectType () const |
virtual bool | OnKeyUp (KeyboardState const &in_state) |
virtual void | OnModelAttached () |
virtual void | OnModelDetached () |
virtual bool | OnMouseEnter (MouseState const &in_state) |
virtual bool | OnMouseLeave (MouseState const &in_state) |
virtual bool | OnMouseUp (MouseState const &in_state) |
virtual bool | OnMouseWheel (MouseState const &in_state) |
virtual bool | OnTimerTick (HPS::TimerTickEvent const &in_event) |
Operator (MouseButtons in_mouse_trigger=MouseButtons::ButtonLeft(), ModifierKeys in_modifier_trigger=ModifierKeys()) | |
Operator (Operator const &in_that) | |
virtual bool | operator!= (Operator const &in_that) const |
virtual Operator & | operator= (Operator const &in_that) |
virtual bool | operator== (Operator const &in_that) const |
void | SetModifierTrigger (ModifierKeys in_modifiers) |
void | SetMouseTrigger (MouseButtons in_buttons) |
![]() | |
Sprocket (Sprocket &&in_that) | |
![]() | |
virtual bool | Empty () const |
intptr_t | GetClassID () const |
intptr_t | GetInstanceID () const |
bool | HasType (HPS::Type in_mask) const |
Object (Object const &that) | |
Object (Object &&in_that) | |
Object & | operator= (Object const &other_object) |
Object & | operator= (Object &&in_that) |
virtual void | Reset () |
virtual HPS::Type | Type () const |
Additional Inherited Members | |
![]() | |
enum | Priority { Low, Default, High } |
![]() | |
template<typename T > | |
static intptr_t | ClassID () |
![]() | |
static const HPS::Type | staticType = HPS::Type::Operator |
![]() | |
static const HPS::Type | staticType = HPS::Type::None |
![]() | |
HPS::ModifierKeys | modifier_trigger |
HPS::MouseButtons | mouse_trigger |
Detailed Description
The AnnotationOperator class defines an operator which allows the user to insert annotations. Annotations are text geometries with leader lines and a background. This Operator works for both mouse- and touch-driven devices.
To operate this operator on a mouse-driven device: Click on a piece of geometry and drag the mouse to position an annotation. Start typing to change the annotation text. Once an annotation has been inserted it can be repositioned, and its text can be changed after clicking on it.
To operate this operator on a touch-driven device: Tap on a piece of geometry and drag your finger to position an annotation. Start typing to change the annotation text. Once an annotation has been inserted, tap on it to edit the text. Drag a previously inserted annotation around to reposition it.
An event of type AnnotationInsertedEvent is injected when new annotations are added to the scene.
Member Function Documentation
◆ GetBackgroundShape()
UTF8 HPS::AnnotationOperator::GetBackgroundShape | ( | ) | const |
This function returns the name of the shape definition currently used to draw the annotation background by this operator.
- Returns
- The name of the shape definition currently used to draw the annotation background
◆ GetName()
|
inlineoverridevirtual |
Returns the name of the operator.
Reimplemented from HPS::Operator.
◆ OnKeyDown()
|
overridevirtual |
This function is called whenever HPS receives a KeyboardState event that signals a button was pressed. This function is used to edit the text of annotations
- Parameters
-
in_state A KeyboardState object describing the current keyboard state.
- Returns
- true if the input event was handled, false otherwise.
Reimplemented from HPS::Operator.
◆ OnMouseDown()
|
overridevirtual |
This function is called whenever HPS receives a MouseEvent that signals a mouse button was pressed. If the user clicks on a piece of geometry other than an existing annotation, a new annotation will be inserted. If the user clicks on an already inserted annotation, that annotation will become editable (it can be repositioned, and its text can be changed). The user can click on the background to stop editing an annotation.
- Parameters
-
in_state A MouseState object describing the current mouse state.
- Returns
- true if the input event was handled, false otherwise.
Reimplemented from HPS::Operator.
◆ OnMouseMove()
|
overridevirtual |
This function is called whenever HPS receives a MouseEvent that signals the mouse moved When users are inserting or editing an annotation, they will be able to reposition it by dragging the mouse while holding down the trigger button specified in the operator constructor (defaults to Left mouse button)
- Parameters
-
in_state A MouseState object describing the current mouse state.
- Returns
- true if the input event was handled, false otherwise.
Reimplemented from HPS::Operator.
◆ OnTextInput()
|
overridevirtual |
This function is called whenever HPS receives a TextInput event that signals a text string was received. This function is used to edit the text of annotations from a mobile device.
- Parameters
-
in_text The text string received.
- Returns
- true if the input event was handled, false otherwise.
Reimplemented from HPS::Operator.
◆ OnTouchDown()
|
overridevirtual |
This function is called whenever HPS receives a TouchEvent that signals the device was touched. If the user taps a piece of geometry other than an existing annotation, a new annotation will be inserted. If the user taps an already inserted annotation, that annotation will become editable (it can be repositioned, and its text can be changed). The user can tap on the background to stop editing an annotation.
- Parameters
-
in_state A TouchState object describing the current touch state.
- Returns
- true if the input event was handled, false otherwise.
Reimplemented from HPS::Operator.
◆ OnTouchMove()
|
overridevirtual |
This function is called whenever HPS receives a TouchEvent that signals a point of contact has moved. When users are inserting or editing an annotation, they will be able to reposition it by tapping it and dragging their finger
- Parameters
-
in_state A TouchState object describing the current touch state.
- Returns
- true if the input event was handled, false otherwise.
Reimplemented from HPS::Operator.
◆ OnTouchUp()
|
overridevirtual |
This function is called whenever HPS receives a TouchEvent that signals a point of contact has been released.
- Parameters
-
in_state A TouchState object describing the current touch state.
- Returns
- true if the input event was handled, false otherwise.
Reimplemented from HPS::Operator.
◆ OnViewAttached()
|
overridevirtual |
This function is called whenever a view is attached to this operator.
- Parameters
-
in_attached_view The view attached to this operator.
Reimplemented from HPS::Operator.
◆ OnViewDetached()
|
overridevirtual |
This function is called whenever a view is detached from this operator.
- Parameters
-
in_detached_view The view detached from this operator.
Reimplemented from HPS::Operator.
◆ SetBackgroundShape()
void HPS::AnnotationOperator::SetBackgroundShape | ( | const char * | in_shape | ) |
This function sets the shape which will be use for the annotation background. The shape name provided has to match the name of a shape defined in a portfolio accessible by the view attached to this operator, or to a segment above that. This setting influences all shapes inserted by this operator after it is called, it does not change the shape of annotations already inserted by this operator. By default a rectangle shape ('box') is used.
- Parameters
-
in_shape The name of the shape definition used when inserting annotations.
The documentation for this class was generated from the following file:
- include/sprk_ops.h