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.

153 lines
4.9KB

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