1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-09 23:34:20 +00:00

Direct2D: Use Image NativeExtensions to avoid dynamic casts in graphics context

This commit is contained in:
reuk 2025-01-15 16:42:57 +00:00
parent 9b08c8fd51
commit d3ca5961e7
No known key found for this signature in database
33 changed files with 252 additions and 105 deletions

View file

@ -1745,6 +1745,7 @@ add_library( ${BINARY_NAME}
"../../../../../modules/juce_graphics/native/juce_Direct2DImageContext_windows.h"
"../../../../../modules/juce_graphics/native/juce_Direct2DMetrics_windows.cpp"
"../../../../../modules/juce_graphics/native/juce_Direct2DMetrics_windows.h"
"../../../../../modules/juce_graphics/native/juce_Direct2DPixelDataPage_windows.h"
"../../../../../modules/juce_graphics/native/juce_Direct2DResources_windows.cpp"
"../../../../../modules/juce_graphics/native/juce_DirectWriteTypeface_windows.cpp"
"../../../../../modules/juce_graphics/native/juce_DirectX_windows.h"
@ -4002,6 +4003,7 @@ set_source_files_properties(
"../../../../../modules/juce_graphics/native/juce_Direct2DImageContext_windows.h"
"../../../../../modules/juce_graphics/native/juce_Direct2DMetrics_windows.cpp"
"../../../../../modules/juce_graphics/native/juce_Direct2DMetrics_windows.h"
"../../../../../modules/juce_graphics/native/juce_Direct2DPixelDataPage_windows.h"
"../../../../../modules/juce_graphics/native/juce_Direct2DResources_windows.cpp"
"../../../../../modules/juce_graphics/native/juce_DirectWriteTypeface_windows.cpp"
"../../../../../modules/juce_graphics/native/juce_DirectX_windows.h"

View file

@ -3827,6 +3827,7 @@
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_Direct2DImage_windows.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_Direct2DImageContext_windows.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_Direct2DMetrics_windows.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_Direct2DPixelDataPage_windows.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_DirectX_windows.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_EventTracing.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_RenderingHelpers.h"/>

View file

@ -6528,6 +6528,9 @@
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_Direct2DMetrics_windows.h">
<Filter>JUCE Modules\juce_graphics\native</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_Direct2DPixelDataPage_windows.h">
<Filter>JUCE Modules\juce_graphics\native</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_DirectX_windows.h">
<Filter>JUCE Modules\juce_graphics\native</Filter>
</ClInclude>

View file

@ -1875,6 +1875,7 @@ add_library( ${BINARY_NAME}
"../../../../../modules/juce_graphics/native/juce_Direct2DImageContext_windows.h"
"../../../../../modules/juce_graphics/native/juce_Direct2DMetrics_windows.cpp"
"../../../../../modules/juce_graphics/native/juce_Direct2DMetrics_windows.h"
"../../../../../modules/juce_graphics/native/juce_Direct2DPixelDataPage_windows.h"
"../../../../../modules/juce_graphics/native/juce_Direct2DResources_windows.cpp"
"../../../../../modules/juce_graphics/native/juce_DirectWriteTypeface_windows.cpp"
"../../../../../modules/juce_graphics/native/juce_DirectX_windows.h"
@ -4285,6 +4286,7 @@ set_source_files_properties(
"../../../../../modules/juce_graphics/native/juce_Direct2DImageContext_windows.h"
"../../../../../modules/juce_graphics/native/juce_Direct2DMetrics_windows.cpp"
"../../../../../modules/juce_graphics/native/juce_Direct2DMetrics_windows.h"
"../../../../../modules/juce_graphics/native/juce_Direct2DPixelDataPage_windows.h"
"../../../../../modules/juce_graphics/native/juce_Direct2DResources_windows.cpp"
"../../../../../modules/juce_graphics/native/juce_DirectWriteTypeface_windows.cpp"
"../../../../../modules/juce_graphics/native/juce_DirectX_windows.h"

View file

@ -4060,6 +4060,7 @@
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_Direct2DImage_windows.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_Direct2DImageContext_windows.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_Direct2DMetrics_windows.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_Direct2DPixelDataPage_windows.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_DirectX_windows.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_EventTracing.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_RenderingHelpers.h"/>

View file

@ -6963,6 +6963,9 @@
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_Direct2DMetrics_windows.h">
<Filter>JUCE Modules\juce_graphics\native</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_Direct2DPixelDataPage_windows.h">
<Filter>JUCE Modules\juce_graphics\native</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_DirectX_windows.h">
<Filter>JUCE Modules\juce_graphics\native</Filter>
</ClInclude>

View file

@ -4060,6 +4060,7 @@
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_Direct2DImage_windows.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_Direct2DImageContext_windows.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_Direct2DMetrics_windows.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_Direct2DPixelDataPage_windows.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_DirectX_windows.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_EventTracing.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_RenderingHelpers.h"/>

View file

@ -6963,6 +6963,9 @@
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_Direct2DMetrics_windows.h">
<Filter>JUCE Modules\juce_graphics\native</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_Direct2DPixelDataPage_windows.h">
<Filter>JUCE Modules\juce_graphics\native</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_DirectX_windows.h">
<Filter>JUCE Modules\juce_graphics\native</Filter>
</ClInclude>

View file

@ -1764,6 +1764,7 @@ add_library( ${BINARY_NAME}
"../../../../../modules/juce_graphics/native/juce_Direct2DImageContext_windows.h"
"../../../../../modules/juce_graphics/native/juce_Direct2DMetrics_windows.cpp"
"../../../../../modules/juce_graphics/native/juce_Direct2DMetrics_windows.h"
"../../../../../modules/juce_graphics/native/juce_Direct2DPixelDataPage_windows.h"
"../../../../../modules/juce_graphics/native/juce_Direct2DResources_windows.cpp"
"../../../../../modules/juce_graphics/native/juce_DirectWriteTypeface_windows.cpp"
"../../../../../modules/juce_graphics/native/juce_DirectX_windows.h"
@ -4101,6 +4102,7 @@ set_source_files_properties(
"../../../../../modules/juce_graphics/native/juce_Direct2DImageContext_windows.h"
"../../../../../modules/juce_graphics/native/juce_Direct2DMetrics_windows.cpp"
"../../../../../modules/juce_graphics/native/juce_Direct2DMetrics_windows.h"
"../../../../../modules/juce_graphics/native/juce_Direct2DPixelDataPage_windows.h"
"../../../../../modules/juce_graphics/native/juce_Direct2DResources_windows.cpp"
"../../../../../modules/juce_graphics/native/juce_DirectWriteTypeface_windows.cpp"
"../../../../../modules/juce_graphics/native/juce_DirectX_windows.h"

View file

@ -3925,6 +3925,7 @@
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_Direct2DImage_windows.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_Direct2DImageContext_windows.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_Direct2DMetrics_windows.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_Direct2DPixelDataPage_windows.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_DirectX_windows.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_EventTracing.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_RenderingHelpers.h"/>

View file

@ -6690,6 +6690,9 @@
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_Direct2DMetrics_windows.h">
<Filter>JUCE Modules\juce_graphics\native</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_Direct2DPixelDataPage_windows.h">
<Filter>JUCE Modules\juce_graphics\native</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_DirectX_windows.h">
<Filter>JUCE Modules\juce_graphics\native</Filter>
</ClInclude>

View file

@ -2625,6 +2625,7 @@
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_Direct2DImage_windows.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_Direct2DImageContext_windows.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_Direct2DMetrics_windows.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_Direct2DPixelDataPage_windows.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_DirectX_windows.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_EventTracing.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_RenderingHelpers.h"/>

View file

@ -4332,6 +4332,9 @@
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_Direct2DMetrics_windows.h">
<Filter>JUCE Modules\juce_graphics\native</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_Direct2DPixelDataPage_windows.h">
<Filter>JUCE Modules\juce_graphics\native</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_DirectX_windows.h">
<Filter>JUCE Modules\juce_graphics\native</Filter>
</ClInclude>

View file

@ -2625,6 +2625,7 @@
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_Direct2DImage_windows.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_Direct2DImageContext_windows.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_Direct2DMetrics_windows.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_Direct2DPixelDataPage_windows.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_DirectX_windows.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_EventTracing.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_RenderingHelpers.h"/>

View file

@ -4332,6 +4332,9 @@
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_Direct2DMetrics_windows.h">
<Filter>JUCE Modules\juce_graphics\native</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_Direct2DPixelDataPage_windows.h">
<Filter>JUCE Modules\juce_graphics\native</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_DirectX_windows.h">
<Filter>JUCE Modules\juce_graphics\native</Filter>
</ClInclude>

View file

@ -4172,6 +4172,7 @@
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_Direct2DImage_windows.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_Direct2DImageContext_windows.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_Direct2DMetrics_windows.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_Direct2DPixelDataPage_windows.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_DirectX_windows.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_EventTracing.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_RenderingHelpers.h"/>

View file

@ -7122,6 +7122,9 @@
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_Direct2DMetrics_windows.h">
<Filter>JUCE Modules\juce_graphics\native</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_Direct2DPixelDataPage_windows.h">
<Filter>JUCE Modules\juce_graphics\native</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_DirectX_windows.h">
<Filter>JUCE Modules\juce_graphics\native</Filter>
</ClInclude>

View file

@ -4172,6 +4172,7 @@
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_Direct2DImage_windows.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_Direct2DImageContext_windows.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_Direct2DMetrics_windows.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_Direct2DPixelDataPage_windows.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_DirectX_windows.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_EventTracing.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_RenderingHelpers.h"/>

View file

@ -7122,6 +7122,9 @@
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_Direct2DMetrics_windows.h">
<Filter>JUCE Modules\juce_graphics\native</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_Direct2DPixelDataPage_windows.h">
<Filter>JUCE Modules\juce_graphics\native</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_DirectX_windows.h">
<Filter>JUCE Modules\juce_graphics\native</Filter>
</ClInclude>

View file

@ -3901,6 +3901,7 @@
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_Direct2DImage_windows.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_Direct2DImageContext_windows.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_Direct2DMetrics_windows.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_Direct2DPixelDataPage_windows.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_DirectX_windows.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_EventTracing.h"/>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_RenderingHelpers.h"/>

View file

@ -6657,6 +6657,9 @@
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_Direct2DMetrics_windows.h">
<Filter>JUCE Modules\juce_graphics\native</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_Direct2DPixelDataPage_windows.h">
<Filter>JUCE Modules\juce_graphics\native</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_graphics\native\juce_DirectX_windows.h">
<Filter>JUCE Modules\juce_graphics\native</Filter>
</ClInclude>