use crate::vm::flowgraph::Color;
#[derive(Debug, Clone, Copy)]
pub enum EdgeStyle {
Line,
Dotted,
Dashed,
}
#[derive(Debug, Clone, Copy)]
pub enum EdgeType {
None,
Arrow,
}
#[derive(Debug, Clone)]
pub struct Edge {
pub(super) from: usize,
pub(super) to: usize,
pub(super) label: Option<Box<str>>,
pub(super) color: Color,
pub(super) style: EdgeStyle,
pub(super) type_: EdgeType,
}
impl Edge {
pub(super) const fn new(
from: usize,
to: usize,
label: Option<Box<str>>,
color: Color,
style: EdgeStyle,
) -> Self {
Self {
from,
to,
label,
color,
style,
type_: EdgeType::Arrow,
}
}
#[inline]
pub fn set_type(&mut self, type_: EdgeType) {
self.type_ = type_;
}
}