Skip to main content

fre_rs/
misc.rs

1use super::*;
2
3
4#[derive(Debug, Clone, Copy, PartialEq, Eq)]
5pub enum RenderMode {
6    Unknown,
7    None,
8    Cpu,
9    DirectOgles,
10    DirectOgl,
11    DirectD3d9,
12    DirectD3d10,
13    DirectD3d11,
14    SoftwareGdi,
15    GpuOgles,
16    Unexpected(FRERenderMode),
17}
18impl From<FRERenderMode> for RenderMode {
19    fn from(value: FRERenderMode) -> Self {
20        match value {
21            FRERenderMode::FRE_RENDERMODE_UNKNOWN           => Self::Unknown,
22            FRERenderMode::FRE_RENDERMODE_NONE              => Self::None,
23            FRERenderMode::FRE_RENDERMODE_CPU               => Self::Cpu,
24            FRERenderMode::FRE_RENDERMODE_DIRECT_OGLES      => Self::DirectOgles,
25            FRERenderMode::FRE_RENDERMODE_DIRECT_OGL        => Self::DirectOgl,
26            FRERenderMode::FRE_RENDERMODE_DIRECT_D3D9       => Self::DirectD3d9,
27            FRERenderMode::FRE_RENDERMODE_DIRECT_D3D10      => Self::DirectD3d10,
28            FRERenderMode::FRE_RENDERMODE_DIRECT_D3D11      => Self::DirectD3d11,
29            FRERenderMode::FRE_RENDERMODE_SOFTWARE_GDI      => Self::SoftwareGdi,
30            FRERenderMode::FRE_RENDERMODE_GPU_OGLES         => Self::GpuOgles,
31            _ => Self::Unexpected(value),
32        }
33    }
34}
35impl Display for RenderMode {
36    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
37        match *self {
38            Self::Unknown           => write!(f, "Unknown"),
39            Self::None              => write!(f, "None"),
40            Self::Cpu               => write!(f, "CPU"),
41            Self::DirectOgles       => write!(f, "Direct (OpenGL ES)"),
42            Self::DirectOgl         => write!(f, "Direct (OpenGL)"),
43            Self::DirectD3d9        => write!(f, "Direct (Direct3D 9)"),
44            Self::DirectD3d10       => write!(f, "Direct (Direct3D 10)"),
45            Self::DirectD3d11       => write!(f, "Direct (Direct3D 11)"),
46            Self::SoftwareGdi       => write!(f, "Software (GDI)"),
47            Self::GpuOgles          => write!(f, "GPU (OpenGL ES)"),
48            Self::Unexpected(mode) => write!(f, "Unexpected FRERenderMode({mode})."),
49        }
50    }
51}
52