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.

juce_graphics.h 5.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. /*
  2. ==============================================================================
  3. This file is part of the JUCE library.
  4. Copyright (c) 2022 - 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 7 End-User License
  8. Agreement and JUCE Privacy Policy.
  9. End User License Agreement: www.juce.com/juce-7-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: 7.0.1
  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. minimumCppStandard: 14
  32. dependencies: juce_events
  33. OSXFrameworks: Cocoa QuartzCore
  34. iOSFrameworks: CoreGraphics CoreImage CoreText QuartzCore
  35. linuxPackages: freetype2
  36. END_JUCE_MODULE_DECLARATION
  37. *******************************************************************************/
  38. #pragma once
  39. #define JUCE_GRAPHICS_H_INCLUDED
  40. #include <juce_core/juce_core.h>
  41. #include <juce_events/juce_events.h>
  42. //==============================================================================
  43. /** Config: JUCE_USE_COREIMAGE_LOADER
  44. On OSX, enabling this flag means that the CoreImage codecs will be used to load
  45. PNG/JPEG/GIF files. It is enabled by default, but you may want to disable it if
  46. you'd rather use libpng, libjpeg, etc.
  47. */
  48. #ifndef JUCE_USE_COREIMAGE_LOADER
  49. #define JUCE_USE_COREIMAGE_LOADER 1
  50. #endif
  51. /** Config: JUCE_USE_DIRECTWRITE
  52. Enabling this flag means that DirectWrite will be used when available for font
  53. management and layout.
  54. */
  55. #ifndef JUCE_USE_DIRECTWRITE
  56. #define JUCE_USE_DIRECTWRITE 1
  57. #endif
  58. /** Config: JUCE_DISABLE_COREGRAPHICS_FONT_SMOOTHING
  59. Setting this flag will turn off CoreGraphics font smoothing on macOS, which some people
  60. find makes the text too 'fat' for their taste.
  61. */
  62. #ifndef JUCE_DISABLE_COREGRAPHICS_FONT_SMOOTHING
  63. #define JUCE_DISABLE_COREGRAPHICS_FONT_SMOOTHING 0
  64. #endif
  65. #ifndef JUCE_INCLUDE_PNGLIB_CODE
  66. #define JUCE_INCLUDE_PNGLIB_CODE 1
  67. #endif
  68. #ifndef JUCE_INCLUDE_JPEGLIB_CODE
  69. #define JUCE_INCLUDE_JPEGLIB_CODE 1
  70. #endif
  71. #ifndef USE_COREGRAPHICS_RENDERING
  72. #define USE_COREGRAPHICS_RENDERING 1
  73. #endif
  74. //==============================================================================
  75. namespace juce
  76. {
  77. class Image;
  78. class AffineTransform;
  79. class Path;
  80. class Font;
  81. class Graphics;
  82. class FillType;
  83. class LowLevelGraphicsContext;
  84. }
  85. #include "geometry/juce_AffineTransform.h"
  86. #include "geometry/juce_Point.h"
  87. #include "geometry/juce_Line.h"
  88. #include "geometry/juce_Rectangle.h"
  89. #include "geometry/juce_Parallelogram.h"
  90. #include "placement/juce_Justification.h"
  91. #include "geometry/juce_Path.h"
  92. #include "geometry/juce_RectangleList.h"
  93. #include "colour/juce_PixelFormats.h"
  94. #include "colour/juce_Colour.h"
  95. #include "colour/juce_ColourGradient.h"
  96. #include "colour/juce_Colours.h"
  97. #include "geometry/juce_BorderSize.h"
  98. #include "geometry/juce_EdgeTable.h"
  99. #include "geometry/juce_PathIterator.h"
  100. #include "geometry/juce_PathStrokeType.h"
  101. #include "placement/juce_RectanglePlacement.h"
  102. #include "images/juce_ImageCache.h"
  103. #include "images/juce_ImageConvolutionKernel.h"
  104. #include "images/juce_ImageFileFormat.h"
  105. #include "fonts/juce_Typeface.h"
  106. #include "fonts/juce_Font.h"
  107. #include "fonts/juce_AttributedString.h"
  108. #include "fonts/juce_GlyphArrangement.h"
  109. #include "fonts/juce_TextLayout.h"
  110. #include "fonts/juce_CustomTypeface.h"
  111. #include "contexts/juce_GraphicsContext.h"
  112. #include "contexts/juce_LowLevelGraphicsContext.h"
  113. #include "images/juce_Image.h"
  114. #include "images/juce_ScaledImage.h"
  115. #include "colour/juce_FillType.h"
  116. #include "native/juce_RenderingHelpers.h"
  117. #include "contexts/juce_LowLevelGraphicsSoftwareRenderer.h"
  118. #include "contexts/juce_LowLevelGraphicsPostScriptRenderer.h"
  119. #include "effects/juce_ImageEffectFilter.h"
  120. #include "effects/juce_DropShadowEffect.h"
  121. #include "effects/juce_GlowEffect.h"
  122. #if JUCE_GRAPHICS_INCLUDE_COREGRAPHICS_HELPERS && (JUCE_MAC || JUCE_IOS)
  123. #include "native/juce_mac_CoreGraphicsHelpers.h"
  124. #include "native/juce_mac_CoreGraphicsContext.h"
  125. #endif
  126. #if JUCE_DIRECT2D && JUCE_WINDOWS
  127. #include "native/juce_win32_Direct2DGraphicsContext.h"
  128. #endif