---
source: crates/aviutl2-macros/src/filter_config_items.rs
expression: "rustfmt_wrapper::rustfmt(output).unwrap()"
---
struct Config {
    balance: f64,
}
#[automatically_derived]
impl ::aviutl2::filter::FilterConfigItems for Config {
    fn to_config_items() -> Vec<::aviutl2::filter::FilterConfigItem> {
        return vec![::aviutl2::filter::FilterConfigItem::Track(
            ::aviutl2::filter::FilterConfigTrack {
                name: "Balance".to_string(),
                value: 0f64,
                range: -100f64..=100f64,
                step: 1f64,
                zero_display: ::std::option::Option::Some("Center".to_string()),
                slider_ratio: 0.5f64,
            },
        )];
    }
    fn from_config_items(items: &[::aviutl2::filter::FilterConfigItem]) -> Self {
        Self {
            balance: match items[0usize] {
                ::aviutl2::filter::FilterConfigItem::Track(ref track) => (track.value as i32) as _,
                _ => panic!("expected Track at index {}", 0usize),
            },
        }
    }
}
#[automatically_derived]
impl ::std::default::Default for Config {
    fn default() -> Self {
        Self { balance: 0f64 as _ }
    }
}
