Beispiel #1
0
        // Join
        private void ConstructJoin()
        {
            this.JoinSegmented.JoinChanged += (s, join) =>
            {
                CanvasLineJoin strokeStyleJoin = join;
                this.SelectionViewModel.StrokeStyle_Join = strokeStyleJoin;

                this.MethodViewModel.ILayerChanged <CanvasLineJoin>
                (
                    set: (layer) =>
                {
                    layer.Style.StrokeStyle.LineJoin           = strokeStyleJoin;
                    this.SelectionViewModel.StandardStyleLayer = layer;
                },

                    type: HistoryType.LayersProperty_SetStyle_StrokeStyle_Join,
                    getUndo: (layer) => layer.Style.StrokeStyle.LineJoin,
                    setUndo: (layer, previous) => layer.Style.StrokeStyle.LineJoin = previous
                );
            };
        }
Beispiel #2
0
        internal BaseStrokeContent(LottieDrawable lottieDrawable, BaseLayer layer, CanvasCapStyle cap, CanvasLineJoin join, AnimatableIntegerValue opacity, AnimatableFloatValue width, List <AnimatableFloatValue> dashPattern, AnimatableFloatValue offset)
        {
            _lottieDrawable = lottieDrawable;

            Paint.Style      = Paint.PaintStyle.Stroke;
            Paint.StrokeCap  = cap;
            Paint.StrokeJoin = join;

            _opacityAnimation = opacity.CreateAnimation();
            _widthAnimation   = width.CreateAnimation();

            if (offset == null)
            {
                _dashPatternOffsetAnimation = null;
            }
            else
            {
                _dashPatternOffsetAnimation = offset.CreateAnimation();
            }
            _dashPatternAnimations = new List <IBaseKeyframeAnimation <float?, float?> >(dashPattern.Count);
            _dashPatternValues     = new float[dashPattern.Count];

            for (var i = 0; i < dashPattern.Count; i++)
            {
                _dashPatternAnimations.Add(dashPattern[i].CreateAnimation());
            }

            layer.AddAnimation(_opacityAnimation);
            layer.AddAnimation(_widthAnimation);
            for (var i = 0; i < _dashPatternAnimations.Count; i++)
            {
                layer.AddAnimation(_dashPatternAnimations[i]);
            }
            if (_dashPatternOffsetAnimation != null)
            {
                layer.AddAnimation(_dashPatternOffsetAnimation);
            }

            _opacityAnimation.ValueChanged += OnValueChanged;
            _widthAnimation.ValueChanged   += OnValueChanged;

            for (var i = 0; i < dashPattern.Count; i++)
            {
                _dashPatternAnimations[i].ValueChanged += OnValueChanged;
            }
            if (_dashPatternOffsetAnimation != null)
            {
                _dashPatternOffsetAnimation.ValueChanged += OnValueChanged;
            }
        }