Пример #1
0
 public override void PressesEnded(NSSet <UIPress> presses, UIPressesEvent evt)
 {
     if (ControllerUserInteractionEnabled)
     {
         base.PressesEnded(presses, evt);
     }
 }
        private void handlePresses(NSSet <UIPress> presses, UIPressesEvent evt)
        {
            if (!IsActive)
            {
                return;
            }

            foreach (var press in presses.Cast <UIPress>())
            {
                if (press.Key == null)
                {
                    continue;
                }

                var key = keyFromCode(press.Key.KeyCode);
                if (key == Key.Unknown || host.TextFieldHandler.Handled(key))
                {
                    continue;
                }

                switch (press.Phase)
                {
                case UIPressPhase.Began:
                    PendingInputs.Enqueue(new KeyboardKeyInput(key, true));
                    break;

                case UIPressPhase.Ended:
                case UIPressPhase.Cancelled:
                    PendingInputs.Enqueue(new KeyboardKeyInput(key, false));
                    break;
                }
            }
        }
Пример #3
0
        public override void PressesBegan(NSSet <UIPress> presses, UIPressesEvent evt)
        {
            base.PressesBegan(presses, evt);
            var pressesList = presses.ToArray().ToList();
            var firstPress  = pressesList.FirstOrDefault();

            if (firstPress != null)
            {
                var keyCode = KeyCode.Unknown;

                switch (firstPress.Key.KeyCode)
                {
                case UIKeyboardHidUsage.KeyboardUpArrow:
                    keyCode = KeyCode.UpArrow;
                    break;

                case UIKeyboardHidUsage.KeyboardDownArrow:
                    keyCode = KeyCode.DownArrow;
                    break;
                }

                if (keyCode != KeyCode.Unknown)
                {
                    KeyPressed?.Invoke(this, new KeyPressEventArgs(keyCode, firstPress.Key.Characters));
                }
            }
        }
Пример #4
0
        /// <summary>
        /// A button has been pressed, ignore it if we are currently loading.
        /// </summary>
        /// <param name="presses">Presses.</param>
        /// <param name="evt">Evt.</param>
        public override void PressesBegan(NSSet <UIPress> presses, UIPressesEvent evt)
        {
            if (LoadingCancellationTokenSource != null && ViewControllers.Length > 0)
            {
                return;
            }

            base.PressesBegan(presses, evt);
        }
Пример #5
0
		public override void PressesEnded (NSSet<UIPress> presses, UIPressesEvent evt)
		{
			base.PressesEnded (presses, evt);

			foreach (UIPress press in presses) {
				// Was the Touch Surface clicked?
				if (press.Type == UIPressType.Select) {
					BackgroundColor = UIColor.Clear;
				}
			}
		}
Пример #6
0
        public override void PressesEnded(NSSet <UIPress> presses, UIPressesEvent evt)
        {
            base.PressesEnded(presses, evt);

            foreach (UIPress press in presses)
            {
                // Was the Touch Surface clicked?
                if (press.Type == UIPressType.Select)
                {
                    BackgroundColor = UIColor.Clear;
                }
            }
        }
Пример #7
0
        public override void PressesCancelled(NSSet <UIPress> presses, UIPressesEvent evt)
        {
            base.PressesCancelled(presses, evt);

            foreach (UIPress press in presses)
            {
                // Was the Touch Surface clicked?
                if (press.Type == UIPressType.Select)
                {
                    SongClicked.Invoke(this, Song);
                }
            }
        }
Пример #8
0
        public override void PressesEnded(NSSet <UIPress> presses, UIPressesEvent evt)
        {
            base.PressesEnded(presses, evt);

            foreach (UIPress press in presses)
            {
                // Was the Touch Surface clicked?
                if (press.Type == UIPressType.Select)
                {
                    Animate(.1f, () =>
                    {
                        Transform = CGAffineTransform.MakeScale(1.1f, 1.1f);
                    });
                }
            }
        }
Пример #9
0
        public override async void PressesBegan(NSSet <UIPress> presses, UIPressesEvent evt)
        {
            base.PressesBegan(presses, evt);

            foreach (UIPress press in presses)
            {
                // Was the Touch Surface clicked?
                if (press.Type == UIPressType.Select)
                {
                    Animate(.1f, () =>
                    {
                        Transform = CGAffineTransform.MakeScale(1F, 1F);
                    });
                    SongClicked?.Invoke(this, Song);
                    //var x = await MusicService.GetLyricsBySongId(Song.SongId);
                    //System.Console.WriteLine($"Lyrics:{x}");
                }
            }
        }
