void _client_TouchHeld(ITouchData data)
        {
            if (stopping)
            {
                return;
            }

            this.TouchHeld(data.Id);
        }
        void _client_TouchAdded(ITouchData data)
        {
            if (stopping)
            {
                return;
            }

            Touch t = buildTouch(data);

            this.TouchAdded(t);
        }
        void _client_TouchUpdated(ITouchData data)
        {
            if (stopping)
            {
                return;
            }

            Touch t = buildTouch(data);

            this.TouchUpdated(t.TouchId, t.TouchPoint, t.Properties);
        }
        Touch buildTouch(ITouchData rawTouch)
        {
            TouchProperties prop;

            prop.Acceleration = rawTouch.Acceleration;
            prop.VelocityX    = rawTouch.VelocityX;
            prop.VelocityY    = rawTouch.VelocityY;

            PointF p = getTouchPoint(rawTouch);

            Touch t = new Touch(rawTouch.Id, p);

            t.Properties = prop;

            return(t);
        }
        PointF getTouchPoint(ITouchData data)
        {
            float x1 = getScreenPoint((float)data.PositionX,
                                      traalConfig.Projection.ScaleX,
                                      traalConfig.Projection.OffsetX,
                                      traalConfig.Alignment.FlipX,
                                      traalConfig.CorrectProjection,
                                      ScreenWidth);
            float y1 = getScreenPoint((float)data.PositionY,
                                      traalConfig.Projection.ScaleY,
                                      traalConfig.Projection.OffsetY,
                                      traalConfig.Alignment.FlipY,
                                      traalConfig.CorrectProjection,
                                      ScreenHeight);

            PointF t = new PointF(x1, y1);

            return(t);
        }
        PointF getTouchPoint(ITouchData data)
        {
            float x1 = getScreenPoint((float)data.PositionX,
                traalConfig.Projection.ScaleX,
                traalConfig.Projection.OffsetX,
                traalConfig.Alignment.FlipX,
                traalConfig.CorrectProjection,
                ScreenWidth);
            float y1 = getScreenPoint((float)data.PositionY,
                traalConfig.Projection.ScaleY,
                traalConfig.Projection.OffsetY,
                traalConfig.Alignment.FlipY,
                traalConfig.CorrectProjection,
                ScreenHeight);

            PointF t = new PointF(x1, y1);
            return t;
        }
        Touch buildTouch(ITouchData rawTouch)
        {
            TouchProperties prop;
            prop.Acceleration = rawTouch.Acceleration;
            prop.VelocityX = rawTouch.VelocityX;
            prop.VelocityY = rawTouch.VelocityY;

            PointF p = getTouchPoint(rawTouch);

            Touch t = new Touch(rawTouch.Id, p);
            t.Properties = prop;

            return t;
        }
 void _client_TouchAdded(ITouchData data)
 {
     if (stopping) return;
     
     Touch t = buildTouch(data);
     this.TouchAdded(t);
 }
        void _client_TouchHeld(ITouchData data)
        {
            if (stopping) return;

            this.TouchHeld(data.Id);
        }
 void _client_TouchUpdated(ITouchData data)
 {
     if (stopping) return;
     
     Touch t = buildTouch(data);
     this.TouchUpdated(t.TouchId, t.TouchPoint, t.Properties);
 }