def maskView()

in fbchisellldbviewhelpers.py [0:0]


def maskView(viewOrLayer, color, alpha):
    unmaskView(viewOrLayer)
    window = fb.evaluateExpression(
        "(UIWindow *)[[UIApplication sharedApplication] keyWindow]"
    )
    origin = convertPoint(0, 0, viewOrLayer, window)
    size = fb.evaluateExpressionValue(
        "(CGSize)((CGRect)[(id)%s frame]).size" % viewOrLayer
    )

    rectExpr = "(CGRect){{%s, %s}, {%s, %s}}" % (
        origin.GetChildMemberWithName("x").GetValue(),
        origin.GetChildMemberWithName("y").GetValue(),
        size.GetChildMemberWithName("width").GetValue(),
        size.GetChildMemberWithName("height").GetValue(),
    )
    mask = fb.evaluateExpression("(id)[[UIView alloc] initWithFrame:%s]" % rectExpr)

    fb.evaluateEffect("[%s setTag:(NSInteger)%s]" % (mask, viewOrLayer))
    fb.evaluateEffect("[%s setBackgroundColor:[UIColor %sColor]]" % (mask, color))
    fb.evaluateEffect("[%s setAlpha:(CGFloat)%s]" % (mask, alpha))
    fb.evaluateEffect("[%s addSubview:%s]" % (window, mask))
    flushCoreAnimationTransaction()