当前位置: 首页>>代码示例>>C#>>正文


C# Point.WithX方法代码示例

本文整理汇总了C#中System.Point.WithX方法的典型用法代码示例。如果您正苦于以下问题:C# Point.WithX方法的具体用法?C# Point.WithX怎么用?C# Point.WithX使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在System.Point的用法示例。


在下文中一共展示了Point.WithX方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Parse

        /// <summary>
        /// Parses the specified markup string.
        /// </summary>
        /// <param name="s">The markup string.</param>
        public void Parse(string s)
        {
            bool openFigure = false;

            using (StringReader reader = new StringReader(s))
            {
                Command lastCommand = Command.None;
                Command command;
                Point point = new Point();

                while ((command = ReadCommand(reader, lastCommand)) != Command.Eof)
                {
                    switch (command)
                    {
                        case Command.FillRule:
                            // TODO: Implement.
                            reader.Read();
                            break;

                        case Command.Move:
                        case Command.MoveRelative:
                            if (openFigure)
                            {
                                _context.EndFigure(false);
                            }

                            if (command == Command.Move)
                            {
                                point = ReadPoint(reader);
                            }
                            else
                            {
                                point = ReadRelativePoint(reader, point);
                            }

                            _context.BeginFigure(point, true);
                            openFigure = true;
                            break;

                        case Command.Line:
                            point = ReadPoint(reader);
                            _context.LineTo(point);
                            break;

                        case Command.LineRelative:
                            point = ReadRelativePoint(reader, point);
                            _context.LineTo(point);
                            break;

                        case Command.HorizontalLine:
                            point = point.WithX(ReadDouble(reader));
                            _context.LineTo(point);
                            break;

                        case Command.HorizontalLineRelative:
                            point = new Point(point.X + ReadDouble(reader), point.Y);
                            _context.LineTo(point);
                            break;

                        case Command.VerticalLine:
                            point = point.WithY(ReadDouble(reader));
                            _context.LineTo(point);
                            break;

                        case Command.VerticalLineRelative:
                            point = new Point(point.X, point.Y + ReadDouble(reader));
                            _context.LineTo(point);
                            break;

                        case Command.CubicBezierCurve:
                            {
                                Point point1 = ReadPoint(reader);
                                Point point2 = ReadPoint(reader);
                                point = ReadPoint(reader);
                                _context.CubicBezierTo(point1, point2, point);
                                break;
                            }

                        case Command.Close:
                            _context.EndFigure(true);
                            openFigure = false;
                            break;

                        default:
                            throw new NotSupportedException("Unsupported command");
                    }

                    lastCommand = command;
                }

                if (openFigure)
                {
                    _context.EndFigure(false);
                }
            }
        }
开发者ID:MitjaBezensek,项目名称:Perspex,代码行数:100,代码来源:PathMarkupParser.cs

