LMMS
Loading...
Searching...
No Matches
juce_gui_basics.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
26
27/*******************************************************************************
28 The block below describes the properties of this module, and is read by
29 the Projucer to automatically generate project code that uses it.
30 For details about the syntax and how to create or use a module, see the
31 JUCE Module Format.md file.
32
33
34 BEGIN_JUCE_MODULE_DECLARATION
35
36 ID: juce_gui_basics
37 vendor: juce
38 version: 7.0.1
39 name: JUCE GUI core classes
40 description: Basic user-interface components and related classes.
41 website: http://www.juce.com/juce
42 license: GPL/Commercial
43 minimumCppStandard: 14
44
45 dependencies: juce_graphics juce_data_structures
46 OSXFrameworks: Cocoa QuartzCore
47 WeakOSXFrameworks: Metal MetalKit
48 iOSFrameworks: CoreServices UIKit
49 WeakiOSFrameworks: Metal MetalKit
50 mingwLibs: dxgi
51
52 END_JUCE_MODULE_DECLARATION
53
54*******************************************************************************/
55
56
57#pragma once
58#define JUCE_GUI_BASICS_H_INCLUDED
59
62
63//==============================================================================
69#ifndef JUCE_ENABLE_REPAINT_DEBUGGING
70 #define JUCE_ENABLE_REPAINT_DEBUGGING 0
71#endif
72
79#ifndef JUCE_USE_XRANDR
80 #define JUCE_USE_XRANDR 1
81#endif
82
90#ifndef JUCE_USE_XINERAMA
91 #define JUCE_USE_XINERAMA 1
92#endif
93
98#ifndef JUCE_USE_XSHM
99 #define JUCE_USE_XSHM 1
100#endif
101
105#ifndef JUCE_USE_XRENDER
106 #define JUCE_USE_XRENDER 0
107#endif
108
113#ifndef JUCE_USE_XCURSOR
114 #define JUCE_USE_XCURSOR 1
115#endif
116
120#ifndef JUCE_WIN_PER_MONITOR_DPI_AWARE
121 #define JUCE_WIN_PER_MONITOR_DPI_AWARE 1
122#endif
123
124//==============================================================================
125namespace juce
126{
127 class Component;
128 class LookAndFeel;
129 class MouseInputSource;
130 class MouseInputSourceInternal;
131 class ComponentPeer;
132 class MouseEvent;
133 struct MouseWheelDetails;
134 struct PenDetails;
135 class ToggleButton;
136 class TextButton;
137 class AlertWindow;
138 class TextLayout;
139 class ScrollBar;
140 class ComboBox;
141 class Button;
142 class FilenameComponent;
143 class ResizableWindow;
144 class MenuBarComponent;
145 class GlyphArrangement;
146 class TableHeaderComponent;
147 class Toolbar;
148 class PopupMenu;
149 class ProgressBar;
150 class FileBrowserComponent;
151 class DirectoryContentsDisplayComponent;
152 class FilePreviewComponent;
153 class CallOutBox;
154 class Drawable;
155 class DrawablePath;
156 class DrawableComposite;
157 class CaretComponent;
158 class KeyPressMappingSet;
159 class ApplicationCommandManagerListener;
160 class DrawableButton;
161 class Displays;
162 class AccessibilityHandler;
163 class KeyboardFocusTraverser;
164 class PointerState;
165
166 class FlexBox;
167 class Grid;
168 class FocusOutline;
169
170 #if JUCE_MAC || JUCE_WINDOWS || JUCE_LINUX
171 Image createSnapshotOfNativeWindow (void* nativeWindowHandle);
172 #endif
173}
174
189#include "desktop/juce_Desktop.h"
210#include "buttons/juce_Button.h"
233#include "layout/juce_Viewport.h"
234#include "menus/juce_PopupMenu.h"
252#include "widgets/juce_Label.h"
255#include "widgets/juce_ListBox.h"
257#include "widgets/juce_Slider.h"
260#include "widgets/juce_Toolbar.h"
320
321#if JUCE_LINUX || JUCE_BSD
322 #if JUCE_GUI_BASICS_INCLUDE_XHEADERS
323 // If you're missing these headers, you need to install the libx11-dev package
324 #include <X11/Xlib.h>
325 #include <X11/Xatom.h>
326 #include <X11/Xresource.h>
327 #include <X11/Xutil.h>
328 #include <X11/Xmd.h>
329 #include <X11/keysym.h>
330 #include <X11/XKBlib.h>
331 #include <X11/cursorfont.h>
332 #include <unistd.h>
333
334 #if JUCE_USE_XRANDR
335 // If you're missing this header, you need to install the libxrandr-dev package
336 #include <X11/extensions/Xrandr.h>
337 #endif
338
339 #if JUCE_USE_XINERAMA
340 // If you're missing this header, you need to install the libxinerama-dev package
341 #include <X11/extensions/Xinerama.h>
342 #endif
343
344 #if JUCE_USE_XSHM
345 #include <X11/extensions/XShm.h>
346 #include <sys/shm.h>
347 #include <sys/ipc.h>
348 #endif
349
350 #if JUCE_USE_XRENDER
351 // If you're missing these headers, you need to install the libxrender-dev and libxcomposite-dev packages
352 #include <X11/extensions/Xrender.h>
353 #include <X11/extensions/Xcomposite.h>
354 #endif
355
356 #if JUCE_USE_XCURSOR
357 // If you're missing this header, you need to install the libxcursor-dev package
358 #include <X11/Xcursor/Xcursor.h>
359 #endif
360
361 #undef SIZEOF
362 #undef KeyPress
363
366 #endif
367#endif
368
369#if JUCE_GUI_BASICS_INCLUDE_SCOPED_THREAD_DPI_AWARENESS_SETTER && JUCE_WINDOWS
371#endif
372
373#include "layout/juce_FlexItem.h"
374#include "layout/juce_FlexBox.h"
375
376#include "layout/juce_GridItem.h"
377#include "layout/juce_Grid.h"
Definition carla_juce.cpp:31