public static void DrawKeyLine(this DrawingContext dc, StageVm stageVm, int keyDex, double stageRenderWidth, double stageRenderHeight) { var pen = stageVm.KeyLinePen(stageRenderHeight); var renderY = stageVm.KeyRenderYc(keyDex, stageRenderHeight); var pointLeft = new Point(0, renderY); var pointRight = new Point(stageRenderWidth, renderY); dc.DrawLine(pen, pointLeft, pointRight); }
public static Point GetSortableItemPosition(this StageVm stageVm, SortableItemVm sortableItemVm, double stageRenderWidth, double stageRenderHeight) { if ((stageRenderHeight <= 0) || (stageRenderHeight <= 0)) { return(new Point(0, 0)); } if (sortableItemVm.StagePos == StagePos.Missing) { return(new Point(0, 0)); } var renderY = stageVm.KeyRenderYc(sortableItemVm.KeyLinePos, stageRenderHeight); var radius = stageVm.RenderHeight(stageVm.StageVmStyle.KeyLineThickness * 1.5, stageRenderHeight); var renderX = 0.0; switch (sortableItemVm.StagePos) { case StagePos.Left: renderX = radius * -1.2; break; case StagePos.Center: renderX = stageVm.SectionRenderX(sortableItemVm.StageSection, stageRenderWidth); break; case StagePos.Right: renderX = stageRenderWidth - radius * 1.2; break; default: break; } return(new Point(renderX, renderY)); }