Exemplo n.º 1
0
        private ISkiaInputComponent getSkiaInputComponent(SKPoint point)
        {
            List <ISkiaInputComponent> inputComponents = new List <ISkiaInputComponent>();

            for (int i = 0; i < SkiaBehaviourEngine.SkiaObjectCount; i++)
            {
                SkiaObject skiaObject = SkiaBehaviourEngine.GetSkiaObject(i);
                if (skiaObject is ISkiaInputComponent)
                {
                    ISkiaInputComponent inputComponent = skiaObject as ISkiaInputComponent;
                    if (inputComponent.FirstTouchArea.IsOverlapPoint(point))
                    {
                        inputComponents.Add(inputComponent);
                    }
                }
            }
            if (inputComponents.Count == 0)
            {
                return(null);
            }
            ISkiaInputComponent topInputComponent = inputComponents[0];

            for (int i = 0; i < inputComponents.Count; i++)
            {
                if (inputComponents[i].InputHeightLevel > topInputComponent.InputHeightLevel)
                {
                    topInputComponent = inputComponents[i];
                }
            }
            return(topInputComponent);
        }
Exemplo n.º 2
0
 public static SkiaInputManager GetSkiaInputManager(this SkiaBehaviourEngine self)
 {
     for (int i = 0; i < self.SkiaObjectCount; i++)
     {
         SkiaObject skiaObject = self.GetSkiaObject(i);
         if (skiaObject is SkiaInputManager)
         {
             return(skiaObject as SkiaInputManager);
         }
     }
     return(null);
 }