public static Rect ToRect(this DateTime date, IHorizontalControl axisConverter, double top, double height) { var left = axisConverter.DataToScreen(date); var right = axisConverter.DataToScreen(date.AddDays(1)); return(new Rect(left, top, right - left, height)); }
public static Rect ToRect(this ITerm term, IHorizontalControl axisConverter, double top, double height) { var left = axisConverter.DataToScreen(term.Start); //if(!axisConverter.IsInViewRagne(left)) //{ //} var right = axisConverter.DataToScreen(term.End); return(new Rect(left, top, right - left, height)); }
/// <summary> /// CellDesiredSzie /// </summary> /// <param name="point">Absolute point</param> /// <param name="rowHeight"></param> /// <param name="axisXConverter"></param> /// <param name="renderSize"></param> /// <param name="scrollInfo"></param> /// <returns></returns> public static Rect? CellDesiredSzie(this Point point, double rowHeight, IHorizontalControl axisXConverter, Size renderSize, double yOffset, double xOffset, double maxOfy) { var cellStart = axisXConverter.ToData(point.X).Date; //xvar y = ((int)(point.Y / rowHeight)) * rowHeight; var y = point.Y - (point.Y % rowHeight); if (maxOfy <= y) y -= rowHeight; var x = axisXConverter.DataToScreen(cellStart) + xOffset; var xEnd = axisXConverter.DataToScreen(cellStart.AddDays(1)) + xOffset; // 一天宽度x轴座标, 未来期望可以不是一天固定死 var rect = new Rect(x, y, xEnd - x, rowHeight); if (renderSize.Width < rect.X - xOffset || renderSize.Height < rect.Y - yOffset) return null; return rect; }
/// <summary> /// CellDesiredSzie /// </summary> /// <param name="point">Absolute point</param> /// <param name="rowHeight"></param> /// <param name="axisXConverter"></param> /// <param name="renderSize"></param> /// <param name="scrollInfo"></param> /// <returns></returns> public static Rect?CellDesiredSzie(this Point point, double rowHeight, IHorizontalControl axisXConverter, Size renderSize, double yOffset, double xOffset, double maxOfy) { var cellStart = axisXConverter.ToData(point.X).Date; //xvar y = ((int)(point.Y / rowHeight)) * rowHeight; var y = point.Y - (point.Y % rowHeight); if (maxOfy <= y) { y -= rowHeight; } var x = axisXConverter.DataToScreen(cellStart) + xOffset; var xEnd = axisXConverter.DataToScreen(cellStart.AddDays(1)) + xOffset; // 一天宽度x轴座标, 未来期望可以不是一天固定死 var rect = new Rect(x, y, xEnd - x, rowHeight); if (renderSize.Width < rect.X - xOffset || renderSize.Height < rect.Y - yOffset) { return(null); } return(rect); }
public static Rect ToRect(this DateTime date, IHorizontalControl axisConverter, double top, double height) { var left = axisConverter.DataToScreen(date); var right = axisConverter.DataToScreen(date.AddDays(1)); return new Rect(left, top, right - left, height); }
public static Rect ToRect(this ITerm term, IHorizontalControl axisConverter, double top, double height) { var left = axisConverter.DataToScreen(term.Start); //if(!axisConverter.IsInViewRagne(left)) //{ //} var right = axisConverter.DataToScreen(term.End); return new Rect(left, top, right - left, height); }