private void DrawEdge(IGUIState guiState, Control control, int index)
        {
            if (GetShapeType() == ShapeType.Polygon)
            {
                var nextIndex = NextIndex(index);
                var color     = Color.white;

                if (guiState.nearestControl == control.ID && control.layoutData.index == index && guiState.hotControl == 0)
                {
                    color = Color.yellow;
                }

                m_Drawer.DrawLine(GetPoint(index).position, GetPoint(nextIndex).position, 5f, color);
            }
            else if (GetShapeType() == ShapeType.Spline)
            {
                var nextIndex = NextIndex(index);
                var color     = Color.white;

                if (guiState.nearestControl == control.ID && control.layoutData.index == index && guiState.hotControl == 0)
                {
                    color = Color.yellow;
                }

                m_Drawer.DrawBezier(
                    GetPoint(index).position,
                    GetRightTangent(index),
                    GetLeftTangent(nextIndex),
                    GetPoint(nextIndex).position,
                    5f,
                    color);
            }
        }
示例#2
0
        public void Draw(IDrawer draw)
        {
            IPoint p1, p2, end;

            this.GetPoint(0, out p1);
            this.GetPoint(1, out end);
            p2 = (IPoint)p1.Clone();
            draw.DrawStart(p1.X, p1.Y);
            int i;

            for (i = 1; i < Params.n; i++)
            {
                this.GetPoint((double)i / Params.n, out p2);
                if (p2.CompareTo(end))
                {
                    break;
                }
                draw.DrawLine(p1.X, p1.Y, p2.X, p2.Y);
                path.AddLine(p1.X, p1.Y, p2.X, p2.Y);
                p1 = (IPoint)p2.Clone();
            }
            draw.DrawEnd(p1.X, p1.Y, end.X, end.Y);
            path.AddLine(p1.X, p1.Y, end.X, end.Y);
        }
示例#3
0
文件: Line.cs 项目: ymnsh/lab6
 public void Draw(IDrawer drawer)
 {
     drawer.DrawLine(StartPnt, EndPnt);
 }
示例#4
0
 void IDrawer.DrawLine(Vector3 p1, Vector3 p2, float width, Color color)
 {
     m_Drawer.DrawLine(p1, p2, width, color);
 }
示例#5
0
 public void Draw(IDrawer drawer)
 {
     drawer.SelectPen(Format.Color, (int)Format.Width);
     drawer.DrawLine(Begin, End);
 }
示例#6
0
 public void Draw(IDrawer drawer)
 {
     drawer.SelectPen(format.Color, format.Width);
     drawer.DrawLine(start, end);
 }
示例#7
0
文件: Line.cs 项目: nzvcv/UrFU
 public void Draw(IDrawer drawer)
 {
     drawer.DrawLine(new PointF(Start.X, Start.Y), new PointF(End.X, End.Y));
 }
示例#8
0
 public override void Draw(IDrawer drawer)
 {
     drawer.DrawLine(X1, Y1, X2, Y2, Type);
 }
示例#9
0
文件: Class1.cs 项目: xan4ik/Plots
 public void ShowModel(IDrawer drawer, AxisMathModel model)
 {
     drawer.DrawLine(model.X_Begin, model.X_End);
     drawer.DrawLine(model.Y_Begin, model.Y_End);
 }
示例#10
0
 public void Draw(IDrawer drawer)
 {
     drawer.SelectPen(Format.Color, Format.Width);
     drawer.DrawLine(Start, End);
 }
示例#11
0
 public override void Draw(IDrawer drawer)
 {
     drawer.DrawLine(0, 0, 10, 0);
 }
示例#12
0
        /// <summary>
        /// Draw the graph on an device
        /// </summary>
        /// <param name="screen">Screen device</param>
        public void Draw(IDrawer screen)
        {

            if (_dataMin == _dataMax)
                _dataMax += 10;

            // Chart area
            screen.FillRectangle(0, 0, screen.Width, screen.Height, FEZ_Components.FEZTouch.Color.Black);
            // Y Axis

            if (_dataMin < 0)
            {
                // X Axis
                screen.DrawLine(0, screen.Height, screen.Width, screen.Height, GHIElectronics.NETMF.FEZ.FEZ_Components.FEZTouch.Color.Black);
            }

            foreach (var key in series.Keys)
            {
                FEZ_Components.FEZTouch.Color color = FEZ_Components.FEZTouch.Color.Green;
                Serie currentSerie = (Serie)series[key];
                int lastX = 0;
                int lastY = 0;

                for (ushort index = 0; index < currentSerie.Count; index++)
                {
                    int x = ComputePositionX(index, screen);
                    int y = ComputePositionY((float)currentSerie[index], screen);

                    // Draw line interval
                    if (index > 0)
                    {
                        lastX = ComputePositionX(index - 1, screen);
                        lastY = ComputePositionY((float)currentSerie[index - 1], screen);
                        screen.DrawLine(lastX, lastY, x, y, color);
                    }
                }
            }
        }
示例#13
0
 public void Draw(IDrawer drawer)
 {
     drawer.DrawLine(this);
 }