gmaps_static/
marker_size.rs1use std::fmt;
2use std::str::FromStr;
3
4pub static TINY: &MarkerSize = &MarkerSize::Tiny;
5pub static MID: &MarkerSize = &MarkerSize::Mid;
6pub static SMALL: &MarkerSize = &MarkerSize::Small;
7
8#[derive(Clone)]
9pub enum MarkerSize {
10 Tiny,
11 Mid,
12 Small,
13}
14
15impl fmt::Display for MarkerSize {
16 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
17 use MarkerSize::*;
18 write!(
19 f,
20 "{}",
21 match &self {
22 Tiny => "tiny",
23 Mid => "mid",
24 Small => "small",
25 }
26 )
27 }
28}
29
30impl FromStr for MarkerSize {
31 type Err = String;
32
33 fn from_str(input: &str) -> Result<MarkerSize, Self::Err> {
34 use MarkerSize::*;
35 match input {
36 "tiny" => Ok(Tiny),
37 "mid" => Ok(Mid),
38 "small" => Ok(Small),
39 x => Err(format!("Invalid value for MarkerSize. Given '{}'", x)),
40 }
41 }
42}