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.

177 lines
5.7KB

  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. #ifdef JUCE_GRAPHICS_H_INCLUDED
  14. /* When you add this cpp file to your project, you mustn't include it in a file where you've
  15. already included any other headers - just put it inside a file on its own, possibly with your config
  16. flags preceding it, but don't include anything else. That also includes avoiding any automatic prefix
  17. header files that the compiler may be using.
  18. */
  19. #error "Incorrect use of JUCE cpp file"
  20. #endif
  21. #define JUCE_CORE_INCLUDE_OBJC_HELPERS 1
  22. #define JUCE_CORE_INCLUDE_COM_SMART_PTR 1
  23. #define JUCE_CORE_INCLUDE_JNI_HELPERS 1
  24. #define JUCE_CORE_INCLUDE_NATIVE_HEADERS 1
  25. #define JUCE_GRAPHICS_INCLUDE_COREGRAPHICS_HELPERS 1
  26. #include "juce_graphics.h"
  27. //==============================================================================
  28. #if JUCE_MAC
  29. #import <QuartzCore/QuartzCore.h>
  30. #elif JUCE_WINDOWS
  31. // get rid of some warnings in Window's own headers
  32. JUCE_BEGIN_IGNORE_WARNINGS_MSVC (4458)
  33. #if JUCE_MINGW && JUCE_USE_DIRECTWRITE
  34. #warning "DirectWrite not currently implemented with mingw..."
  35. #undef JUCE_USE_DIRECTWRITE
  36. #endif
  37. #if JUCE_USE_DIRECTWRITE || JUCE_DIRECT2D
  38. /* This is a workaround for broken-by-default function definitions
  39. in the MinGW headers. If you're using a newer distribution of MinGW,
  40. then your headers may substitute the broken definitions with working definitions
  41. when this flag is enabled. Unfortunately, not all MinGW headers contain this
  42. workaround, so Direct2D remains disabled by default when building with MinGW.
  43. */
  44. #define WIDL_EXPLICIT_AGGREGATE_RETURNS 1
  45. /* If you hit a compile error trying to include these files, you may need to update
  46. your version of the Windows SDK to the latest one. The DirectWrite and Direct2D
  47. headers are in the version 7 SDKs.
  48. */
  49. #include <d2d1.h>
  50. #include <dwrite.h>
  51. #endif
  52. #if JUCE_MINGW
  53. #include <malloc.h>
  54. #include <cstdio>
  55. #endif
  56. JUCE_END_IGNORE_WARNINGS_MSVC
  57. #elif JUCE_IOS
  58. #import <QuartzCore/QuartzCore.h>
  59. #import <CoreText/CoreText.h>
  60. #elif JUCE_LINUX || JUCE_BSD
  61. #ifndef JUCE_USE_FREETYPE
  62. #define JUCE_USE_FREETYPE 1
  63. #endif
  64. #endif
  65. #if JUCE_USE_FREETYPE
  66. #if JUCE_USE_FREETYPE_AMALGAMATED
  67. #include "native/freetype/FreeTypeAmalgam.h"
  68. #else
  69. #include <ft2build.h>
  70. #include FT_FREETYPE_H
  71. #endif
  72. #endif
  73. #undef SIZEOF
  74. #if (JUCE_MAC || JUCE_IOS) && USE_COREGRAPHICS_RENDERING && JUCE_USE_COREIMAGE_LOADER
  75. #define JUCE_USING_COREIMAGE_LOADER 1
  76. #else
  77. #define JUCE_USING_COREIMAGE_LOADER 0
  78. #endif
  79. //==============================================================================
  80. #include "colour/juce_Colour.cpp"
  81. #include "colour/juce_ColourGradient.cpp"
  82. #include "colour/juce_Colours.cpp"
  83. #include "colour/juce_FillType.cpp"
  84. #include "geometry/juce_AffineTransform.cpp"
  85. #include "geometry/juce_EdgeTable.cpp"
  86. #include "geometry/juce_Path.cpp"
  87. #include "geometry/juce_PathIterator.cpp"
  88. #include "geometry/juce_PathStrokeType.cpp"
  89. #include "placement/juce_RectanglePlacement.cpp"
  90. #include "contexts/juce_GraphicsContext.cpp"
  91. #include "contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp"
  92. #include "contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp"
  93. #include "images/juce_Image.cpp"
  94. #include "images/juce_ImageCache.cpp"
  95. #include "images/juce_ImageConvolutionKernel.cpp"
  96. #include "images/juce_ImageFileFormat.cpp"
  97. #include "image_formats/juce_GIFLoader.cpp"
  98. #include "image_formats/juce_JPEGLoader.cpp"
  99. #include "image_formats/juce_PNGLoader.cpp"
  100. #include "fonts/juce_AttributedString.cpp"
  101. #include "fonts/juce_Typeface.cpp"
  102. #include "fonts/juce_CustomTypeface.cpp"
  103. #include "fonts/juce_Font.cpp"
  104. #include "fonts/juce_GlyphArrangement.cpp"
  105. #include "fonts/juce_TextLayout.cpp"
  106. #include "effects/juce_DropShadowEffect.cpp"
  107. #include "effects/juce_GlowEffect.cpp"
  108. #if JUCE_UNIT_TESTS
  109. #include "geometry/juce_Rectangle_test.cpp"
  110. #endif
  111. #if JUCE_USE_FREETYPE
  112. #include "native/juce_freetype_Fonts.cpp"
  113. #endif
  114. //==============================================================================
  115. #if JUCE_MAC || JUCE_IOS
  116. #include "native/juce_mac_Fonts.mm"
  117. #include "native/juce_mac_CoreGraphicsContext.mm"
  118. #include "native/juce_mac_IconHelpers.cpp"
  119. #elif JUCE_WINDOWS
  120. #include "native/juce_win32_DirectWriteTypeface.cpp"
  121. #include "native/juce_win32_DirectWriteTypeLayout.cpp"
  122. #include "native/juce_win32_Fonts.cpp"
  123. #include "native/juce_win32_IconHelpers.cpp"
  124. #if JUCE_DIRECT2D
  125. #include "native/juce_win32_Direct2DGraphicsContext.cpp"
  126. #endif
  127. #elif JUCE_LINUX || JUCE_BSD
  128. #include "native/juce_linux_Fonts.cpp"
  129. #include "native/juce_linux_IconHelpers.cpp"
  130. #elif JUCE_ANDROID
  131. #include "native/juce_android_GraphicsContext.cpp"
  132. #include "native/juce_android_Fonts.cpp"
  133. #include "native/juce_android_IconHelpers.cpp"
  134. #endif
  135. //==============================================================================
  136. #if JUCE_USE_FREETYPE && JUCE_USE_FREETYPE_AMALGAMATED
  137. #undef PIXEL_MASK
  138. #undef ZLIB_VERSION
  139. #undef Z_ASCII
  140. #undef ZEXTERN
  141. #undef ZEXPORT
  142. extern "C"
  143. {
  144. #include "native/freetype/FreeTypeAmalgam.c"
  145. }
  146. #endif