77 windows.removeFirstMatchingValue (
w);
108 if (
w ==
nullptr && focusedComp !=
nullptr)
114 if (
w !=
nullptr &&
w->isShowing())
126void juce_checkCurrentlyFocusedTopLevelWindow();
129 if (
auto* wm = TopLevelWindowManager::getInstanceWithoutCreating())
130 wm->checkFocusAsync();
141 if (shouldAddToDesktop)
154 TopLevelWindowManager::getInstance()->removeWindow (
this);
160 auto* wm = TopLevelWindowManager::getInstance();
165 wm->checkFocusAsync();
295 if (
c ==
nullptr ||
c->getBounds().isEmpty())
303 auto targetCentre =
c->localPointToGlobal (
c->getLocalBounds().getCentre()) / scale;
304 auto parentArea =
getLocalArea (
nullptr,
c->getParentMonitorArea());
308 targetCentre =
parent->getLocalPoint (
nullptr, targetCentre);
309 parentArea =
parent->getLocalBounds();
313 targetCentre.y -
height / 2,
322 return TopLevelWindowManager::getInstance()->windows.size();
327 return TopLevelWindowManager::getInstance()->windows [index];
333 int bestNumTWLParents = -1;
339 if (tlw->isActiveWindow())
341 int numTWLParents = 0;
343 for (
auto*
c = tlw->getParentComponent();
c !=
nullptr;
c =
c->getParentComponent())
347 if (bestNumTWLParents < numTWLParents)
350 bestNumTWLParents = numTWLParents;
#define noexcept
Definition DistrhoDefines.h:72
Definition juce_Array.h:56
void setBroughtToFrontOnMouseClick(bool shouldBeBroughtToFront) noexcept
Definition juce_Component.cpp:1848
Component * getParentComponent() const noexcept
Definition juce_Component.h:804
void setTitle(const String &newTitle)
Definition juce_Component.cpp:3258
bool isOpaque() const noexcept
Definition juce_Component.cpp:843
Rectangle< int > getLocalArea(const Component *sourceComponent, Rectangle< int > areaRelativeToSourceComponent) const
Definition juce_Component.cpp:1138
void toFront(bool shouldAlsoGainKeyboardFocus)
Definition juce_Component.cpp:954
static Component *JUCE_CALLTYPE getCurrentlyFocusedComponent() noexcept
Definition juce_Component.cpp:3092
bool isShowing() const
Definition juce_Component.cpp:634
void sendLookAndFeelChange()
Definition juce_Component.cpp:2194
FocusChangeType
Definition juce_Component.h:1890
bool hasKeyboardFocus(bool trueIfChildIsFocused) const
Definition juce_Component.cpp:3086
void setOpaque(bool shouldBeOpaque)
Definition juce_Component.cpp:829
Component() noexcept
Definition juce_Component.cpp:517
bool isOnDesktop() const noexcept
Definition juce_Component.cpp:796
bool isParentOf(const Component *possibleChild) const noexcept
Definition juce_Component.cpp:1677
virtual void addToDesktop(int windowStyleFlags, void *nativeWindowToAttachTo=nullptr)
Definition juce_Component.cpp:658
void setBounds(int x, int y, int width, int height)
Definition juce_Component.cpp:1147
void setWantsKeyboardFocus(bool wantsFocus) noexcept
Definition juce_Component.cpp:2842
ComponentPeer * getPeer() const
Definition juce_Component.cpp:801
LookAndFeel & getLookAndFeel() const noexcept
Definition juce_Component.cpp:2173
void centreWithSize(int width, int height)
Definition juce_Component.cpp:1290
virtual float getDesktopScaleFactor() const
Definition juce_Component.cpp:826
@ windowIsTemporary
Definition juce_ComponentPeer.h:52
@ windowIgnoresKeyPresses
Definition juce_ComponentPeer.h:71
@ windowHasDropShadow
Definition juce_ComponentPeer.h:66
@ windowAppearsOnTaskbar
Definition juce_ComponentPeer.h:50
@ windowIsSemiTransparent
Definition juce_ComponentPeer.h:78
@ windowHasTitleBar
Definition juce_ComponentPeer.h:56
DeletedAtShutdown()
Definition juce_DeletedAtShutdown.cpp:34
static Desktop &JUCE_CALLTYPE getInstance()
Definition juce_Desktop.cpp:50
static bool JUCE_CALLTYPE isForegroundProcess()
Definition juce_linux_Windowing.cpp:580
Definition juce_Rectangle.h:67
Rectangle constrainedWithin(Rectangle areaToFitWithin) const noexcept
Definition juce_Rectangle.h:798
Definition juce_String.h:53
int getTimerInterval() const noexcept
Definition juce_Timer.h:116
Timer() noexcept
Definition juce_Timer.cpp:316
void startTimer(int intervalInMilliseconds) noexcept
Definition juce_Timer.cpp:332
Definition juce_TopLevelWindow.h:54
void recreateDesktopWindow()
Definition juce_TopLevelWindow.cpp:249
bool isDropShadowEnabled() const noexcept
Definition juce_TopLevelWindow.h:99
void setWindowActive(bool)
Definition juce_TopLevelWindow.cpp:168
void centreAroundComponent(Component *componentToCentreAround, int width, int height)
Definition juce_TopLevelWindow.cpp:290
void visibilityChanged() override
Definition juce_TopLevelWindow.cpp:186
~TopLevelWindow() override
Definition juce_TopLevelWindow.cpp:151
static int getNumTopLevelWindows() noexcept
Definition juce_TopLevelWindow.cpp:320
virtual int getDesktopWindowStyleFlags() const
Definition juce_TopLevelWindow.cpp:200
void setDropShadowEnabled(bool useShadow)
Definition juce_TopLevelWindow.cpp:210
static TopLevelWindow * getTopLevelWindow(int index) noexcept
Definition juce_TopLevelWindow.cpp:325
static TopLevelWindow * getActiveTopLevelWindow() noexcept
Definition juce_TopLevelWindow.cpp:330
std::unique_ptr< AccessibilityHandler > createAccessibilityHandler() override
Definition juce_TopLevelWindow.cpp:284
bool isUsingNativeTitleBar() const noexcept
Definition juce_TopLevelWindow.cpp:181
void parentHierarchyChanged() override
Definition juce_TopLevelWindow.cpp:195
TopLevelWindow(const String &name, bool addToDesktop)
Definition juce_TopLevelWindow.cpp:134
virtual void activeWindowStatusChanged()
Definition juce_TopLevelWindow.cpp:177
void focusOfChildComponentChanged(FocusChangeType) override
Definition juce_TopLevelWindow.cpp:158
bool isCurrentlyActive
Definition juce_TopLevelWindow.h:157
void setUsingNativeTitleBar(bool useNativeTitleBar)
Definition juce_TopLevelWindow.cpp:238
bool useNativeTitleBar
Definition juce_TopLevelWindow.h:157
std::unique_ptr< DropShadower > shadower
Definition juce_TopLevelWindow.h:158
bool useDropShadow
Definition juce_TopLevelWindow.h:157
void addToDesktop()
Definition juce_TopLevelWindow.cpp:258
Definition juce_TopLevelWindow.cpp:32
void removeWindow(TopLevelWindow *const w)
Definition juce_TopLevelWindow.cpp:70
bool addWindow(TopLevelWindow *const w)
Definition juce_TopLevelWindow.cpp:62
~TopLevelWindowManager() override
Definition juce_TopLevelWindow.cpp:35
bool isWindowActive(TopLevelWindow *const tlw) const
Definition juce_TopLevelWindow.cpp:93
void checkFocus()
Definition juce_TopLevelWindow.cpp:44
void checkFocusAsync()
Definition juce_TopLevelWindow.cpp:39
TopLevelWindowManager()
Definition juce_TopLevelWindow.cpp:34
Array< TopLevelWindow * > windows
Definition juce_TopLevelWindow.cpp:83
TopLevelWindow * findCurrentlyActiveWindow() const
Definition juce_TopLevelWindow.cpp:101
TopLevelWindow * currentActive
Definition juce_TopLevelWindow.cpp:86
void timerCallback() override
Definition juce_TopLevelWindow.cpp:88
UINT_D64 w
Definition inflate.c:942
register unsigned i
Definition inflate.c:1575
static const char * name
Definition pugl.h:1582
static int int height
Definition pugl.h:1594
static int width
Definition pugl.h:1593
static uintptr_t parent
Definition pugl.h:1644
#define JUCE_IMPLEMENT_SINGLETON(Classname)
Definition juce_Singleton.h:201
#define JUCE_DECLARE_SINGLETON_SINGLETHREADED_MINIMAL(Classname)
Definition juce_Singleton.h:252
Definition carla_juce.cpp:31
constexpr Type jmin(Type a, Type b)
Definition juce_MathsFunctions.h:106
void juce_checkCurrentlyFocusedTopLevelWindow()
Definition juce_TopLevelWindow.cpp:127
@ window
Definition juce_AccessibilityRole.h:63
Definition juce_Component.cpp:181
uch * p
Definition crypt.c:594
return c
Definition crypt.c:175
#define void
Definition unzip.h:396
#define const
Definition zconf.h:137