| @@ -844,6 +844,10 @@ private: | |||||
| macHostWindow = juce::attachComponentToWindowRefVST (component.get(), parent, isNSView); | macHostWindow = juce::attachComponentToWindowRefVST (component.get(), parent, isNSView); | ||||
| #endif | #endif | ||||
| #if ! JUCE_MAC | |||||
| setContentScaleFactor ((Steinberg::IPlugViewContentScaleSupport::ScaleFactor) scaleFactor); | |||||
| #endif | |||||
| component->resizeHostWindow(); | component->resizeHostWindow(); | ||||
| systemWindow = parent; | systemWindow = parent; | ||||
| attachedToParent(); | attachedToParent(); | ||||
| @@ -959,12 +963,17 @@ private: | |||||
| tresult PLUGIN_API setContentScaleFactor (Steinberg::IPlugViewContentScaleSupport::ScaleFactor factor) override | tresult PLUGIN_API setContentScaleFactor (Steinberg::IPlugViewContentScaleSupport::ScaleFactor factor) override | ||||
| { | { | ||||
| #if ! JUCE_MAC | #if ! JUCE_MAC | ||||
| scaleFactor = static_cast<float> (factor); | |||||
| if (component == nullptr) | |||||
| return kResultFalse; | |||||
| #if JUCE_WINDOWS && ! JUCE_WIN_PER_MONITOR_DPI_AWARE | #if JUCE_WINDOWS && ! JUCE_WIN_PER_MONITOR_DPI_AWARE | ||||
| if (auto* ed = component->pluginEditor.get()) | if (auto* ed = component->pluginEditor.get()) | ||||
| ed->setScaleFactor ((float) factor); | |||||
| ed->setScaleFactor (scaleFactor); | |||||
| #else | #else | ||||
| if (! approximatelyEqual (component->getNativeEditorScaleFactor(), (float) factor)) | |||||
| component->nativeScaleFactorChanged ((double) factor); | |||||
| if (! approximatelyEqual (component->getNativeEditorScaleFactor(), scaleFactor)) | |||||
| component->nativeScaleFactorChanged ((double) scaleFactor); | |||||
| #endif | #endif | ||||
| component->resizeHostWindow(); | component->resizeHostWindow(); | ||||
| @@ -1198,6 +1207,8 @@ private: | |||||
| #if JUCE_MAC | #if JUCE_MAC | ||||
| void* macHostWindow = nullptr; | void* macHostWindow = nullptr; | ||||
| bool isNSView = false; | bool isNSView = false; | ||||
| #else | |||||
| float scaleFactor = 1.0f; | |||||
| #endif | #endif | ||||
| #if JUCE_WINDOWS | #if JUCE_WINDOWS | ||||