line_caps/
line-caps.rs

1use js_canvas_rendering_context_2d::*;
2
3fn main() {
4    draw();
5}
6
7
8#[no_mangle]
9pub extern "C" fn draw(){
10    // draw guides
11    CanvasRenderingContext2D::begin_path();
12    CanvasRenderingContext2D::set_stroke_style_rgba(0, 153, 255, 255);
13    CanvasRenderingContext2D::move_to(10., 10.);
14    CanvasRenderingContext2D::line_to(140., 10.);
15    CanvasRenderingContext2D::move_to(10., 140.);
16    CanvasRenderingContext2D::line_to(140., 140.);
17    CanvasRenderingContext2D::stroke();
18    
19    // Draw Lines
20    CanvasRenderingContext2D::set_stroke_style_rgba(0, 0, 0, 255);
21    let mut i = 0;
22    for cap in LineCap::iterator() {
23        CanvasRenderingContext2D::set_line_width(15);
24        CanvasRenderingContext2D::set_line_cap(cap);
25        CanvasRenderingContext2D::begin_path();
26        CanvasRenderingContext2D::move_to(25.0 + i as f32 * 50., 10.);
27        CanvasRenderingContext2D::line_to(25.0 + i as f32 * 50., 140.);
28        CanvasRenderingContext2D::stroke();
29        i += 1;
30    }
31}