@@ -188,6 +188,7 @@ | |||
2E540A9137E245EFADCFABB3 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
2E680E2C65684A4272AE079A = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_SourceCodeEditor.cpp"; path = "../../Source/Code Editor/jucer_SourceCodeEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
2E96852D55A9C1DEAF76FF6D = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutManager.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h"; sourceTree = "SOURCE_ROOT"; }; | |||
2ED5D4ABB34DAA5D6E93A171 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeLayout.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
2EEB1C074162F363C6599282 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_CommandLine.h"; path = "../../Source/Application/jucer_CommandLine.h"; sourceTree = "SOURCE_ROOT"; }; | |||
2FADEBA1901F74204DE253BC = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemClipboard.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_SystemClipboard.h"; sourceTree = "SOURCE_ROOT"; }; | |||
2FBA1138907F4DE651870008 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseListener.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h"; sourceTree = "SOURCE_ROOT"; }; | |||
@@ -372,6 +373,7 @@ | |||
795AF1D634CA3E6FA899E0B0 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CharacterFunctions.cpp"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
796AEF1400580E81AAF23CE7 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageFileFormat.h"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.h"; sourceTree = "SOURCE_ROOT"; }; | |||
79F7CC3E9B848AAA3A5C682B = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathStrokeType.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
7B824A2F1BBE334B140BD8AF = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AttributedString.h"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.h"; sourceTree = "SOURCE_ROOT"; }; | |||
7C02936574E000C436E3AD8E = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Value.cpp"; path = "../../../../modules/juce_data_structures/values/juce_Value.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
7C48EA717C5B1136A39FF4FB = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnection.cpp"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnection.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
7CBB297E627A7DC7EA12A8B6 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPress.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
@@ -551,6 +553,7 @@ | |||
B92070A7D5952D560DAD32C4 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPCompressorOutputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
B945EB1DEE6D684E980B7428 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RectangleList.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_RectangleList.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
B9F806910507E82E7BFB15E0 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryOutputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; | |||
BA1E340A922D0D7E543563CF = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AttributedString.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
BA5C7DE347A73A87F687703C = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandTarget.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h"; sourceTree = "SOURCE_ROOT"; }; | |||
BA95268EEE80F9509EC1F76F = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBasedDocument.h"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h"; sourceTree = "SOURCE_ROOT"; }; | |||
BAC43B20E14A340CCF14119C = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_Project.cpp"; path = "../../Source/Project/jucer_Project.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
@@ -631,6 +634,7 @@ | |||
D4E56676E2EF83404EDCBA8C = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextEditor.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
D4F2D42C58F4D86E00E76F31 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandID.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandID.h"; sourceTree = "SOURCE_ROOT"; }; | |||
D503780AB98993E8F0BA1311 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
D5057D7B18ABD5E810A6F830 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeface.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
D526C38D581425949BA0E4AC = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_FilePreviewComponent.h"; path = "../../Source/Application/jucer_FilePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; | |||
D53B54D1786A1FFC024BF064 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_cryptography.mm"; path = "../../../../modules/juce_cryptography/juce_cryptography.mm"; sourceTree = "SOURCE_ROOT"; }; | |||
D5A6D00DEFDC650AF432A698 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Initialisation.h"; path = "../../../../modules/juce_gui_basics/application/juce_Initialisation.h"; sourceTree = "SOURCE_ROOT"; }; | |||
@@ -1179,6 +1183,8 @@ | |||
DB20268A566DABEAE3F2CBEE, | |||
93D165846B65A638F1C25C4C ); name = placement; sourceTree = "<group>"; }; | |||
59C2687AA614A77DA150AFAB = { isa = PBXGroup; children = ( | |||
BA1E340A922D0D7E543563CF, | |||
7B824A2F1BBE334B140BD8AF, | |||
3F1501FE4867042830B25DD5, | |||
CD3216F23C7B273B010A8D12, | |||
14B7611971E56AC319072A5A, | |||
@@ -1205,6 +1211,8 @@ | |||
0B96A219A0CFF707E5A13B68, | |||
2AADCE9D8BADF4DAC05CCA1E, | |||
21FAFA7F2C5D0E8D99876EA8, | |||
D5057D7B18ABD5E810A6F830, | |||
2ED5D4ABB34DAA5D6E93A171, | |||
5843A5060852C6ACC4770EC7 ); name = native; sourceTree = "<group>"; }; | |||
E9819C83D0B797FC71811B1B = { isa = PBXGroup; children = ( | |||
C3FB0CB81D460B4263689CAF, | |||
@@ -1758,6 +1758,17 @@ | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\placement\juce_RectanglePlacement.h"/> | |||
</Filter> | |||
<Filter Name="fonts"> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\fonts\juce_AttributedString.cpp"> | |||
<FileConfiguration Name="Debug|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
<FileConfiguration Name="Release|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
</File> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\fonts\juce_AttributedString.h"/> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\fonts\juce_CustomTypeface.cpp"> | |||
<FileConfiguration Name="Debug|Win32" | |||
ExcludedFromBuild="true"> | |||
@@ -1885,6 +1896,26 @@ | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
</File> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\native\juce_win32_DirectWriteTypeface.cpp"> | |||
<FileConfiguration Name="Debug|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
<FileConfiguration Name="Release|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
</File> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\native\juce_win32_DirectWriteTypeLayout.cpp"> | |||
<FileConfiguration Name="Debug|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
<FileConfiguration Name="Release|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
</File> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\native\juce_win32_Fonts.cpp"> | |||
<FileConfiguration Name="Debug|Win32" | |||
ExcludedFromBuild="true"> | |||
@@ -1758,6 +1758,17 @@ | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\placement\juce_RectanglePlacement.h"/> | |||
</Filter> | |||
<Filter Name="fonts"> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\fonts\juce_AttributedString.cpp"> | |||
<FileConfiguration Name="Debug|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
<FileConfiguration Name="Release|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
</File> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\fonts\juce_AttributedString.h"/> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\fonts\juce_CustomTypeface.cpp"> | |||
<FileConfiguration Name="Debug|Win32" | |||
ExcludedFromBuild="true"> | |||
@@ -1885,6 +1896,26 @@ | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
</File> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\native\juce_win32_DirectWriteTypeface.cpp"> | |||
<FileConfiguration Name="Debug|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
<FileConfiguration Name="Release|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
</File> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\native\juce_win32_DirectWriteTypeLayout.cpp"> | |||
<FileConfiguration Name="Debug|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
<FileConfiguration Name="Release|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
</File> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\native\juce_win32_Fonts.cpp"> | |||
<FileConfiguration Name="Debug|Win32" | |||
ExcludedFromBuild="true"> | |||
@@ -509,6 +509,9 @@ | |||
<ClCompile Include="..\..\..\..\modules\juce_graphics\placement\juce_RectanglePlacement.cpp"> | |||
<ExcludedFromBuild>true</ExcludedFromBuild> | |||
</ClCompile> | |||
<ClCompile Include="..\..\..\..\modules\juce_graphics\fonts\juce_AttributedString.cpp"> | |||
<ExcludedFromBuild>true</ExcludedFromBuild> | |||
</ClCompile> | |||
<ClCompile Include="..\..\..\..\modules\juce_graphics\fonts\juce_CustomTypeface.cpp"> | |||
<ExcludedFromBuild>true</ExcludedFromBuild> | |||
</ClCompile> | |||
@@ -542,6 +545,12 @@ | |||
<ClCompile Include="..\..\..\..\modules\juce_graphics\native\juce_win32_Direct2DGraphicsContext.cpp"> | |||
<ExcludedFromBuild>true</ExcludedFromBuild> | |||
</ClCompile> | |||
<ClCompile Include="..\..\..\..\modules\juce_graphics\native\juce_win32_DirectWriteTypeface.cpp"> | |||
<ExcludedFromBuild>true</ExcludedFromBuild> | |||
</ClCompile> | |||
<ClCompile Include="..\..\..\..\modules\juce_graphics\native\juce_win32_DirectWriteTypeLayout.cpp"> | |||
<ExcludedFromBuild>true</ExcludedFromBuild> | |||
</ClCompile> | |||
<ClCompile Include="..\..\..\..\modules\juce_graphics\native\juce_win32_Fonts.cpp"> | |||
<ExcludedFromBuild>true</ExcludedFromBuild> | |||
</ClCompile> | |||
@@ -1156,6 +1165,7 @@ | |||
<ClInclude Include="..\..\..\..\modules\juce_graphics\geometry\juce_RectangleList.h"/> | |||
<ClInclude Include="..\..\..\..\modules\juce_graphics\placement\juce_Justification.h"/> | |||
<ClInclude Include="..\..\..\..\modules\juce_graphics\placement\juce_RectanglePlacement.h"/> | |||
<ClInclude Include="..\..\..\..\modules\juce_graphics\fonts\juce_AttributedString.h"/> | |||
<ClInclude Include="..\..\..\..\modules\juce_graphics\fonts\juce_CustomTypeface.h"/> | |||
<ClInclude Include="..\..\..\..\modules\juce_graphics\fonts\juce_Font.h"/> | |||
<ClInclude Include="..\..\..\..\modules\juce_graphics\fonts\juce_GlyphArrangement.h"/> | |||
@@ -706,6 +706,9 @@ | |||
<ClCompile Include="..\..\..\..\modules\juce_graphics\placement\juce_RectanglePlacement.cpp"> | |||
<Filter>Juce Modules\juce_graphics\placement</Filter> | |||
</ClCompile> | |||
<ClCompile Include="..\..\..\..\modules\juce_graphics\fonts\juce_AttributedString.cpp"> | |||
<Filter>Juce Modules\juce_graphics\fonts</Filter> | |||
</ClCompile> | |||
<ClCompile Include="..\..\..\..\modules\juce_graphics\fonts\juce_CustomTypeface.cpp"> | |||
<Filter>Juce Modules\juce_graphics\fonts</Filter> | |||
</ClCompile> | |||
@@ -745,6 +748,12 @@ | |||
<ClCompile Include="..\..\..\..\modules\juce_graphics\native\juce_win32_Direct2DGraphicsContext.cpp"> | |||
<Filter>Juce Modules\juce_graphics\native</Filter> | |||
</ClCompile> | |||
<ClCompile Include="..\..\..\..\modules\juce_graphics\native\juce_win32_DirectWriteTypeface.cpp"> | |||
<Filter>Juce Modules\juce_graphics\native</Filter> | |||
</ClCompile> | |||
<ClCompile Include="..\..\..\..\modules\juce_graphics\native\juce_win32_DirectWriteTypeLayout.cpp"> | |||
<Filter>Juce Modules\juce_graphics\native</Filter> | |||
</ClCompile> | |||
<ClCompile Include="..\..\..\..\modules\juce_graphics\native\juce_win32_Fonts.cpp"> | |||
<Filter>Juce Modules\juce_graphics\native</Filter> | |||
</ClCompile> | |||
@@ -1821,6 +1830,9 @@ | |||
<ClInclude Include="..\..\..\..\modules\juce_graphics\placement\juce_RectanglePlacement.h"> | |||
<Filter>Juce Modules\juce_graphics\placement</Filter> | |||
</ClInclude> | |||
<ClInclude Include="..\..\..\..\modules\juce_graphics\fonts\juce_AttributedString.h"> | |||
<Filter>Juce Modules\juce_graphics\fonts</Filter> | |||
</ClInclude> | |||
<ClInclude Include="..\..\..\..\modules\juce_graphics\fonts\juce_CustomTypeface.h"> | |||
<Filter>Juce Modules\juce_graphics\fonts</Filter> | |||
</ClInclude> | |||
@@ -34,6 +34,7 @@ | |||
// juce_graphics flags: | |||
#define JUCE_USE_COREIMAGE_LOADER 0 | |||
//#define JUCE_USE_DIRECTWRITE | |||
//============================================================================== | |||
// juce_gui_basics flags: | |||
@@ -381,7 +381,7 @@ static const unsigned char temp_98c9479f[] = | |||
"/*\r\n" | |||
" ==============================================================================\r\n" | |||
"\r\n" | |||
" This file was auto-generated by the Jucer!\r\n" | |||
" This file was auto-generated!\r\n" | |||
"\r\n" | |||
" It contains the basic startup code for a Juce application.\r\n" | |||
"\r\n" | |||
@@ -563,7 +563,7 @@ static const unsigned char temp_62b91564[] = | |||
"/*\r\n" | |||
" ==============================================================================\r\n" | |||
"\r\n" | |||
" This file was auto-generated by the Jucer!\r\n" | |||
" This file was auto-generated!\r\n" | |||
"\r\n" | |||
" It contains the basic startup code for a Juce application.\r\n" | |||
"\r\n" | |||
@@ -640,7 +640,7 @@ static const unsigned char temp_794304c3[] = | |||
"/*\r\n" | |||
" ==============================================================================\r\n" | |||
"\r\n" | |||
" This file was auto-generated by the Jucer!\r\n" | |||
" This file was auto-generated!\r\n" | |||
"\r\n" | |||
" It contains the basic startup code for a Juce application.\r\n" | |||
"\r\n" | |||
@@ -783,7 +783,7 @@ static const unsigned char temp_6fd7e50[] = | |||
"/*\r\n" | |||
" ==============================================================================\r\n" | |||
"\r\n" | |||
" This file was auto-generated by the Jucer!\r\n" | |||
" This file was auto-generated!\r\n" | |||
"\r\n" | |||
" It contains the basic outline for a simple desktop window.\r\n" | |||
"\r\n" | |||
@@ -819,7 +819,7 @@ static const unsigned char temp_613d4455[] = | |||
"/*\r\n" | |||
" ==============================================================================\r\n" | |||
"\r\n" | |||
" This file was auto-generated by the Jucer!\r\n" | |||
" This file was auto-generated!\r\n" | |||
"\r\n" | |||
" It contains the basic outline for a simple desktop window.\r\n" | |||
"\r\n" | |||
@@ -20,13 +20,13 @@ namespace BinaryData | |||
const int jucer_AudioPluginEditorTemplate_hSize = 799; | |||
extern const char* jucer_AudioPluginFilterTemplate_cpp; | |||
const int jucer_AudioPluginFilterTemplate_cppSize = 4468; | |||
const int jucer_AudioPluginFilterTemplate_cppSize = 4455; | |||
extern const char* jucer_AudioPluginFilterTemplate_h; | |||
const int jucer_AudioPluginFilterTemplate_hSize = 2413; | |||
const int jucer_AudioPluginFilterTemplate_hSize = 2400; | |||
extern const char* jucer_MainConsoleAppTemplate_cpp; | |||
const int jucer_MainConsoleAppTemplate_cppSize = 483; | |||
const int jucer_MainConsoleAppTemplate_cppSize = 470; | |||
extern const char* jucer_MainTemplate_cpp; | |||
const int jucer_MainTemplate_cppSize = 1825; | |||
@@ -38,10 +38,10 @@ namespace BinaryData | |||
const int jucer_NewCppFileTemplate_hSize = 308; | |||
extern const char* jucer_WindowTemplate_cpp; | |||
const int jucer_WindowTemplate_cppSize = 794; | |||
const int jucer_WindowTemplate_cppSize = 781; | |||
extern const char* jucer_WindowTemplate_h; | |||
const int jucer_WindowTemplate_hSize = 1229; | |||
const int jucer_WindowTemplate_hSize = 1216; | |||
extern const char* juce_icon_png; | |||
const int juce_icon_pngSize = 19826; | |||
@@ -271,8 +271,10 @@ | |||
38CDDFDC6697BF7BCFC8DAFC = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatWriter.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
38E0255E6BB9600DEECD39F8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectangleList.h"; path = "../../../../modules/juce_graphics/geometry/juce_RectangleList.h"; sourceTree = "SOURCE_ROOT"; }; | |||
393CDFCFA0358C689E5A3691 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Logger.h"; path = "../../../../modules/juce_core/logging/juce_Logger.h"; sourceTree = "SOURCE_ROOT"; }; | |||
39DADA0AAD7468C535ECD5A2 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AttributedString.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
39ED2CD3C8A17DF313A0838B = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlDocument.h"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.h"; sourceTree = "SOURCE_ROOT"; }; | |||
3A3C8D765CD02651E2C39102 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardState.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
3A7C2EA6B6C8E00BBE6A29B1 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AttributedString.h"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.h"; sourceTree = "SOURCE_ROOT"; }; | |||
3A9AB41831037CF68FF5719F = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComboBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
3ADBF520293DBBCE5A605902 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadower.h"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.h"; sourceTree = "SOURCE_ROOT"; }; | |||
3AEC36869846977B0C09A881 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_ASCII.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_ASCII.h"; sourceTree = "SOURCE_ROOT"; }; | |||
@@ -428,6 +430,7 @@ | |||
669FD4C70B8BF2B87DEAFB73 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDataConverters.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.h"; sourceTree = "SOURCE_ROOT"; }; | |||
66E3497A9DCF883BCE6A27A8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBrowserComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
66F2929C04B6E230FFA975C8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessage.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessage.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
6704DC3810D991DADFF947AC = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeface.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
678034FB9D177C3D08044AB9 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTree.cpp"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
67B45F46192481A24287B06C = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginInstance.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.h"; sourceTree = "SOURCE_ROOT"; }; | |||
67DA4E3A02A5697DE923E0C5 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MixerAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
@@ -529,6 +532,7 @@ | |||
86DF811859C602F24589AC3D = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FilenameComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
877D61C08ADC5B13C2627327 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = OpenGLDemo.cpp; path = ../../Source/demos/OpenGLDemo.cpp; sourceTree = "SOURCE_ROOT"; }; | |||
87EDA764A802069F89CEC355 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsPostScriptRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h"; sourceTree = "SOURCE_ROOT"; }; | |||
87FB016388B49E97FCCBE69B = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Matrix3D.h"; path = "../../../../modules/juce_opengl/opengl/juce_Matrix3D.h"; sourceTree = "SOURCE_ROOT"; }; | |||
8878426C7F58CB22969E7133 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLContext.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLContext.h"; sourceTree = "SOURCE_ROOT"; }; | |||
89006BBD5040A06E6C559F16 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; | |||
890F3D7DA5BC01DACF8E5431 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../../../modules/juce_events/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; | |||
@@ -779,6 +783,7 @@ | |||
D27A3A58DCC37B5EFC3AD745 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AbstractFifo.h"; path = "../../../../modules/juce_core/containers/juce_AbstractFifo.h"; sourceTree = "SOURCE_ROOT"; }; | |||
D27D41D4A06E286FDBDF7549 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseCursor.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h"; sourceTree = "SOURCE_ROOT"; }; | |||
D2C40CDF46D894BFC72BDC56 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLHelpers.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.h"; sourceTree = "SOURCE_ROOT"; }; | |||
D2F161366612A4CDA6372113 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Vector3D.h"; path = "../../../../modules/juce_opengl/opengl/juce_Vector3D.h"; sourceTree = "SOURCE_ROOT"; }; | |||
D33142A214D7AC7A8ED27E4A = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DialogWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.h"; sourceTree = "SOURCE_ROOT"; }; | |||
D33EBA9793C56D73135BD1F0 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeParallelogram.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
D3AD73A360B24493ECC4E092 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; }; | |||
@@ -795,6 +800,7 @@ | |||
D7239D5B984E07808E2DB28C = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLHelpers.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
D7E6E92AA32B7D51489FD256 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBoundsConstrainer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h"; sourceTree = "SOURCE_ROOT"; }; | |||
D8081154AA3072D2F2C4B625 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_posix_SharedCode.h"; path = "../../../../modules/juce_core/native/juce_posix_SharedCode.h"; sourceTree = "SOURCE_ROOT"; }; | |||
D866C4735BF1EF0CA24FC1FB = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Draggable3DOrientation.h"; path = "../../../../modules/juce_opengl/opengl/juce_Draggable3DOrientation.h"; sourceTree = "SOURCE_ROOT"; }; | |||
D8AFC87A918360FFC9D96BE5 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Atomic.h"; path = "../../../../modules/juce_core/memory/juce_Atomic.h"; sourceTree = "SOURCE_ROOT"; }; | |||
D9282DF6556197822D2BD5D4 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertySet.cpp"; path = "../../../../modules/juce_core/containers/juce_PropertySet.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
DA0D464BE6E90C3668AD7C73 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_FileChooser.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm"; sourceTree = "SOURCE_ROOT"; }; | |||
@@ -807,7 +813,6 @@ | |||
DEA38275A65473112CD34252 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TreeView.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.h"; sourceTree = "SOURCE_ROOT"; }; | |||
DEB23C98FEC261260F63B6A4 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; | |||
DED6D04CFED991C5924B78F0 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MD5.h"; path = "../../../../modules/juce_cryptography/hashing/juce_MD5.h"; sourceTree = "SOURCE_ROOT"; }; | |||
DEE1FC30E2FBB97921616CA9 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Font.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Font.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
DF2D86EEA8031481C1FD08B2 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileTreeComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
DF590CD70352A30FA3BD9835 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
E0AE248F52C70AA1DEA1A5A1 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiOutput.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.h"; sourceTree = "SOURCE_ROOT"; }; | |||
@@ -821,8 +826,10 @@ | |||
E6448B3F03DD2B41519DF93D = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DiscRecording.framework; path = System/Library/Frameworks/DiscRecording.framework; sourceTree = SDKROOT; }; | |||
D119A3871626EC2B8EFCB0D4 = { isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = JuceDemo.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; | |||
D2F7081BE9A6E24BA7CD1A46 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioThumbnailCache.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
DEE1FC30E2FBB97921616CA9 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Font.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Font.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
DF3B7E1BC0AF0C826C47745B = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h"; sourceTree = "SOURCE_ROOT"; }; | |||
DF47E8197FF5A9309C062C61 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Justification.cpp"; path = "../../../../modules/juce_graphics/placement/juce_Justification.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
DFEAB699C98B89FF0B85F557 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeLayout.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
DFF6BF0BB64714A494A25E93 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RSAKey.h"; path = "../../../../modules/juce_cryptography/encryption/juce_RSAKey.h"; sourceTree = "SOURCE_ROOT"; }; | |||
E15F577E82B2E12597447472 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationBase.h"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.h"; sourceTree = "SOURCE_ROOT"; }; | |||
E2732267CD7C0C3BDB17456A = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BooleanPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; | |||
@@ -848,6 +855,7 @@ | |||
EB902A37F3AA5BC62D523F5B = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandTarget.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h"; sourceTree = "SOURCE_ROOT"; }; | |||
EB9E8921A8D36EDD7FF3245B = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileFilter.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileFilter.h"; sourceTree = "SOURCE_ROOT"; }; | |||
EC180AD91D1B068D7A8F33BB = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsDisplayComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h"; sourceTree = "SOURCE_ROOT"; }; | |||
EC89003BF30329181BB3EA4B = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Quaternion.h"; path = "../../../../modules/juce_opengl/opengl/juce_Quaternion.h"; sourceTree = "SOURCE_ROOT"; }; | |||
EC93857F367028441A067F45 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TooltipWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
EC97B274D075920B2490E0D8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; }; | |||
ECCEB7E5D6B18F1376E34EDC = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooser.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.h"; sourceTree = "SOURCE_ROOT"; }; | |||
@@ -1490,6 +1498,8 @@ | |||
C30EE4EFDB359E2A9D58F677, | |||
989587AD131FF27180BEB3D1 ); name = placement; sourceTree = "<group>"; }; | |||
0FC4D9918A17F33EEF6831F1 = { isa = PBXGroup; children = ( | |||
39DADA0AAD7468C535ECD5A2, | |||
3A7C2EA6B6C8E00BBE6A29B1, | |||
36DD59799C3C4279B18DEAD3, | |||
1118BAEA98C38755FEB9E274, | |||
DEE1FC30E2FBB97921616CA9, | |||
@@ -1516,6 +1526,8 @@ | |||
0BBEDD3E8C0C2B7C4B52016A, | |||
2649F70294DB168919CBCAD3, | |||
5712EB90A8B51DBBC4E19A39, | |||
6704DC3810D991DADFF947AC, | |||
DFEAB699C98B89FF0B85F557, | |||
5CABE190EBD0F4EEB763114A ); name = native; sourceTree = "<group>"; }; | |||
980520A52BB3BF76E45AECA8 = { isa = PBXGroup; children = ( | |||
6B073962B4485C2D4419DB53, | |||
@@ -1866,6 +1878,8 @@ | |||
5E12C726C5DBB9C81963FAB5, | |||
A97EC32975392744C62684F9 ); name = "juce_gui_extra"; sourceTree = "<group>"; }; | |||
EB8917291F41B7345B13B53E = { isa = PBXGroup; children = ( | |||
D866C4735BF1EF0CA24FC1FB, | |||
87FB016388B49E97FCCBE69B, | |||
4F802BD98072EA49F7F4FE4A, | |||
D6D0F076F54C7D669A9717C9, | |||
8878426C7F58CB22969E7133, | |||
@@ -1880,7 +1894,9 @@ | |||
B81FA2ED22BCC03D124031ED, | |||
942191F317B1B2B1CFBB7C60, | |||
FE9A5898294228EB7F439951, | |||
4CFB262AA9778621B8B33A7D ); name = opengl; sourceTree = "<group>"; }; | |||
4CFB262AA9778621B8B33A7D, | |||
EC89003BF30329181BB3EA4B, | |||
D2F161366612A4CDA6372113 ); name = opengl; sourceTree = "<group>"; }; | |||
C92FEA88254DAAE793DB3CF7 = { isa = PBXGroup; children = ( | |||
22C2C932398DC1EFE0880A9A, | |||
ED9FAEA9116C568942BAD000, | |||
@@ -2492,6 +2492,17 @@ | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\placement\juce_RectanglePlacement.h"/> | |||
</Filter> | |||
<Filter Name="fonts"> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\fonts\juce_AttributedString.cpp"> | |||
<FileConfiguration Name="Debug|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
<FileConfiguration Name="Release|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
</File> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\fonts\juce_AttributedString.h"/> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\fonts\juce_CustomTypeface.cpp"> | |||
<FileConfiguration Name="Debug|Win32" | |||
ExcludedFromBuild="true"> | |||
@@ -2619,6 +2630,26 @@ | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
</File> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\native\juce_win32_DirectWriteTypeface.cpp"> | |||
<FileConfiguration Name="Debug|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
<FileConfiguration Name="Release|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
</File> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\native\juce_win32_DirectWriteTypeLayout.cpp"> | |||
<FileConfiguration Name="Debug|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
<FileConfiguration Name="Release|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
</File> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\native\juce_win32_Fonts.cpp"> | |||
<FileConfiguration Name="Debug|Win32" | |||
ExcludedFromBuild="true"> | |||
@@ -4197,6 +4228,8 @@ | |||
</Filter> | |||
<Filter Name="juce_opengl"> | |||
<Filter Name="opengl"> | |||
<File RelativePath="..\..\..\..\modules\juce_opengl\opengl\juce_Draggable3DOrientation.h"/> | |||
<File RelativePath="..\..\..\..\modules\juce_opengl\opengl\juce_Matrix3D.h"/> | |||
<File RelativePath="..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLComponent.cpp"> | |||
<FileConfiguration Name="Debug|Win32" | |||
ExcludedFromBuild="true"> | |||
@@ -4266,6 +4299,8 @@ | |||
</FileConfiguration> | |||
</File> | |||
<File RelativePath="..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLTexture.h"/> | |||
<File RelativePath="..\..\..\..\modules\juce_opengl\opengl\juce_Quaternion.h"/> | |||
<File RelativePath="..\..\..\..\modules\juce_opengl\opengl\juce_Vector3D.h"/> | |||
</Filter> | |||
<Filter Name="native"> | |||
<File RelativePath="..\..\..\..\modules\juce_opengl\native\juce_android_OpenGLComponent.cpp"> | |||
@@ -2492,6 +2492,17 @@ | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\placement\juce_RectanglePlacement.h"/> | |||
</Filter> | |||
<Filter Name="fonts"> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\fonts\juce_AttributedString.cpp"> | |||
<FileConfiguration Name="Debug|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
<FileConfiguration Name="Release|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
</File> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\fonts\juce_AttributedString.h"/> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\fonts\juce_CustomTypeface.cpp"> | |||
<FileConfiguration Name="Debug|Win32" | |||
ExcludedFromBuild="true"> | |||
@@ -2619,6 +2630,26 @@ | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
</File> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\native\juce_win32_DirectWriteTypeface.cpp"> | |||
<FileConfiguration Name="Debug|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
<FileConfiguration Name="Release|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
</File> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\native\juce_win32_DirectWriteTypeLayout.cpp"> | |||
<FileConfiguration Name="Debug|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
<FileConfiguration Name="Release|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
</File> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\native\juce_win32_Fonts.cpp"> | |||
<FileConfiguration Name="Debug|Win32" | |||
ExcludedFromBuild="true"> | |||
@@ -4197,6 +4228,8 @@ | |||
</Filter> | |||
<Filter Name="juce_opengl"> | |||
<Filter Name="opengl"> | |||
<File RelativePath="..\..\..\..\modules\juce_opengl\opengl\juce_Draggable3DOrientation.h"/> | |||
<File RelativePath="..\..\..\..\modules\juce_opengl\opengl\juce_Matrix3D.h"/> | |||
<File RelativePath="..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLComponent.cpp"> | |||
<FileConfiguration Name="Debug|Win32" | |||
ExcludedFromBuild="true"> | |||
@@ -4266,6 +4299,8 @@ | |||
</FileConfiguration> | |||
</File> | |||
<File RelativePath="..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLTexture.h"/> | |||
<File RelativePath="..\..\..\..\modules\juce_opengl\opengl\juce_Quaternion.h"/> | |||
<File RelativePath="..\..\..\..\modules\juce_opengl\opengl\juce_Vector3D.h"/> | |||
</Filter> | |||
<Filter Name="native"> | |||
<File RelativePath="..\..\..\..\modules\juce_opengl\native\juce_android_OpenGLComponent.cpp"> | |||
@@ -692,6 +692,9 @@ | |||
<ClCompile Include="..\..\..\..\modules\juce_graphics\placement\juce_RectanglePlacement.cpp"> | |||
<ExcludedFromBuild>true</ExcludedFromBuild> | |||
</ClCompile> | |||
<ClCompile Include="..\..\..\..\modules\juce_graphics\fonts\juce_AttributedString.cpp"> | |||
<ExcludedFromBuild>true</ExcludedFromBuild> | |||
</ClCompile> | |||
<ClCompile Include="..\..\..\..\modules\juce_graphics\fonts\juce_CustomTypeface.cpp"> | |||
<ExcludedFromBuild>true</ExcludedFromBuild> | |||
</ClCompile> | |||
@@ -725,6 +728,12 @@ | |||
<ClCompile Include="..\..\..\..\modules\juce_graphics\native\juce_win32_Direct2DGraphicsContext.cpp"> | |||
<ExcludedFromBuild>true</ExcludedFromBuild> | |||
</ClCompile> | |||
<ClCompile Include="..\..\..\..\modules\juce_graphics\native\juce_win32_DirectWriteTypeface.cpp"> | |||
<ExcludedFromBuild>true</ExcludedFromBuild> | |||
</ClCompile> | |||
<ClCompile Include="..\..\..\..\modules\juce_graphics\native\juce_win32_DirectWriteTypeLayout.cpp"> | |||
<ExcludedFromBuild>true</ExcludedFromBuild> | |||
</ClCompile> | |||
<ClCompile Include="..\..\..\..\modules\juce_graphics\native\juce_win32_Fonts.cpp"> | |||
<ExcludedFromBuild>true</ExcludedFromBuild> | |||
</ClCompile> | |||
@@ -1424,6 +1433,7 @@ | |||
<ClInclude Include="..\..\..\..\modules\juce_graphics\geometry\juce_RectangleList.h"/> | |||
<ClInclude Include="..\..\..\..\modules\juce_graphics\placement\juce_Justification.h"/> | |||
<ClInclude Include="..\..\..\..\modules\juce_graphics\placement\juce_RectanglePlacement.h"/> | |||
<ClInclude Include="..\..\..\..\modules\juce_graphics\fonts\juce_AttributedString.h"/> | |||
<ClInclude Include="..\..\..\..\modules\juce_graphics\fonts\juce_CustomTypeface.h"/> | |||
<ClInclude Include="..\..\..\..\modules\juce_graphics\fonts\juce_Font.h"/> | |||
<ClInclude Include="..\..\..\..\modules\juce_graphics\fonts\juce_GlyphArrangement.h"/> | |||
@@ -1578,6 +1588,8 @@ | |||
<ClInclude Include="..\..\..\..\modules\juce_gui_extra\misc\juce_WebBrowserComponent.h"/> | |||
<ClInclude Include="..\..\..\..\modules\juce_gui_extra\native\juce_mac_CarbonViewWrapperComponent.h"/> | |||
<ClInclude Include="..\..\..\..\modules\juce_gui_extra\juce_gui_extra.h"/> | |||
<ClInclude Include="..\..\..\..\modules\juce_opengl\opengl\juce_Draggable3DOrientation.h"/> | |||
<ClInclude Include="..\..\..\..\modules\juce_opengl\opengl\juce_Matrix3D.h"/> | |||
<ClInclude Include="..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLComponent.h"/> | |||
<ClInclude Include="..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLContext.h"/> | |||
<ClInclude Include="..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLFrameBuffer.h"/> | |||
@@ -1587,6 +1599,8 @@ | |||
<ClInclude Include="..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLPixelFormat.h"/> | |||
<ClInclude Include="..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLRenderingTarget.h"/> | |||
<ClInclude Include="..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLTexture.h"/> | |||
<ClInclude Include="..\..\..\..\modules\juce_opengl\opengl\juce_Quaternion.h"/> | |||
<ClInclude Include="..\..\..\..\modules\juce_opengl\opengl\juce_Vector3D.h"/> | |||
<ClInclude Include="..\..\..\..\modules\juce_opengl\juce_opengl.h"/> | |||
<ClInclude Include="..\..\..\..\modules\juce_video\playback\juce_DirectShowComponent.h"/> | |||
<ClInclude Include="..\..\..\..\modules\juce_video\playback\juce_QuickTimeMovieComponent.h"/> | |||
@@ -997,6 +997,9 @@ | |||
<ClCompile Include="..\..\..\..\modules\juce_graphics\placement\juce_RectanglePlacement.cpp"> | |||
<Filter>Juce Modules\juce_graphics\placement</Filter> | |||
</ClCompile> | |||
<ClCompile Include="..\..\..\..\modules\juce_graphics\fonts\juce_AttributedString.cpp"> | |||
<Filter>Juce Modules\juce_graphics\fonts</Filter> | |||
</ClCompile> | |||
<ClCompile Include="..\..\..\..\modules\juce_graphics\fonts\juce_CustomTypeface.cpp"> | |||
<Filter>Juce Modules\juce_graphics\fonts</Filter> | |||
</ClCompile> | |||
@@ -1036,6 +1039,12 @@ | |||
<ClCompile Include="..\..\..\..\modules\juce_graphics\native\juce_win32_Direct2DGraphicsContext.cpp"> | |||
<Filter>Juce Modules\juce_graphics\native</Filter> | |||
</ClCompile> | |||
<ClCompile Include="..\..\..\..\modules\juce_graphics\native\juce_win32_DirectWriteTypeface.cpp"> | |||
<Filter>Juce Modules\juce_graphics\native</Filter> | |||
</ClCompile> | |||
<ClCompile Include="..\..\..\..\modules\juce_graphics\native\juce_win32_DirectWriteTypeLayout.cpp"> | |||
<Filter>Juce Modules\juce_graphics\native</Filter> | |||
</ClCompile> | |||
<ClCompile Include="..\..\..\..\modules\juce_graphics\native\juce_win32_Fonts.cpp"> | |||
<Filter>Juce Modules\juce_graphics\native</Filter> | |||
</ClCompile> | |||
@@ -2307,6 +2316,9 @@ | |||
<ClInclude Include="..\..\..\..\modules\juce_graphics\placement\juce_RectanglePlacement.h"> | |||
<Filter>Juce Modules\juce_graphics\placement</Filter> | |||
</ClInclude> | |||
<ClInclude Include="..\..\..\..\modules\juce_graphics\fonts\juce_AttributedString.h"> | |||
<Filter>Juce Modules\juce_graphics\fonts</Filter> | |||
</ClInclude> | |||
<ClInclude Include="..\..\..\..\modules\juce_graphics\fonts\juce_CustomTypeface.h"> | |||
<Filter>Juce Modules\juce_graphics\fonts</Filter> | |||
</ClInclude> | |||
@@ -2769,6 +2781,12 @@ | |||
<ClInclude Include="..\..\..\..\modules\juce_gui_extra\juce_gui_extra.h"> | |||
<Filter>Juce Modules\juce_gui_extra</Filter> | |||
</ClInclude> | |||
<ClInclude Include="..\..\..\..\modules\juce_opengl\opengl\juce_Draggable3DOrientation.h"> | |||
<Filter>Juce Modules\juce_opengl\opengl</Filter> | |||
</ClInclude> | |||
<ClInclude Include="..\..\..\..\modules\juce_opengl\opengl\juce_Matrix3D.h"> | |||
<Filter>Juce Modules\juce_opengl\opengl</Filter> | |||
</ClInclude> | |||
<ClInclude Include="..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLComponent.h"> | |||
<Filter>Juce Modules\juce_opengl\opengl</Filter> | |||
</ClInclude> | |||
@@ -2796,6 +2814,12 @@ | |||
<ClInclude Include="..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLTexture.h"> | |||
<Filter>Juce Modules\juce_opengl\opengl</Filter> | |||
</ClInclude> | |||
<ClInclude Include="..\..\..\..\modules\juce_opengl\opengl\juce_Quaternion.h"> | |||
<Filter>Juce Modules\juce_opengl\opengl</Filter> | |||
</ClInclude> | |||
<ClInclude Include="..\..\..\..\modules\juce_opengl\opengl\juce_Vector3D.h"> | |||
<Filter>Juce Modules\juce_opengl\opengl</Filter> | |||
</ClInclude> | |||
<ClInclude Include="..\..\..\..\modules\juce_opengl\juce_opengl.h"> | |||
<Filter>Juce Modules\juce_opengl</Filter> | |||
</ClInclude> | |||
@@ -264,8 +264,10 @@ | |||
38CDDFDC6697BF7BCFC8DAFC = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatWriter.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
38E0255E6BB9600DEECD39F8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectangleList.h"; path = "../../../../modules/juce_graphics/geometry/juce_RectangleList.h"; sourceTree = "SOURCE_ROOT"; }; | |||
393CDFCFA0358C689E5A3691 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Logger.h"; path = "../../../../modules/juce_core/logging/juce_Logger.h"; sourceTree = "SOURCE_ROOT"; }; | |||
39DADA0AAD7468C535ECD5A2 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AttributedString.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
39ED2CD3C8A17DF313A0838B = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlDocument.h"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.h"; sourceTree = "SOURCE_ROOT"; }; | |||
3A3C8D765CD02651E2C39102 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardState.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
3A7C2EA6B6C8E00BBE6A29B1 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AttributedString.h"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.h"; sourceTree = "SOURCE_ROOT"; }; | |||
3A9AB41831037CF68FF5719F = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComboBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
3ADBF520293DBBCE5A605902 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadower.h"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.h"; sourceTree = "SOURCE_ROOT"; }; | |||
3AEC36869846977B0C09A881 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_ASCII.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_ASCII.h"; sourceTree = "SOURCE_ROOT"; }; | |||
@@ -420,6 +422,7 @@ | |||
669FD4C70B8BF2B87DEAFB73 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDataConverters.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.h"; sourceTree = "SOURCE_ROOT"; }; | |||
66E3497A9DCF883BCE6A27A8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBrowserComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
66F2929C04B6E230FFA975C8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessage.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessage.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
6704DC3810D991DADFF947AC = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeface.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
678034FB9D177C3D08044AB9 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTree.cpp"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
67B45F46192481A24287B06C = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginInstance.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.h"; sourceTree = "SOURCE_ROOT"; }; | |||
67DA4E3A02A5697DE923E0C5 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MixerAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
@@ -522,6 +525,7 @@ | |||
86DF811859C602F24589AC3D = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FilenameComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
877D61C08ADC5B13C2627327 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = OpenGLDemo.cpp; path = ../../Source/demos/OpenGLDemo.cpp; sourceTree = "SOURCE_ROOT"; }; | |||
87EDA764A802069F89CEC355 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsPostScriptRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h"; sourceTree = "SOURCE_ROOT"; }; | |||
87FB016388B49E97FCCBE69B = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Matrix3D.h"; path = "../../../../modules/juce_opengl/opengl/juce_Matrix3D.h"; sourceTree = "SOURCE_ROOT"; }; | |||
8878426C7F58CB22969E7133 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLContext.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLContext.h"; sourceTree = "SOURCE_ROOT"; }; | |||
89006BBD5040A06E6C559F16 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; | |||
890F3D7DA5BC01DACF8E5431 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../../../modules/juce_events/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; | |||
@@ -770,6 +774,7 @@ | |||
D27A3A58DCC37B5EFC3AD745 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AbstractFifo.h"; path = "../../../../modules/juce_core/containers/juce_AbstractFifo.h"; sourceTree = "SOURCE_ROOT"; }; | |||
D27D41D4A06E286FDBDF7549 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseCursor.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h"; sourceTree = "SOURCE_ROOT"; }; | |||
D2C40CDF46D894BFC72BDC56 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLHelpers.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.h"; sourceTree = "SOURCE_ROOT"; }; | |||
D2F161366612A4CDA6372113 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Vector3D.h"; path = "../../../../modules/juce_opengl/opengl/juce_Vector3D.h"; sourceTree = "SOURCE_ROOT"; }; | |||
D2F7081BE9A6E24BA7CD1A46 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioThumbnailCache.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
D33142A214D7AC7A8ED27E4A = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DialogWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.h"; sourceTree = "SOURCE_ROOT"; }; | |||
D33EBA9793C56D73135BD1F0 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeParallelogram.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
@@ -786,6 +791,7 @@ | |||
D7239D5B984E07808E2DB28C = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLHelpers.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
D7E6E92AA32B7D51489FD256 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBoundsConstrainer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h"; sourceTree = "SOURCE_ROOT"; }; | |||
D8081154AA3072D2F2C4B625 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_posix_SharedCode.h"; path = "../../../../modules/juce_core/native/juce_posix_SharedCode.h"; sourceTree = "SOURCE_ROOT"; }; | |||
D866C4735BF1EF0CA24FC1FB = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Draggable3DOrientation.h"; path = "../../../../modules/juce_opengl/opengl/juce_Draggable3DOrientation.h"; sourceTree = "SOURCE_ROOT"; }; | |||
D8AFC87A918360FFC9D96BE5 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Atomic.h"; path = "../../../../modules/juce_core/memory/juce_Atomic.h"; sourceTree = "SOURCE_ROOT"; }; | |||
D9282DF6556197822D2BD5D4 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertySet.cpp"; path = "../../../../modules/juce_core/containers/juce_PropertySet.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
DA0D464BE6E90C3668AD7C73 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_FileChooser.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm"; sourceTree = "SOURCE_ROOT"; }; | |||
@@ -803,6 +809,7 @@ | |||
DF3B7E1BC0AF0C826C47745B = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h"; sourceTree = "SOURCE_ROOT"; }; | |||
DF47E8197FF5A9309C062C61 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Justification.cpp"; path = "../../../../modules/juce_graphics/placement/juce_Justification.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
DF590CD70352A30FA3BD9835 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
DFEAB699C98B89FF0B85F557 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeLayout.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
DFF6BF0BB64714A494A25E93 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RSAKey.h"; path = "../../../../modules/juce_cryptography/encryption/juce_RSAKey.h"; sourceTree = "SOURCE_ROOT"; }; | |||
E0AE248F52C70AA1DEA1A5A1 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiOutput.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.h"; sourceTree = "SOURCE_ROOT"; }; | |||
E15F577E82B2E12597447472 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationBase.h"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.h"; sourceTree = "SOURCE_ROOT"; }; | |||
@@ -838,6 +845,7 @@ | |||
EB902A37F3AA5BC62D523F5B = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandTarget.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h"; sourceTree = "SOURCE_ROOT"; }; | |||
EB9E8921A8D36EDD7FF3245B = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileFilter.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileFilter.h"; sourceTree = "SOURCE_ROOT"; }; | |||
EC180AD91D1B068D7A8F33BB = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsDisplayComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h"; sourceTree = "SOURCE_ROOT"; }; | |||
EC89003BF30329181BB3EA4B = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Quaternion.h"; path = "../../../../modules/juce_opengl/opengl/juce_Quaternion.h"; sourceTree = "SOURCE_ROOT"; }; | |||
EC93857F367028441A067F45 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TooltipWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
EC97B274D075920B2490E0D8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; }; | |||
ECCEB7E5D6B18F1376E34EDC = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooser.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.h"; sourceTree = "SOURCE_ROOT"; }; | |||
@@ -1480,6 +1488,8 @@ | |||
C30EE4EFDB359E2A9D58F677, | |||
989587AD131FF27180BEB3D1 ); name = placement; sourceTree = "<group>"; }; | |||
0FC4D9918A17F33EEF6831F1 = { isa = PBXGroup; children = ( | |||
39DADA0AAD7468C535ECD5A2, | |||
3A7C2EA6B6C8E00BBE6A29B1, | |||
36DD59799C3C4279B18DEAD3, | |||
1118BAEA98C38755FEB9E274, | |||
DEE1FC30E2FBB97921616CA9, | |||
@@ -1506,6 +1516,8 @@ | |||
0BBEDD3E8C0C2B7C4B52016A, | |||
2649F70294DB168919CBCAD3, | |||
5712EB90A8B51DBBC4E19A39, | |||
6704DC3810D991DADFF947AC, | |||
DFEAB699C98B89FF0B85F557, | |||
5CABE190EBD0F4EEB763114A ); name = native; sourceTree = "<group>"; }; | |||
980520A52BB3BF76E45AECA8 = { isa = PBXGroup; children = ( | |||
6B073962B4485C2D4419DB53, | |||
@@ -1856,6 +1868,8 @@ | |||
5E12C726C5DBB9C81963FAB5, | |||
A97EC32975392744C62684F9 ); name = "juce_gui_extra"; sourceTree = "<group>"; }; | |||
EB8917291F41B7345B13B53E = { isa = PBXGroup; children = ( | |||
D866C4735BF1EF0CA24FC1FB, | |||
87FB016388B49E97FCCBE69B, | |||
4F802BD98072EA49F7F4FE4A, | |||
D6D0F076F54C7D669A9717C9, | |||
8878426C7F58CB22969E7133, | |||
@@ -1870,7 +1884,9 @@ | |||
B81FA2ED22BCC03D124031ED, | |||
942191F317B1B2B1CFBB7C60, | |||
FE9A5898294228EB7F439951, | |||
4CFB262AA9778621B8B33A7D ); name = opengl; sourceTree = "<group>"; }; | |||
4CFB262AA9778621B8B33A7D, | |||
EC89003BF30329181BB3EA4B, | |||
D2F161366612A4CDA6372113 ); name = opengl; sourceTree = "<group>"; }; | |||
C92FEA88254DAAE793DB3CF7 = { isa = PBXGroup; children = ( | |||
22C2C932398DC1EFE0880A9A, | |||
ED9FAEA9116C568942BAD000, | |||
@@ -64,6 +64,7 @@ | |||
// juce_graphics flags: | |||
//#define JUCE_USE_COREIMAGE_LOADER | |||
//#define JUCE_USE_DIRECTWRITE | |||
//============================================================================== | |||
// juce_gui_basics flags: | |||
@@ -20,7 +20,7 @@ ifeq ($(CONFIG),Debug) | |||
CPPFLAGS := $(DEPFLAGS) -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I "/usr/include" -I "/usr/include/freetype2" -I "~/SDKs/vstsdk2.4" -I "../../JuceLibraryCode" | |||
CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -g -ggdb -fPIC -O0 | |||
CXXFLAGS += $(CFLAGS) | |||
LDFLAGS += -L$(BINDIR) -L$(LIBDIR) -shared -L"/usr/X11R6/lib/" -L"../../../../../juce/bin" -lfreetype -lpthread -lrt -lX11 -lGL -lGLU -lXinerama -lasound | |||
LDFLAGS += -L$(BINDIR) -L$(LIBDIR) -shared -L"/usr/X11R6/lib/" -L"../../../../../juce/bin" -lfreetype -lpthread -lrt -lX11 -lGL -lGLU -lXinerama -lasound -lXext | |||
LDDEPS := | |||
RESFLAGS := -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I "/usr/include" -I "/usr/include/freetype2" -I "~/SDKs/vstsdk2.4" -I "../../JuceLibraryCode" | |||
TARGET := JuceDemoPlugin.so | |||
@@ -35,7 +35,7 @@ ifeq ($(CONFIG),Release) | |||
CPPFLAGS := $(DEPFLAGS) -D "LINUX=1" -D "NDEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I "/usr/include" -I "/usr/include/freetype2" -I "~/SDKs/vstsdk2.4" -I "../../JuceLibraryCode" | |||
CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -fPIC -Os | |||
CXXFLAGS += $(CFLAGS) | |||
LDFLAGS += -L$(BINDIR) -L$(LIBDIR) -shared -L"/usr/X11R6/lib/" -L"../../../../../juce/bin" -lfreetype -lpthread -lrt -lX11 -lGL -lGLU -lXinerama -lasound | |||
LDFLAGS += -L$(BINDIR) -L$(LIBDIR) -shared -L"/usr/X11R6/lib/" -L"../../../../../juce/bin" -lfreetype -lpthread -lrt -lX11 -lGL -lGLU -lXinerama -lasound -lXext | |||
LDDEPS := | |||
RESFLAGS := -D "LINUX=1" -D "NDEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I "/usr/include" -I "/usr/include/freetype2" -I "~/SDKs/vstsdk2.4" -I "../../JuceLibraryCode" | |||
TARGET := JuceDemoPlugin.so | |||
@@ -431,6 +431,7 @@ | |||
768D64C69F7B45E93D789C98 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OwnedArray.h"; path = "../../../../modules/juce_core/containers/juce_OwnedArray.h"; sourceTree = "SOURCE_ROOT"; }; | |||
76D55C11232DE62691A084B6 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; | |||
76E1F46C757D4704DD0F7DFE = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemClipboard.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_SystemClipboard.h"; sourceTree = "SOURCE_ROOT"; }; | |||
7729ACF65D9863D2582C3ED8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AttributedString.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
773A8DF54F59CFC1C062FDA7 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScrollBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ScrollBar.h"; sourceTree = "SOURCE_ROOT"; }; | |||
7763B76C3E036AC3C028DBAC = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsRegistry.h"; path = "../../../../modules/juce_core/misc/juce_WindowsRegistry.h"; sourceTree = "SOURCE_ROOT"; }; | |||
7808ECB520277B59485718C8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsPostScriptRenderer.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
@@ -452,6 +453,7 @@ | |||
7DC4334C7DA62856B8E70B25 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatWriter.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
7E1239926CC4A760AE07FF37 = { isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_data_structures/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; | |||
7EC813E6F2E7303438F82090 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; | |||
7F38C9D398788039FD8CAF23 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeface.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
7F4472B4691BF3FED1C2025C = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PopupMenu.h"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.h"; sourceTree = "SOURCE_ROOT"; }; | |||
7F85C06C86BD056B387ED7A6 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GraphicsContext.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
7FBA208089BE0BD3949776EB = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseEvent.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
@@ -633,6 +635,7 @@ | |||
B829B4BAE71C6F09169542B8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../../../modules/juce_core/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; | |||
B8B25605AB1A04A8AE545227 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageCache.h"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.h"; sourceTree = "SOURCE_ROOT"; }; | |||
B8B760CB559864834CC9AB32 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SubregionStream.h"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.h"; sourceTree = "SOURCE_ROOT"; }; | |||
B9BE6469604B9D3252EFA7E7 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AttributedString.h"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.h"; sourceTree = "SOURCE_ROOT"; }; | |||
BAF34E1248A8D20DDA992AFD = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentDragger.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
BB1148DE7477E7B58ABD2B95 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSubsectionReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.h"; sourceTree = "SOURCE_ROOT"; }; | |||
BB84A0B296CFBF17FAF145B0 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TemporaryFile.h"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.h"; sourceTree = "SOURCE_ROOT"; }; | |||
@@ -712,6 +715,7 @@ | |||
D61536C96044EF9D6AC724F7 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryIterator.h"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.h"; sourceTree = "SOURCE_ROOT"; }; | |||
D6274E461525C6F6FB84B336 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ShapeButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h"; sourceTree = "SOURCE_ROOT"; }; | |||
D6C649F04F03DA0744EA0456 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageManager.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageManager.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
D722F49E225A9A47AA348628 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeLayout.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
D79B9A384D018B252B6C4D6B = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Image.h"; path = "../../../../modules/juce_graphics/images/juce_Image.h"; sourceTree = "SOURCE_ROOT"; }; | |||
D85ABD84770A6A66B78C288B = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiOutput.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.h"; sourceTree = "SOURCE_ROOT"; }; | |||
D88796A40E58D524DE34989B = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageListener.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageListener.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
@@ -1404,6 +1408,8 @@ | |||
EDD6B4608C8E4C7E7581489D, | |||
E95E53ABEA2884BA27EF0545 ); name = placement; sourceTree = "<group>"; }; | |||
A6DB78E18DD0399D8FA6881E = { isa = PBXGroup; children = ( | |||
7729ACF65D9863D2582C3ED8, | |||
B9BE6469604B9D3252EFA7E7, | |||
B57C430D154C1C86350F246A, | |||
0E87CC46EB3070AD4D904EF5, | |||
F04CF5D4410243EF3DEDBEB8, | |||
@@ -1430,6 +1436,8 @@ | |||
56A295F04B7F248D0A52B878, | |||
1127215528CC4A4A504078BF, | |||
C8302DD07934EBD796C2BFBB, | |||
7F38C9D398788039FD8CAF23, | |||
D722F49E225A9A47AA348628, | |||
78959840E3EF9DC06998BB42 ); name = native; sourceTree = "<group>"; }; | |||
F0F89564A3784EB052CEE01B = { isa = PBXGroup; children = ( | |||
07D63FE21B0E6CB624B00E8D, | |||
@@ -2369,6 +2369,17 @@ | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\placement\juce_RectanglePlacement.h"/> | |||
</Filter> | |||
<Filter Name="fonts"> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\fonts\juce_AttributedString.cpp"> | |||
<FileConfiguration Name="Debug|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
<FileConfiguration Name="Release|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
</File> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\fonts\juce_AttributedString.h"/> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\fonts\juce_CustomTypeface.cpp"> | |||
<FileConfiguration Name="Debug|Win32" | |||
ExcludedFromBuild="true"> | |||
@@ -2496,6 +2507,26 @@ | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
</File> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\native\juce_win32_DirectWriteTypeface.cpp"> | |||
<FileConfiguration Name="Debug|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
<FileConfiguration Name="Release|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
</File> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\native\juce_win32_DirectWriteTypeLayout.cpp"> | |||
<FileConfiguration Name="Debug|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
<FileConfiguration Name="Release|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
</File> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\native\juce_win32_Fonts.cpp"> | |||
<FileConfiguration Name="Debug|Win32" | |||
ExcludedFromBuild="true"> | |||
@@ -2369,6 +2369,17 @@ | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\placement\juce_RectanglePlacement.h"/> | |||
</Filter> | |||
<Filter Name="fonts"> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\fonts\juce_AttributedString.cpp"> | |||
<FileConfiguration Name="Debug|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
<FileConfiguration Name="Release|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
</File> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\fonts\juce_AttributedString.h"/> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\fonts\juce_CustomTypeface.cpp"> | |||
<FileConfiguration Name="Debug|Win32" | |||
ExcludedFromBuild="true"> | |||
@@ -2496,6 +2507,26 @@ | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
</File> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\native\juce_win32_DirectWriteTypeface.cpp"> | |||
<FileConfiguration Name="Debug|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
<FileConfiguration Name="Release|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
</File> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\native\juce_win32_DirectWriteTypeLayout.cpp"> | |||
<FileConfiguration Name="Debug|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
<FileConfiguration Name="Release|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
</File> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\native\juce_win32_Fonts.cpp"> | |||
<FileConfiguration Name="Debug|Win32" | |||
ExcludedFromBuild="true"> | |||
@@ -61,6 +61,7 @@ | |||
// juce_graphics flags: | |||
//#define JUCE_USE_COREIMAGE_LOADER | |||
//#define JUCE_USE_DIRECTWRITE | |||
//============================================================================== | |||
// juce_gui_basics flags: | |||
@@ -20,7 +20,7 @@ ifeq ($(CONFIG),Debug) | |||
CPPFLAGS := $(DEPFLAGS) -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I "/usr/include" -I "/usr/include/freetype2" -I "~/SDKs/vstsdk2.4" -I "../../JuceLibraryCode" | |||
CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0 | |||
CXXFLAGS += $(CFLAGS) | |||
LDFLAGS += -L$(BINDIR) -L$(LIBDIR) -L"/usr/X11R6/lib/" -L"../../../../../juce/bin" -lfreetype -lpthread -lrt -lX11 -lGL -lGLU -lXinerama -lasound | |||
LDFLAGS += -L$(BINDIR) -L$(LIBDIR) -L"/usr/X11R6/lib/" -L"../../../../../juce/bin" -lfreetype -lpthread -lrt -lX11 -lGL -lGLU -lXinerama -lasound -lXext | |||
LDDEPS := | |||
RESFLAGS := -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I "/usr/include" -I "/usr/include/freetype2" -I "~/SDKs/vstsdk2.4" -I "../../JuceLibraryCode" | |||
TARGET := Plugin\ Host | |||
@@ -35,7 +35,7 @@ ifeq ($(CONFIG),Release) | |||
CPPFLAGS := $(DEPFLAGS) -D "LINUX=1" -D "NDEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I "/usr/include" -I "/usr/include/freetype2" -I "~/SDKs/vstsdk2.4" -I "../../JuceLibraryCode" | |||
CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -Os | |||
CXXFLAGS += $(CFLAGS) | |||
LDFLAGS += -L$(BINDIR) -L$(LIBDIR) -L"/usr/X11R6/lib/" -L"../../../../../juce/bin" -lfreetype -lpthread -lrt -lX11 -lGL -lGLU -lXinerama -lasound | |||
LDFLAGS += -L$(BINDIR) -L$(LIBDIR) -L"/usr/X11R6/lib/" -L"../../../../../juce/bin" -lfreetype -lpthread -lrt -lX11 -lGL -lGLU -lXinerama -lasound -lXext | |||
LDDEPS := | |||
RESFLAGS := -D "LINUX=1" -D "NDEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I "/usr/include" -I "/usr/include/freetype2" -I "~/SDKs/vstsdk2.4" -I "../../JuceLibraryCode" | |||
TARGET := Plugin\ Host | |||
@@ -294,6 +294,7 @@ | |||
47C408503AAF7D0AAF1484D0 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MarkerList.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
47D5DB3D6E203E43E808C4C1 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SVGParser.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
480EB4F8B71B880C74AA82F3 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsRegistry.h"; path = "../../../../modules/juce_core/misc/juce_WindowsRegistry.h"; sourceTree = "SOURCE_ROOT"; }; | |||
483527FCBD7F07A7AF4743CC = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Matrix3D.h"; path = "../../../../modules/juce_opengl/opengl/juce_Matrix3D.h"; sourceTree = "SOURCE_ROOT"; }; | |||
4876E03AA7977023BDABA2A4 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDescription.h"; path = "../../../../modules/juce_audio_processors/processors/juce_PluginDescription.h"; sourceTree = "SOURCE_ROOT"; }; | |||
492D3AE0538BC4DA6A6F7A27 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_JSON.h"; path = "../../../../modules/juce_core/json/juce_JSON.h"; sourceTree = "SOURCE_ROOT"; }; | |||
4A394735BB54B32F3BA7A221 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; | |||
@@ -357,6 +358,7 @@ | |||
5C24DE268797C1C7AC932837 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Socket.cpp"; path = "../../../../modules/juce_core/network/juce_Socket.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
5CAD4033015519DB9995E82C = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemStats.h"; path = "../../../../modules/juce_core/system/juce_SystemStats.h"; sourceTree = "SOURCE_ROOT"; }; | |||
5CD825D3FEC4CA9FEE05D4D2 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AsyncUpdater.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
5D6AF55EDB77231E95C23086 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AttributedString.h"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.h"; sourceTree = "SOURCE_ROOT"; }; | |||
5DF1460C31CD1BF8FADF56D3 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentAnimator.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
5E0882CA277CB65EBD9292BD = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TemporaryFile.cpp"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
5E362FF0C74127A56DB805BB = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF32.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF32.h"; sourceTree = "SOURCE_ROOT"; }; | |||
@@ -364,6 +366,7 @@ | |||
5FA7C14489B6B17B022ACB6B = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; }; | |||
600E61BFB0C43971B0A5D720 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GenericAudioProcessorEditor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
60BDD56D876ECD61169BD3D5 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SplashScreen.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.h"; sourceTree = "SOURCE_ROOT"; }; | |||
60FEADAA8A60C12E4F2AEDD4 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AttributedString.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
616738BCE455C5D3DD13CDFB = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChoicePropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
61DCCE39ADAE59345FE119C2 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryOutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
627709CC8F994ADFE362022E = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; }; | |||
@@ -423,6 +426,7 @@ | |||
736D23CB06CFD14ECE4471CC = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableObjectResizer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h"; sourceTree = "SOURCE_ROOT"; }; | |||
7399BECD1499CBFE6CB6C9B5 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h"; sourceTree = "SOURCE_ROOT"; }; | |||
740BB2D6D4D42F73A8334824 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_FileChooser.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm"; sourceTree = "SOURCE_ROOT"; }; | |||
74CAA9C9A8F37A9FF99103F5 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Draggable3DOrientation.h"; path = "../../../../modules/juce_opengl/opengl/juce_Draggable3DOrientation.h"; sourceTree = "SOURCE_ROOT"; }; | |||
75F290D7B7C53C03DC653FC5 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TimeSliceThread.h"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.h"; sourceTree = "SOURCE_ROOT"; }; | |||
75FCAA8D3DF24813844D6552 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandTarget.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
7646DD91B282525F32FB8518 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FillType.cpp"; path = "../../../../modules/juce_graphics/colour/juce_FillType.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
@@ -568,6 +572,7 @@ | |||
A00EEAF2F98E0988499D2A92 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationProperties.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.h"; sourceTree = "SOURCE_ROOT"; }; | |||
A0582351AC1B641E0590F7AD = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ButtonPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; | |||
A0D98B5B7E49B6D7BB1FAA6B = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeRectangle.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.h"; sourceTree = "SOURCE_ROOT"; }; | |||
A1DC3C215187E6DD24DD7330 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Quaternion.h"; path = "../../../../modules/juce_opengl/opengl/juce_Quaternion.h"; sourceTree = "SOURCE_ROOT"; }; | |||
A249AD24A52F52ACBFDA6149 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
A24D1AD27646BD96ED513A2F = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Desktop.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
A2C29B131B0CF45F91AEAB8E = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Label.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.h"; sourceTree = "SOURCE_ROOT"; }; | |||
@@ -599,6 +604,7 @@ | |||
AE7BE10688B3F7C18D21E9B9 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
AEB543D49F0CD263051AC7ED = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrowButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h"; sourceTree = "SOURCE_ROOT"; }; | |||
AEC8535EE0876B4B29206E6E = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableShape.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.h"; sourceTree = "SOURCE_ROOT"; }; | |||
AED08170765217A058A8C3BA = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Vector3D.h"; path = "../../../../modules/juce_opengl/opengl/juce_Vector3D.h"; sourceTree = "SOURCE_ROOT"; }; | |||
B03CEB6B84C7C8D1840CEFF3 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPath.cpp"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
B0935EBBA4F6E2B05F3D1C0A = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; }; | |||
B1068476E683AADD3CD8AD55 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_GraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; | |||
@@ -705,6 +711,7 @@ | |||
CF0F1D933CE2A89A9D05FF38 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourGradient.h"; path = "../../../../modules/juce_graphics/colour/juce_ColourGradient.h"; sourceTree = "SOURCE_ROOT"; }; | |||
CF27DFD59466D38E34428405 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Typeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.h"; sourceTree = "SOURCE_ROOT"; }; | |||
CF299925A6A365E288DC206E = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
D0A714338F6B7A47BA1F8F45 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeface.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
D104AE78E68E1C382F5F1A81 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = System/Library/Frameworks/QuickTime.framework; sourceTree = SDKROOT; }; | |||
D313CF37B25D7FD313C4F336 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; }; | |||
D314CF2F97529FCF35042263 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ActionBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
@@ -817,6 +824,7 @@ | |||
F0BFBF49596C78EA5FA009DE = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseListener.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
F0E65E0A0D9C0F8D9D6A8116 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_MessageQueue.h"; path = "../../../../modules/juce_events/native/juce_osx_MessageQueue.h"; sourceTree = "SOURCE_ROOT"; }; | |||
F1784ECBF60C425066642C81 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KnownPluginList.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.h"; sourceTree = "SOURCE_ROOT"; }; | |||
F186D87D177BE735EA9D6BC2 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeLayout.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
F1C0CFDC6BF9AD9502D78223 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageConvolutionKernel.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
F1FFDABA2B6EFBD4F57EF676 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReverbAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
F242FFC66D5385888A14744E = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AlertWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
@@ -1412,6 +1420,8 @@ | |||
6462581CC4840341D6E7903F, | |||
5B4DD89CB29AEF782C6D878C ); name = placement; sourceTree = "<group>"; }; | |||
9C8B57AFB5296F6948159935 = { isa = PBXGroup; children = ( | |||
60FEADAA8A60C12E4F2AEDD4, | |||
5D6AF55EDB77231E95C23086, | |||
E513696B3670F32F12D807C0, | |||
E66AB26776DD0039834DBC76, | |||
8FF2B48D3DC38ABCDA0BBE83, | |||
@@ -1438,6 +1448,8 @@ | |||
AA7350771ED17561EB915EED, | |||
94D27CA81B1481621186F4D5, | |||
C62FBDF34D1B74CCF12AEA2F, | |||
D0A714338F6B7A47BA1F8F45, | |||
F186D87D177BE735EA9D6BC2, | |||
64A1DACEA71957604AD58B3C ); name = native; sourceTree = "<group>"; }; | |||
735136A0AB9278D0871D9684 = { isa = PBXGroup; children = ( | |||
EEC8570C058DC7EBFF48BF5E, | |||
@@ -1788,6 +1800,8 @@ | |||
016748F561B0B5046F24DDA0, | |||
923E4322525FD5CCAA5F911B ); name = "juce_gui_extra"; sourceTree = "<group>"; }; | |||
E23F6FDE88C4164420DC07F6 = { isa = PBXGroup; children = ( | |||
74CAA9C9A8F37A9FF99103F5, | |||
483527FCBD7F07A7AF4743CC, | |||
CD96180DDD8610A155629CE1, | |||
E89669EB797637247F52D30F, | |||
BE0231D93CBB02BBC2704D1D, | |||
@@ -1802,7 +1816,9 @@ | |||
8BA1AF085755958342C9213A, | |||
597D5688E23397FE09F53BA3, | |||
651055751E902F40B83EFD55, | |||
09089786B542AEB678DDE38F ); name = opengl; sourceTree = "<group>"; }; | |||
09089786B542AEB678DDE38F, | |||
A1DC3C215187E6DD24DD7330, | |||
AED08170765217A058A8C3BA ); name = opengl; sourceTree = "<group>"; }; | |||
E8C88E6E3FEC2E7A4373205B = { isa = PBXGroup; children = ( | |||
0DA6343549C1279EEDA7A81A, | |||
6E673B706EA21387275F30FD, | |||
@@ -2415,6 +2415,17 @@ | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\placement\juce_RectanglePlacement.h"/> | |||
</Filter> | |||
<Filter Name="fonts"> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\fonts\juce_AttributedString.cpp"> | |||
<FileConfiguration Name="Debug|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
<FileConfiguration Name="Release|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
</File> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\fonts\juce_AttributedString.h"/> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\fonts\juce_CustomTypeface.cpp"> | |||
<FileConfiguration Name="Debug|Win32" | |||
ExcludedFromBuild="true"> | |||
@@ -2542,6 +2553,26 @@ | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
</File> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\native\juce_win32_DirectWriteTypeface.cpp"> | |||
<FileConfiguration Name="Debug|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
<FileConfiguration Name="Release|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
</File> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\native\juce_win32_DirectWriteTypeLayout.cpp"> | |||
<FileConfiguration Name="Debug|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
<FileConfiguration Name="Release|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
</File> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\native\juce_win32_Fonts.cpp"> | |||
<FileConfiguration Name="Debug|Win32" | |||
ExcludedFromBuild="true"> | |||
@@ -4120,6 +4151,8 @@ | |||
</Filter> | |||
<Filter Name="juce_opengl"> | |||
<Filter Name="opengl"> | |||
<File RelativePath="..\..\..\..\modules\juce_opengl\opengl\juce_Draggable3DOrientation.h"/> | |||
<File RelativePath="..\..\..\..\modules\juce_opengl\opengl\juce_Matrix3D.h"/> | |||
<File RelativePath="..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLComponent.cpp"> | |||
<FileConfiguration Name="Debug|Win32" | |||
ExcludedFromBuild="true"> | |||
@@ -4189,6 +4222,8 @@ | |||
</FileConfiguration> | |||
</File> | |||
<File RelativePath="..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLTexture.h"/> | |||
<File RelativePath="..\..\..\..\modules\juce_opengl\opengl\juce_Quaternion.h"/> | |||
<File RelativePath="..\..\..\..\modules\juce_opengl\opengl\juce_Vector3D.h"/> | |||
</Filter> | |||
<Filter Name="native"> | |||
<File RelativePath="..\..\..\..\modules\juce_opengl\native\juce_android_OpenGLComponent.cpp"> | |||
@@ -2415,6 +2415,17 @@ | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\placement\juce_RectanglePlacement.h"/> | |||
</Filter> | |||
<Filter Name="fonts"> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\fonts\juce_AttributedString.cpp"> | |||
<FileConfiguration Name="Debug|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
<FileConfiguration Name="Release|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
</File> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\fonts\juce_AttributedString.h"/> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\fonts\juce_CustomTypeface.cpp"> | |||
<FileConfiguration Name="Debug|Win32" | |||
ExcludedFromBuild="true"> | |||
@@ -2542,6 +2553,26 @@ | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
</File> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\native\juce_win32_DirectWriteTypeface.cpp"> | |||
<FileConfiguration Name="Debug|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
<FileConfiguration Name="Release|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
</File> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\native\juce_win32_DirectWriteTypeLayout.cpp"> | |||
<FileConfiguration Name="Debug|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
<FileConfiguration Name="Release|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
</File> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\native\juce_win32_Fonts.cpp"> | |||
<FileConfiguration Name="Debug|Win32" | |||
ExcludedFromBuild="true"> | |||
@@ -4120,6 +4151,8 @@ | |||
</Filter> | |||
<Filter Name="juce_opengl"> | |||
<Filter Name="opengl"> | |||
<File RelativePath="..\..\..\..\modules\juce_opengl\opengl\juce_Draggable3DOrientation.h"/> | |||
<File RelativePath="..\..\..\..\modules\juce_opengl\opengl\juce_Matrix3D.h"/> | |||
<File RelativePath="..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLComponent.cpp"> | |||
<FileConfiguration Name="Debug|Win32" | |||
ExcludedFromBuild="true"> | |||
@@ -4189,6 +4222,8 @@ | |||
</FileConfiguration> | |||
</File> | |||
<File RelativePath="..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLTexture.h"/> | |||
<File RelativePath="..\..\..\..\modules\juce_opengl\opengl\juce_Quaternion.h"/> | |||
<File RelativePath="..\..\..\..\modules\juce_opengl\opengl\juce_Vector3D.h"/> | |||
</Filter> | |||
<Filter Name="native"> | |||
<File RelativePath="..\..\..\..\modules\juce_opengl\native\juce_android_OpenGLComponent.cpp"> | |||
@@ -64,6 +64,7 @@ | |||
// juce_graphics flags: | |||
//#define JUCE_USE_COREIMAGE_LOADER | |||
//#define JUCE_USE_DIRECTWRITE | |||
//============================================================================== | |||
// juce_gui_basics flags: | |||
@@ -20,7 +20,7 @@ ifeq ($(CONFIG),Debug) | |||
CPPFLAGS := $(DEPFLAGS) -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I "/usr/include" -I "/usr/include/freetype2" -I "../../JuceLibraryCode" | |||
CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0 | |||
CXXFLAGS += $(CFLAGS) | |||
LDFLAGS += -L$(BINDIR) -L$(LIBDIR) -L"/usr/X11R6/lib/" -L"../../../../../juce/bin" -lfreetype -lpthread -lrt -lX11 -lGL -lGLU -lXinerama -lasound | |||
LDFLAGS += -L$(BINDIR) -L$(LIBDIR) -L"/usr/X11R6/lib/" -L"../../../../../juce/bin" -lfreetype -lpthread -lrt -lX11 -lGL -lGLU -lXinerama -lasound -lXext | |||
LDDEPS := | |||
RESFLAGS := -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I "/usr/include" -I "/usr/include/freetype2" -I "../../JuceLibraryCode" | |||
TARGET := BinaryBuilder | |||
@@ -35,7 +35,7 @@ ifeq ($(CONFIG),Release) | |||
CPPFLAGS := $(DEPFLAGS) -D "LINUX=1" -D "NDEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I "/usr/include" -I "/usr/include/freetype2" -I "../../JuceLibraryCode" | |||
CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -Os | |||
CXXFLAGS += $(CFLAGS) | |||
LDFLAGS += -L$(BINDIR) -L$(LIBDIR) -L"/usr/X11R6/lib/" -L"../../../../../juce/bin" -lfreetype -lpthread -lrt -lX11 -lGL -lGLU -lXinerama -lasound | |||
LDFLAGS += -L$(BINDIR) -L$(LIBDIR) -L"/usr/X11R6/lib/" -L"../../../../../juce/bin" -lfreetype -lpthread -lrt -lX11 -lGL -lGLU -lXinerama -lasound -lXext | |||
LDDEPS := | |||
RESFLAGS := -D "LINUX=1" -D "NDEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I "/usr/include" -I "/usr/include/freetype2" -I "../../JuceLibraryCode" | |||
TARGET := BinaryBuilder | |||
@@ -20,7 +20,7 @@ ifeq ($(CONFIG),Debug) | |||
CPPFLAGS := $(DEPFLAGS) -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I "/usr/include" -I "/usr/include/freetype2" -I "../../JuceLibraryCode" | |||
CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0 | |||
CXXFLAGS += $(CFLAGS) | |||
LDFLAGS += -L$(BINDIR) -L$(LIBDIR) -L"/usr/X11R6/lib/" -L"../../../../../juce/bin" -lfreetype -lpthread -lrt -lX11 -lGL -lGLU -lXinerama -lasound | |||
LDFLAGS += -L$(BINDIR) -L$(LIBDIR) -L"/usr/X11R6/lib/" -L"../../../../../juce/bin" -lfreetype -lpthread -lrt -lX11 -lGL -lGLU -lXinerama -lasound -lXext | |||
LDDEPS := | |||
RESFLAGS := -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I "/usr/include" -I "/usr/include/freetype2" -I "../../JuceLibraryCode" | |||
TARGET := HelloWorld | |||
@@ -35,7 +35,7 @@ ifeq ($(CONFIG),Release) | |||
CPPFLAGS := $(DEPFLAGS) -D "LINUX=1" -D "NDEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I "/usr/include" -I "/usr/include/freetype2" -I "../../JuceLibraryCode" | |||
CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -Os | |||
CXXFLAGS += $(CFLAGS) | |||
LDFLAGS += -L$(BINDIR) -L$(LIBDIR) -L"/usr/X11R6/lib/" -L"../../../../../juce/bin" -lfreetype -lpthread -lrt -lX11 -lGL -lGLU -lXinerama -lasound | |||
LDFLAGS += -L$(BINDIR) -L$(LIBDIR) -L"/usr/X11R6/lib/" -L"../../../../../juce/bin" -lfreetype -lpthread -lrt -lX11 -lGL -lGLU -lXinerama -lasound -lXext | |||
LDDEPS := | |||
RESFLAGS := -D "LINUX=1" -D "NDEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I "/usr/include" -I "/usr/include/freetype2" -I "../../JuceLibraryCode" | |||
TARGET := HelloWorld | |||
@@ -32,6 +32,7 @@ | |||
02FA201D32033D122C04A1B5 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Justification.h"; path = "../../../../modules/juce_graphics/placement/juce_Justification.h"; sourceTree = "SOURCE_ROOT"; }; | |||
0324378725B8DEBC11E93953 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedButtonBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.h"; sourceTree = "SOURCE_ROOT"; }; | |||
03E4C81E1D323C0CD78DC8A7 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentDragger.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.h"; sourceTree = "SOURCE_ROOT"; }; | |||
0493323D5A1374BBEFCFE455 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeface.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
04A6FE27FC63E4D27E857CBF = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_ObjCHelpers.h"; path = "../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h"; sourceTree = "SOURCE_ROOT"; }; | |||
0525B4E0F2387B1F3AA520F8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.h"; sourceTree = "SOURCE_ROOT"; }; | |||
068349E735D107BE09BEC641 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Array.h"; path = "../../../../modules/juce_core/containers/juce_Array.h"; sourceTree = "SOURCE_ROOT"; }; | |||
@@ -63,6 +64,7 @@ | |||
118B13BE32C7FDCE82BDC495 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
1259079CB2A8907577BBBAA3 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertiesFile.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h"; sourceTree = "SOURCE_ROOT"; }; | |||
130A28E84D438B08C6B5D5A5 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HyperlinkButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
1316BB7ACE3F151F3B44A3EC = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AttributedString.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
133B528A88E99C116B75BFDA = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarComponent.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
140B14E0142DF835F1C6D951 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CarbonViewWrapperComponent.h"; path = "../../../../modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h"; sourceTree = "SOURCE_ROOT"; }; | |||
140BFF25B0078C0709FF2461 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPathListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
@@ -224,6 +226,7 @@ | |||
52AAE149F3EC7BAB0E7703DC = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooserDialogBox.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
52D7E72C26E3D1589A6A1BD4 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_String.cpp"; path = "../../../../modules/juce_core/text/juce_String.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
536EB9664EDB02A4CBF9BD28 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ActionBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
53F3EB3D456B15EF5CC6FC67 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeLayout.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
543A10EED475842E60CE7F3C = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinatePositioner.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h"; sourceTree = "SOURCE_ROOT"; }; | |||
5457E4C7D67E767CCD8B0964 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_File.cpp"; path = "../../../../modules/juce_core/files/juce_File.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
54FF1D1CC748FA043A28004F = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h"; sourceTree = "SOURCE_ROOT"; }; | |||
@@ -430,6 +433,7 @@ | |||
AC0B866AA2C5F577AA221143 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinate.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
AC488F0777290DB214E6E937 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Misc.cpp"; path = "../../../../modules/juce_core/native/juce_android_Misc.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
AC975C4D82A4C525F6D879A5 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImagePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; | |||
ACD09DE112FDD1028AC1E11B = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AttributedString.h"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.h"; sourceTree = "SOURCE_ROOT"; }; | |||
ACD0AD8EACA79E8A6273413E = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DialogWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
AD0FE0F54DE76E0C35A3B692 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Clipboard.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Clipboard.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
ADC3125F0DCD2924ACB173EB = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImagePreviewComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
@@ -574,12 +578,12 @@ | |||
E96CBEBCDABA3EA741C4C2EC = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
E9904E84AFCF3AB39B03BAA9 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandManager.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
ED577465CA22A65861192A35 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipClient.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h"; sourceTree = "SOURCE_ROOT"; }; | |||
ED872E47438BBE6325FE78F2 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlyphArrangement.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
EE785DBFA288EFA2E7AB2108 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GIFLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_GIFLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
EF28BA2B5E24F4749F732230 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OptionalScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; | |||
EF54929F7151858D8FF8107B = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemStats.h"; path = "../../../../modules/juce_core/system/juce_SystemStats.h"; sourceTree = "SOURCE_ROOT"; }; | |||
EF932865774E86525CE7FC55 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; | |||
EA398D9C544440E06637C134 = { isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = HelloWorld.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; | |||
ED872E47438BBE6325FE78F2 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlyphArrangement.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
EF3A7A1A871BAB32EA1B46EF = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Logger.h"; path = "../../../../modules/juce_core/logging/juce_Logger.h"; sourceTree = "SOURCE_ROOT"; }; | |||
EFE00478AEAFE39D81B0E59D = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CustomTypeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h"; sourceTree = "SOURCE_ROOT"; }; | |||
EFE65E031B01332448C2BE5E = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnectionServer.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h"; sourceTree = "SOURCE_ROOT"; }; | |||
@@ -964,6 +968,8 @@ | |||
7EE080AF681F1D927DF35B95, | |||
C71BB293CEF65605741E0CDA ); name = placement; sourceTree = "<group>"; }; | |||
CBF50CCCB6412B6D1DC75BAC = { isa = PBXGroup; children = ( | |||
1316BB7ACE3F151F3B44A3EC, | |||
ACD09DE112FDD1028AC1E11B, | |||
CB85029BEDE10DB68C5BAA21, | |||
EFE00478AEAFE39D81B0E59D, | |||
FF49DBB348CFFF3F396FB712, | |||
@@ -990,6 +996,8 @@ | |||
C6BCFCD2732C7153C33B6168, | |||
4C34CB4DC542D86A193C055A, | |||
A3961F3261459774B65EBD3B, | |||
0493323D5A1374BBEFCFE455, | |||
53F3EB3D456B15EF5CC6FC67, | |||
A5E748EC8CB636CEBF7BA497 ); name = native; sourceTree = "<group>"; }; | |||
0BD57F3380CCDFE06E36335D = { isa = PBXGroup; children = ( | |||
39D7580AE0D199F462A0411D, | |||
@@ -1486,6 +1486,17 @@ | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\placement\juce_RectanglePlacement.h"/> | |||
</Filter> | |||
<Filter Name="fonts"> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\fonts\juce_AttributedString.cpp"> | |||
<FileConfiguration Name="Debug|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
<FileConfiguration Name="Release|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
</File> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\fonts\juce_AttributedString.h"/> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\fonts\juce_CustomTypeface.cpp"> | |||
<FileConfiguration Name="Debug|Win32" | |||
ExcludedFromBuild="true"> | |||
@@ -1613,6 +1624,26 @@ | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
</File> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\native\juce_win32_DirectWriteTypeface.cpp"> | |||
<FileConfiguration Name="Debug|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
<FileConfiguration Name="Release|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
</File> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\native\juce_win32_DirectWriteTypeLayout.cpp"> | |||
<FileConfiguration Name="Debug|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
<FileConfiguration Name="Release|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
</File> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\native\juce_win32_Fonts.cpp"> | |||
<FileConfiguration Name="Debug|Win32" | |||
ExcludedFromBuild="true"> | |||
@@ -1486,6 +1486,17 @@ | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\placement\juce_RectanglePlacement.h"/> | |||
</Filter> | |||
<Filter Name="fonts"> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\fonts\juce_AttributedString.cpp"> | |||
<FileConfiguration Name="Debug|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
<FileConfiguration Name="Release|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
</File> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\fonts\juce_AttributedString.h"/> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\fonts\juce_CustomTypeface.cpp"> | |||
<FileConfiguration Name="Debug|Win32" | |||
ExcludedFromBuild="true"> | |||
@@ -1613,6 +1624,26 @@ | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
</File> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\native\juce_win32_DirectWriteTypeface.cpp"> | |||
<FileConfiguration Name="Debug|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
<FileConfiguration Name="Release|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
</File> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\native\juce_win32_DirectWriteTypeLayout.cpp"> | |||
<FileConfiguration Name="Debug|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
<FileConfiguration Name="Release|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
</File> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\native\juce_win32_Fonts.cpp"> | |||
<FileConfiguration Name="Debug|Win32" | |||
ExcludedFromBuild="true"> | |||
@@ -32,6 +32,7 @@ | |||
02FA201D32033D122C04A1B5 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Justification.h"; path = "../../../../modules/juce_graphics/placement/juce_Justification.h"; sourceTree = "SOURCE_ROOT"; }; | |||
0324378725B8DEBC11E93953 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedButtonBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.h"; sourceTree = "SOURCE_ROOT"; }; | |||
03E4C81E1D323C0CD78DC8A7 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentDragger.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.h"; sourceTree = "SOURCE_ROOT"; }; | |||
0493323D5A1374BBEFCFE455 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeface.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
04A6FE27FC63E4D27E857CBF = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_ObjCHelpers.h"; path = "../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h"; sourceTree = "SOURCE_ROOT"; }; | |||
0525B4E0F2387B1F3AA520F8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.h"; sourceTree = "SOURCE_ROOT"; }; | |||
068349E735D107BE09BEC641 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Array.h"; path = "../../../../modules/juce_core/containers/juce_Array.h"; sourceTree = "SOURCE_ROOT"; }; | |||
@@ -64,6 +65,7 @@ | |||
118B13BE32C7FDCE82BDC495 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
1259079CB2A8907577BBBAA3 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertiesFile.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h"; sourceTree = "SOURCE_ROOT"; }; | |||
130A28E84D438B08C6B5D5A5 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HyperlinkButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
1316BB7ACE3F151F3B44A3EC = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AttributedString.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
133B528A88E99C116B75BFDA = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarComponent.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
140B14E0142DF835F1C6D951 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CarbonViewWrapperComponent.h"; path = "../../../../modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h"; sourceTree = "SOURCE_ROOT"; }; | |||
140BFF25B0078C0709FF2461 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPathListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
@@ -223,6 +225,7 @@ | |||
52AAE149F3EC7BAB0E7703DC = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooserDialogBox.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
52D7E72C26E3D1589A6A1BD4 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_String.cpp"; path = "../../../../modules/juce_core/text/juce_String.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
536EB9664EDB02A4CBF9BD28 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ActionBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
53F3EB3D456B15EF5CC6FC67 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeLayout.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
543A10EED475842E60CE7F3C = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinatePositioner.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h"; sourceTree = "SOURCE_ROOT"; }; | |||
5457E4C7D67E767CCD8B0964 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_File.cpp"; path = "../../../../modules/juce_core/files/juce_File.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
54FF1D1CC748FA043A28004F = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h"; sourceTree = "SOURCE_ROOT"; }; | |||
@@ -427,6 +430,7 @@ | |||
AC0B866AA2C5F577AA221143 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinate.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
AC488F0777290DB214E6E937 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Misc.cpp"; path = "../../../../modules/juce_core/native/juce_android_Misc.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
AC975C4D82A4C525F6D879A5 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImagePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; | |||
ACD09DE112FDD1028AC1E11B = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AttributedString.h"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.h"; sourceTree = "SOURCE_ROOT"; }; | |||
ACD0AD8EACA79E8A6273413E = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DialogWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
AD0FE0F54DE76E0C35A3B692 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Clipboard.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Clipboard.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
ADC3125F0DCD2924ACB173EB = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImagePreviewComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
@@ -608,19 +612,19 @@ | |||
F9816E9564DF0FD05C77B845 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiDocumentPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.h"; sourceTree = "SOURCE_ROOT"; }; | |||
FA3161F4692D54C87001BCD7 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
FB1A1B08CB724305EBC233A4 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditor.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.h"; sourceTree = "SOURCE_ROOT"; }; | |||
FB3723E1113ED13B4B8DF09A = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
FB6FA17C00AB569935B5CFF8 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; | |||
FB845B6C46248D66EB02A862 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AppleRemote.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_AppleRemote.mm"; sourceTree = "SOURCE_ROOT"; }; | |||
FB9E2985FBE36494513C83A6 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Label.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.h"; sourceTree = "SOURCE_ROOT"; }; | |||
FC00A16A6756DBFE0B875F5C = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableHeaderComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
FC47B303DF1BE68BE78F9079 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryIterator.cpp"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
FD5D001673478C39B79A9C6A = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BigInteger.h"; path = "../../../../modules/juce_core/maths/juce_BigInteger.h"; sourceTree = "SOURCE_ROOT"; }; | |||
FE8B93BA3F56CCC0BB37A5C8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
FE9531D38CA4C273B6FB87A7 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreText.framework; path = System/Library/Frameworks/CoreText.framework; sourceTree = SDKROOT; }; | |||
EA398D9C544440E06637C134 = { isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = HelloWorld.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; | |||
FB3723E1113ED13B4B8DF09A = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
FB845B6C46248D66EB02A862 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AppleRemote.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_AppleRemote.mm"; sourceTree = "SOURCE_ROOT"; }; | |||
FD7E5A4B8C6532BD458B2A94 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CallOutBox.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
FDDA86C3FCCC3C74F7CDA53D = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_core.h"; path = "../../../../modules/juce_core/juce_core.h"; sourceTree = "SOURCE_ROOT"; }; | |||
FE39F19585CBAE3EE247840C = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OutputStream.h"; path = "../../../../modules/juce_core/streams/juce_OutputStream.h"; sourceTree = "SOURCE_ROOT"; }; | |||
FE8B93BA3F56CCC0BB37A5C8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
FEA9C3FC8BE313C619C3D195 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DocumentWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
FED2586B3C7EA1BBA5512D58 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h"; sourceTree = "SOURCE_ROOT"; }; | |||
FF263A986694A1ADAA51D156 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertySet.h"; path = "../../../../modules/juce_core/containers/juce_PropertySet.h"; sourceTree = "SOURCE_ROOT"; }; | |||
@@ -964,6 +968,8 @@ | |||
7EE080AF681F1D927DF35B95, | |||
C71BB293CEF65605741E0CDA ); name = placement; sourceTree = "<group>"; }; | |||
CBF50CCCB6412B6D1DC75BAC = { isa = PBXGroup; children = ( | |||
1316BB7ACE3F151F3B44A3EC, | |||
ACD09DE112FDD1028AC1E11B, | |||
CB85029BEDE10DB68C5BAA21, | |||
EFE00478AEAFE39D81B0E59D, | |||
FF49DBB348CFFF3F396FB712, | |||
@@ -990,6 +996,8 @@ | |||
C6BCFCD2732C7153C33B6168, | |||
4C34CB4DC542D86A193C055A, | |||
A3961F3261459774B65EBD3B, | |||
0493323D5A1374BBEFCFE455, | |||
53F3EB3D456B15EF5CC6FC67, | |||
A5E748EC8CB636CEBF7BA497 ); name = native; sourceTree = "<group>"; }; | |||
0BD57F3380CCDFE06E36335D = { isa = PBXGroup; children = ( | |||
39D7580AE0D199F462A0411D, | |||
@@ -33,6 +33,7 @@ | |||
// juce_graphics flags: | |||
//#define JUCE_USE_COREIMAGE_LOADER | |||
//#define JUCE_USE_DIRECTWRITE | |||
//============================================================================== | |||
// juce_gui_basics flags: | |||
@@ -53,6 +53,7 @@ | |||
0A94BFA7B633930A9C44B763 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
0A9D5E19342D4BC010667063 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Result.cpp"; path = "../../../../modules/juce_core/misc/juce_Result.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
0AD571BCA7AB6C47B2C84D15 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatWriter.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.h"; sourceTree = "SOURCE_ROOT"; }; | |||
0B41301E2279379BE7955E65 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Matrix3D.h"; path = "../../../../modules/juce_opengl/opengl/juce_Matrix3D.h"; sourceTree = "SOURCE_ROOT"; }; | |||
0B85A2AF6033752E00F83AFF = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Synthesiser.cpp"; path = "../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
0B9605D6761053F7125515C5 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_WebBrowserComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm"; sourceTree = "SOURCE_ROOT"; }; | |||
0BC458FE29429B837EEB24C3 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_ALSA.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_ALSA.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
@@ -83,6 +84,7 @@ | |||
148062D5F6A256ABF0841A45 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeParallelogram.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h"; sourceTree = "SOURCE_ROOT"; }; | |||
149649AEA7AD7B8E13B3A35F = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OldSchoolLookAndFeel.cpp"; path = "../../../../modules/juce_gui_extra/lookandfeel/juce_OldSchoolLookAndFeel.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
14B6A11EE9B15221B81E6690 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OptionalScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; | |||
154C4985C134E2B4A7B87025 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Quaternion.h"; path = "../../../../modules/juce_opengl/opengl/juce_Quaternion.h"; sourceTree = "SOURCE_ROOT"; }; | |||
159A717B2A67C75CA01B6881 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; | |||
164740F3A950758FD901C617 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; }; | |||
16F854A6404E0E6A78094CA5 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SHA256.h"; path = "../../../../modules/juce_cryptography/hashing/juce_SHA256.h"; sourceTree = "SOURCE_ROOT"; }; | |||
@@ -139,6 +141,7 @@ | |||
2A86DFBFC0BF1E11B8011835 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h"; sourceTree = "SOURCE_ROOT"; }; | |||
2A91AADEA4837E131C449373 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_posix_NamedPipe.cpp"; path = "../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
2AA365F4A1C76090431D4FBC = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatManager.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; | |||
2AC1E88F92FCBD06A1A60D42 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Vector3D.h"; path = "../../../../modules/juce_opengl/opengl/juce_Vector3D.h"; sourceTree = "SOURCE_ROOT"; }; | |||
2AC249BFE13A76A1C82F7CD5 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OwnedArray.h"; path = "../../../../modules/juce_core/containers/juce_OwnedArray.h"; sourceTree = "SOURCE_ROOT"; }; | |||
2AD527E12013D8D75B76B8E1 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormatManager.h"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; | |||
2B047EE6050EF3D2BB99ECBE = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedArray.h"; path = "../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h"; sourceTree = "SOURCE_ROOT"; }; | |||
@@ -477,6 +480,7 @@ | |||
9639E00C68CB8C0B7E7B5427 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.h"; sourceTree = "SOURCE_ROOT"; }; | |||
964B8F8E07FC8A58A0EA70EF = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
966CF33B8DD2ABBE0C28B0F3 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Threads.mm"; path = "../../../../modules/juce_core/native/juce_mac_Threads.mm"; sourceTree = "SOURCE_ROOT"; }; | |||
96A82204F17CFBC13483F6BF = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Draggable3DOrientation.h"; path = "../../../../modules/juce_opengl/opengl/juce_Draggable3DOrientation.h"; sourceTree = "SOURCE_ROOT"; }; | |||
96BAE779F62C8730A1CF260D = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DialogWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.h"; sourceTree = "SOURCE_ROOT"; }; | |||
96BBDC1A586AB8CA8A1B5F9A = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioTransportSource.cpp"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
973FCBE47D459A85D83D40A5 = { isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_formats/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; | |||
@@ -620,6 +624,7 @@ | |||
C804DA12663C47DC571AB802 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryIterator.cpp"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
C851A41BC906656B1D0BC964 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_linux_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
C895897BD517D9599C4349FD = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; | |||
C927C4EC22D48CAEF52F0318 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeface.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
C9501187BF1860F357D619D0 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Socket.h"; path = "../../../../modules/juce_core/network/juce_Socket.h"; sourceTree = "SOURCE_ROOT"; }; | |||
C960619F9F73C79C3EAB8742 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_extra.h"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.h"; sourceTree = "SOURCE_ROOT"; }; | |||
C96A2D385114E17C879D137B = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_FileDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; | |||
@@ -640,6 +645,7 @@ | |||
CCE11AF21E47604E76CA0132 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsList.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
CDADF6A067C358C08803D1B3 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
CDF3D87F97FF1526499CC3A1 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Registry.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Registry.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
CE2A5EB678139DE00D7CFF75 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AttributedString.h"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.h"; sourceTree = "SOURCE_ROOT"; }; | |||
CE55DEAD4829A44E6F68EBA3 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_opengl.mm"; path = "../../../../modules/juce_opengl/juce_opengl.mm"; sourceTree = "SOURCE_ROOT"; }; | |||
CE598F0D6317056C9958D8DD = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeListener.h"; sourceTree = "SOURCE_ROOT"; }; | |||
CEBE83A5D278021237C24D66 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLGraphicsContext.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
@@ -667,6 +673,7 @@ | |||
D5175D86941170D0903C9FB5 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileOutputStream.h"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; | |||
D5273722A99718EB4DFA0B3E = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; | |||
D577544641EB343E2E579659 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReaderSource.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.h"; sourceTree = "SOURCE_ROOT"; }; | |||
D581DBED583DE1627B76D774 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeLayout.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
D5F1EA308D0BA7F03C20362C = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedReadLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedReadLock.h"; sourceTree = "SOURCE_ROOT"; }; | |||
D5FD80BD808E23FDB4A82DFD = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AffineTransform.h"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.h"; sourceTree = "SOURCE_ROOT"; }; | |||
D6EE042FD59ED0AE9BB38B2F = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageCollector.cpp"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
@@ -787,6 +794,7 @@ | |||
F980FF71809C8486735F3D56 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiFile.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiFile.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
F9C5498B3C2A6B0C77905000 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Application.cpp"; path = "../../../../modules/juce_gui_basics/application/juce_Application.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
F9EC7037E4226BA0AFADE0B2 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
F9F0CCD33C30298CF6BE0485 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AttributedString.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
FA89AC987131D027ACE40582 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Fonts.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_Fonts.mm"; sourceTree = "SOURCE_ROOT"; }; | |||
FAA2D69119B5C2DE43A24080 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReverbAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; | |||
FAE81B90A814666653AC92A8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTree.cpp"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
@@ -1331,6 +1339,8 @@ | |||
7927D0B392E6CD799FB92B43, | |||
7C3D9F9E65342D71FD04B5D4 ); name = placement; sourceTree = "<group>"; }; | |||
16C7C34F1CFA7CF4529574D7 = { isa = PBXGroup; children = ( | |||
F9F0CCD33C30298CF6BE0485, | |||
CE2A5EB678139DE00D7CFF75, | |||
CFAFA5FC6E25226D681818D9, | |||
D4AB3337D8F963E10EDFE91C, | |||
D2ED6CC1A967F79A35AB0105, | |||
@@ -1357,6 +1367,8 @@ | |||
FA89AC987131D027ACE40582, | |||
593F1523B6A7AB5415E2CD53, | |||
124BDF35CA497A669F44F8A0, | |||
C927C4EC22D48CAEF52F0318, | |||
D581DBED583DE1627B76D774, | |||
AF1FAE38CC1CE6EA02FFD06E ); name = native; sourceTree = "<group>"; }; | |||
CEDD2E509C8955328B9E4338 = { isa = PBXGroup; children = ( | |||
3B8E447448A1378605FAF59A, | |||
@@ -1707,6 +1719,8 @@ | |||
7DF5547A341057A483389810, | |||
C960619F9F73C79C3EAB8742 ); name = "juce_gui_extra"; sourceTree = "<group>"; }; | |||
543980D718ACBB76513A4AF0 = { isa = PBXGroup; children = ( | |||
96A82204F17CFBC13483F6BF, | |||
0B41301E2279379BE7955E65, | |||
1227115BD17EB8F0667DB117, | |||
DC76043392FDF3B5BD7D2554, | |||
6096E343983724F254B268C3, | |||
@@ -1721,7 +1735,9 @@ | |||
6D95302F8D68BA3F0538214F, | |||
9E067C6101B6E2D11365EBDC, | |||
A0D54F01BC8018CC41FA34E9, | |||
53B9B6090EDB9B6E0FA8577F ); name = opengl; sourceTree = "<group>"; }; | |||
53B9B6090EDB9B6E0FA8577F, | |||
154C4985C134E2B4A7B87025, | |||
2AC1E88F92FCBD06A1A60D42 ); name = opengl; sourceTree = "<group>"; }; | |||
637D3A9082C214CA0E067538 = { isa = PBXGroup; children = ( | |||
BF25BBF1072EE73925E688D0, | |||
BFBA3FCA1C3F9FD3BB8146B8, | |||
@@ -2306,6 +2306,17 @@ | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\placement\juce_RectanglePlacement.h"/> | |||
</Filter> | |||
<Filter Name="fonts"> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\fonts\juce_AttributedString.cpp"> | |||
<FileConfiguration Name="Debug|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
<FileConfiguration Name="Release|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
</File> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\fonts\juce_AttributedString.h"/> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\fonts\juce_CustomTypeface.cpp"> | |||
<FileConfiguration Name="Debug|Win32" | |||
ExcludedFromBuild="true"> | |||
@@ -2433,6 +2444,26 @@ | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
</File> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\native\juce_win32_DirectWriteTypeface.cpp"> | |||
<FileConfiguration Name="Debug|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
<FileConfiguration Name="Release|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
</File> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\native\juce_win32_DirectWriteTypeLayout.cpp"> | |||
<FileConfiguration Name="Debug|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
<FileConfiguration Name="Release|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
</File> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\native\juce_win32_Fonts.cpp"> | |||
<FileConfiguration Name="Debug|Win32" | |||
ExcludedFromBuild="true"> | |||
@@ -4011,6 +4042,8 @@ | |||
</Filter> | |||
<Filter Name="juce_opengl"> | |||
<Filter Name="opengl"> | |||
<File RelativePath="..\..\..\..\modules\juce_opengl\opengl\juce_Draggable3DOrientation.h"/> | |||
<File RelativePath="..\..\..\..\modules\juce_opengl\opengl\juce_Matrix3D.h"/> | |||
<File RelativePath="..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLComponent.cpp"> | |||
<FileConfiguration Name="Debug|Win32" | |||
ExcludedFromBuild="true"> | |||
@@ -4080,6 +4113,8 @@ | |||
</FileConfiguration> | |||
</File> | |||
<File RelativePath="..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLTexture.h"/> | |||
<File RelativePath="..\..\..\..\modules\juce_opengl\opengl\juce_Quaternion.h"/> | |||
<File RelativePath="..\..\..\..\modules\juce_opengl\opengl\juce_Vector3D.h"/> | |||
</Filter> | |||
<Filter Name="native"> | |||
<File RelativePath="..\..\..\..\modules\juce_opengl\native\juce_android_OpenGLComponent.cpp"> | |||
@@ -655,6 +655,9 @@ | |||
<ClCompile Include="..\..\..\..\modules\juce_graphics\placement\juce_RectanglePlacement.cpp"> | |||
<ExcludedFromBuild>true</ExcludedFromBuild> | |||
</ClCompile> | |||
<ClCompile Include="..\..\..\..\modules\juce_graphics\fonts\juce_AttributedString.cpp"> | |||
<ExcludedFromBuild>true</ExcludedFromBuild> | |||
</ClCompile> | |||
<ClCompile Include="..\..\..\..\modules\juce_graphics\fonts\juce_CustomTypeface.cpp"> | |||
<ExcludedFromBuild>true</ExcludedFromBuild> | |||
</ClCompile> | |||
@@ -688,6 +691,12 @@ | |||
<ClCompile Include="..\..\..\..\modules\juce_graphics\native\juce_win32_Direct2DGraphicsContext.cpp"> | |||
<ExcludedFromBuild>true</ExcludedFromBuild> | |||
</ClCompile> | |||
<ClCompile Include="..\..\..\..\modules\juce_graphics\native\juce_win32_DirectWriteTypeface.cpp"> | |||
<ExcludedFromBuild>true</ExcludedFromBuild> | |||
</ClCompile> | |||
<ClCompile Include="..\..\..\..\modules\juce_graphics\native\juce_win32_DirectWriteTypeLayout.cpp"> | |||
<ExcludedFromBuild>true</ExcludedFromBuild> | |||
</ClCompile> | |||
<ClCompile Include="..\..\..\..\modules\juce_graphics\native\juce_win32_Fonts.cpp"> | |||
<ExcludedFromBuild>true</ExcludedFromBuild> | |||
</ClCompile> | |||
@@ -1370,6 +1379,7 @@ | |||
<ClInclude Include="..\..\..\..\modules\juce_graphics\geometry\juce_RectangleList.h"/> | |||
<ClInclude Include="..\..\..\..\modules\juce_graphics\placement\juce_Justification.h"/> | |||
<ClInclude Include="..\..\..\..\modules\juce_graphics\placement\juce_RectanglePlacement.h"/> | |||
<ClInclude Include="..\..\..\..\modules\juce_graphics\fonts\juce_AttributedString.h"/> | |||
<ClInclude Include="..\..\..\..\modules\juce_graphics\fonts\juce_CustomTypeface.h"/> | |||
<ClInclude Include="..\..\..\..\modules\juce_graphics\fonts\juce_Font.h"/> | |||
<ClInclude Include="..\..\..\..\modules\juce_graphics\fonts\juce_GlyphArrangement.h"/> | |||
@@ -1524,6 +1534,8 @@ | |||
<ClInclude Include="..\..\..\..\modules\juce_gui_extra\misc\juce_WebBrowserComponent.h"/> | |||
<ClInclude Include="..\..\..\..\modules\juce_gui_extra\native\juce_mac_CarbonViewWrapperComponent.h"/> | |||
<ClInclude Include="..\..\..\..\modules\juce_gui_extra\juce_gui_extra.h"/> | |||
<ClInclude Include="..\..\..\..\modules\juce_opengl\opengl\juce_Draggable3DOrientation.h"/> | |||
<ClInclude Include="..\..\..\..\modules\juce_opengl\opengl\juce_Matrix3D.h"/> | |||
<ClInclude Include="..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLComponent.h"/> | |||
<ClInclude Include="..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLContext.h"/> | |||
<ClInclude Include="..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLFrameBuffer.h"/> | |||
@@ -1533,6 +1545,8 @@ | |||
<ClInclude Include="..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLPixelFormat.h"/> | |||
<ClInclude Include="..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLRenderingTarget.h"/> | |||
<ClInclude Include="..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLTexture.h"/> | |||
<ClInclude Include="..\..\..\..\modules\juce_opengl\opengl\juce_Quaternion.h"/> | |||
<ClInclude Include="..\..\..\..\modules\juce_opengl\opengl\juce_Vector3D.h"/> | |||
<ClInclude Include="..\..\..\..\modules\juce_opengl\juce_opengl.h"/> | |||
<ClInclude Include="..\..\..\..\modules\juce_video\playback\juce_DirectShowComponent.h"/> | |||
<ClInclude Include="..\..\..\..\modules\juce_video\playback\juce_QuickTimeMovieComponent.h"/> | |||
@@ -883,6 +883,9 @@ | |||
<ClCompile Include="..\..\..\..\modules\juce_graphics\placement\juce_RectanglePlacement.cpp"> | |||
<Filter>Juce Modules\juce_graphics\placement</Filter> | |||
</ClCompile> | |||
<ClCompile Include="..\..\..\..\modules\juce_graphics\fonts\juce_AttributedString.cpp"> | |||
<Filter>Juce Modules\juce_graphics\fonts</Filter> | |||
</ClCompile> | |||
<ClCompile Include="..\..\..\..\modules\juce_graphics\fonts\juce_CustomTypeface.cpp"> | |||
<Filter>Juce Modules\juce_graphics\fonts</Filter> | |||
</ClCompile> | |||
@@ -922,6 +925,12 @@ | |||
<ClCompile Include="..\..\..\..\modules\juce_graphics\native\juce_win32_Direct2DGraphicsContext.cpp"> | |||
<Filter>Juce Modules\juce_graphics\native</Filter> | |||
</ClCompile> | |||
<ClCompile Include="..\..\..\..\modules\juce_graphics\native\juce_win32_DirectWriteTypeface.cpp"> | |||
<Filter>Juce Modules\juce_graphics\native</Filter> | |||
</ClCompile> | |||
<ClCompile Include="..\..\..\..\modules\juce_graphics\native\juce_win32_DirectWriteTypeLayout.cpp"> | |||
<Filter>Juce Modules\juce_graphics\native</Filter> | |||
</ClCompile> | |||
<ClCompile Include="..\..\..\..\modules\juce_graphics\native\juce_win32_Fonts.cpp"> | |||
<Filter>Juce Modules\juce_graphics\native</Filter> | |||
</ClCompile> | |||
@@ -2142,6 +2151,9 @@ | |||
<ClInclude Include="..\..\..\..\modules\juce_graphics\placement\juce_RectanglePlacement.h"> | |||
<Filter>Juce Modules\juce_graphics\placement</Filter> | |||
</ClInclude> | |||
<ClInclude Include="..\..\..\..\modules\juce_graphics\fonts\juce_AttributedString.h"> | |||
<Filter>Juce Modules\juce_graphics\fonts</Filter> | |||
</ClInclude> | |||
<ClInclude Include="..\..\..\..\modules\juce_graphics\fonts\juce_CustomTypeface.h"> | |||
<Filter>Juce Modules\juce_graphics\fonts</Filter> | |||
</ClInclude> | |||
@@ -2604,6 +2616,12 @@ | |||
<ClInclude Include="..\..\..\..\modules\juce_gui_extra\juce_gui_extra.h"> | |||
<Filter>Juce Modules\juce_gui_extra</Filter> | |||
</ClInclude> | |||
<ClInclude Include="..\..\..\..\modules\juce_opengl\opengl\juce_Draggable3DOrientation.h"> | |||
<Filter>Juce Modules\juce_opengl\opengl</Filter> | |||
</ClInclude> | |||
<ClInclude Include="..\..\..\..\modules\juce_opengl\opengl\juce_Matrix3D.h"> | |||
<Filter>Juce Modules\juce_opengl\opengl</Filter> | |||
</ClInclude> | |||
<ClInclude Include="..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLComponent.h"> | |||
<Filter>Juce Modules\juce_opengl\opengl</Filter> | |||
</ClInclude> | |||
@@ -2631,6 +2649,12 @@ | |||
<ClInclude Include="..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLTexture.h"> | |||
<Filter>Juce Modules\juce_opengl\opengl</Filter> | |||
</ClInclude> | |||
<ClInclude Include="..\..\..\..\modules\juce_opengl\opengl\juce_Quaternion.h"> | |||
<Filter>Juce Modules\juce_opengl\opengl</Filter> | |||
</ClInclude> | |||
<ClInclude Include="..\..\..\..\modules\juce_opengl\opengl\juce_Vector3D.h"> | |||
<Filter>Juce Modules\juce_opengl\opengl</Filter> | |||
</ClInclude> | |||
<ClInclude Include="..\..\..\..\modules\juce_opengl\juce_opengl.h"> | |||
<Filter>Juce Modules\juce_opengl</Filter> | |||
</ClInclude> | |||
@@ -63,6 +63,7 @@ | |||
// juce_graphics flags: | |||
//#define JUCE_USE_COREIMAGE_LOADER | |||
//#define JUCE_USE_DIRECTWRITE | |||
//============================================================================== | |||
// juce_gui_basics flags: | |||
@@ -20,7 +20,7 @@ ifeq ($(CONFIG),Debug) | |||
CPPFLAGS := $(DEPFLAGS) -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I "/usr/include" -I "/usr/include/freetype2" -I "../../JuceLibraryCode" | |||
CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0 | |||
CXXFLAGS += $(CFLAGS) | |||
LDFLAGS += -L$(BINDIR) -L$(LIBDIR) -L"/usr/X11R6/lib/" -L"../../../../../juce/bin" -lfreetype -lpthread -lrt -lX11 -lGL -lGLU -lXinerama -lasound | |||
LDFLAGS += -L$(BINDIR) -L$(LIBDIR) -L"/usr/X11R6/lib/" -L"../../../../../juce/bin" -lfreetype -lpthread -lrt -lX11 -lGL -lGLU -lXinerama -lasound -lXext | |||
LDDEPS := | |||
RESFLAGS := -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I "/usr/include" -I "/usr/include/freetype2" -I "../../JuceLibraryCode" | |||
TARGET := Jucer | |||
@@ -35,7 +35,7 @@ ifeq ($(CONFIG),Release) | |||
CPPFLAGS := $(DEPFLAGS) -D "LINUX=1" -D "NDEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I "/usr/include" -I "/usr/include/freetype2" -I "../../JuceLibraryCode" | |||
CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -Os | |||
CXXFLAGS += $(CFLAGS) | |||
LDFLAGS += -L$(BINDIR) -L$(LIBDIR) -L"/usr/X11R6/lib/" -L"../../../../../juce/bin" -lfreetype -lpthread -lrt -lX11 -lGL -lGLU -lXinerama -lasound | |||
LDFLAGS += -L$(BINDIR) -L$(LIBDIR) -L"/usr/X11R6/lib/" -L"../../../../../juce/bin" -lfreetype -lpthread -lrt -lX11 -lGL -lGLU -lXinerama -lasound -lXext | |||
LDDEPS := | |||
RESFLAGS := -D "LINUX=1" -D "NDEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I "/usr/include" -I "/usr/include/freetype2" -I "../../JuceLibraryCode" | |||
TARGET := Jucer | |||
@@ -370,6 +370,7 @@ | |||
6D4F04497FDE7DEB17308D3F = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Uuid.cpp"; path = "../../../../modules/juce_core/misc/juce_Uuid.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
6D72E18850E8708F0B9AB85D = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SVGParser.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
6E82C9C39339B4D35930F5C6 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyPanel.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
6EA69D5F453B736C1AC1AABC = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeLayout.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
6F03F26F8FD9DCF9C336C7C9 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_EdgeTable.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
6F67B1874F95EF2376AA9753 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReadWriteLock.cpp"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
700F70E54315881EB5D45567 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_GeneratedCode.cpp"; path = "../../src/model/jucer_GeneratedCode.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
@@ -462,6 +463,7 @@ | |||
8C96948B01B70F125652B4A6 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
8C9987F812960988EBE4CC6D = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Font.h"; path = "../../../../modules/juce_graphics/fonts/juce_Font.h"; sourceTree = "SOURCE_ROOT"; }; | |||
8CBAA0DE1F30C590E248CE92 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadPool.cpp"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
8D4A3D0BDE86DEA5FF304FD3 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AttributedString.h"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.h"; sourceTree = "SOURCE_ROOT"; }; | |||
8D7CCBC48D3D21B535663490 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringArray.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
8DBDD4F65CC8C34616C34255 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_URL.cpp"; path = "../../../../modules/juce_core/network/juce_URL.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
8E412B488CC4A124A64B3793 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_extra.h"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.h"; sourceTree = "SOURCE_ROOT"; }; | |||
@@ -562,6 +564,7 @@ | |||
AEE21B60BDB0DBEDECC0A194 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_JucerComponentHandler.h"; path = "../../src/model/components/jucer_JucerComponentHandler.h"; sourceTree = "SOURCE_ROOT"; }; | |||
AEE78FC2ACC32C9446C6D055 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LocalisedStrings.h"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.h"; sourceTree = "SOURCE_ROOT"; }; | |||
AFBE132DCF46D754AB003320 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentListener.h"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.h"; sourceTree = "SOURCE_ROOT"; }; | |||
B106EF8F90D0851DA971007B = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeface.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
B13B3784D431CBC967A43A23 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ZipFile.cpp"; path = "../../../../modules/juce_core/zip/juce_ZipFile.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
B2155B56194AEBA21C1DE8D9 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_TextButtonHandler.h"; path = "../../src/model/components/jucer_TextButtonHandler.h"; sourceTree = "SOURCE_ROOT"; }; | |||
B22AF25F5DEB48469657B759 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
@@ -742,6 +745,7 @@ | |||
F893F4BF51977AD2C0A65A61 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Time.h"; path = "../../../../modules/juce_core/time/juce_Time.h"; sourceTree = "SOURCE_ROOT"; }; | |||
F8C5FCB2CCEC869DD5AEF806 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditor.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.h"; sourceTree = "SOURCE_ROOT"; }; | |||
F8EF61F18821D1F9ED3CCF15 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_WebBrowserComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm"; sourceTree = "SOURCE_ROOT"; }; | |||
F9D4A57B315F77043BF6DE49 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AttributedString.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
FA2410FA658C17A930890FFF = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Result.h"; path = "../../../../modules/juce_core/misc/juce_Result.h"; sourceTree = "SOURCE_ROOT"; }; | |||
FA95E1B6FD8D263A36A449B0 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsPostScriptRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h"; sourceTree = "SOURCE_ROOT"; }; | |||
FB03386CEAF2975CFB81C485 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OldSchoolLookAndFeel.cpp"; path = "../../../../modules/juce_gui_extra/lookandfeel/juce_OldSchoolLookAndFeel.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
@@ -1224,6 +1228,8 @@ | |||
4B75F7762F3BF16B19CE7092, | |||
A77B76A12F2E43B7DE9D43DB ); name = placement; sourceTree = "<group>"; }; | |||
1928B752EB0E2D436E7D9058 = { isa = PBXGroup; children = ( | |||
F9D4A57B315F77043BF6DE49, | |||
8D4A3D0BDE86DEA5FF304FD3, | |||
6644D131E809965C53E72229, | |||
852C44541F302ECE66F1369D, | |||
DC5F33450FDAF78D3C918F87, | |||
@@ -1250,6 +1256,8 @@ | |||
4E07995C0E9951843B936AF1, | |||
570D06B805FFCB2D29247478, | |||
A27536EAA6565A95670917FE, | |||
B106EF8F90D0851DA971007B, | |||
6EA69D5F453B736C1AC1AABC, | |||
A639ECE96CA7798C1E61F5FA ); name = native; sourceTree = "<group>"; }; | |||
8E157165495A4C0D5FE429BE = { isa = PBXGroup; children = ( | |||
8DEFDD87D21258051455B4DF, | |||
@@ -1653,6 +1653,17 @@ | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\placement\juce_RectanglePlacement.h"/> | |||
</Filter> | |||
<Filter Name="fonts"> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\fonts\juce_AttributedString.cpp"> | |||
<FileConfiguration Name="Debug|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
<FileConfiguration Name="Release|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
</File> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\fonts\juce_AttributedString.h"/> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\fonts\juce_CustomTypeface.cpp"> | |||
<FileConfiguration Name="Debug|Win32" | |||
ExcludedFromBuild="true"> | |||
@@ -1780,6 +1791,26 @@ | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
</File> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\native\juce_win32_DirectWriteTypeface.cpp"> | |||
<FileConfiguration Name="Debug|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
<FileConfiguration Name="Release|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
</File> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\native\juce_win32_DirectWriteTypeLayout.cpp"> | |||
<FileConfiguration Name="Debug|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
<FileConfiguration Name="Release|Win32" | |||
ExcludedFromBuild="true"> | |||
<Tool Name="VCCLCompilerTool"/> | |||
</FileConfiguration> | |||
</File> | |||
<File RelativePath="..\..\..\..\modules\juce_graphics\native\juce_win32_Fonts.cpp"> | |||
<FileConfiguration Name="Debug|Win32" | |||
ExcludedFromBuild="true"> | |||
@@ -485,6 +485,9 @@ | |||
<ClCompile Include="..\..\..\..\modules\juce_graphics\placement\juce_RectanglePlacement.cpp"> | |||
<ExcludedFromBuild>true</ExcludedFromBuild> | |||
</ClCompile> | |||
<ClCompile Include="..\..\..\..\modules\juce_graphics\fonts\juce_AttributedString.cpp"> | |||
<ExcludedFromBuild>true</ExcludedFromBuild> | |||
</ClCompile> | |||
<ClCompile Include="..\..\..\..\modules\juce_graphics\fonts\juce_CustomTypeface.cpp"> | |||
<ExcludedFromBuild>true</ExcludedFromBuild> | |||
</ClCompile> | |||
@@ -518,6 +521,12 @@ | |||
<ClCompile Include="..\..\..\..\modules\juce_graphics\native\juce_win32_Direct2DGraphicsContext.cpp"> | |||
<ExcludedFromBuild>true</ExcludedFromBuild> | |||
</ClCompile> | |||
<ClCompile Include="..\..\..\..\modules\juce_graphics\native\juce_win32_DirectWriteTypeface.cpp"> | |||
<ExcludedFromBuild>true</ExcludedFromBuild> | |||
</ClCompile> | |||
<ClCompile Include="..\..\..\..\modules\juce_graphics\native\juce_win32_DirectWriteTypeLayout.cpp"> | |||
<ExcludedFromBuild>true</ExcludedFromBuild> | |||
</ClCompile> | |||
<ClCompile Include="..\..\..\..\modules\juce_graphics\native\juce_win32_Fonts.cpp"> | |||
<ExcludedFromBuild>true</ExcludedFromBuild> | |||
</ClCompile> | |||
@@ -1153,6 +1162,7 @@ | |||
<ClInclude Include="..\..\..\..\modules\juce_graphics\geometry\juce_RectangleList.h"/> | |||
<ClInclude Include="..\..\..\..\modules\juce_graphics\placement\juce_Justification.h"/> | |||
<ClInclude Include="..\..\..\..\modules\juce_graphics\placement\juce_RectanglePlacement.h"/> | |||
<ClInclude Include="..\..\..\..\modules\juce_graphics\fonts\juce_AttributedString.h"/> | |||
<ClInclude Include="..\..\..\..\modules\juce_graphics\fonts\juce_CustomTypeface.h"/> | |||
<ClInclude Include="..\..\..\..\modules\juce_graphics\fonts\juce_Font.h"/> | |||
<ClInclude Include="..\..\..\..\modules\juce_graphics\fonts\juce_GlyphArrangement.h"/> | |||
@@ -700,6 +700,9 @@ | |||
<ClCompile Include="..\..\..\..\modules\juce_graphics\placement\juce_RectanglePlacement.cpp"> | |||
<Filter>Juce Modules\juce_graphics\placement</Filter> | |||
</ClCompile> | |||
<ClCompile Include="..\..\..\..\modules\juce_graphics\fonts\juce_AttributedString.cpp"> | |||
<Filter>Juce Modules\juce_graphics\fonts</Filter> | |||
</ClCompile> | |||
<ClCompile Include="..\..\..\..\modules\juce_graphics\fonts\juce_CustomTypeface.cpp"> | |||
<Filter>Juce Modules\juce_graphics\fonts</Filter> | |||
</ClCompile> | |||
@@ -739,6 +742,12 @@ | |||
<ClCompile Include="..\..\..\..\modules\juce_graphics\native\juce_win32_Direct2DGraphicsContext.cpp"> | |||
<Filter>Juce Modules\juce_graphics\native</Filter> | |||
</ClCompile> | |||
<ClCompile Include="..\..\..\..\modules\juce_graphics\native\juce_win32_DirectWriteTypeface.cpp"> | |||
<Filter>Juce Modules\juce_graphics\native</Filter> | |||
</ClCompile> | |||
<ClCompile Include="..\..\..\..\modules\juce_graphics\native\juce_win32_DirectWriteTypeLayout.cpp"> | |||
<Filter>Juce Modules\juce_graphics\native</Filter> | |||
</ClCompile> | |||
<ClCompile Include="..\..\..\..\modules\juce_graphics\native\juce_win32_Fonts.cpp"> | |||
<Filter>Juce Modules\juce_graphics\native</Filter> | |||
</ClCompile> | |||
@@ -1878,6 +1887,9 @@ | |||
<ClInclude Include="..\..\..\..\modules\juce_graphics\placement\juce_RectanglePlacement.h"> | |||
<Filter>Juce Modules\juce_graphics\placement</Filter> | |||
</ClInclude> | |||
<ClInclude Include="..\..\..\..\modules\juce_graphics\fonts\juce_AttributedString.h"> | |||
<Filter>Juce Modules\juce_graphics\fonts</Filter> | |||
</ClInclude> | |||
<ClInclude Include="..\..\..\..\modules\juce_graphics\fonts\juce_CustomTypeface.h"> | |||
<Filter>Juce Modules\juce_graphics\fonts</Filter> | |||
</ClInclude> | |||
@@ -33,6 +33,7 @@ | |||
// juce_graphics flags: | |||
//#define JUCE_USE_COREIMAGE_LOADER | |||
//#define JUCE_USE_DIRECTWRITE | |||
//============================================================================== | |||
// juce_gui_basics flags: | |||
@@ -30,11 +30,11 @@ namespace ColourHelpers | |||
{ | |||
uint8 floatToUInt8 (const float n) noexcept | |||
{ | |||
return (uint8) jlimit (0, 255, roundToInt (n * 255.0f)); | |||
return n <= 0.0f ? 0 : (n >= 1.0f ? 255 : (uint8) (n * 255.0f)); | |||
} | |||
// This is an adjusted brightness value, based on the way the human eye responds to | |||
// different colour channels.. | |||
// This is an adjusted brightness value, based on the way the human | |||
// eye responds to different colour channels.. | |||
float getPerceivedBrightness (float r, float g, float b) noexcept | |||
{ | |||
return std::sqrt (r * r * 0.241f | |||
@@ -31,7 +31,7 @@ | |||
#include "../geometry/juce_RectangleList.h" | |||
#include "../colour/juce_ColourGradient.h" | |||
#include "../colour/juce_FillType.h" | |||
class AttributedString; | |||
//============================================================================== | |||
/** | |||
@@ -103,6 +103,7 @@ public: | |||
virtual void setFont (const Font& newFont) = 0; | |||
virtual Font getFont() = 0; | |||
virtual void drawGlyph (int glyphNumber, const AffineTransform& transform) = 0; | |||
virtual bool drawTextLayout (const AttributedString&, const Rectangle<float>&) { return false; } | |||
}; | |||
@@ -0,0 +1,634 @@ | |||
/* | |||
============================================================================== | |||
This file is part of the JUCE library - "Jules' Utility Class Extensions" | |||
Copyright 2004-11 by Raw Material Software Ltd. | |||
------------------------------------------------------------------------------ | |||
JUCE can be redistributed and/or modified under the terms of the GNU General | |||
Public License (Version 2), as published by the Free Software Foundation. | |||
A copy of the license is included in the JUCE distribution, or can be found | |||
online at www.gnu.org/licenses. | |||
JUCE is distributed in the hope that it will be useful, but WITHOUT ANY | |||
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR | |||
A PARTICULAR PURPOSE. See the GNU General Public License for more details. | |||
------------------------------------------------------------------------------ | |||
To release a closed-source product which uses JUCE, commercial licenses are | |||
available: visit www.rawmaterialsoftware.com/juce for more information. | |||
============================================================================== | |||
*/ | |||
BEGIN_JUCE_NAMESPACE | |||
//============================================================================== | |||
AttributedString::Attribute::Attribute (const Range<int>& range_, const Colour& colour_) | |||
: range (range_), colour (new Colour (colour_)) | |||
{ | |||
} | |||
AttributedString::Attribute::Attribute (const Range<int>& range_, const Font& font_) | |||
: range (range_), font (new Font (font_)) | |||
{ | |||
} | |||
AttributedString::Attribute::Attribute (const Attribute& other) | |||
: range (other.range), | |||
font (other.font.createCopy()), | |||
colour (other.colour.createCopy()) | |||
{ | |||
} | |||
AttributedString::Attribute::~Attribute() {} | |||
//============================================================================== | |||
AttributedString::AttributedString() | |||
: lineSpacing (0.0f), | |||
justification (Justification::left), | |||
wordWrap (AttributedString::byWord), | |||
readingDirection (AttributedString::natural) | |||
{ | |||
} | |||
AttributedString::AttributedString (const String& newString) | |||
: text (newString), | |||
lineSpacing (0.0f), | |||
justification (Justification::left), | |||
wordWrap (AttributedString::byWord), | |||
readingDirection (AttributedString::natural) | |||
{ | |||
} | |||
AttributedString::AttributedString (const AttributedString& other) | |||
: text (other.text), | |||
lineSpacing (other.lineSpacing), | |||
justification (other.justification), | |||
wordWrap (other.wordWrap), | |||
readingDirection (other.readingDirection) | |||
{ | |||
attributes.addCopiesOf (other.attributes); | |||
} | |||
AttributedString& AttributedString::operator= (const AttributedString& other) | |||
{ | |||
if (this != &other) | |||
{ | |||
text = other.text; | |||
lineSpacing = other.lineSpacing; | |||
justification = other.justification; | |||
wordWrap = other.wordWrap; | |||
readingDirection = other.readingDirection; | |||
attributes.clear(); | |||
attributes.addCopiesOf (other.attributes); | |||
} | |||
return *this; | |||
} | |||
AttributedString::~AttributedString() {} | |||
void AttributedString::setText (const String& other) | |||
{ | |||
text = other; | |||
} | |||
void AttributedString::setJustification (const Justification& newJustification) noexcept | |||
{ | |||
justification = newJustification; | |||
} | |||
void AttributedString::setWordWrap (WordWrap newWordWrap) noexcept | |||
{ | |||
wordWrap = newWordWrap; | |||
} | |||
void AttributedString::setReadingDirection (ReadingDirection newReadingDirection) noexcept | |||
{ | |||
readingDirection = newReadingDirection; | |||
} | |||
void AttributedString::setLineSpacing (const float newLineSpacing) noexcept | |||
{ | |||
lineSpacing = newLineSpacing; | |||
} | |||
void AttributedString::setColour (const Range<int>& range, const Colour& colour) | |||
{ | |||
attributes.add (new Attribute (range, colour)); | |||
} | |||
void AttributedString::setFont (const Range<int>& range, const Font& font) | |||
{ | |||
attributes.add (new Attribute (range, font)); | |||
} | |||
void AttributedString::draw (Graphics& g, const Rectangle<float>& area) const | |||
{ | |||
if (text.isNotEmpty() && g.clipRegionIntersects (area.getSmallestIntegerContainer())) | |||
{ | |||
if (! g.getInternalContext()->drawTextLayout (*this, area)) | |||
{ | |||
GlyphLayout layout; | |||
layout.setText (*this, area.getWidth()); | |||
layout.draw (g, area); | |||
} | |||
} | |||
} | |||
//============================================================================== | |||
GlyphLayout::Glyph::Glyph (const int glyphCode_, const Point<float>& anchor_) noexcept | |||
: glyphCode (glyphCode_), anchor (anchor_) | |||
{ | |||
} | |||
GlyphLayout::Glyph::~Glyph() {} | |||
//============================================================================== | |||
GlyphLayout::Run::Run() | |||
: colour (0xff000000) | |||
{ | |||
} | |||
GlyphLayout::Run::Run (const Range<int>& range, const int numGlyphsToPreallocate) | |||
: stringRange (range), colour (0xff000000) | |||
{ | |||
glyphs.ensureStorageAllocated (numGlyphsToPreallocate); | |||
} | |||
GlyphLayout::Run::~Run() {} | |||
GlyphLayout::Glyph& GlyphLayout::Run::getGlyph (const int index) const | |||
{ | |||
return *glyphs.getUnchecked (index); | |||
} | |||
void GlyphLayout::Run::ensureStorageAllocated (int numGlyphsNeeded) | |||
{ | |||
glyphs.ensureStorageAllocated (numGlyphsNeeded); | |||
} | |||
void GlyphLayout::Run::setStringRange (const Range<int>& newStringRange) noexcept | |||
{ | |||
stringRange = newStringRange; | |||
} | |||
void GlyphLayout::Run::setFont (const Font& newFont) | |||
{ | |||
font = newFont; | |||
} | |||
void GlyphLayout::Run::setColour (const Colour& newColour) noexcept | |||
{ | |||
colour = newColour; | |||
} | |||
void GlyphLayout::Run::addGlyph (Glyph* glyph) | |||
{ | |||
glyphs.add (glyph); | |||
} | |||
//============================================================================== | |||
GlyphLayout::Line::Line() noexcept | |||
: ascent (0.0f), descent (0.0f), leading (0.0f) | |||
{ | |||
} | |||
GlyphLayout::Line::Line (const Range<int>& stringRange_, const Point<float>& lineOrigin_, | |||
const float ascent_, const float descent_, const float leading_, | |||
const int numRunsToPreallocate) | |||
: stringRange (stringRange_), lineOrigin (lineOrigin_), | |||
ascent (ascent_), descent (descent_), leading (leading_) | |||
{ | |||
runs.ensureStorageAllocated (numRunsToPreallocate); | |||
} | |||
GlyphLayout::Line::~Line() | |||
{ | |||
} | |||
GlyphLayout::Run& GlyphLayout::Line::getRun (const int index) const noexcept | |||
{ | |||
return *runs.getUnchecked (index); | |||
} | |||
void GlyphLayout::Line::setStringRange (const Range<int>& newStringRange) noexcept | |||
{ | |||
stringRange = newStringRange; | |||
} | |||
void GlyphLayout::Line::setLineOrigin (const Point<float>& newLineOrigin) noexcept | |||
{ | |||
lineOrigin = newLineOrigin; | |||
} | |||
void GlyphLayout::Line::setLeading (float newLeading) noexcept | |||
{ | |||
leading = newLeading; | |||
} | |||
void GlyphLayout::Line::increaseAscentDescent (float newAscent, float newDescent) noexcept | |||
{ | |||
ascent = jmax (ascent, newAscent); | |||
descent = jmax (descent, newDescent); | |||
} | |||
void GlyphLayout::Line::addRun (Run* run) | |||
{ | |||
runs.add (run); | |||
} | |||
//============================================================================== | |||
GlyphLayout::GlyphLayout() | |||
: width (0), justification (Justification::topLeft) | |||
{ | |||
} | |||
GlyphLayout::~GlyphLayout() | |||
{ | |||
} | |||
void GlyphLayout::setText (const AttributedString& text, float maxWidth) | |||
{ | |||
lines.clear(); | |||
width = maxWidth; | |||
justification = text.getJustification(); | |||
if (! createNativeLayout (text)) | |||
createStandardLayout (text); | |||
} | |||
float GlyphLayout::getHeight() const noexcept | |||
{ | |||
const Line* const lastLine = lines.getLast(); | |||
return lastLine != nullptr ? lastLine->getLineOrigin().getY() + lastLine->getDescent() | |||
: 0; | |||
} | |||
GlyphLayout::Line& GlyphLayout::getLine (const int index) const | |||
{ | |||
return *lines[index]; | |||
} | |||
void GlyphLayout::ensureStorageAllocated (int numLinesNeeded) | |||
{ | |||
lines.ensureStorageAllocated (numLinesNeeded); | |||
} | |||
void GlyphLayout::addLine (Line* line) | |||
{ | |||
lines.add (line); | |||
} | |||
void GlyphLayout::draw (Graphics& g, const Rectangle<float>& area) const | |||
{ | |||
const Point<float> origin (justification.appliedToRectangle (Rectangle<float> (0, 0, width, getHeight()), area).getPosition()); | |||
LowLevelGraphicsContext& context = *g.getInternalContext(); | |||
for (int i = 0; i < getNumLines(); ++i) | |||
{ | |||
const Line& line = getLine (i); | |||
const Point<float> lineOrigin (origin + line.getLineOrigin()); | |||
for (int j = 0; j < line.getNumRuns(); ++j) | |||
{ | |||
const Run& run = line.getRun (j); | |||
context.setFont (run.getFont()); | |||
context.setFill (run.getColour()); | |||
for (int k = 0; k < run.getNumGlyphs(); ++k) | |||
{ | |||
const Glyph& glyph = run.getGlyph (k); | |||
context.drawGlyph (glyph.glyphCode, AffineTransform::translation (lineOrigin.x + glyph.anchor.x, | |||
lineOrigin.y + glyph.anchor.y)); | |||
} | |||
} | |||
} | |||
} | |||
//============================================================================== | |||
namespace GlyphLayoutHelpers | |||
{ | |||
struct FontAndColour | |||
{ | |||
FontAndColour (const Font* font_) noexcept : font (font_), colour (0xff000000) {} | |||
const Font* font; | |||
Colour colour; | |||
bool operator!= (const FontAndColour& other) const noexcept | |||
{ | |||
return (font != other.font && *font != *other.font) || colour != other.colour; | |||
} | |||
}; | |||
struct RunAttribute | |||
{ | |||
RunAttribute (const FontAndColour& fontAndColour_, const Range<int>& range_) noexcept | |||
: fontAndColour (fontAndColour_), range (range_) | |||
{} | |||
FontAndColour fontAndColour; | |||
Range<int> range; | |||
}; | |||
struct Token | |||
{ | |||
Token (const String& t, const Font& f, const Colour& c, const bool isWhitespace_) | |||
: text (t), font (f), colour (c), | |||
area (font.getStringWidth (t), roundToInt (f.getHeight())), | |||
isWhitespace (isWhitespace_), | |||
isNewLine (t.containsChar ('\n') || t.containsChar ('\r')) | |||
{} | |||
const String text; | |||
const Font font; | |||
const Colour colour; | |||
Rectangle<int> area; | |||
int line, lineHeight; | |||
const bool isWhitespace, isNewLine; | |||
private: | |||
Token& operator= (const Token&); | |||
}; | |||
class TokenList | |||
{ | |||
public: | |||
TokenList() noexcept : totalLines (0) {} | |||
void createLayout (const AttributedString& text, GlyphLayout& glyphLayout) | |||
{ | |||
tokens.ensureStorageAllocated (64); | |||
glyphLayout.ensureStorageAllocated (totalLines); | |||
addTextRuns (text); | |||
layout ((int) glyphLayout.getWidth()); | |||
int charPosition = 0; | |||
int lineStartPosition = 0; | |||
int runStartPosition = 0; | |||
GlyphLayout::Line* glyphLine = new GlyphLayout::Line(); | |||
GlyphLayout::Run* glyphRun = new GlyphLayout::Run(); | |||
for (int i = 0; i < tokens.size(); ++i) | |||
{ | |||
const Token* const t = tokens.getUnchecked (i); | |||
const Point<float> tokenPos (t->area.getPosition().toFloat()); | |||
Array <int> newGlyphs; | |||
Array <float> xOffsets; | |||
t->font.getGlyphPositions (t->text.trimEnd(), newGlyphs, xOffsets); | |||
glyphRun->ensureStorageAllocated (glyphRun->getNumGlyphs() + newGlyphs.size()); | |||
for (int j = 0; j < newGlyphs.size(); ++j) | |||
{ | |||
if (charPosition == lineStartPosition) | |||
glyphLine->setLineOrigin (tokenPos.translated (0, t->font.getAscent())); | |||
glyphRun->addGlyph (new GlyphLayout::Glyph (newGlyphs.getUnchecked(j), | |||
Point<float> (tokenPos.getX() + xOffsets.getUnchecked (j), 0))); | |||
++charPosition; | |||
} | |||
if (t->isWhitespace || t->isNewLine) | |||
++charPosition; | |||
const Token* const nextToken = tokens [i + 1]; | |||
if (nextToken == nullptr) // this is the last token | |||
{ | |||
addRun (glyphLine, glyphRun, t, runStartPosition, charPosition); | |||
glyphLine->setStringRange (Range<int> (lineStartPosition, charPosition)); | |||
glyphLayout.addLine (glyphLine); | |||
} | |||
else | |||
{ | |||
if (t->font != nextToken->font || t->colour != nextToken->colour) | |||
{ | |||
addRun (glyphLine, glyphRun, t, runStartPosition, charPosition); | |||
runStartPosition = charPosition; | |||
glyphRun = new GlyphLayout::Run(); | |||
} | |||
if (t->line != nextToken->line) | |||
{ | |||
addRun (glyphLine, glyphRun, t, runStartPosition, charPosition); | |||
glyphLine->setStringRange (Range<int> (lineStartPosition, charPosition)); | |||
glyphLayout.addLine (glyphLine); | |||
runStartPosition = charPosition; | |||
lineStartPosition = charPosition; | |||
glyphLine = new GlyphLayout::Line(); | |||
glyphRun = new GlyphLayout::Run(); | |||
} | |||
} | |||
} | |||
if ((text.getJustification().getFlags() & (Justification::right | Justification::horizontallyCentred)) != 0) | |||
{ | |||
const int totalW = (int) glyphLayout.getWidth(); | |||
for (int i = 0; i < totalLines; ++i) | |||
{ | |||
const int lineW = getLineWidth (i); | |||
float dx = 0; | |||
if ((text.getJustification().getFlags() & Justification::right) != 0) | |||
dx = (float) (totalW - lineW); | |||
else | |||
dx = (totalW - lineW) / 2.0f; | |||
GlyphLayout::Line& glyphLine = glyphLayout.getLine (i); | |||
glyphLine.setLineOrigin (glyphLine.getLineOrigin().translated (dx, 0)); | |||
} | |||
} | |||
} | |||
private: | |||
static void addRun (GlyphLayout::Line* glyphLine, GlyphLayout::Run* glyphRun, | |||
const Token* const t, const int start, const int end) | |||
{ | |||
glyphRun->setStringRange (Range<int> (start, end)); | |||
glyphRun->setFont (t->font); | |||
glyphRun->setColour (t->colour); | |||
glyphLine->increaseAscentDescent (t->font.getAscent(), t->font.getDescent()); | |||
glyphLine->addRun (glyphRun); | |||
} | |||
void appendText (const AttributedString& text, const Range<int>& stringRange, | |||
const Font& font, const Colour& colour) | |||
{ | |||
String stringText (text.getText().substring(stringRange.getStart(), stringRange.getEnd())); | |||
String::CharPointerType t (stringText.getCharPointer()); | |||
String currentString; | |||
int lastCharType = 0; | |||
for (;;) | |||
{ | |||
const juce_wchar c = t.getAndAdvance(); | |||
if (c == 0) | |||
break; | |||
int charType; | |||
if (c == '\r' || c == '\n') | |||
charType = 0; | |||
else if (CharacterFunctions::isWhitespace (c)) | |||
charType = 2; | |||
else | |||
charType = 1; | |||
if (charType == 0 || charType != lastCharType) | |||
{ | |||
if (currentString.isNotEmpty()) | |||
tokens.add (new Token (currentString, font, colour, | |||
lastCharType == 2 || lastCharType == 0)); | |||
currentString = String::charToString (c); | |||
if (c == '\r' && *t == '\n') | |||
currentString += t.getAndAdvance(); | |||
} | |||
else | |||
{ | |||
currentString += c; | |||
} | |||
lastCharType = charType; | |||
} | |||
if (currentString.isNotEmpty()) | |||
tokens.add (new Token (currentString, font, colour, lastCharType == 2)); | |||
} | |||
void layout (const int maxWidth) | |||
{ | |||
int x = 0, y = 0, h = 0; | |||
int i; | |||
for (i = 0; i < tokens.size(); ++i) | |||
{ | |||
Token* const t = tokens.getUnchecked(i); | |||
t->area.setPosition (x, y); | |||
t->line = totalLines; | |||
x += t->area.getWidth(); | |||
h = jmax (h, t->area.getHeight()); | |||
const Token* nextTok = tokens[i + 1]; | |||
if (nextTok == 0) | |||
break; | |||
if (t->isNewLine || ((! nextTok->isWhitespace) && x + nextTok->area.getWidth() > maxWidth)) | |||
{ | |||
setLastLineHeight (i + 1, h); | |||
x = 0; | |||
y += h; | |||
h = 0; | |||
++totalLines; | |||
} | |||
} | |||
setLastLineHeight (jmin (i + 1, tokens.size()), h); | |||
++totalLines; | |||
} | |||
void setLastLineHeight (int i, const int height) noexcept | |||
{ | |||
while (--i >= 0) | |||
{ | |||
Token* const tok = tokens.getUnchecked (i); | |||
if (tok->line == totalLines) | |||
tok->lineHeight = height; | |||
else | |||
break; | |||
} | |||
} | |||
int getLineWidth (const int lineNumber) const noexcept | |||
{ | |||
int maxW = 0; | |||
for (int i = tokens.size(); --i >= 0;) | |||
{ | |||
const Token* const t = tokens.getUnchecked (i); | |||
if (t->line == lineNumber && ! t->isWhitespace) | |||
maxW = jmax (maxW, t->area.getRight()); | |||
} | |||
return maxW; | |||
} | |||
void addTextRuns (const AttributedString& text) | |||
{ | |||
Font defaultFont; | |||
Array<RunAttribute> runAttributes; | |||
{ | |||
const int stringLength = text.getText().length(); | |||
int rangeStart = 0; | |||
FontAndColour lastFontAndColour (nullptr); | |||
// Iterate through every character in the string | |||
for (int i = 0; i < stringLength; ++i) | |||
{ | |||
FontAndColour newFontAndColour (&defaultFont); | |||
const int numCharacterAttributes = text.getNumAttributes(); | |||
for (int j = 0; j < numCharacterAttributes; ++j) | |||
{ | |||
const AttributedString::Attribute* const attr = text.getAttribute (j); | |||
// Check if the current character falls within the range of a font attribute | |||
if (attr->getFont() != nullptr && (i >= attr->range.getStart()) && (i < attr->range.getEnd())) | |||
newFontAndColour.font = attr->getFont(); | |||
// Check if the current character falls within the range of a foreground colour attribute | |||
if (attr->getColour() != nullptr && (i >= attr->range.getStart()) && (i < attr->range.getEnd())) | |||
newFontAndColour.colour = *attr->getColour(); | |||
} | |||
if (i > 0 && (newFontAndColour != lastFontAndColour || i == stringLength - 1)) | |||
{ | |||
runAttributes.add (RunAttribute (lastFontAndColour, | |||
Range<int> (rangeStart, (i < stringLength - 1) ? i : (i + 1)))); | |||
rangeStart = i; | |||
} | |||
lastFontAndColour = newFontAndColour; | |||
} | |||
} | |||
for (int i = 0; i < runAttributes.size(); ++i) | |||
{ | |||
const RunAttribute& r = runAttributes.getReference(i); | |||
appendText (text, r.range, *(r.fontAndColour.font), r.fontAndColour.colour); | |||
} | |||
} | |||
OwnedArray<Token> tokens; | |||
int totalLines; | |||
JUCE_DECLARE_NON_COPYABLE (TokenList); | |||
}; | |||
} | |||
//============================================================================== | |||
void GlyphLayout::createStandardLayout (const AttributedString& text) | |||
{ | |||
GlyphLayoutHelpers::TokenList l; | |||
l.createLayout (text, *this); | |||
} | |||
END_JUCE_NAMESPACE |
@@ -0,0 +1,318 @@ | |||
/* | |||
============================================================================== | |||
This file is part of the JUCE library - "Jules' Utility Class Extensions" | |||
Copyright 2004-11 by Raw Material Software Ltd. | |||
------------------------------------------------------------------------------ | |||
JUCE can be redistributed and/or modified under the terms of the GNU General | |||
Public License (Version 2), as published by the Free Software Foundation. | |||
A copy of the license is included in the JUCE distribution, or can be found | |||
online at www.gnu.org/licenses. | |||
JUCE is distributed in the hope that it will be useful, but WITHOUT ANY | |||
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR | |||
A PARTICULAR PURPOSE. See the GNU General Public License for more details. | |||
------------------------------------------------------------------------------ | |||
To release a closed-source product which uses JUCE, commercial licenses are | |||
available: visit www.rawmaterialsoftware.com/juce for more information. | |||
============================================================================== | |||
*/ | |||
#ifndef __JUCE_ATTRIBUTEDSTRING_JUCEHEADER__ | |||
#define __JUCE_ATTRIBUTEDSTRING_JUCEHEADER__ | |||
//============================================================================== | |||
/** | |||
A text string with a set of colour/font settings that are associated with sub-ranges | |||
of the text. | |||
An attributed string lets you create a string with varied fonts, colours, word-wrapping, | |||
layout, etc., and draw it using AttributedString::draw(). | |||
*/ | |||
class JUCE_API AttributedString | |||
{ | |||
public: | |||
/** Creates an empty attributed string. */ | |||
AttributedString(); | |||
/** Creates an attributed string with the given text. */ | |||
explicit AttributedString (const String& text); | |||
AttributedString (const AttributedString& other); | |||
AttributedString& operator= (const AttributedString& other); | |||
/** Destructor. */ | |||
~AttributedString(); | |||
//============================================================================== | |||
/** Returns the complete text of this attributed string. */ | |||
const String& getText() const noexcept { return text; } | |||
/** Sets the text. | |||
This will change the text, but won't affect any of the attributes that have | |||
been added. | |||
*/ | |||
void setText (const String& newText); | |||
//============================================================================== | |||
/** Draws this string within the given area. | |||
The layout of the string within the rectangle is controlled by the justification | |||
value passed to setJustification(). | |||
*/ | |||
void draw (Graphics& g, const Rectangle<float>& area) const; | |||
//============================================================================== | |||
/** Returns the justification that should be used for laying-out the text. | |||
This may include both vertical and horizontal flags. | |||
*/ | |||
Justification getJustification() const noexcept { return justification; } | |||
/** Sets the justification that should be used for laying-out the text. | |||
This may include both vertical and horizontal flags. | |||
*/ | |||
void setJustification (const Justification& newJustification) noexcept; | |||
//============================================================================== | |||
/** Types of word-wrap behaviour. | |||
@see getWordWrap, setWordWrap | |||
*/ | |||
enum WordWrap | |||
{ | |||
none, /**< No word-wrapping: lines extend indefinitely. */ | |||
byWord, /**< Lines are wrapped on a word boundary. */ | |||
byChar, /**< Lines are wrapped on a character boundary. */ | |||
}; | |||
/** Returns the word-wrapping behaviour. */ | |||
WordWrap getWordWrap() const noexcept { return wordWrap; } | |||
/** Sets the word-wrapping behaviour. */ | |||
void setWordWrap (WordWrap newWordWrap) noexcept; | |||
//============================================================================== | |||
/** Types of reading direction that can be used. | |||
@see getReadingDirection, setReadingDirection | |||
*/ | |||
enum ReadingDirection | |||
{ | |||
natural, | |||
leftToRight, | |||
rightToLeft, | |||
}; | |||
/** Returns the reading direction for the text. */ | |||
ReadingDirection getReadingDirection() const noexcept { return readingDirection; } | |||
/** Sets the reading direction that should be used for the text. */ | |||
void setReadingDirection (ReadingDirection newReadingDirection) noexcept; | |||
//============================================================================== | |||
/** Returns the extra line-spacing distance. */ | |||
float getLineSpacing() const noexcept { return lineSpacing; } | |||
/** Sets an extra line-spacing distance. */ | |||
void setLineSpacing (float newLineSpacing) noexcept; | |||
//============================================================================== | |||
/** An attribute that has been applied to a range of characters in an AttributedString. */ | |||
class JUCE_API Attribute | |||
{ | |||
public: | |||
/** Creates an attribute that changes the colour for a range of characters. | |||
@see AttributedString::setColour() | |||
*/ | |||
Attribute (const Range<int>& range, const Colour& colour); | |||
/** Creates an attribute that changes the font for a range of characters. | |||
@see AttributedString::setFont() | |||
*/ | |||
Attribute (const Range<int>& range, const Font& font); | |||
Attribute (const Attribute&); | |||
~Attribute(); | |||
/** If this attribute specifies a font, this returns it; otherwise it returns nullptr. */ | |||
const Font* getFont() const noexcept { return font; } | |||
/** If this attribute specifies a colour, this returns it; otherwise it returns nullptr. */ | |||
const Colour* getColour() const noexcept { return colour; } | |||
/** The range of characters to which this attribute should be applied. */ | |||
const Range<int> range; | |||
private: | |||
ScopedPointer<Font> font; | |||
ScopedPointer<Colour> colour; | |||
Attribute& operator= (const Attribute&); | |||
}; | |||
/** Returns the number of attributes that have been added to this string. */ | |||
int getNumAttributes() const noexcept { return attributes.size(); } | |||
/** Returns one of the string's attributes. | |||
The index provided must be less than getNumAttributes(), and >= 0. | |||
*/ | |||
const Attribute* getAttribute (int index) const noexcept { return attributes.getUnchecked (index); } | |||
//============================================================================== | |||
/** Adds a colour attribute for the specified range. */ | |||
void setColour (const Range<int>& range, const Colour& colour); | |||
/** Adds a font attribute for the specified range. */ | |||
void setFont (const Range<int>& range, const Font& font); | |||
private: | |||
String text; | |||
float lineSpacing; | |||
Justification justification; | |||
WordWrap wordWrap; | |||
ReadingDirection readingDirection; | |||
OwnedArray<Attribute> attributes; | |||
}; | |||
//============================================================================== | |||
/** | |||
*/ | |||
class JUCE_API GlyphLayout | |||
{ | |||
public: | |||
/** Creates an empty layout. */ | |||
GlyphLayout(); | |||
/** Destructor. */ | |||
~GlyphLayout(); | |||
//============================================================================== | |||
/** Creates a layout from the given attributed string. | |||
This will replace any data that is currently stored in the layout. | |||
*/ | |||
void setText (const AttributedString& text, float maxWidth); | |||
/** Draws the layout within the specified area. | |||
The position of the text within the rectangle is controlled by the justification | |||
flags set in the original AttributedString that was used to create this layout. | |||
*/ | |||
void draw (Graphics& g, const Rectangle<float>& area) const; | |||
//============================================================================== | |||
/** A positioned glyph. */ | |||
class JUCE_API Glyph | |||
{ | |||
public: | |||
Glyph (int glyphCode, const Point<float>& anchor) noexcept; | |||
~Glyph(); | |||
const int glyphCode; | |||
const Point<float> anchor; | |||
private: | |||
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (Glyph); | |||
}; | |||
//============================================================================== | |||
/** A sequence of glyphs. */ | |||
class JUCE_API Run | |||
{ | |||
public: | |||
Run(); | |||
Run (const Range<int>& range, int numGlyphsToPreallocate); | |||
~Run(); | |||
int getNumGlyphs() const noexcept { return glyphs.size(); } | |||
const Font& getFont() const noexcept { return font; } | |||
const Colour& getColour() const { return colour; } | |||
Glyph& getGlyph (int index) const; | |||
void setStringRange (const Range<int>& newStringRange) noexcept; | |||
void setFont (const Font& newFont); | |||
void setColour (const Colour& newColour) noexcept; | |||
void addGlyph (Glyph* glyph); | |||
void ensureStorageAllocated (int numGlyphsNeeded); | |||
private: | |||
OwnedArray<Glyph> glyphs; | |||
Range<int> stringRange; | |||
Font font; | |||
Colour colour; | |||
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (Run); | |||
}; | |||
//============================================================================== | |||
/** A line containing a sequence of glyph-runs. */ | |||
class JUCE_API Line | |||
{ | |||
public: | |||
Line() noexcept; | |||
Line (const Range<int>& stringRange, const Point<float>& lineOrigin, | |||
float ascent, float descent, float leading, int numRunsToPreallocate); | |||
~Line(); | |||
const Point<float>& getLineOrigin() const noexcept { return lineOrigin; } | |||
float getAscent() const noexcept { return ascent; } | |||
float getDescent() const noexcept { return descent; } | |||
float getLeading() const noexcept { return leading; } | |||
int getNumRuns() const noexcept { return runs.size(); } | |||
Run& getRun (int index) const noexcept; | |||
void setStringRange (const Range<int>& newStringRange) noexcept; | |||
void setLineOrigin (const Point<float>& newLineOrigin) noexcept; | |||
void setLeading (float newLeading) noexcept; | |||
void increaseAscentDescent (float newAscent, float newDescent) noexcept; | |||
void addRun (Run* run); | |||
private: | |||
OwnedArray<Run> runs; | |||
Range<int> stringRange; | |||
Point<float> lineOrigin; | |||
float ascent, descent, leading; | |||
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (Line); | |||
}; | |||
//============================================================================== | |||
/** Returns the maximum width of the content. */ | |||
float getWidth() const noexcept { return width; } | |||
/** Returns the maximum height of the content. */ | |||
float getHeight() const noexcept; | |||
/** Returns the number of lines in the layout. */ | |||
int getNumLines() const noexcept { return lines.size(); } | |||
/** Returns one of the lines. */ | |||
Line& getLine (int index) const; | |||
/** Adds a line to the layout. The object passed-in will be owned and deleted by the layout | |||
when it is no longer needed. | |||
*/ | |||
void addLine (Line* line); | |||
/** Pre-allocates space for the specified number of lines. */ | |||
void ensureStorageAllocated (int numLinesNeeded); | |||
private: | |||
OwnedArray<Line> lines; | |||
float width; | |||
Justification justification; | |||
void createStandardLayout (const AttributedString&); | |||
bool createNativeLayout (const AttributedString&); | |||
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (GlyphLayout); | |||
}; | |||
#endif // __JUCE_ATTRIBUTEDSTRING_JUCEHEADER__ |
@@ -43,6 +43,12 @@ | |||
#if JUCE_MAC | |||
#import <QuartzCore/QuartzCore.h> | |||
#elif JUCE_WINDOWS | |||
#if JUCE_USE_DIRECTWRITE | |||
#include <d2d1.h> | |||
#include <dwrite.h> | |||
#endif | |||
#elif JUCE_IOS | |||
#import <QuartzCore/QuartzCore.h> | |||
#import <CoreText/CoreText.h> | |||
@@ -78,6 +84,7 @@ | |||
#include "image_formats/juce_GIFLoader.cpp" | |||
#include "image_formats/juce_JPEGLoader.cpp" | |||
#include "image_formats/juce_PNGLoader.cpp" | |||
#include "fonts/juce_AttributedString.cpp" | |||
#include "fonts/juce_CustomTypeface.cpp" | |||
#include "fonts/juce_Font.cpp" | |||
#include "fonts/juce_GlyphArrangement.cpp" | |||
@@ -93,13 +100,17 @@ BEGIN_JUCE_NAMESPACE | |||
#if JUCE_MAC || JUCE_IOS | |||
#include "../juce_core/native/juce_osx_ObjCHelpers.h" | |||
#include "../juce_core/native/juce_mac_ObjCSuffix.h" | |||
#include "native/juce_mac_CoreGraphicsHelpers.h" | |||
#include "native/juce_mac_Fonts.mm" | |||
#include "native/juce_mac_CoreGraphicsContext.mm" | |||
#elif JUCE_WINDOWS | |||
#include "../juce_core/native/juce_win32_ComSmartPtr.h" | |||
#if JUCE_DIRECT2D | |||
#include "native/juce_win32_Direct2DGraphicsContext.cpp" | |||
#endif | |||
#include "native/juce_win32_DirectWriteTypeface.cpp" | |||
#include "native/juce_win32_DirectWriteTypeLayout.cpp" | |||
#include "native/juce_win32_Fonts.cpp" | |||
#elif JUCE_LINUX | |||
@@ -40,6 +40,15 @@ | |||
#define JUCE_USE_COREIMAGE_LOADER 1 | |||
#endif | |||
/** Config: JUCE_USE_DIRECTWRITE | |||
Enabling this flag means that DirectWrite will be used when available for font | |||
management and layout. | |||
*/ | |||
#ifndef JUCE_USE_DIRECTWRITE | |||
#define JUCE_USE_DIRECTWRITE 1 | |||
#endif | |||
#ifndef JUCE_INCLUDE_PNGLIB_CODE | |||
#define JUCE_INCLUDE_PNGLIB_CODE 1 | |||
#endif | |||
@@ -132,6 +141,9 @@ BEGIN_JUCE_NAMESPACE | |||
#ifndef __JUCE_IMAGEFILEFORMAT_JUCEHEADER__ | |||
#include "images/juce_ImageFileFormat.h" | |||
#endif | |||
#ifndef __JUCE_ATTRIBUTEDSTRING_JUCEHEADER__ | |||
#include "fonts/juce_AttributedString.h" | |||
#endif | |||
#ifndef __JUCE_CUSTOMTYPEFACE_JUCEHEADER__ | |||
#include "fonts/juce_CustomTypeface.h" | |||
#endif | |||
@@ -72,6 +72,7 @@ public: | |||
void setFont (const Font& newFont); | |||
Font getFont(); | |||
void drawGlyph (int glyphNumber, const AffineTransform& transform); | |||
bool drawTextLayout (const AttributedString& text, const Rectangle<float>&); | |||
private: | |||
CGContextRef context; | |||
@@ -23,7 +23,6 @@ | |||
============================================================================== | |||
*/ | |||
#include "juce_mac_CoreGraphicsHelpers.h" | |||
#include "juce_mac_CoreGraphicsContext.h" | |||
//============================================================================== | |||
@@ -622,6 +621,16 @@ void CoreGraphicsContext::drawGlyph (int glyphNumber, const AffineTransform& tra | |||
} | |||
} | |||
bool CoreGraphicsContext::drawTextLayout (const AttributedString& text, const Rectangle<float>& area) | |||
{ | |||
#if JUCE_CORETEXT_AVAILABLE | |||
CoreTextTypeLayout::drawToCGContext (text, area, context, flipHeight); | |||
return true; | |||
#else | |||
return false; | |||
#endif | |||
} | |||
CoreGraphicsContext::SavedState::SavedState() | |||
: font (1.0f), fontRef (0), fontTransform (CGAffineTransformIdentity), | |||
shading (0), numGradientLookupEntries (0) | |||
@@ -31,6 +31,270 @@ | |||
#if JUCE_CORETEXT_AVAILABLE | |||
namespace CoreTextTypeLayout | |||
{ | |||
CFAttributedStringRef createCFAttributedString (const AttributedString& text) | |||
{ | |||
#if JUCE_IOS | |||
CGColorSpaceRef rgbColourSpace = CGColorSpaceCreateDeviceRGB(); | |||
#endif | |||
CFStringRef cfText = text.getText().toCFString(); | |||
CFMutableAttributedStringRef attribString = CFAttributedStringCreateMutable (kCFAllocatorDefault, 0); | |||
CFAttributedStringReplaceString (attribString, CFRangeMake(0, 0), cfText); | |||
CFRelease (cfText); | |||
const int numCharacterAttributes = text.getNumAttributes(); | |||
for (int i = 0; i < numCharacterAttributes; ++i) | |||
{ | |||
const AttributedString::Attribute* const attr = text.getAttribute (i); | |||
if (attr->range.getStart() > CFAttributedStringGetLength (attribString)) | |||
continue; | |||
Range<int> range (attr->range); | |||
range.setEnd (jmin (range.getEnd(), (int) CFAttributedStringGetLength (attribString))); | |||
if (attr->getFont() != nullptr) | |||
{ | |||
// Apply fontHeightToCGSizeFactor to the font size since this is how glyphs are drawn | |||
CTFontRef ctFontRef = CTFontCreateWithName (attr->getFont()->getTypefaceName().toCFString(), 1024, nullptr); | |||
CGFontRef cgFontRef = CTFontCopyGraphicsFont (ctFontRef, nullptr); | |||
CFRelease (ctFontRef); | |||
const int totalHeight = abs (CGFontGetAscent (cgFontRef)) + abs (CGFontGetDescent (cgFontRef)); | |||
float fontHeightToCGSizeFactor = CGFontGetUnitsPerEm (cgFontRef) / (float) totalHeight; | |||
CGFontRelease (cgFontRef); | |||
ctFontRef = CTFontCreateWithName (attr->getFont()->getTypefaceName().toCFString(), | |||
attr->getFont()->getHeight() * fontHeightToCGSizeFactor, nullptr); | |||
CFAttributedStringSetAttribute (attribString, CFRangeMake (range.getStart(), range.getLength()), | |||
kCTFontAttributeName, ctFontRef); | |||
CFRelease (ctFontRef); | |||
} | |||
if (attr->getColour() != nullptr) | |||
{ | |||
#if JUCE_IOS | |||
const CGFloat components[] = { attr->getColour()->getFloatRed(), | |||
attr->getColour()->getFloatGreen(), | |||
attr->getColour()->getFloatBlue(), | |||
attr->getColour()->getFloatAlpha() }; | |||
CGColorRef colour = CGColorCreate (rgbColourSpace, components); | |||
#else | |||
CGColorRef colour = CGColorCreateGenericRGB (attr->getColour()->getFloatRed(), | |||
attr->getColour()->getFloatGreen(), | |||
attr->getColour()->getFloatBlue(), | |||
attr->getColour()->getFloatAlpha()); | |||
#endif | |||
CFAttributedStringSetAttribute (attribString, | |||
CFRangeMake (range.getStart(), range.getLength()), | |||
kCTForegroundColorAttributeName, colour); | |||
CGColorRelease (colour); | |||
} | |||
} | |||
// Paragraph Attributes | |||
CTTextAlignment ctTextAlignment = kCTLeftTextAlignment; | |||
CTLineBreakMode ctLineBreakMode = kCTLineBreakByWordWrapping; | |||
const CGFloat ctLineSpacing = text.getLineSpacing(); | |||
switch (text.getJustification().getOnlyHorizontalFlags()) | |||
{ | |||
case Justification::left: break; | |||
case Justification::right: ctTextAlignment = kCTRightTextAlignment; break; | |||
case Justification::horizontallyCentred: ctTextAlignment = kCTCenterTextAlignment; break; | |||
case Justification::horizontallyJustified: ctTextAlignment = kCTJustifiedTextAlignment; break; | |||
default: jassertfalse; break; // Illegal justification flags | |||
} | |||
switch (text.getWordWrap()) | |||
{ | |||
case AttributedString::byWord: break; | |||
case AttributedString::none: ctLineBreakMode = kCTLineBreakByClipping; break; | |||
case AttributedString::byChar: ctLineBreakMode = kCTLineBreakByCharWrapping; break; | |||
default: break; | |||
} | |||
CTParagraphStyleSetting settings[] = | |||
{ | |||
{ kCTParagraphStyleSpecifierAlignment, sizeof (CTTextAlignment), &ctTextAlignment }, | |||
{ kCTParagraphStyleSpecifierLineBreakMode, sizeof (CTLineBreakMode), &ctLineBreakMode }, | |||
{ kCTParagraphStyleSpecifierLineSpacing, sizeof (CGFloat), &ctLineSpacing } | |||
}; | |||
CTParagraphStyleRef ctParagraphStyleRef = CTParagraphStyleCreate (settings, numElementsInArray (settings)); | |||
CFAttributedStringSetAttribute (attribString, CFRangeMake (0, CFAttributedStringGetLength (attribString)), | |||
kCTParagraphStyleAttributeName, ctParagraphStyleRef); | |||
CFRelease (ctParagraphStyleRef); | |||
#if JUCE_IOS | |||
CGColorSpaceRelease (rgbColourSpace); | |||
#endif | |||
return attribString; | |||
} | |||
float getTextHeight (CTFrameRef frame, const CGRect& bounds) | |||
{ | |||
CFArrayRef lines = CTFrameGetLines (frame); | |||
CFIndex numLines = CFArrayGetCount (lines); | |||
CFIndex lastLineIndex = numLines - 1; | |||
CGFloat descent; | |||
CTLineRef line = (CTLineRef) CFArrayGetValueAtIndex (lines, lastLineIndex); | |||
CTLineGetTypographicBounds (line, nullptr, &descent, nullptr); | |||
CGPoint lastLineOrigin; | |||
CTFrameGetLineOrigins (frame, CFRangeMake (lastLineIndex, 1), &lastLineOrigin); | |||
return bounds.size.height - lastLineOrigin.y + descent; | |||
} | |||
void drawToCGContext (const AttributedString& text, const Rectangle<float>& area, | |||
const CGContextRef& context, const float flipHeight) | |||
{ | |||
CFAttributedStringRef attribString = CoreTextTypeLayout::createCFAttributedString (text); | |||
CTFramesetterRef framesetter = CTFramesetterCreateWithAttributedString (attribString); | |||
CFRelease (attribString); | |||
CGMutablePathRef path = CGPathCreateMutable(); | |||
CGRect bounds = CGRectMake ((CGFloat) area.getX(), flipHeight - (CGFloat) area.getBottom(), | |||
(CGFloat) area.getWidth(), (CGFloat) area.getHeight()); | |||
CGPathAddRect (path, nullptr, bounds); | |||
CTFrameRef frame = CTFramesetterCreateFrame (framesetter, CFRangeMake (0, 0), path, NULL); | |||
CFRelease (framesetter); | |||
CGPathRelease (path); | |||
float dy = 0; | |||
if (text.getJustification().getOnlyVerticalFlags() == Justification::bottom) | |||
dy = bounds.size.height - getTextHeight (frame, bounds); | |||
else if (text.getJustification().getOnlyVerticalFlags() == Justification::verticallyCentred) | |||
dy = (bounds.size.height - getTextHeight (frame, bounds)) / 2.0f; | |||
if (dy != 0) | |||
{ | |||
CGContextSaveGState (context); | |||
CGContextTranslateCTM (context, 0, -dy); | |||
} | |||
CTFrameDraw (frame, context); | |||
if (dy != 0) | |||
CGContextRestoreGState (context); | |||
CFRelease (frame); | |||
} | |||
void createLayout (GlyphLayout& glyphLayout, const AttributedString& text) | |||
{ | |||
CFAttributedStringRef attribString = CoreTextTypeLayout::createCFAttributedString (text); | |||
CTFramesetterRef framesetter = CTFramesetterCreateWithAttributedString (attribString); | |||
CFRelease (attribString); | |||
CGMutablePathRef path = CGPathCreateMutable(); | |||
const CGRect bounds = CGRectMake (0, 0, glyphLayout.getWidth(), 1.0e6f); | |||
CGPathAddRect (path, nullptr, bounds); | |||
CTFrameRef frame = CTFramesetterCreateFrame (framesetter, CFRangeMake(0, 0), path, nullptr); | |||
CFRelease (framesetter); | |||
CGPathRelease (path); | |||
CFArrayRef lines = CTFrameGetLines (frame); | |||
const CFIndex numLines = CFArrayGetCount (lines); | |||
glyphLayout.ensureStorageAllocated (numLines); | |||
for (CFIndex i = 0; i < numLines; ++i) | |||
{ | |||
CTLineRef line = (CTLineRef) CFArrayGetValueAtIndex (lines, i); | |||
CFArrayRef runs = CTLineGetGlyphRuns (line); | |||
const CFIndex numRuns = CFArrayGetCount (runs); | |||
const CFRange cfrlineStringRange = CTLineGetStringRange (line); | |||
const CFIndex lineStringEnd = cfrlineStringRange.location + cfrlineStringRange.length - 1; | |||
const Range<int> lineStringRange ((int) cfrlineStringRange.location, (int) lineStringEnd); | |||
CGPoint cgpLineOrigin; | |||
CTFrameGetLineOrigins (frame, CFRangeMake(i, 1), &cgpLineOrigin); | |||
Point<float> lineOrigin ((float) cgpLineOrigin.x, bounds.size.height - (float) cgpLineOrigin.y); | |||
CGFloat ascent, descent, leading; | |||
CTLineGetTypographicBounds (line, &ascent, &descent, &leading); | |||
GlyphLayout::Line* const glyphLine = new GlyphLayout::Line (lineStringRange, lineOrigin, | |||
(float) ascent, (float) descent, (float) leading, | |||
(int) numRuns); | |||
glyphLayout.addLine (glyphLine); | |||
for (CFIndex j = 0; j < numRuns; ++j) | |||
{ | |||
CTRunRef run = (CTRunRef) CFArrayGetValueAtIndex (runs, j); | |||
const CFIndex numGlyphs = CTRunGetGlyphCount (run); | |||
const CFRange runStringRange = CTRunGetStringRange (run); | |||
GlyphLayout::Run* const glyphRun = new GlyphLayout::Run (Range<int> ((int) runStringRange.location, | |||
(int) (runStringRange.location + runStringRange.length - 1)), | |||
(int) numGlyphs); | |||
glyphLine->addRun (glyphRun); | |||
CFDictionaryRef runAttributes = CTRunGetAttributes (run); | |||
CTFontRef ctRunFont; | |||
if (CFDictionaryGetValueIfPresent (runAttributes, kCTFontAttributeName, (const void **) &ctRunFont)) | |||
{ | |||
CFStringRef cfsFontName = CTFontCopyPostScriptName (ctRunFont); | |||
const String fontName (String::fromCFString (cfsFontName)); | |||
CTFontRef ctFontRef = CTFontCreateWithName (cfsFontName, 1024, nullptr); | |||
CFRelease (cfsFontName); | |||
CGFontRef cgFontRef = CTFontCopyGraphicsFont (ctFontRef, nullptr); | |||
CFRelease (ctFontRef); | |||
const int totalHeight = std::abs (CGFontGetAscent (cgFontRef)) + std::abs (CGFontGetDescent (cgFontRef)); | |||
const float fontHeightToCGSizeFactor = CGFontGetUnitsPerEm (cgFontRef) / (float) totalHeight; | |||
CGFontRelease (cgFontRef); | |||
glyphRun->setFont (Font (fontName, CTFontGetSize (ctRunFont) / fontHeightToCGSizeFactor, 0)); | |||
} | |||
CGColorRef cgRunColor; | |||
if (CFDictionaryGetValueIfPresent (runAttributes, kCTForegroundColorAttributeName, (const void**) &cgRunColor) | |||
&& CGColorGetNumberOfComponents (cgRunColor) == 4) | |||
{ | |||
const CGFloat* const components = CGColorGetComponents (cgRunColor); | |||
glyphRun->setColour (Colour::fromFloatRGBA (components[0], components[1], components[2], components[3])); | |||
} | |||
const CGGlyph* glyphsPtr = CTRunGetGlyphsPtr (run); | |||
const CGPoint* posPtr = CTRunGetPositionsPtr (run); | |||
HeapBlock <CGGlyph> glyphBuffer; | |||
HeapBlock <CGPoint> positionBuffer; | |||
if (glyphsPtr == nullptr || posPtr == nullptr) | |||
{ | |||
// If we can't get a direct pointer, we have to copy the metrics to get them.. | |||
glyphBuffer.malloc (numGlyphs); | |||
glyphsPtr = glyphBuffer; | |||
CTRunGetGlyphs (run, CFRangeMake (0, 0), glyphBuffer); | |||
positionBuffer.malloc (numGlyphs); | |||
posPtr = positionBuffer; | |||
CTRunGetPositions (run, CFRangeMake (0, 0), positionBuffer); | |||
} | |||
for (CFIndex k = 0; k < numGlyphs; ++k) | |||
glyphRun->addGlyph (new GlyphLayout::Glyph (glyphsPtr[k], Point<float> (posPtr[k].x, posPtr[k].y))); | |||
} | |||
} | |||
CFRelease (frame); | |||
} | |||
} | |||
//============================================================================== | |||
class OSXTypeface : public Typeface | |||
{ | |||
@@ -778,3 +1042,14 @@ Typeface::Ptr Font::getDefaultTypefaceForFont (const Font& font) | |||
f.setTypefaceName (faceName); | |||
return Typeface::createSystemTypefaceFor (f); | |||
} | |||
bool GlyphLayout::createNativeLayout (const AttributedString& text) | |||
{ | |||
#if JUCE_CORETEXT_AVAILABLE | |||
CoreTextTypeLayout::createLayout (*this, text); | |||
return true; | |||
#else | |||
(void) text; | |||
return false; | |||
#endif | |||
} |
@@ -0,0 +1,349 @@ | |||
/* | |||
============================================================================== | |||
This file is part of the JUCE library - "Jules' Utility Class Extensions" | |||
Copyright 2004-11 by Raw Material Software Ltd. | |||
------------------------------------------------------------------------------ | |||
JUCE can be redistributed and/or modified under the terms of the GNU General | |||
Public License (Version 2), as published by the Free Software Foundation. | |||
A copy of the license is included in the JUCE distribution, or can be found | |||
online at www.gnu.org/licenses. | |||
JUCE is distributed in the hope that it will be useful, but WITHOUT ANY | |||
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR | |||
A PARTICULAR PURPOSE. See the GNU General Public License for more details. | |||
------------------------------------------------------------------------------ | |||
To release a closed-source product which uses JUCE, commercial licenses are | |||
available: visit www.rawmaterialsoftware.com/juce for more information. | |||
============================================================================== | |||
*/ | |||
//================================================================================================== | |||
#if JUCE_USE_DIRECTWRITE | |||
namespace DirectWriteTypeLayout | |||
{ | |||
class CustomDirectWriteTextRenderer : public ComBaseClassHelper <IDWriteTextRenderer> | |||
{ | |||
public: | |||
CustomDirectWriteTextRenderer (IDWriteFontCollection* const fontCollection_) | |||
: fontCollection (fontCollection_), | |||
currentLine (-1), | |||
lastOriginY (-10000.0f) | |||
{ | |||
resetReferenceCount(); | |||
} | |||
JUCE_COMRESULT QueryInterface (REFIID refId, void** result) | |||
{ | |||
#if ! JUCE_MINGW | |||
if (refId == __uuidof (IDWritePixelSnapping)) { AddRef(); *result = dynamic_cast <IDWritePixelSnapping*> (this); return S_OK; } | |||
#else | |||
jassertfalse; // need to find a mingw equivalent of __uuidof to make this possible | |||
#endif | |||
return ComBaseClassHelper<IDWriteTextRenderer>::QueryInterface (refId, result); | |||
} | |||
JUCE_COMRESULT IsPixelSnappingDisabled (void* /*clientDrawingContext*/, BOOL* isDisabled) | |||
{ | |||
*isDisabled = FALSE; | |||
return S_OK; | |||
} | |||
JUCE_COMRESULT GetCurrentTransform (void*, DWRITE_MATRIX*) { return S_OK; } | |||
JUCE_COMRESULT GetPixelsPerDip (void*, FLOAT*) { return S_OK; } | |||
JUCE_COMRESULT DrawUnderline (void*, FLOAT, FLOAT, DWRITE_UNDERLINE const*, IUnknown*) { return S_OK; } | |||
JUCE_COMRESULT DrawStrikethrough (void*, FLOAT, FLOAT, DWRITE_STRIKETHROUGH const*, IUnknown*) { return S_OK; } | |||
JUCE_COMRESULT DrawInlineObject (void*, FLOAT, FLOAT, IDWriteInlineObject*, BOOL, BOOL, IUnknown*) { return E_NOTIMPL; } | |||
JUCE_COMRESULT DrawGlyphRun (void* clientDrawingContext, FLOAT baselineOriginX, FLOAT baselineOriginY, DWRITE_MEASURING_MODE, | |||
DWRITE_GLYPH_RUN const* glyphRun, DWRITE_GLYPH_RUN_DESCRIPTION const* runDescription, | |||
IUnknown* clientDrawingEffect) | |||
{ | |||
GlyphLayout* const glyphLayout = static_cast<GlyphLayout*> (clientDrawingContext); | |||
if (baselineOriginY != lastOriginY) | |||
{ | |||
lastOriginY = baselineOriginY; | |||
++currentLine; | |||
// The x value is only correct when dealing with LTR text | |||
glyphLayout->getLine (currentLine).setLineOrigin (Point<float> (baselineOriginX, baselineOriginY)); | |||
} | |||
if (currentLine < 0) | |||
return S_OK; | |||
GlyphLayout::Line& glyphLine = glyphLayout->getLine (currentLine); | |||
DWRITE_FONT_METRICS dwFontMetrics; | |||
glyphRun->fontFace->GetMetrics (&dwFontMetrics); | |||
const float ascent = scaledFontSize (dwFontMetrics.ascent, dwFontMetrics, glyphRun); | |||
const float descent = scaledFontSize (dwFontMetrics.descent, dwFontMetrics, glyphRun); | |||
glyphLine.increaseAscentDescent (ascent, descent); | |||
int styleFlags = 0; | |||
const String fontName (getFontName (glyphRun, styleFlags)); | |||
GlyphLayout::Run* const glyphRunLayout = new GlyphLayout::Run (Range<int> (runDescription->textPosition, | |||
runDescription->textPosition + runDescription->stringLength), | |||
glyphRun->glyphCount); | |||
glyphLine.addRun (glyphRunLayout); | |||
glyphRun->fontFace->GetMetrics (&dwFontMetrics); | |||
const float totalHeight = std::abs ((float) dwFontMetrics.ascent) + std::abs ((float) dwFontMetrics.descent); | |||
const float fontHeightToEmSizeFactor = (float) dwFontMetrics.designUnitsPerEm / totalHeight; | |||
glyphRunLayout->setFont (Font (fontName, glyphRun->fontEmSize / fontHeightToEmSizeFactor, styleFlags)); | |||
glyphRunLayout->setColour (getColourOf (static_cast<ID2D1SolidColorBrush*> (clientDrawingEffect))); | |||
const Point<float> lineOrigin (glyphLayout->getLine (currentLine).getLineOrigin()); | |||
float x = baselineOriginX - lineOrigin.x; | |||
for (UINT32 i = 0; i < glyphRun->glyphCount; ++i) | |||
{ | |||
if ((glyphRun->bidiLevel & 1) != 0) | |||
x -= glyphRun->glyphAdvances[i]; // RTL text | |||
glyphRunLayout->addGlyph (new GlyphLayout::Glyph (glyphRun->glyphIndices[i], Point<float> (x, baselineOriginY - lineOrigin.y))); | |||
if ((glyphRun->bidiLevel & 1) == 0) | |||
x += glyphRun->glyphAdvances[i]; // LTR text | |||
} | |||
return S_OK; | |||
} | |||
private: | |||
IDWriteFontCollection* const fontCollection; | |||
int currentLine; | |||
float lastOriginY; | |||
static float scaledFontSize (int n, const DWRITE_FONT_METRICS& metrics, const DWRITE_GLYPH_RUN* glyphRun) noexcept | |||
{ | |||
return (std::abs ((float) n) / (float) metrics.designUnitsPerEm) * glyphRun->fontEmSize; | |||
} | |||
static Colour getColourOf (ID2D1SolidColorBrush* d2dBrush) | |||
{ | |||
if (d2dBrush == nullptr) | |||
return Colours::black; | |||
const D2D1_COLOR_F colour (d2dBrush->GetColor()); | |||
return Colour::fromFloatRGBA (colour.r, colour.g, colour.b, colour.a); | |||
} | |||
String getFontName (DWRITE_GLYPH_RUN const* glyphRun, int& styleFlags) const | |||
{ | |||
ComSmartPtr<IDWriteFont> dwFont; | |||
HRESULT hr = fontCollection->GetFontFromFontFace (glyphRun->fontFace, dwFont.resetAndGetPointerAddress()); | |||
jassert (dwFont != nullptr); | |||
if (dwFont->GetWeight() == DWRITE_FONT_WEIGHT_BOLD) styleFlags &= Font::bold; | |||
if (dwFont->GetStyle() == DWRITE_FONT_STYLE_ITALIC) styleFlags &= Font::italic; | |||
ComSmartPtr<IDWriteFontFamily> dwFontFamily; | |||
hr = dwFont->GetFontFamily (dwFontFamily.resetAndGetPointerAddress()); | |||
jassert (dwFontFamily != nullptr); | |||
// Get the Font Family Names | |||
ComSmartPtr<IDWriteLocalizedStrings> dwFamilyNames; | |||
hr = dwFontFamily->GetFamilyNames (dwFamilyNames.resetAndGetPointerAddress()); | |||
jassert (dwFamilyNames != nullptr); | |||
UINT32 index = 0; | |||
BOOL exists = false; | |||
hr = dwFamilyNames->FindLocaleName (L"en-us", &index, &exists); | |||
if (! exists) | |||
index = 0; | |||
UINT32 length = 0; | |||
hr = dwFamilyNames->GetStringLength (index, &length); | |||
HeapBlock <wchar_t> name (length + 1); | |||
hr = dwFamilyNames->GetString (index, name, length + 1); | |||
return String (name); | |||
} | |||
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (CustomDirectWriteTextRenderer); | |||
}; | |||
//================================================================================================== | |||
float getFontHeightToEmSizeFactor (const Font& font, IDWriteFontCollection& dwFontCollection) | |||
{ | |||
BOOL fontFound = false; | |||
uint32 fontIndex; | |||
dwFontCollection.FindFamilyName (font.getTypefaceName().toWideCharPointer(), &fontIndex, &fontFound); | |||
if (! fontFound) | |||
fontIndex = 0; | |||
ComSmartPtr<IDWriteFontFamily> dwFontFamily; | |||
HRESULT hr = dwFontCollection.GetFontFamily (fontIndex, dwFontFamily.resetAndGetPointerAddress()); | |||
ComSmartPtr<IDWriteFont> dwFont; | |||
hr = dwFontFamily->GetFirstMatchingFont (DWRITE_FONT_WEIGHT_NORMAL, DWRITE_FONT_STRETCH_NORMAL, DWRITE_FONT_STYLE_NORMAL, | |||
dwFont.resetAndGetPointerAddress()); | |||
ComSmartPtr<IDWriteFontFace> dwFontFace; | |||
hr = dwFont->CreateFontFace (dwFontFace.resetAndGetPointerAddress()); | |||
DWRITE_FONT_METRICS dwFontMetrics; | |||
dwFontFace->GetMetrics (&dwFontMetrics); | |||
const float totalHeight = (float) (std::abs (dwFontMetrics.ascent) + std::abs (dwFontMetrics.descent)); | |||
return dwFontMetrics.designUnitsPerEm / totalHeight; | |||
} | |||
void setTextFormatProperties (const AttributedString& text, IDWriteTextFormat* const format) | |||
{ | |||
DWRITE_TEXT_ALIGNMENT alignment = DWRITE_TEXT_ALIGNMENT_LEADING; | |||
DWRITE_WORD_WRAPPING wrapType = DWRITE_WORD_WRAPPING_WRAP; | |||
switch (text.getJustification().getOnlyHorizontalFlags()) | |||
{ | |||
case Justification::left: break; | |||
case Justification::right: alignment = DWRITE_TEXT_ALIGNMENT_TRAILING; break; | |||
case Justification::horizontallyCentred: alignment = DWRITE_TEXT_ALIGNMENT_CENTER; break; | |||
case Justification::horizontallyJustified: break; // DirectWrite cannot justify text, default to left alignment | |||
default: jassertfalse; break; // Illegal justification flags | |||
} | |||
switch (text.getWordWrap()) | |||
{ | |||
case AttributedString::none: wrapType = DWRITE_WORD_WRAPPING_NO_WRAP; break; | |||
case AttributedString::byWord: break; | |||
case AttributedString::byChar: break; // DirectWrite doesn't support wrapping by character, default to word-wrap | |||
default: jassertfalse; break; // Illegal flags! | |||
} | |||
format->SetTextAlignment (alignment); | |||
format->SetWordWrapping (wrapType); | |||
// DirectWrite does not automatically set reading direction | |||
// This must be set correctly and manually when using RTL Scripts (Hebrew, Arabic) | |||
if (text.getReadingDirection() == AttributedString::rightToLeft) | |||
format->SetReadingDirection (DWRITE_READING_DIRECTION_RIGHT_TO_LEFT); | |||
} | |||
void addAttributedRange (const AttributedString::Attribute& attr, IDWriteTextLayout* textLayout, | |||
const int textLen, ID2D1DCRenderTarget* const renderTarget, IDWriteFontCollection* const fontCollection) | |||
{ | |||
DWRITE_TEXT_RANGE range; | |||
range.startPosition = attr.range.getStart(); | |||
range.length = jmin (attr.range.getLength(), textLen - attr.range.getStart()); | |||
if (attr.getFont() != nullptr) | |||
{ | |||
textLayout->SetFontFamilyName (attr.getFont()->getTypefaceName().toWideCharPointer(), range); | |||
const float fontHeightToEmSizeFactor = getFontHeightToEmSizeFactor (*attr.getFont(), *fontCollection); | |||
textLayout->SetFontSize (attr.getFont()->getHeight() * fontHeightToEmSizeFactor, range); | |||
} | |||
if (attr.getColour() != nullptr) | |||
{ | |||
ComSmartPtr<ID2D1SolidColorBrush> d2dBrush; | |||
renderTarget->CreateSolidColorBrush (D2D1::ColorF (D2D1::ColorF (attr.getColour()->getFloatRed(), | |||
attr.getColour()->getFloatGreen(), | |||
attr.getColour()->getFloatBlue(), | |||
attr.getColour()->getFloatAlpha())), | |||
d2dBrush.resetAndGetPointerAddress()); | |||
// We need to call SetDrawingEffect with a legimate brush to get DirectWrite to break text based on colours | |||
textLayout->SetDrawingEffect (d2dBrush, range); | |||
} | |||
} | |||
void createLayout (GlyphLayout& glyphLayout, const AttributedString& text, IDWriteFactory* const directWriteFactory, | |||
ID2D1Factory* const direct2dFactory, IDWriteFontCollection* const fontCollection) | |||
{ | |||
// To add color to text, we need to create a D2D render target | |||
// Since we are not actually rendering to a D2D context we create a temporary GDI render target | |||
D2D1_RENDER_TARGET_PROPERTIES d2dRTProp = D2D1::RenderTargetProperties (D2D1_RENDER_TARGET_TYPE_SOFTWARE, | |||
D2D1::PixelFormat (DXGI_FORMAT_B8G8R8A8_UNORM, | |||
D2D1_ALPHA_MODE_IGNORE), | |||
0, 0, | |||
D2D1_RENDER_TARGET_USAGE_GDI_COMPATIBLE, | |||
D2D1_FEATURE_LEVEL_DEFAULT); | |||
ComSmartPtr<ID2D1DCRenderTarget> renderTarget; | |||
HRESULT hr = direct2dFactory->CreateDCRenderTarget (&d2dRTProp, renderTarget.resetAndGetPointerAddress()); | |||
Font defaultFont; | |||
const float defaultFontHeightToEmSizeFactor = getFontHeightToEmSizeFactor (defaultFont, *fontCollection); | |||
jassert (directWriteFactory != nullptr); | |||
ComSmartPtr<IDWriteTextFormat> dwTextFormat; | |||
hr = directWriteFactory->CreateTextFormat (defaultFont.getTypefaceName().toWideCharPointer(), fontCollection, | |||
DWRITE_FONT_WEIGHT_REGULAR, DWRITE_FONT_STYLE_NORMAL, DWRITE_FONT_STRETCH_NORMAL, | |||
defaultFont.getHeight() * defaultFontHeightToEmSizeFactor, | |||
L"en-us", dwTextFormat.resetAndGetPointerAddress()); | |||
setTextFormatProperties (text, dwTextFormat); | |||
const int textLen = text.getText().length(); | |||
ComSmartPtr<IDWriteTextLayout> dwTextLayout; | |||
hr = directWriteFactory->CreateTextLayout (text.getText().toWideCharPointer(), textLen, | |||
dwTextFormat, glyphLayout.getWidth(), | |||
1.0e7f, dwTextLayout.resetAndGetPointerAddress()); | |||
const int numAttributes = text.getNumAttributes(); | |||
for (int i = 0; i < numAttributes; ++i) | |||
addAttributedRange (*text.getAttribute (i), dwTextLayout, textLen, renderTarget, fontCollection); | |||
UINT32 actualLineCount = 0; | |||
hr = dwTextLayout->GetLineMetrics (nullptr, 0, &actualLineCount); | |||
glyphLayout.ensureStorageAllocated (actualLineCount); | |||
HeapBlock <DWRITE_LINE_METRICS> dwLineMetrics (actualLineCount); | |||
hr = dwTextLayout->GetLineMetrics (dwLineMetrics, actualLineCount, &actualLineCount); | |||
int lastLocation = 0; | |||
for (UINT32 i = 0; i < actualLineCount; ++i) | |||
{ | |||
const Range<int> lineStringRange (lastLocation, (int) lastLocation + dwLineMetrics[i].length); | |||
lastLocation = dwLineMetrics[i].length; | |||
GlyphLayout::Line* glyphLine = new GlyphLayout::Line(); | |||
glyphLayout.addLine (glyphLine); | |||
glyphLine->setStringRange (lineStringRange); | |||
} | |||
ComSmartPtr<CustomDirectWriteTextRenderer> textRenderer (new CustomDirectWriteTextRenderer (fontCollection)); | |||
hr = dwTextLayout->Draw (&glyphLayout, textRenderer, 0, 0); | |||
} | |||
} | |||
#endif | |||
bool GlyphLayout::createNativeLayout (const AttributedString& text) | |||
{ | |||
#if JUCE_USE_DIRECTWRITE | |||
const Direct2DFactories& factories = Direct2DFactories::getInstance(); | |||
if (factories.d2dFactory != nullptr && factories.systemFonts != nullptr) | |||
{ | |||
DirectWriteTypeLayout::createLayout (*this, text, factories.directWriteFactory, | |||
factories.d2dFactory, factories.systemFonts); | |||
return true; | |||
} | |||
#else | |||
(void) text; | |||
#endif | |||
return false; | |||
} |
@@ -0,0 +1,253 @@ | |||
/* | |||
============================================================================== | |||
This file is part of the JUCE library - "Jules' Utility Class Extensions" | |||
Copyright 2004-11 by Raw Material Software Ltd. | |||
------------------------------------------------------------------------------ | |||
JUCE can be redistributed and/or modified under the terms of the GNU General | |||
Public License (Version 2), as published by the Free Software Foundation. | |||
A copy of the license is included in the JUCE distribution, or can be found | |||
online at www.gnu.org/licenses. | |||
JUCE is distributed in the hope that it will be useful, but WITHOUT ANY | |||
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR | |||
A PARTICULAR PURPOSE. See the GNU General Public License for more details. | |||
------------------------------------------------------------------------------ | |||
To release a closed-source product which uses JUCE, commercial licenses are | |||
available: visit www.rawmaterialsoftware.com/juce for more information. | |||
============================================================================== | |||
*/ | |||
#if JUCE_USE_DIRECTWRITE | |||
class Direct2DFactories | |||
{ | |||
public: | |||
Direct2DFactories() | |||
{ | |||
if (direct2dDll.open ("d2d1.dll")) | |||
{ | |||
JUCE_DLL_FUNCTION (D2D1CreateFactory, d2d1CreateFactory, HRESULT, direct2dDll, (D2D1_FACTORY_TYPE, REFIID, D2D1_FACTORY_OPTIONS*, void**)) | |||
if (d2d1CreateFactory != nullptr) | |||
{ | |||
D2D1_FACTORY_OPTIONS options; | |||
options.debugLevel = D2D1_DEBUG_LEVEL_NONE; | |||
d2d1CreateFactory (D2D1_FACTORY_TYPE_SINGLE_THREADED, __uuidof (ID2D1Factory), &options, | |||
(void**) d2dFactory.resetAndGetPointerAddress()); | |||
} | |||
} | |||
if (directWriteDll.open ("DWrite.dll")) | |||
{ | |||
JUCE_DLL_FUNCTION (DWriteCreateFactory, dWriteCreateFactory, HRESULT, directWriteDll, (DWRITE_FACTORY_TYPE, REFIID, IUnknown**)) | |||
if (dWriteCreateFactory != nullptr) | |||
{ | |||
dWriteCreateFactory (DWRITE_FACTORY_TYPE_SHARED, __uuidof (IDWriteFactory), | |||
(IUnknown**) directWriteFactory.resetAndGetPointerAddress()); | |||
if (directWriteFactory != nullptr) | |||
directWriteFactory->GetSystemFontCollection (systemFonts.resetAndGetPointerAddress()); | |||
} | |||
} | |||
} | |||
~Direct2DFactories() | |||
{ | |||
d2dFactory = nullptr; // (need to make sure these are released before deleting the DynamicLibrary objects) | |||
directWriteFactory = nullptr; | |||
systemFonts = nullptr; | |||
} | |||
static const Direct2DFactories& getInstance() | |||
{ | |||
static Direct2DFactories instance; | |||
return instance; | |||
} | |||
ComSmartPtr <ID2D1Factory> d2dFactory; | |||
ComSmartPtr <IDWriteFactory> directWriteFactory; | |||
ComSmartPtr <IDWriteFontCollection> systemFonts; | |||
private: | |||
DynamicLibrary direct2dDll, directWriteDll; | |||
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (Direct2DFactories); | |||
}; | |||
//================================================================================================== | |||
class WindowsDirectWriteTypeface : public Typeface | |||
{ | |||
public: | |||
WindowsDirectWriteTypeface (const Font& font, IDWriteFontCollection* fontCollection) | |||
: Typeface (font.getTypefaceName()), | |||
ascent (0.0f) | |||
{ | |||
jassert (fontCollection != nullptr); | |||
BOOL fontFound = false; | |||
uint32 fontIndex = 0; | |||
HRESULT hr = fontCollection->FindFamilyName (font.getTypefaceName().toWideCharPointer(), &fontIndex, &fontFound); | |||
if (! fontFound) | |||
fontIndex = 0; | |||
// Get the font family using the search results | |||
// Fonts like: Times New Roman, Times New Roman Bold, Times New Roman Italic are all in the same font family | |||
ComSmartPtr<IDWriteFontFamily> dwFontFamily; | |||
hr = fontCollection->GetFontFamily (fontIndex, dwFontFamily.resetAndGetPointerAddress()); | |||
// Get a specific font in the font family using certain weight and style flags | |||
ComSmartPtr<IDWriteFont> dwFont; | |||
DWRITE_FONT_WEIGHT dwWeight = font.isBold() ? DWRITE_FONT_WEIGHT_BOLD : DWRITE_FONT_WEIGHT_NORMAL; | |||
DWRITE_FONT_STYLE dwStyle = font.isItalic() ? DWRITE_FONT_STYLE_ITALIC : DWRITE_FONT_STYLE_NORMAL; | |||
hr = dwFontFamily->GetFirstMatchingFont (dwWeight, DWRITE_FONT_STRETCH_NORMAL, dwStyle, dwFont.resetAndGetPointerAddress()); | |||
hr = dwFont->CreateFontFace (dwFontFace.resetAndGetPointerAddress()); | |||
DWRITE_FONT_METRICS dwFontMetrics; | |||
dwFontFace->GetMetrics (&dwFontMetrics); | |||
// All Font Metrics are in design units so we need to get designUnitsPerEm value to get the metrics | |||
// into Em/Design Independent Pixels | |||
designUnitsPerEm = dwFontMetrics.designUnitsPerEm; | |||
ascent = std::abs ((float) dwFontMetrics.ascent); | |||
const float totalSize = ascent + std::abs ((float) dwFontMetrics.descent); | |||
ascent /= totalSize; | |||
unitsToHeightScaleFactor = 1.0f / (totalSize / designUnitsPerEm); | |||
const float pathAscent = (((float) dwFontMetrics.ascent) / ((float) designUnitsPerEm)) * 1024.0f; | |||
const float pathDescent = (((float) dwFontMetrics.descent) / ((float) designUnitsPerEm)) * 1024.0f; | |||
const float pathTotalSize = std::abs (pathAscent) + std::abs (pathDescent); | |||
pathTransform = AffineTransform::identity.scale (1.0f / pathTotalSize, 1.0f / pathTotalSize); | |||
} | |||
float getAscent() const { return ascent; } | |||
float getDescent() const { return 1.0f - ascent; } | |||
float getStringWidth (const String& text) | |||
{ | |||
const CharPointer_UTF32 textUTF32 (text.toUTF32()); | |||
const size_t len = textUTF32.length(); | |||
HeapBlock <UINT16> glyphIndices (len); | |||
dwFontFace->GetGlyphIndices (textUTF32, len, glyphIndices); | |||
HeapBlock <DWRITE_GLYPH_METRICS> dwGlyphMetrics (len); | |||
dwFontFace->GetDesignGlyphMetrics (glyphIndices, len, dwGlyphMetrics, false); | |||
float x = 0; | |||
for (size_t i = 0; i < len; ++i) | |||
x += (float) dwGlyphMetrics[i].advanceWidth / designUnitsPerEm; | |||
return x * unitsToHeightScaleFactor; | |||
} | |||
void getGlyphPositions (const String& text, Array <int>& resultGlyphs, Array <float>& xOffsets) | |||
{ | |||
xOffsets.add (0); | |||
const CharPointer_UTF32 textUTF32 (text.toUTF32()); | |||
const size_t len = textUTF32.length(); | |||
HeapBlock <UINT16> glyphIndices (len); | |||
dwFontFace->GetGlyphIndices (textUTF32, len, glyphIndices); | |||
HeapBlock <DWRITE_GLYPH_METRICS> dwGlyphMetrics (len); | |||
dwFontFace->GetDesignGlyphMetrics (glyphIndices, len, dwGlyphMetrics, false); | |||
float x = 0; | |||
for (size_t i = 0; i < len; ++i) | |||
{ | |||
x += (float) dwGlyphMetrics[i].advanceWidth / designUnitsPerEm; | |||
xOffsets.add (x * unitsToHeightScaleFactor); | |||
resultGlyphs.add (glyphIndices[i]); | |||
} | |||
} | |||
EdgeTable* getEdgeTableForGlyph (int glyphNumber, const AffineTransform& transform) | |||
{ | |||
Path path; | |||
if (getOutlineForGlyph (glyphNumber, path) && ! path.isEmpty()) | |||
return new EdgeTable (path.getBoundsTransformed (transform).getSmallestIntegerContainer().expanded (1, 0), | |||
path, transform); | |||
return nullptr; | |||
} | |||
bool getOutlineForGlyph (int glyphNumber, Path& path) | |||
{ | |||
jassert (path.isEmpty()); // we might need to apply a transform to the path, so this must be empty | |||
UINT16 glyphIndex = (UINT16) glyphNumber; | |||
ComSmartPtr<PathGeometrySink> pathGeometrySink (new PathGeometrySink()); | |||
dwFontFace->GetGlyphRunOutline (1024.0f, &glyphIndex, nullptr, nullptr, 1, false, false, pathGeometrySink); | |||
path = pathGeometrySink->path; | |||
if (! pathTransform.isIdentity()) | |||
path.applyTransform (pathTransform); | |||
return true; | |||
} | |||
private: | |||
ComSmartPtr<IDWriteFontFace> dwFontFace; | |||
float unitsToHeightScaleFactor, ascent; | |||
int designUnitsPerEm; | |||
AffineTransform pathTransform; | |||
class PathGeometrySink : public ComBaseClassHelper<IDWriteGeometrySink> | |||
{ | |||
public: | |||
PathGeometrySink() { resetReferenceCount(); } | |||
void __stdcall AddBeziers (const D2D1_BEZIER_SEGMENT *beziers, UINT beziersCount) | |||
{ | |||
for (UINT i = 0; i < beziersCount; ++i) | |||
path.cubicTo ((float) beziers[i].point1.x, (float) beziers[i].point1.y, | |||
(float) beziers[i].point2.x, (float) beziers[i].point2.y, | |||
(float) beziers[i].point3.x, (float) beziers[i].point3.y); | |||
} | |||
void __stdcall AddLines (const D2D1_POINT_2F* points, UINT pointsCount) | |||
{ | |||
for (UINT i = 0; i < pointsCount; ++i) | |||
path.lineTo ((float) points[i].x, | |||
(float) points[i].y); | |||
} | |||
void __stdcall BeginFigure (D2D1_POINT_2F startPoint, D2D1_FIGURE_BEGIN) | |||
{ | |||
path.startNewSubPath ((float) startPoint.x, | |||
(float) startPoint.y); | |||
} | |||
void __stdcall EndFigure (D2D1_FIGURE_END figureEnd) | |||
{ | |||
if (figureEnd == D2D1_FIGURE_END_CLOSED) | |||
path.closeSubPath(); | |||
} | |||
void __stdcall SetFillMode (D2D1_FILL_MODE fillMode) | |||
{ | |||
path.setUsingNonZeroWinding (fillMode == D2D1_FILL_MODE_WINDING); | |||
} | |||
void __stdcall SetSegmentFlags (D2D1_PATH_SEGMENT) {} | |||
JUCE_COMRESULT Close() { return S_OK; } | |||
Path path; | |||
private: | |||
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (PathGeometrySink); | |||
}; | |||
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (WindowsDirectWriteTypeface); | |||
}; | |||
#endif |
@@ -416,5 +416,12 @@ const MAT2 WindowsTypeface::identityMatrix = { { 0, 1 }, { 0, 0 }, { 0, 0 }, { 0 | |||
Typeface::Ptr Typeface::createSystemTypefaceFor (const Font& font) | |||
{ | |||
return new WindowsTypeface (font); | |||
#if JUCE_USE_DIRECTWRITE | |||
const Direct2DFactories& factories = Direct2DFactories::getInstance(); | |||
if (factories.systemFonts != nullptr) | |||
return new WindowsDirectWriteTypeface (font, factories.systemFonts); | |||
else | |||
#endif | |||
return new WindowsTypeface (font); | |||
} |