Bug 1340270 - Update webrender_bindings glue for add_image and add_raw_font API changes. r=jrmuizel
MozReview-Commit-ID: HozrHxmYPYt
--- 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,