|
|
|
|
@ -62,9 +62,20 @@ namespace AZ
|
|
|
|
|
}
|
|
|
|
|
ViewportContextIdNotificationBus::Event(viewportId, &ViewportContextIdNotificationBus::Events::OnViewportSizeChanged, size);
|
|
|
|
|
};
|
|
|
|
|
auto onDpiScalingChanged = [this, viewportId](float dpiScalingFactor)
|
|
|
|
|
{
|
|
|
|
|
// Ensure we emit OnViewportDpiScalingChanged with the correct name.
|
|
|
|
|
auto viewportContext = this->GetViewportContextById(viewportId);
|
|
|
|
|
if (viewportContext)
|
|
|
|
|
{
|
|
|
|
|
ViewportContextNotificationBus::Event(viewportContext->GetName(), &ViewportContextNotificationBus::Events::OnViewportDpiScalingChanged, dpiScalingFactor);
|
|
|
|
|
}
|
|
|
|
|
ViewportContextIdNotificationBus::Event(viewportId, &ViewportContextIdNotificationBus::Events::OnViewportDpiScalingChanged, dpiScalingFactor);
|
|
|
|
|
};
|
|
|
|
|
viewportContext->m_name = contextName;
|
|
|
|
|
viewportData.sizeChangedHandler = ViewportContext::SizeChangedEvent::Handler(onSizeChanged);
|
|
|
|
|
viewportContext->ConnectSizeChangedHandler(viewportData.sizeChangedHandler);
|
|
|
|
|
viewportContext->ConnectDpiScalingFactorChangedHandler(viewportData.dpiScalingChangedHandler);
|
|
|
|
|
ViewPtrStack& associatedViews = GetOrCreateViewStackForContext(contextName);
|
|
|
|
|
viewportContext->SetDefaultView(associatedViews.back());
|
|
|
|
|
onSizeChanged(viewportContext->GetViewportSize());
|
|
|
|
|
@ -176,6 +187,7 @@ namespace AZ
|
|
|
|
|
UpdateViewForContext(newContextName);
|
|
|
|
|
// Ensure anyone listening on per-name viewport size updates gets notified.
|
|
|
|
|
ViewportContextNotificationBus::Event(newContextName, &ViewportContextNotificationBus::Events::OnViewportSizeChanged, viewportContext->GetViewportSize());
|
|
|
|
|
ViewportContextNotificationBus::Event(newContextName, &ViewportContextNotificationBus::Events::OnViewportDpiScalingChanged, viewportContext->GetDpiScalingFactor());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void ViewportContextManager::EnumerateViewportContexts(AZStd::function<void(ViewportContextPtr)> visitorFunction)
|
|
|
|
|
|