public override DataRect Apply(DataRect previousDataRect, DataRect proposedDataRect, Viewport2D viewport) { DataRect borderRect = DataRect.Create(proposedDataRect.XMin, minSeconds, proposedDataRect.XMax, maxSeconds); if (proposedDataRect.IntersectsWith(borderRect)) { DataRect croppedRect = DataRect.Intersect(proposedDataRect, borderRect); return croppedRect; } return previousDataRect; }
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; }
/// <summary> /// Applies the specified old data rect. /// </summary> /// <param name="oldDataRect">The old data rect.</param> /// <param name="newDataRect">The new data rect.</param> /// <param name="viewport">The viewport.</param> /// <returns></returns> public override DataRect Apply(DataRect oldDataRect, DataRect newDataRect, Viewport2D viewport) { DataRect res = domain; if (domain.IsEmpty) { res = newDataRect; } else if (newDataRect.IntersectsWith(domain)) { res = newDataRect; if (newDataRect.Size == oldDataRect.Size) { if (res.XMin < domain.XMin) { res.XMin = domain.XMin; } if (res.YMin < domain.YMin) { res.YMin = domain.YMin; } if (res.XMax > domain.XMax) { res.XMin += domain.XMax - res.XMax; } if (res.YMax > domain.YMax) { res.YMin += domain.YMax - res.YMax; } } else { res = DataRect.Intersect(newDataRect, domain); } } return(res); }