Browse Source

Fix for positioning of some Carbon VST windows.

tags/2021-05-28
jules 12 years ago
parent
commit
7fbb6803dc
3 changed files with 14 additions and 5 deletions
  1. +1
    -1
      modules/juce_audio_plugin_client/AU/juce_AU_Wrapper.mm
  2. +4
    -4
      modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h
  3. +9
    -0
      modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h

+ 1
- 1
modules/juce_audio_plugin_client/AU/juce_AU_Wrapper.mm View File

@@ -924,7 +924,7 @@ public:
return noErr;
}
void componentMovedOrResized (Component& component, bool /*wasMoved*/, bool /*wasResized*/)
void componentMovedOrResized (Component& component, bool /*wasMoved*/, bool /*wasResized*/) override
{
NSView* view = (NSView*) component.getWindowHandle();
NSRect r = [[view superview] frame];


+ 4
- 4
modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h View File

@@ -71,13 +71,13 @@ public:
//==============================================================================
/** @internal */
void componentParentHierarchyChanged (Component& component);
void componentParentHierarchyChanged (Component&) override;
/** @internal */
void componentMovedOrResized (Component& component, bool wasMoved, bool wasResized);
void componentMovedOrResized (Component&, bool wasMoved, bool wasResized) override;
/** @internal */
void componentBeingDeleted (Component& component);
void componentBeingDeleted (Component&) override;
/** @internal */
void componentVisibilityChanged (Component& component);
void componentVisibilityChanged (Component&) override;
private:
//==============================================================================


+ 9
- 0
modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h View File

@@ -224,6 +224,15 @@ public:
setEmbeddedWindowToOurSize();
}
// (overridden to intercept movements of the top-level window)
void componentMovedOrResized (Component& component, bool wasMoved, bool wasResized) override
{
ComponentMovementWatcher::componentMovedOrResized (component, wasMoved, wasResized);
if (&component == getTopLevelComponent())
setEmbeddedWindowToOurSize();
}
void componentPeerChanged() override
{
deleteWindow();


Loading…
Cancel
Save