Exemple #1
0
        private void MovePattern(PatternPlacementViewModel pp, long deltaStart, int deltaIndex)
        {
            long newStart = SnapToGridInternal(pp.Start + deltaStart);
            int  newIndex = pp.TrackIndex + deltaIndex;

            pp.Start      = Math.Max(0, newStart);
            pp.TrackIndex = Math.Max(MinVerticalValue, Math.Min(newIndex, MaxVerticalValue));
        }
Exemple #2
0
        private void ResizePattern(PatternPlacementViewModel pp, double delta)
        {
            int end    = pp.Start + pp.Length;
            int newEnd = SnapToGridInternal(end + PixelToTick(delta));

            if (newEnd > pp.Start)
            {
                pp.Length = newEnd - pp.Start;
            }
        }
Exemple #3
0
 private void CalculateAffectedItems(FrameworkElement view)
 {
     if (((PatternPlacementView)view).IsSelected)
     {
         _affectedItems         = SelectedItems.Cast <PatternPlacementViewModel>();
         _minTick               = _affectedItems.MinBy(pp => pp.Start);
         (_minTrack, _maxTrack) = _affectedItems.MinMaxBy(pp => pp.TrackIndex);
     }
     else
     {
         _affectedItems = new[] { (PatternPlacementViewModel)view.DataContext };
         _minTick       = _minTrack = _maxTrack = (PatternPlacementViewModel)view.DataContext;
     }
 }
Exemple #4
0
        protected override Rect CalculateRectForElement(FrameworkElement element)
        {
            PatternPlacementViewModel pp = (PatternPlacementViewModel)element.DataContext;

            return(new Rect(new Point(pp.Start * WidthPerTick, pp.TrackIndex * 60), new Size(pp.Length * WidthPerTick, 60)));
        }
Exemple #5
0
        protected override Size CalculateSizeForElement(FrameworkElement element)
        {
            PatternPlacementViewModel pp = (PatternPlacementViewModel)element.DataContext;

            return(new Size(pp.Length * WidthPerTick, 60));
        }