-
Notifications
You must be signed in to change notification settings - Fork 29.7k
Closed
flutter/engine
#41559Labels
P3Issues that are less important to the Flutter projectIssues that are less important to the Flutter projecta: multi windowIssues related to multi window supportIssues related to multi window supportc: new featureNothing broken; request for a new capabilityNothing broken; request for a new capabilityengineflutter/engine related. See also e: labels.flutter/engine related. See also e: labels.frameworkflutter/packages/flutter repository. See also f: labels.flutter/packages/flutter repository. See also f: labels.
Description
The Scene created by the SceneBuilder has a single window assumption backed in:
In the code above it grabs the first window and reads the physical size and device pixel ratio of it. In the multi window world, we will need to create Scenes for multiple different windows, so that assumption has to go.
Ideas:
- The physical size and device pixel ratio are injected into the Scene when it is rendered into a specific FlutterView by passing it to
FlutterView.render. At that point, it is clear to what FlutterView the scene belongs and the values can be read of that view. - The SceneBuilder provides an option to configure the physical size and the dpr for the Scene (either by providing setters or by taking these values as arguments to
SceneBuilder.build).
If we go down route 2, we should make these parameters optional first and default them to the values read from the first window. Then, once the framework has been migrated to set these parameters based on the view the scene is gonna be rendered into, the parameters should become required and the single window assumption is removed from the Scene.
Metadata
Metadata
Assignees
Labels
P3Issues that are less important to the Flutter projectIssues that are less important to the Flutter projecta: multi windowIssues related to multi window supportIssues related to multi window supportc: new featureNothing broken; request for a new capabilityNothing broken; request for a new capabilityengineflutter/engine related. See also e: labels.flutter/engine related. See also e: labels.frameworkflutter/packages/flutter repository. See also f: labels.flutter/packages/flutter repository. See also f: labels.
Type
Projects
Status
Done