Exemple #1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="RegionChangedEventArgs"/> class.
 /// </summary>
 /// <param name="beforeChange">
 /// A region with properties equivalent to those without the change.
 /// </param>
 /// <param name="afterChange">
 /// A region with properties equivalent to those with the change.
 /// </param>
 /// <param name="changeTypes">
 /// The types of changes encapsulated by this change event.
 /// </param>
 internal RegionChangedEventArgs(
     IReadOnlyRegion beforeChange,
     IReadOnlyRegion afterChange,
     RegionChangeTypes changeTypes)
 {
     this.BeforeChange = beforeChange;
     this.AfterChange  = afterChange;
     this.ChangeTypes  = changeTypes;
 }
Exemple #2
0
 private void MaybeRecalculate(Coord delta, RegionChangeTypes changeType)
 {
     this.AdjustInnerRegion();
     if (changeType.HasFlag(RegionChangeTypes.Resize))
     {
         this.Recalculate();
     }
     else
     {
         this.namePlate.Region.TryTranslate(delta, out _);
         this.topLeft.Region.TryTranslate(delta, out _);
         this.topRight.Region.TryTranslate(delta, out _);
         this.bottomLeft.Region.TryTranslate(delta, out _);
         this.bottomRight.Region.TryTranslate(delta, out _);
         this.leftStroke.Region.TryTranslate(delta, out _);
         this.topStroke.Region.TryTranslate(delta, out _);
         this.rightStroke.Region.TryTranslate(delta, out _);
         this.bottomStroke.Region.TryTranslate(delta, out _);
     }
 }
Exemple #3
0
        /// <summary>
        /// Initializes a new instance of the <see cref="RegionChangedEventArgs"/> class.
        /// </summary>
        /// <param name="beforeChange">
        /// A region with properties equivalent to those without the change.
        /// </param>
        /// <param name="afterChange">
        /// A region with properties equivalent to those with the change.
        /// </param>
        /// <exception cref="ArgumentNullException">
        /// Thrown when <paramref name="beforeChange"/> or <paramref name="afterChange"/> is <see langword="null"/>.
        /// </exception>
        public RegionChangedEventArgs(
            IReadOnlyRegion beforeChange,
            IReadOnlyRegion afterChange)
        {
            this.BeforeChange = beforeChange ?? throw new ArgumentNullException(nameof(beforeChange));
            this.AfterChange  = afterChange ?? throw new ArgumentNullException(nameof(afterChange));

            RegionChangeTypes changeTypes = default;

            if (beforeChange.TopLeft != afterChange.TopLeft)
            {
                changeTypes |= RegionChangeTypes.Move;
            }

            if (beforeChange.MathHeight != afterChange.MathHeight ||
                beforeChange.MathWidth != afterChange.MathWidth)
            {
                changeTypes |= RegionChangeTypes.Resize;
            }

            this.ChangeTypes = changeTypes;
        }