From 75ef8d8a508adcb294c3398fc540f1705a021ca3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Fri, 31 Jan 2020 17:08:17 +0100 Subject: [PATCH] GskRoundedRect: Inline graphene_rect_contains_rect Brings gsk_rounded_rect_contains_rect down from 0.54% to 0.14% when rendering rounded backgrounds. --- gsk/gskroundedrect.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/gsk/gskroundedrect.c b/gsk/gskroundedrect.c index 9a389b2eb7..bde6078b4e 100644 --- a/gsk/gskroundedrect.c +++ b/gsk/gskroundedrect.c @@ -338,7 +338,10 @@ gboolean gsk_rounded_rect_contains_point (const GskRoundedRect *self, const graphene_point_t *point) { - if (!graphene_rect_contains_point (&self->bounds, point)) + if (point->x < self->bounds.origin.x || + point->y < self->bounds.origin.y || + point->x >= self->bounds.origin.x + self->bounds.size.width || + point->y >= self->bounds.origin.y + self->bounds.size.height) return FALSE; if (self->bounds.origin.x + self->corner[GSK_CORNER_TOP_LEFT].width > point->x && @@ -395,7 +398,10 @@ gboolean gsk_rounded_rect_contains_rect (const GskRoundedRect *self, const graphene_rect_t *rect) { - if (!graphene_rect_contains_rect (&self->bounds, rect)) + if (rect->origin.x < self->bounds.origin.x || + rect->origin.y < self->bounds.origin.y || + rect->origin.x + rect->size.width >= self->bounds.origin.x + self->bounds.size.width || + rect->origin.y + rect->size.height >= self->bounds.origin.y + self->bounds.size.height) return FALSE; if (!gsk_rounded_rect_contains_point (self, &rect->origin) ||