piston-dyon_interactive 0.24.0

A library for interactive coding with the Piston game engine
Documentation
/*
Wraps a nice interface around draw list commands.
*/

fn clear__color(color: vec4)
~ mut draw_list: [[]] {
    push(mut draw_list, ["clear", color])
}

fn line__color_radius_from_to(color: vec4, radius: f64, from: vec4, to: vec4)
~ mut draw_list: [[]] {
    push(mut draw_list, ["line__color_radius_from_to", color, radius, from, to])
}

fn rectangle__color_corner_size(color: vec4, corner: vec4, size: vec4)
~ mut draw_list: [[]] {
    push(mut draw_list, ["rectangle__color_corner_size", color, corner, size])
}

fn ellipse__color_corner_size(color: vec4, corner: vec4, size: vec4)
~ mut draw_list: [[]] {
    ellipse(color: color, corner: corner, size: size, resolution: 16)
}

fn ellipse__color_corner_size_resolution
(color: vec4, corner: vec4, size: vec4, resolution: f64)
~ mut draw_list: [[]] {
    push(mut draw_list, ["ellipse__color_corner_size_resolution", color, corner, size, resolution])
}

fn circle__color_center_radius(color: vec4, center: vec4, radius: f64)
~ mut draw_list: [[]] {
    width := 2 * radius
    ellipse(color: color, corner: center - radius, size: (width, width))
}

fn text__font_color_size_pos_string(font: f64, color: vec4, size: f64, pos: vec4, text: str)
~ mut draw_list: [[]] {
    push(mut draw_list, ["text__font_color_size_pos_string", font, color, size, pos, text])
}

fn image__texture_pos_color(texture: f64, pos: vec4, color: vec4)
~ mut draw_list: [[]] {
    push(mut draw_list, ["image__texture_pos_color", texture, pos, color])
}

fn image__texture_pos(texture: f64, pos: vec4)
~ mut draw_list: [[]] {
    push(mut draw_list, ["image__texture_pos_color", texture, pos, #ffffff])
}

fn image__texture_pos_alpha(texture: f64, pos: vec4, alpha: f64)
~ mut draw_list: [[]] {
    push(mut draw_list, ["image__texture_pos_color", texture, pos, (xyz #ffffff, alpha)])
}

fn image__texture_pos_color_srccorner_srcsize
(texture: f64, pos: vec4, color: vec4, srccorner: vec4, srcsize: vec4)
~ mut draw_list: [[]] {
    push(mut draw_list, [
        "image__texture_pos_color_srccorner_srcsize",
        texture, pos, color, srccorner, srcsize
    ])
}

fn image__texture_pos_srccorner_srcsize
(texture: f64, pos: vec4, srccorner: vec4, srcsize: vec4)
~ mut draw_list: [[]] {
    push(mut draw_list, [
        "image__texture_pos_color_srccorner_srcsize",
        texture, pos, #ffffff, srccorner, srcsize
    ])
}

fn image__texture_pos_alpha_srccorner_srcsize
(texture: f64, pos: vec4, alpha: f64, srccorner: vec4, srcsize: vec4)
~ mut draw_list: [[]] {
    push(mut draw_list, [
        "image__texture_pos_color_srccorner_srcsize",
        texture, pos, (xyz #ffffff, alpha), srccorner, srcsize
    ])
}