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) { } } }
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"); } } }
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); } } } } }
public void OnLazo(object obj, GestureEventArgs args) { LazoGREventArgs cArgs = (LazoGREventArgs)args; foreach (DemoObject demoObject in cArgs.Selected) demoObject.IsSelected = true; //refresh }
public void OnTap(object obj, GestureEventArgs args) { //Console.WriteLine("tap"); BasicMultiFingerEventArgs cArgs = (BasicMultiFingerEventArgs)args; if (cArgs.NFingers == 1) IsSelected = false; }
public void OnPinch(object obj, GestureEventArgs args) { PinchEventArgs cArgs = (PinchEventArgs)args; m_targetRadius = cArgs.Size; }
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); }
public void OnDoubleTap(object obj, GestureEventArgs args) { //Console.WriteLine("double tap"); //BasicMultiFingerEventArgs cArgs = (BasicMultiFingerEventArgs)args; }
/// <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); } } }
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); }
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; } } }
//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; } }