diff options
Diffstat (limited to 'components')
-rw-r--r-- | components/canvas/canvas_paint_thread.rs | 15 | ||||
-rw-r--r-- | components/constellation/constellation.rs | 3 |
2 files changed, 10 insertions, 8 deletions
diff --git a/components/canvas/canvas_paint_thread.rs b/components/canvas/canvas_paint_thread.rs index 23989a45f18..2eeb827d73c 100644 --- a/components/canvas/canvas_paint_thread.rs +++ b/components/canvas/canvas_paint_thread.rs @@ -17,7 +17,6 @@ use ipc_channel::ipc::{self, IpcSender}; use num_traits::ToPrimitive; use std::borrow::ToOwned; use std::mem; -use util::opts; use util::thread::spawn_named; use webrender_traits; @@ -78,8 +77,8 @@ struct CanvasPaintState<'a> { } impl<'a> CanvasPaintState<'a> { - fn new() -> CanvasPaintState<'a> { - let antialias = if opts::get().enable_canvas_antialiasing { + fn new(antialias: bool) -> CanvasPaintState<'a> { + let antialias = if antialias { AntialiasMode::Default } else { AntialiasMode::None @@ -101,7 +100,8 @@ impl<'a> CanvasPaintState<'a> { impl<'a> CanvasPaintThread<'a> { fn new(size: Size2D<i32>, - webrender_api_sender: Option<webrender_traits::RenderApiSender>) -> CanvasPaintThread<'a> { + webrender_api_sender: Option<webrender_traits::RenderApiSender>, + antialias: bool) -> CanvasPaintThread<'a> { let draw_target = CanvasPaintThread::create(size); let path_builder = draw_target.create_path_builder(); let webrender_api = webrender_api_sender.map(|wr| wr.create_api()); @@ -109,7 +109,7 @@ impl<'a> CanvasPaintThread<'a> { CanvasPaintThread { drawtarget: draw_target, path_builder: path_builder, - state: CanvasPaintState::new(), + state: CanvasPaintState::new(antialias), saved_states: vec![], webrender_api: webrender_api, webrender_image_key: webrender_image_key, @@ -119,11 +119,12 @@ impl<'a> CanvasPaintThread<'a> { /// Creates a new `CanvasPaintThread` and returns an `IpcSender` to /// communicate with it. pub fn start(size: Size2D<i32>, - webrender_api_sender: Option<webrender_traits::RenderApiSender>) + webrender_api_sender: Option<webrender_traits::RenderApiSender>, + antialias: bool) -> IpcSender<CanvasMsg> { let (sender, receiver) = ipc::channel::<CanvasMsg>().unwrap(); spawn_named("CanvasThread".to_owned(), move || { - let mut painter = CanvasPaintThread::new(size, webrender_api_sender); + let mut painter = CanvasPaintThread::new(size, webrender_api_sender, antialias); loop { let msg = receiver.recv(); match msg.unwrap() { diff --git a/components/constellation/constellation.rs b/components/constellation/constellation.rs index b03ad1c0d79..0aba313864b 100644 --- a/components/constellation/constellation.rs +++ b/components/constellation/constellation.rs @@ -1750,7 +1750,8 @@ impl<Message, LTF, STF> Constellation<Message, LTF, STF> size: &Size2D<i32>, response_sender: IpcSender<IpcSender<CanvasMsg>>) { let webrender_api = self.webrender_api_sender.clone(); - let sender = CanvasPaintThread::start(*size, webrender_api); + let sender = CanvasPaintThread::start(*size, webrender_api, + opts::get().enable_canvas_antialiasing); if let Err(e) = response_sender.send(sender) { warn!("Create canvas paint thread response failed ({})", e); } |