use crate::version::Version;
use crate::ec::ECLevel;
use crate::mode::Mode;
use crate::mask::Mask;
use crate::matrix::Matrix;
use crate::builder::*;
#[derive(Debug, PartialEq, Eq)]
pub struct Qr {
pub version: Version,
pub ecl: ECLevel,
pub mode: Mode,
pub matrix: Matrix,
pub mask: Mask,
}
impl Qr {
pub fn new(s: &str) -> Result<Qr, Error> {
QrBuilder::new().into(s)
}
pub fn with_ecl(s: &str, ecl: ECLevel) -> Result<Qr, Error> {
QrBuilder::new().ecl(ecl).into(s)
}
pub fn with_version(s: &str, v: Version) -> Result<Qr, Error> {
QrBuilder::new().version(v).into(s)
}
pub fn size(&self) -> usize {
self.version.size()
}
}