using MuchInfo.Chart.Data.Interfaces; using System; using System.Collections.Generic; namespace MuchInfo.Chart.WPF.Primitives.Interfaces { public interface IDateScaler { #region Properties /// /// 请求图表长度 /// string DesiredChartLength { get; set; } DateTime DesiredEndDate { get; set; } int EndDateIndex { get; set; } int NumBars { get; set; } int StartDateIndex { get; set; } #endregion Properties #region Methods int BinaryIndexSearch(DateTime aDate, int minIndex); int Count(); DateTime DateFromX(double aX); DateTime DateValue(int aIndex); bool DateVisible(DateTime aDate); bool DateContains(DateTime date); double DistanceBetweenDates(); int FirstVisibleIndexFromData(IList data); int LastVisibleIndexFromData(IList data); bool HasNonEODDates(); int IndexFromDate(DateTime aDate); float PercentFromIndex(int aIndex); int WidthWithBarBuffer(); float XforDate(DateTime aDate); DateTime OriginalDateFromX(double aX); DateTime OriginalDateFromX(double aX, int offSet); DateTime OriginalDateValue(int index); #endregion Methods } }