private void SensorTouchUp(object sender, EchoPointEventArgs e)
        {
            lock (m_syncObj)
            {
                if (!m_enabled)
                {
                    return;
                }

                if (!m_tracking)
                {
                    m_detection[0] = e.Point;
                    m_stopwatch.Restart();

                    m_trackTimer.Start();
                    m_tracking = true;
                }
                else
                {
                    m_tracking = false;
                    m_trackTimer.Stop();

                    m_detection[1] = e.Point;

                    CalculateBike();
                    UpdateUI();

                    m_stopwatch.Reset();
                }
            }
        }
 private void SensorTouchMove(object sender, EchoPointEventArgs e)
 {
     // is in slider range?
     if (e.Point.Distance >= m_sliderRange.Item1 &&
         e.Point.Distance <= m_sliderRange.Item2)
     {
         // we are in the slider
         // adjust the values
         double percentage = (e.Point.Distance - m_sliderRange.Item1)
                             / (m_sliderRange.Item2 - m_sliderRange.Item1);
         AdjustVolume(percentage);
     }
 }
 private void SensorTouchMove(object sender, EchoPointEventArgs e)
 {
 }
 private void SensorTouchUp(object sender, EchoPointEventArgs e)
 {
     PerformDiscreteInput(e.Point.Distance);
 }
 private void SensorTouchDown(object sender, EchoPointEventArgs e)
 {
     // not much to do here
 }