1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-10 23:44:24 +00:00

Add new Range related types that help working with attributed text

This commit is contained in:
attila 2024-03-07 15:01:35 +01:00 committed by reuk
parent 1560f87111
commit a2c7f1ea37
No known key found for this signature in database
GPG key ID: FCB43929F012EE5C
40 changed files with 1957 additions and 21 deletions

View file

@ -1474,6 +1474,8 @@ add_library( ${BINARY_NAME}
"../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h"
"../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp"
"../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h"
"../../../../../modules/juce_graphics/detail/juce_Ranges.cpp"
"../../../../../modules/juce_graphics/detail/juce_Ranges.h"
"../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp"
"../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h"
"../../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp"
@ -3939,6 +3941,8 @@ set_source_files_properties(
"../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h"
"../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp"
"../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h"
"../../../../../modules/juce_graphics/detail/juce_Ranges.cpp"
"../../../../../modules/juce_graphics/detail/juce_Ranges.h"
"../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp"
"../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h"
"../../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp"

View file

@ -1874,6 +1874,9 @@
<ClCompile Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\detail\juce_Ranges.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
@ -3865,6 +3868,7 @@
<ClInclude Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsContext.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsPostScriptRenderer.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\detail\juce_Ranges.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\effects\juce_GlowEffect.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\effects\juce_ImageEffectFilter.h"/>

View file

@ -575,6 +575,9 @@
<Filter Include="JUCE Modules\juce_graphics\contexts">
<UniqueIdentifier>{20DC13F6-2369-8841-9F0B-D13FA14EEE74}</UniqueIdentifier>
</Filter>
<Filter Include="JUCE Modules\juce_graphics\detail">
<UniqueIdentifier>{0B30279D-5CEF-3E12-EA90-7D6CE4D52669}</UniqueIdentifier>
</Filter>
<Filter Include="JUCE Modules\juce_graphics\effects">
<UniqueIdentifier>{A302A8DB-120F-9EBB-A3D5-2C29963AA56B}</UniqueIdentifier>
</Filter>
@ -2617,6 +2620,9 @@
<ClCompile Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.cpp">
<Filter>JUCE Modules\juce_graphics\contexts</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\detail\juce_Ranges.cpp">
<Filter>JUCE Modules\juce_graphics\detail</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.cpp">
<Filter>JUCE Modules\juce_graphics\effects</Filter>
</ClCompile>
@ -6327,6 +6333,9 @@
<ClInclude Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.h">
<Filter>JUCE Modules\juce_graphics\contexts</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_graphics\detail\juce_Ranges.h">
<Filter>JUCE Modules\juce_graphics\detail</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.h">
<Filter>JUCE Modules\juce_graphics\effects</Filter>
</ClInclude>

View file

@ -1874,6 +1874,9 @@
<ClCompile Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\detail\juce_Ranges.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
@ -3865,6 +3868,7 @@
<ClInclude Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsContext.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsPostScriptRenderer.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\detail\juce_Ranges.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\effects\juce_GlowEffect.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\effects\juce_ImageEffectFilter.h"/>

View file

@ -575,6 +575,9 @@
<Filter Include="JUCE Modules\juce_graphics\contexts">
<UniqueIdentifier>{20DC13F6-2369-8841-9F0B-D13FA14EEE74}</UniqueIdentifier>
</Filter>
<Filter Include="JUCE Modules\juce_graphics\detail">
<UniqueIdentifier>{0B30279D-5CEF-3E12-EA90-7D6CE4D52669}</UniqueIdentifier>
</Filter>
<Filter Include="JUCE Modules\juce_graphics\effects">
<UniqueIdentifier>{A302A8DB-120F-9EBB-A3D5-2C29963AA56B}</UniqueIdentifier>
</Filter>
@ -2617,6 +2620,9 @@
<ClCompile Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.cpp">
<Filter>JUCE Modules\juce_graphics\contexts</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\detail\juce_Ranges.cpp">
<Filter>JUCE Modules\juce_graphics\detail</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.cpp">
<Filter>JUCE Modules\juce_graphics\effects</Filter>
</ClCompile>
@ -6327,6 +6333,9 @@
<ClInclude Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.h">
<Filter>JUCE Modules\juce_graphics\contexts</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_graphics\detail\juce_Ranges.h">
<Filter>JUCE Modules\juce_graphics\detail</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.h">
<Filter>JUCE Modules\juce_graphics\effects</Filter>
</ClInclude>

View file

@ -1874,6 +1874,9 @@
<ClCompile Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\detail\juce_Ranges.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
@ -3865,6 +3868,7 @@
<ClInclude Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsContext.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsPostScriptRenderer.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\detail\juce_Ranges.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\effects\juce_GlowEffect.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\effects\juce_ImageEffectFilter.h"/>

View file

@ -575,6 +575,9 @@
<Filter Include="JUCE Modules\juce_graphics\contexts">
<UniqueIdentifier>{20DC13F6-2369-8841-9F0B-D13FA14EEE74}</UniqueIdentifier>
</Filter>
<Filter Include="JUCE Modules\juce_graphics\detail">
<UniqueIdentifier>{0B30279D-5CEF-3E12-EA90-7D6CE4D52669}</UniqueIdentifier>
</Filter>
<Filter Include="JUCE Modules\juce_graphics\effects">
<UniqueIdentifier>{A302A8DB-120F-9EBB-A3D5-2C29963AA56B}</UniqueIdentifier>
</Filter>
@ -2617,6 +2620,9 @@
<ClCompile Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.cpp">
<Filter>JUCE Modules\juce_graphics\contexts</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\detail\juce_Ranges.cpp">
<Filter>JUCE Modules\juce_graphics\detail</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.cpp">
<Filter>JUCE Modules\juce_graphics\effects</Filter>
</ClCompile>
@ -6327,6 +6333,9 @@
<ClInclude Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.h">
<Filter>JUCE Modules\juce_graphics\contexts</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_graphics\detail\juce_Ranges.h">
<Filter>JUCE Modules\juce_graphics\detail</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.h">
<Filter>JUCE Modules\juce_graphics\effects</Filter>
</ClInclude>

View file

@ -1236,6 +1236,8 @@ add_library( ${BINARY_NAME}
"../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h"
"../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp"
"../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h"
"../../../../../modules/juce_graphics/detail/juce_Ranges.cpp"
"../../../../../modules/juce_graphics/detail/juce_Ranges.h"
"../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp"
"../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h"
"../../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp"
@ -3383,6 +3385,8 @@ set_source_files_properties(
"../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h"
"../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp"
"../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h"
"../../../../../modules/juce_graphics/detail/juce_Ranges.cpp"
"../../../../../modules/juce_graphics/detail/juce_Ranges.h"
"../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp"
"../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h"
"../../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp"

View file

@ -1567,6 +1567,9 @@
<ClCompile Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\detail\juce_Ranges.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
@ -3336,6 +3339,7 @@
<ClInclude Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsContext.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsPostScriptRenderer.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\detail\juce_Ranges.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\effects\juce_GlowEffect.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\effects\juce_ImageEffectFilter.h"/>

View file

@ -485,6 +485,9 @@
<Filter Include="JUCE Modules\juce_graphics\contexts">
<UniqueIdentifier>{20DC13F6-2369-8841-9F0B-D13FA14EEE74}</UniqueIdentifier>
</Filter>
<Filter Include="JUCE Modules\juce_graphics\detail">
<UniqueIdentifier>{0B30279D-5CEF-3E12-EA90-7D6CE4D52669}</UniqueIdentifier>
</Filter>
<Filter Include="JUCE Modules\juce_graphics\effects">
<UniqueIdentifier>{A302A8DB-120F-9EBB-A3D5-2C29963AA56B}</UniqueIdentifier>
</Filter>
@ -2161,6 +2164,9 @@
<ClCompile Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.cpp">
<Filter>JUCE Modules\juce_graphics\contexts</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\detail\juce_Ranges.cpp">
<Filter>JUCE Modules\juce_graphics\detail</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.cpp">
<Filter>JUCE Modules\juce_graphics\effects</Filter>
</ClCompile>
@ -5382,6 +5388,9 @@
<ClInclude Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.h">
<Filter>JUCE Modules\juce_graphics\contexts</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_graphics\detail\juce_Ranges.h">
<Filter>JUCE Modules\juce_graphics\detail</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.h">
<Filter>JUCE Modules\juce_graphics\effects</Filter>
</ClInclude>

View file

@ -1366,6 +1366,8 @@ add_library( ${BINARY_NAME}
"../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h"
"../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp"
"../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h"
"../../../../../modules/juce_graphics/detail/juce_Ranges.cpp"
"../../../../../modules/juce_graphics/detail/juce_Ranges.h"
"../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp"
"../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h"
"../../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp"
@ -3666,6 +3668,8 @@ set_source_files_properties(
"../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h"
"../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp"
"../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h"
"../../../../../modules/juce_graphics/detail/juce_Ranges.cpp"
"../../../../../modules/juce_graphics/detail/juce_Ranges.h"
"../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp"
"../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h"
"../../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp"

View file

@ -1701,6 +1701,9 @@
<ClCompile Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\detail\juce_Ranges.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
@ -3569,6 +3572,7 @@
<ClInclude Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsContext.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsPostScriptRenderer.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\detail\juce_Ranges.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\effects\juce_GlowEffect.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\effects\juce_ImageEffectFilter.h"/>

View file

@ -527,6 +527,9 @@
<Filter Include="JUCE Modules\juce_graphics\contexts">
<UniqueIdentifier>{20DC13F6-2369-8841-9F0B-D13FA14EEE74}</UniqueIdentifier>
</Filter>
<Filter Include="JUCE Modules\juce_graphics\detail">
<UniqueIdentifier>{0B30279D-5CEF-3E12-EA90-7D6CE4D52669}</UniqueIdentifier>
</Filter>
<Filter Include="JUCE Modules\juce_graphics\effects">
<UniqueIdentifier>{A302A8DB-120F-9EBB-A3D5-2C29963AA56B}</UniqueIdentifier>
</Filter>
@ -2368,6 +2371,9 @@
<ClCompile Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.cpp">
<Filter>JUCE Modules\juce_graphics\contexts</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\detail\juce_Ranges.cpp">
<Filter>JUCE Modules\juce_graphics\detail</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.cpp">
<Filter>JUCE Modules\juce_graphics\effects</Filter>
</ClCompile>
@ -5817,6 +5823,9 @@
<ClInclude Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.h">
<Filter>JUCE Modules\juce_graphics\contexts</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_graphics\detail\juce_Ranges.h">
<Filter>JUCE Modules\juce_graphics\detail</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.h">
<Filter>JUCE Modules\juce_graphics\effects</Filter>
</ClInclude>

View file

@ -1701,6 +1701,9 @@
<ClCompile Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\detail\juce_Ranges.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
@ -3569,6 +3572,7 @@
<ClInclude Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsContext.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsPostScriptRenderer.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\detail\juce_Ranges.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\effects\juce_GlowEffect.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\effects\juce_ImageEffectFilter.h"/>

View file

@ -527,6 +527,9 @@
<Filter Include="JUCE Modules\juce_graphics\contexts">
<UniqueIdentifier>{20DC13F6-2369-8841-9F0B-D13FA14EEE74}</UniqueIdentifier>
</Filter>
<Filter Include="JUCE Modules\juce_graphics\detail">
<UniqueIdentifier>{0B30279D-5CEF-3E12-EA90-7D6CE4D52669}</UniqueIdentifier>
</Filter>
<Filter Include="JUCE Modules\juce_graphics\effects">
<UniqueIdentifier>{A302A8DB-120F-9EBB-A3D5-2C29963AA56B}</UniqueIdentifier>
</Filter>
@ -2368,6 +2371,9 @@
<ClCompile Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.cpp">
<Filter>JUCE Modules\juce_graphics\contexts</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\detail\juce_Ranges.cpp">
<Filter>JUCE Modules\juce_graphics\detail</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.cpp">
<Filter>JUCE Modules\juce_graphics\effects</Filter>
</ClCompile>
@ -5817,6 +5823,9 @@
<ClInclude Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.h">
<Filter>JUCE Modules\juce_graphics\contexts</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_graphics\detail\juce_Ranges.h">
<Filter>JUCE Modules\juce_graphics\detail</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.h">
<Filter>JUCE Modules\juce_graphics\effects</Filter>
</ClInclude>

View file

@ -1701,6 +1701,9 @@
<ClCompile Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\detail\juce_Ranges.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
@ -3569,6 +3572,7 @@
<ClInclude Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsContext.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsPostScriptRenderer.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\detail\juce_Ranges.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\effects\juce_GlowEffect.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\effects\juce_ImageEffectFilter.h"/>

View file

@ -527,6 +527,9 @@
<Filter Include="JUCE Modules\juce_graphics\contexts">
<UniqueIdentifier>{20DC13F6-2369-8841-9F0B-D13FA14EEE74}</UniqueIdentifier>
</Filter>
<Filter Include="JUCE Modules\juce_graphics\detail">
<UniqueIdentifier>{0B30279D-5CEF-3E12-EA90-7D6CE4D52669}</UniqueIdentifier>
</Filter>
<Filter Include="JUCE Modules\juce_graphics\effects">
<UniqueIdentifier>{A302A8DB-120F-9EBB-A3D5-2C29963AA56B}</UniqueIdentifier>
</Filter>
@ -2368,6 +2371,9 @@
<ClCompile Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.cpp">
<Filter>JUCE Modules\juce_graphics\contexts</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\detail\juce_Ranges.cpp">
<Filter>JUCE Modules\juce_graphics\detail</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.cpp">
<Filter>JUCE Modules\juce_graphics\effects</Filter>
</ClCompile>
@ -5817,6 +5823,9 @@
<ClInclude Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.h">
<Filter>JUCE Modules\juce_graphics\contexts</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_graphics\detail\juce_Ranges.h">
<Filter>JUCE Modules\juce_graphics\detail</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.h">
<Filter>JUCE Modules\juce_graphics\effects</Filter>
</ClInclude>

View file

@ -1255,6 +1255,8 @@ add_library( ${BINARY_NAME}
"../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h"
"../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp"
"../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h"
"../../../../../modules/juce_graphics/detail/juce_Ranges.cpp"
"../../../../../modules/juce_graphics/detail/juce_Ranges.h"
"../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp"
"../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h"
"../../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp"
@ -3482,6 +3484,8 @@ set_source_files_properties(
"../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h"
"../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp"
"../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h"
"../../../../../modules/juce_graphics/detail/juce_Ranges.cpp"
"../../../../../modules/juce_graphics/detail/juce_Ranges.h"
"../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp"
"../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h"
"../../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp"

View file

@ -1588,6 +1588,9 @@
<ClCompile Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\detail\juce_Ranges.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
@ -3434,6 +3437,7 @@
<ClInclude Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsContext.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsPostScriptRenderer.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\detail\juce_Ranges.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\effects\juce_GlowEffect.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\effects\juce_ImageEffectFilter.h"/>

View file

@ -494,6 +494,9 @@
<Filter Include="JUCE Modules\juce_graphics\contexts">
<UniqueIdentifier>{20DC13F6-2369-8841-9F0B-D13FA14EEE74}</UniqueIdentifier>
</Filter>
<Filter Include="JUCE Modules\juce_graphics\detail">
<UniqueIdentifier>{0B30279D-5CEF-3E12-EA90-7D6CE4D52669}</UniqueIdentifier>
</Filter>
<Filter Include="JUCE Modules\juce_graphics\effects">
<UniqueIdentifier>{A302A8DB-120F-9EBB-A3D5-2C29963AA56B}</UniqueIdentifier>
</Filter>
@ -2215,6 +2218,9 @@
<ClCompile Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.cpp">
<Filter>JUCE Modules\juce_graphics\contexts</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\detail\juce_Ranges.cpp">
<Filter>JUCE Modules\juce_graphics\detail</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.cpp">
<Filter>JUCE Modules\juce_graphics\effects</Filter>
</ClCompile>
@ -5544,6 +5550,9 @@
<ClInclude Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.h">
<Filter>JUCE Modules\juce_graphics\contexts</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_graphics\detail\juce_Ranges.h">
<Filter>JUCE Modules\juce_graphics\detail</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.h">
<Filter>JUCE Modules\juce_graphics\effects</Filter>
</ClInclude>

View file

@ -770,6 +770,9 @@
<ClCompile Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\detail\juce_Ranges.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
@ -2251,6 +2254,7 @@
<ClInclude Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsContext.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsPostScriptRenderer.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\detail\juce_Ranges.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\effects\juce_GlowEffect.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\effects\juce_ImageEffectFilter.h"/>

View file

@ -218,6 +218,9 @@
<Filter Include="JUCE Modules\juce_graphics\contexts">
<UniqueIdentifier>{20DC13F6-2369-8841-9F0B-D13FA14EEE74}</UniqueIdentifier>
</Filter>
<Filter Include="JUCE Modules\juce_graphics\detail">
<UniqueIdentifier>{0B30279D-5CEF-3E12-EA90-7D6CE4D52669}</UniqueIdentifier>
</Filter>
<Filter Include="JUCE Modules\juce_graphics\effects">
<UniqueIdentifier>{A302A8DB-120F-9EBB-A3D5-2C29963AA56B}</UniqueIdentifier>
</Filter>
@ -1159,6 +1162,9 @@
<ClCompile Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.cpp">
<Filter>JUCE Modules\juce_graphics\contexts</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\detail\juce_Ranges.cpp">
<Filter>JUCE Modules\juce_graphics\detail</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.cpp">
<Filter>JUCE Modules\juce_graphics\effects</Filter>
</ClCompile>
@ -3522,6 +3528,9 @@
<ClInclude Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.h">
<Filter>JUCE Modules\juce_graphics\contexts</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_graphics\detail\juce_Ranges.h">
<Filter>JUCE Modules\juce_graphics\detail</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.h">
<Filter>JUCE Modules\juce_graphics\effects</Filter>
</ClInclude>

View file

@ -770,6 +770,9 @@
<ClCompile Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\detail\juce_Ranges.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
@ -2251,6 +2254,7 @@
<ClInclude Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsContext.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsPostScriptRenderer.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\detail\juce_Ranges.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\effects\juce_GlowEffect.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\effects\juce_ImageEffectFilter.h"/>

View file

@ -218,6 +218,9 @@
<Filter Include="JUCE Modules\juce_graphics\contexts">
<UniqueIdentifier>{20DC13F6-2369-8841-9F0B-D13FA14EEE74}</UniqueIdentifier>
</Filter>
<Filter Include="JUCE Modules\juce_graphics\detail">
<UniqueIdentifier>{0B30279D-5CEF-3E12-EA90-7D6CE4D52669}</UniqueIdentifier>
</Filter>
<Filter Include="JUCE Modules\juce_graphics\effects">
<UniqueIdentifier>{A302A8DB-120F-9EBB-A3D5-2C29963AA56B}</UniqueIdentifier>
</Filter>
@ -1159,6 +1162,9 @@
<ClCompile Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.cpp">
<Filter>JUCE Modules\juce_graphics\contexts</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\detail\juce_Ranges.cpp">
<Filter>JUCE Modules\juce_graphics\detail</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.cpp">
<Filter>JUCE Modules\juce_graphics\effects</Filter>
</ClCompile>
@ -3522,6 +3528,9 @@
<ClInclude Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.h">
<Filter>JUCE Modules\juce_graphics\contexts</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_graphics\detail\juce_Ranges.h">
<Filter>JUCE Modules\juce_graphics\detail</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.h">
<Filter>JUCE Modules\juce_graphics\effects</Filter>
</ClInclude>

View file

@ -770,6 +770,9 @@
<ClCompile Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\detail\juce_Ranges.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
@ -2251,6 +2254,7 @@
<ClInclude Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsContext.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsPostScriptRenderer.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\detail\juce_Ranges.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\effects\juce_GlowEffect.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\effects\juce_ImageEffectFilter.h"/>

View file

@ -218,6 +218,9 @@
<Filter Include="JUCE Modules\juce_graphics\contexts">
<UniqueIdentifier>{20DC13F6-2369-8841-9F0B-D13FA14EEE74}</UniqueIdentifier>
</Filter>
<Filter Include="JUCE Modules\juce_graphics\detail">
<UniqueIdentifier>{0B30279D-5CEF-3E12-EA90-7D6CE4D52669}</UniqueIdentifier>
</Filter>
<Filter Include="JUCE Modules\juce_graphics\effects">
<UniqueIdentifier>{A302A8DB-120F-9EBB-A3D5-2C29963AA56B}</UniqueIdentifier>
</Filter>
@ -1159,6 +1162,9 @@
<ClCompile Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.cpp">
<Filter>JUCE Modules\juce_graphics\contexts</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\detail\juce_Ranges.cpp">
<Filter>JUCE Modules\juce_graphics\detail</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.cpp">
<Filter>JUCE Modules\juce_graphics\effects</Filter>
</ClCompile>
@ -3522,6 +3528,9 @@
<ClInclude Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.h">
<Filter>JUCE Modules\juce_graphics\contexts</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_graphics\detail\juce_Ranges.h">
<Filter>JUCE Modules\juce_graphics\detail</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.h">
<Filter>JUCE Modules\juce_graphics\effects</Filter>
</ClInclude>

View file

@ -6919,7 +6919,7 @@ static const unsigned char temp_binary_data_38[] =
" g.fillAll (getLookAndFeel().findColour (juce::ResizableWindow::backgroundColourId));\r\n"
"\r\n"
" g.setColour (juce::Colours::white);\r\n"
" g.setFont (15.0f);\r\n"
" g.setFont (juce::FontOptions (15.0f));\r\n"
" g.drawFittedText (\"Hello World!\", getLocalBounds(), juce::Justification::centred, 1);\r\n"
"}\r\n"
"\r\n"
@ -7239,7 +7239,7 @@ static const unsigned char temp_binary_data_43[] =
" g.fillAll (getLookAndFeel().findColour (juce::ResizableWindow::backgroundColourId));\r\n"
"\r\n"
" g.setColour (juce::Colours::white);\r\n"
" g.setFont (15.0f);\r\n"
" g.setFont (juce::FontOptions (15.0f));\r\n"
" g.drawFittedText (\"Hello World!\", getLocalBounds(), juce::Justification::centred, 1);\r\n"
"}\r\n"
"\r\n"
@ -7722,7 +7722,7 @@ static const unsigned char temp_binary_data_49[] =
" // (Our component is opaque, so we must completely fill the background with a solid colour)\r\n"
" g.fillAll (getLookAndFeel().findColour (juce::ResizableWindow::backgroundColourId));\r\n"
"\r\n"
" g.setFont (juce::Font (16.0f));\r\n"
" g.setFont (juce::FontOptions (16.0f));\r\n"
" g.setColour (juce::Colours::white);\r\n"
" g.drawText (\"Hello World!\", getLocalBounds(), juce::Justification::centred, true);\r\n"
" }\r\n"
@ -7765,7 +7765,7 @@ static const unsigned char temp_binary_data_50[] =
" // (Our component is opaque, so we must completely fill the background with a solid colour)\r\n"
" g.fillAll (getLookAndFeel().findColour (juce::ResizableWindow::backgroundColourId));\r\n"
"\r\n"
" g.setFont (juce::Font (16.0f));\r\n"
" g.setFont (juce::FontOptions (16.0f));\r\n"
" g.setColour (juce::Colours::white);\r\n"
" g.drawText (\"Hello World!\", getLocalBounds(), juce::Justification::centred, true);\r\n"
"}\r\n"
@ -7838,7 +7838,7 @@ static const unsigned char temp_binary_data_52[] =
" g.drawRect (getLocalBounds(), 1); // draw an outline around the component\r\n"
"\r\n"
" g.setColour (juce::Colours::white);\r\n"
" g.setFont (14.0f);\r\n"
" g.setFont (juce::FontOptions (14.0f));\r\n"
" g.drawText (\"%%component_class%%\", getLocalBounds(),\r\n"
" juce::Justification::centred, true); // draw some placeholder text\r\n"
" }\r\n"
@ -8087,7 +8087,7 @@ static const unsigned char temp_binary_data_56[] =
" g.drawRect (getLocalBounds(), 1); // draw an outline around the component\r\n"
"\r\n"
" g.setColour (juce::Colours::white);\r\n"
" g.setFont (14.0f);\r\n"
" g.setFont (juce::FontOptions (14.0f));\r\n"
" g.drawText (\"%%component_class%%\", getLocalBounds(),\r\n"
" juce::Justification::centred, true); // draw some placeholder text\r\n"
"}\r\n"
@ -8215,7 +8215,7 @@ static const unsigned char temp_binary_data_60[] =
" g.drawRect (getLocalBounds(), 1); // draw an outline around the component\r\n"
"\r\n"
" g.setColour (juce::Colours::white);\r\n"
" g.setFont (14.0f);\r\n"
" g.setFont (juce::FontOptions (14.0f));\r\n"
" g.drawText (\"%%component_class%%\", getLocalBounds(),\r\n"
" juce::Justification::centred, true); // draw some placeholder text\r\n"
" }\r\n"
@ -9178,29 +9178,29 @@ const char* getNamedResource (const char* resourceNameUTF8, int& numBytes)
case 0x915d7304: numBytes = 1187; return jucer_AudioComponentTemplate_h;
case 0x744d44d6: numBytes = 1916; return jucer_AudioPluginARADocumentControllerTemplate_cpp;
case 0x3eb8f45b: numBytes = 1445; return jucer_AudioPluginARADocumentControllerTemplate_h;
case 0x851ac3ac: numBytes = 1593; return jucer_AudioPluginARAEditorTemplate_cpp;
case 0x851ac3ac: numBytes = 1613; return jucer_AudioPluginARAEditorTemplate_cpp;
case 0x4d6430b1: numBytes = 1142; return jucer_AudioPluginARAEditorTemplate_h;
case 0x48e808fc: numBytes = 2462; return jucer_AudioPluginARAFilterTemplate_h;
case 0xea35a37d: numBytes = 5322; return jucer_AudioPluginARAPlaybackRendererTemplate_cpp;
case 0x78a6d0c2: numBytes = 1757; return jucer_AudioPluginARAPlaybackRendererTemplate_h;
case 0x27c5a93a: numBytes = 1355; return jucer_AudioPluginEditorTemplate_cpp;
case 0x27c5a93a: numBytes = 1375; return jucer_AudioPluginEditorTemplate_cpp;
case 0x4d0721bf: numBytes = 973; return jucer_AudioPluginEditorTemplate_h;
case 0x51b49ac5: numBytes = 6218; return jucer_AudioPluginFilterTemplate_cpp;
case 0x488afa0a: numBytes = 2299; return jucer_AudioPluginFilterTemplate_h;
case 0xabad7041: numBytes = 2147; return jucer_ComponentTemplate_cpp;
case 0xfc72fe86: numBytes = 2065; return jucer_ComponentTemplate_h;
case 0x1657b643: numBytes = 1524; return jucer_ContentCompSimpleTemplate_h;
case 0x0b66646c: numBytes = 1007; return jucer_ContentCompTemplate_cpp;
case 0x1657b643: numBytes = 1531; return jucer_ContentCompSimpleTemplate_h;
case 0x0b66646c: numBytes = 1014; return jucer_ContentCompTemplate_cpp;
case 0x6fa10171: numBytes = 878; return jucer_ContentCompTemplate_h;
case 0x28d496ad: numBytes = 1276; return jucer_InlineComponentTemplate_h;
case 0x28d496ad: numBytes = 1296; return jucer_InlineComponentTemplate_h;
case 0x8905395b: numBytes = 443; return jucer_MainConsoleAppTemplate_cpp;
case 0x5e5ea047: numBytes = 1999; return jucer_MainTemplate_NoWindow_cpp;
case 0x400bc026: numBytes = 4081; return jucer_MainTemplate_Window_cpp;
case 0xf4842835: numBytes = 1521; return jucer_NewComponentTemplate_cpp;
case 0xf4842835: numBytes = 1541; return jucer_NewComponentTemplate_cpp;
case 0xe7bf237a: numBytes = 665; return jucer_NewComponentTemplate_h;
case 0x02a2a077: numBytes = 278; return jucer_NewCppFileTemplate_cpp;
case 0x0842c43c: numBytes = 258; return jucer_NewCppFileTemplate_h;
case 0x36e634a1: numBytes = 1719; return jucer_NewInlineComponentTemplate_h;
case 0x36e634a1: numBytes = 1739; return jucer_NewInlineComponentTemplate_h;
case 0x6bdeb129: numBytes = 1987; return jucer_OpenGLComponentSimpleTemplate_h;
case 0x7fbac252: numBytes = 1470; return jucer_OpenGLComponentTemplate_cpp;
case 0x491fa0d7: numBytes = 1070; return jucer_OpenGLComponentTemplate_h;

View file

@ -123,7 +123,7 @@ namespace BinaryData
const int jucer_AudioPluginARADocumentControllerTemplate_hSize = 1445;
extern const char* jucer_AudioPluginARAEditorTemplate_cpp;
const int jucer_AudioPluginARAEditorTemplate_cppSize = 1593;
const int jucer_AudioPluginARAEditorTemplate_cppSize = 1613;
extern const char* jucer_AudioPluginARAEditorTemplate_h;
const int jucer_AudioPluginARAEditorTemplate_hSize = 1142;
@ -138,7 +138,7 @@ namespace BinaryData
const int jucer_AudioPluginARAPlaybackRendererTemplate_hSize = 1757;
extern const char* jucer_AudioPluginEditorTemplate_cpp;
const int jucer_AudioPluginEditorTemplate_cppSize = 1355;
const int jucer_AudioPluginEditorTemplate_cppSize = 1375;
extern const char* jucer_AudioPluginEditorTemplate_h;
const int jucer_AudioPluginEditorTemplate_hSize = 973;
@ -156,16 +156,16 @@ namespace BinaryData
const int jucer_ComponentTemplate_hSize = 2065;
extern const char* jucer_ContentCompSimpleTemplate_h;
const int jucer_ContentCompSimpleTemplate_hSize = 1524;
const int jucer_ContentCompSimpleTemplate_hSize = 1531;
extern const char* jucer_ContentCompTemplate_cpp;
const int jucer_ContentCompTemplate_cppSize = 1007;
const int jucer_ContentCompTemplate_cppSize = 1014;
extern const char* jucer_ContentCompTemplate_h;
const int jucer_ContentCompTemplate_hSize = 878;
extern const char* jucer_InlineComponentTemplate_h;
const int jucer_InlineComponentTemplate_hSize = 1276;
const int jucer_InlineComponentTemplate_hSize = 1296;
extern const char* jucer_MainConsoleAppTemplate_cpp;
const int jucer_MainConsoleAppTemplate_cppSize = 443;
@ -177,7 +177,7 @@ namespace BinaryData
const int jucer_MainTemplate_Window_cppSize = 4081;
extern const char* jucer_NewComponentTemplate_cpp;
const int jucer_NewComponentTemplate_cppSize = 1521;
const int jucer_NewComponentTemplate_cppSize = 1541;
extern const char* jucer_NewComponentTemplate_h;
const int jucer_NewComponentTemplate_hSize = 665;
@ -189,7 +189,7 @@ namespace BinaryData
const int jucer_NewCppFileTemplate_hSize = 258;
extern const char* jucer_NewInlineComponentTemplate_h;
const int jucer_NewInlineComponentTemplate_hSize = 1719;
const int jucer_NewInlineComponentTemplate_hSize = 1739;
extern const char* jucer_OpenGLComponentSimpleTemplate_h;
const int jucer_OpenGLComponentSimpleTemplate_hSize = 1987;

View file

@ -1709,6 +1709,9 @@
<ClCompile Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\detail\juce_Ranges.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
@ -3665,6 +3668,7 @@
<ClInclude Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsContext.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsPostScriptRenderer.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\detail\juce_Ranges.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\effects\juce_GlowEffect.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\effects\juce_ImageEffectFilter.h"/>

View file

@ -527,6 +527,9 @@
<Filter Include="JUCE Modules\juce_graphics\contexts">
<UniqueIdentifier>{20DC13F6-2369-8841-9F0B-D13FA14EEE74}</UniqueIdentifier>
</Filter>
<Filter Include="JUCE Modules\juce_graphics\detail">
<UniqueIdentifier>{0B30279D-5CEF-3E12-EA90-7D6CE4D52669}</UniqueIdentifier>
</Filter>
<Filter Include="JUCE Modules\juce_graphics\effects">
<UniqueIdentifier>{A302A8DB-120F-9EBB-A3D5-2C29963AA56B}</UniqueIdentifier>
</Filter>
@ -2389,6 +2392,9 @@
<ClCompile Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.cpp">
<Filter>JUCE Modules\juce_graphics\contexts</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\detail\juce_Ranges.cpp">
<Filter>JUCE Modules\juce_graphics\detail</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.cpp">
<Filter>JUCE Modules\juce_graphics\effects</Filter>
</ClCompile>
@ -5931,6 +5937,9 @@
<ClInclude Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.h">
<Filter>JUCE Modules\juce_graphics\contexts</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_graphics\detail\juce_Ranges.h">
<Filter>JUCE Modules\juce_graphics\detail</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.h">
<Filter>JUCE Modules\juce_graphics\effects</Filter>
</ClInclude>

View file

@ -1709,6 +1709,9 @@
<ClCompile Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\detail\juce_Ranges.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
@ -3665,6 +3668,7 @@
<ClInclude Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsContext.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsPostScriptRenderer.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\detail\juce_Ranges.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\effects\juce_GlowEffect.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\effects\juce_ImageEffectFilter.h"/>

View file

@ -527,6 +527,9 @@
<Filter Include="JUCE Modules\juce_graphics\contexts">
<UniqueIdentifier>{20DC13F6-2369-8841-9F0B-D13FA14EEE74}</UniqueIdentifier>
</Filter>
<Filter Include="JUCE Modules\juce_graphics\detail">
<UniqueIdentifier>{0B30279D-5CEF-3E12-EA90-7D6CE4D52669}</UniqueIdentifier>
</Filter>
<Filter Include="JUCE Modules\juce_graphics\effects">
<UniqueIdentifier>{A302A8DB-120F-9EBB-A3D5-2C29963AA56B}</UniqueIdentifier>
</Filter>
@ -2389,6 +2392,9 @@
<ClCompile Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.cpp">
<Filter>JUCE Modules\juce_graphics\contexts</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\detail\juce_Ranges.cpp">
<Filter>JUCE Modules\juce_graphics\detail</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.cpp">
<Filter>JUCE Modules\juce_graphics\effects</Filter>
</ClCompile>
@ -5931,6 +5937,9 @@
<ClInclude Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.h">
<Filter>JUCE Modules\juce_graphics\contexts</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_graphics\detail\juce_Ranges.h">
<Filter>JUCE Modules\juce_graphics\detail</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.h">
<Filter>JUCE Modules\juce_graphics\effects</Filter>
</ClInclude>

View file

@ -1709,6 +1709,9 @@
<ClCompile Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\detail\juce_Ranges.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
@ -3665,6 +3668,7 @@
<ClInclude Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsContext.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsPostScriptRenderer.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\detail\juce_Ranges.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\effects\juce_GlowEffect.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\effects\juce_ImageEffectFilter.h"/>

View file

@ -527,6 +527,9 @@
<Filter Include="JUCE Modules\juce_graphics\contexts">
<UniqueIdentifier>{20DC13F6-2369-8841-9F0B-D13FA14EEE74}</UniqueIdentifier>
</Filter>
<Filter Include="JUCE Modules\juce_graphics\detail">
<UniqueIdentifier>{0B30279D-5CEF-3E12-EA90-7D6CE4D52669}</UniqueIdentifier>
</Filter>
<Filter Include="JUCE Modules\juce_graphics\effects">
<UniqueIdentifier>{A302A8DB-120F-9EBB-A3D5-2C29963AA56B}</UniqueIdentifier>
</Filter>
@ -2389,6 +2392,9 @@
<ClCompile Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.cpp">
<Filter>JUCE Modules\juce_graphics\contexts</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\detail\juce_Ranges.cpp">
<Filter>JUCE Modules\juce_graphics\detail</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.cpp">
<Filter>JUCE Modules\juce_graphics\effects</Filter>
</ClCompile>
@ -5931,6 +5937,9 @@
<ClInclude Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.h">
<Filter>JUCE Modules\juce_graphics\contexts</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_graphics\detail\juce_Ranges.h">
<Filter>JUCE Modules\juce_graphics\detail</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.h">
<Filter>JUCE Modules\juce_graphics\effects</Filter>
</ClInclude>

View file

@ -1587,6 +1587,9 @@
<ClCompile Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\detail\juce_Ranges.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
@ -3410,6 +3413,7 @@
<ClInclude Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsContext.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsPostScriptRenderer.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\detail\juce_Ranges.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\effects\juce_GlowEffect.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\effects\juce_ImageEffectFilter.h"/>

View file

@ -488,6 +488,9 @@
<Filter Include="JUCE Modules\juce_graphics\contexts">
<UniqueIdentifier>{20DC13F6-2369-8841-9F0B-D13FA14EEE74}</UniqueIdentifier>
</Filter>
<Filter Include="JUCE Modules\juce_graphics\detail">
<UniqueIdentifier>{0B30279D-5CEF-3E12-EA90-7D6CE4D52669}</UniqueIdentifier>
</Filter>
<Filter Include="JUCE Modules\juce_graphics\effects">
<UniqueIdentifier>{A302A8DB-120F-9EBB-A3D5-2C29963AA56B}</UniqueIdentifier>
</Filter>
@ -2212,6 +2215,9 @@
<ClCompile Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.cpp">
<Filter>JUCE Modules\juce_graphics\contexts</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\detail\juce_Ranges.cpp">
<Filter>JUCE Modules\juce_graphics\detail</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.cpp">
<Filter>JUCE Modules\juce_graphics\effects</Filter>
</ClCompile>
@ -5511,6 +5517,9 @@
<ClInclude Include="..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.h">
<Filter>JUCE Modules\juce_graphics\contexts</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_graphics\detail\juce_Ranges.h">
<Filter>JUCE Modules\juce_graphics\detail</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.h">
<Filter>JUCE Modules\juce_graphics\effects</Filter>
</ClInclude>

View file

@ -0,0 +1,566 @@
/*
==============================================================================
This file is part of the JUCE framework.
Copyright (c) Raw Material Software Limited
JUCE is an open source framework subject to commercial or open source
licensing.
By downloading, installing, or using the JUCE framework, or combining the
JUCE framework with any other source code, object code, content or any other
copyrightable work, you agree to the terms of the JUCE End User Licence
Agreement, and all incorporated terms including the JUCE Privacy Policy and
the JUCE Website Terms of Service, as applicable, which will bind you. If you
do not agree to the terms of these agreements, we will not license the JUCE
framework to you, and you must discontinue the installation or download
process and cease use of the JUCE framework.
JUCE End User Licence Agreement: https://juce.com/legal/juce-8-licence/
JUCE Privacy Policy: https://juce.com/juce-privacy-policy
JUCE Website Terms of Service: https://juce.com/juce-website-terms-of-service/
Or:
You may also use this code under the terms of the AGPLv3:
https://www.gnu.org/licenses/agpl-3.0.en.html
THE JUCE FRAMEWORK IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL
WARRANTIES, WHETHER EXPRESSED OR IMPLIED, INCLUDING WARRANTY OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, ARE DISCLAIMED.
==============================================================================
*/
namespace juce::detail
{
#if JUCE_UNIT_TESTS
template <typename T, typename = void>
constexpr auto hasGetStartFunction = false;
template <typename T>
constexpr auto hasGetStartFunction<T, std::void_t<decltype (std::declval<T>().getStart())>> = true;
template <typename RangeType, typename std::enable_if<hasGetStartFunction<RangeType>, int>::type = 0>
std::ostream& operator<< (std::ostream& os, const RangeType& range)
{
os << "[" << range.getStart() << ", " << range.getEnd() << ")";
return os;
}
static String& operator<< (String& s, Range<int64> r)
{
return s += "[" + String { r.getStart() } + ", " + String { r.getEnd() } + ")";
}
template <typename ValueType>
static auto getCumulativeRangeLengths (const RangedValues<ValueType>& rv)
{
int64 totalLength{};
for (size_t i = 0; i < rv.size(); ++i)
totalLength += rv.getItem (i).range.getLength();
return totalLength;
}
template <typename ValueType>
static auto toString (const RangedValues<ValueType>& rv)
{
String s {};
for (size_t i = 0; i < rv.size(); ++i)
{
auto item = rv.getItem (i);
s << item.range << ": " << item.value << "\n";
}
return s;
}
class RangesTestsBase : public UnitTest
{
public:
using UnitTest::UnitTest;
void expectRange (Range<int64> actual, Range<int64> expected)
{
String failureMessage { "range " };
failureMessage << actual << " did not equal expected range " << expected;
expect (actual == expected, failureMessage);
}
};
class RangesTests : public RangesTestsBase
{
public:
RangesTests() : RangesTestsBase ("Ranges", UnitTestCategories::containers) {}
void runTest() override
{
beginTest ("Ranges::set() - basics");
{
Ranges ranges;
ranges.set ({ -3, 14 });
expectRange (ranges.get (0), { -3, 14 });
ranges.set ({ 7, 20 });
expectRange (ranges.get (0), { -3, 7 });
expectRange (ranges.get (1), { 7, 20 });
}
beginTest ("Ranges::set() - neighbouring ranges extents are modified");
{
Ranges ranges;
ranges.set ({ -3, 14 });
ranges.set ({ 19, 30 });
ranges.set ({ 10, 25 });
// size_t doesn't always map to an existing overload for String::operator<< on all platforms
expectEquals ((int64) ranges.size(), (int64) 3);
expectRange (ranges.get (0), { -3, 10 });
expectRange (ranges.get (1), { 10, 25 });
expectRange (ranges.get (2), { 25, 30 });
}
beginTest ("Ranges::set() - setting a range inside another one splits that range");
{
Ranges ranges;
ranges.set ({ -3, 14 });
expectEquals ((int64) ranges.size(), (int64) 1);
//==============================================================================
ranges.set ({ 3, 7 });
expectEquals ((int64) ranges.size(), (int64) 3);
expectRange (ranges.get (0), { -3, 3 });
expectRange (ranges.get (1), { 3, 7 });
expectRange (ranges.get (2), { 7, 14 });
}
beginTest ("Ranges::set() - old ranges falling within the bounds of a newly set are erased");
{
Ranges ranges;
ranges.set ({ 0, 5 });
ranges.set ({ 5, 10 });
ranges.set ({ 15, 20 });
ranges.set ({ 25, 30 });
ranges.set ({ 35, 50 });
expectEquals ((int64) ranges.size(), (int64) 5);
//==============================================================================
ranges.set ({ 4, 36 });
expectEquals ((int64) ranges.size(), (int64) 3);
expectRange (ranges.get (0), { 0, 4 });
expectRange (ranges.get (1), { 4, 36 });
expectRange (ranges.get (2), { 36, 50 });
}
beginTest ("Ranges::set() - setting an empty range should be a no-op");
{
Ranges ranges;
auto ops = ranges.set ({ 0, 0 });
expect (ranges.isEmpty());
expect (ops.empty());
}
beginTest ("Ranges::set() - setting a range inside another range");
{
Ranges ranges;
ranges.set ({ 0, 48 });
ranges.set ({ 48, 127 });
ranges.set ({ 49, 94 });
expectEquals ((int64) ranges.size(), (int64) 4, "");
expectRange (ranges.get (0), { 0, 48 });
expectRange (ranges.get (1), { 48, 49 });
expectRange (ranges.get (2), { 49, 94 });
expectRange (ranges.get (3), { 94, 127 });
}
beginTest ("Ranges::split()");
{
Ranges ranges;
ranges.set ({ 0, 48 });
ranges.set ({ 48, 127 });
auto ops = ranges.split (47);
expectEquals ((int64) ops.size(), (int64) 2, "");
expect (std::get_if<Ranges::Ops::Changed> (&ops[0]) != nullptr);
expect (std::get_if<Ranges::Ops::Inserted> (&ops[1]) != nullptr);
expectEquals ((int64) ranges.size(), (int64) 3, "");
expectRange (ranges.get (0), { 0, 47 });
expectRange (ranges.get (1), { 47, 48 });
expectRange (ranges.get (2), { 48, 127 });
}
beginTest ("Ranges::split() - splitting has no effect when no range begins before and ends after the location");
{
Ranges ranges;
ranges.set ({ 0, 48 });
ranges.set ({ 48, 127 });
auto ops = ranges.split (48);
expectEquals ((int64) ops.size(), (int64) 0, "");
expectEquals ((int64) ranges.size(), (int64) 2, "");
expectRange (ranges.get (0), { 0, 48 });
expectRange (ranges.get (1), { 48, 127 });
}
beginTest ("Ranges::insert() - basics");
{
Ranges ranges;
ranges.insert ({ -3, 14 });
expectRange (ranges.get (0), { -3, 14 });
ranges.insert ({ 7, 20 });
expectRange (ranges.get (0), { -3, 7 });
expectRange (ranges.get (1), { 7, 20 });
expectRange (ranges.get (2), { 20, 27 });
}
beginTest ("Ranges::insert() - inserting shifts all following ranges");
{
Ranges ranges;
ranges.insert ({ 10, 11 });
ranges.insert ({ 0, 1 });
expectRange (ranges.get (0), { 0, 1 });
expectRange (ranges.get (1), { 11, 12 });
}
beginTest ("Ranges::insert() - inserting an empty range should be a no-op");
{
Ranges ranges;
auto ops = ranges.insert ({ 0, 0 });
expect (ranges.isEmpty());
expect (ops.empty());
}
}
};
class RangedValuesTests : public UnitTest
{
public:
RangedValuesTests() : UnitTest ("RangedValues", UnitTestCategories::containers) {}
template <typename ItemType>
void expectRangedValuesItem (ItemType item, Range<int64> range, char value)
{
{
String failureMessage { "range " };
failureMessage << item.range << " did not equal expected range " << range;
expect (item.range == range, failureMessage);
}
{
String failureMessage { "value '" };
failureMessage << item.value << "' in range " << range << " did not equal expected value '" << value << "'";
expect (item.value == value, failureMessage);
}
}
void runTest() override
{
auto random = getRandom();
const auto createRangedValuesObject = [&]
{
RangedValues<char> rangedValues;
rangedValues.set ({ 0, 10 }, 'a');
rangedValues.set ({ 11, 20 }, 'b');
rangedValues.set ({ 23, 30 }, 'c');
return rangedValues;
};
beginTest ("RangedValues::set() with distinct value overlapping other ranges");
{
auto rangedValues = createRangedValuesObject();
rangedValues.set ({ 5, 15 }, 'd');
expect (! rangedValues.isEmpty());
expectRangedValuesItem (rangedValues.getItem (0), { 0, 5 }, 'a');
expectRangedValuesItem (rangedValues.getItem (1), { 5, 15 }, 'd');
expectRangedValuesItem (rangedValues.getItem (2), { 15, 20 }, 'b');
expectRangedValuesItem (rangedValues.getItem (3), { 23, 30 }, 'c');
rangedValues.set ({ 19, 24 }, 'e');
expectRangedValuesItem (rangedValues.getItem (2), { 15, 19 }, 'b');
expectRangedValuesItem (rangedValues.getItem (3), { 19, 24 }, 'e');
expectRangedValuesItem (rangedValues.getItem (4), { 24, 30 }, 'c');
}
beginTest ("RangedValues::set() with distinct value in corner cases");
{
auto rangedValues = createRangedValuesObject();
rangedValues.set ({ -1, 0 }, 'd');
expectRangedValuesItem (rangedValues.getItem (0), { -1, 0 }, 'd');
expectRangedValuesItem (rangedValues.getItem (1), { 0, 10 }, 'a');
}
beginTest ("RangedValues::set() with same value with merging disallowed");
{
auto rangedValues = createRangedValuesObject();
rangedValues.set<MergeEqualItems::no> ({ 5, 15 }, 'b');
expectRangedValuesItem (rangedValues.getItem (0), { 0, 5 }, 'a');
expectRangedValuesItem (rangedValues.getItem (1), { 5, 15 }, 'b');
expectRangedValuesItem (rangedValues.getItem (2), { 15, 20 }, 'b');
expectRangedValuesItem (rangedValues.getItem (3), { 23, 30 }, 'c');
}
beginTest ("RangedValues::set() with same value with merging allowed");
{
auto rangedValues = createRangedValuesObject();
rangedValues.set<MergeEqualItems::yes> ({ 5, 15 }, 'b');
expectRangedValuesItem (rangedValues.getItem (0), { 0, 5 }, 'a');
expectRangedValuesItem (rangedValues.getItem (1), { 5, 20 }, 'b');
expectRangedValuesItem (rangedValues.getItem (2), { 23, 30 }, 'c');
}
beginTest ("RangedValues::set() - setting an empty Range should be a no-op");
{
RangedValues<char> rangedValues;
auto ops = rangedValues.set ({ 0, 0 }, 'a');
expect (rangedValues.isEmpty());
expect (ops.empty());
}
beginTest ("RangedValues::set() - setting a range inside another range");
{
RangedValues<char> rangedValues;
rangedValues.set ({ 0, 48 }, 'a');
rangedValues.set ({ 48, 127 }, 'b');
rangedValues.set ({ 49, 94 }, 'c');
expectEquals ((int64) rangedValues.size(), (int64) 4, "");
expectRangedValuesItem (rangedValues.getItem (0), { 0, 48 }, 'a');
expectRangedValuesItem (rangedValues.getItem (1), { 48, 49 }, 'b');
expectRangedValuesItem (rangedValues.getItem (2), { 49, 94 }, 'c');
expectRangedValuesItem (rangedValues.getItem (3), { 94, 127 }, 'b');
}
beginTest ("RangedValues::getIntersectionsWith()");
{
auto rangedValues = createRangedValuesObject();
{
const auto intersections = rangedValues.getIntersectionsWith ({ 5, 43 });
expectRangedValuesItem (intersections[0], { 5, 10 }, 'a');
expectRangedValuesItem (intersections[1], { 11, 20 }, 'b');
expectRangedValuesItem (intersections[2], { 23, 30 }, 'c');
}
{
const auto intersections = rangedValues.getIntersectionsWith ({ -10, 3 });
expectRangedValuesItem (intersections[0], { 0, 3 }, 'a');
}
}
beginTest ("RangedValues::insert() fuzzing - insert always increases the total covered range");
{
for (auto i = 0; i != 100; ++i)
{
auto rangedValuesNotMerged = createRangedValuesObject();
auto rangedValuesMerged = createRangedValuesObject();
const auto totalLengthBeforeInsert = getCumulativeRangeLengths (rangedValuesNotMerged);
const auto beginInsertionAt = (int64) random.nextInt (100) - 50;
const auto numElemsToInsert = (int64) random.nextInt (1000);
rangedValuesNotMerged.insert<MergeEqualItems::no> ({ Range<int64>::withStartAndLength (beginInsertionAt, numElemsToInsert) },
'a' + (char) random.nextInt (25));
expectEquals (getCumulativeRangeLengths (rangedValuesNotMerged) - totalLengthBeforeInsert, numElemsToInsert);
rangedValuesMerged.insert<MergeEqualItems::yes> ({ Range<int64>::withStartAndLength (beginInsertionAt, numElemsToInsert) },
'a' + (char) random.nextInt (25));
expectEquals (getCumulativeRangeLengths (rangedValuesMerged) - totalLengthBeforeInsert, numElemsToInsert);
}
}
beginTest ("RangedValues::insert() with distinct value inside another range");
{
auto rangedValues = createRangedValuesObject();
expectEquals ((int64) rangedValues.size(), (int64) 3);
rangedValues.insert ({ 2, 4 }, 'd');
expectEquals ((int64) rangedValues.size(), (int64) 5);
expectRangedValuesItem (rangedValues.getItem (0), { 0, 2 }, 'a');
expectRangedValuesItem (rangedValues.getItem (1), { 2, 4 }, 'd');
expectRangedValuesItem (rangedValues.getItem (2), { 4, 12 }, 'a');
expectRangedValuesItem (rangedValues.getItem (3), { 13, 22 }, 'b');
expectRangedValuesItem (rangedValues.getItem (4), { 25, 32 }, 'c');
}
beginTest ("RangedValues::insert() with same value inside another range");
{
{
auto rangedValues = createRangedValuesObject();
expectEquals ((int64) rangedValues.size(), (int64) 3);
rangedValues.insert<MergeEqualItems::yes> ({ 2, 4 }, 'a');
expectEquals ((int64) rangedValues.size(), (int64) 3);
expectRangedValuesItem (rangedValues.getItem (0), { 0, 12 }, 'a');
expectRangedValuesItem (rangedValues.getItem (1), { 13, 22 }, 'b');
expectRangedValuesItem (rangedValues.getItem (2), { 25, 32 }, 'c');
}
{
auto rangedValues = createRangedValuesObject();
expectEquals ((int64) rangedValues.size(), (int64) 3);
rangedValues.insert<MergeEqualItems::no> ({ 2, 4 }, 'a');
expectEquals ((int64) rangedValues.size(), (int64) 5);
expectRangedValuesItem (rangedValues.getItem (0), { 0, 2 }, 'a');
expectRangedValuesItem (rangedValues.getItem (1), { 2, 4 }, 'a');
expectRangedValuesItem (rangedValues.getItem (2), { 4, 12 }, 'a');
expectRangedValuesItem (rangedValues.getItem (3), { 13, 22 }, 'b');
expectRangedValuesItem (rangedValues.getItem (4), { 25, 32 }, 'c');
}
}
beginTest ("RangedValues::insert() - inserting an empty Range should be a no-op");
{
{
RangedValues<char> emptyRangedValues;
auto ops = emptyRangedValues.insert ({ 0, 0 }, 'a');
expect (emptyRangedValues.isEmpty());
expect (ops.empty());
}
{
RangedValues<char> rangedValues;
rangedValues.set ({ 0, 10 }, 'a');
auto ops = rangedValues.insert ({ 0, 0 }, 'a');
expect (ops.empty());
expectEquals ((int64) rangedValues.size(), (int64) 1);
expectRangedValuesItem (rangedValues.getItem (0), { 0, 10 }, 'a');
}
}
}
};
class IntersectingRangedValuesTests : public RangesTestsBase
{
public:
IntersectingRangedValuesTests() : RangesTestsBase ("IntersectingRangedValues", UnitTestCategories::containers) {}
void runTest() override
{
beginTest ("IntersectingRangedValuesTests - iterating over multiple RangedValues");
{
RangedValues<int> rv1;
rv1.set ({ 3, 8}, 1);
rv1.set ({ 9, 16}, 2);
rv1.set ({ 30, 40}, 3);
RangedValues<int> rv2;
rv2.set ({ 0, 4}, 7);
rv2.set ({ 4, 6}, 11);
rv2.set ({ 6, 25}, 13);
rv2.set ({ 27, 55}, 17);
RangedValues<int> rv3;
rv3.set ({ -2, 10}, -1);
rv3.set ({ 15, 19}, -2);
rv3.set ({ 22, 36}, -3);
int iteration = 0;
for (const auto [range, v1, v2, v3] : makeIntersectingRangedValues (&rv1, &rv2, &rv3))
{
if (iteration == 0)
{
expectRange (range, Range<int64> { 3, 4 });
expect (v1 == 1 && v2 == 7 && v3 == -1);
}
if (iteration == 1)
{
expectRange (range, Range<int64> { 4, 6 });
expect (v1 == 1 && v2 == 11 && v3 == -1);
}
if (iteration == 2)
{
expectRange (range, Range<int64> { 6, 8 });
expect (v1 == 1 && v2 == 13 && v3 == -1);
}
if (iteration == 3)
{
expectRange (range, Range<int64> { 9, 10 });
expect (v1 == 2 && v2 == 13 && v3 == -1);
}
if (iteration == 4)
{
expectRange (range, Range<int64> { 15, 16 });
expect (v1 == 2 && v2 == 13 && v3 == -2);
}
if (iteration == 5)
{
expectRange (range, Range<int64> { 30, 36 });
expect (v1 == 3 && v2 == 17 && v3 == -3);
}
++iteration;
}
expectEquals (iteration, 6);
}
}
};
static RangesTests rangesTests;
static RangedValuesTests rangedValuesTests;
static IntersectingRangedValuesTests intersectingRangedValuesTests;
#endif
} // namespace juce::detail

File diff suppressed because it is too large Load diff

View file

@ -145,6 +145,7 @@
#include "fonts/juce_Typeface.cpp"
#include "fonts/juce_FontOptions.cpp"
#include "fonts/juce_Font.cpp"
#include "detail/juce_Ranges.cpp"
#include "fonts/juce_GlyphArrangement.cpp"
#include "fonts/juce_TextLayout.cpp"
#include "effects/juce_DropShadowEffect.cpp"

View file

@ -146,6 +146,7 @@ namespace juce
#include "fonts/juce_Typeface.h"
#include "fonts/juce_FontOptions.h"
#include "fonts/juce_Font.h"
#include "detail/juce_Ranges.h"
#include "fonts/juce_AttributedString.h"
#include "fonts/juce_GlyphArrangement.h"
#include "fonts/juce_TextLayout.h"