Exemplo n.º 1
0
        public static void DrawSwitch(this DrawingContext dc, StageVm stageVm, KeyPairVm keyPairVm,
                                      double stageRenderWidth, double stageRenderHeight)
        {
            var pen         = stageVm.SwitchLinePen(keyPairVm, stageRenderWidth);
            var renderX     = stageVm.SectionRenderX(keyPairVm.StageSection, stageRenderWidth);
            var renderYLow  = stageVm.KeyRenderYl(keyPairVm.LowKey, stageRenderHeight);
            var renderYHigh = stageVm.KeyRenderYh(keyPairVm.HiKey, stageRenderHeight);
            var pointLow    = new Point(renderX, renderYLow);
            var pointHigh   = new Point(renderX, renderYHigh);

            dc.DrawLine(pen, pointLow, pointHigh);
        }
Exemplo n.º 2
0
        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));
        }