The JUCE cross-platform C++ framework, with DISTRHO/KXStudio specific changes
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.

453 lines
15KB

  1. /*
  2. ==============================================================================
  3. This file is part of the JUCE library - "Jules' Utility Class Extensions"
  4. Copyright 2004-11 by Raw Material Software Ltd.
  5. ------------------------------------------------------------------------------
  6. JUCE can be redistributed and/or modified under the terms of the GNU General
  7. Public License (Version 2), as published by the Free Software Foundation.
  8. A copy of the license is included in the JUCE distribution, or can be found
  9. online at www.gnu.org/licenses.
  10. JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
  11. WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
  12. A PARTICULAR PURPOSE. See the GNU General Public License for more details.
  13. ------------------------------------------------------------------------------
  14. To release a closed-source product which uses JUCE, commercial licenses are
  15. available: visit www.rawmaterialsoftware.com/juce for more information.
  16. ==============================================================================
  17. */
  18. #ifndef __JUCE_GUI_BASICS_JUCEHEADER__
  19. #define __JUCE_GUI_BASICS_JUCEHEADER__
  20. #include "../juce_graphics/juce_graphics.h"
  21. #include "../juce_data_structures/juce_data_structures.h"
  22. //=============================================================================
  23. /** Config: JUCE_ENABLE_REPAINT_DEBUGGING
  24. If this option is turned on, each area of the screen that gets repainted will
  25. flash in a random colour, so that you can see exactly which bits of your
  26. components are being drawn.
  27. */
  28. #ifndef JUCE_ENABLE_REPAINT_DEBUGGING
  29. #define JUCE_ENABLE_REPAINT_DEBUGGING 0
  30. #endif
  31. /** JUCE_USE_XINERAMA: Enables Xinerama multi-monitor support (Linux only).
  32. Unless you specifically want to disable this, it's best to leave this option turned on.
  33. */
  34. #ifndef JUCE_USE_XINERAMA
  35. #define JUCE_USE_XINERAMA 1
  36. #endif
  37. /** Config: JUCE_USE_XSHM
  38. Enables X shared memory for faster rendering on Linux. This is best left turned on
  39. unless you have a good reason to disable it.
  40. */
  41. #ifndef JUCE_USE_XSHM
  42. #define JUCE_USE_XSHM 1
  43. #endif
  44. /** Config: JUCE_USE_XRENDER
  45. Enables XRender to allow semi-transparent windowing on Linux.
  46. */
  47. #ifndef JUCE_USE_XRENDER
  48. #define JUCE_USE_XRENDER 0
  49. #endif
  50. /** Config: JUCE_USE_XCURSOR
  51. Uses XCursor to allow ARGB cursor on Linux. This is best left turned on unless you have
  52. a good reason to disable it.
  53. */
  54. #ifndef JUCE_USE_XCURSOR
  55. #define JUCE_USE_XCURSOR 1
  56. #endif
  57. //=============================================================================
  58. namespace juce
  59. {
  60. // START_AUTOINCLUDE components, mouse, keyboard, buttons, drawables,
  61. // filebrowser, layout, lookandfeel, menus, positioning, properties,
  62. // widgets, windows, commands, application, misc
  63. #ifndef __JUCE_CACHEDCOMPONENTIMAGE_JUCEHEADER__
  64. #include "components/juce_CachedComponentImage.h"
  65. #endif
  66. #ifndef __JUCE_COMPONENT_JUCEHEADER__
  67. #include "components/juce_Component.h"
  68. #endif
  69. #ifndef __JUCE_COMPONENTLISTENER_JUCEHEADER__
  70. #include "components/juce_ComponentListener.h"
  71. #endif
  72. #ifndef __JUCE_DESKTOP_JUCEHEADER__
  73. #include "components/juce_Desktop.h"
  74. #endif
  75. #ifndef __JUCE_MODALCOMPONENTMANAGER_JUCEHEADER__
  76. #include "components/juce_ModalComponentManager.h"
  77. #endif
  78. #ifndef __JUCE_COMPONENTDRAGGER_JUCEHEADER__
  79. #include "mouse/juce_ComponentDragger.h"
  80. #endif
  81. #ifndef __JUCE_DRAGANDDROPCONTAINER_JUCEHEADER__
  82. #include "mouse/juce_DragAndDropContainer.h"
  83. #endif
  84. #ifndef __JUCE_DRAGANDDROPTARGET_JUCEHEADER__
  85. #include "mouse/juce_DragAndDropTarget.h"
  86. #endif
  87. #ifndef __JUCE_FILEDRAGANDDROPTARGET_JUCEHEADER__
  88. #include "mouse/juce_FileDragAndDropTarget.h"
  89. #endif
  90. #ifndef __JUCE_LASSOCOMPONENT_JUCEHEADER__
  91. #include "mouse/juce_LassoComponent.h"
  92. #endif
  93. #ifndef __JUCE_MOUSECURSOR_JUCEHEADER__
  94. #include "mouse/juce_MouseCursor.h"
  95. #endif
  96. #ifndef __JUCE_MOUSEEVENT_JUCEHEADER__
  97. #include "mouse/juce_MouseEvent.h"
  98. #endif
  99. #ifndef __JUCE_MOUSEINPUTSOURCE_JUCEHEADER__
  100. #include "mouse/juce_MouseInputSource.h"
  101. #endif
  102. #ifndef __JUCE_MOUSELISTENER_JUCEHEADER__
  103. #include "mouse/juce_MouseListener.h"
  104. #endif
  105. #ifndef __JUCE_SELECTEDITEMSET_JUCEHEADER__
  106. #include "mouse/juce_SelectedItemSet.h"
  107. #endif
  108. #ifndef __JUCE_TEXTDRAGANDDROPTARGET_JUCEHEADER__
  109. #include "mouse/juce_TextDragAndDropTarget.h"
  110. #endif
  111. #ifndef __JUCE_TOOLTIPCLIENT_JUCEHEADER__
  112. #include "mouse/juce_TooltipClient.h"
  113. #endif
  114. #ifndef __JUCE_CARETCOMPONENT_JUCEHEADER__
  115. #include "keyboard/juce_CaretComponent.h"
  116. #endif
  117. #ifndef __JUCE_KEYBOARDFOCUSTRAVERSER_JUCEHEADER__
  118. #include "keyboard/juce_KeyboardFocusTraverser.h"
  119. #endif
  120. #ifndef __JUCE_KEYLISTENER_JUCEHEADER__
  121. #include "keyboard/juce_KeyListener.h"
  122. #endif
  123. #ifndef __JUCE_KEYPRESS_JUCEHEADER__
  124. #include "keyboard/juce_KeyPress.h"
  125. #endif
  126. #ifndef __JUCE_MODIFIERKEYS_JUCEHEADER__
  127. #include "keyboard/juce_ModifierKeys.h"
  128. #endif
  129. #ifndef __JUCE_SYSTEMCLIPBOARD_JUCEHEADER__
  130. #include "keyboard/juce_SystemClipboard.h"
  131. #endif
  132. #ifndef __JUCE_TEXTEDITORKEYMAPPER_JUCEHEADER__
  133. #include "keyboard/juce_TextEditorKeyMapper.h"
  134. #endif
  135. #ifndef __JUCE_TEXTINPUTTARGET_JUCEHEADER__
  136. #include "keyboard/juce_TextInputTarget.h"
  137. #endif
  138. #ifndef __JUCE_ARROWBUTTON_JUCEHEADER__
  139. #include "buttons/juce_ArrowButton.h"
  140. #endif
  141. #ifndef __JUCE_BUTTON_JUCEHEADER__
  142. #include "buttons/juce_Button.h"
  143. #endif
  144. #ifndef __JUCE_DRAWABLEBUTTON_JUCEHEADER__
  145. #include "buttons/juce_DrawableButton.h"
  146. #endif
  147. #ifndef __JUCE_HYPERLINKBUTTON_JUCEHEADER__
  148. #include "buttons/juce_HyperlinkButton.h"
  149. #endif
  150. #ifndef __JUCE_IMAGEBUTTON_JUCEHEADER__
  151. #include "buttons/juce_ImageButton.h"
  152. #endif
  153. #ifndef __JUCE_SHAPEBUTTON_JUCEHEADER__
  154. #include "buttons/juce_ShapeButton.h"
  155. #endif
  156. #ifndef __JUCE_TEXTBUTTON_JUCEHEADER__
  157. #include "buttons/juce_TextButton.h"
  158. #endif
  159. #ifndef __JUCE_TOGGLEBUTTON_JUCEHEADER__
  160. #include "buttons/juce_ToggleButton.h"
  161. #endif
  162. #ifndef __JUCE_TOOLBARBUTTON_JUCEHEADER__
  163. #include "buttons/juce_ToolbarButton.h"
  164. #endif
  165. #ifndef __JUCE_DRAWABLE_JUCEHEADER__
  166. #include "drawables/juce_Drawable.h"
  167. #endif
  168. #ifndef __JUCE_DRAWABLECOMPOSITE_JUCEHEADER__
  169. #include "drawables/juce_DrawableComposite.h"
  170. #endif
  171. #ifndef __JUCE_DRAWABLEIMAGE_JUCEHEADER__
  172. #include "drawables/juce_DrawableImage.h"
  173. #endif
  174. #ifndef __JUCE_DRAWABLEPATH_JUCEHEADER__
  175. #include "drawables/juce_DrawablePath.h"
  176. #endif
  177. #ifndef __JUCE_DRAWABLERECTANGLE_JUCEHEADER__
  178. #include "drawables/juce_DrawableRectangle.h"
  179. #endif
  180. #ifndef __JUCE_DRAWABLESHAPE_JUCEHEADER__
  181. #include "drawables/juce_DrawableShape.h"
  182. #endif
  183. #ifndef __JUCE_DRAWABLETEXT_JUCEHEADER__
  184. #include "drawables/juce_DrawableText.h"
  185. #endif
  186. #ifndef __JUCE_DIRECTORYCONTENTSDISPLAYCOMPONENT_JUCEHEADER__
  187. #include "filebrowser/juce_DirectoryContentsDisplayComponent.h"
  188. #endif
  189. #ifndef __JUCE_DIRECTORYCONTENTSLIST_JUCEHEADER__
  190. #include "filebrowser/juce_DirectoryContentsList.h"
  191. #endif
  192. #ifndef __JUCE_FILEBROWSERCOMPONENT_JUCEHEADER__
  193. #include "filebrowser/juce_FileBrowserComponent.h"
  194. #endif
  195. #ifndef __JUCE_FILEBROWSERLISTENER_JUCEHEADER__
  196. #include "filebrowser/juce_FileBrowserListener.h"
  197. #endif
  198. #ifndef __JUCE_FILECHOOSER_JUCEHEADER__
  199. #include "filebrowser/juce_FileChooser.h"
  200. #endif
  201. #ifndef __JUCE_FILECHOOSERDIALOGBOX_JUCEHEADER__
  202. #include "filebrowser/juce_FileChooserDialogBox.h"
  203. #endif
  204. #ifndef __JUCE_FILEFILTER_JUCEHEADER__
  205. #include "filebrowser/juce_FileFilter.h"
  206. #endif
  207. #ifndef __JUCE_FILELISTCOMPONENT_JUCEHEADER__
  208. #include "filebrowser/juce_FileListComponent.h"
  209. #endif
  210. #ifndef __JUCE_FILENAMECOMPONENT_JUCEHEADER__
  211. #include "filebrowser/juce_FilenameComponent.h"
  212. #endif
  213. #ifndef __JUCE_FILEPREVIEWCOMPONENT_JUCEHEADER__
  214. #include "filebrowser/juce_FilePreviewComponent.h"
  215. #endif
  216. #ifndef __JUCE_FILESEARCHPATHLISTCOMPONENT_JUCEHEADER__
  217. #include "filebrowser/juce_FileSearchPathListComponent.h"
  218. #endif
  219. #ifndef __JUCE_FILETREECOMPONENT_JUCEHEADER__
  220. #include "filebrowser/juce_FileTreeComponent.h"
  221. #endif
  222. #ifndef __JUCE_IMAGEPREVIEWCOMPONENT_JUCEHEADER__
  223. #include "filebrowser/juce_ImagePreviewComponent.h"
  224. #endif
  225. #ifndef __JUCE_WILDCARDFILEFILTER_JUCEHEADER__
  226. #include "filebrowser/juce_WildcardFileFilter.h"
  227. #endif
  228. #ifndef __JUCE_COMPONENTANIMATOR_JUCEHEADER__
  229. #include "layout/juce_ComponentAnimator.h"
  230. #endif
  231. #ifndef __JUCE_COMPONENTBOUNDSCONSTRAINER_JUCEHEADER__
  232. #include "layout/juce_ComponentBoundsConstrainer.h"
  233. #endif
  234. #ifndef __JUCE_COMPONENTBUILDER_JUCEHEADER__
  235. #include "layout/juce_ComponentBuilder.h"
  236. #endif
  237. #ifndef __JUCE_COMPONENTMOVEMENTWATCHER_JUCEHEADER__
  238. #include "layout/juce_ComponentMovementWatcher.h"
  239. #endif
  240. #ifndef __JUCE_CONCERTINAPANEL_JUCEHEADER__
  241. #include "layout/juce_ConcertinaPanel.h"
  242. #endif
  243. #ifndef __JUCE_GROUPCOMPONENT_JUCEHEADER__
  244. #include "layout/juce_GroupComponent.h"
  245. #endif
  246. #ifndef __JUCE_MULTIDOCUMENTPANEL_JUCEHEADER__
  247. #include "layout/juce_MultiDocumentPanel.h"
  248. #endif
  249. #ifndef __JUCE_RESIZABLEBORDERCOMPONENT_JUCEHEADER__
  250. #include "layout/juce_ResizableBorderComponent.h"
  251. #endif
  252. #ifndef __JUCE_RESIZABLECORNERCOMPONENT_JUCEHEADER__
  253. #include "layout/juce_ResizableCornerComponent.h"
  254. #endif
  255. #ifndef __JUCE_RESIZABLEEDGECOMPONENT_JUCEHEADER__
  256. #include "layout/juce_ResizableEdgeComponent.h"
  257. #endif
  258. #ifndef __JUCE_SCROLLBAR_JUCEHEADER__
  259. #include "layout/juce_ScrollBar.h"
  260. #endif
  261. #ifndef __JUCE_STRETCHABLELAYOUTMANAGER_JUCEHEADER__
  262. #include "layout/juce_StretchableLayoutManager.h"
  263. #endif
  264. #ifndef __JUCE_STRETCHABLELAYOUTRESIZERBAR_JUCEHEADER__
  265. #include "layout/juce_StretchableLayoutResizerBar.h"
  266. #endif
  267. #ifndef __JUCE_STRETCHABLEOBJECTRESIZER_JUCEHEADER__
  268. #include "layout/juce_StretchableObjectResizer.h"
  269. #endif
  270. #ifndef __JUCE_TABBEDBUTTONBAR_JUCEHEADER__
  271. #include "layout/juce_TabbedButtonBar.h"
  272. #endif
  273. #ifndef __JUCE_TABBEDCOMPONENT_JUCEHEADER__
  274. #include "layout/juce_TabbedComponent.h"
  275. #endif
  276. #ifndef __JUCE_VIEWPORT_JUCEHEADER__
  277. #include "layout/juce_Viewport.h"
  278. #endif
  279. #ifndef __JUCE_LOOKANDFEEL_JUCEHEADER__
  280. #include "lookandfeel/juce_LookAndFeel.h"
  281. #endif
  282. #ifndef __JUCE_MENUBARCOMPONENT_JUCEHEADER__
  283. #include "menus/juce_MenuBarComponent.h"
  284. #endif
  285. #ifndef __JUCE_MENUBARMODEL_JUCEHEADER__
  286. #include "menus/juce_MenuBarModel.h"
  287. #endif
  288. #ifndef __JUCE_POPUPMENU_JUCEHEADER__
  289. #include "menus/juce_PopupMenu.h"
  290. #endif
  291. #ifndef __JUCE_MARKERLIST_JUCEHEADER__
  292. #include "positioning/juce_MarkerList.h"
  293. #endif
  294. #ifndef __JUCE_RELATIVECOORDINATE_JUCEHEADER__
  295. #include "positioning/juce_RelativeCoordinate.h"
  296. #endif
  297. #ifndef __JUCE_RELATIVECOORDINATEPOSITIONER_JUCEHEADER__
  298. #include "positioning/juce_RelativeCoordinatePositioner.h"
  299. #endif
  300. #ifndef __JUCE_RELATIVEPARALLELOGRAM_JUCEHEADER__
  301. #include "positioning/juce_RelativeParallelogram.h"
  302. #endif
  303. #ifndef __JUCE_RELATIVEPOINT_JUCEHEADER__
  304. #include "positioning/juce_RelativePoint.h"
  305. #endif
  306. #ifndef __JUCE_RELATIVEPOINTPATH_JUCEHEADER__
  307. #include "positioning/juce_RelativePointPath.h"
  308. #endif
  309. #ifndef __JUCE_RELATIVERECTANGLE_JUCEHEADER__
  310. #include "positioning/juce_RelativeRectangle.h"
  311. #endif
  312. #ifndef __JUCE_BOOLEANPROPERTYCOMPONENT_JUCEHEADER__
  313. #include "properties/juce_BooleanPropertyComponent.h"
  314. #endif
  315. #ifndef __JUCE_BUTTONPROPERTYCOMPONENT_JUCEHEADER__
  316. #include "properties/juce_ButtonPropertyComponent.h"
  317. #endif
  318. #ifndef __JUCE_CHOICEPROPERTYCOMPONENT_JUCEHEADER__
  319. #include "properties/juce_ChoicePropertyComponent.h"
  320. #endif
  321. #ifndef __JUCE_PROPERTYCOMPONENT_JUCEHEADER__
  322. #include "properties/juce_PropertyComponent.h"
  323. #endif
  324. #ifndef __JUCE_PROPERTYPANEL_JUCEHEADER__
  325. #include "properties/juce_PropertyPanel.h"
  326. #endif
  327. #ifndef __JUCE_SLIDERPROPERTYCOMPONENT_JUCEHEADER__
  328. #include "properties/juce_SliderPropertyComponent.h"
  329. #endif
  330. #ifndef __JUCE_TEXTPROPERTYCOMPONENT_JUCEHEADER__
  331. #include "properties/juce_TextPropertyComponent.h"
  332. #endif
  333. #ifndef __JUCE_COMBOBOX_JUCEHEADER__
  334. #include "widgets/juce_ComboBox.h"
  335. #endif
  336. #ifndef __JUCE_IMAGECOMPONENT_JUCEHEADER__
  337. #include "widgets/juce_ImageComponent.h"
  338. #endif
  339. #ifndef __JUCE_LABEL_JUCEHEADER__
  340. #include "widgets/juce_Label.h"
  341. #endif
  342. #ifndef __JUCE_LISTBOX_JUCEHEADER__
  343. #include "widgets/juce_ListBox.h"
  344. #endif
  345. #ifndef __JUCE_PROGRESSBAR_JUCEHEADER__
  346. #include "widgets/juce_ProgressBar.h"
  347. #endif
  348. #ifndef __JUCE_SLIDER_JUCEHEADER__
  349. #include "widgets/juce_Slider.h"
  350. #endif
  351. #ifndef __JUCE_TABLEHEADERCOMPONENT_JUCEHEADER__
  352. #include "widgets/juce_TableHeaderComponent.h"
  353. #endif
  354. #ifndef __JUCE_TABLELISTBOX_JUCEHEADER__
  355. #include "widgets/juce_TableListBox.h"
  356. #endif
  357. #ifndef __JUCE_TEXTEDITOR_JUCEHEADER__
  358. #include "widgets/juce_TextEditor.h"
  359. #endif
  360. #ifndef __JUCE_TOOLBAR_JUCEHEADER__
  361. #include "widgets/juce_Toolbar.h"
  362. #endif
  363. #ifndef __JUCE_TOOLBARITEMCOMPONENT_JUCEHEADER__
  364. #include "widgets/juce_ToolbarItemComponent.h"
  365. #endif
  366. #ifndef __JUCE_TOOLBARITEMFACTORY_JUCEHEADER__
  367. #include "widgets/juce_ToolbarItemFactory.h"
  368. #endif
  369. #ifndef __JUCE_TOOLBARITEMPALETTE_JUCEHEADER__
  370. #include "widgets/juce_ToolbarItemPalette.h"
  371. #endif
  372. #ifndef __JUCE_TREEVIEW_JUCEHEADER__
  373. #include "widgets/juce_TreeView.h"
  374. #endif
  375. #ifndef __JUCE_ALERTWINDOW_JUCEHEADER__
  376. #include "windows/juce_AlertWindow.h"
  377. #endif
  378. #ifndef __JUCE_CALLOUTBOX_JUCEHEADER__
  379. #include "windows/juce_CallOutBox.h"
  380. #endif
  381. #ifndef __JUCE_COMPONENTPEER_JUCEHEADER__
  382. #include "windows/juce_ComponentPeer.h"
  383. #endif
  384. #ifndef __JUCE_DIALOGWINDOW_JUCEHEADER__
  385. #include "windows/juce_DialogWindow.h"
  386. #endif
  387. #ifndef __JUCE_DOCUMENTWINDOW_JUCEHEADER__
  388. #include "windows/juce_DocumentWindow.h"
  389. #endif
  390. #ifndef __JUCE_NATIVEMESSAGEBOX_JUCEHEADER__
  391. #include "windows/juce_NativeMessageBox.h"
  392. #endif
  393. #ifndef __JUCE_RESIZABLEWINDOW_JUCEHEADER__
  394. #include "windows/juce_ResizableWindow.h"
  395. #endif
  396. #ifndef __JUCE_THREADWITHPROGRESSWINDOW_JUCEHEADER__
  397. #include "windows/juce_ThreadWithProgressWindow.h"
  398. #endif
  399. #ifndef __JUCE_TOOLTIPWINDOW_JUCEHEADER__
  400. #include "windows/juce_TooltipWindow.h"
  401. #endif
  402. #ifndef __JUCE_TOPLEVELWINDOW_JUCEHEADER__
  403. #include "windows/juce_TopLevelWindow.h"
  404. #endif
  405. #ifndef __JUCE_APPLICATIONCOMMANDID_JUCEHEADER__
  406. #include "commands/juce_ApplicationCommandID.h"
  407. #endif
  408. #ifndef __JUCE_APPLICATIONCOMMANDINFO_JUCEHEADER__
  409. #include "commands/juce_ApplicationCommandInfo.h"
  410. #endif
  411. #ifndef __JUCE_APPLICATIONCOMMANDMANAGER_JUCEHEADER__
  412. #include "commands/juce_ApplicationCommandManager.h"
  413. #endif
  414. #ifndef __JUCE_APPLICATIONCOMMANDTARGET_JUCEHEADER__
  415. #include "commands/juce_ApplicationCommandTarget.h"
  416. #endif
  417. #ifndef __JUCE_KEYPRESSMAPPINGSET_JUCEHEADER__
  418. #include "commands/juce_KeyPressMappingSet.h"
  419. #endif
  420. #ifndef __JUCE_APPLICATION_JUCEHEADER__
  421. #include "application/juce_Application.h"
  422. #endif
  423. #ifndef __JUCE_INITIALISATION_JUCEHEADER__
  424. #include "application/juce_Initialisation.h"
  425. #endif
  426. #ifndef __JUCE_BUBBLECOMPONENT_JUCEHEADER__
  427. #include "misc/juce_BubbleComponent.h"
  428. #endif
  429. #ifndef __JUCE_DROPSHADOWER_JUCEHEADER__
  430. #include "misc/juce_DropShadower.h"
  431. #endif
  432. // END_AUTOINCLUDE
  433. }
  434. #endif // __JUCE_GUI_BASICS_JUCEHEADER__