diff options
author | Edit Balint <edbalint@inf.u-szeged.hu> | 2014-11-27 18:25:47 +0100 |
---|---|---|
committer | Edit Balint <edbalint@inf.u-szeged.hu> | 2015-01-09 18:53:10 +0100 |
commit | 81f47344d6e121d86de368a25107415406de3c0f (patch) | |
tree | 6026f5e80de0a1ffd974749d89d90d562bf12144 /components/script/dom/htmlcanvaselement.rs | |
parent | 43e34d6d1050227eecc8fa293f9faec066f173a1 (diff) | |
download | servo-81f47344d6e121d86de368a25107415406de3c0f.tar.gz servo-81f47344d6e121d86de368a25107415406de3c0f.zip |
CanvasRenderTask connected to Layout
Update rust-azure to f4a02f3f621b0a994a20d42e438371a87c62f898.
Diffstat (limited to 'components/script/dom/htmlcanvaselement.rs')
-rw-r--r-- | components/script/dom/htmlcanvaselement.rs | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/components/script/dom/htmlcanvaselement.rs b/components/script/dom/htmlcanvaselement.rs index eb02b6bc87d..15f25a495a5 100644 --- a/components/script/dom/htmlcanvaselement.rs +++ b/components/script/dom/htmlcanvaselement.rs @@ -2,6 +2,7 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +use canvas::canvas_paint_task::CanvasMsg; use dom::attr::Attr; use dom::attr::AttrHelpers; use dom::bindings::codegen::Bindings::HTMLCanvasElementBinding; @@ -9,8 +10,8 @@ use dom::bindings::codegen::Bindings::HTMLCanvasElementBinding::HTMLCanvasElemen use dom::bindings::codegen::InheritTypes::HTMLCanvasElementDerived; use dom::bindings::codegen::InheritTypes::{ElementCast, HTMLElementCast}; use dom::bindings::global::GlobalRef; -use dom::bindings::js::{MutNullableJS, JSRef, Temporary}; -use dom::canvasrenderingcontext2d::CanvasRenderingContext2D; +use dom::bindings::js::{MutNullableJS, JS, JSRef, Temporary}; +use dom::canvasrenderingcontext2d::{CanvasRenderingContext2D, LayoutCanvasRenderingContext2DHelpers}; use dom::document::Document; use dom::element::{Element, AttributeHandlers}; use dom::eventtarget::{EventTarget, EventTargetTypeId}; @@ -60,6 +61,27 @@ impl HTMLCanvasElement { } } +pub trait LayoutHTMLCanvasElementHelpers { + unsafe fn get_renderer(&self) -> Option<Sender<CanvasMsg>>; + unsafe fn get_canvas_width(&self) -> u32; + unsafe fn get_canvas_height(&self) -> u32; +} + +impl LayoutHTMLCanvasElementHelpers for JS<HTMLCanvasElement> { + unsafe fn get_renderer(&self) -> Option<Sender<CanvasMsg>> { + let context = (*self.unsafe_get()).context.get_inner(); + context.map(|cx| cx.get_renderer()) + } + + unsafe fn get_canvas_width(&self) -> u32 { + (*self.unsafe_get()).width.get() + } + + unsafe fn get_canvas_height(&self) -> u32 { + (*self.unsafe_get()).height.get() + } +} + impl<'a> HTMLCanvasElementMethods for JSRef<'a, HTMLCanvasElement> { fn Width(self) -> u32 { self.width.get() |