drawingPart :: Drawing a b -> DPath -> Drawing a b maybeDrawingPart :: Drawing a b -> DPath -> Maybe (Drawing a b) replacePart :: Drawing a b -> DPath -> Drawing a b -> Drawing a b updatePart :: Drawing a b -> DPath -> (Drawing a b -> Drawing a b) -> Drawing a b mapLabelDrawing :: (a -> b) -> Drawing a c -> Drawing b c deletePart :: Drawing a b -> [Int] -> Drawing a b drawingAnnots :: Drawing a b -> [(DPath, a)]
These are functions that operate on parts of drawings.
There are two functions for extracting a part with a given path.
The function drawingPart fails if the path refers to a non-existing
part. maybeDrawingPart returns Just part if the part exists,
Nothing otherwise.
The functions replacePart and updatePart replace parts of
drawings. They fail if the path refers to a non-existing part.
mapLabelDrawing applies a function to all the labels in a drawing.
deletePart deletes a part of a drawing.
drawingAnnots returns the paths and labels of the labelled nodes of
a drawing.
replacePart drawing path newpart = updatePart drawing path (const newpart)