use tk::*; use tk::cmd::*; fn main() -> TkResult<()> { let tk = make_tk!()?; let root = tk.root(); let canvas = root.add_canvas(())?.pack(())?; // To create a line, you need to specify its starting and ending coordinates. // Coordinates are expressed as the number of pixels away from the top-left corner, // horizontally and vertically, i.e. (x,y). The pixel at the top-left corner, known // as the origin, has coordinates (0,0). The "x" value increases as you move to the // right, and the "y" value increases as you move down. A line is described by two // points, which we'd refer to as (x1,y1) and (x2,y2). This code creates a line // from (10,5) to (200,50): canvas.create_line( &[ (10.0,5.0), (200.0,50.0) ], () )?; // When creating items, you can also specify one or more item attributes, affecting // how it appears. For example, we can specify that the line should be red and // three pixels wide. canvas.create_line( &[ (10.0,10.0), (200.0,50.0) ], -fill("red")-width(3) )?; // Just like with Tk widgets, you can change the attributes of canvas items after let id = canvas.create_line( &[ (0.0,0.0), (10.0,10.0) ], -fill("red") )?; canvas.itemconfigure( id, -fill("blue") -width(2) )?; Ok( main_loop() ) }