Bug 1340270 - Update webrender_bindings glue for add_image and add_raw_font API changes. r=jrmuizel draft
authorKartikaya Gupta <kgupta@mozilla.com>
Wed, 22 Feb 2017 22:58:05 -0500
changeset 488443 63b8d224581b89863e24c452bd61efd479083480
parent 488442 75a9d0d992f0b11132c9e96a59515656176dc27b
child 546725 ec3cca324b3bd2ef259dddb3efea74f32b4601c4
push id46526
push userkgupta@mozilla.com
push dateThu, 23 Feb 2017 03:58:47 +0000
reviewersjrmuizel
bugs1340270
milestone54.0a1
Bug 1340270 - Update webrender_bindings glue for add_image and add_raw_font API changes. r=jrmuizel MozReview-Commit-ID: HozrHxmYPYt
gfx/webrender_bindings/src/bindings.rs
--- a/gfx/webrender_bindings/src/bindings.rs
+++ b/gfx/webrender_bindings/src/bindings.rs
@@ -590,26 +590,29 @@ pub extern fn wr_api_set_root_pipeline(a
     api.set_root_pipeline(pipeline_id);
     api.generate_frame(None);
 }
 
 #[no_mangle]
 pub extern fn wr_api_add_image(api: &mut RenderApi, descriptor: &WrImageDescriptor, bytes: * const u8, size: usize) -> ImageKey {
     assert!( unsafe { is_in_compositor_thread() });
     let bytes = unsafe { slice::from_raw_parts(bytes, size).to_owned() };
-    return api.add_image(
+    let image_key = api.generate_image_key();
+    api.add_image(
+        image_key,
         ImageDescriptor {
             width: descriptor.width,
             height: descriptor.height,
             stride: if descriptor.stride != 0 { Some(descriptor.stride) } else { None },
             format: descriptor.format,
             is_opaque: descriptor.is_opaque,
         },
         ImageData::new(bytes)
     );
+    image_key
 }
 
 #[no_mangle]
 pub extern fn wr_api_add_external_image_texture(api: &mut RenderApi, width: u32, height: u32, format: ImageFormat, external_image_id: u64) -> ImageKey {
     assert!( unsafe { is_in_compositor_thread() });
     unimplemented!(); // TODO
     //api.add_image(ImageDescriptor{width:width, height:height, stride:None, format: format, is_opaque: false}, ImageData::External(ExternalImageId(external_image_id)))
 }
@@ -924,17 +927,19 @@ pub extern fn wr_api_add_raw_font(api: &
     assert!( unsafe { is_in_compositor_thread() });
 
     let font_slice = unsafe {
         slice::from_raw_parts(font_buffer, buffer_size as usize)
     };
     let mut font_vector = Vec::new();
     font_vector.extend_from_slice(font_slice);
 
-    return api.add_raw_font(font_vector);
+    let font_key = api.generate_font_key();
+    api.add_raw_font(font_key, font_vector);
+    font_key
 }
 
 #[no_mangle]
 pub extern fn wr_dp_push_text(state: &mut WrState,
                               bounds: WrRect,
                               clip: WrRect,
                               color: WrColor,
                               font_key: FontKey,