From 8ff052ce40773918ab42b46bbe5300b1acda7a27 Mon Sep 17 00:00:00 2001 From: Mikael Sand Date: Fri, 23 Feb 2018 01:38:41 +0200 Subject: [PATCH] Optimize group hitTest --- ios/Elements/RNSVGGroup.m | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/ios/Elements/RNSVGGroup.m b/ios/Elements/RNSVGGroup.m index 5b1435a5..c926cbed 100644 --- a/ios/Elements/RNSVGGroup.m +++ b/ios/Elements/RNSVGGroup.m @@ -111,7 +111,7 @@ - (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event { - CGPoint transformed = CGPointApplyAffineTransform(point, CGAffineTransformInvert(self.matrix)); + CGPoint transformed = CGPointApplyAffineTransform(point, self.invmatrix); UIView *hitSelf = [super hitTest:transformed withEvent:event]; if (hitSelf) { @@ -119,11 +119,8 @@ } CGPathRef clip = [self getClipPath]; - if (clip) { - BOOL insideClipPath = CGPathContainsPoint(clip, nil, transformed, self.clipRule == kRNSVGCGFCRuleEvenodd); - if (!insideClipPath) { - return nil; - } + if (clip && !CGPathContainsPoint(clip, nil, transformed, self.clipRule == kRNSVGCGFCRuleEvenodd)) { + return nil; } for (RNSVGNode *node in [self.subviews reverseObjectEnumerator]) {