# requests

request destroy = 0 {
}

request attach = 1 {
    buffer: id(wl_buffer),
    x: i32,
    y: i32,
}

request damage = 2 {
    x: i32,
    y: i32,
    width: i32,
    height: i32,
}

request frame = 3 {
    callback: id(wl_callback),
}

request set_opaque_region = 4 {
    region: id(wl_region),
}

request set_input_region = 5 {
    region: id(wl_region),
}

request commit = 6 {
}

request set_buffer_transform = 7 {
    transform: i32,
}

request set_buffer_scale = 8 {
    scale: i32,
}

request damage_buffer = 9 {
    x: i32,
    y: i32,
    width: i32,
    height: i32,
}

request offset = 10 {
    x: i32,
    y: i32,
}

# events

event enter = 0 {
    output: id(wl_output),
}

event leave = 1 {
    output: id(wl_output),
}

event preferred_buffer_scale = 2 {
    factor: i32,
}

event preferred_buffer_transform = 3 {
    transform: u32,
}
