Base class for gesture event data.
Наследование: System.EventArgs
Пример #1
0
        public void OnMultiTraceFromTo(object obj, GestureEventArgs args)
        {
            MultiTraceFromToEventArgs cArgs = (MultiTraceFromToEventArgs)args;
            if (cArgs.FromTarget is DemoObject && cArgs.ToTarget is DemoObject)
            {
                DemoObject fromObj = (DemoObject)cArgs.FromTarget;
                DemoObject toObj = (DemoObject)cArgs.ToTarget;
                if (fromObj != toObj)
                {

                }
            }
        }
Пример #2
0
 public void OnRemoveLinks(object obj, GestureEventArgs args)
 {
     RemovingLinkGREventArgs cArgs = (RemovingLinkGREventArgs)args;
     lock (s_lock)
     {
         foreach (DemoObjectLink link in cArgs.Links)
         {
             m_links.Remove(link);
             //Console.WriteLine("Link removed");
         }
     }
 }
Пример #3
0
        public void OnMultiTraceFromTo(object obj, GestureEventArgs args)
        {
            MultiTraceFromToEventArgs cArgs = (MultiTraceFromToEventArgs)args;
            if (cArgs.FromTarget is DemoObject && cArgs.ToTarget is DemoObject)
            {
                DemoObject fromObj = (DemoObject)cArgs.FromTarget;
                DemoObject toObj = (DemoObject)cArgs.ToTarget;
                if (fromObj != toObj)
                {
                    DemoObjectLink link = MakeLink(fromObj, toObj, cArgs.NOfFingers);
                    if (link != null)
                    {
                        lock (s_lock)
                        {
                            m_links.Add(link);
                        }
                    }

                }
            }
        }
Пример #4
0
 public void OnLazo(object obj, GestureEventArgs args)
 {
     LazoGREventArgs cArgs = (LazoGREventArgs)args;
     foreach (DemoObject demoObject in cArgs.Selected)
         demoObject.IsSelected = true;
     //refresh
 }
Пример #5
0
 public void OnTap(object obj, GestureEventArgs args)
 {
     //Console.WriteLine("tap");
     BasicMultiFingerEventArgs cArgs = (BasicMultiFingerEventArgs)args;
     if (cArgs.NFingers == 1)
         IsSelected = false;
 }
Пример #6
0
 public void OnPinch(object obj, GestureEventArgs args)
 {
     PinchEventArgs cArgs = (PinchEventArgs)args;
     m_targetRadius = cArgs.Size;
 }
Пример #7
0
 public void OnHover(object obj, GestureEventArgs args)
 {
     BasicMultiFingerEventArgs cArgs = (BasicMultiFingerEventArgs)args;
     //Console.WriteLine("hover on {0} ({1} fingers)", m_id, cArgs.NFingers);
     if (cArgs.NFingers > 2)
         m_objectManager.OpenLinkRequest(cArgs.NFingers, this);
 }
Пример #8
0
 public void OnDoubleTap(object obj, GestureEventArgs args)
 {
     //Console.WriteLine("double tap");
     //BasicMultiFingerEventArgs cArgs = (BasicMultiFingerEventArgs)args;
 }
Пример #9
0
 /// <summary>
 /// Use this method to send events. If the GR is not armed (e.g. it's in competition
 /// with other GRs), events will be scheduled in a queue and raised as soon as the GR 
 /// will be armed. If the GR is already armed, events are raised immediately.
 /// </summary>
 /// <param name="ev">The event</param>
 /// <param name="args">The event's arguments</param>
 protected void AppendEvent(GestureEventHandler ev, GestureEventArgs args)
 {
     if (ev != null)
     {
         if (m_armed)
             ev(this, args);
         else
         {
             m_bufferedHandlers.Add((GestureEventHandler)ev.Clone());
             m_bufferedArgs.Add(args);
         }
     }
 }
Пример #10
0
 public void OnPinch(object obj, GestureEventArgs args)
 {
     PinchEventArgs cArgs = (PinchEventArgs)args;
     m_x = cArgs.X;
     m_y = cArgs.Y;
     m_size = cArgs.Size;
     m_theta = (float)((double)cArgs.Rotation / Math.PI * 180.0d);
 }
Пример #11
0
        public void OnCircleGesture(object gr, GestureEventArgs args)
        {
            CircleGREventArgs cArgs = (CircleGREventArgs)args;

            lock (s_lock)
            {
                m_displayCalculator = !m_displayCalculator;
                if (m_displayCalculator)
                {
                    m_calculator.X = cArgs.MeanCenterX;
                    m_calculator.Y = cArgs.MeanCenterY;
                    m_calculator.Size = cArgs.MeanRadius * 2;
                }
            }
        }
Пример #12
0
        //private void OnPress(BasicMultiFingerEventArgs cArgs)       { if (Press != null)          Press(this, cArgs); }
        //private void OnLift(BasicMultiFingerEventArgs cArgs)        { if (Lift != null)           Lift(this, cArgs); }
        private void OnGestureEvent(object obj, GestureEventArgs args)
        {
            BasicMultiFingerEventArgs cArgs = (BasicMultiFingerEventArgs)args;
            //Console.WriteLine("event: " + cArgs.EventId + ", n: " + cArgs.NFingers);

            switch (cArgs.EventId)
            {
                case "Down":
                    if ((m_owningGroup == -1 || m_owningGroup == cArgs.GroupId) &&
                        cArgs.ValidInitialZTarget == this)
                    {
                        if (!m_isPressed)
                        {
                            m_isPressed = true;
                            m_owningGroup = cArgs.GroupId;
                        }
                        OnDown(cArgs);
                    }
                    break;

                case "Up":
                    if (m_isPressed && m_owningGroup == cArgs.GroupId)
                    {
                        if (cArgs.NFingers == 0)
                            m_isPressed = false;
                        OnUp(cArgs);
                    }
                    break;

                case "Tap":
                case "DoubleTap":
                case "TripleTap":
                    if (m_owningGroup == cArgs.GroupId)
                    {
                        OnTap(cArgs);
                    }
                    break;

                case "Enter":
                    if (m_owningGroup == -1 || m_owningGroup == cArgs.GroupId)
                    {
                        m_owningGroup = cArgs.GroupId;
                        OnEnter(cArgs);
                    }
                    break;

                case "Leave":
                    if (m_owningGroup == -1 || m_owningGroup == cArgs.GroupId)
                    {
                        m_isPressed = false;
                        m_owningGroup = -1;
                        OnLeave(cArgs);
                    }
                    break;

                case "Move":
                    if (m_owningGroup == cArgs.GroupId)
                        OnMove(cArgs);
                    break;

                case "Hover":
                    if (m_owningGroup == cArgs.GroupId)
                    {
                        m_hovering = true;
                        m_hoveringGroup = cArgs.GroupId;
                        OnHover(cArgs);
                    }
                    break;

                case "EndHover":
                    if (m_hoveringGroup == cArgs.GroupId)
                    {
                        m_hovering = false;
                        m_hoveringGroup = -1;
                        OnEndHover(cArgs);
                    }
                    break;

                case "Removed":
                    if (m_owningGroup == cArgs.GroupId)
                    {
                        m_owningGroup = -1;
                    }
                    break;
            }
        }