/// request a frame throttling hint
///
/// Request a notification when it is a good time start drawing a new
/// frame, by creating a frame callback. This is useful for throttling
/// redrawing operations, and driving animations.
///
/// When a client is animating on a wl_surface, it can use the 'frame'
/// request to get notified when it is a good time to draw and commit the
/// next frame of animation. If the client commits an update earlier than
/// that, it is likely that some updates will not make it to the display,
/// and the client is wasting resources by drawing too often.
///
/// The frame request will take effect on the next wl_surface.commit.
/// The notification will only be posted for one frame unless
/// requested again. For a wl_surface, the notifications are posted in
/// the order the frame requests were committed.
///
/// The server must send the notifications so that a client
/// will not send excessive updates, while still allowing
/// the highest possible update rate for clients that wait for the reply
/// before drawing again. The server should give some time for the client
/// to draw and commit after sending the frame callback events to let them
/// hit the next output refresh.
///
/// A server should avoid signalling the frame callbacks if the
/// surface is not visible in any way, e.g. the surface is off-screen,
/// or completely obscured by other opaque surfaces.
///
/// The object returned by this request will be destroyed by the
/// compositor after the callback is fired and as such the client must not
/// attempt to use it after that point.
///
/// The callback_data passed in the callback is the current time, in
/// milliseconds, with an undefined base.
request a frame throttling hint
Request a notification when it is a good time start drawing a new
frame, by creating a frame callback. This is useful for throttling
redrawing operations, and driving animations.

When a client is animating on a wl_surface, it can use the 'frame'
request to get notified when it is a good time to draw and commit the
next frame of animation. If the client commits an update earlier than
that, it is likely that some updates will not make it to the display,
and the client is wasting resources by drawing too often.

The frame request will take effect on the next wl_surface.commit.
The notification will only be posted for one frame unless
requested again. For a wl_surface, the notifications are posted in
the order the frame requests were committed.

The server must send the notifications so that a client
will not send excessive updates, while still allowing
the highest possible update rate for clients that wait for the reply
before drawing again. The server should give some time for the client
to draw and commit after sending the frame callback events to let them
hit the next output refresh.

A server should avoid signalling the frame callbacks if the
surface is not visible in any way, e.g. the surface is off-screen,
or completely obscured by other opaque surfaces.

The object returned by this request will be destroyed by the
compositor after the callback is fired and as such the client must not
attempt to use it after that point.

The callback_data passed in the callback is the current time, in
milliseconds, with an undefined base.
request a frame throttling hint Request a notification when it is a good time start drawing a new frame by creating a frame callback . This is useful for throttling redrawing operations and driving animations . When a client is animating on a wl_surface it can use the ' frame ' request to get notified when it is a good time to draw and commit the next frame of animation . If the client commits an update earlier than that it is likely that some updates will not make it to the display and the client is wasting resources by drawing too often . The frame request will take effect on the next wl_surface . commit . The notification will only be posted for one frame unless requested again . For a wl_surface the notifications are posted in the order the frame requests were committed . The server must send the notifications so that a client will not send excessive updates while still allowing the highest possible update rate for clients that wait for the reply before drawing again . The server should give some time for the client to draw and commit after sending the frame callback events to let them hit the next output refresh . A server should avoid signalling the frame callbacks if the surface is not visible in any way e . g . the surface is off - screen or completely obscured by other opaque surfaces . The object returned by this request will be destroyed by the compositor after the callback is fired and as such the client must not attempt to use it after that point . The callback_data passed in the callback is the current time in milliseconds with an undefined base .
pub fn frame(&self,) -> WlCallback {
        let ptr = unsafe { ffi_dispatch!(WAYLAND_CLIENT_HANDLE, wl_proxy_marshal_constructor, self.ptr(), WL_SURFACE_FRAME, &wl_callback_interface as *const wl_interface
           , ptr::null_mut::<wl_proxy>()) };
        let mut proxy: WlCallback = unsafe { Proxy::from_ptr(ptr) };
        let evt_iter = eventiter_from_internals(self.evq.clone());
        proxy.set_evt_iterator(&evt_iter);
        ::std::mem::forget(evt_iter); // Don't run the destructor !
        proxy
    }
pub fn frame ( & self , ) -> WlCallback { let ptr = unsafe { ffi_dispatch ! ( WAYLAND_CLIENT_HANDLE wl_proxy_marshal_constructor self ptr ( ) WL_SURFACE_FRAME wl_callback_interface as const wl_interface ptr null_mut wl_proxy ( ) ) } ; let mut proxy : WlCallback = unsafe { Proxy :: from_ptr ( ptr ) } ; let evt_iter = eventiter_from_internals ( self . evq . clone ( ) ) ; proxy . set_evt_iterator ( & evt_iter ) ; :: std :: mem :: forget ( evt_iter ) ; // Don't run the destructor ! proxy }
request a frame throttling hint
Request a notification when it is a good time start drawing a new
frame, by creating a frame callback.
request a frame throttling hint Request a notification when it is a good time start drawing a new frame by creating a frame callback .
&self