File dexed-check-for-display.patch of Package dexed
diff --git a/Source/PluginProcessor.cpp b/Source/PluginProcessor.cpp
index 0d51016..da9a0e2 100644
--- a/Source/PluginProcessor.cpp
+++ b/Source/PluginProcessor.cpp
@@ -789,28 +789,40 @@ AudioProcessorEditor* DexedAudioProcessor::createEditor() {
static const uint8_t HIGH_DPI_THRESHOLD = 128;
AudioProcessorEditor* editor = new DexedAudioProcessorEditor (this);
float scaleFactor = getDpiScaleFactor();
+ /*auto primaryDisplay = juce::Desktop::getInstance().getDisplays().getPrimaryDisplay();
- if ( scaleFactor == -1 ) {
+ if ( scaleFactor == -1 && primaryDisplay != nullptr ) {
if ( Desktop::getInstance().getDisplays().getPrimaryDisplay()->dpi > HIGH_DPI_THRESHOLD ) {
scaleFactor = 1.5;
} else {
scaleFactor = 1.0;
}
- }
+ }*/
const juce::Rectangle<int> rect(DexedAudioProcessorEditor::WINDOW_SIZE_X * scaleFactor,DexedAudioProcessorEditor::WINDOW_SIZE_Y * scaleFactor);
bool displayFound = false;
// validate if there is really a display that can show the complete plugin size
- for (auto& display : Desktop::getInstance().getDisplays().displays) {
+ for (auto& display : Desktop::getInstance().getDisplays().displays)
+ {
if ( display.userArea.getHeight() > rect.getHeight() && display.userArea.getWidth() > rect.getWidth() )
- displayFound = true;
+ {
+ if ( Desktop::getInstance().getDisplays().getPrimaryDisplay()->dpi > HIGH_DPI_THRESHOLD )
+ {
+ scaleFactor = 1.5;
+ }
+ else
+ {
+ scaleFactor = 1.0;
+ }
+ }
+ else setDpiScaleFactor(1.0);
}
// no display found, scaling to default value
- if ( ! displayFound )
+/* if ( ! displayFound )
setDpiScaleFactor(1.0);
- else
+ else */
setDpiScaleFactor(scaleFactor);
return editor;