/Main/src/DynamicDataDisplay/ViewportConstraints/DateTimeHorizontalAxisConstraint.cs
# · C# · 25 lines · 22 code · 3 blank · 0 comment · 1 complexity · b44470c889e3b754b1bf2b4e688a469e MD5 · raw file
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
-
- namespace Microsoft.Research.DynamicDataDisplay.ViewportConstraints
- {
- public sealed class DateTimeHorizontalAxisConstraint : ViewportConstraint
- {
- private readonly double minSeconds = new TimeSpan(DateTime.MinValue.Ticks).TotalSeconds;
- private readonly double maxSeconds = new TimeSpan(DateTime.MaxValue.Ticks).TotalSeconds;
-
- public override DataRect Apply(DataRect previousDataRect, DataRect proposedDataRect, Viewport2D viewport)
- {
- DataRect borderRect = DataRect.Create(minSeconds, proposedDataRect.YMin, maxSeconds, proposedDataRect.YMax);
- if (proposedDataRect.IntersectsWith(borderRect))
- {
- DataRect croppedRect = DataRect.Intersect(proposedDataRect, borderRect);
- return croppedRect;
- }
-
- return previousDataRect;
- }
- }
- }