Audio plugin host https://kx.studio/carla
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

juce_gui_basics.h 9.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249
  1. /*
  2. ==============================================================================
  3. This file is part of the JUCE library.
  4. Copyright (c) 2013 - Raw Material Software Ltd.
  5. Permission is granted to use this software under the terms of either:
  6. a) the GPL v2 (or any later version)
  7. b) the Affero GPL v3
  8. Details of these licenses can be found at: www.gnu.org/licenses
  9. JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
  10. WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
  11. A PARTICULAR PURPOSE. See the GNU General Public License for more details.
  12. ------------------------------------------------------------------------------
  13. To release a closed-source product which uses JUCE, commercial licenses are
  14. available: visit www.juce.com for more information.
  15. ==============================================================================
  16. */
  17. #ifndef JUCE_GUI_BASICS_H_INCLUDED
  18. #define JUCE_GUI_BASICS_H_INCLUDED
  19. #include "../juce_graphics/juce_graphics.h"
  20. #include "../juce_data_structures/juce_data_structures.h"
  21. //=============================================================================
  22. /** Config: JUCE_ENABLE_REPAINT_DEBUGGING
  23. If this option is turned on, each area of the screen that gets repainted will
  24. flash in a random colour, so that you can see exactly which bits of your
  25. components are being drawn.
  26. */
  27. #ifndef JUCE_ENABLE_REPAINT_DEBUGGING
  28. #define JUCE_ENABLE_REPAINT_DEBUGGING 0
  29. #endif
  30. /** JUCE_USE_XINERAMA: Enables Xinerama multi-monitor support (Linux only).
  31. Unless you specifically want to disable this, it's best to leave this option turned on.
  32. */
  33. #ifndef JUCE_USE_XINERAMA
  34. #define JUCE_USE_XINERAMA 1
  35. #endif
  36. /** Config: JUCE_USE_XSHM
  37. Enables X shared memory for faster rendering on Linux. This is best left turned on
  38. unless you have a good reason to disable it.
  39. */
  40. #ifndef JUCE_USE_XSHM
  41. #define JUCE_USE_XSHM 1
  42. #endif
  43. /** Config: JUCE_USE_XRENDER
  44. Enables XRender to allow semi-transparent windowing on Linux.
  45. */
  46. #ifndef JUCE_USE_XRENDER
  47. #define JUCE_USE_XRENDER 0
  48. #endif
  49. /** Config: JUCE_USE_XCURSOR
  50. Uses XCursor to allow ARGB cursor on Linux. This is best left turned on unless you have
  51. a good reason to disable it.
  52. */
  53. #ifndef JUCE_USE_XCURSOR
  54. #define JUCE_USE_XCURSOR 1
  55. #endif
  56. //=============================================================================
  57. namespace juce
  58. {
  59. class Component;
  60. class LookAndFeel;
  61. class MouseInputSource;
  62. class MouseInputSourceInternal;
  63. class ComponentPeer;
  64. class MarkerList;
  65. class RelativeRectangle;
  66. class MouseEvent;
  67. struct MouseWheelDetails;
  68. class ToggleButton;
  69. class TextButton;
  70. class AlertWindow;
  71. class TextLayout;
  72. class ScrollBar;
  73. class ComboBox;
  74. class Button;
  75. class FilenameComponent;
  76. class DocumentWindow;
  77. class ResizableWindow;
  78. class GroupComponent;
  79. class MenuBarComponent;
  80. class DropShadower;
  81. class GlyphArrangement;
  82. class PropertyComponent;
  83. class TableHeaderComponent;
  84. class Toolbar;
  85. class ToolbarItemComponent;
  86. class PopupMenu;
  87. class ProgressBar;
  88. class FileBrowserComponent;
  89. class DirectoryContentsDisplayComponent;
  90. class FilePreviewComponent;
  91. class ImageButton;
  92. class CallOutBox;
  93. class Drawable;
  94. class DrawablePath;
  95. class DrawableComposite;
  96. class CaretComponent;
  97. class BubbleComponent;
  98. class KeyPressMappingSet;
  99. class ApplicationCommandManagerListener;
  100. class DrawableButton;
  101. #include "mouse/juce_MouseCursor.h"
  102. #include "mouse/juce_MouseListener.h"
  103. #include "keyboard/juce_ModifierKeys.h"
  104. #include "mouse/juce_MouseInputSource.h"
  105. #include "mouse/juce_MouseEvent.h"
  106. #include "keyboard/juce_KeyPress.h"
  107. #include "keyboard/juce_KeyListener.h"
  108. #include "keyboard/juce_KeyboardFocusTraverser.h"
  109. #include "components/juce_ModalComponentManager.h"
  110. #include "components/juce_ComponentListener.h"
  111. #include "components/juce_CachedComponentImage.h"
  112. #include "components/juce_Component.h"
  113. #include "layout/juce_ComponentAnimator.h"
  114. #include "components/juce_Desktop.h"
  115. #include "layout/juce_ComponentBoundsConstrainer.h"
  116. #include "mouse/juce_ComponentDragger.h"
  117. #include "mouse/juce_DragAndDropTarget.h"
  118. #include "mouse/juce_DragAndDropContainer.h"
  119. #include "mouse/juce_FileDragAndDropTarget.h"
  120. #include "mouse/juce_SelectedItemSet.h"
  121. #include "mouse/juce_LassoComponent.h"
  122. #include "mouse/juce_MouseInactivityDetector.h"
  123. #include "mouse/juce_TextDragAndDropTarget.h"
  124. #include "mouse/juce_TooltipClient.h"
  125. #include "keyboard/juce_CaretComponent.h"
  126. #include "keyboard/juce_SystemClipboard.h"
  127. #include "keyboard/juce_TextEditorKeyMapper.h"
  128. #include "keyboard/juce_TextInputTarget.h"
  129. #include "commands/juce_ApplicationCommandID.h"
  130. #include "commands/juce_ApplicationCommandInfo.h"
  131. #include "commands/juce_ApplicationCommandTarget.h"
  132. #include "commands/juce_ApplicationCommandManager.h"
  133. #include "commands/juce_KeyPressMappingSet.h"
  134. #include "buttons/juce_Button.h"
  135. #include "buttons/juce_ArrowButton.h"
  136. #include "buttons/juce_DrawableButton.h"
  137. #include "buttons/juce_HyperlinkButton.h"
  138. #include "buttons/juce_ImageButton.h"
  139. #include "buttons/juce_ShapeButton.h"
  140. #include "buttons/juce_TextButton.h"
  141. #include "buttons/juce_ToggleButton.h"
  142. #include "layout/juce_AnimatedPosition.h"
  143. #include "layout/juce_AnimatedPositionBehaviours.h"
  144. #include "layout/juce_ComponentBuilder.h"
  145. #include "layout/juce_ComponentMovementWatcher.h"
  146. #include "layout/juce_ConcertinaPanel.h"
  147. #include "layout/juce_GroupComponent.h"
  148. #include "layout/juce_ResizableBorderComponent.h"
  149. #include "layout/juce_ResizableCornerComponent.h"
  150. #include "layout/juce_ResizableEdgeComponent.h"
  151. #include "layout/juce_ScrollBar.h"
  152. #include "layout/juce_StretchableLayoutManager.h"
  153. #include "layout/juce_StretchableLayoutResizerBar.h"
  154. #include "layout/juce_StretchableObjectResizer.h"
  155. #include "layout/juce_TabbedButtonBar.h"
  156. #include "layout/juce_TabbedComponent.h"
  157. #include "layout/juce_Viewport.h"
  158. #include "menus/juce_PopupMenu.h"
  159. #include "menus/juce_MenuBarModel.h"
  160. #include "menus/juce_MenuBarComponent.h"
  161. #include "positioning/juce_RelativeCoordinate.h"
  162. #include "positioning/juce_MarkerList.h"
  163. #include "positioning/juce_RelativePoint.h"
  164. #include "positioning/juce_RelativeRectangle.h"
  165. #include "positioning/juce_RelativeCoordinatePositioner.h"
  166. #include "positioning/juce_RelativeParallelogram.h"
  167. #include "positioning/juce_RelativePointPath.h"
  168. #include "drawables/juce_Drawable.h"
  169. #include "drawables/juce_DrawableShape.h"
  170. #include "drawables/juce_DrawableComposite.h"
  171. #include "drawables/juce_DrawableImage.h"
  172. #include "drawables/juce_DrawablePath.h"
  173. #include "drawables/juce_DrawableRectangle.h"
  174. #include "drawables/juce_DrawableText.h"
  175. #include "widgets/juce_TextEditor.h"
  176. #include "widgets/juce_Label.h"
  177. #include "widgets/juce_ComboBox.h"
  178. #include "widgets/juce_ImageComponent.h"
  179. #include "widgets/juce_ListBox.h"
  180. #include "widgets/juce_ProgressBar.h"
  181. #include "widgets/juce_Slider.h"
  182. #include "widgets/juce_TableHeaderComponent.h"
  183. #include "widgets/juce_TableListBox.h"
  184. #include "widgets/juce_Toolbar.h"
  185. #include "widgets/juce_ToolbarItemComponent.h"
  186. #include "widgets/juce_ToolbarItemFactory.h"
  187. #include "widgets/juce_ToolbarItemPalette.h"
  188. #include "buttons/juce_ToolbarButton.h"
  189. #include "misc/juce_DropShadower.h"
  190. #include "widgets/juce_TreeView.h"
  191. #include "windows/juce_TopLevelWindow.h"
  192. #include "windows/juce_AlertWindow.h"
  193. #include "windows/juce_CallOutBox.h"
  194. #include "windows/juce_ComponentPeer.h"
  195. #include "windows/juce_ResizableWindow.h"
  196. #include "windows/juce_DocumentWindow.h"
  197. #include "windows/juce_DialogWindow.h"
  198. #include "windows/juce_NativeMessageBox.h"
  199. #include "windows/juce_ThreadWithProgressWindow.h"
  200. #include "windows/juce_TooltipWindow.h"
  201. #include "layout/juce_MultiDocumentPanel.h"
  202. #include "filebrowser/juce_FileFilter.h"
  203. #include "filebrowser/juce_WildcardFileFilter.h"
  204. #include "filebrowser/juce_FileBrowserListener.h"
  205. #include "filebrowser/juce_DirectoryContentsList.h"
  206. #include "filebrowser/juce_DirectoryContentsDisplayComponent.h"
  207. #include "filebrowser/juce_FileBrowserComponent.h"
  208. #include "filebrowser/juce_FileChooser.h"
  209. #include "filebrowser/juce_FileChooserDialogBox.h"
  210. #include "filebrowser/juce_FileListComponent.h"
  211. #include "filebrowser/juce_FilenameComponent.h"
  212. #include "filebrowser/juce_FilePreviewComponent.h"
  213. #include "filebrowser/juce_FileSearchPathListComponent.h"
  214. #include "filebrowser/juce_FileTreeComponent.h"
  215. #include "filebrowser/juce_ImagePreviewComponent.h"
  216. #include "properties/juce_PropertyComponent.h"
  217. #include "properties/juce_BooleanPropertyComponent.h"
  218. #include "properties/juce_ButtonPropertyComponent.h"
  219. #include "properties/juce_ChoicePropertyComponent.h"
  220. #include "properties/juce_PropertyPanel.h"
  221. #include "properties/juce_SliderPropertyComponent.h"
  222. #include "properties/juce_TextPropertyComponent.h"
  223. #include "application/juce_Application.h"
  224. #include "misc/juce_BubbleComponent.h"
  225. #include "lookandfeel/juce_LookAndFeel.h"
  226. #include "lookandfeel/juce_LookAndFeel_V2.h"
  227. #include "lookandfeel/juce_LookAndFeel_V1.h"
  228. #include "lookandfeel/juce_LookAndFeel_V3.h"
  229. }
  230. #endif // JUCE_GUI_BASICS_H_INCLUDED