Пример #1
0
        private void OnSizeChanged(object sender, SizeChangedEventArgs e)
        {
            var width  = e.NewSize.Width;
            var height = e.NewSize.Height;

            _startPoint = new Vector2((float)width / 2f, (float)height / 2f);
            DrawCanvas.Invalidate();
        }
Пример #2
0
        private void OnPointerPressed(object sender, PointerRoutedEventArgs e)
        {
            _isDragging = true;
            _startPoint = e.GetCurrentPoint(DrawCanvas).Position.ToVector2();
            _endPoint   = _startPoint;
            _colorIndex = (_colorIndex + 1) % _colors.Length;

            _splineColor = _colors[_colorIndex];
            DrawCanvas.Invalidate();
        }
Пример #3
0
        private void OnPointerMoved(object sender, PointerRoutedEventArgs e)
        {
            if (!_isDragging)
            {
                return;
            }

            _drawSpline = true;
            _endPoint   = e.GetCurrentPoint(DrawCanvas).Position.ToVector2();
            DrawCanvas.Invalidate();
        }
Пример #4
0
        private void BtnDraw_Click(object sender, EventArgs e)
        {
            Draw = true;
            UpdateParameters();
            //Run in new thread to keep UI responsive
            Task.Run(() =>
            {
                int MiddleCanvasX = DrawCanvas.Size.Width / 2;
                Trunk             = new FractalLine(new Point(MiddleCanvasX, DrawCanvas.Size.Height), StartHeight, 90, null);

                AddBranch(Trunk, 0);
                DrawCanvas.Invalidate();
            });
        }
Пример #5
0
 private void OnClearSplines(object sender, RoutedEventArgs e)
 {
     _pointData.Clear();
     DrawCanvas.Invalidate();
 }
Пример #6
0
 private void OnHideControlPoints(object sender, RoutedEventArgs e)
 {
     _showControlPoints = false;
     DrawCanvas.Invalidate();
 }