Documentation for <wlr/render/wlr_texture.h>

Back to index

Table of contents

struct wlr_texture

struct wlr_texture {
	const struct wlr_texture_impl *impl;
	uint32_t width, height;


void wlr_texture_destroy(​struct wlr_texture *texture);

Destroys the texture.


struct wlr_texture *wlr_texture_from_buffer(​struct wlr_renderer *renderer, struct wlr_buffer *buffer);

Create a new texture from a buffer.


struct wlr_texture *wlr_texture_from_dmabuf(​struct wlr_renderer *renderer, struct wlr_dmabuf_attributes *attribs);

Create a new texture from a DMA-BUF. The returned texture is immutable.


struct wlr_texture *wlr_texture_from_pixels(​struct wlr_renderer *renderer, uint32_t fmt, uint32_t stride, uint32_t width, uint32_t height, const void *data);

Create a new texture from raw pixel data. `stride` is in bytes. The returned texture is mutable.


bool wlr_texture_is_opaque(​struct wlr_texture *texture);

Returns true if this texture is using a fully opaque format.


bool wlr_texture_write_pixels(​struct wlr_texture *texture, uint32_t stride, uint32_t width, uint32_t height, uint32_t src_x, uint32_t src_y, uint32_t dst_x, uint32_t dst_y, const void *data);

Update a texture with raw pixels. The texture must be mutable, and the input data must have the same pixel format that the texture was created with.