#[derive(Debug)]
pub struct ConvolveMatrix {
    order: (u16, u16),
    // must be checked to be `order.0 * order.1`
    kernel_matrix: Vec<f32>,
    divisor: f32,
    bias: f32,
    target_x: i32,
    target_y: i32,
    edge_mode: EdgeMode,
    kernel_unit_length: (f32, f32),
    preserve_alpha: bool,
}

#[derive(Debug)]
enum EdgeMode {
    None,
    Duplicate,
    Wrap,
}
