diff options
author | Anthony Ramine <n.oxyde@gmail.com> | 2018-10-06 00:40:48 +0200 |
---|---|---|
committer | Anthony Ramine <n.oxyde@gmail.com> | 2018-10-06 01:11:55 +0200 |
commit | 784fbb2bc17d311fe3322cc48d2dca8a902161ca (patch) | |
tree | 2194d8d1bb0fbb7d7c50f3fbcc83b40bb28b3ea8 /components/canvas | |
parent | a2e3dd4e8636b7125140850dc4bc95433e801e77 (diff) | |
download | servo-784fbb2bc17d311fe3322cc48d2dca8a902161ca.tar.gz servo-784fbb2bc17d311fe3322cc48d2dca8a902161ca.zip |
Merge some byte swap/premultiply functions in their own crate
Diffstat (limited to 'components/canvas')
-rw-r--r-- | components/canvas/Cargo.toml | 1 | ||||
-rw-r--r-- | components/canvas/canvas_paint_thread.rs | 3 | ||||
-rw-r--r-- | components/canvas/lib.rs | 1 | ||||
-rw-r--r-- | components/canvas/webgl_thread.rs | 4 |
4 files changed, 6 insertions, 3 deletions
diff --git a/components/canvas/Cargo.toml b/components/canvas/Cargo.toml index 4006947acf6..de2073a1e28 100644 --- a/components/canvas/Cargo.toml +++ b/components/canvas/Cargo.toml @@ -24,6 +24,7 @@ ipc-channel = "0.11" log = "0.4" num-traits = "0.2" offscreen_gl_context = {version = "0.21", features = ["serde", "osmesa"]} +pixels = {path = "../pixels"} serde_bytes = "0.10" servo_config = {path = "../config"} webrender = {git = "https://github.com/servo/webrender"} diff --git a/components/canvas/canvas_paint_thread.rs b/components/canvas/canvas_paint_thread.rs index 90d338e9a4e..91164a47cf0 100644 --- a/components/canvas/canvas_paint_thread.rs +++ b/components/canvas/canvas_paint_thread.rs @@ -7,6 +7,7 @@ use canvas_data::*; use canvas_traits::canvas::*; use euclid::Size2D; use ipc_channel::ipc::{self, IpcSender}; +use pixels; use std::borrow::ToOwned; use std::collections::HashMap; use std::thread; @@ -141,7 +142,7 @@ impl<'a> CanvasPaintThread <'a> { let data = match imagedata { None => vec![0; image_size.width as usize * image_size.height as usize * 4], Some(mut data) => { - byte_swap(&mut data); + pixels::byte_swap_colors_inplace(&mut data); data.into() }, }; diff --git a/components/canvas/lib.rs b/components/canvas/lib.rs index 8da9544de6e..554f598403c 100644 --- a/components/canvas/lib.rs +++ b/components/canvas/lib.rs @@ -15,6 +15,7 @@ extern crate ipc_channel; #[macro_use] extern crate log; extern crate num_traits; extern crate offscreen_gl_context; +extern crate pixels; extern crate serde_bytes; extern crate servo_config; extern crate webrender; diff --git a/components/canvas/webgl_thread.rs b/components/canvas/webgl_thread.rs index 413566e7817..cd8dbde18d2 100644 --- a/components/canvas/webgl_thread.rs +++ b/components/canvas/webgl_thread.rs @@ -2,13 +2,13 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -use canvas_traits::canvas::byte_swap; use canvas_traits::webgl::*; use euclid::Size2D; use fnv::FnvHashMap; use gleam::gl; use ipc_channel::ipc::IpcBytesSender; use offscreen_gl_context::{GLContext, GLContextAttributes, GLLimits, NativeGLContextMethods}; +use pixels; use std::thread; use super::gl_context::{GLContextFactory, GLContextWrapper}; use webrender; @@ -562,7 +562,7 @@ impl<VR: WebVRRenderHandler + 'static> WebGLThread<VR> { let src_slice = &orig_pixels[src_start .. src_start + stride]; (&mut pixels[dst_start .. dst_start + stride]).clone_from_slice(&src_slice[..stride]); } - byte_swap(&mut pixels); + pixels::byte_swap_colors_inplace(&mut pixels); pixels } |