Skip to main content

ohos_arkui_binding/animate/options/
frame_rate_range.rs

1//! Module animate::options::frame_rate_range wrappers and related types.
2
3use ohos_arkui_sys::ArkUI_ExpectedFrameRateRange;
4
5#[derive(Debug, Clone, Copy)]
6/// Wrapper for expected frame-rate range used by animation options.
7pub struct AnimationFrameRateRange {
8    raw: ArkUI_ExpectedFrameRateRange,
9}
10
11impl AnimationFrameRateRange {
12    /// Creates a default frame-rate range.
13    pub fn new() -> Self {
14        Self::default()
15    }
16
17    pub(crate) fn raw(&self) -> ArkUI_ExpectedFrameRateRange {
18        self.raw
19    }
20
21    pub(crate) fn from_raw(raw: ArkUI_ExpectedFrameRateRange) -> Self {
22        Self { raw }
23    }
24
25    pub fn set_min(&mut self, min: u32) {
26        self.raw.min = min;
27    }
28
29    pub fn min(&self) -> u32 {
30        self.raw.min
31    }
32
33    pub fn set_max(&mut self, max: u32) {
34        self.raw.max = max;
35    }
36
37    pub fn max(&self) -> u32 {
38        self.raw.max
39    }
40
41    pub fn set_expected(&mut self, expected: u32) {
42        self.raw.expected = expected;
43    }
44
45    pub fn expected(&self) -> u32 {
46        self.raw.expected
47    }
48}
49
50impl Default for AnimationFrameRateRange {
51    fn default() -> Self {
52        Self {
53            raw: ArkUI_ExpectedFrameRateRange {
54                min: 10,
55                max: 120,
56                expected: 60,
57            },
58        }
59    }
60}