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;
	
	struct wlr_renderer *renderer;
};

wlr_texture_destroy()

void wlr_texture_destroy(​struct wlr_texture *texture);

Destroys the texture.

wlr_texture_from_buffer()

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

Create a new texture from a buffer.

wlr_texture_from_dmabuf()

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.

wlr_texture_from_pixels()

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.

wlr_texture_preferred_read_format()

uint32_t wlr_texture_preferred_read_format(​struct wlr_texture *texture);

wlr_texture_read_pixels()

bool wlr_texture_read_pixels(​struct wlr_texture *texture, const struct wlr_texture_read_pixels_options *options);

struct wlr_texture_read_pixels_options

struct wlr_texture_read_pixels_options {
	/** Memory location to read pixels into */
	void *data;
	/** Format used for writing the pixel data */
	uint32_t format;
	/** Stride in bytes for the data */
	uint32_t stride;
	/** Destination offsets */
	uint32_t dst_x, dst_y;
	/** Source box of the texture to read from. If empty, the full texture is assumed. */
	const struct wlr_box src_box;
};

wlr_texture_update_from_buffer()

bool wlr_texture_update_from_buffer(​struct wlr_texture *texture, struct wlr_buffer *buffer, const pixman_region32_t *damage);