aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Tango.Core/ExtensionMethods
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2019-05-23 16:44:30 +0300
committerRoy Ben-Shabat <Roy@Twine-s.com>2019-05-23 16:44:30 +0300
commit26cee052a5b20d7a5bdb597776c55dcd3da2da62 (patch)
treefd4a4bfceeb4509515913557fc66ad28704abdf9 /Software/Visual_Studio/Tango.Core/ExtensionMethods
parent2521b3c058fe18f1ebd48a85577349b49c1c2108 (diff)
downloadTango-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.cs64
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