[mutter] clutter/stage-cogl: Cleanup the code for scissor region calculation
- From: Marco Trevisan <marcotrevi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter] clutter/stage-cogl: Cleanup the code for scissor region calculation
- Date: Fri, 1 Mar 2019 18:52:29 +0000 (UTC)
commit 3d89b477577e54f1d77e424a03c241d51af260a4
Author: Marco Trevisan (TreviƱo) <mail 3v1n0 net>
Date: Fri Mar 1 02:52:00 2019 +0100
clutter/stage-cogl: Cleanup the code for scissor region calculation
Ignore the subpixel compensation when this value isn't set, and directly
set the passed rect.
https://gitlab.gnome.org/GNOME/mutter/merge_requests/3
clutter/clutter/cogl/clutter-stage-cogl.c | 26 +++++++-------------------
1 file changed, 7 insertions(+), 19 deletions(-)
---
diff --git a/clutter/clutter/cogl/clutter-stage-cogl.c b/clutter/clutter/cogl/clutter-stage-cogl.c
index 7ab4b3823..af5acff02 100644
--- a/clutter/clutter/cogl/clutter-stage-cogl.c
+++ b/clutter/clutter/cogl/clutter-stage-cogl.c
@@ -551,31 +551,19 @@ calculate_scissor_region (cairo_rectangle_int_t *fb_clip_region,
int fb_height,
cairo_rectangle_int_t *out_scissor_rect)
{
- int scissor_x;
- int scissor_y;
- int scissor_width;
- int scissor_height;
+ *out_scissor_rect = *fb_clip_region;
- scissor_x = fb_clip_region->x;
- scissor_y = fb_clip_region->y;
- scissor_width = fb_clip_region->width;
- scissor_height = fb_clip_region->height;
+ if (subpixel_compensation == 0)
+ return;
if (fb_clip_region->x > 0)
- scissor_x += subpixel_compensation;
+ out_scissor_rect->x += subpixel_compensation;
if (fb_clip_region->y > 0)
- scissor_y += subpixel_compensation;
+ out_scissor_rect->y += subpixel_compensation;
if (fb_clip_region->x + fb_clip_region->width < fb_width)
- scissor_width -= 2 * subpixel_compensation;
+ out_scissor_rect->width -= 2 * subpixel_compensation;
if (fb_clip_region->y + fb_clip_region->height < fb_height)
- scissor_height -= 2 * subpixel_compensation;
-
- *out_scissor_rect = (cairo_rectangle_int_t) {
- .x = scissor_x,
- .y = scissor_y,
- .width = scissor_width,
- .height = scissor_height
- };
+ out_scissor_rect->height -= 2 * subpixel_compensation;
}
static inline gboolean
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]