internal Trace(CursorPoint cursor, Group group, List<IGestureListener> targets, bool guiTargets) { m_id = s_idCounter++; m_group = group; m_path = new List<CursorPoint>(); m_path.Add(cursor); m_first = m_last = cursor; m_state = States.ADDED; m_isAlive = true; m_initialTargets = new List<IGestureListener>(); m_finalTargets = new List<IGestureListener>(); m_enteringTargets = new List<IGestureListener>(); m_currentTargets = new List<IGestureListener>(); m_leavingTargets = new List<IGestureListener>(); m_intersectionTargets = new List<IGestureListener>(); m_unionTargets = new List<IGestureListener>(); m_group.StartTrace(this); UpdateTargets(targets, guiTargets); }