예제 #1
0
        public static TableBorder lerp(TableBorder a, TableBorder b, float t)
        {
            if (a == null && b == null)
            {
                return(null);
            }

            if (a == null)
            {
                return(b.scale(t));
            }

            if (b == null)
            {
                return(a.scale(1.0f - t));
            }

            return(new TableBorder(
                       top: BorderSide.lerp(a.top, b.top, t),
                       right: BorderSide.lerp(a.right, b.right, t),
                       bottom: BorderSide.lerp(a.bottom, b.bottom, t),
                       left: BorderSide.lerp(a.left, b.left, t),
                       horizontalInside: BorderSide.lerp(a.horizontalInside, b.horizontalInside, t),
                       verticalInside: BorderSide.lerp(a.verticalInside, b.verticalInside, t)
                       ));
        }
        public override ShapeBorder lerpTo(ShapeBorder b, float t) {
            if (b is UnderlineInputBorder) {
                return new UnderlineInputBorder(
                    borderSide: BorderSide.lerp(this.borderSide, (b as UnderlineInputBorder).borderSide, t),
                    borderRadius: BorderRadius.lerp(this.borderRadius, (b as UnderlineInputBorder).borderRadius, t)
                );
            }

            return base.lerpTo(b, t);
        }
        public override ShapeBorder lerpFrom(ShapeBorder a, float t) {
            if (a is UnderlineInputBorder) {
                return new UnderlineInputBorder(
                    borderSide: BorderSide.lerp((a as UnderlineInputBorder).borderSide, this.borderSide, t),
                    borderRadius: BorderRadius.lerp((a as UnderlineInputBorder).borderRadius, this.borderRadius, t)
                );
            }

            return base.lerpFrom(a, t);
        }
예제 #4
0
        public override ShapeBorder lerpTo(ShapeBorder b, float t)
        {
            if (b is _OutlineBorder)
            {
                return(new _OutlineBorder(
                           side: BorderSide.lerp(this.side, (b as _OutlineBorder).side, t),
                           shape: lerp(this.shape, (b as _OutlineBorder).shape, t)
                           ));
            }

            return(base.lerpTo(b, t));
        }
예제 #5
0
        public override ShapeBorder lerpFrom(ShapeBorder a, float t)
        {
            if (a is _OutlineBorder)
            {
                return(new _OutlineBorder(
                           side: BorderSide.lerp((a as _OutlineBorder).side, this.side, t),
                           shape: lerp((a as _OutlineBorder).shape, this.shape, t)
                           ));
            }

            return(base.lerpFrom(a, t));
        }
        public override ShapeBorder lerpTo(ShapeBorder b, float t) {
            if (b is OutlineInputBorder) {
                OutlineInputBorder outline = b as OutlineInputBorder;
                return new OutlineInputBorder(
                    borderRadius: BorderRadius.lerp(this.borderRadius, outline.borderRadius, t),
                    borderSide: BorderSide.lerp(this.borderSide, outline.borderSide, t),
                    gapPadding: outline.gapPadding
                );
            }

            return base.lerpTo(b, t);
        }
        public override ShapeBorder lerpFrom(ShapeBorder a, float t) {
            if (a is OutlineInputBorder) {
                OutlineInputBorder outline = a as OutlineInputBorder;
                return new OutlineInputBorder(
                    borderRadius: BorderRadius.lerp(outline.borderRadius, this.borderRadius, t),
                    borderSide: BorderSide.lerp(outline.borderSide, this.borderSide, t),
                    gapPadding: outline.gapPadding
                );
            }

            return base.lerpFrom(a, t);
        }
예제 #8
0
        public override Decoration lerpTo(Decoration b, float t)
        {
            if (b is UnderlineTabIndicator)
            {
                UnderlineTabIndicator _b = (UnderlineTabIndicator)b;
                return(new UnderlineTabIndicator(
                           borderSide: BorderSide.lerp(borderSide, _b.borderSide, t),
                           insets: EdgeInsetsGeometry.lerp(insets, _b.insets, t)
                           ));
            }

            return(base.lerpTo(b, t));
        }
예제 #9
0
        public override Decoration lerpFrom(Decoration a, float t)
        {
            if (a is UnderlineTabIndicator)
            {
                UnderlineTabIndicator _a = (UnderlineTabIndicator)a;
                return(new UnderlineTabIndicator(
                           borderSide: BorderSide.lerp(_a.borderSide, borderSide, t),
                           insets: EdgeInsetsGeometry.lerp(_a.insets, insets, t)
                           ));
            }

            return(base.lerpFrom(a, t));
        }
예제 #10
0
 public override ShapeBorder lerpTo(ShapeBorder b, float t)
 {
     if (b is CutCornersBorder)
     {
         CutCornersBorder outline = (CutCornersBorder)b;
         return(new CutCornersBorder(
                    borderRadius: BorderRadius.lerp(borderRadius, outline.borderRadius, t),
                    borderSide: BorderSide.lerp(borderSide, outline.borderSide, t),
                    cut: cut,
                    gapPadding: outline.gapPadding
                    ));
     }
     return(base.lerpTo(b, t));
 }
예제 #11
0
 public override ShapeBorder lerpFrom(ShapeBorder a, float t)
 {
     if (a is CutCornersBorder)
     {
         CutCornersBorder outline = (CutCornersBorder)a;
         return(new CutCornersBorder(
                    borderRadius: BorderRadius.lerp(outline.borderRadius, borderRadius, t),
                    borderSide: BorderSide.lerp(outline.borderSide, borderSide, t),
                    cut: cut,
                    gapPadding: outline.gapPadding
                    ));
     }
     return(base.lerpFrom(a, t));
 }