mirror of
https://github.com/servo/servo.git
synced 2025-06-06 16:45:39 +00:00
Don't create 2D canvas contexts arbitrarily
Sometimes, the canvas still has no rendering context, in this case it represents a transparent black rectangle.
This commit is contained in:
parent
ed673f8070
commit
f1e8eb640c
4 changed files with 107 additions and 90 deletions
|
@ -132,15 +132,21 @@ impl<'a> CanvasPaintThread <'a> {
|
|||
self.canvas(canvas_id).is_point_in_path(x, y, fill_rule, chan)
|
||||
},
|
||||
Canvas2dMsg::DrawImage(
|
||||
mut imagedata,
|
||||
imagedata,
|
||||
image_size,
|
||||
dest_rect,
|
||||
source_rect,
|
||||
smoothing_enabled,
|
||||
) => {
|
||||
byte_swap(&mut imagedata);
|
||||
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);
|
||||
data.into()
|
||||
},
|
||||
};
|
||||
self.canvas(canvas_id).draw_image(
|
||||
imagedata.into(),
|
||||
data,
|
||||
image_size,
|
||||
dest_rect,
|
||||
source_rect,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue