aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/wlr/render/interface.h2
-rw-r--r--render/pass.c14
2 files changed, 16 insertions, 0 deletions
diff --git a/include/wlr/render/interface.h b/include/wlr/render/interface.h
index 63fd3cf5..06f4083f 100644
--- a/include/wlr/render/interface.h
+++ b/include/wlr/render/interface.h
@@ -95,5 +95,7 @@ void wlr_render_texture_options_get_src_box(const struct wlr_render_texture_opti
void wlr_render_texture_options_get_dst_box(const struct wlr_render_texture_options *options,
struct wlr_box *box);
float wlr_render_texture_options_get_alpha(const struct wlr_render_texture_options *options);
+void wlr_render_rect_options_get_box(const struct wlr_render_rect_options *options,
+ const struct wlr_buffer *buffer, struct wlr_box *box);
#endif
diff --git a/render/pass.c b/render/pass.c
index 0fa31556..a36b9dc1 100644
--- a/render/pass.c
+++ b/render/pass.c
@@ -74,6 +74,20 @@ float wlr_render_texture_options_get_alpha(const struct wlr_render_texture_optio
return *options->alpha;
}
+void wlr_render_rect_options_get_box(const struct wlr_render_rect_options *options,
+ const struct wlr_buffer *buffer, struct wlr_box *box) {
+ if (wlr_box_empty(&options->box)) {
+ *box = (struct wlr_box){
+ .width = buffer->width,
+ .height = buffer->height,
+ };
+
+ return;
+ }
+
+ *box = options->box;
+}
+
static const struct wlr_render_pass_impl legacy_impl;
static struct wlr_render_pass_legacy *legacy_pass_from_pass(struct wlr_render_pass *pass) {