Ejemplo n.º 1
0
        private void TweenChanged(object sender, GTweenEventArgs e)
        {
            var x = Math.Max(_plotAt.X, 0);

            x = Math.Min(x, _bitmap.Width - 1);

            var y = _bitmap.Height - 1 - _plotAt.Y;

            y = Math.Max(y, 0);
            y = Math.Min(y, _bitmap.Height - 1);

            using (var gfx = Graphics.FromImage(_bitmap))
            {
                gfx.DrawLine(Pens.Red, (float)_plotFrom.X, (float)_plotFrom.Y, (float)x, (float)y);
            }

            bitmapDisplay?.Invoke((MethodInvoker)bitmapDisplay.Refresh);

            _plotFrom.X = x;
            _plotFrom.Y = y;
        }
Ejemplo n.º 2
0
        private void TweenCompleted(object sender, GTweenEventArgs e)
        {
            var tween = e.Tween;

            tween.Completed -= TweenCompleted;

            var from = (Point)tween.Data;
            var to   = (Point)tween.Target;

            var xFrom = Math.Max((float)from.X, 0f);

            xFrom = Math.Min(xFrom, _maxWidth);

            var yFrom = Math.Max((float)from.Y, 0f);

            yFrom = Math.Min(yFrom, _maxHeight);

            var xTo = xFrom;

            xTo += _maxWidth / ((float)tween.Duration * 1000 / 40);
            xTo  = Math.Max(xTo, 0.0f);
            xTo  = Math.Min(xTo, _maxWidth);

            var yTo = Math.Max((float)to.Y, 0f);

            yTo = Math.Min(yTo, _maxHeight);

            try
            {
                _graphics.DrawLine(Pens.Bisque, xFrom, yFrom, xTo, yTo);
            }
            catch (InvalidOperationException)
            {
            }
            finally
            {
                _counter.Signal();
            }
        }
Ejemplo n.º 3
0
 private void TweenCompleted(object sender, GTweenEventArgs e)
 {
     _xTween.Paused = _yTween.Paused = true;
 }