LMMS
Loading...
Searching...
No Matches
juce_TopLevelWindow.h
Go to the documentation of this file.
1/*
2 ==============================================================================
3
4 This file is part of the JUCE library.
5 Copyright (c) 2022 - Raw Material Software Limited
6
7 JUCE is an open source library subject to commercial or open-source
8 licensing.
9
10 By using JUCE, you agree to the terms of both the JUCE 7 End-User License
11 Agreement and JUCE Privacy Policy.
12
13 End User License Agreement: www.juce.com/juce-7-licence
14 Privacy Policy: www.juce.com/juce-privacy-policy
15
16 Or: You may also use this code under the terms of the GPL v3 (see
17 www.gnu.org/licenses).
18
19 JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
20 EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
21 DISCLAIMED.
22
23 ==============================================================================
24*/
25
26namespace juce
27{
28
29//==============================================================================
54{
55public:
56 //==============================================================================
64
66 ~TopLevelWindow() override;
67
68 //==============================================================================
78
79 //==============================================================================
91 void centreAroundComponent (Component* componentToCentreAround,
92 int width, int height);
93
94 //==============================================================================
96 void setDropShadowEnabled (bool useShadow);
97
100
104 void setUsingNativeTitleBar (bool useNativeTitleBar);
105
109 bool isUsingNativeTitleBar() const noexcept;
110
111 //==============================================================================
115 static int getNumTopLevelWindows() noexcept;
116
120 static TopLevelWindow* getTopLevelWindow (int index) noexcept;
121
125 static TopLevelWindow* getActiveTopLevelWindow() noexcept;
126
128 void addToDesktop();
129
130 //==============================================================================
132 void addToDesktop (int windowStyleFlags, void* nativeWindowToAttachTo = nullptr) override;
133
134protected:
135 //==============================================================================
139 virtual void activeWindowStatusChanged();
140
141
142 //==============================================================================
144 void focusOfChildComponentChanged (FocusChangeType) override;
146 void parentHierarchyChanged() override;
148 virtual int getDesktopWindowStyleFlags() const;
150 void recreateDesktopWindow();
152 void visibilityChanged() override;
153
154private:
156 friend class ResizableWindow;
159
161 void setWindowActive (bool);
162
164};
165
166} // namespace juce
#define noexcept
Definition DistrhoDefines.h:72
#define override
Definition DistrhoDefines.h:73
Definition juce_AccessibilityHandler.h:41
Definition juce_Component.h:36
Component() noexcept
Definition juce_Component.cpp:517
Definition juce_DropShadower.h:46
Definition juce_String.h:53
Definition juce_TopLevelWindow.h:54
bool isDropShadowEnabled() const noexcept
Definition juce_TopLevelWindow.h:99
void setWindowActive(bool)
Definition juce_TopLevelWindow.cpp:168
std::unique_ptr< AccessibilityHandler > createAccessibilityHandler() override
Definition juce_TopLevelWindow.cpp:284
friend class ResizableWindow
Definition juce_TopLevelWindow.h:156
bool isActiveWindow() const noexcept
Definition juce_TopLevelWindow.h:77
TopLevelWindow(const String &name, bool addToDesktop)
Definition juce_TopLevelWindow.cpp:134
friend class TopLevelWindowManager
Definition juce_TopLevelWindow.h:155
bool isCurrentlyActive
Definition juce_TopLevelWindow.h:157
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
static const char * name
Definition pugl.h:1582
static int int height
Definition pugl.h:1594
static int width
Definition pugl.h:1593
#define JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(className)
#define JUCE_API
Definition juce_StandardHeader.h:152
Definition carla_juce.cpp:31
Definition juce_Uuid.h:141
#define true
Definition ordinals.h:82
#define false
Definition ordinals.h:83
#define const
Definition zconf.h:137