25 #ifndef JUCE_MAC_CARBONVIEWWRAPPERCOMPONENT_H_INCLUDED 26 #define JUCE_MAC_CARBONVIEWWRAPPERCOMPONENT_H_INCLUDED 57 virtual HIViewRef
attachView (WindowRef windowRef, HIViewRef rootView) = 0;
64 if (embeddedView == 0)
68 HIViewGetBounds (embeddedView, &bounds);
81 r.right = (short) (r.left +
getWidth());
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)
184 if (embeddedView != 0)
191 HIViewSetFrame (embeddedView, &r);
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);
257 HIViewSetNeedsDisplay (view,
true);
258 HIViewRef child = HIViewGetFirstSubview (view);
263 child = HIViewGetNextView (child);
287 switch (GetEventKind (event))
289 case kEventWindowHandleDeactivate:
293 case kEventWindowGetClickActivation:
298 ClickActivationResult howToHandleClick = kActivateAndHandleClick;
300 SetEventParameter (event, kEventParamClickActivation, typeClickActivationResult,
301 sizeof (ClickActivationResult), &howToHandleClick);
303 if (embeddedView != 0)
304 HIViewSetNeedsDisplay (embeddedView,
true);
310 return eventNotHandledErr;
313 static pascal OSStatus
carbonEventCallback (EventHandlerCallRef nextHandlerRef, EventRef event,
void* userData)
332 #endif // JUCE_MAC_CARBONVIEWWRAPPERCOMPONENT_H_INCLUDED virtual void removeView(HIViewRef embeddedView)=0
void setSize(int newWidth, int newHeight)
Definition: juce_Component.cpp:1206
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
void * getWindowHandle() const
Definition: juce_Component.cpp:585
Definition: juce_Time.h:41
void componentPeerChanged() override
Definition: juce_mac_CarbonViewWrapperComponent.h:239
int getWidth() const noexcept
Definition: juce_Component.h:268
int getScreenX() const
Definition: juce_Component.cpp:1040
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
NSWindow * getOwnerWindow() const
Definition: juce_mac_CarbonViewWrapperComponent.h:329
bool recursiveResize
Definition: juce_mac_CarbonViewWrapperComponent.h:324
Definition: juce_ComponentMovementWatcher.h:44
#define false
Definition: ordinals.h:83
Component * getParentComponent() const noexcept
Definition: juce_Component.h:762
long b
Definition: jpegint.h:371
int getHeight() const noexcept
Definition: juce_Component.h:271
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 toFront(bool shouldAlsoGainFocus)
Definition: juce_Component.cpp:870
void stopTimer() noexcept
Definition: juce_Timer.cpp:343
Rectangle< int > getScreenBounds() const
Definition: juce_Component.cpp:1044
Type jlimit(const Type lowerLimit, const Type upperLimit, const Type valueToConstrain) noexcept
Definition: juce_MathsFunctions.h:220
Component * getTopLevelComponent() const noexcept
Definition: juce_Component.cpp:1622
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
virtual float getDesktopScaleFactor() const
Definition: juce_Component.cpp:742
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
int getScreenY() const
Definition: juce_Component.cpp:1041
bool isShowing() const
Definition: juce_Component.cpp:570
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