diff options
| author | Roy Ben-Shabat <Roy@Twine-s.com> | 2019-05-23 16:44:30 +0300 |
|---|---|---|
| committer | Roy Ben-Shabat <Roy@Twine-s.com> | 2019-05-23 16:44:30 +0300 |
| commit | 26cee052a5b20d7a5bdb597776c55dcd3da2da62 (patch) | |
| tree | fd4a4bfceeb4509515913557fc66ad28704abdf9 /Software/Visual_Studio/Tango.Core/ExtensionMethods | |
| parent | 2521b3c058fe18f1ebd48a85577349b49c1c2108 (diff) | |
| download | Tango-26cee052a5b20d7a5bdb597776c55dcd3da2da62.tar.gz Tango-26cee052a5b20d7a5bdb597776c55dcd3da2da62.zip | |
Implemented new Twine color catalog !
Diffstat (limited to 'Software/Visual_Studio/Tango.Core/ExtensionMethods')
| -rw-r--r-- | Software/Visual_Studio/Tango.Core/ExtensionMethods/FrameworkElementExtensions.cs | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/Software/Visual_Studio/Tango.Core/ExtensionMethods/FrameworkElementExtensions.cs b/Software/Visual_Studio/Tango.Core/ExtensionMethods/FrameworkElementExtensions.cs index 7539deba2..040668f7d 100644 --- a/Software/Visual_Studio/Tango.Core/ExtensionMethods/FrameworkElementExtensions.cs +++ b/Software/Visual_Studio/Tango.Core/ExtensionMethods/FrameworkElementExtensions.cs @@ -435,6 +435,70 @@ public static class FrameworkElementExtensions RegisterForMouseOrTouchMove(element, null, handler); } + /// <summary> + /// Registers for mouse or stylus move. + /// </summary> + /// <param name="element">The element.</param> + /// <param name="relativeTo">The relative to.</param> + /// <param name="handler">The handler.</param> + public static void RegisterForMouseOrStylusMove(this FrameworkElement element, FrameworkElement relativeTo, EventHandler<MouseOrTouchEventArgs> handler) + { + bool _isTouch = false; + + MouseEventHandler mouseHandler = (x, e) => + { + if (!_isTouch) + { + var args = new MouseOrTouchEventArgs() + { + Location = new Point(e.GetPosition(relativeTo != null ? relativeTo : element).X, e.GetPosition(relativeTo != null ? relativeTo : element).Y), + Source = e.Source, + OriginalSource = e.OriginalSource, + Handled = e.Handled, + GetPositionAction = e.GetPosition + }; + + handler(element, args); + e.Handled = args.Handled; + } + }; + + //element.MouseMove += mouseHandler; + element.AddHandler(FrameworkElement.MouseMoveEvent, mouseHandler); + + StylusEventHandler touchHandler = (x, e) => + { + _isTouch = true; + + var args = new MouseOrTouchEventArgs() + { + Location = new Point(e.GetPosition(relativeTo != null ? relativeTo : element).X, e.GetPosition(relativeTo != null ? relativeTo : element).Y), + Source = e.Source, + OriginalSource = e.OriginalSource, + Handled = e.Handled, + GetPositionAction = (s) => { return e.GetPosition(s); }, + StylusDevice = e.StylusDevice, + }; + + handler(element, args); + e.Handled = args.Handled; + }; + + + //element.TouchMove += touchHandler; + element.AddHandler(FrameworkElement.StylusMoveEvent, touchHandler); + } + + /// <summary> + /// Registers for mouse or stylus move. + /// </summary> + /// <param name="element">The element.</param> + /// <param name="handler">The handler.</param> + public static void RegisterForMouseOrStylusMove(this FrameworkElement element, EventHandler<MouseOrTouchEventArgs> handler) + { + RegisterForMouseOrStylusMove(element, null, handler); + } + #endregion #region Loaded |
