pub enum Fragment {
Line(Line),
MarkerLine(MarkerLine),
Circle(Circle),
Arc(Arc),
Polygon(Polygon),
Rect(Rect),
CellText(CellText),
Text(Text),
}
Expand description
0 1 2 3 4 B C D
0┌─┬─┬─┬─┐ A┌─┬─┬─┬─┐E
1├─┼─┼─┼─┤ │ │ │ │ │
2├─┼─┼─┼─┤ F├─G─H─I─┤J
3├─┼─┼─┼─┤ │ │ │ │ │
4├─┼─┼─┼─┤ K├─L─M─N─┤O
5├─┼─┼─┼─┤ │ │ │ │ │
6├─┼─┼─┼─┤ P├─Q─R─S─┤T
7├─┼─┼─┼─┤ │ │ │ │ │
8└─┴─┴─┴─┘ U└─┴─┴─┴─┘Y
``` V W X
Variants
Line(Line)
MarkerLine(MarkerLine)
Circle(Circle)
Arc(Arc)
Polygon(Polygon)
Rect(Rect)
CellText(CellText)
Text(Text)
Implementations
sourceimpl Fragment
impl Fragment
sourcepub fn match_unicode(fragments: &Vec<Self>) -> Option<char>
pub fn match_unicode(fragments: &Vec<Self>) -> Option<char>
get the character that matches the shape present on this cell
sourcepub fn merge(&self, other: &Self, settings: &Settings) -> Option<Self>
pub fn merge(&self, other: &Self, settings: &Settings) -> Option<Self>
merge this fragment to the other fragment if it is possible returns None if the fragment can not be merge
pub fn hit(&self, start: Point, end: Point) -> bool
sourcepub fn is_intersecting(&self, bbox: &AABB) -> bool
pub fn is_intersecting(&self, bbox: &AABB) -> bool
check if this fragment is intersecting with this bounding box Note: if intersection logic requires testing the solid shape inside the polygon use the ConvexPolygon of each shape instead of Polyline
sourcepub fn is_inside(&self, bbox: &AABB) -> bool
pub fn is_inside(&self, bbox: &AABB) -> bool
check if this fragment can be contain in the specified bounding box bbox
sourcepub fn absolute_position(&self, cell: Cell) -> Self
pub fn absolute_position(&self, cell: Cell) -> Self
recompute the end points of this fragment offset by the cell location
pub fn align(&self) -> Self
pub fn as_line(&self) -> Option<&Line>
pub fn as_rect(&self) -> Option<&Rect>
pub fn as_polygon(&self) -> Option<&Polygon>
pub fn as_arc(&self) -> Option<&Arc>
pub fn as_cell_text(&self) -> Option<&CellText>
pub fn as_text(&self) -> Option<&Text>
sourcepub fn as_css_tag(&self) -> Vec<String>
pub fn as_css_tag(&self) -> Vec<String>
if this is a cell text and is wrapped in braces then it is a css tag for the container
pub fn as_circle(&self) -> Option<&Circle>
pub fn is_circle(&self) -> bool
pub fn is_rect(&self) -> bool
pub fn is_text(&self) -> bool
pub fn is_cell_text(&self) -> bool
pub fn is_broken(&self) -> bool
Trait Implementations
sourceimpl<MSG> Into<Node<&'static str, &'static str, &'static str, AttributeValue<MSG>>> for Fragment
impl<MSG> Into<Node<&'static str, &'static str, &'static str, AttributeValue<MSG>>> for Fragment
sourceimpl Ord for Fragment
impl Ord for Fragment
sourceimpl PartialOrd<Fragment> for Fragment
impl PartialOrd<Fragment> for Fragment
sourcefn partial_cmp(&self, other: &Self) -> Option<Ordering>
fn partial_cmp(&self, other: &Self) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
impl Eq for Fragment
Auto Trait Implementations
impl RefUnwindSafe for Fragment
impl Send for Fragment
impl Sync for Fragment
impl Unpin for Fragment
impl UnwindSafe for Fragment
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
Convert Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
. Read more
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
pub fn as_any(&self) -> &(dyn Any + 'static)
pub fn as_any(&self) -> &(dyn Any + 'static)
Convert &Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read more
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert &mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read more
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
pub fn to_subset(&self) -> Option<SS>
pub fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct self
from the equivalent element of its
superset. Read more
pub fn is_in_subset(&self) -> bool
pub fn is_in_subset(&self) -> bool
Checks if self
is actually part of its subset T
(and can be converted to it).
pub fn to_subset_unchecked(&self) -> SS
pub fn to_subset_unchecked(&self) -> SS
Use with care! Same as self.to_subset
but without any property checks. Always succeeds.
pub fn from_subset(element: &SS) -> SP
pub fn from_subset(element: &SS) -> SP
The inclusion map: converts self
to the equivalent element of its superset.
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcepub fn to_owned(&self) -> T
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
sourcepub fn clone_into(&self, target: &mut T)
pub fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more