aboutsummaryrefslogtreecommitdiff
path: root/include/wlr/render/wlr_texture.h
diff options
context:
space:
mode:
authorAlexander Orzechowski <alex@ozal.ski>2023-11-30 19:55:12 -0500
committerAlexander Orzechowski <alex@ozal.ski>2023-11-30 19:55:12 -0500
commit4c6caa7c48d887fb4292a08f898af83d9954d571 (patch)
tree52aef9a12546f680183f3cf25015c9c2104253f6 /include/wlr/render/wlr_texture.h
parenta165261f7f099475547b54bafd78a4465728a5cd (diff)
wlr_texture: Introduce wlr_texture_read_pixels
Diffstat (limited to 'include/wlr/render/wlr_texture.h')
-rw-r--r--include/wlr/render/wlr_texture.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/include/wlr/render/wlr_texture.h b/include/wlr/render/wlr_texture.h
index 87ed993f..c24cfaa9 100644
--- a/include/wlr/render/wlr_texture.h
+++ b/include/wlr/render/wlr_texture.h
@@ -13,6 +13,7 @@
#include <stdint.h>
#include <wayland-server-core.h>
#include <wlr/render/dmabuf.h>
+#include <wlr/util/box.h>
struct wlr_buffer;
struct wlr_renderer;
@@ -25,6 +26,22 @@ struct wlr_texture {
struct wlr_renderer *renderer;
};
+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;
+};
+
+bool wlr_texture_read_pixels(struct wlr_texture *texture,
+ const struct wlr_texture_read_pixels_options *options);
+
/**
* Create a new texture from raw pixel data. `stride` is in bytes. The returned
* texture is mutable.