Example #1
0
    public static ProcessResult <Clip[]> Apply(PaddingOptions options, params Clip[] clips)
    {
        var processedClips = new Clip[clips.Length];

        for (var i = 0; i < clips.Length; i++)
        {
            var clip      = new Clip(clips[i]);
            var padAmount = options.PadAmount;
            if (options.Length > 0)
            {
                if (options.Length > clip.Length)
                {
                    padAmount = options.Length - clip.Length;
                }
                else
                {
                    processedClips[i] = Crop.CropClip(clip, 0, options.Length);
                    continue;
                }
            }

            clip.Length += padAmount;
            if (!options.Post)
            {
                foreach (var noteEvent in clip.Notes)
                {
                    noteEvent.Start += padAmount;
                }
            }

            processedClips[i] = clip;
        }

        return(new ProcessResult <Clip[]>(processedClips));
    }
Example #2
0
        public void OptionNames()
        {
            var s     = new PaddingOptions();
            var names = s.GetOptionNames();

            Assert.AreEqual(propertyNames.Count, names.Count);
        }
Example #3
0
        public void WideCustom()
        {
            var propertyIndex = 1;
            var expectedValue = r.Next(1, 100, PaddingOptions.Defaults.Wide);

            var src = new PaddingOptions {
                Wide = expectedValue
            };
            var so = PopulateOptions(src);

            AssertPopulatedProperty(so, propertyIndex, expectedValue);
        }
Example #4
0
        public void RegularCustom()
        {
            var propertyIndex = 0;
            var expectedValue = r.Next(1, 100, PaddingOptions.Defaults.Regular);

            var src = new PaddingOptions {
                Regular = expectedValue
            };
            var so = PopulateOptions(src);

            AssertPopulatedProperty(so, propertyIndex, expectedValue);
        }
Example #5
0
        public void EmptyContructor()
        {
            var src = new PaddingOptions
            {
            };

            var so = PopulateOptions(src);

            Assert.AreEqual(0, so.Count);

            so = PopulateOptions(src, true);
            Assert.AreEqual(2, so.Count);
        }
Example #6
0
 /// <summary>
 /// <see cref="FixedItemAttribute"/>
 /// </summary>
 /// <param name="order">項目番号。</param>
 /// <param name="length">項目長。</param>
 /// <param name="paddingOption">余項目長埋めの方向。</param>
 /// <param name="padding">余項目長文字。</param>
 /// <param name="propertyName">プロパティ名。</param>
 public FixedItemAttribute(
     int order,
     int length,
     PaddingOptions paddingOption = PaddingOptions.Right,
     char padding = ' ',
     [CallerMemberName] string propertyName = ""
     )
 {
     this.Order         = order;
     this.Length        = length;
     this.PaddingOption = paddingOption;
     this.Padding       = padding;
     this.PropertyName  = propertyName;
 }
Example #7
0
        public void WideDefault()
        {
            var propertyIndex = 1;
            var expectedValue = PaddingOptions.Defaults.Wide;
            var src           = new PaddingOptions {
            };

            var so = PopulateOptions(src);

            AssertEmptyProperty(so, propertyIndex);

            so = PopulateOptions(src, true);
            AssertPopulatedProperty(so, propertyIndex, expectedValue);
        }
Example #8
0
 public ChartConfiguration(ChartData data,
                           ChartAxis axis                 = null,
                           SizeOptions size               = null,
                           PaddingOptions padding         = null,
                           ColorOptions color             = null,
                           InteractionOptions interaction = null,
                           TransitionOptions transition   = null,
                           SubchartOptions subchart       = null,
                           ZoomOptions zoom               = null)
 {
     Data        = data;
     Axis        = axis;
     Size        = size;
     Padding     = padding;
     Color       = color;
     Interaction = interaction;
     Transition  = transition;
     Subchart    = subchart;
     Zoom        = zoom;
 }