summaryrefslogtreecommitdiff
path: root/gsk/gskroundedrect.c
diff options
context:
space:
mode:
authorTimm Bäder <mail@baedert.org>2020-01-31 17:08:17 +0100
committerMatthias Clasen <mclasen@redhat.com>2020-02-07 13:16:32 -0500
commit75ef8d8a508adcb294c3398fc540f1705a021ca3 (patch)
tree38e4084ba519f54dc000dfaff6c51868bbeceb13 /gsk/gskroundedrect.c
parent47b8facca4b0efb000d2dd8d4ca9f9acb0098483 (diff)
downloadgtk+-75ef8d8a508adcb294c3398fc540f1705a021ca3.tar.gz
GskRoundedRect: Inline graphene_rect_contains_rect
Brings gsk_rounded_rect_contains_rect down from 0.54% to 0.14% when rendering rounded backgrounds.
Diffstat (limited to 'gsk/gskroundedrect.c')
-rw-r--r--gsk/gskroundedrect.c10
1 files 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) ||