new_editor: unify shared UI text measurement semantics
This commit is contained in:
@@ -147,7 +147,8 @@ UIEditorWorkspaceComposeRequest ResolveUIEditorWorkspaceComposeRequest(
|
||||
const Widgets::UIEditorDockHostLayout& dockHostLayout,
|
||||
const UIEditorPanelRegistry& panelRegistry,
|
||||
const std::vector<UIEditorWorkspacePanelPresentationModel>& presentations,
|
||||
const Widgets::UIEditorViewportSlotMetrics& viewportMetrics) {
|
||||
const Widgets::UIEditorViewportSlotMetrics& viewportMetrics,
|
||||
const UIEditorTextMeasurer* textMeasurer) {
|
||||
UIEditorWorkspaceComposeRequest request = {};
|
||||
request.dockHostLayout = dockHostLayout;
|
||||
request.contentHostRequest = ResolveUIEditorPanelContentHostRequest(
|
||||
@@ -171,9 +172,13 @@ UIEditorWorkspaceComposeRequest ResolveUIEditorWorkspaceComposeRequest(
|
||||
UIEditorWorkspaceViewportComposeRequest viewportRequest = {};
|
||||
viewportRequest.panelId = mountRequest.panelId;
|
||||
viewportRequest.bounds = mountRequest.bounds;
|
||||
viewportRequest.viewportShellModel = ResolveUIEditorViewportShellMeasuredModel(
|
||||
presentation->viewportShellModel,
|
||||
viewportMetrics,
|
||||
textMeasurer);
|
||||
viewportRequest.viewportShellRequest = ResolveUIEditorViewportShellRequest(
|
||||
mountRequest.bounds,
|
||||
presentation->viewportShellModel.spec,
|
||||
viewportRequest.viewportShellModel.spec,
|
||||
viewportMetrics);
|
||||
request.viewportRequests.push_back(std::move(viewportRequest));
|
||||
}
|
||||
@@ -203,7 +208,8 @@ UIEditorWorkspaceComposeRequest ResolveUIEditorWorkspaceComposeRequest(
|
||||
dockHostLayout,
|
||||
panelRegistry,
|
||||
presentations,
|
||||
viewportMetrics);
|
||||
viewportMetrics,
|
||||
textMeasurer);
|
||||
}
|
||||
|
||||
UIEditorWorkspaceComposeFrame UpdateUIEditorWorkspaceCompose(
|
||||
@@ -240,7 +246,7 @@ UIEditorWorkspaceComposeFrame UpdateUIEditorWorkspaceCompose(
|
||||
UIEditorWorkspaceViewportComposeFrame viewportFrame = {};
|
||||
viewportFrame.panelId = presentation.panelId;
|
||||
viewportFrame.bounds = viewportRequest->bounds;
|
||||
viewportFrame.viewportShellModel = presentation.viewportShellModel;
|
||||
viewportFrame.viewportShellModel = viewportRequest->viewportShellModel;
|
||||
UIEditorViewportInputBridgeRequest inputRequest = {};
|
||||
if (inputOwner != nullptr) {
|
||||
inputRequest.focusMode = UIEditorViewportInputBridgeFocusMode::External;
|
||||
@@ -250,7 +256,7 @@ UIEditorWorkspaceComposeFrame UpdateUIEditorWorkspaceCompose(
|
||||
viewportFrame.viewportShellFrame = UpdateUIEditorViewportShell(
|
||||
panelState.viewportShellState,
|
||||
viewportRequest->viewportShellRequest,
|
||||
presentation.viewportShellModel,
|
||||
viewportFrame.viewportShellModel,
|
||||
inputEvents,
|
||||
inputRequest);
|
||||
frame.viewportFrames.push_back(std::move(viewportFrame));
|
||||
|
||||
Reference in New Issue
Block a user