GskRoundedRect: Inline graphene_rect_contains_rect

Brings gsk_rounded_rect_contains_rect down from 0.54% to 0.14% when
rendering rounded backgrounds.
This commit is contained in:
Timm Bäder 2020-01-31 17:08:17 +01:00 committed by Matthias Clasen
parent 47b8facca4
commit 75ef8d8a50

View File

@ -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) ||