1/// The platform style to use when rendering UI.
2///
3/// This can be used to abstract over platform differences.
4#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Hash, Clone, Copy)]
5pub enum PlatformStyle {
6 /// Display in macOS style.
7 Mac,
8 /// Display in Linux style.
9 Linux,
10 /// Display in Windows style.
11 Windows,
12}
13
14impl PlatformStyle {
15 /// Returns the [`PlatformStyle`] for the current platform.
16 pub const fn platform() -> Self {
17 if cfg!(any(target_os = "linux", target_os = "freebsd")) {
18 Self::Linux
19 } else if cfg!(target_os = "windows") {
20 Self::Windows
21 } else {
22 Self::Mac
23 }
24 }
25}