summaryrefslogtreecommitdiff
path: root/src/attributes/image.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/attributes/image.rs')
-rw-r--r--src/attributes/image.rs22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/attributes/image.rs b/src/attributes/image.rs
index 360191a..17e2ef6 100644
--- a/src/attributes/image.rs
+++ b/src/attributes/image.rs
@@ -1,6 +1,10 @@
use crate::dot::DotString;
use std::borrow::Cow;
+/// Controls how an image is positioned within its containing node.
+/// Only has an effect when the image is smaller than the containing node.
+///
+/// The default is to be centered both horizontally and vertically.
pub enum ImagePosition {
TopLeft,
TopCentered,
@@ -29,6 +33,24 @@ impl<'a> DotString<'a> for ImagePosition {
}
}
+/// Controls how an image fills its containing node.
+/// In general, the image is given its natural size, (cf. dpi), and the node size is made large
+/// enough to contain its image, its label, its margin, and its peripheries.
+///
+/// Its width and height will also be at least as large as its minimum width and height.
+/// If, however, fixedsize=true, the width and height attributes specify the exact size of the node.
+///
+/// During rendering, in the default case (imagescale=false), the image retains its natural size.
+///
+/// If imagescale=true, the image is uniformly scaled (i.e., its aspect ratio is preserved) to fit
+/// inside the node.
+/// At least one dimension of the image will be as large as possible given the size of the node.
+///
+/// When imagescale=width, the width of the image is scaled to fill the node width.
+///
+/// When imagescale=both, both the height and the width are scaled separately to fill the node.
+///
+/// As with the case of expansion, if imagescale=true, width and height are scaled uniformly.
pub enum ImageScale {
Width,
Height,