LMMS
Loading...
Searching...
No Matches
juce_linux_XWindowSystem.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//==============================================================================
31{
32 //==============================================================================
39 {
42 };
43
44 //==============================================================================
51 {
52 GetXProperty (::Display* display, ::Window windowH, Atom property,
53 long offset, long length, bool shouldDelete, Atom requestedType);
55
56 bool success = false;
57 unsigned char* data = nullptr;
58 unsigned long numItems = 0, bytesLeft = 0;
60 int actualFormat = -1;
61 };
62
63 //==============================================================================
68 struct Atoms
69 {
71 {
74 PING = 2
75 };
76
77 Atoms() = default;
78 explicit Atoms (::Display*);
79
80 static Atom getIfExists (::Display*, const char* name);
81 static Atom getCreating (::Display*, const char* name);
82
83 static String getName (::Display*, Atom);
84 static bool isMimeTypeFile (::Display*, Atom);
85
86 static constexpr unsigned long DndVersion = 3;
87
92 };
93
94 //==============================================================================
99 struct XSetting
100 {
101 enum class Type
102 {
103 integer,
104 string,
105 colour,
106 invalid
107 };
108
109 XSetting() = default;
110
111 XSetting (const String& n, int v) : name (n), type (Type::integer), integerValue (v) {}
112 XSetting (const String& n, const String& v) : name (n), type (Type::string), stringValue (v) {}
113 XSetting (const String& n, const Colour& v) : name (n), type (Type::colour), colourValue (v) {}
114
116
119
120 int integerValue = -1;
123 };
124
131 {
132 public:
133 static std::unique_ptr<XSettings> createXSettings (::Display*);
134
135 //==============================================================================
136 void update();
138
139 XSetting getSetting (const String& settingName) const;
140
141 //==============================================================================
142 struct Listener
143 {
144 virtual ~Listener() = default;
145 virtual void settingChanged (const XSetting& settingThatHasChanged) = 0;
146 };
147
148 void addListener (Listener* listenerToAdd) { listeners.add (listenerToAdd); }
149 void removeListener (Listener* listenerToRemove) { listeners.remove (listenerToRemove); }
150
151 private:
152 ::Display* display = nullptr;
155
157
158 std::unordered_map<String, XSetting> settings;
160
161 XSettings (::Display*, Atom, ::Window);
162
163 //==============================================================================
165 };
166}
167
168//==============================================================================
170
172{
173public:
174 //==============================================================================
175 ::Window createWindow (::Window parentWindow, LinuxComponentPeer*) const;
176 void destroyWindow (::Window);
177
178 void setTitle (::Window, const String&) const;
179 void setIcon (::Window , const Image&) const;
180 void setVisible (::Window, bool shouldBeVisible) const;
181 void setBounds (::Window, Rectangle<int>, bool fullScreen) const;
182 void updateConstraints (::Window) const;
183
185 Rectangle<int> getWindowBounds (::Window, ::Window parentWindow);
187
188 bool contains (::Window, Point<int> localPos) const;
189
190 void setMinimised (::Window, bool shouldBeMinimised) const;
191 bool isMinimised (::Window) const;
192
193 void setMaximised (::Window, bool shouldBeMinimised) const;
194
195 void toFront (::Window, bool makeActive) const;
196 void toBehind (::Window, ::Window otherWindow) const;
197
198 bool isFocused (::Window) const;
199 bool grabFocus (::Window) const;
200
201 bool canUseSemiTransparentWindows() const;
202 bool canUseARGBImages() const;
203 bool isDarkModeActive() const;
204
205 int getNumPaintsPendingForWindow (::Window);
206 void processPendingPaintsForWindow (::Window);
207 void addPendingPaintForWindow (::Window);
208 void removePendingPaintForWindow (::Window);
209
210 Image createImage (bool isSemiTransparentWindow, int width, int height, bool argb) const;
211 void blitToWindow (::Window, Image, Rectangle<int> destinationRect, Rectangle<int> totalRect) const;
212
213 void setScreenSaverEnabled (bool enabled) const;
214
216 void setMousePosition (Point<float> pos) const;
217
218 Cursor createCustomMouseCursorInfo (const Image&, Point<int> hotspot) const;
219 void deleteMouseCursor (Cursor cursorHandle) const;
221 void showCursor (::Window, Cursor cursorHandle) const;
222
223 bool isKeyCurrentlyDown (int keyCode) const;
225
226 Array<Displays::Display> findDisplays (float masterScale) const;
227
228 ::Window createKeyProxy (::Window) const;
229 void deleteKeyProxy (::Window) const;
230
231 bool externalDragFileInit (LinuxComponentPeer*, const StringArray& files, bool canMove, std::function<void()>&& callback) const;
232 bool externalDragTextInit (LinuxComponentPeer*, const String& text, std::function<void()>&& callback) const;
233
234 void copyTextToClipboard (const String&);
237
238 ::Display* getDisplay() const noexcept { return display; }
241
243
244 static String getWindowScalingFactorSettingName() { return "Gdk/WindowScalingFactor"; }
245 static String getThemeNameSettingName() { return "Net/ThemeName"; }
246
247 //==============================================================================
248 void handleWindowMessage (LinuxComponentPeer*, XEvent&) const;
249 bool isParentWindowOf (::Window, ::Window possibleChild) const;
250
251 //==============================================================================
253
254private:
256 ~XWindowSystem();
257
258 //==============================================================================
260 {
261 Visual* visual;
262 int depth;
263 };
264
266 {
267 explicit DisplayVisuals (::Display*);
268
270 bool isValid() const noexcept;
271
272 Visual* visual16Bit = nullptr;
273 Visual* visual24Bit = nullptr;
274 Visual* visual32Bit = nullptr;
275 };
276
277 bool initialiseXDisplay();
278 void destroyXDisplay();
279
280 //==============================================================================
281 ::Window getFocusWindow (::Window) const;
282
283 bool isFrontWindow (::Window) const;
284
285 //==============================================================================
286 void xchangeProperty (::Window, Atom, Atom, int, const void*, int) const;
287
288 void removeWindowDecorations (::Window) const;
289 void addWindowButtons (::Window, int) const;
290 void setWindowType (::Window, int) const;
291
293 void deleteIconPixmaps (::Window) const;
294 void updateModifierMappings() const;
295
296 long getUserTime (::Window) const;
297
298 void initialiseXSettings();
299
300 //==============================================================================
301 void handleKeyPressEvent (LinuxComponentPeer*, XKeyEvent&) const;
302 void handleKeyReleaseEvent (LinuxComponentPeer*, const XKeyEvent&) const;
303 void handleWheelEvent (LinuxComponentPeer*, const XButtonPressedEvent&, float) const;
304 void handleButtonPressEvent (LinuxComponentPeer*, const XButtonPressedEvent&, int) const;
305 void handleButtonPressEvent (LinuxComponentPeer*, const XButtonPressedEvent&) const;
306 void handleButtonReleaseEvent (LinuxComponentPeer*, const XButtonReleasedEvent&) const;
307 void handleMotionNotifyEvent (LinuxComponentPeer*, const XPointerMovedEvent&) const;
308 void handleEnterNotifyEvent (LinuxComponentPeer*, const XEnterWindowEvent&) const;
309 void handleLeaveNotifyEvent (LinuxComponentPeer*, const XLeaveWindowEvent&) const;
312 void handleExposeEvent (LinuxComponentPeer*, XExposeEvent&) const;
313 void handleConfigureNotifyEvent (LinuxComponentPeer*, XConfigureEvent&) const;
315 void propertyNotifyEvent (LinuxComponentPeer*, const XPropertyEvent&) const;
316 void handleMappingNotify (XMappingEvent&) const;
317 void handleClientMessageEvent (LinuxComponentPeer*, XClientMessageEvent&, XEvent&) const;
318 void handleXEmbedMessage (LinuxComponentPeer*, XClientMessageEvent&) const;
319
321 void dismissBlockingModals (LinuxComponentPeer*, const XConfigureEvent&) const;
322 void updateConstraints (::Window, ComponentPeer&) const;
323
324 ::Window findTopLevelWindowOf (::Window) const;
325
326 static void windowMessageReceive (XEvent&);
327
328 //==============================================================================
329 bool xIsAvailable = false;
330
332 ::Display* display = nullptr;
333 std::unique_ptr<DisplayVisuals> displayVisuals;
334 std::unique_ptr<XWindowSystemUtilities::XSettings> xSettings;
335
336 #if JUCE_USE_XSHM
337 std::map<::Window, int> shmPaintsPendingMap;
338 #endif
339
341 int pointerMap[5] = {};
343
345
346 //==============================================================================
348};
349
350} // namespace juce
#define noexcept
Definition DistrhoDefines.h:72
Definition juce_Array.h:56
Definition juce_Colour.h:38
Definition juce_ComponentPeer.h:91
Definition juce_ComponentPeer.h:44
DeletedAtShutdown()
Definition juce_DeletedAtShutdown.cpp:34
Definition juce_Image.h:58
Definition juce_linux_Windowing.cpp:36
Definition juce_ListenerList.h:70
Definition juce_ModifierKeys.h:41
StandardCursorType
Definition juce_MouseCursor.h:44
Definition juce_Point.h:42
Definition juce_Rectangle.h:67
Definition juce_StringArray.h:35
Definition juce_String.h:53
Definition juce_linux_XWindowSystem.h:172
Point< int > parentScreenPosition
Definition juce_linux_XWindowSystem.h:344
void updateConstraints(::Window) const
Definition juce_linux_XWindowSystem.cpp:1791
bool externalDragTextInit(LinuxComponentPeer *, const String &text, std::function< void()> &&callback) const
Definition juce_linux_XWindowSystem.cpp:2725
void handleLeaveNotifyEvent(LinuxComponentPeer *, const XLeaveWindowEvent &) const
Definition juce_linux_XWindowSystem.cpp:3611
void handleMotionNotifyEvent(LinuxComponentPeer *, const XPointerMovedEvent &) const
Definition juce_linux_XWindowSystem.cpp:3582
int getNumPaintsPendingForWindow(::Window)
Definition juce_linux_XWindowSystem.cpp:2178
bool isFocused(::Window) const
Definition juce_linux_XWindowSystem.cpp:2009
void removeWindowDecorations(::Window) const
Definition juce_linux_XWindowSystem.cpp:2859
bool canUseARGBImages() const
Definition juce_linux_XWindowSystem.cpp:2070
std::unique_ptr< DisplayVisuals > displayVisuals
Definition juce_linux_XWindowSystem.h:333
::Window createKeyProxy(::Window) const
Definition juce_linux_XWindowSystem.cpp:2669
std::unique_ptr< XWindowSystemUtilities::XSettings > xSettings
Definition juce_linux_XWindowSystem.h:334
bool contains(::Window, Point< int > localPos) const
Definition juce_linux_XWindowSystem.cpp:1833
static void windowMessageReceive(XEvent &)
Definition juce_linux_XWindowSystem.cpp:3871
void showCursor(::Window, Cursor cursorHandle) const
Definition juce_linux_XWindowSystem.cpp:2417
bool initialiseXDisplay()
Definition juce_linux_XWindowSystem.cpp:3145
void setIcon(::Window, const Image &) const
Definition juce_linux_XWindowSystem.cpp:1677
void initialisePointerMap()
Definition juce_linux_XWindowSystem.cpp:3009
static String getThemeNameSettingName()
Definition juce_linux_XWindowSystem.h:245
void propertyNotifyEvent(LinuxComponentPeer *, const XPropertyEvent &) const
Definition juce_linux_XWindowSystem.cpp:3722
bool isX11Available() const noexcept
Definition juce_linux_XWindowSystem.h:242
void blitToWindow(::Window, Image, Rectangle< int > destinationRect, Rectangle< int > totalRect) const
Definition juce_linux_XWindowSystem.cpp:2148
::Window createWindow(::Window parentWindow, LinuxComponentPeer *) const
Definition juce_linux_XWindowSystem.cpp:1513
void toFront(::Window, bool makeActive) const
Definition juce_linux_XWindowSystem.cpp:1972
Image createImage(bool isSemiTransparentWindow, int width, int height, bool argb) const
Definition juce_linux_XWindowSystem.cpp:2134
String localClipboardContent
Definition juce_linux_XWindowSystem.h:342
void setWindowType(::Window, int) const
Definition juce_linux_XWindowSystem.cpp:2976
XWindowSystemUtilities::Atoms atoms
Definition juce_linux_XWindowSystem.h:331
void handleExposeEvent(LinuxComponentPeer *, XExposeEvent &) const
Definition juce_linux_XWindowSystem.cpp:3648
void setVisible(::Window, bool shouldBeVisible) const
Definition juce_linux_XWindowSystem.cpp:1715
void handleGravityNotify(LinuxComponentPeer *) const
Definition juce_linux_XWindowSystem.cpp:3715
String getTextFromClipboard() const
Definition juce_linux_XWindowSystem.cpp:2743
::Window getFocusWindow(::Window) const
Definition juce_linux_XWindowSystem.cpp:2024
bool grabFocus(::Window) const
Definition juce_linux_XWindowSystem.cpp:2036
Point< float > getCurrentMousePosition() const
Definition juce_linux_XWindowSystem.cpp:2219
::Display * display
Definition juce_linux_XWindowSystem.h:332
void updateModifierMappings() const
Definition juce_linux_XWindowSystem.cpp:3058
void handleXEmbedMessage(LinuxComponentPeer *, XClientMessageEvent &) const
Definition juce_linux_XWindowSystem.cpp:3838
void processPendingPaintsForWindow(::Window)
Definition juce_linux_XWindowSystem.cpp:2161
void handleClientMessageEvent(LinuxComponentPeer *, XClientMessageEvent &, XEvent &) const
Definition juce_linux_XWindowSystem.cpp:3767
::Window findTopLevelWindowOf(::Window) const
Definition juce_linux_XWindowSystem.cpp:2782
int pointerMap[5]
Definition juce_linux_XWindowSystem.h:341
void setMinimised(::Window, bool shouldBeMinimised) const
Definition juce_linux_XWindowSystem.cpp:1913
Rectangle< int > getWindowBounds(::Window, ::Window parentWindow)
Definition juce_linux_XWindowSystem.cpp:1875
void handleKeyReleaseEvent(LinuxComponentPeer *, const XKeyEvent &) const
Definition juce_linux_XWindowSystem.cpp:3472
void handleKeyPressEvent(LinuxComponentPeer *, XKeyEvent &) const
Definition juce_linux_XWindowSystem.cpp:3351
ModifierKeys getNativeRealtimeModifiers() const
Definition juce_linux_XWindowSystem.cpp:2455
void handleFocusOutEvent(LinuxComponentPeer *) const
Definition juce_linux_XWindowSystem.cpp:3637
void setMaximised(::Window, bool shouldBeMinimised) const
Definition juce_linux_XWindowSystem.cpp:1953
void handleButtonPressEvent(LinuxComponentPeer *, const XButtonPressedEvent &, int) const
Definition juce_linux_XWindowSystem.cpp:3524
Cursor createCustomMouseCursorInfo(const Image &, Point< int > hotspot) const
Definition juce_linux_XWindowSystem.cpp:2250
bool externalDragFileInit(LinuxComponentPeer *, const StringArray &files, bool canMove, std::function< void()> &&callback) const
Definition juce_linux_XWindowSystem.cpp:2705
void copyTextToClipboard(const String &)
Definition juce_linux_XWindowSystem.cpp:2735
static String getWindowScalingFactorSettingName()
Definition juce_linux_XWindowSystem.h:244
bool isDarkModeActive() const
Definition juce_linux_XWindowSystem.cpp:2103
void handleMappingNotify(XMappingEvent &) const
Definition juce_linux_XWindowSystem.cpp:3756
bool isMinimised(::Window) const
Definition juce_linux_XWindowSystem.cpp:1934
void destroyWindow(::Window)
Definition juce_linux_XWindowSystem.cpp:1611
XWindowSystem()
Definition juce_linux_XWindowSystem.cpp:1451
void handleEnterNotifyEvent(LinuxComponentPeer *, const XEnterWindowEvent &) const
Definition juce_linux_XWindowSystem.cpp:3597
void handleConfigureNotifyEvent(LinuxComponentPeer *, XConfigureEvent &) const
Definition juce_linux_XWindowSystem.cpp:3699
void removePendingPaintForWindow(::Window)
Definition juce_linux_XWindowSystem.cpp:2196
void destroyXDisplay()
Definition juce_linux_XWindowSystem.cpp:3241
::Display * getDisplay() const noexcept
Definition juce_linux_XWindowSystem.h:238
void handleWheelEvent(LinuxComponentPeer *, const XButtonPressedEvent &, float) const
Definition juce_linux_XWindowSystem.cpp:3511
bool isFrontWindow(::Window) const
Definition juce_linux_XWindowSystem.cpp:2826
String getLocalClipboardContent() const noexcept
Definition juce_linux_XWindowSystem.h:236
void setScreenSaverEnabled(bool enabled) const
Definition juce_linux_XWindowSystem.cpp:2204
XWindowSystemUtilities::XSettings * getXSettings() const noexcept
Definition juce_linux_XWindowSystem.h:240
Array< Displays::Display > findDisplays(float masterScale) const
Definition juce_linux_XWindowSystem.cpp:2520
void setBounds(::Window, Rectangle< int >, bool fullScreen) const
Definition juce_linux_XWindowSystem.cpp:1727
void setMousePosition(Point< float > pos) const
Definition juce_linux_XWindowSystem.cpp:2239
ComponentPeer::OptionalBorderSize getBorderSize(::Window) const
Definition juce_linux_XWindowSystem.cpp:1846
void deleteKeyProxy(::Window) const
Definition juce_linux_XWindowSystem.cpp:2688
void deleteMouseCursor(Cursor cursorHandle) const
Definition juce_linux_XWindowSystem.cpp:2340
void toBehind(::Window, ::Window otherWindow) const
Definition juce_linux_XWindowSystem.cpp:1996
void handleButtonReleaseEvent(LinuxComponentPeer *, const XButtonReleasedEvent &) const
Definition juce_linux_XWindowSystem.cpp:3553
long getUserTime(::Window) const
Definition juce_linux_XWindowSystem.cpp:3085
void xchangeProperty(::Window, Atom, Atom, int, const void *, int) const
Definition juce_linux_XWindowSystem.cpp:2852
void dismissBlockingModals(LinuxComponentPeer *) const
Definition juce_linux_XWindowSystem.cpp:3690
void handleFocusInEvent(LinuxComponentPeer *) const
Definition juce_linux_XWindowSystem.cpp:3626
const XWindowSystemUtilities::Atoms & getAtoms() const noexcept
Definition juce_linux_XWindowSystem.h:239
int shmCompletionEvent
Definition juce_linux_XWindowSystem.h:340
void setTitle(::Window, const String &) const
Definition juce_linux_XWindowSystem.cpp:1654
Cursor createStandardMouseCursor(MouseCursor::StandardCursorType) const
Definition juce_linux_XWindowSystem.cpp:2361
Point< int > getPhysicalParentScreenPosition() const
Definition juce_linux_XWindowSystem.cpp:1908
bool xIsAvailable
Definition juce_linux_XWindowSystem.h:329
bool isKeyCurrentlyDown(int keyCode) const
Definition juce_linux_XWindowSystem.cpp:2425
void addPendingPaintForWindow(::Window)
Definition juce_linux_XWindowSystem.cpp:2188
bool canUseSemiTransparentWindows() const
Definition juce_linux_XWindowSystem.cpp:2055
void initialiseXSettings()
Definition juce_linux_XWindowSystem.cpp:3100
void addWindowButtons(::Window, int) const
Definition juce_linux_XWindowSystem.cpp:2917
void deleteIconPixmaps(::Window) const
Definition juce_linux_XWindowSystem.cpp:3033
Definition juce_linux_XWindowSystem.h:131
::Display * display
Definition juce_linux_XWindowSystem.h:152
int lastUpdateSerial
Definition juce_linux_XWindowSystem.h:156
void removeListener(Listener *listenerToRemove)
Definition juce_linux_XWindowSystem.h:149
::Window settingsWindow
Definition juce_linux_XWindowSystem.h:153
std::unordered_map< String, XSetting > settings
Definition juce_linux_XWindowSystem.h:158
XSettings(::Display *, Atom, ::Window)
Definition juce_linux_XWindowSystem.cpp:194
Atom settingsAtom
Definition juce_linux_XWindowSystem.h:154
::Window getSettingsWindow() const noexcept
Definition juce_linux_XWindowSystem.h:137
void addListener(Listener *listenerToAdd)
Definition juce_linux_XWindowSystem.h:148
ListenerList< Listener > listeners
Definition juce_linux_XWindowSystem.h:159
void update()
Definition juce_linux_XWindowSystem.cpp:210
static std::unique_ptr< XSettings > createXSettings(::Display *)
Definition juce_linux_XWindowSystem.cpp:182
unsigned v[N_MAX]
Definition inflate.c:1584
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_DECLARE_SINGLETON(Classname, doNotRecreateAfterDeletion)
Definition juce_Singleton.h:184
static char ** files
Definition misc.c:28
Definition juce_linux_XWindowSystem.h:31
Definition carla_juce.cpp:31
png_uint_32 length
Definition png.c:2247
Definition byte_source.h:28
VisualAndDepth getBestVisualForWindow(bool) const
Definition juce_linux_XWindowSystem.cpp:3128
Visual * visual24Bit
Definition juce_linux_XWindowSystem.h:273
Visual * visual16Bit
Definition juce_linux_XWindowSystem.h:272
bool isValid() const noexcept
Definition juce_linux_XWindowSystem.cpp:3139
DisplayVisuals(::Display *)
Definition juce_linux_XWindowSystem.cpp:3110
Visual * visual32Bit
Definition juce_linux_XWindowSystem.h:274
Definition juce_linux_XWindowSystem.h:260
int depth
Definition juce_linux_XWindowSystem.h:262
Visual * visual
Definition juce_linux_XWindowSystem.h:261
Definition juce_linux_XWindowSystem.h:69
Atom allowedMimeTypes[4]
Definition juce_linux_XWindowSystem.h:91
Atom XdndFinished
Definition juce_linux_XWindowSystem.h:89
Atom XdndPosition
Definition juce_linux_XWindowSystem.h:89
Atom windowType
Definition juce_linux_XWindowSystem.h:88
Atom utf8String
Definition juce_linux_XWindowSystem.h:91
Atom XdndAware
Definition juce_linux_XWindowSystem.h:89
Atom activeWin
Definition juce_linux_XWindowSystem.h:88
Atom windowStateHidden
Definition juce_linux_XWindowSystem.h:88
Atom XdndLeave
Definition juce_linux_XWindowSystem.h:89
ProtocolItems
Definition juce_linux_XWindowSystem.h:71
@ TAKE_FOCUS
Definition juce_linux_XWindowSystem.h:72
@ PING
Definition juce_linux_XWindowSystem.h:74
@ DELETE_WINDOW
Definition juce_linux_XWindowSystem.h:73
Atom XdndActionDescription
Definition juce_linux_XWindowSystem.h:90
Atom XdndDrop
Definition juce_linux_XWindowSystem.h:89
Atom XdndActionList
Definition juce_linux_XWindowSystem.h:90
Atom changeState
Definition juce_linux_XWindowSystem.h:88
Atom protocols
Definition juce_linux_XWindowSystem.h:88
Atom windowState
Definition juce_linux_XWindowSystem.h:88
Atom XdndTypeList
Definition juce_linux_XWindowSystem.h:90
static Atom getIfExists(::Display *, const char *name)
Definition juce_linux_XWindowSystem.cpp:142
Atom XdndStatus
Definition juce_linux_XWindowSystem.h:89
Atom pid
Definition juce_linux_XWindowSystem.h:88
static constexpr unsigned long DndVersion
Definition juce_linux_XWindowSystem.h:86
Atom XdndActionCopy
Definition juce_linux_XWindowSystem.h:90
Atom allowedActions[5]
Definition juce_linux_XWindowSystem.h:91
Atom XdndEnter
Definition juce_linux_XWindowSystem.h:89
Atom clipboard
Definition juce_linux_XWindowSystem.h:91
Atom XdndActionPrivate
Definition juce_linux_XWindowSystem.h:90
Atom targets
Definition juce_linux_XWindowSystem.h:91
Atom XdndSelection
Definition juce_linux_XWindowSystem.h:89
Atom protocolList[3]
Definition juce_linux_XWindowSystem.h:88
Atom XembedInfo
Definition juce_linux_XWindowSystem.h:91
static bool isMimeTypeFile(::Display *, Atom)
Definition juce_linux_XWindowSystem.cpp:160
Atom XembedMsgType
Definition juce_linux_XWindowSystem.h:91
Atom state
Definition juce_linux_XWindowSystem.h:88
static Atom getCreating(::Display *, const char *name)
Definition juce_linux_XWindowSystem.cpp:147
Atom userTime
Definition juce_linux_XWindowSystem.h:88
static String getName(::Display *, Atom)
Definition juce_linux_XWindowSystem.cpp:152
unsigned long numItems
Definition juce_linux_XWindowSystem.h:58
unsigned char * data
Definition juce_linux_XWindowSystem.h:57
bool success
Definition juce_linux_XWindowSystem.h:56
GetXProperty(::Display *display, ::Window windowH, Atom property, long offset, long length, bool shouldDelete, Atom requestedType)
Definition juce_linux_XWindowSystem.cpp:166
unsigned long bytesLeft
Definition juce_linux_XWindowSystem.h:58
Atom actualType
Definition juce_linux_XWindowSystem.h:59
int actualFormat
Definition juce_linux_XWindowSystem.h:60
ScopedXLock()
Definition juce_linux_XWindowSystem.cpp:78
Definition juce_linux_XWindowSystem.h:100
bool isValid() const noexcept
Definition juce_linux_XWindowSystem.h:115
Type
Definition juce_linux_XWindowSystem.h:102
@ invalid
Definition juce_linux_XWindowSystem.h:106
Type type
Definition juce_linux_XWindowSystem.h:118
XSetting(const String &n, int v)
Definition juce_linux_XWindowSystem.h:111
String stringValue
Definition juce_linux_XWindowSystem.h:121
String name
Definition juce_linux_XWindowSystem.h:117
int integerValue
Definition juce_linux_XWindowSystem.h:120
XSetting(const String &n, const String &v)
Definition juce_linux_XWindowSystem.h:112
XSetting(const String &n, const Colour &v)
Definition juce_linux_XWindowSystem.h:113
Colour colourValue
Definition juce_linux_XWindowSystem.h:122
Definition juce_linux_XWindowSystem.h:143
virtual void settingChanged(const XSetting &settingThatHasChanged)=0
const char * text
Definition swell-functions.h:167
RECT const char void(* callback)(const char *droppath))) SWELL_API_DEFINE(BOOL
Definition swell-functions.h:1004
int n
Definition crypt.c:458
static ZCONST char Far None[]
Definition unzip.c:380
#define const
Definition zconf.h:137