示例2: Parse

        /// <summary>
        /// Parses the specified markup string.
        /// </summary>
        /// <param name="s">The markup string.</param>
        public void Parse(string s)
        {
            bool openFigure = false;

            using (StringReader reader = new StringReader(s))
            {
                Command command = Command.None;
                Point point = new Point();
                bool relative = false;

                while (ReadCommand(reader, ref command, ref relative))
                {
                    switch (command)
                    {
                        case Command.FillRule:
                            _context.SetFillRule(ReadFillRule(reader));
                            break;

                        case Command.Move:
                            if (openFigure)
                            {
                                _context.EndFigure(false);
                            }

                            point = ReadPoint(reader, point, relative);
                            _context.BeginFigure(point, true);
                            openFigure = true;
                            break;

                        case Command.Line:
                            point = ReadPoint(reader, point, relative);
                            _context.LineTo(point);
                            break;

                        case Command.HorizontalLine:
                            if (!relative)
                            {
                                point = point.WithX(ReadDouble(reader));
                            }
                            else
                            {
                                point = new Point(point.X + ReadDouble(reader), point.Y);
                            }

                            _context.LineTo(point);
                            break;

                        case Command.VerticalLine:
                            if (!relative)
                            {
                                point = point.WithY(ReadDouble(reader));
                            }
                            else
                            {
                                point = new Point(point.X, point.Y + ReadDouble(reader));
                            }

                            _context.LineTo(point);
                            break;

                        case Command.CubicBezierCurve:
                            {
                                Point point1 = ReadPoint(reader, point, relative);
                                Point point2 = ReadPoint(reader, point, relative);
                                point = ReadPoint(reader, point, relative);
                                _context.CubicBezierTo(point1, point2, point);
                                break;
                            }

                        case Command.Arc:
                            {
                                Size size = ReadSize(reader);
                                ReadSeparator(reader);
                                double rotationAngle = ReadDouble(reader);
                                ReadSeparator(reader);
                                bool isLargeArc = ReadBool(reader);
                                ReadSeparator(reader);
                                SweepDirection sweepDirection = ReadBool(reader) ? SweepDirection.Clockwise : SweepDirection.CounterClockwise;
                                point = ReadPoint(reader, point, relative);

                                _context.ArcTo(point, size, rotationAngle, isLargeArc, sweepDirection);
                                break;
                            }

                        case Command.Close:
                            _context.EndFigure(true);
                            openFigure = false;
                            break;

                        default:
                            throw new NotSupportedException("Unsupported command");
                    }
                }

                if (openFigure)
                {
//.........这里部分代码省略.........
开发者ID:jkoritzinsky,项目名称:Avalonia,代码行数:101,代码来源:PathMarkupParser.cs

示例3: Parse

        /// <summary>
        /// Parses the specified markup string.
        /// </summary>
        /// <param name="s">The markup string.</param>
        public void Parse(string s)
        {
            bool openFigure = false;

            using (StringReader reader = new StringReader(s))
            {
                Command lastCommand = Command.None;
                Command command;
                Point point = new Point();

                while ((command = ReadCommand(reader, lastCommand)) != Command.Eof)
                {
                    switch (command)
                    {
                        case Command.FillRule:
                            // TODO: Implement.
                            reader.Read();
                            break;

                        case Command.Move:
                        case Command.MoveRelative:
                            if (openFigure)
                            {
                                _context.EndFigure(false);
                            }

                            point = command == Command.Move ?
                                ReadPoint(reader) :
                                ReadRelativePoint(reader, point);

                            _context.BeginFigure(point, true);
                            openFigure = true;
                            break;

                        case Command.Line:
                            point = ReadPoint(reader);
                            _context.LineTo(point);
                            break;

                        case Command.LineRelative:
                            point = ReadRelativePoint(reader, point);
                            _context.LineTo(point);
                            break;

                        case Command.HorizontalLine:
                            point = point.WithX(ReadDouble(reader));
                            _context.LineTo(point);
                            break;

                        case Command.HorizontalLineRelative:
                            point = new Point(point.X + ReadDouble(reader), point.Y);
                            _context.LineTo(point);
                            break;

                        case Command.VerticalLine:
                            point = point.WithY(ReadDouble(reader));
                            _context.LineTo(point);
                            break;

                        case Command.VerticalLineRelative:
                            point = new Point(point.X, point.Y + ReadDouble(reader));
                            _context.LineTo(point);
                            break;

                        case Command.CubicBezierCurve:
                            {
                                Point point1 = ReadPoint(reader);
                                Point point2 = ReadPoint(reader);
                                point = ReadPoint(reader);
                                _context.CubicBezierTo(point1, point2, point);
                                break;
                            }
                        case Command.Arc:
                            {
                                //example: A10,10 0 0,0 10,20
                                //format - size rotationAngle isLargeArcFlag sweepDirectionFlag endPoint
                                Size size = ReadSize(reader);
                                ReadSeparator(reader);
                                double rotationAngle = ReadDouble(reader);
                                ReadSeparator(reader);
                                bool isLargeArc = ReadBool(reader);
                                ReadSeparator(reader);
                                SweepDirection sweepDirection = ReadBool(reader) ? SweepDirection.Clockwise : SweepDirection.CounterClockwise;
                                point = ReadPoint(reader);

                                _context.ArcTo(point, size, rotationAngle, isLargeArc, sweepDirection);
                                break;
                            }

                        case Command.Close:
                            _context.EndFigure(true);
                            openFigure = false;
                            break;

                        default:
                            throw new NotSupportedException("Unsupported command");
//.........这里部分代码省略.........
开发者ID:Arlorean,项目名称:Perspex,代码行数:101,代码来源:PathMarkupParser.cs


注:本文中的System.Point.WithX方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。