Skip to main content

ohos_resource_manager_binding/
info.rs

1use ohos_resource_manager_sys::{
2    ScreenDensity_SCREEN_LDPI, ScreenDensity_SCREEN_MDPI, ScreenDensity_SCREEN_SDPI,
3    ScreenDensity_SCREEN_XLDPI, ScreenDensity_SCREEN_XXLDPI, ScreenDensity_SCREEN_XXXLDPI,
4};
5
6#[derive(Debug, Ord, PartialOrd, Eq, PartialEq, Default)]
7pub enum ScreenDensity {
8    #[default]
9    Current,
10    ScreenSDPI,
11    ScreenMDPI,
12    ScreenLDPI,
13    ScreenXLDPI,
14    ScreenXXLDPI,
15    ScreenXXXLDPI,
16}
17
18impl From<ScreenDensity> for ohos_resource_manager_sys::ScreenDensity {
19    fn from(value: ScreenDensity) -> Self {
20        match value {
21            ScreenDensity::Current => 0 as ohos_resource_manager_sys::ScreenDensity,
22            ScreenDensity::ScreenMDPI => ScreenDensity_SCREEN_MDPI,
23            ScreenDensity::ScreenSDPI => ScreenDensity_SCREEN_SDPI,
24            ScreenDensity::ScreenLDPI => ScreenDensity_SCREEN_LDPI,
25            ScreenDensity::ScreenXLDPI => ScreenDensity_SCREEN_XLDPI,
26            ScreenDensity::ScreenXXLDPI => ScreenDensity_SCREEN_XXLDPI,
27            ScreenDensity::ScreenXXXLDPI => ScreenDensity_SCREEN_XXXLDPI,
28        }
29    }
30}
31
32#[derive(Debug, Ord, PartialOrd, Eq, PartialEq, Default)]
33pub enum IconType {
34    #[default]
35    Current,
36    Theme,
37    Dynamic,
38}
39
40impl From<IconType> for u32 {
41    fn from(value: IconType) -> Self {
42        match value {
43            IconType::Current => 0,
44            IconType::Theme => 1,
45            IconType::Dynamic => 2,
46        }
47    }
48}