From 45ad11a0dbececa6c6ebe26f4df324291ff32138 Mon Sep 17 00:00:00 2001 From: Jean-Marie Mineau Date: Sun, 16 Jan 2022 10:05:34 +0100 Subject: [PATCH] define the struct Point --- src/drawing.rs | 20 +++++++++++++------- src/lib.rs | 7 ++++--- 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/src/drawing.rs b/src/drawing.rs index cf37dad..f58d518 100644 --- a/src/drawing.rs +++ b/src/drawing.rs @@ -1,9 +1,15 @@ use std::f64; - pub fn draw_circle(center: (f64, f64), radius: f64, context: &web_sys::CanvasRenderingContext2d) { - let (x, y) = center; - context.move_to(x+radius, y); - context - .arc(x, y, radius, 0.0, f64::consts::PI * 2.0) - .unwrap(); - } +pub struct Point(pub f64, pub f64); + +pub fn draw_circle(center: Point, radius: f64, context: &web_sys::CanvasRenderingContext2d) { + context.move_to(center.0+radius, center.1); + context + .arc(center.0, center.1, radius, 0.0, f64::consts::PI * 2.0) + .unwrap(); +} + +/* +pub fn draw_line(p1: Point, p2: Point, context: &web_sys::CanvasRenderingContext2d) { +} +*/ diff --git a/src/lib.rs b/src/lib.rs index ef20f14..fad17c8 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,6 +1,7 @@ use wasm_bindgen::prelude::*; use wasm_bindgen::JsCast; pub mod drawing; +use drawing::Point; #[wasm_bindgen(start)] pub fn start() { @@ -20,9 +21,9 @@ pub fn start() { context.begin_path(); - drawing::draw_circle((75.0, 75.0), 70.0, &context); - drawing::draw_circle((75.0, 75.0), 35.0, &context); - drawing::draw_circle((60.0, 65.0), 5.0, &context); + drawing::draw_circle(Point(75.0, 75.0), 70.0, &context); + drawing::draw_circle(Point(75.0, 75.0), 35.0, &context); + drawing::draw_circle(Point(60.0, 65.0), 5.0, &context); context.stroke(); }