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.6KB

9 years ago
8 years ago
8 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259
  1. /*
  2. ==============================================================================
  3. This file is part of the JUCE library.
  4. Copyright (c) 2015 - ROLI 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_XRANDR: Enables Xrandr multi-monitor support (Linux only).
  31. Unless you specifically want to disable this, it's best to leave this option turned on.
  32. Note that your users do not need to have Xrandr installed for your JUCE app to run, as
  33. the availability of Xrandr is queried during runtime.
  34. */
  35. #ifndef JUCE_USE_XRANDR
  36. #define JUCE_USE_XRANDR 1
  37. #endif
  38. /** JUCE_USE_XINERAMA: Enables Xinerama multi-monitor support (Linux only).
  39. Unless you specifically want to disable this, it's best to leave this option turned on.
  40. This will be used as a fallback if JUCE_USE_XRANDR not set or libxrandr cannot be found.
  41. Note that your users do not need to have Xrandr installed for your JUCE app to run, as
  42. the availability of Xinerama is queried during runtime.
  43. */
  44. #ifndef JUCE_USE_XINERAMA
  45. #define JUCE_USE_XINERAMA 1
  46. #endif
  47. /** Config: JUCE_USE_XSHM
  48. Enables X shared memory for faster rendering on Linux. This is best left turned on
  49. unless you have a good reason to disable it.
  50. */
  51. #ifndef JUCE_USE_XSHM
  52. #define JUCE_USE_XSHM 1
  53. #endif
  54. /** Config: JUCE_USE_XRENDER
  55. Enables XRender to allow semi-transparent windowing on Linux.
  56. */
  57. #ifndef JUCE_USE_XRENDER
  58. #define JUCE_USE_XRENDER 0
  59. #endif
  60. /** Config: JUCE_USE_XCURSOR
  61. Uses XCursor to allow ARGB cursor on Linux. This is best left turned on unless you have
  62. a good reason to disable it.
  63. */
  64. #ifndef JUCE_USE_XCURSOR
  65. #define JUCE_USE_XCURSOR 1
  66. #endif
  67. //==============================================================================
  68. namespace juce
  69. {
  70. class Component;
  71. class LookAndFeel;
  72. class MouseInputSource;
  73. class MouseInputSourceInternal;
  74. class ComponentPeer;
  75. class MarkerList;
  76. class RelativeRectangle;
  77. class MouseEvent;
  78. struct MouseWheelDetails;
  79. class ToggleButton;
  80. class TextButton;
  81. class AlertWindow;
  82. class TextLayout;
  83. class ScrollBar;
  84. class ComboBox;
  85. class Button;
  86. class FilenameComponent;
  87. class DocumentWindow;
  88. class ResizableWindow;
  89. class GroupComponent;
  90. class MenuBarComponent;
  91. class DropShadower;
  92. class GlyphArrangement;
  93. class PropertyComponent;
  94. class TableHeaderComponent;
  95. class Toolbar;
  96. class ToolbarItemComponent;
  97. class PopupMenu;
  98. class ProgressBar;
  99. class FileBrowserComponent;
  100. class DirectoryContentsDisplayComponent;
  101. class FilePreviewComponent;
  102. class ImageButton;
  103. class CallOutBox;
  104. class Drawable;
  105. class DrawablePath;
  106. class DrawableComposite;
  107. class CaretComponent;
  108. class BubbleComponent;
  109. class KeyPressMappingSet;
  110. class ApplicationCommandManagerListener;
  111. class DrawableButton;
  112. #include "mouse/juce_MouseCursor.h"
  113. #include "mouse/juce_MouseListener.h"
  114. #include "keyboard/juce_ModifierKeys.h"
  115. #include "mouse/juce_MouseInputSource.h"
  116. #include "mouse/juce_MouseEvent.h"
  117. #include "keyboard/juce_KeyPress.h"
  118. #include "keyboard/juce_KeyListener.h"
  119. #include "keyboard/juce_KeyboardFocusTraverser.h"
  120. #include "components/juce_ModalComponentManager.h"
  121. #include "components/juce_ComponentListener.h"
  122. #include "components/juce_CachedComponentImage.h"
  123. #include "components/juce_Component.h"
  124. #include "layout/juce_ComponentAnimator.h"
  125. #include "components/juce_Desktop.h"
  126. #include "layout/juce_ComponentBoundsConstrainer.h"
  127. #include "mouse/juce_ComponentDragger.h"
  128. #include "mouse/juce_DragAndDropTarget.h"
  129. #include "mouse/juce_DragAndDropContainer.h"
  130. #include "mouse/juce_FileDragAndDropTarget.h"
  131. #include "mouse/juce_SelectedItemSet.h"
  132. #include "mouse/juce_LassoComponent.h"
  133. #include "mouse/juce_MouseInactivityDetector.h"
  134. #include "mouse/juce_TextDragAndDropTarget.h"
  135. #include "mouse/juce_TooltipClient.h"
  136. #include "keyboard/juce_CaretComponent.h"
  137. #include "keyboard/juce_SystemClipboard.h"
  138. #include "keyboard/juce_TextEditorKeyMapper.h"
  139. #include "keyboard/juce_TextInputTarget.h"
  140. #include "commands/juce_ApplicationCommandID.h"
  141. #include "commands/juce_ApplicationCommandInfo.h"
  142. #include "commands/juce_ApplicationCommandTarget.h"
  143. #include "commands/juce_ApplicationCommandManager.h"
  144. #include "commands/juce_KeyPressMappingSet.h"
  145. #include "buttons/juce_Button.h"
  146. #include "buttons/juce_ArrowButton.h"
  147. #include "buttons/juce_DrawableButton.h"
  148. #include "buttons/juce_HyperlinkButton.h"
  149. #include "buttons/juce_ImageButton.h"
  150. #include "buttons/juce_ShapeButton.h"
  151. #include "buttons/juce_TextButton.h"
  152. #include "buttons/juce_ToggleButton.h"
  153. #include "layout/juce_AnimatedPosition.h"
  154. #include "layout/juce_AnimatedPositionBehaviours.h"
  155. #include "layout/juce_ComponentBuilder.h"
  156. #include "layout/juce_ComponentMovementWatcher.h"
  157. #include "layout/juce_ConcertinaPanel.h"
  158. #include "layout/juce_GroupComponent.h"
  159. #include "layout/juce_ResizableBorderComponent.h"
  160. #include "layout/juce_ResizableCornerComponent.h"
  161. #include "layout/juce_ResizableEdgeComponent.h"
  162. #include "layout/juce_ScrollBar.h"
  163. #include "layout/juce_StretchableLayoutManager.h"
  164. #include "layout/juce_StretchableLayoutResizerBar.h"
  165. #include "layout/juce_StretchableObjectResizer.h"
  166. #include "layout/juce_TabbedButtonBar.h"
  167. #include "layout/juce_TabbedComponent.h"
  168. #include "layout/juce_Viewport.h"
  169. #include "menus/juce_PopupMenu.h"
  170. #include "menus/juce_MenuBarModel.h"
  171. #include "menus/juce_MenuBarComponent.h"
  172. #include "positioning/juce_RelativeCoordinate.h"
  173. #include "positioning/juce_MarkerList.h"
  174. #include "positioning/juce_RelativePoint.h"
  175. #include "positioning/juce_RelativeRectangle.h"
  176. #include "positioning/juce_RelativeCoordinatePositioner.h"
  177. #include "positioning/juce_RelativeParallelogram.h"
  178. #include "positioning/juce_RelativePointPath.h"
  179. #include "drawables/juce_Drawable.h"
  180. #include "drawables/juce_DrawableShape.h"
  181. #include "drawables/juce_DrawableComposite.h"
  182. #include "drawables/juce_DrawableImage.h"
  183. #include "drawables/juce_DrawablePath.h"
  184. #include "drawables/juce_DrawableRectangle.h"
  185. #include "drawables/juce_DrawableText.h"
  186. #include "widgets/juce_TextEditor.h"
  187. #include "widgets/juce_Label.h"
  188. #include "widgets/juce_ComboBox.h"
  189. #include "widgets/juce_ImageComponent.h"
  190. #include "widgets/juce_ListBox.h"
  191. #include "widgets/juce_ProgressBar.h"
  192. #include "widgets/juce_Slider.h"
  193. #include "widgets/juce_TableHeaderComponent.h"
  194. #include "widgets/juce_TableListBox.h"
  195. #include "widgets/juce_Toolbar.h"
  196. #include "widgets/juce_ToolbarItemComponent.h"
  197. #include "widgets/juce_ToolbarItemFactory.h"
  198. #include "widgets/juce_ToolbarItemPalette.h"
  199. #include "buttons/juce_ToolbarButton.h"
  200. #include "misc/juce_DropShadower.h"
  201. #include "widgets/juce_TreeView.h"
  202. #include "windows/juce_TopLevelWindow.h"
  203. #include "windows/juce_AlertWindow.h"
  204. #include "windows/juce_CallOutBox.h"
  205. #include "windows/juce_ComponentPeer.h"
  206. #include "windows/juce_ResizableWindow.h"
  207. #include "windows/juce_DocumentWindow.h"
  208. #include "windows/juce_DialogWindow.h"
  209. #include "windows/juce_NativeMessageBox.h"
  210. #include "windows/juce_ThreadWithProgressWindow.h"
  211. #include "windows/juce_TooltipWindow.h"
  212. #include "layout/juce_MultiDocumentPanel.h"
  213. #include "filebrowser/juce_FileBrowserListener.h"
  214. #include "filebrowser/juce_DirectoryContentsList.h"
  215. #include "filebrowser/juce_DirectoryContentsDisplayComponent.h"
  216. #include "filebrowser/juce_FileBrowserComponent.h"
  217. #include "filebrowser/juce_FileChooser.h"
  218. #include "filebrowser/juce_FileChooserDialogBox.h"
  219. #include "filebrowser/juce_FileListComponent.h"
  220. #include "filebrowser/juce_FilenameComponent.h"
  221. #include "filebrowser/juce_FilePreviewComponent.h"
  222. #include "filebrowser/juce_FileSearchPathListComponent.h"
  223. #include "filebrowser/juce_FileTreeComponent.h"
  224. #include "filebrowser/juce_ImagePreviewComponent.h"
  225. #include "properties/juce_PropertyComponent.h"
  226. #include "properties/juce_BooleanPropertyComponent.h"
  227. #include "properties/juce_ButtonPropertyComponent.h"
  228. #include "properties/juce_ChoicePropertyComponent.h"
  229. #include "properties/juce_PropertyPanel.h"
  230. #include "properties/juce_SliderPropertyComponent.h"
  231. #include "properties/juce_TextPropertyComponent.h"
  232. #include "application/juce_Application.h"
  233. #include "misc/juce_BubbleComponent.h"
  234. #include "lookandfeel/juce_LookAndFeel.h"
  235. #include "lookandfeel/juce_LookAndFeel_V2.h"
  236. #include "lookandfeel/juce_LookAndFeel_V1.h"
  237. #include "lookandfeel/juce_LookAndFeel_V3.h"
  238. }
  239. #endif // JUCE_GUI_BASICS_H_INCLUDED