sprk.h
19 # pragma warning(disable: 4251) //Not an issue as long as debug and release libraries aren't mixed
324 typedef std::vector<HighlightOptionsKit, Allocator<HighlightOptionsKit>> HighlightOptionsKitArray;
332 typedef std::vector<QuaternionKeyframe, Allocator<QuaternionKeyframe> > QuaternionKeyframeArray;
335 typedef std::vector<VectorSplineControlValues, Allocator<VectorSplineControlValues>> VectorSplineControlValuesArray;
336 typedef std::vector<PointSplineControlValues, Allocator<PointSplineControlValues>> PointSplineControlValuesArray;
337 typedef std::vector<FloatSplineControlValues, Allocator<FloatSplineControlValues>> FloatSplineControlValuesArray;
338 typedef std::vector<QuaternionSplineControlValues, Allocator<QuaternionSplineControlValues>> QuaternionSplineControlValuesArray;
339 typedef std::vector<RGBColorSplineControlValues, Allocator<RGBColorSplineControlValues>> RGBColorSplineControlValuesArray;
343 * A Sampler is an object that contains a series of Keyframes and which describe how the Animation will interpolate
345 * Objects of the Sampler class should not be instantiated directly, rather, users should created objects of type
346 * FloatSampler, VectorSampler, PointSampler or RGBColorSampler, based on the type of data required by the Channel to which the Sampler
399 /* A RGBColorSampler is a type of Sampler which holds Keyframe which specify values as RGBColors.
400 * For example, if a Channel is setup to animate the color of a target segment, the values assumed by that
401 * color will have to be specified as RGBColors, and therefore be held in RGBColorKeyframes, which will be collected
476 * For example, if a Channel is setup to animate the value of the camera's up vector, the values assumed by the
477 * up vector will have to be specified as Vectors, and therefore be held in VectorKeyframes, which will be collected
546 * For example, if a Channel is setup to animate the value of the camera's target, the values assumed by the
547 * camera target will have to be specified as Points, and therefore be held in PointKeyframes, which will be collected
615 /* A QuaternionSampler is a type of Sampler which holds Keyframe which specify values as Quaternions.
616 * For example, if a Channel is setup to animate the value of the camera's target, the values assumed by the
617 * camera target will have to be specified as Quaternions, and therefore be held in QuaternionKeyframes, which will be collected
686 * For example, if a Channel is setup to animate the target's opacity, the target's alpha channel value
869 Channel AddTranslationChannel(char const * in_name, KeyPath const & in_target, VectorSampler const & in_sampler);
876 Channel AddRotationChannel(char const * in_name, KeyPath const & in_target, QuaternionSampler const & in_sampler);
883 Channel AddScaleChannel(char const * in_name, KeyPath const & in_target, VectorSampler const & in_sampler);
890 Channel AddColorChannel(char const * in_name, KeyPath const & in_target, RGBColorSampler const & in_sampler);
897 Channel AddOpacityChannel(char const * in_name, KeyPath const & in_target, FloatSampler const & in_sampler);
1008 UpdateNotifier UpdateWithNotifier(HPS::Window::UpdateType in_type, HPS::Time in_time_limit = -1.0) const;
1141 HPS::View & ComputeFitWorldCamera(BoundingKit const & in_bounding, HPS::CameraKit & out_camera);
1148 HPS::View & ComputeFitWorldCamera(SegmentKey const & in_segment, MatrixKit const & in_transform, HPS::CameraKit & out_camera);
1156 HPS::View & ComputeFitWorldCamera(BoundingKit const & in_bounding, MatrixKit const & in_transform, HPS::CameraKit & out_camera);
1300 UpdateNotifier UpdateWithNotifier(HPS::Window::UpdateType in_type, HPS::Time in_time_limit = -1.0) const;
1391 UpdateNotifier UpdateWithNotifier(HPS::Window::UpdateType in_type, HPS::Time in_time_limit = -1.0) const;
1432 void AttachViewFront(View const & in_view, HPS::Rectangle const & in_position = HPS::Rectangle(-1.0f, 1.0f, -1.0f, 1.0f));
1436 void AttachViewBack(View const & in_view, HPS::Rectangle const & in_position = HPS::Rectangle(-1.0f, 1.0f, -1.0f, 1.0f));
1515 UpdateNotifier UpdateWithNotifier(HPS::Window::UpdateType in_type, HPS::Time in_time_limit = -1.0) const;
1675 : Event(), layout(in_layout), action(Action::AllLayers), layer(std::numeric_limits<size_t>::max()), view(in_view)
1878 CameraChangedEvent const * that_event = static_cast<CameraChangedEvent const *>(in_that_event);
1908 SprocketPath(Model const & in_model, View const & in_view, Layout const & in_layout, Canvas const & in_canvas);
1909 SprocketPath(Canvas const & in_canvas, Layout const & in_layout, View const & in_view, Model const & in_model);
1949 Operator(MouseButtons in_mouse_trigger = MouseButtons::ButtonLeft(), ModifierKeys in_modifier_trigger = ModifierKeys());
1983 virtual bool OnMouseDown(MouseState const & in_state) { HPS_UNREFERENCED(in_state); return false; }
1988 virtual bool OnMouseUp(MouseState const & in_state) { HPS_UNREFERENCED(in_state); return false; }
1993 virtual bool OnMouseMove(MouseState const & in_state) { HPS_UNREFERENCED(in_state); return false; }
1998 virtual bool OnMouseWheel(MouseState const & in_state) { HPS_UNREFERENCED(in_state); return false; }
2003 virtual bool OnMouseEnter(MouseState const & in_state) { HPS_UNREFERENCED(in_state); return false; }
2008 virtual bool OnMouseLeave(MouseState const & in_state) { HPS_UNREFERENCED(in_state); return false; }
2013 virtual bool OnTouchDown(TouchState const & in_state) { HPS_UNREFERENCED(in_state); return false; }
2018 virtual bool OnTouchUp(TouchState const & in_state) { HPS_UNREFERENCED(in_state); return false; }
2023 virtual bool OnTouchMove(TouchState const & in_state) { HPS_UNREFERENCED(in_state); return false; }
2028 virtual bool OnKeyDown(KeyboardState const & in_state) { HPS_UNREFERENCED(in_state); return false; }
2033 virtual bool OnKeyUp(KeyboardState const & in_state) { HPS_UNREFERENCED(in_state); return false; }
2038 virtual bool OnTextInput(HPS::UTF8 const & in_text) { HPS_UNREFERENCED(in_text); return false; }
2043 virtual bool OnTimerTick(HPS::TimerTickEvent const & in_event) { HPS_UNREFERENCED(in_event); return false; }
2047 virtual void OnViewAttached(HPS::View const & in_attached_view) { HPS_UNREFERENCED(in_attached_view); return; }
2051 virtual void OnViewDetached(HPS::View const & in_detached_view) { HPS_UNREFERENCED(in_detached_view); return; }
2077 virtual bool IsMouseTriggered(MouseState const & in_state) { return in_state.HasAll(mouse_trigger, modifier_trigger); }
2191 OperatorControl & Push(OperatorPtr const & in_operator, Operator::Priority in_priority = Operator::Priority::Default);
2199 OperatorControl & Push(Operator * in_operator, Operator::Priority in_priority = Operator::Priority::Default);
2225 OperatorControl & Set(OperatorPtr const & in_operator, Operator::Priority in_priority = Operator::Priority::Default);
2233 OperatorControl & Set(Operator * in_operator, Operator::Priority in_priority = Operator::Priority::Default);
2240 OperatorControl & Set(OperatorPtrArray & in_operators, Operator::Priority in_priority = Operator::Priority::Default);
2248 OperatorControl & Set(size_t in_count, OperatorPtr in_operators [], Operator::Priority in_priority = Operator::Priority::Default);
2344 NavigationCubeControl & SetLocation(Location in_location, HPS::Rectangle const & in_rectangle = HPS::Rectangle(), HPS::IntRectangle in_offsets = HPS::IntRectangle::Zero());
2442 * \param in_fallback_fonts An array of fonts to use in case the one specified in in_text_attributes cannot be found at runtime.
2444 * If the font specified is not found at runtime, and no fallback fonts are specified, a stroked representation of the text will be
2447 NavigationCubeControl & SetText(const char * in_back_string, const char * in_top_string, const char * in_left_string,
2449 HPS::TextAttributeKit const & in_text_attributes, HPS::UTF8Array const & in_fallback_fonts = HPS::UTF8Array());
2459 * \param out_fallback_fonts The fonts that will be used if the preferred font specified when setting text could not be found at runtime. Can be empty.
2460 * \return <span class='code'>true</span> if the navigation cube text was retrieved successfully, <span class='code'>false</span> otherwise. */
2528 HPS::AxisTriadControl & SetLocation(Location in_location, HPS::Rectangle const & in_position = HPS::Rectangle(), HPS::IntRectangle in_offsets = HPS::IntRectangle::Zero());
2722 Standard, // subcomponents will be deleted if they don't have multiple owners, otherwise their reference count will be decremented
2724 StandardAndExchange // Subcomponent will deleted if they don't have multiple owners, otherwise their reference count will be decremented.
3136 void Highlight(Canvas const & in_canvas, HighlightOptionsKit const & in_options, bool in_remove_existing = true) const;
3144 void Highlight(Canvas const & in_canvas, size_t in_layer, HighlightOptionsKit const & in_options, bool in_remove_existing = true) const;
3149 void Unhighlight(Canvas const & in_canvas, HighlightOptionsKit const & in_options = HighlightOptionsKit()) const;
3155 void Unhighlight(Canvas const & in_canvas, size_t in_layer, HighlightOptionsKit const & in_options = HighlightOptionsKit()) const;
3220 static void Isolate(HPS::ComponentPathArray & in_component_paths, Canvas const & in_canvas, size_t in_layer = 0);
3243 static void ResetVisibility(HPS::ComponentPathArray & in_component_paths, Canvas const & in_canvas, size_t in_layer = 0);
3249 /* Access a Component in this ComponentPath object. An HPS::IndexOutOfRangeException exception is thrown if in_index is out of range.
3254 /* Access a Component in this ComponentPath object. An HPS::IndexOutOfRangeException exception is thrown if in_index is out of range.
3259 /* Inserts in_item in the ComponentPath before the element at position in_index, increasing the size of the ComponentPath by one.
3265 /* Traverses the components in this ComponentPath and removes the first one which matches in_item
3270 /* Removes the the component at position in_index from this ComponentPath. An HPS::IndexOutOfRangeException exception is thrown if in_index is out of range.
3274 /* Creates and returns a new ComponentPath object, with the components organized in the reverse order.
3278 /* Returns the first component of this ComponentPath. An HPS::IndexOutOfRangeException exception is thrown if the ComponentPath is empty.
3282 /* Returns the first component of this ComponentPath. An HPS::IndexOutOfRangeException exception is thrown if the ComponentPath is empty.
3286 /* Returns the last component of this ComponentPath. An HPS::IndexOutOfRangeException exception is thrown if the ComponentPath is empty.
3290 /* Returns the last component of this ComponentPath. An HPS::IndexOutOfRangeException exception is thrown if the ComponentPath is empty.
3294 /* Returns the first component of this ComponentPath and returns it. An HPS::IndexOutOfRangeException exception is thrown if the ComponentPath is empty.
3298 /* Returns the last component of this ComponentPath and returns it. An HPS::IndexOutOfRangeException exception is thrown if the ComponentPath is empty.
3337 * \return A constant iterator pointing to the last Component contained in this ComponentPath. */
3341 * \return A constant iterator pointing to the last Component contained in this ComponentPath. */
3345 * \return A constant iterator pointing to the first Component contained in this ComponentPath. */
3349 * \return A constant iterator pointing to the last Component contained in this ComponentPath. */
3353 * \return A reverse iterator pointing to the last Component contained in this ComponentPath. */
3357 * \return A reverse iterator pointing to the first Component contained in this ComponentPath. */
3360 /* Returns a constant reverse iterator pointing to the last Component contained in this ComponentPath
3361 * \return A constant reverse iterator pointing to the last Component contained in this ComponentPath. */
3365 * \return A constant iterator pointing to the first Component contained in this ComponentPath. */
3463 ComponentResetEvent(HPS::ComponentPath const & in_path, HPS::Canvas const & in_canvas, size_t in_layer = 0)
3507 ComponentShownEvent(HPS::ComponentPath const & in_path, HPS::Canvas const & in_canvas, size_t in_layer = 0)
3551 ComponentHiddenEvent(HPS::ComponentPath const & in_path, HPS::Canvas const & in_canvas, size_t in_layer = 0)
3596 ComponentIsolatedEvent(HPS::ComponentPath const & in_path, HPS::Canvas const & in_canvas, size_t in_layer = 0)
3658 : Event(), action(in_action), path(in_path), options(in_options), canvas(in_canvas), layer(in_layer)
3762 FilterActivationEvent(Filter in_filter, Action in_action, View in_view) : Event(), filter(in_filter), action(in_action), view(in_view)
3851 CaptureActivationEvent(Capture in_capture, View in_view) : Event(), capture(in_capture), view(in_view)
3941 ComponentPath GetComponentPath(KeyPath const & in_key_path, ComponentPath::PathType in_path_type = ComponentPath::PathType::Unique) const;
3954 ComponentPath GetComponentPath(SelectionItem const & in_item, ComponentPath::PathType in_path_type = ComponentPath::PathType::Unique) const;
4389 static Canvas CreateCanvas(HPS::WindowHandle in_window_handle, char const * in_name = "", HPS::ApplicationWindowOptionsKit const & in_options = HPS::ApplicationWindowOptionsKit());
4397 static Canvas CreateCanvas(char const * in_name = "", HPS::StandAloneWindowOptionsKit const & in_options = HPS::StandAloneWindowOptionsKit());
4405 static Canvas CreateCanvas(HPS::WindowKey const & in_window_key, HPS::PortfolioKey const & in_portfolio_key = HPS::PortfolioKey(), char const * in_name = "");
4451 AxisTriadOperator(MouseButtons in_mouse_trigger = MouseButtons::ButtonLeft(), ModifierKeys in_modifier_trigger = ModifierKeys());
4576 NavigationCubeOperator(MouseButtons in_mouse_trigger = MouseButtons::ButtonLeft(), ModifierKeys in_modifier_trigger = ModifierKeys());
5040 SceneTreeItem(SceneTreePtr const & in_tree, Key const & in_key, SceneTree::ItemType in_type, char const * in_title = nullptr);
5116 virtual SceneTreeItemPtr AddChild(Key const & in_key, SceneTree::ItemType in_type, char const * in_title = nullptr) = 0;
5394 ComponentTreeItem(ComponentTreePtr const & in_tree, Component const & in_component, ComponentTree::ItemType in_type);
5465 virtual ComponentTreeItemPtr AddChild(Component const & in_component, ComponentTree::ItemType in_type) = 0;
Definition: sprk.h:4256
Definition: hps.h:3489
Definition: hps.h:6418
Definition: hps.h:85
Definition: sprk.h:619
Definition: sprk.h:1844
ComponentIsolatedEvent(Event const &in_event)
Definition: sprk.h:3605
Definition: sprk.h:3585
Definition: sprk.h:148
Definition: sprk.h:4448
Definition: sprk.h:280
Definition: sprk.h:1103
ComponentHighlightEvent(Event const &in_event)
Definition: sprk.h:3666
virtual bool OnTimerTick(HPS::TimerTickEvent const &in_event)
Definition: sprk.h:2043
Definition: hps.h:43551
ComponentHighlightEvent()
Definition: sprk.h:3646
void SetModifierTrigger(ModifierKeys in_modifiers)
Definition: sprk.h:2071
Definition: hps.h:474
CameraChangedEvent(Event const &in_event)
Definition: sprk.h:1863
virtual bool OnKeyDown(KeyboardState const &in_state)
Definition: sprk.h:2028
std::vector< SegmentKey, Allocator< SegmentKey > > SegmentKeyArray
Array of type HPS::SegmentKey.
Definition: hps.h:6846
An InvalidSpecificationException is thrown when a method is called with non-sensical or contradictory...
Definition: hps.h:6022
Definition: hps.h:6062
Definition: sprk.h:68
Definition: sprk.h:1044
Definition: sprk.h:1519
Definition: sprk.h:936
virtual bool OnMouseMove(MouseState const &in_state)
Definition: sprk.h:1993
Definition: sprk.h:126
Definition: sprk.h:5367
virtual bool OnMouseEnter(MouseState const &in_state)
Definition: sprk.h:2003
Definition: sprk.h:4310
Definition: hps.h:43334
virtual bool Drop(Event const *in_that_event) const
Definition: sprk.h:1876
Definition: hps.h:1068
Definition: hps.h:1767
Definition: sprk.h:1072
SmoothTransitionCompleteEvent(HPS::View const &in_view)
Definition: sprk.h:4519
std::vector< KeyPath, Allocator< KeyPath > > KeyPathArray
Array of type HPS::KeyPath.
Definition: hps.h:6884
Definition: sprk.h:5207
Definition: hps.h:49099
Definition: sprk.h:1904
Definition: hps.h:7929
Definition: hps.h:3640
Definition: hps.h:2143
Definition: sprk.h:236
Definition: sprk.h:1756
Definition: sprk.h:403
Definition: hps.h:4970
bool HasAll(MouseButtons in_mouse_trigger, ModifierKeys in_modifier_trigger) const
Definition: sprk_ops.h:20
Definition: sprk.h:1607
Definition: hps.h:1456
Definition: hps.h:888
Definition: hps.h:43454
SmoothTransitionCompleteEvent(Event const &in_event)
Definition: sprk.h:4524
Definition: hps.h:1825
Definition: sprk.h:689
Definition: hps.h:1591
Definition: hps.h:9173
Definition: hps.h:244
Definition: hps.h:1894
Definition: sprk.h:39
virtual void OnViewAttached(HPS::View const &in_attached_view)
Definition: sprk.h:2047
Definition: hps.h:48997
Definition: hps.h:42366
Definition: sprk.h:549
Definition: sprk.h:1801
Definition: sprk.h:1403
ViewDetachedEvent(Event const &in_event)
Definition: sprk.h:1683
Definition: sprk.h:170
Definition: hps.h:42413
Definition: hps.h:41798
Definition: hps.h:45120
Definition: hps.h:1108
Definition: sprk.h:3995
Definition: sprk.h:4109
virtual bool OnMouseLeave(MouseState const &in_state)
Definition: sprk.h:2008
Definition: hps.h:10145
Definition: hps.h:43498
Definition: hps.h:1544
SmoothTransitionCompleteEvent()
Definition: sprk.h:4514
Definition: hps.h:1476
Definition: hps.h:1495
Definition: hps.h:39381
FilterActivationEvent(Event const &in_event)
Definition: sprk.h:3770
ModelDetachedEvent(Event const &in_event)
Definition: sprk.h:1775
Definition: sprk.h:214
Definition: hps.h:4547
Definition: sprk.h:5620
Definition: hps.h:7300
Definition: sprk.h:758
Definition: hps.h:48468
Definition: sprk.h:4060
Definition: sprk.h:2482
Definition: hps.h:45299
SprocketControl & operator=(SprocketControl &&in_that)
Definition: sprk.h:1065
Definition: hps.h:47358
Definition: hps.h:44379
Definition: hps.h:48884
Definition: sprk.h:1562
CaptureActivationEvent(Event const &in_event)
Definition: sprk.h:3859
virtual bool OnTouchDown(TouchState const &in_state)
Definition: sprk.h:2013
Definition: sprk.h:348
virtual bool OnMouseWheel(MouseState const &in_state)
Definition: sprk.h:1998
SprocketControl(SprocketControl &&in_that)
Definition: sprk.h:1060
Definition: hps.h:16019
Definition: sprk.h:1650
Definition: sprk.h:2622
Definition: hps.h:45586
Definition: hps.h:47975
The ComponentPath contains only components which are unique to this request, omitting ambiguous entri...
ViewDeletedEvent(Event const &in_event)
Definition: sprk.h:1732
Definition: hps.h:38884
Definition: sprk.h:4207
Definition: hps.h:6502
Definition: hps.h:14267
std::vector< UTF8, Allocator< UTF8 > > UTF8Array
Array of type HPS::UTF8.
Definition: hps.h:6852
Definition: sprk.h:192
Definition: sprk.h:2149
Definition: hps.h:410
Definition: sprk.h:1318
CanvasDeletedEvent(Event const &in_event)
Definition: sprk.h:1538
Definition: sprk.h:2994
std::shared_ptr< Operator > OperatorPtr
Shared pointer to an Operator object.
Definition: sprk.h:308
Definition: hps.h:47283
std::vector< Key, Allocator< Key > > KeyArray
Array of type HPS::Key.
Definition: hps.h:6856
Definition: hps.h:2162
Definition: sprk.h:3635
LayoutDetachedEvent(Event const &in_event)
Definition: sprk.h:1581
virtual bool OnMouseDown(MouseState const &in_state)
Definition: sprk.h:1983
Definition: sprk.h:3700
Definition: sprk.h:4361
Definition: sprk.h:1021
virtual void OnViewDetached(HPS::View const &in_detached_view)
Definition: sprk.h:2051
Definition: sprk.h:4510
Definition: hps.h:429
Definition: sprk.h:3800
Definition: hps.h:2182
Definition: sprk.h:4710
Definition: sprk.h:3453
Definition: sprk.h:4158
Definition: sprk.h:80
Definition: hps.h:9331
Definition: sprk.h:104
virtual bool IsMouseTriggered(MouseState const &in_state)
Definition: sprk.h:2077
Definition: hps.h:7847
Definition: sprk.h:3745
Definition: hps.h:38484
Definition: hps.h:355
ModelDeletedEvent(Event const &in_event)
Definition: sprk.h:1820
LayoutDeletedEvent(Event const &in_event)
Definition: sprk.h:1626
Definition: hps.h:9560
Definition: hps.h:11250
Definition: sprk.h:2092
virtual bool OnTouchMove(TouchState const &in_state)
Definition: sprk.h:2023
virtual bool Drop(Event const *in_that_event) const
Definition: sprk.h:4546
Definition: sprk.h:4991
Definition: sprk.h:258
Definition: sprk.h:3887
Definition: sprk.h:3497
Definition: hps.h:44030
Definition: hps.h:515
Definition: sprk.h:1946
Definition: sprk.h:832
Definition: sprk.h:479
Definition: hps.h:1174
Definition: hps.h:43380
Definition: sprk.h:1713
Definition: sprk.h:3841
Definition: hps.h:41862
Definition: hps.h:7558