protected override void DoMouseUp(Point p) { if (m_dragging) { m_dragging = false; double diff = p.X - m_startPos.X; double x = m_startX + diff; x = Math.Max(StartX, Math.Min(EndX, x)); DateTime t = new DateTime(); m_dragLine = Bar.GetTimeAtPos(x - StartX, ref t); if (m_dragLine != null) { Bar.FireSelectedEvent(new TimelineEventArg(m_dragLine, t)); } else { this.X = m_startX; } m_dragLine = null; Draw(); } }
protected override void DoMouseMove(Point p, bool pushed) { if (m_dragging) { if (pushed) { double diff = p.X - m_startPos.X; double x = m_startX + diff; x = Math.Max(StartX, Math.Min(EndX, x)); DateTime t = new DateTime(); m_dragLine = Bar.GetTimeAtPos(x - StartX, ref t); m_dragTime = t; this.X = x; Draw(); } else { m_dragging = false; } } }