From b9cc8e12702b9533ab8e024e3353c4832508edc4 Mon Sep 17 00:00:00 2001 From: Anton Danilkin Date: Thu, 13 Sep 2018 03:38:22 +0300 Subject: [PATCH] Use Cell instead of RefCell --- examples/paint/src/lib.rs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/examples/paint/src/lib.rs b/examples/paint/src/lib.rs index 6596820f..905b956f 100755 --- a/examples/paint/src/lib.rs +++ b/examples/paint/src/lib.rs @@ -2,7 +2,7 @@ extern crate js_sys; extern crate wasm_bindgen; extern crate web_sys; -use std::cell::RefCell; +use std::cell::Cell; use std::rc::Rc; use wasm_bindgen::prelude::*; use wasm_bindgen::JsCast; @@ -32,14 +32,14 @@ pub fn main() { .dyn_into::() .unwrap(); let context = Rc::new(context); - let pressed = Rc::new(RefCell::new(false)); + let pressed = Rc::new(Cell::new(false)); { let context = context.clone(); let pressed = pressed.clone(); let closure: Closure = Closure::new(move |event: web_sys::MouseEvent| { context.begin_path(); context.move_to(event.offset_x() as f64, event.offset_y() as f64); - *pressed.borrow_mut() = true; + pressed.set(true); }); (canvas.as_ref() as &web_sys::EventTarget) .add_event_listener_with_callback("mousedown", closure.as_ref().unchecked_ref()) @@ -50,7 +50,7 @@ pub fn main() { let context = context.clone(); let pressed = pressed.clone(); let closure: Closure = Closure::new(move |event: web_sys::MouseEvent| { - if *pressed.borrow() { + if pressed.get() { context.line_to(event.offset_x() as f64, event.offset_y() as f64); context.stroke(); context.begin_path(); @@ -66,7 +66,7 @@ pub fn main() { let context = context.clone(); let pressed = pressed.clone(); let closure: Closure = Closure::new(move |event: web_sys::MouseEvent| { - *pressed.borrow_mut() = false; + pressed.set(false); context.line_to(event.offset_x() as f64, event.offset_y() as f64); context.stroke(); });