namespace Gma.QrCodeNet.Encoding
{
	public struct MatrixPoint
	{
		internal MatrixPoint(int x, int y)
			: this()
		{
			X = x;
			Y = y;
		}

		public int X { get; private set; }
		public int Y { get; private set; }

		public MatrixPoint Offset(MatrixPoint offset) => new MatrixPoint(offset.X + X, offset.Y + Y);

		internal MatrixPoint Offset(int offsetX, int offsetY) => Offset(new MatrixPoint(offsetX, offsetY));

		public override string ToString() => $"Point({X};{Y})";
	}
}
