use dom_struct::dom_struct;
use html5ever::{LocalName, Prefix};
use style_dom::ElementState;
use crate::dom::bindings::inheritance::Castable;
use crate::dom::document::Document;
use crate::dom::svgelement::SVGElement;
use crate::dom::virtualmethods::VirtualMethods;
#[dom_struct]
pub struct SVGGraphicsElement {
svgelement: SVGElement,
}
impl SVGGraphicsElement {
pub fn new_inherited(
tag_name: LocalName,
prefix: Option<Prefix>,
document: &Document,
) -> SVGGraphicsElement {
SVGGraphicsElement::new_inherited_with_state(
ElementState::empty(),
tag_name,
prefix,
document,
)
}
pub fn new_inherited_with_state(
state: ElementState,
tag_name: LocalName,
prefix: Option<Prefix>,
document: &Document,
) -> SVGGraphicsElement {
SVGGraphicsElement {
svgelement: SVGElement::new_inherited_with_state(state, tag_name, prefix, document),
}
}
}
impl VirtualMethods for SVGGraphicsElement {
fn super_type(&self) -> Option<&dyn VirtualMethods> {
Some(self.upcast::<SVGElement>() as &dyn VirtualMethods)
}
}