mirror of
https://github.com/servo/servo.git
synced 2025-08-06 06:00:15 +01:00
Addresses Issue: Support OffscreenCanvas as CanvasImageSource #24269
Added methods to canvas_data to support drawing an offscreen canvas onto another canvas Bug fix: Swapped OffscreenCanvas width and height parameters to match Mozilla spec Tests: Updated metadata for 866 tests
This commit is contained in:
parent
951dc2419a
commit
deae103042
869 changed files with 133 additions and 3478 deletions
|
@ -24,8 +24,10 @@ use crate::dom::htmlcanvaselement::HTMLCanvasElement;
|
|||
use crate::dom::imagedata::ImageData;
|
||||
use crate::dom::offscreencanvas::OffscreenCanvas;
|
||||
use crate::dom::textmetrics::TextMetrics;
|
||||
use canvas_traits::canvas::{Canvas2dMsg, CanvasId, CanvasMsg};
|
||||
use dom_struct::dom_struct;
|
||||
use euclid::default::Size2D;
|
||||
use ipc_channel::ipc::IpcSender;
|
||||
|
||||
#[dom_struct]
|
||||
pub struct OffscreenCanvasRenderingContext2D {
|
||||
|
@ -72,6 +74,22 @@ impl OffscreenCanvasRenderingContext2D {
|
|||
pub fn set_canvas_bitmap_dimensions(&self, size: Size2D<u64>) {
|
||||
self.canvas_state.borrow().set_bitmap_dimensions(size);
|
||||
}
|
||||
|
||||
pub fn send_canvas_2d_msg(&self, msg: Canvas2dMsg) {
|
||||
self.canvas_state.borrow().send_canvas_2d_msg(msg)
|
||||
}
|
||||
|
||||
pub fn origin_is_clean(&self) -> bool {
|
||||
self.canvas_state.borrow().origin_is_clean()
|
||||
}
|
||||
|
||||
pub fn get_canvas_id(&self) -> CanvasId {
|
||||
self.canvas_state.borrow().get_canvas_id()
|
||||
}
|
||||
|
||||
pub fn get_ipc_renderer(&self) -> IpcSender<CanvasMsg> {
|
||||
self.canvas_state.borrow().get_ipc_renderer().clone()
|
||||
}
|
||||
}
|
||||
|
||||
impl OffscreenCanvasRenderingContext2DMethods for OffscreenCanvasRenderingContext2D {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue