mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
Remove cullRect calculation on TransformLayers with a perspective transform. (flutter/engine#5693)
This commit is contained in:
parent
d641c6da62
commit
6eab9d08be
@ -37,12 +37,13 @@ DefaultLayerBuilder::~DefaultLayerBuilder() = default;
|
||||
void DefaultLayerBuilder::PushTransform(const SkMatrix& sk_matrix) {
|
||||
SkMatrix inverse_sk_matrix;
|
||||
SkRect cullRect;
|
||||
if (sk_matrix.invert(&inverse_sk_matrix)) {
|
||||
// Perspective projections don't produce rectangles that are useful for
|
||||
// culling for some reason.
|
||||
if (!sk_matrix.hasPerspective() && sk_matrix.invert(&inverse_sk_matrix)) {
|
||||
inverse_sk_matrix.mapRect(&cullRect, cull_rects_.top());
|
||||
} else {
|
||||
cullRect = kGiantRect;
|
||||
}
|
||||
|
||||
auto layer = std::make_unique<flow::TransformLayer>();
|
||||
layer->set_transform(sk_matrix);
|
||||
PushLayer(std::move(layer), cullRect);
|
||||
|
||||
@ -129,7 +129,7 @@
|
||||
|
||||
- (BOOL)application:(UIApplication*)application
|
||||
continueUserActivity:(NSUserActivity*)userActivity
|
||||
restorationHandler:(void (^)(NSArray*))restorationHandler {
|
||||
restorationHandler:(void (^)(NSArray<id<UIUserActivityRestoring>>*))restorationHandler {
|
||||
return [_lifeCycleDelegate application:application
|
||||
continueUserActivity:userActivity
|
||||
restorationHandler:restorationHandler];
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user