pub struct Document {
tree: Node<NodeData>,
session: Session,
ids: HashMap<String, Node<NodeData>>,
externs: RefCell<Resources>,
images: RefCell<Images>,
load_options: Arc<LoadOptions>,
stylesheets: Vec<Stylesheet>,
}
Expand description
A loaded SVG file and its derived data.
Fields§
§tree: Node<NodeData>
Tree of nodes; the root is guaranteed to be an <svg>
element.
session: Session
Metadata about the SVG handle.
ids: HashMap<String, Node<NodeData>>
Mapping from id
attributes to nodes.
externs: RefCell<Resources>
SVG documents referenced from this document.
images: RefCell<Images>
Image resources referenced from this document.
load_options: Arc<LoadOptions>
Used to load referenced resources.
stylesheets: Vec<Stylesheet>
Stylesheets defined in the document.
Implementations§
source§impl Document
impl Document
sourcepub fn load_from_stream(
session: Session,
load_options: Arc<LoadOptions>,
stream: &InputStream,
cancellable: Option<&Cancellable>
) -> Result<Document, LoadingError>
pub fn load_from_stream(
session: Session,
load_options: Arc<LoadOptions>,
stream: &InputStream,
cancellable: Option<&Cancellable>
) -> Result<Document, LoadingError>
Constructs a Document
by loading it from a stream.
sourcepub fn root(&self) -> Node<NodeData>
pub fn root(&self) -> Node<NodeData>
Gets the root node. This is guaranteed to be an <svg>
element.
sourcepub fn lookup_node(&self, node_id: &NodeId) -> Option<Node<NodeData>>
pub fn lookup_node(&self, node_id: &NodeId) -> Option<Node<NodeData>>
Looks up a node in this document or one of its resources by its id
attribute.
sourcepub fn lookup_internal_node(&self, id: &str) -> Option<Node<NodeData>>
pub fn lookup_internal_node(&self, id: &str) -> Option<Node<NodeData>>
Looks up a node in this document by its id
attribute.
sourcepub fn lookup_image(&self, url: &str) -> Result<SharedImageSurface, LoadingError>
pub fn lookup_image(&self, url: &str) -> Result<SharedImageSurface, LoadingError>
Loads an image by URL, or returns a pre-loaded one.
sourcepub fn cascade(&mut self, extra: &[Stylesheet], session: &Session)
pub fn cascade(&mut self, extra: &[Stylesheet], session: &Session)
Runs the CSS cascade on the document tree
This uses the default UserAgent stylesheet, the document’s internal stylesheets, plus an extra set of stylesheets supplied by the caller.
Auto Trait Implementations§
impl !RefUnwindSafe for Document
impl !Send for Document
impl !Sync for Document
impl Unpin for Document
impl !UnwindSafe for Document
Blanket Implementations§
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self
from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self
is actually part of its subset T
(and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset
but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self
to the equivalent element of its superset.