diff options
author | Martin Robinson <mrobinson@igalia.com> | 2017-07-06 19:21:22 +0200 |
---|---|---|
committer | Glenn Watson <github@intuitionlibrary.com> | 2017-07-13 07:44:08 +1000 |
commit | e58e8ab42e832604cc71b01a25ca1e199323d7c6 (patch) | |
tree | 780698cde4d2f3400f75ce3cdac6c4b5bab18d50 /components/net/image_cache.rs | |
parent | 4b6e79337ef975e3ec752513b76ae6a6284c1199 (diff) | |
download | servo-e58e8ab42e832604cc71b01a25ca1e199323d7c6.tar.gz servo-e58e8ab42e832604cc71b01a25ca1e199323d7c6.zip |
Upgrade to the latest version of WebRender
Diffstat (limited to 'components/net/image_cache.rs')
-rw-r--r-- | components/net/image_cache.rs | 34 |
1 files changed, 17 insertions, 17 deletions
diff --git a/components/net/image_cache.rs b/components/net/image_cache.rs index 516101f7b34..4cb5e09e2f3 100644 --- a/components/net/image_cache.rs +++ b/components/net/image_cache.rs @@ -18,7 +18,7 @@ use std::mem; use std::path::PathBuf; use std::sync::{Arc, Mutex}; use std::thread; -use webrender_traits; +use webrender_api; /// /// TODO(gw): Remaining work on image cache: @@ -34,13 +34,13 @@ use webrender_traits; // Helper functions. // ====================================================================== -fn convert_format(format: PixelFormat) -> webrender_traits::ImageFormat { +fn convert_format(format: PixelFormat) -> webrender_api::ImageFormat { match format { PixelFormat::K8 | PixelFormat::KA8 => { panic!("Not support by webrender yet"); } - PixelFormat::RGB8 => webrender_traits::ImageFormat::RGB8, - PixelFormat::BGRA8 => webrender_traits::ImageFormat::BGRA8, + PixelFormat::RGB8 => webrender_api::ImageFormat::RGB8, + PixelFormat::BGRA8 => webrender_api::ImageFormat::BGRA8, } } @@ -52,7 +52,7 @@ fn decode_bytes_sync(key: LoadKey, bytes: &[u8]) -> DecoderMsg { } } -fn get_placeholder_image(webrender_api: &webrender_traits::RenderApi, path: &PathBuf) -> io::Result<Arc<Image>> { +fn get_placeholder_image(webrender_api: &webrender_api::RenderApi, path: &PathBuf) -> io::Result<Arc<Image>> { let mut file = File::open(path)?; let mut image_data = vec![]; file.read_to_end(&mut image_data)?; @@ -61,15 +61,15 @@ fn get_placeholder_image(webrender_api: &webrender_traits::RenderApi, path: &Pat Ok(Arc::new(image)) } -fn set_webrender_image_key(webrender_api: &webrender_traits::RenderApi, image: &mut Image) { +fn set_webrender_image_key(webrender_api: &webrender_api::RenderApi, image: &mut Image) { if image.id.is_some() { return; } let format = convert_format(image.format); let mut bytes = Vec::new(); bytes.extend_from_slice(&*image.bytes); - if format == webrender_traits::ImageFormat::BGRA8 { + if format == webrender_api::ImageFormat::BGRA8 { premultiply(bytes.as_mut_slice()); } - let descriptor = webrender_traits::ImageDescriptor { + let descriptor = webrender_api::ImageDescriptor { width: image.width, height: image.height, stride: None, @@ -77,7 +77,7 @@ fn set_webrender_image_key(webrender_api: &webrender_traits::RenderApi, image: & offset: 0, is_opaque: is_image_opaque(format, &bytes), }; - let data = webrender_traits::ImageData::new(bytes); + let data = webrender_api::ImageData::new(bytes); let image_key = webrender_api.generate_image_key(); webrender_api.add_image(image_key, descriptor, data, None); image.id = Some(image_key); @@ -85,9 +85,9 @@ fn set_webrender_image_key(webrender_api: &webrender_traits::RenderApi, image: & // TODO(gw): This is a port of the old is_image_opaque code from WR. // Consider using SIMD to speed this up if it shows in profiles. -fn is_image_opaque(format: webrender_traits::ImageFormat, bytes: &[u8]) -> bool { +fn is_image_opaque(format: webrender_api::ImageFormat, bytes: &[u8]) -> bool { match format { - webrender_traits::ImageFormat::BGRA8 => { + webrender_api::ImageFormat::BGRA8 => { let mut is_opaque = true; for i in 0..(bytes.len() / 4) { if bytes[i * 4 + 3] != 255 { @@ -97,10 +97,10 @@ fn is_image_opaque(format: webrender_traits::ImageFormat, bytes: &[u8]) -> bool } is_opaque } - webrender_traits::ImageFormat::RGB8 => true, - webrender_traits::ImageFormat::RG8 => true, - webrender_traits::ImageFormat::A8 => false, - webrender_traits::ImageFormat::Invalid | webrender_traits::ImageFormat::RGBAF32 => unreachable!(), + webrender_api::ImageFormat::RGB8 => true, + webrender_api::ImageFormat::RG8 => true, + webrender_api::ImageFormat::A8 => false, + webrender_api::ImageFormat::Invalid | webrender_api::ImageFormat::RGBAF32 => unreachable!(), } } @@ -334,7 +334,7 @@ struct ImageCacheStore { placeholder_url: ServoUrl, // Webrender API instance. - webrender_api: webrender_traits::RenderApi, + webrender_api: webrender_api::RenderApi, } impl ImageCacheStore { @@ -403,7 +403,7 @@ pub struct ImageCacheImpl { } impl ImageCache for ImageCacheImpl { - fn new(webrender_api: webrender_traits::RenderApi) -> ImageCacheImpl { + fn new(webrender_api: webrender_api::RenderApi) -> ImageCacheImpl { debug!("New image cache"); let mut placeholder_path = resources_dir_path().expect("Can't figure out resources path."); |