Toolkit.UI.Controls.Avalonia
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Gma.QrCodeNet.Encoding;
|
||||
|
||||
internal struct MatrixRectangle : IEnumerable<MatrixPoint>
|
||||
{
|
||||
internal MatrixRectangle(MatrixPoint location, MatrixSize size) :
|
||||
this()
|
||||
{
|
||||
Location = location;
|
||||
Size = size;
|
||||
}
|
||||
|
||||
public MatrixPoint Location { get; private set; }
|
||||
public MatrixSize Size { get; private set; }
|
||||
|
||||
public IEnumerator<MatrixPoint> GetEnumerator()
|
||||
{
|
||||
for (int j = Location.Y; j < Location.Y + Size.Height; j++)
|
||||
{
|
||||
for (int i = Location.X; i < Location.X + Size.Width; i++)
|
||||
{
|
||||
yield return new MatrixPoint(i, j);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
IEnumerator IEnumerable.GetEnumerator() => GetEnumerator();
|
||||
|
||||
public override string ToString() => $"Rectangle({Location.X};{Location.Y}):({Size.Width} x {Size.Height})";
|
||||
}
|
||||
Reference in New Issue
Block a user