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 4.9KB

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