25 #ifndef JUCE_MAC_CARBONVIEWWRAPPERCOMPONENT_H_INCLUDED
26 #define JUCE_MAC_CARBONVIEWWRAPPERCOMPONENT_H_INCLUDED
57 virtual HIViewRef
attachView (WindowRef windowRef, HIViewRef rootView) = 0;
79 r.left = (short) getScreenX();
80 r.top = (short) getScreenY();
81 r.right = (short) (r.left + getWidth());
82 r.bottom = (short) (r.top + getHeight());
84 CreateNewWindow (kDocumentWindowClass,
85 (WindowAttributes) (kWindowStandardHandlerAttribute | kWindowCompositingAttribute
86 | kWindowNoShadowAttribute | kWindowNoTitleBarAttribute),
96 ordered: NSWindowAbove];
102 if (NSWindow* floatingChildWindow = [[
carbonWindow childWindows] objectAtIndex: 0])
104 ordered: NSWindowAbove];
106 EventTypeSpec windowEventTypes[] =
108 { kEventClassWindow, kEventWindowGetClickActivation },
109 { kEventClassWindow, kEventWindowHandleDeactivate },
110 { kEventClassWindow, kEventWindowBoundsChanging },
111 { kEventClassMouse, kEventMouseDown },
112 { kEventClassMouse, kEventMouseMoved },
113 { kEventClassMouse, kEventMouseDragged },
114 { kEventClassMouse, kEventMouseUp },
115 { kEventClassWindow, kEventWindowDrawContent },
116 { kEventClassWindow, kEventWindowShown },
117 { kEventClassWindow, kEventWindowHidden }
122 sizeof (windowEventTypes) /
sizeof (EventTypeSpec),
141 if ([[ownerWindow childWindows] count] > 0)
159 if (w != getWidth() || h != getHeight())
189 r.size.width = (float) getWidth();
190 r.size.height = (float) getHeight();
196 jassert (getTopLevelComponent()->getDesktopScaleFactor() == 1.0f);
200 wr.left = (short) screenBounds.
getX();
201 wr.top = (short) screenBounds.
getY();
202 wr.right = (short) screenBounds.
getRight();
203 wr.bottom = (short) screenBounds.
getBottom();
209 WindowRef attachedWindow;
211 if (GetIndexedWindow (group, 2, kWindowGroupContentsReturnWindows, &attachedWindow) == noErr)
213 SelectWindow (attachedWindow);
214 ActivateWindow (attachedWindow,
TRUE);
235 if (&component == getTopLevelComponent())
257 HIViewSetNeedsDisplay (view,
true);
258 HIViewRef child = HIViewGetFirstSubview (view);
263 child = HIViewGetNextView (child);
287 switch (GetEventKind (event))
289 case kEventWindowHandleDeactivate:
293 case kEventWindowGetClickActivation:
295 getTopLevelComponent()->toFront (
false);
298 ClickActivationResult howToHandleClick = kActivateAndHandleClick;
300 SetEventParameter (event, kEventParamClickActivation, typeClickActivationResult,
301 sizeof (ClickActivationResult), &howToHandleClick);
310 return eventNotHandledErr;
313 static pascal OSStatus
carbonEventCallback (EventHandlerCallRef nextHandlerRef, EventRef event,
void* userData)
329 NSWindow*
getOwnerWindow()
const {
return [((NSView*) getWindowHandle()) window]; }
332 #endif // JUCE_MAC_CARBONVIEWWRAPPERCOMPONENT_H_INCLUDED
virtual void removeView(HIViewRef embeddedView)=0
ValueType getRight() const noexcept
Definition: juce_Rectangle.h:119
bool keepPluginWindowWhenHidden
Definition: juce_mac_CarbonViewWrapperComponent.h:318
#define true
Definition: ordinals.h:82
#define noexcept
Definition: juce_CompilerSupport.h:141
virtual void componentMovedOrResized(bool wasMoved, bool wasResized)=0
bool repaintChildOnCreation
Definition: juce_mac_CarbonViewWrapperComponent.h:324
NSWindow * carbonWindow
Definition: juce_mac_CarbonViewWrapperComponent.h:322
ValueType getX() const noexcept
Definition: juce_Rectangle.h:107
Definition: juce_Time.h:41
void componentPeerChanged() override
Definition: juce_mac_CarbonViewWrapperComponent.h:239
int roundToInt(const FloatType value) noexcept
Definition: juce_core.h:418
void timerCallback() override
Definition: juce_mac_CarbonViewWrapperComponent.h:267
int getTimerInterval() const noexcept
Definition: juce_Timer.h:115
bool recursiveResize
Definition: juce_mac_CarbonViewWrapperComponent.h:324
Definition: juce_ComponentMovementWatcher.h:44
#define false
Definition: ordinals.h:83
long b
Definition: jpegint.h:371
EventHandlerRef eventHandlerRef
Definition: juce_mac_CarbonViewWrapperComponent.h:327
WindowRef wrapperWindow
Definition: juce_mac_CarbonViewWrapperComponent.h:321
void componentMovedOrResized(bool, bool) override
Definition: juce_mac_CarbonViewWrapperComponent.h:225
ValueType getBottom() const noexcept
Definition: juce_Rectangle.h:122
OSStatus carbonEventHandler(EventHandlerCallRef, EventRef event)
Definition: juce_mac_CarbonViewWrapperComponent.h:285
void startTimer(int intervalInMilliseconds) noexcept
Definition: juce_Timer.cpp:319
void componentMovedOrResized(Component &component, bool wasMoved, bool wasResized) override
Definition: juce_mac_CarbonViewWrapperComponent.h:231
Definition: juce_Rectangle.h:36
void setRepaintsChildHIViewWhenCreated(bool b) noexcept
Definition: juce_mac_CarbonViewWrapperComponent.h:280
CarbonViewWrapperComponent()
Definition: juce_mac_CarbonViewWrapperComponent.h:41
virtual bool getEmbeddedViewSize(int &w, int &h)
Definition: juce_mac_CarbonViewWrapperComponent.h:62
virtual void handleMouseDown(int, int)
Definition: juce_mac_CarbonViewWrapperComponent.h:59
void setOurSizeToEmbeddedViewSize()
Definition: juce_mac_CarbonViewWrapperComponent.h:154
Definition: juce_Component.h:33
Type jmax(const Type a, const Type b)
Definition: juce_core.h:101
#define TRUE
Definition: jmorecfg.h:233
Time creationTime
Definition: juce_mac_CarbonViewWrapperComponent.h:325
~CarbonViewWrapperComponent()
Definition: juce_mac_CarbonViewWrapperComponent.h:52
void stopTimer() noexcept
Definition: juce_Timer.cpp:343
NSWindow * getOwnerWindow() const
Definition: juce_mac_CarbonViewWrapperComponent.h:329
Type jlimit(const Type lowerLimit, const Type upperLimit, const Type valueToConstrain) noexcept
Definition: juce_MathsFunctions.h:220
virtual HIViewRef attachView(WindowRef windowRef, HIViewRef rootView)=0
ValueType getY() const noexcept
Definition: juce_Rectangle.h:110
static Desktop &JUCE_CALLTYPE getInstance()
Definition: juce_Desktop.cpp:48
void setEmbeddedWindowToOurSize()
Definition: juce_mac_CarbonViewWrapperComponent.h:178
virtual void handlePaint()
Definition: juce_mac_CarbonViewWrapperComponent.h:60
void deleteWindow()
Definition: juce_mac_CarbonViewWrapperComponent.h:132
static Time JUCE_CALLTYPE getCurrentTime() noexcept
Definition: juce_Time.cpp:213
Definition: juce_Timer.h:52
static void recursiveHIViewRepaint(HIViewRef view)
Definition: juce_mac_CarbonViewWrapperComponent.h:255
static pascal OSStatus carbonEventCallback(EventHandlerCallRef nextHandlerRef, EventRef event, void *userData)
Definition: juce_mac_CarbonViewWrapperComponent.h:313
Definition: juce_mac_CarbonViewWrapperComponent.h:36
void createWindow()
Definition: juce_mac_CarbonViewWrapperComponent.h:74
HIViewRef embeddedView
Definition: juce_mac_CarbonViewWrapperComponent.h:323
void componentVisibilityChanged() override
Definition: juce_mac_CarbonViewWrapperComponent.h:245