|
|
@@ -296,15 +296,17 @@ public: |
|
|
|
{
|
|
|
|
if (auto* peer = component.getPeer())
|
|
|
|
{
|
|
|
|
auto localBounds = component.getLocalBounds();
|
|
|
|
auto displayScale = Desktop::getInstance().getDisplays().findDisplayForRect (component.getTopLevelComponent()->getScreenBounds()).scale;
|
|
|
|
|
|
|
|
auto newArea = peer->getComponent().getLocalArea (&component, localBounds).withZeroOrigin() * displayScale;
|
|
|
|
|
|
|
|
#if JUCE_WINDOWS && JUCE_WIN_PER_MONITOR_DPI_AWARE
|
|
|
|
auto newScale = getScaleFactorForWindow (nativeContext->getNativeHandle());
|
|
|
|
#else
|
|
|
|
auto newScale = Desktop::getInstance().getDisplays().findDisplayForRect (component.getTopLevelComponent()->getScreenBounds()).scale;
|
|
|
|
auto newScale = displayScale;
|
|
|
|
#endif
|
|
|
|
|
|
|
|
auto localBounds = component.getLocalBounds();
|
|
|
|
auto newArea = peer->getComponent().getLocalArea (&component, localBounds).withZeroOrigin() * newScale;
|
|
|
|
|
|
|
|
if (scale != newScale || viewportArea != newArea)
|
|
|
|
{
|
|
|
|
scale = newScale;
|
|
|
|