summaryrefslogtreecommitdiffstats
path: root/style/src/qr_code.rs
blob: 02c4709a5f821cc8b9c68cafb0b6fcd8a46f5df6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//! Change the appearance of a QR code.
use crate::core::Color;

/// The appearance of a QR code.
#[derive(Debug, Clone, Copy, PartialEq)]
pub struct Appearance {
    /// The color of the QR code data cells
    pub cell: Color,
    /// The color of the QR code background
    pub background: Color,
}

/// A set of rules that dictate the style of a QR code.
pub trait StyleSheet {
    /// The supported style of the [`StyleSheet`].
    type Style: Default;

    /// Produces the style of a QR code.
    fn appearance(&self, style: &Self::Style) -> Appearance;
}