62 SkVector upper_left = clip_rrect.radii(SkRRect::Corner::kUpperLeft_Corner);
63 SkVector upper_right = clip_rrect.radii(SkRRect::Corner::kUpperRight_Corner);
64 SkVector lower_right = clip_rrect.radii(SkRRect::Corner::kLowerRight_Corner);
65 SkVector lower_left = clip_rrect.radii(SkRRect::Corner::kLowerLeft_Corner);
66 SkScalar transformed_upper_left_x = transform_matrix.mapRadius(upper_left.x());
67 SkScalar transformed_upper_left_y = transform_matrix.mapRadius(upper_left.y());
68 SkScalar transformed_upper_right_x = transform_matrix.mapRadius(upper_right.x());
69 SkScalar transformed_upper_right_y = transform_matrix.mapRadius(upper_right.y());
70 SkScalar transformed_lower_right_x = transform_matrix.mapRadius(lower_right.x());
71 SkScalar transformed_lower_right_y = transform_matrix.mapRadius(lower_right.y());
72 SkScalar transformed_lower_left_x = transform_matrix.mapRadius(lower_left.x());
73 SkScalar transformed_lower_left_y = transform_matrix.mapRadius(lower_left.y());
74 SkRect transformed_clip_rect = transform_matrix.mapRect(clip_rrect.rect());
75 SkRRect transformed_rrect;
76 SkVector corners[] = {{transformed_upper_left_x, transformed_upper_left_y},
77 {transformed_upper_right_x, transformed_upper_right_y},
78 {transformed_lower_right_x, transformed_lower_right_y},
79 {transformed_lower_left_x, transformed_lower_left_y}};
80 transformed_rrect.setRectRadii(transformed_clip_rect, corners);
81 return transformed_rrect.contains(platformview_boundingrect);