Browse Source

Fix OSX build

tags/1.9.5
falkTX 10 years ago
parent
commit
61ebf0678e
1 changed files with 52 additions and 42 deletions
  1. +52
    -42
      source/modules/juce_audio_processors/juce_audio_processors.cpp

+ 52
- 42
source/modules/juce_audio_processors/juce_audio_processors.cpp View File

@@ -79,61 +79,71 @@ static inline bool arrayContainsPlugin (const OwnedArray<PluginDescription>& lis
#if JUCE_MAC
//==============================================================================
struct AutoResizingNSViewComponent : public NSViewComponent,
private AsyncUpdater
{
AutoResizingNSViewComponent() : recursive (false) {}
struct AutoResizingNSViewComponent : public NSViewComponent,
private AsyncUpdater {
AutoResizingNSViewComponent();
void childBoundsChanged(Component*) override;
void handleAsyncUpdate() override;
bool recursive;
};
struct AutoResizingNSViewComponentWithParent : public AutoResizingNSViewComponent,
private Timer {
AutoResizingNSViewComponentWithParent();
NSView* getChildView() const;
void timerCallback() override;
};
//==============================================================================
AutoResizingNSViewComponent::AutoResizingNSViewComponent()
: recursive (false) {}
void childBoundsChanged (Component*) override
void AutoResizingNSViewComponent::childBoundsChanged(Component*)
{
if (recursive)
{
if (recursive)
{
triggerAsyncUpdate();
}
else
{
recursive = true;
resizeToFitView();
recursive = true;
}
triggerAsyncUpdate();
}
else
{
recursive = true;
resizeToFitView();
recursive = true;
}
}
void handleAsyncUpdate() override { resizeToFitView(); }
bool recursive;
};
void AutoResizingNSViewComponent::handleAsyncUpdate()
{
resizeToFitView();
}
//==============================================================================
struct AutoResizingNSViewComponentWithParent : public AutoResizingNSViewComponent,
private Timer
AutoResizingNSViewComponentWithParent::AutoResizingNSViewComponentWithParent()
{
AutoResizingNSViewComponentWithParent()
{
NSView* v = [[NSView alloc] init];
setView (v);
[v release];
NSView* v = [[NSView alloc] init];
setView (v);
[v release];
startTimer (30);
}
startTimer(500);
}
NSView* getChildView() const
{
if (NSView* parent = (NSView*) getView())
if ([[parent subviews] count] > 0)
return [[parent subviews] objectAtIndex: 0];
NSView* AutoResizingNSViewComponentWithParent::getChildView() const
{
if (NSView* parent = (NSView*)getView())
if ([[parent subviews] count] > 0)
return [[parent subviews] objectAtIndex: 0];
return nil;
}
return nil;
}
void timerCallback() override
void AutoResizingNSViewComponentWithParent::timerCallback()
{
if (NSView* child = getChildView())
{
if (NSView* child = getChildView())
{
stopTimer();
setView (child);
}
stopTimer();
setView(child);
}
};
}
#endif
#if JUCE_CLANG


Loading…
Cancel
Save