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.

148 lines
4.8KB

  1. /*
  2. ==============================================================================
  3. This file is part of the JUCE library.
  4. Copyright (c) 2017 - ROLI Ltd.
  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 5 End-User License
  8. Agreement and JUCE 5 Privacy Policy (both updated and effective as of the
  9. 27th April 2017).
  10. End User License Agreement: www.juce.com/juce-5-licence
  11. Privacy Policy: www.juce.com/juce-5-privacy-policy
  12. Or: You may also use this code under the terms of the GPL v3 (see
  13. www.gnu.org/licenses).
  14. JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
  15. EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
  16. DISCLAIMED.
  17. ==============================================================================
  18. */
  19. /*******************************************************************************
  20. The block below describes the properties of this module, and is read by
  21. the Projucer to automatically generate project code that uses it.
  22. For details about the syntax and how to create or use a module, see the
  23. JUCE Module Format.txt file.
  24. BEGIN_JUCE_MODULE_DECLARATION
  25. ID: juce_graphics
  26. vendor: juce
  27. version: 5.1.2
  28. name: JUCE graphics classes
  29. description: Classes for 2D vector graphics, image loading/saving, font handling, etc.
  30. website: http://www.juce.com/juce
  31. license: GPL/Commercial
  32. dependencies: juce_events
  33. OSXFrameworks: Cocoa QuartzCore
  34. iOSFrameworks: CoreGraphics CoreImage CoreText QuartzCore
  35. linuxPackages: x11 xinerama xext 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. #ifndef JUCE_INCLUDE_PNGLIB_CODE
  59. #define JUCE_INCLUDE_PNGLIB_CODE 1
  60. #endif
  61. #ifndef JUCE_INCLUDE_JPEGLIB_CODE
  62. #define JUCE_INCLUDE_JPEGLIB_CODE 1
  63. #endif
  64. #ifndef USE_COREGRAPHICS_RENDERING
  65. #define USE_COREGRAPHICS_RENDERING 1
  66. #endif
  67. //==============================================================================
  68. namespace juce
  69. {
  70. class Image;
  71. class AffineTransform;
  72. class Path;
  73. class Font;
  74. class Graphics;
  75. class FillType;
  76. class LowLevelGraphicsContext;
  77. }
  78. #include "geometry/juce_AffineTransform.h"
  79. #include "geometry/juce_Point.h"
  80. #include "geometry/juce_Line.h"
  81. #include "geometry/juce_Rectangle.h"
  82. #include "placement/juce_Justification.h"
  83. #include "geometry/juce_Path.h"
  84. #include "geometry/juce_RectangleList.h"
  85. #include "colour/juce_PixelFormats.h"
  86. #include "colour/juce_Colour.h"
  87. #include "colour/juce_ColourGradient.h"
  88. #include "colour/juce_Colours.h"
  89. #include "geometry/juce_BorderSize.h"
  90. #include "geometry/juce_EdgeTable.h"
  91. #include "geometry/juce_PathIterator.h"
  92. #include "geometry/juce_PathStrokeType.h"
  93. #include "placement/juce_RectanglePlacement.h"
  94. #include "images/juce_ImageCache.h"
  95. #include "images/juce_ImageConvolutionKernel.h"
  96. #include "images/juce_ImageFileFormat.h"
  97. #include "fonts/juce_Typeface.h"
  98. #include "fonts/juce_Font.h"
  99. #include "fonts/juce_AttributedString.h"
  100. #include "fonts/juce_GlyphArrangement.h"
  101. #include "fonts/juce_TextLayout.h"
  102. #include "fonts/juce_CustomTypeface.h"
  103. #include "contexts/juce_GraphicsContext.h"
  104. #include "contexts/juce_LowLevelGraphicsContext.h"
  105. #include "images/juce_Image.h"
  106. #include "colour/juce_FillType.h"
  107. #include "native/juce_RenderingHelpers.h"
  108. #include "contexts/juce_LowLevelGraphicsSoftwareRenderer.h"
  109. #include "contexts/juce_LowLevelGraphicsPostScriptRenderer.h"
  110. #include "effects/juce_ImageEffectFilter.h"
  111. #include "effects/juce_DropShadowEffect.h"
  112. #include "effects/juce_GlowEffect.h"
  113. #if JUCE_GRAPHICS_INCLUDE_COREGRAPHICS_HELPERS && (JUCE_MAC || JUCE_IOS)
  114. #include "native/juce_mac_CoreGraphicsHelpers.h"
  115. #include "native/juce_mac_CoreGraphicsContext.h"
  116. #endif
  117. #if JUCE_DIRECT2D && JUCE_WINDOWS
  118. #include "native/juce_win32_Direct2DGraphicsContext.h"
  119. #endif