New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conflicts resolved in conflicting files. OffscreenCanvas ready to be merged. #19067
Changes from 1 commit
6867786
122aa43
7601b1f
95bc7ae
8c1f2bd
8490167
81dd745
e982909
39d0308
03df441
bb3de9c
File filter...
Jump to…
Width and height added to offscreen-canvas constructor
- Loading branch information
| @@ -60,6 +60,17 @@ enum CanvasFillOrStrokeStyle { | ||
| Pattern(Dom<CanvasPattern>), | ||
| } | ||
|
|
||
| /// Trait to get dimensions of off-screen element | ||
| pub trait OffscreenCanvasRendering { | ||
| //get width of offscreen-canvas element | ||
| fn width(&self) -> u64{ | ||
| } | ||
|
|
||
| // Get the height of the offscreen-canvas element | ||
| fn Height(&self) -> u64{ | ||
| } | ||
| } | ||
|
|
||
| #[dom_struct] | ||
| pub struct OffscreenCanvasRenderingContext2D { | ||
gauraangkhurana
Author
|
||
| reflector_: Reflector, | ||
| @@ -120,23 +131,23 @@ impl OffscreenCanvasRenderingContext2D { | ||
| size: Size2D<i32>) | ||
| -> OffscreenCanvasRenderingContext2D { | ||
| let base = CanvasRenderingContext2D::new(global, &canvas, size); | ||
| Some(OffscreenCanvasRenderingContext2D { | ||
| OffscreenCanvasRenderingContext2D { | ||
| reflector_: Reflector::new(), | ||
| base: Dom::from_ref(&*base), | ||
| }) | ||
| } | ||
| } | ||
|
|
||
| pub fn new(global: &GlobalScope, | ||
| canvas: &OffscreenCanvas, | ||
| size: Size2D<i32>) | ||
| -> DomRoot<OffscreenCanvasRenderingContext2D> { | ||
| let window = window_from_node(canvas); | ||
| let image_cache = window.image_cache(); | ||
| let base_url = window.get_url(); | ||
| let boxed = Box::new(OffscreenCanvasRenderingContext2D::new_inherited( | ||
| global, Some(canvas), image_cache, base_url, size | ||
| )); | ||
| reflect_dom_object(boxed, global, OffscreenCanvasRenderingContext2DBinding::Wrap) | ||
| //let image_cache = window.image_cache(); | ||
| //let base_url = window.get_url(); | ||
| //let boxed = Box::new(OffscreenCanvasRenderingContext2D::new_inherited( | ||
| // global, Some(canvas), image_cache, base_url, size | ||
| //)); | ||
| //reflect_dom_object(boxed, global, OffscreenCanvasRenderingContext2DBinding::Wrap) | ||
| unimplemented!() | ||
| } | ||
|
|
||
| fn draw_image(&self, | ||
| @@ -221,7 +232,8 @@ pub fn parse_color(string: &str) -> Result<RGBA, ()> { | ||
| impl LayoutOffscreenCanvasRenderingContext2DHelpers for LayoutDom<OffscreenCanvasRenderingContext2D> { | ||
| #[allow(unsafe_code)] | ||
| unsafe fn get_ipc_renderer(&self) -> IpcSender<CanvasMsg> { | ||
| self.base.get_ipc_renderer() | ||
| //self.base.get_ipc_renderer() | ||
| unimplemented!() | ||
| } | ||
| } | ||
|
|
||
Rather than duplicating so much code in this file, we should be looking at ways to share as much code as possible. Consider extracting common data members and methods into a separate CommonCanvasRenderingContext2d structure that is used as a member by both OffscreenCanvasRenderingContext2D and CanvasRenderingContext2D.