mirror of
https://github.com/hyprwm/wlroots-hyprland.git
synced 2024-11-22 12:55:58 +01:00
compositor: add wlr_surface_state_has_buffer()
This commit is contained in:
parent
43734f7c62
commit
34d5af4172
2 changed files with 18 additions and 1 deletions
|
@ -283,6 +283,19 @@ void wlr_surface_unmap(struct wlr_surface *surface);
|
||||||
*/
|
*/
|
||||||
bool wlr_surface_has_buffer(struct wlr_surface *surface);
|
bool wlr_surface_has_buffer(struct wlr_surface *surface);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check whether this surface state has an attached buffer.
|
||||||
|
*
|
||||||
|
* A surface has an attached buffer when the client commits with a non-null
|
||||||
|
* buffer. A surface will not have a buffer if the client never committed one,
|
||||||
|
* or committed a null buffer.
|
||||||
|
*
|
||||||
|
* Note that wlr_surface_state.buffer may be NULL even if this function returns
|
||||||
|
* true: the buffer field is reset after commit, to allow the buffer to be
|
||||||
|
* released to the client. Additionally, the buffer import or upload may fail.
|
||||||
|
*/
|
||||||
|
bool wlr_surface_state_has_buffer(const struct wlr_surface_state *state);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the texture of the buffer currently attached to this surface. Returns
|
* Get the texture of the buffer currently attached to this surface. Returns
|
||||||
* NULL if no buffer is currently attached or if something went wrong with
|
* NULL if no buffer is currently attached or if something went wrong with
|
||||||
|
|
|
@ -720,7 +720,11 @@ struct wlr_texture *wlr_surface_get_texture(struct wlr_surface *surface) {
|
||||||
}
|
}
|
||||||
|
|
||||||
bool wlr_surface_has_buffer(struct wlr_surface *surface) {
|
bool wlr_surface_has_buffer(struct wlr_surface *surface) {
|
||||||
return surface->current.buffer_width > 0 && surface->current.buffer_height > 0;
|
return wlr_surface_state_has_buffer(&surface->current);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool wlr_surface_state_has_buffer(const struct wlr_surface_state *state) {
|
||||||
|
return state->buffer_width > 0 && state->buffer_height > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void wlr_surface_map(struct wlr_surface *surface) {
|
void wlr_surface_map(struct wlr_surface *surface) {
|
||||||
|
|
Loading…
Reference in a new issue