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.

158 lines
5.1KB

  1. /*
  2. ==============================================================================
  3. This file is part of the JUCE library.
  4. Copyright (c) 2020 - Raw Material Software Limited
  5. JUCE is an open source library subject to commercial or open-source
  6. licensing.
  7. By using JUCE, you agree to the terms of both the JUCE 6 End-User License
  8. Agreement and JUCE Privacy Policy (both effective as of the 16th June 2020).
  9. End User License Agreement: www.juce.com/juce-6-licence
  10. Privacy Policy: www.juce.com/juce-privacy-policy
  11. Or: You may also use this code under the terms of the GPL v3 (see
  12. www.gnu.org/licenses).
  13. JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
  14. EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
  15. DISCLAIMED.
  16. ==============================================================================
  17. */
  18. /*******************************************************************************
  19. The block below describes the properties of this module, and is read by
  20. the Projucer to automatically generate project code that uses it.
  21. For details about the syntax and how to create or use a module, see the
  22. JUCE Module Format.md file.
  23. BEGIN_JUCE_MODULE_DECLARATION
  24. ID: juce_graphics
  25. vendor: juce
  26. version: 6.0.0
  27. name: JUCE graphics classes
  28. description: Classes for 2D vector graphics, image loading/saving, font handling, etc.
  29. website: http://www.juce.com/juce
  30. license: GPL/Commercial
  31. dependencies: juce_events
  32. OSXFrameworks: Cocoa QuartzCore
  33. iOSFrameworks: CoreGraphics CoreImage CoreText QuartzCore
  34. linuxPackages: freetype2
  35. END_JUCE_MODULE_DECLARATION
  36. *******************************************************************************/
  37. #pragma once
  38. #define JUCE_GRAPHICS_H_INCLUDED
  39. #include <juce_core/juce_core.h>
  40. #include <juce_events/juce_events.h>
  41. //==============================================================================
  42. /** Config: JUCE_USE_COREIMAGE_LOADER
  43. On OSX, enabling this flag means that the CoreImage codecs will be used to load
  44. PNG/JPEG/GIF files. It is enabled by default, but you may want to disable it if
  45. you'd rather use libpng, libjpeg, etc.
  46. */
  47. #ifndef JUCE_USE_COREIMAGE_LOADER
  48. #define JUCE_USE_COREIMAGE_LOADER 1
  49. #endif
  50. /** Config: JUCE_USE_DIRECTWRITE
  51. Enabling this flag means that DirectWrite will be used when available for font
  52. management and layout.
  53. */
  54. #ifndef JUCE_USE_DIRECTWRITE
  55. #define JUCE_USE_DIRECTWRITE 1
  56. #endif
  57. /** Config: JUCE_DISABLE_COREGRAPHICS_FONT_SMOOTHING
  58. Setting this flag will turn off CoreGraphics font smoothing, which some people
  59. find makes the text too 'fat' for their taste.
  60. */
  61. #ifndef JUCE_DISABLE_COREGRAPHICS_FONT_SMOOTHING
  62. #define JUCE_DISABLE_COREGRAPHICS_FONT_SMOOTHING 0
  63. #endif
  64. #ifndef JUCE_INCLUDE_PNGLIB_CODE
  65. #define JUCE_INCLUDE_PNGLIB_CODE 1
  66. #endif
  67. #ifndef JUCE_INCLUDE_JPEGLIB_CODE
  68. #define JUCE_INCLUDE_JPEGLIB_CODE 1
  69. #endif
  70. #ifndef USE_COREGRAPHICS_RENDERING
  71. #define USE_COREGRAPHICS_RENDERING 1
  72. #endif
  73. //==============================================================================
  74. namespace juce
  75. {
  76. class Image;
  77. class AffineTransform;
  78. class Path;
  79. class Font;
  80. class Graphics;
  81. class FillType;
  82. class LowLevelGraphicsContext;
  83. }
  84. #include "geometry/juce_AffineTransform.h"
  85. #include "geometry/juce_Point.h"
  86. #include "geometry/juce_Line.h"
  87. #include "geometry/juce_Rectangle.h"
  88. #include "geometry/juce_Parallelogram.h"
  89. #include "placement/juce_Justification.h"
  90. #include "geometry/juce_Path.h"
  91. #include "geometry/juce_RectangleList.h"
  92. #include "colour/juce_PixelFormats.h"
  93. #include "colour/juce_Colour.h"
  94. #include "colour/juce_ColourGradient.h"
  95. #include "colour/juce_Colours.h"
  96. #include "geometry/juce_BorderSize.h"
  97. #include "geometry/juce_EdgeTable.h"
  98. #include "geometry/juce_PathIterator.h"
  99. #include "geometry/juce_PathStrokeType.h"
  100. #include "placement/juce_RectanglePlacement.h"
  101. #include "images/juce_ImageCache.h"
  102. #include "images/juce_ImageConvolutionKernel.h"
  103. #include "images/juce_ImageFileFormat.h"
  104. #include "fonts/juce_Typeface.h"
  105. #include "fonts/juce_Font.h"
  106. #include "fonts/juce_AttributedString.h"
  107. #include "fonts/juce_GlyphArrangement.h"
  108. #include "fonts/juce_TextLayout.h"
  109. #include "fonts/juce_CustomTypeface.h"
  110. #include "contexts/juce_GraphicsContext.h"
  111. #include "contexts/juce_LowLevelGraphicsContext.h"
  112. #include "images/juce_Image.h"
  113. #include "colour/juce_FillType.h"
  114. #include "native/juce_RenderingHelpers.h"
  115. #include "contexts/juce_LowLevelGraphicsSoftwareRenderer.h"
  116. #include "contexts/juce_LowLevelGraphicsPostScriptRenderer.h"
  117. #include "effects/juce_ImageEffectFilter.h"
  118. #include "effects/juce_DropShadowEffect.h"
  119. #include "effects/juce_GlowEffect.h"
  120. #if JUCE_GRAPHICS_INCLUDE_COREGRAPHICS_HELPERS && (JUCE_MAC || JUCE_IOS)
  121. #include "native/juce_mac_CoreGraphicsHelpers.h"
  122. #include "native/juce_mac_CoreGraphicsContext.h"
  123. #endif
  124. #if JUCE_DIRECT2D && JUCE_WINDOWS
  125. #include "native/juce_win32_Direct2DGraphicsContext.h"
  126. #endif