Skip to main content

maplibre_native_ffi/generated/
frame_pacer.rs

1// Generated from C headers by tools/bindgen. Do not edit.
2use super::*;
3
4native_owner! {
5    /// Owns one native handle.
6    ///
7    /// Demands render sessions' frames at a display's refreshes.
8    ///
9    /// See `mln_frame_pacer` in the
10    /// [C API reference](https://maplibre.org/maplibre-native-ffi/reference/c/base_8h.html).
11    pub struct FramePacerHandle(mln_frame_pacer) dispose |raw| { unsafe { sys::mln_frame_pacer_release(raw) }; Ok(()) };
12    /// Returns the native handle value.
13    fn id;
14}
15
16impl FramePacerHandle {
17    /// Releases a frame pacer.
18    ///
19    /// Render sessions that use the pacer stay paced until you release them or
20    /// set another pacer.
21    ///
22    /// See `mln_frame_pacer_release` in the
23    /// [C API reference](https://maplibre.org/maplibre-native-ffi/reference/c/render__session_8h.html).
24    pub fn release(self) -> std::result::Result<(), ReleaseError<Self>> {
25        self.consume(|pacer| {
26            let mut call = Call::new(pacer);
27            call.run(|pacer| unsafe { sys::mln_frame_pacer_release(pacer) });
28            Ok(())
29        })
30    }
31}