gmaps_static/
icon_anchor.rs

1use crate::RelativePosition;
2use std::fmt;
3
4#[derive(Clone)]
5pub enum IconAnchor {
6    Relative(RelativePosition),
7    Absolute(i32, i32),
8}
9
10impl From<RelativePosition> for IconAnchor {
11    fn from(position: RelativePosition) -> Self {
12        IconAnchor::Relative(position)
13    }
14}
15
16impl From<(i32, i32)> for IconAnchor {
17    fn from((x, y): (i32, i32)) -> Self {
18        IconAnchor::Absolute(x, y)
19    }
20}
21
22impl fmt::Display for IconAnchor {
23    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
24        use IconAnchor::*;
25        match self {
26            Relative(position) => write!(f, "{}", position.to_string()),
27            Absolute(x, y) => write!(f, "{},{}", x, y),
28        }
29    }
30}