Skip to content

Commit 2465d3c

Browse files
committed
Dynamically set standalone window resizable flag
1 parent 0da3006 commit 2465d3c

4 files changed

Lines changed: 21 additions & 5 deletions

File tree

.github/workflows/build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ jobs:
100100
key: macos-${{ matrix.target }}-v${{ env.CACHE_VERSION }}
101101
- name: Set up dependencies
102102
run: |
103-
brew uninstall --ignore-dependencies -f autoconf cmake
103+
brew uninstall --ignore-dependencies -f cmake
104104
git clone --depth=1 https://github.com/DISTRHO/PawPaw.git
105105
./PawPaw/.github/workflows/bootstrap-deps.sh macos-${{ matrix.target }}
106106
- name: Build extra dependencies

plugins/Common/IldaeilUI.cpp

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,7 @@ class IldaeilUI : public UI,
159159
int fPluginSelected = -1;
160160
bool fPluginHasCustomUI = false;
161161
bool fPluginHasEmbedUI = false;
162+
bool fPluginHasResizableUI = false;
162163
bool fPluginHasFileOpen = false;
163164
bool fPluginHasOutputParameters = false;
164165
bool fPluginIsBridge = false;
@@ -302,13 +303,15 @@ class IldaeilUI : public UI,
302303
{
303304
fPluginHasCustomUI = false;
304305
fPluginHasEmbedUI = false;
306+
fPluginHasResizableUI = false;
305307
fPluginHasFileOpen = true;
306308
}
307309
else
308310
{
309311
fPluginHasCustomUI = hints & PLUGIN_HAS_CUSTOM_UI;
310312
#ifndef DISTRHO_OS_WASM
311313
fPluginHasEmbedUI = hints & PLUGIN_HAS_CUSTOM_EMBED_UI;
314+
fPluginHasResizableUI = hints & PLUGIN_HAS_CUSTOM_RESIZABLE_UI;
312315
#endif
313316
fPluginHasFileOpen = false;
314317
}
@@ -383,19 +386,28 @@ class IldaeilUI : public UI,
383386
fIdleState = kIdleGiveIdleToUI;
384387
fPluginHasCustomUI = true;
385388
fPluginHasEmbedUI = true;
389+
fPluginHasResizableUI = hints & PLUGIN_HAS_CUSTOM_RESIZABLE_UI;
386390
fPluginHasFileOpen = false;
387391

388392
fIgnoreNextHostWindowResize = false;
389393
fInitialHostWindowShow = true;
390394
fShowingHostWindow = true;
391395

396+
#if DISTRHO_UI_USER_RESIZABLE
397+
getWindow().setResizable(fPluginHasResizableUI);
398+
#endif
399+
392400
fPluginHostWindow.restart();
393401
carla_embed_custom_ui(handle, fPluginId, fNativeWindowHandle);
394402
fPluginHostWindow.idle();
395403
}
396404
else
397405
#endif
398406
{
407+
#if DISTRHO_UI_USER_RESIZABLE
408+
getWindow().setResizable(true);
409+
#endif
410+
399411
// fPluginHas* flags are updated in the next function
400412
createOrUpdatePluginGenericUI(handle);
401413

@@ -413,8 +425,12 @@ class IldaeilUI : public UI,
413425
{
414426
DISTRHO_SAFE_ASSERT_RETURN(fPluginRunning,);
415427

416-
if (fPluginHostWindow.hide())
417-
carla_show_custom_ui(handle, fPluginId, false);
428+
fPluginHostWindow.hide();
429+
carla_show_custom_ui(handle, fPluginId, false);
430+
431+
#if DISTRHO_UI_USER_RESIZABLE
432+
getWindow().setResizable(true);
433+
#endif
418434
}
419435

420436
void createOrUpdatePluginGenericUI(const CarlaHostHandle handle, const CarlaPluginInfo* info = nullptr)

0 commit comments

Comments
 (0)