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.

443 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. BEGIN_JUCE_NAMESPACE
  59. // START_AUTOINCLUDE components, mouse, keyboard, buttons, drawables,
  60. // filebrowser, layout, lookandfeel, menus, positioning, properties,
  61. // widgets, windows, commands, application, misc
  62. #ifndef __JUCE_COMPONENT_JUCEHEADER__
  63. #include "components/juce_Component.h"
  64. #endif
  65. #ifndef __JUCE_COMPONENTLISTENER_JUCEHEADER__
  66. #include "components/juce_ComponentListener.h"
  67. #endif
  68. #ifndef __JUCE_DESKTOP_JUCEHEADER__
  69. #include "components/juce_Desktop.h"
  70. #endif
  71. #ifndef __JUCE_MODALCOMPONENTMANAGER_JUCEHEADER__
  72. #include "components/juce_ModalComponentManager.h"
  73. #endif
  74. #ifndef __JUCE_COMPONENTDRAGGER_JUCEHEADER__
  75. #include "mouse/juce_ComponentDragger.h"
  76. #endif
  77. #ifndef __JUCE_DRAGANDDROPCONTAINER_JUCEHEADER__
  78. #include "mouse/juce_DragAndDropContainer.h"
  79. #endif
  80. #ifndef __JUCE_DRAGANDDROPTARGET_JUCEHEADER__
  81. #include "mouse/juce_DragAndDropTarget.h"
  82. #endif
  83. #ifndef __JUCE_FILEDRAGANDDROPTARGET_JUCEHEADER__
  84. #include "mouse/juce_FileDragAndDropTarget.h"
  85. #endif
  86. #ifndef __JUCE_LASSOCOMPONENT_JUCEHEADER__
  87. #include "mouse/juce_LassoComponent.h"
  88. #endif
  89. #ifndef __JUCE_MOUSECURSOR_JUCEHEADER__
  90. #include "mouse/juce_MouseCursor.h"
  91. #endif
  92. #ifndef __JUCE_MOUSEEVENT_JUCEHEADER__
  93. #include "mouse/juce_MouseEvent.h"
  94. #endif
  95. #ifndef __JUCE_MOUSEINPUTSOURCE_JUCEHEADER__
  96. #include "mouse/juce_MouseInputSource.h"
  97. #endif
  98. #ifndef __JUCE_MOUSELISTENER_JUCEHEADER__
  99. #include "mouse/juce_MouseListener.h"
  100. #endif
  101. #ifndef __JUCE_SELECTEDITEMSET_JUCEHEADER__
  102. #include "mouse/juce_SelectedItemSet.h"
  103. #endif
  104. #ifndef __JUCE_TOOLTIPCLIENT_JUCEHEADER__
  105. #include "mouse/juce_TooltipClient.h"
  106. #endif
  107. #ifndef __JUCE_CARETCOMPONENT_JUCEHEADER__
  108. #include "keyboard/juce_CaretComponent.h"
  109. #endif
  110. #ifndef __JUCE_KEYBOARDFOCUSTRAVERSER_JUCEHEADER__
  111. #include "keyboard/juce_KeyboardFocusTraverser.h"
  112. #endif
  113. #ifndef __JUCE_KEYLISTENER_JUCEHEADER__
  114. #include "keyboard/juce_KeyListener.h"
  115. #endif
  116. #ifndef __JUCE_KEYPRESS_JUCEHEADER__
  117. #include "keyboard/juce_KeyPress.h"
  118. #endif
  119. #ifndef __JUCE_MODIFIERKEYS_JUCEHEADER__
  120. #include "keyboard/juce_ModifierKeys.h"
  121. #endif
  122. #ifndef __JUCE_SYSTEMCLIPBOARD_JUCEHEADER__
  123. #include "keyboard/juce_SystemClipboard.h"
  124. #endif
  125. #ifndef __JUCE_TEXTEDITORKEYMAPPER_JUCEHEADER__
  126. #include "keyboard/juce_TextEditorKeyMapper.h"
  127. #endif
  128. #ifndef __JUCE_TEXTINPUTTARGET_JUCEHEADER__
  129. #include "keyboard/juce_TextInputTarget.h"
  130. #endif
  131. #ifndef __JUCE_ARROWBUTTON_JUCEHEADER__
  132. #include "buttons/juce_ArrowButton.h"
  133. #endif
  134. #ifndef __JUCE_BUTTON_JUCEHEADER__
  135. #include "buttons/juce_Button.h"
  136. #endif
  137. #ifndef __JUCE_DRAWABLEBUTTON_JUCEHEADER__
  138. #include "buttons/juce_DrawableButton.h"
  139. #endif
  140. #ifndef __JUCE_HYPERLINKBUTTON_JUCEHEADER__
  141. #include "buttons/juce_HyperlinkButton.h"
  142. #endif
  143. #ifndef __JUCE_IMAGEBUTTON_JUCEHEADER__
  144. #include "buttons/juce_ImageButton.h"
  145. #endif
  146. #ifndef __JUCE_SHAPEBUTTON_JUCEHEADER__
  147. #include "buttons/juce_ShapeButton.h"
  148. #endif
  149. #ifndef __JUCE_TEXTBUTTON_JUCEHEADER__
  150. #include "buttons/juce_TextButton.h"
  151. #endif
  152. #ifndef __JUCE_TOGGLEBUTTON_JUCEHEADER__
  153. #include "buttons/juce_ToggleButton.h"
  154. #endif
  155. #ifndef __JUCE_TOOLBARBUTTON_JUCEHEADER__
  156. #include "buttons/juce_ToolbarButton.h"
  157. #endif
  158. #ifndef __JUCE_DRAWABLE_JUCEHEADER__
  159. #include "drawables/juce_Drawable.h"
  160. #endif
  161. #ifndef __JUCE_DRAWABLECOMPOSITE_JUCEHEADER__
  162. #include "drawables/juce_DrawableComposite.h"
  163. #endif
  164. #ifndef __JUCE_DRAWABLEIMAGE_JUCEHEADER__
  165. #include "drawables/juce_DrawableImage.h"
  166. #endif
  167. #ifndef __JUCE_DRAWABLEPATH_JUCEHEADER__
  168. #include "drawables/juce_DrawablePath.h"
  169. #endif
  170. #ifndef __JUCE_DRAWABLERECTANGLE_JUCEHEADER__
  171. #include "drawables/juce_DrawableRectangle.h"
  172. #endif
  173. #ifndef __JUCE_DRAWABLESHAPE_JUCEHEADER__
  174. #include "drawables/juce_DrawableShape.h"
  175. #endif
  176. #ifndef __JUCE_DRAWABLETEXT_JUCEHEADER__
  177. #include "drawables/juce_DrawableText.h"
  178. #endif
  179. #ifndef __JUCE_DIRECTORYCONTENTSDISPLAYCOMPONENT_JUCEHEADER__
  180. #include "filebrowser/juce_DirectoryContentsDisplayComponent.h"
  181. #endif
  182. #ifndef __JUCE_DIRECTORYCONTENTSLIST_JUCEHEADER__
  183. #include "filebrowser/juce_DirectoryContentsList.h"
  184. #endif
  185. #ifndef __JUCE_FILEBROWSERCOMPONENT_JUCEHEADER__
  186. #include "filebrowser/juce_FileBrowserComponent.h"
  187. #endif
  188. #ifndef __JUCE_FILEBROWSERLISTENER_JUCEHEADER__
  189. #include "filebrowser/juce_FileBrowserListener.h"
  190. #endif
  191. #ifndef __JUCE_FILECHOOSER_JUCEHEADER__
  192. #include "filebrowser/juce_FileChooser.h"
  193. #endif
  194. #ifndef __JUCE_FILECHOOSERDIALOGBOX_JUCEHEADER__
  195. #include "filebrowser/juce_FileChooserDialogBox.h"
  196. #endif
  197. #ifndef __JUCE_FILEFILTER_JUCEHEADER__
  198. #include "filebrowser/juce_FileFilter.h"
  199. #endif
  200. #ifndef __JUCE_FILELISTCOMPONENT_JUCEHEADER__
  201. #include "filebrowser/juce_FileListComponent.h"
  202. #endif
  203. #ifndef __JUCE_FILENAMECOMPONENT_JUCEHEADER__
  204. #include "filebrowser/juce_FilenameComponent.h"
  205. #endif
  206. #ifndef __JUCE_FILEPREVIEWCOMPONENT_JUCEHEADER__
  207. #include "filebrowser/juce_FilePreviewComponent.h"
  208. #endif
  209. #ifndef __JUCE_FILESEARCHPATHLISTCOMPONENT_JUCEHEADER__
  210. #include "filebrowser/juce_FileSearchPathListComponent.h"
  211. #endif
  212. #ifndef __JUCE_FILETREECOMPONENT_JUCEHEADER__
  213. #include "filebrowser/juce_FileTreeComponent.h"
  214. #endif
  215. #ifndef __JUCE_IMAGEPREVIEWCOMPONENT_JUCEHEADER__
  216. #include "filebrowser/juce_ImagePreviewComponent.h"
  217. #endif
  218. #ifndef __JUCE_WILDCARDFILEFILTER_JUCEHEADER__
  219. #include "filebrowser/juce_WildcardFileFilter.h"
  220. #endif
  221. #ifndef __JUCE_COMPONENTANIMATOR_JUCEHEADER__
  222. #include "layout/juce_ComponentAnimator.h"
  223. #endif
  224. #ifndef __JUCE_COMPONENTBOUNDSCONSTRAINER_JUCEHEADER__
  225. #include "layout/juce_ComponentBoundsConstrainer.h"
  226. #endif
  227. #ifndef __JUCE_COMPONENTBUILDER_JUCEHEADER__
  228. #include "layout/juce_ComponentBuilder.h"
  229. #endif
  230. #ifndef __JUCE_COMPONENTMOVEMENTWATCHER_JUCEHEADER__
  231. #include "layout/juce_ComponentMovementWatcher.h"
  232. #endif
  233. #ifndef __JUCE_GROUPCOMPONENT_JUCEHEADER__
  234. #include "layout/juce_GroupComponent.h"
  235. #endif
  236. #ifndef __JUCE_MULTIDOCUMENTPANEL_JUCEHEADER__
  237. #include "layout/juce_MultiDocumentPanel.h"
  238. #endif
  239. #ifndef __JUCE_RESIZABLEBORDERCOMPONENT_JUCEHEADER__
  240. #include "layout/juce_ResizableBorderComponent.h"
  241. #endif
  242. #ifndef __JUCE_RESIZABLECORNERCOMPONENT_JUCEHEADER__
  243. #include "layout/juce_ResizableCornerComponent.h"
  244. #endif
  245. #ifndef __JUCE_RESIZABLEEDGECOMPONENT_JUCEHEADER__
  246. #include "layout/juce_ResizableEdgeComponent.h"
  247. #endif
  248. #ifndef __JUCE_SCROLLBAR_JUCEHEADER__
  249. #include "layout/juce_ScrollBar.h"
  250. #endif
  251. #ifndef __JUCE_STRETCHABLELAYOUTMANAGER_JUCEHEADER__
  252. #include "layout/juce_StretchableLayoutManager.h"
  253. #endif
  254. #ifndef __JUCE_STRETCHABLELAYOUTRESIZERBAR_JUCEHEADER__
  255. #include "layout/juce_StretchableLayoutResizerBar.h"
  256. #endif
  257. #ifndef __JUCE_STRETCHABLEOBJECTRESIZER_JUCEHEADER__
  258. #include "layout/juce_StretchableObjectResizer.h"
  259. #endif
  260. #ifndef __JUCE_TABBEDBUTTONBAR_JUCEHEADER__
  261. #include "layout/juce_TabbedButtonBar.h"
  262. #endif
  263. #ifndef __JUCE_TABBEDCOMPONENT_JUCEHEADER__
  264. #include "layout/juce_TabbedComponent.h"
  265. #endif
  266. #ifndef __JUCE_VIEWPORT_JUCEHEADER__
  267. #include "layout/juce_Viewport.h"
  268. #endif
  269. #ifndef __JUCE_LOOKANDFEEL_JUCEHEADER__
  270. #include "lookandfeel/juce_LookAndFeel.h"
  271. #endif
  272. #ifndef __JUCE_MENUBARCOMPONENT_JUCEHEADER__
  273. #include "menus/juce_MenuBarComponent.h"
  274. #endif
  275. #ifndef __JUCE_MENUBARMODEL_JUCEHEADER__
  276. #include "menus/juce_MenuBarModel.h"
  277. #endif
  278. #ifndef __JUCE_POPUPMENU_JUCEHEADER__
  279. #include "menus/juce_PopupMenu.h"
  280. #endif
  281. #ifndef __JUCE_MARKERLIST_JUCEHEADER__
  282. #include "positioning/juce_MarkerList.h"
  283. #endif
  284. #ifndef __JUCE_RELATIVECOORDINATE_JUCEHEADER__
  285. #include "positioning/juce_RelativeCoordinate.h"
  286. #endif
  287. #ifndef __JUCE_RELATIVECOORDINATEPOSITIONER_JUCEHEADER__
  288. #include "positioning/juce_RelativeCoordinatePositioner.h"
  289. #endif
  290. #ifndef __JUCE_RELATIVEPARALLELOGRAM_JUCEHEADER__
  291. #include "positioning/juce_RelativeParallelogram.h"
  292. #endif
  293. #ifndef __JUCE_RELATIVEPOINT_JUCEHEADER__
  294. #include "positioning/juce_RelativePoint.h"
  295. #endif
  296. #ifndef __JUCE_RELATIVEPOINTPATH_JUCEHEADER__
  297. #include "positioning/juce_RelativePointPath.h"
  298. #endif
  299. #ifndef __JUCE_RELATIVERECTANGLE_JUCEHEADER__
  300. #include "positioning/juce_RelativeRectangle.h"
  301. #endif
  302. #ifndef __JUCE_BOOLEANPROPERTYCOMPONENT_JUCEHEADER__
  303. #include "properties/juce_BooleanPropertyComponent.h"
  304. #endif
  305. #ifndef __JUCE_BUTTONPROPERTYCOMPONENT_JUCEHEADER__
  306. #include "properties/juce_ButtonPropertyComponent.h"
  307. #endif
  308. #ifndef __JUCE_CHOICEPROPERTYCOMPONENT_JUCEHEADER__
  309. #include "properties/juce_ChoicePropertyComponent.h"
  310. #endif
  311. #ifndef __JUCE_PROPERTYCOMPONENT_JUCEHEADER__
  312. #include "properties/juce_PropertyComponent.h"
  313. #endif
  314. #ifndef __JUCE_PROPERTYPANEL_JUCEHEADER__
  315. #include "properties/juce_PropertyPanel.h"
  316. #endif
  317. #ifndef __JUCE_SLIDERPROPERTYCOMPONENT_JUCEHEADER__
  318. #include "properties/juce_SliderPropertyComponent.h"
  319. #endif
  320. #ifndef __JUCE_TEXTPROPERTYCOMPONENT_JUCEHEADER__
  321. #include "properties/juce_TextPropertyComponent.h"
  322. #endif
  323. #ifndef __JUCE_COMBOBOX_JUCEHEADER__
  324. #include "widgets/juce_ComboBox.h"
  325. #endif
  326. #ifndef __JUCE_IMAGECOMPONENT_JUCEHEADER__
  327. #include "widgets/juce_ImageComponent.h"
  328. #endif
  329. #ifndef __JUCE_LABEL_JUCEHEADER__
  330. #include "widgets/juce_Label.h"
  331. #endif
  332. #ifndef __JUCE_LISTBOX_JUCEHEADER__
  333. #include "widgets/juce_ListBox.h"
  334. #endif
  335. #ifndef __JUCE_PROGRESSBAR_JUCEHEADER__
  336. #include "widgets/juce_ProgressBar.h"
  337. #endif
  338. #ifndef __JUCE_SLIDER_JUCEHEADER__
  339. #include "widgets/juce_Slider.h"
  340. #endif
  341. #ifndef __JUCE_TABLEHEADERCOMPONENT_JUCEHEADER__
  342. #include "widgets/juce_TableHeaderComponent.h"
  343. #endif
  344. #ifndef __JUCE_TABLELISTBOX_JUCEHEADER__
  345. #include "widgets/juce_TableListBox.h"
  346. #endif
  347. #ifndef __JUCE_TEXTEDITOR_JUCEHEADER__
  348. #include "widgets/juce_TextEditor.h"
  349. #endif
  350. #ifndef __JUCE_TOOLBAR_JUCEHEADER__
  351. #include "widgets/juce_Toolbar.h"
  352. #endif
  353. #ifndef __JUCE_TOOLBARITEMCOMPONENT_JUCEHEADER__
  354. #include "widgets/juce_ToolbarItemComponent.h"
  355. #endif
  356. #ifndef __JUCE_TOOLBARITEMFACTORY_JUCEHEADER__
  357. #include "widgets/juce_ToolbarItemFactory.h"
  358. #endif
  359. #ifndef __JUCE_TOOLBARITEMPALETTE_JUCEHEADER__
  360. #include "widgets/juce_ToolbarItemPalette.h"
  361. #endif
  362. #ifndef __JUCE_TREEVIEW_JUCEHEADER__
  363. #include "widgets/juce_TreeView.h"
  364. #endif
  365. #ifndef __JUCE_ALERTWINDOW_JUCEHEADER__
  366. #include "windows/juce_AlertWindow.h"
  367. #endif
  368. #ifndef __JUCE_CALLOUTBOX_JUCEHEADER__
  369. #include "windows/juce_CallOutBox.h"
  370. #endif
  371. #ifndef __JUCE_COMPONENTPEER_JUCEHEADER__
  372. #include "windows/juce_ComponentPeer.h"
  373. #endif
  374. #ifndef __JUCE_DIALOGWINDOW_JUCEHEADER__
  375. #include "windows/juce_DialogWindow.h"
  376. #endif
  377. #ifndef __JUCE_DOCUMENTWINDOW_JUCEHEADER__
  378. #include "windows/juce_DocumentWindow.h"
  379. #endif
  380. #ifndef __JUCE_NATIVEMESSAGEBOX_JUCEHEADER__
  381. #include "windows/juce_NativeMessageBox.h"
  382. #endif
  383. #ifndef __JUCE_RESIZABLEWINDOW_JUCEHEADER__
  384. #include "windows/juce_ResizableWindow.h"
  385. #endif
  386. #ifndef __JUCE_THREADWITHPROGRESSWINDOW_JUCEHEADER__
  387. #include "windows/juce_ThreadWithProgressWindow.h"
  388. #endif
  389. #ifndef __JUCE_TOOLTIPWINDOW_JUCEHEADER__
  390. #include "windows/juce_TooltipWindow.h"
  391. #endif
  392. #ifndef __JUCE_TOPLEVELWINDOW_JUCEHEADER__
  393. #include "windows/juce_TopLevelWindow.h"
  394. #endif
  395. #ifndef __JUCE_APPLICATIONCOMMANDID_JUCEHEADER__
  396. #include "commands/juce_ApplicationCommandID.h"
  397. #endif
  398. #ifndef __JUCE_APPLICATIONCOMMANDINFO_JUCEHEADER__
  399. #include "commands/juce_ApplicationCommandInfo.h"
  400. #endif
  401. #ifndef __JUCE_APPLICATIONCOMMANDMANAGER_JUCEHEADER__
  402. #include "commands/juce_ApplicationCommandManager.h"
  403. #endif
  404. #ifndef __JUCE_APPLICATIONCOMMANDTARGET_JUCEHEADER__
  405. #include "commands/juce_ApplicationCommandTarget.h"
  406. #endif
  407. #ifndef __JUCE_KEYPRESSMAPPINGSET_JUCEHEADER__
  408. #include "commands/juce_KeyPressMappingSet.h"
  409. #endif
  410. #ifndef __JUCE_APPLICATION_JUCEHEADER__
  411. #include "application/juce_Application.h"
  412. #endif
  413. #ifndef __JUCE_INITIALISATION_JUCEHEADER__
  414. #include "application/juce_Initialisation.h"
  415. #endif
  416. #ifndef __JUCE_BUBBLECOMPONENT_JUCEHEADER__
  417. #include "misc/juce_BubbleComponent.h"
  418. #endif
  419. #ifndef __JUCE_DROPSHADOWER_JUCEHEADER__
  420. #include "misc/juce_DropShadower.h"
  421. #endif
  422. // END_AUTOINCLUDE
  423. END_JUCE_NAMESPACE
  424. #endif // __JUCE_GUI_BASICS_JUCEHEADER__