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);
1007 UpdateNotifier UpdateWithNotifier(HPS::Window::UpdateType in_type, HPS::Time in_time_limit = -1.0) const;
1140 HPS::View & ComputeFitWorldCamera(BoundingKit const & in_bounding, HPS::CameraKit & out_camera);
1147 HPS::View & ComputeFitWorldCamera(SegmentKey const & in_segment, MatrixKit const & in_transform, HPS::CameraKit & out_camera);
1155 HPS::View & ComputeFitWorldCamera(BoundingKit const & in_bounding, MatrixKit const & in_transform, HPS::CameraKit & out_camera);
1299 UpdateNotifier UpdateWithNotifier(HPS::Window::UpdateType in_type, HPS::Time in_time_limit = -1.0) const;
1390 UpdateNotifier UpdateWithNotifier(HPS::Window::UpdateType in_type, HPS::Time in_time_limit = -1.0) const;
1431 void AttachViewFront(View const & in_view, HPS::Rectangle const & in_position = HPS::Rectangle(-1.0f, 1.0f, -1.0f, 1.0f));
1435 void AttachViewBack(View const & in_view, HPS::Rectangle const & in_position = HPS::Rectangle(-1.0f, 1.0f, -1.0f, 1.0f));
1514 UpdateNotifier UpdateWithNotifier(HPS::Window::UpdateType in_type, HPS::Time in_time_limit = -1.0) const;
1674 : Event(), layout(in_layout), action(Action::AllLayers), layer(std::numeric_limits<size_t>::max()), view(in_view)
1877 CameraChangedEvent const * that_event = static_cast<CameraChangedEvent const *>(in_that_event);
1907 SprocketPath(Model const & in_model, View const & in_view, Layout const & in_layout, Canvas const & in_canvas);
1908 SprocketPath(Canvas const & in_canvas, Layout const & in_layout, View const & in_view, Model const & in_model);
1948 Operator(MouseButtons in_mouse_trigger = MouseButtons::ButtonLeft(), ModifierKeys in_modifier_trigger = ModifierKeys());
1982 virtual bool OnMouseDown(MouseState const & in_state) { HPS_UNREFERENCED(in_state); return false; }
1987 virtual bool OnMouseUp(MouseState const & in_state) { HPS_UNREFERENCED(in_state); return false; }
1992 virtual bool OnMouseMove(MouseState const & in_state) { HPS_UNREFERENCED(in_state); return false; }
1997 virtual bool OnMouseWheel(MouseState const & in_state) { HPS_UNREFERENCED(in_state); return false; }
2002 virtual bool OnMouseEnter(MouseState const & in_state) { HPS_UNREFERENCED(in_state); return false; }
2007 virtual bool OnMouseLeave(MouseState const & in_state) { HPS_UNREFERENCED(in_state); return false; }
2012 virtual bool OnTouchDown(TouchState const & in_state) { HPS_UNREFERENCED(in_state); return false; }
2017 virtual bool OnTouchUp(TouchState const & in_state) { HPS_UNREFERENCED(in_state); return false; }
2022 virtual bool OnTouchMove(TouchState const & in_state) { HPS_UNREFERENCED(in_state); return false; }
2027 virtual bool OnKeyDown(KeyboardState const & in_state) { HPS_UNREFERENCED(in_state); return false; }
2032 virtual bool OnKeyUp(KeyboardState const & in_state) { HPS_UNREFERENCED(in_state); return false; }
2037 virtual bool OnTextInput(HPS::UTF8 const & in_text) { HPS_UNREFERENCED(in_text); return false; }
2042 virtual bool OnTimerTick(HPS::TimerTickEvent const & in_event) { HPS_UNREFERENCED(in_event); return false; }
2046 virtual void OnViewAttached(HPS::View const & in_attached_view) { HPS_UNREFERENCED(in_attached_view); return; }
2050 virtual void OnViewDetached(HPS::View const & in_detached_view) { HPS_UNREFERENCED(in_detached_view); return; }
2076 virtual bool IsMouseTriggered(MouseState const & in_state) { return in_state.HasAll(mouse_trigger, modifier_trigger); }
2190 OperatorControl & Push(OperatorPtr const & in_operator, Operator::Priority in_priority = Operator::Priority::Default);
2198 OperatorControl & Push(Operator * in_operator, Operator::Priority in_priority = Operator::Priority::Default);
2224 OperatorControl & Set(OperatorPtr const & in_operator, Operator::Priority in_priority = Operator::Priority::Default);
2232 OperatorControl & Set(Operator * in_operator, Operator::Priority in_priority = Operator::Priority::Default);
2239 OperatorControl & Set(OperatorPtrArray & in_operators, Operator::Priority in_priority = Operator::Priority::Default);
2247 OperatorControl & Set(size_t in_count, OperatorPtr in_operators [], Operator::Priority in_priority = Operator::Priority::Default);
2343 NavigationCubeControl & SetLocation(Location in_location, HPS::Rectangle const & in_rectangle = HPS::Rectangle(), HPS::IntRectangle in_offsets = HPS::IntRectangle::Zero());
2441 * \param in_fallback_fonts An array of fonts to use in case the one specified in in_text_attributes cannot be found at runtime.
2443 * If the font specified is not found at runtime, and no fallback fonts are specified, a stroked representation of the text will be
2446 NavigationCubeControl & SetText(const char * in_back_string, const char * in_top_string, const char * in_left_string,
2448 HPS::TextAttributeKit const & in_text_attributes, HPS::UTF8Array const & in_fallback_fonts = HPS::UTF8Array());
2458 * \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.
2459 * \return <span class='code'>true</span> if the navigation cube text was retrieved successfully, <span class='code'>false</span> otherwise. */
2527 HPS::AxisTriadControl & SetLocation(Location in_location, HPS::Rectangle const & in_position = HPS::Rectangle(), HPS::IntRectangle in_offsets = HPS::IntRectangle::Zero());
2721 Standard, // subcomponents will be deleted if they don't have multiple owners, otherwise their reference count will be decremented
2723 StandardAndExchange // Subcomponent will deleted if they don't have multiple owners, otherwise their reference count will be decremented.
3135 void Highlight(Canvas const & in_canvas, HighlightOptionsKit const & in_options, bool in_remove_existing = true) const;
3143 void Highlight(Canvas const & in_canvas, size_t in_layer, HighlightOptionsKit const & in_options, bool in_remove_existing = true) const;
3148 void Unhighlight(Canvas const & in_canvas, HighlightOptionsKit const & in_options = HighlightOptionsKit()) const;
3154 void Unhighlight(Canvas const & in_canvas, size_t in_layer, HighlightOptionsKit const & in_options = HighlightOptionsKit()) const;
3219 static void Isolate(HPS::ComponentPathArray & in_component_paths, Canvas const & in_canvas, size_t in_layer = 0);
3242 static void ResetVisibility(HPS::ComponentPathArray & in_component_paths, Canvas const & in_canvas, size_t in_layer = 0);
3248 /* Access a Component in this ComponentPath object. An HPS::IndexOutOfRangeException exception is thrown if in_index is out of range.
3253 /* Access a Component in this ComponentPath object. An HPS::IndexOutOfRangeException exception is thrown if in_index is out of range.
3258 /* Inserts in_item in the ComponentPath before the element at position in_index, increasing the size of the ComponentPath by one.
3264 /* Traverses the components in this ComponentPath and removes the first one which matches in_item
3269 /* Removes the the component at position in_index from this ComponentPath. An HPS::IndexOutOfRangeException exception is thrown if in_index is out of range.
3273 /* Creates and returns a new ComponentPath object, with the components organized in the reverse order.
3277 /* Returns the first component of this ComponentPath. An HPS::IndexOutOfRangeException exception is thrown if the ComponentPath is empty.
3281 /* Returns the first component of this ComponentPath. An HPS::IndexOutOfRangeException exception is thrown if the ComponentPath is empty.
3285 /* Returns the last component of this ComponentPath. An HPS::IndexOutOfRangeException exception is thrown if the ComponentPath is empty.
3289 /* Returns the last component of this ComponentPath. An HPS::IndexOutOfRangeException exception is thrown if the ComponentPath is empty.
3293 /* Returns the first component of this ComponentPath and returns it. An HPS::IndexOutOfRangeException exception is thrown if the ComponentPath is empty.
3297 /* Returns the last component of this ComponentPath and returns it. An HPS::IndexOutOfRangeException exception is thrown if the ComponentPath is empty.
3336 * \return A constant iterator pointing to the last Component contained in this ComponentPath. */
3340 * \return A constant iterator pointing to the last Component contained in this ComponentPath. */
3344 * \return A constant iterator pointing to the first Component contained in this ComponentPath. */
3348 * \return A constant iterator pointing to the last Component contained in this ComponentPath. */
3352 * \return A reverse iterator pointing to the last Component contained in this ComponentPath. */
3356 * \return A reverse iterator pointing to the first Component contained in this ComponentPath. */
3359 /* Returns a constant reverse iterator pointing to the last Component contained in this ComponentPath
3360 * \return A constant reverse iterator pointing to the last Component contained in this ComponentPath. */
3364 * \return A constant iterator pointing to the first Component contained in this ComponentPath. */
3462 ComponentResetEvent(HPS::ComponentPath const & in_path, HPS::Canvas const & in_canvas, size_t in_layer = 0)
3506 ComponentShownEvent(HPS::ComponentPath const & in_path, HPS::Canvas const & in_canvas, size_t in_layer = 0)
3550 ComponentHiddenEvent(HPS::ComponentPath const & in_path, HPS::Canvas const & in_canvas, size_t in_layer = 0)
3595 ComponentIsolatedEvent(HPS::ComponentPath const & in_path, HPS::Canvas const & in_canvas, size_t in_layer = 0)
3657 : Event(), action(in_action), path(in_path), options(in_options), canvas(in_canvas), layer(in_layer)
3761 FilterActivationEvent(Filter in_filter, Action in_action, View in_view) : Event(), filter(in_filter), action(in_action), view(in_view)
3850 CaptureActivationEvent(Capture in_capture, View in_view) : Event(), capture(in_capture), view(in_view)
3940 ComponentPath GetComponentPath(KeyPath const & in_key_path, ComponentPath::PathType in_path_type = ComponentPath::PathType::Unique) const;
3953 ComponentPath GetComponentPath(SelectionItem const & in_item, ComponentPath::PathType in_path_type = ComponentPath::PathType::Unique) const;
4388 static Canvas CreateCanvas(HPS::WindowHandle in_window_handle, char const * in_name = "", HPS::ApplicationWindowOptionsKit const & in_options = HPS::ApplicationWindowOptionsKit());
4396 static Canvas CreateCanvas(char const * in_name = "", HPS::StandAloneWindowOptionsKit const & in_options = HPS::StandAloneWindowOptionsKit());
4404 static Canvas CreateCanvas(HPS::WindowKey const & in_window_key, HPS::PortfolioKey const & in_portfolio_key = HPS::PortfolioKey(), char const * in_name = "");
4450 AxisTriadOperator(MouseButtons in_mouse_trigger = MouseButtons::ButtonLeft(), ModifierKeys in_modifier_trigger = ModifierKeys());
4575 NavigationCubeOperator(MouseButtons in_mouse_trigger = MouseButtons::ButtonLeft(), ModifierKeys in_modifier_trigger = ModifierKeys());
5039 SceneTreeItem(SceneTreePtr const & in_tree, Key const & in_key, SceneTree::ItemType in_type, char const * in_title = nullptr);
5115 virtual SceneTreeItemPtr AddChild(Key const & in_key, SceneTree::ItemType in_type, char const * in_title = nullptr) = 0;
5393 ComponentTreeItem(ComponentTreePtr const & in_tree, Component const & in_component, ComponentTree::ItemType in_type);
5464 virtual ComponentTreeItemPtr AddChild(Component const & in_component, ComponentTree::ItemType in_type) = 0;
Definition: sprk.h:4255
Definition: hps.h:3530
Definition: hps.h:6460
Definition: hps.h:85
Definition: sprk.h:619
Definition: sprk.h:1843
ComponentIsolatedEvent(Event const &in_event)
Definition: sprk.h:3604
Definition: sprk.h:3584
Definition: sprk.h:148
Definition: sprk.h:4447
Definition: sprk.h:280
Definition: sprk.h:1102
ComponentHighlightEvent(Event const &in_event)
Definition: sprk.h:3665
virtual bool OnTimerTick(HPS::TimerTickEvent const &in_event)
Definition: sprk.h:2042
Definition: hps.h:43662
ComponentHighlightEvent()
Definition: sprk.h:3645
void SetModifierTrigger(ModifierKeys in_modifiers)
Definition: sprk.h:2070
Definition: hps.h:497
CameraChangedEvent(Event const &in_event)
Definition: sprk.h:1862
virtual bool OnKeyDown(KeyboardState const &in_state)
Definition: sprk.h:2027
std::vector< SegmentKey, Allocator< SegmentKey > > SegmentKeyArray
Array of type HPS::SegmentKey.
Definition: hps.h:6888
An InvalidSpecificationException is thrown when a method is called with non-sensical or contradictory...
Definition: hps.h:6064
Definition: hps.h:6104
Definition: sprk.h:68
Definition: sprk.h:1043
Definition: sprk.h:1518
Definition: sprk.h:936
virtual bool OnMouseMove(MouseState const &in_state)
Definition: sprk.h:1992
Definition: sprk.h:126
Definition: sprk.h:5366
virtual bool OnMouseEnter(MouseState const &in_state)
Definition: sprk.h:2002
Definition: sprk.h:4309
Definition: hps.h:43445
virtual bool Drop(Event const *in_that_event) const
Definition: sprk.h:1875
Definition: hps.h:1091
Definition: hps.h:1790
Definition: sprk.h:1071
SmoothTransitionCompleteEvent(HPS::View const &in_view)
Definition: sprk.h:4518
std::vector< KeyPath, Allocator< KeyPath > > KeyPathArray
Array of type HPS::KeyPath.
Definition: hps.h:6926
Definition: sprk.h:5206
Definition: hps.h:49214
Definition: sprk.h:1903
Definition: hps.h:7971
Definition: hps.h:3681
Definition: hps.h:2166
Definition: sprk.h:236
Definition: sprk.h:1755
Definition: sprk.h:403
Definition: hps.h:5011
bool HasAll(MouseButtons in_mouse_trigger, ModifierKeys in_modifier_trigger) const
Definition: sprk_ops.h:20
Definition: sprk.h:1606
Definition: hps.h:1479
Definition: hps.h:911
Definition: hps.h:43565
SmoothTransitionCompleteEvent(Event const &in_event)
Definition: sprk.h:4523
Definition: hps.h:1848
Definition: sprk.h:689
Definition: hps.h:1614
Definition: hps.h:9215
Definition: hps.h:267
Definition: hps.h:1917
Definition: sprk.h:39
virtual void OnViewAttached(HPS::View const &in_attached_view)
Definition: sprk.h:2046
Definition: hps.h:49112
Definition: hps.h:42477
Definition: sprk.h:549
Definition: sprk.h:1800
Definition: sprk.h:1402
ViewDetachedEvent(Event const &in_event)
Definition: sprk.h:1682
Definition: sprk.h:170
Definition: hps.h:42524
Definition: hps.h:41909
Definition: hps.h:45231
Definition: hps.h:1131
Definition: sprk.h:3994
Definition: sprk.h:4108
virtual bool OnMouseLeave(MouseState const &in_state)
Definition: sprk.h:2007
Definition: hps.h:10199
Definition: hps.h:43609
Definition: hps.h:1567
SmoothTransitionCompleteEvent()
Definition: sprk.h:4513
Definition: hps.h:1499
Definition: hps.h:1518
Definition: hps.h:39492
FilterActivationEvent(Event const &in_event)
Definition: sprk.h:3769
ModelDetachedEvent(Event const &in_event)
Definition: sprk.h:1774
Definition: sprk.h:214
Definition: hps.h:4588
Definition: sprk.h:5619
Definition: hps.h:7342
Definition: sprk.h:758
Definition: hps.h:48583
Definition: sprk.h:4059
Definition: sprk.h:2481
Definition: hps.h:45410
SprocketControl & operator=(SprocketControl &&in_that)
Definition: sprk.h:1064
Definition: hps.h:47473
Definition: hps.h:44490
Definition: hps.h:48999
Definition: sprk.h:1561
CaptureActivationEvent(Event const &in_event)
Definition: sprk.h:3858
Definition: hps.h:2333
virtual bool OnTouchDown(TouchState const &in_state)
Definition: sprk.h:2012
Definition: sprk.h:348
virtual bool OnMouseWheel(MouseState const &in_state)
Definition: sprk.h:1997
SprocketControl(SprocketControl &&in_that)
Definition: sprk.h:1059
Definition: hps.h:16110
Definition: sprk.h:1649
Definition: sprk.h:2621
Definition: hps.h:45697
Definition: hps.h:48090
The ComponentPath contains only components which are unique to this request, omitting ambiguous entri...
ViewDeletedEvent(Event const &in_event)
Definition: sprk.h:1731
Definition: hps.h:38995
Definition: sprk.h:4206
Definition: hps.h:6544
Definition: hps.h:14358
std::vector< UTF8, Allocator< UTF8 > > UTF8Array
Array of type HPS::UTF8.
Definition: hps.h:6894
Definition: sprk.h:192
Definition: sprk.h:2148
Definition: hps.h:433
Definition: sprk.h:1317
CanvasDeletedEvent(Event const &in_event)
Definition: sprk.h:1537
Definition: sprk.h:2993
std::shared_ptr< Operator > OperatorPtr
Shared pointer to an Operator object.
Definition: sprk.h:308
Definition: hps.h:47398
std::vector< Key, Allocator< Key > > KeyArray
Array of type HPS::Key.
Definition: hps.h:6898
Definition: hps.h:2185
Definition: sprk.h:3634
LayoutDetachedEvent(Event const &in_event)
Definition: sprk.h:1580
virtual bool OnMouseDown(MouseState const &in_state)
Definition: sprk.h:1982
Definition: sprk.h:3699
Definition: sprk.h:4360
Definition: sprk.h:1020
virtual void OnViewDetached(HPS::View const &in_detached_view)
Definition: sprk.h:2050
Definition: sprk.h:4509
Definition: hps.h:452
Definition: sprk.h:3799
Definition: hps.h:2205
Definition: sprk.h:4709
Definition: sprk.h:3452
Definition: sprk.h:4157
Definition: sprk.h:80
Definition: hps.h:9373
Definition: sprk.h:104
virtual bool IsMouseTriggered(MouseState const &in_state)
Definition: sprk.h:2076
Definition: hps.h:7889
Definition: sprk.h:3744
Definition: hps.h:38595
Definition: hps.h:378
ModelDeletedEvent(Event const &in_event)
Definition: sprk.h:1819
LayoutDeletedEvent(Event const &in_event)
Definition: sprk.h:1625
Definition: hps.h:9602
Definition: hps.h:11304
Definition: sprk.h:2091
virtual bool OnTouchMove(TouchState const &in_state)
Definition: sprk.h:2022
virtual bool Drop(Event const *in_that_event) const
Definition: sprk.h:4545
Definition: sprk.h:4990
Definition: sprk.h:258
Definition: sprk.h:3886
Definition: sprk.h:3496
Definition: hps.h:44141
Definition: hps.h:538
Definition: sprk.h:1945
Definition: sprk.h:832
Definition: sprk.h:479
Definition: hps.h:1197
Definition: hps.h:43491
Definition: sprk.h:1712
Definition: sprk.h:3840
Definition: hps.h:41973
Definition: hps.h:7600