private void HandleCommand()

in FigmaSharp.Views/FigmaSharp.Views.Cocoa/Graphics/PathBuilder.cs [278:363]


		private void HandleCommand(char command)
		{
			if (command == 'M')
			{
				MoveTo(false);
			}
			else if (command == 'm')
			{
				MoveTo(true);
				if (_lastCommand == '~')
				{
					command = 'm';
				}
			}
			else if (command == 'z' || command == 'Z')
			{
				ClosePath();
			}
			else if (command == 'L')
			{
				LineTo(false);
			}
			else if (command == 'l')
			{
				LineTo(true);
			}
			else if (command == 'Q')
			{
				QuadTo(false);
			}
			else if (command == 'q')
			{
				QuadTo(true);
			}
			else if (command == 'C')
			{
				CurveTo(false);
			}
			else if (command == 'c')
			{
				CurveTo(true);
			}
			else if (command == 'S')
			{
				SmoothCurveTo(false);
			}
			else if (command == 's')
			{
				SmoothCurveTo(true);
			}
			else if (command == 'A')
			{
				ArcTo(false);
			}
			else if (command == 'a')
			{
				ArcTo(true);
			}
			else if (command == 'H')
			{
				HorizontalLineTo(false);
			}
			else if (command == 'h')
			{
				HorizontalLineTo(true);
			}
			else if (command == 'V')
			{
				VerticalLineTo(false);
			}
			else if (command == 'v')
			{
				VerticalLineTo(true);
			}
			else
			{
				LoggingService.LogWarning("Don't know how to handle the path command: " + command);
			}

			if (!(command == 'C' || command == 'c' || command == 's' || command == 'S'))
			{
				_lastCurveControlPoint = null;
			}

			_lastCommand = command;
		}