VixenModules.Preview.VixenPreview.Shapes.PreviewLine.Layout C# (CSharp) Method

Layout() public method

public Layout ( ) : void
return void
        public override void Layout()
        {
            if (_points != null && _points.Count > 0)
            {
                var count = AddStartPadding ? PixelCount : PixelCount - 1;
                double xSpacing = (double)(_points[0].X - _points[1].X) / count;
                double ySpacing = (double)(_points[0].Y - _points[1].Y) / count;
                double x = _points[0].X;
                double y = _points[0].Y;
                if (AddStartPadding)
                {
                    x -= xSpacing;
                    y -= ySpacing;
                }
                foreach (PreviewPixel pixel in Pixels)
                {
                    pixel.X = (int)Math.Round(x);
                    pixel.Y = (int)Math.Round(y);
                    x -= xSpacing;
                    y -= ySpacing;
                }

                SetPixelZoom();
            }
        }

Usage Example

Ejemplo n.º 1
0
        public override void Layout()
        {
            if (_topLeft != null && _bottomRight != null)
            {
                if (Direction == Directions.CounterClockwise)
                {
                    // Start in the lower left corner and move counter clockwise around the rectangle.
                    PreviewLine line = Strings[0] as PreviewLine;
                    line.Point1 = BottomLeftPoint;
                    line.Point2 = BottomRightPoint;
                    line.Layout();

                    line = Strings[1] as PreviewLine;
                    var ySpacing = (BottomRightPoint.Y - TopRightPoint.Y) / (line.PixelCount + 1);

                    line.Point1 = new Point(BottomRightPoint.X, BottomRightPoint.Y - ySpacing);
                    line.Point2 = new Point(TopRightPoint.X, TopRightPoint.Y + ySpacing);
                    line.Layout();

                    line        = Strings[2] as PreviewLine;
                    line.Point1 = TopRightPoint;
                    line.Point2 = TopLeftPoint;
                    line.Layout();

                    line        = Strings[3] as PreviewLine;
                    line.Point1 = new Point(TopLeftPoint.X, TopLeftPoint.Y + ySpacing);
                    line.Point2 = new Point(BottomLeftPoint.X, BottomLeftPoint.Y - ySpacing);
                    line.Layout();
                }
                else
                {
                    // Start in the lower left corner and move clockwise around the rectangle.
                    PreviewLine line = Strings[0] as PreviewLine;
                    line.Point1 = BottomLeftPoint;
                    line.Point2 = TopLeftPoint;
                    line.Layout();

                    line = Strings[1] as PreviewLine;
                    var xSpacing = (TopRightPoint.X - TopLeftPoint.X) / (line.PixelCount + 1);
                    line.Point1 = new Point(TopLeftPoint.X + xSpacing, TopLeftPoint.Y);
                    line.Point2 = new Point(TopRightPoint.X - xSpacing, TopRightPoint.Y);
                    line.Layout();


                    line        = Strings[2] as PreviewLine;
                    line.Point1 = TopRightPoint;
                    line.Point2 = BottomRightPoint;
                    line.Layout();

                    line        = Strings[3] as PreviewLine;
                    line.Point1 = new Point(BottomRightPoint.X - xSpacing, BottomRightPoint.Y);
                    line.Point2 = new Point(BottomLeftPoint.X + xSpacing, BottomLeftPoint.Y);
                    line.Layout();
                }
            }
        }
All Usage Examples Of VixenModules.Preview.VixenPreview.Shapes.PreviewLine::Layout