示例#1
0
        public override void Draw()
        {
            SymmetricRangeMap valueMapping = Diagram.ValueManager.Mapping;

            Vector2 offset = new Vector2(0, 0);

            Vector2 lineStart = Diagram.Layouter.ForwardMap(Vector2.Zero) + offset;
            Vector2 lineEnd = Diagram.Layouter.ForwardMap(Vector2.UnitY) + offset;

            Drawer.DrawLine(lineStart, lineEnd, Color, 1);

            foreach (double value in Markers)
            {
                Vector2 markerStart = Diagram.Layouter.ForwardMap((float)valueMapping.Forward.Map(value) * Vector2.UnitY) + offset;
                Vector2 markerEnd = markerStart + new Vector2(-5, 0);

                Drawer.DrawLine(markerStart, markerEnd, Color, 1);
                Drawer.DrawNumber(value, markerEnd + new Vector2(-2, -6), Color, TextAlignment.Far);
            }
        }
示例#2
0
        public override void Draw()
        {
            SymmetricRangeMap timeMapping = Diagram.TimeManager.Mapping;

            Vector2 offset = new Vector2(0, 0);

            Vector2 lineStart = Diagram.Layouter.ForwardMap(Vector2.Zero) + offset;
            Vector2 lineEnd = Diagram.Layouter.ForwardMap(Vector2.UnitX) + offset;

            Drawer.DrawLine(lineStart, lineEnd, Color, 1);

            foreach (double time in Markers)
            {
                Vector2 markerStart = Diagram.Layouter.ForwardMap((float)timeMapping.Forward.Map(time) * Vector2.UnitX) + offset;
                Vector2 markerEnd = markerStart + new Vector2(0, 5);

                Drawer.DrawLine(markerStart, markerEnd, Color, 1);
                Drawer.DrawNumber(time, markerEnd + new Vector2(0, 2), Color, TextAlignment.Center);
            }
        }