Пример #10
0
        public override void PressesBegan(NSSet <UIPress> presses, UIPressesEvent evt)
        {
            var handled           = false;
            var focusInputHandler = Uno.UI.Xaml.Core.CoreServices.Instance.MainRootVisual?.AssociatedVisualTree?.UnoFocusInputHandler;

            if (Uno.WinRTFeatureConfiguration.Focus.EnableExperimentalKeyboardFocus && focusInputHandler != null)
            {
                foreach (UIPress press in presses)
                {
                    if (press.Key.KeyCode == UIKeyboardHidUsage.KeyboardTab)
                    {
                        var shift =
                            press.Key.ModifierFlags.HasFlag(UIKeyModifierFlags.AlphaShift) ||
                            press.Key.ModifierFlags.HasFlag(UIKeyModifierFlags.Shift);
                        handled |= focusInputHandler.TryHandleTabFocus(shift);
                    }
                    else if (press.Key.KeyCode == UIKeyboardHidUsage.KeyboardLeftArrow)
                    {
                        handled |= focusInputHandler.TryHandleDirectionalFocus(Windows.System.VirtualKey.Left);
                    }
                    else if (press.Key.KeyCode == UIKeyboardHidUsage.KeyboardRightArrow)
                    {
                        handled |= focusInputHandler.TryHandleDirectionalFocus(Windows.System.VirtualKey.Right);
                    }
                    else if (press.Key.KeyCode == UIKeyboardHidUsage.KeyboardUpArrow)
                    {
                        handled |= focusInputHandler.TryHandleDirectionalFocus(Windows.System.VirtualKey.Up);
                    }
                    else if (press.Key.KeyCode == UIKeyboardHidUsage.KeyboardDownArrow)
                    {
                        handled |= focusInputHandler.TryHandleDirectionalFocus(Windows.System.VirtualKey.Down);
                    }
                }
            }

            if (!handled)
            {
                base.PressesBegan(presses, evt);
            }
        }
Пример #11
0
        /// <summary>
        /// A button press has ended. Check if we need to handle it.
        /// </summary>
        /// <param name="presses">Presses.</param>
        /// <param name="evt">Evt.</param>
        public override void PressesEnded(NSSet <UIPress> presses, UIPressesEvent evt)
        {
            //
            // Check for menu button while loading.
            //
            if (LoadingCancellationTokenSource != null && ViewControllers.Length > 0)
            {
                foreach (UIPress press in presses)
                {
                    if (press.Type == UIPressType.Menu)
                    {
                        LoadingCancellationTokenSource.Cancel();
                        LoadingCancellationTokenSource = null;
                        HideLoading();
                    }
                }

                return;
            }

            base.PressesEnded(presses, evt);
        }
Пример #12
0
 public override void PressesBegan(NSSet <UIPress> presses, UIPressesEvent evt)
 {
     if (presses.Count == 0)
     {
         return;
     }
     foreach (UIPress press in presses)
     {
         if (press.Type == UIPressType.Menu)
         {
             if (platformBackButton == null)
             {
                 platformBackButton = _platform.Game.Services.GetService <IPlatformBackButton>();
             }
             if (platformBackButton != null)
             {
                 if (!platformBackButton.Handled())
                 {
                     ControllerUserInteractionEnabled = true;
                 }
                 else
                 {
                     Microsoft.Xna.Framework.Input.GamePad.MenuPressed = true;
                 }
             }
             else
             {
                 ControllerUserInteractionEnabled = true;
             }
         }
     }
     if (ControllerUserInteractionEnabled)
     {
         base.PressesBegan(presses, evt);
     }
 }
Пример #13
0
 public override void PressesCancelled(NSSet <UIPress> presses, UIPressesEvent evt)
 {
     base.PressesCancelled(presses, evt);
     _touchAndPressEffectConsumer.ConsumeEvent(EventType.Cancelled);
 }
Пример #14
0
 public override void PressesBegan(NSSet <UIPress> presses, UIPressesEvent evt)
 {
     base.PressesBegan(presses, evt);
     _touchAndPressEffectConsumer.ConsumeEvent(EventType.Pressing);
 }
Пример #15
0
 public override void PressesEnded(NSSet<UIPress> presses, UIPressesEvent evt)
 {
     if (ControllerUserInteractionEnabled)
         base.PressesEnded(presses, evt);
 }
Пример #16
0
		public override void PressesChanged (NSSet<UIPress> presses, UIPressesEvent evt)
		{
			base.PressesChanged (presses, evt);
		}
Пример #17
0
 public override void PressesChanged(NSSet <UIPress> presses, UIPressesEvent evt)
 {
     base.PressesChanged(presses, evt);
 }
Пример #18
0
 public override void PressesBegan(NSSet<UIPress> presses, UIPressesEvent evt)
 {
     if (presses.Count == 0)
         return;
     foreach (UIPress press in presses)
     {
         if (press.Type == UIPressType.Menu)
         {
             if (platformBackButton == null)
                 platformBackButton = _platform.Game.Services.GetService<IPlatformBackButton>();
             if (platformBackButton != null)
             {
                 if (!platformBackButton.Handled())
                 {
                     ControllerUserInteractionEnabled = true;
                 }
                 else
                 {
                     Microsoft.Xna.Framework.Input.GamePad.MenuPressed = true;
                 }
             }
             else
             {
                 ControllerUserInteractionEnabled = true;
             }
         }
     }
     if (ControllerUserInteractionEnabled)
         base.PressesBegan(presses, evt);
 }