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.

143 lines
4.6KB

  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. /*******************************************************************************
  18. The block below describes the properties of this module, and is read by
  19. the Projucer to automatically generate project code that uses it.
  20. For details about the syntax and how to create or use a module, see the
  21. JUCE Module Format.txt file.
  22. BEGIN_JUCE_MODULE_DECLARATION
  23. ID: juce_graphics
  24. vendor: juce
  25. version: 4.3.1
  26. name: JUCE graphics classes
  27. description: Classes for 2D vector graphics, image loading/saving, font handling, etc.
  28. website: http://www.juce.com/juce
  29. license: GPL/Commercial
  30. dependencies: juce_events
  31. OSXFrameworks: Cocoa QuartzCore
  32. iOSFrameworks: CoreGraphics CoreText QuartzCore
  33. linuxPackages: x11 xinerama xext freetype2
  34. END_JUCE_MODULE_DECLARATION
  35. *******************************************************************************/
  36. #pragma once // %%
  37. #include <juce_core/juce_core.h>
  38. #include <juce_events/juce_events.h>
  39. //==============================================================================
  40. /** Config: JUCE_USE_COREIMAGE_LOADER
  41. On OSX, enabling this flag means that the CoreImage codecs will be used to load
  42. PNG/JPEG/GIF files. It is enabled by default, but you may want to disable it if
  43. you'd rather use libpng, libjpeg, etc.
  44. */
  45. #ifndef JUCE_USE_COREIMAGE_LOADER
  46. #define JUCE_USE_COREIMAGE_LOADER 1
  47. #endif
  48. /** Config: JUCE_USE_DIRECTWRITE
  49. Enabling this flag means that DirectWrite will be used when available for font
  50. management and layout.
  51. */
  52. #ifndef JUCE_USE_DIRECTWRITE
  53. #define JUCE_USE_DIRECTWRITE 1
  54. #endif
  55. #ifndef JUCE_INCLUDE_PNGLIB_CODE
  56. #define JUCE_INCLUDE_PNGLIB_CODE 1
  57. #endif
  58. #ifndef JUCE_INCLUDE_JPEGLIB_CODE
  59. #define JUCE_INCLUDE_JPEGLIB_CODE 1
  60. #endif
  61. #ifndef USE_COREGRAPHICS_RENDERING
  62. #define USE_COREGRAPHICS_RENDERING 1
  63. #endif
  64. //==============================================================================
  65. namespace juce
  66. {
  67. class Image;
  68. class AffineTransform;
  69. class Path;
  70. class Font;
  71. class Graphics;
  72. class FillType;
  73. class LowLevelGraphicsContext;
  74. #include "geometry/juce_AffineTransform.h"
  75. #include "geometry/juce_Point.h"
  76. #include "geometry/juce_Line.h"
  77. #include "geometry/juce_Rectangle.h"
  78. #include "placement/juce_Justification.h"
  79. #include "geometry/juce_Path.h"
  80. #include "geometry/juce_RectangleList.h"
  81. #include "colour/juce_PixelFormats.h"
  82. #include "colour/juce_Colour.h"
  83. #include "colour/juce_ColourGradient.h"
  84. #include "colour/juce_Colours.h"
  85. #include "geometry/juce_BorderSize.h"
  86. #include "geometry/juce_EdgeTable.h"
  87. #include "geometry/juce_PathIterator.h"
  88. #include "geometry/juce_PathStrokeType.h"
  89. #include "placement/juce_RectanglePlacement.h"
  90. #include "images/juce_ImageCache.h"
  91. #include "images/juce_ImageConvolutionKernel.h"
  92. #include "images/juce_ImageFileFormat.h"
  93. #include "fonts/juce_Typeface.h"
  94. #include "fonts/juce_Font.h"
  95. #include "fonts/juce_AttributedString.h"
  96. #include "fonts/juce_GlyphArrangement.h"
  97. #include "fonts/juce_TextLayout.h"
  98. #include "fonts/juce_CustomTypeface.h"
  99. #include "contexts/juce_GraphicsContext.h"
  100. #include "contexts/juce_LowLevelGraphicsContext.h"
  101. #include "images/juce_Image.h"
  102. #include "colour/juce_FillType.h"
  103. #include "native/juce_RenderingHelpers.h"
  104. #include "contexts/juce_LowLevelGraphicsSoftwareRenderer.h"
  105. #include "contexts/juce_LowLevelGraphicsPostScriptRenderer.h"
  106. #include "effects/juce_ImageEffectFilter.h"
  107. #include "effects/juce_DropShadowEffect.h"
  108. #include "effects/juce_GlowEffect.h"
  109. #if JUCE_GRAPHICS_INCLUDE_COREGRAPHICS_HELPERS && (JUCE_MAC || JUCE_IOS)
  110. #include "native/juce_mac_CoreGraphicsHelpers.h"
  111. #include "native/juce_mac_CoreGraphicsContext.h"
  112. #endif
  113. }