|
wlmaker
|
#include <libbase/libbase.h>#include <stdbool.h>

Go to the source code of this file.
Typedefs | |
| typedef struct _wlcl_dblbuf_t | wlcl_dblbuf_t |
| typedef bool(* | wlcl_dblbuf_ready_callback_t) (bs_gfxbuf_t *gfxbuf_ptr, void *ud_ptr) |
Functions | |
| wlcl_dblbuf_t * | wlcl_dblbuf_create (const char *app_id_ptr, struct wl_surface *wl_surface_ptr, struct wl_shm *wl_shm_ptr, unsigned width, unsigned height) |
| void | wlcl_dblbuf_destroy (wlcl_dblbuf_t *dblbuf_ptr) |
| void | wlcl_dblbuf_register_ready_callback (wlcl_dblbuf_t *dblbuf_ptr, wlcl_dblbuf_ready_callback_t callback, void *callback_ud_ptr) |
Functions for working with a double buffer on a wayland surface.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
| typedef bool(* wlcl_dblbuf_ready_callback_t) (bs_gfxbuf_t *gfxbuf_ptr, void *ud_ptr) |
Callback that indicates the buffer is ready to draw into.
| typedef struct _wlcl_dblbuf_t wlcl_dblbuf_t |
Forward declaration: Double buffer state.
| wlcl_dblbuf_t * wlcl_dblbuf_create | ( | const char * | app_id_ptr, |
| struct wl_surface * | wl_surface_ptr, | ||
| struct wl_shm * | wl_shm_ptr, | ||
| unsigned | width, | ||
| unsigned | height ) |
Creates a double buffer for the surface with provided dimensions.
| app_id_ptr | |
| wl_surface_ptr | |
| wl_shm_ptr | |
| width | |
| height |
| void wlcl_dblbuf_destroy | ( | wlcl_dblbuf_t * | dblbuf_ptr | ) |
Destroys the double buffer.
| void wlcl_dblbuf_register_ready_callback | ( | wlcl_dblbuf_t * | dblbuf_ptr, |
| wlcl_dblbuf_ready_callback_t | callback, | ||
| void * | callback_ud_ptr ) |
Registers a callback for when a frame can be drawn into the buffer.
The frame can be drawn if (1) it is due, and (2) there is a back buffer available ("released") for drawing into. If these conditions hold true, callback will be called right away. Otherwise, it will be called once these conditions are fulfilled.
The callback will be called only once. If the client wishes further notifications, they must call wlcl_dblbuf_register_ready_callback again.
The callback must be registered only after the surface is ready. Eg. for an XDG toplevel, after it has received & acknowledged configure.
| dblbuf_ptr | |
| callback | The callback function, or NULL to clear the callback. |
| callback_ud_ptr | Argument to use for callback. |