using System; namespace Gma.QrCodeNet.Encoding.Positioning.Stencils; internal abstract class PatternStencilBase : BitMatrix { protected const bool O = false; protected const bool X = true; internal PatternStencilBase(int version) { Version = version; } public int Version { get; private set; } public abstract bool[,] Stencil { get; } public override int Width => Stencil.GetLength(0); public override int Height => Stencil.GetLength(1); public override bool[,] InternalArray => throw new NotImplementedException(); public override bool this[int i, int j] { get => Stencil[i, j]; set => throw new NotSupportedException(); } public abstract void ApplyTo(TriStateMatrix matrix); }