From 79c7241da827166dc6cea6be1c3bddeae1f1c3f4 Mon Sep 17 00:00:00 2001 From: Jesse Bishop <16565497+jesbis@users.noreply.github.com> Date: Sat, 11 Jan 2020 14:13:06 -0800 Subject: [PATCH 1/3] RadialGradientBrush Initial Commit (#1) Initial commit of basic RadialGradientBrush implementation --- FeatureAreas.props | 2 + InnerLoopAreas.props | 2 +- MUXControls.sln | 20 +- MUXControlsInnerLoop.sln | 25 +- .../RadialGradientBrush.properties.cpp | 183 +++++++++++++ .../RadialGradientBrush.properties.h | 61 +++++ .../RadialGradientBrushTests.cs | 119 ++++++++ ...alGradientBrush_InteractionTests.projitems | 15 ++ ...adialGradientBrush_InteractionTests.shproj | 14 + .../RadialGradientBrush.cpp | 241 +++++++++++++++++ dev/RadialGradientBrush/RadialGradientBrush.h | 48 ++++ .../RadialGradientBrush.idl | 37 +++ .../RadialGradientBrush.vcxitems | 27 ++ .../TestUI/RadialGradientBrushPage.xaml | 133 +++++++++ .../TestUI/RadialGradientBrushPage.xaml.cs | 254 ++++++++++++++++++ .../RadialGradientBrush_TestUI.projitems | 23 ++ .../TestUI/RadialGradientBrush_TestUI.shproj | 14 + dev/Telemetry/RuntimeProfiler.h | 4 +- dev/dll/Microsoft.UI.Xaml.vcxproj | 1 + dev/dll/SharedHelpers.cpp | 6 + dev/inc/CppWinRTIncludes.h | 4 +- dev/inc/SharedHelpers.h | 2 + .../MUXControls.Test.Shared.targets | 1 + .../MUXControlsTestApp.Shared.targets | 1 + 24 files changed, 1226 insertions(+), 11 deletions(-) create mode 100644 dev/Generated/RadialGradientBrush.properties.cpp create mode 100644 dev/Generated/RadialGradientBrush.properties.h create mode 100644 dev/RadialGradientBrush/InteractionTests/RadialGradientBrushTests.cs create mode 100644 dev/RadialGradientBrush/InteractionTests/RadialGradientBrush_InteractionTests.projitems create mode 100644 dev/RadialGradientBrush/InteractionTests/RadialGradientBrush_InteractionTests.shproj create mode 100644 dev/RadialGradientBrush/RadialGradientBrush.cpp create mode 100644 dev/RadialGradientBrush/RadialGradientBrush.h create mode 100644 dev/RadialGradientBrush/RadialGradientBrush.idl create mode 100644 dev/RadialGradientBrush/RadialGradientBrush.vcxitems create mode 100644 dev/RadialGradientBrush/TestUI/RadialGradientBrushPage.xaml create mode 100644 dev/RadialGradientBrush/TestUI/RadialGradientBrushPage.xaml.cs create mode 100644 dev/RadialGradientBrush/TestUI/RadialGradientBrush_TestUI.projitems create mode 100644 dev/RadialGradientBrush/TestUI/RadialGradientBrush_TestUI.shproj diff --git a/FeatureAreas.props b/FeatureAreas.props index 3ece5c4764..11f614c04e 100644 --- a/FeatureAreas.props +++ b/FeatureAreas.props @@ -62,6 +62,7 @@ false false false + true @@ -119,6 +120,7 @@ true true true + true $(DefineConstants);FEATURE_SCROLLER_ENABLED diff --git a/InnerLoopAreas.props b/InnerLoopAreas.props index 2581eb8871..05628484d9 100644 --- a/InnerLoopAreas.props +++ b/InnerLoopAreas.props @@ -3,6 +3,6 @@ - true + true diff --git a/MUXControls.sln b/MUXControls.sln index 49f952c544..322d6b8101 100644 --- a/MUXControls.sln +++ b/MUXControls.sln @@ -622,6 +622,14 @@ Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "ProgressRing_TestUI", "dev\ EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.UI.Xaml.FrameworkPackagePRI", "dev\Microsoft.UI.Xaml.FrameworkPackagePRI\Microsoft.UI.Xaml.FrameworkPackagePRI.csproj", "{9638BF0D-2AA8-4642-A9F1-790BF7FBECF2}" EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "RadialGradientBrush", "RadialGradientBrush", "{0115F80C-AB97-412D-85D9-33A5188F8907}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RadialGradientBrush", "dev\RadialGradientBrush\RadialGradientBrush.vcxitems", "{8B056B8F-C1AB-4A80-BD17-DEACE9897E6A}" +EndProject +Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "RadialGradientBrush_TestUI", "dev\RadialGradientBrush\TestUI\RadialGradientBrush_TestUI.shproj", "{AE308818-AF18-48BA-BF33-89779083D297}" +EndProject +Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "RadialGradientBrush_InteractionTests", "dev\RadialGradientBrush\InteractionTests\RadialGradientBrush_InteractionTests.shproj", "{74D18B1B-5F6B-4534-945B-131E8E3206FB}" +EndProject Global GlobalSection(SharedMSBuildProjectFiles) = preSolution dev\ComboBox\ComboBox.vcxitems*{00523caf-422a-4185-9392-d374b72a019a}*SharedItemsImports = 9 @@ -721,6 +729,7 @@ Global dev\ProgressRing\ProgressRing.vcxitems*{64447efa-19b4-4bf2-9d63-618635c483ec}*SharedItemsImports = 9 dev\RatingControl\RatingControl.vcxitems*{655f5da8-f87b-45af-88d1-a884881c3edf}*SharedItemsImports = 9 test\MUXControlsTestApp\MUXControlsTestApp.Shared.projitems*{6aa772a6-cbf7-4ff3-8864-bc9366015dc2}*SharedItemsImports = 13 + dev\RadialGradientBrush\InteractionTests\RadialGradientBrush_InteractionTests.projitems*{74d18b1b-5f6b-4534-945b-131e8e3206fb}*SharedItemsImports = 13 dev\CommonManaged\CommonManaged.projitems*{74f24bc4-794d-4cb2-8420-80ff7fdacfe9}*SharedItemsImports = 4 dev\ScrollViewer\ScrollViewer.vcxitems*{755f5da9-087c-55a0-98d2-b884881c3ed0}*SharedItemsImports = 9 dev\NumberBox\InteractionTests\NumberBox_InteractionTests.projitems*{773f7592-e7b3-42fc-a14a-e815afd6a0cb}*SharedItemsImports = 13 @@ -736,6 +745,7 @@ Global dev\PullToRefresh\PTRTracing\PTRTracing.vcxitems*{890a5548-0515-4099-b526-0539fe9a0376}*SharedItemsImports = 9 dev\RadioMenuFlyoutItem\InteractionTests\RadioMenuFlyoutItem_InteractionTests.projitems*{89ec8d06-ca59-49a9-aefe-32dcc9dd8020}*SharedItemsImports = 13 dev\PersonPicture\TestUI\PersonPicture_TestUI.projitems*{8a1690fb-aa8c-461a-840c-89cdbb44bdba}*SharedItemsImports = 13 + dev\RadialGradientBrush\RadialGradientBrush.vcxitems*{8b056b8f-c1ab-4a80-bd17-deace9897e6a}*SharedItemsImports = 9 dev\MenuBar\MenuBar.vcxitems*{8bc9ceb8-8b4a-11d0-8d11-00a0c91bc942}*SharedItemsImports = 9 dev\ProgressRing\InteractionTests\ProgressRing_InteractionTests.projitems*{8c2d60af-44bc-47da-8e44-d62e639bfc0a}*SharedItemsImports = 13 dev\CalendarDatePicker\TestUI\CalendarDatePicker_TestUI.projitems*{8cd16537-aad0-4905-aa85-3face7f99034}*SharedItemsImports = 13 @@ -795,6 +805,7 @@ Global dev\PullToRefresh\RefreshContainer\RefreshContainer.vcxitems*{ad0c90b0-4845-4d4b-88f1-86f653f8171b}*SharedItemsImports = 4 dev\PullToRefresh\RefreshVisualizer\RefreshVisualizer.vcxitems*{ad0c90b0-4845-4d4b-88f1-86f653f8171b}*SharedItemsImports = 4 dev\PullToRefresh\ScrollViewerIRefreshInfoProviderAdapter\ScrollViewerIRefreshInfoProviderAdapter.vcxitems*{ad0c90b0-4845-4d4b-88f1-86f653f8171b}*SharedItemsImports = 4 + dev\RadialGradientBrush\RadialGradientBrush.vcxitems*{ad0c90b0-4845-4d4b-88f1-86f653f8171b}*SharedItemsImports = 4 dev\RadioButtons\RadioButtons.vcxitems*{ad0c90b0-4845-4d4b-88f1-86f653f8171b}*SharedItemsImports = 4 dev\RadioMenuFlyoutItem\RadioMenuFlyoutItem.vcxitems*{ad0c90b0-4845-4d4b-88f1-86f653f8171b}*SharedItemsImports = 4 dev\RatingControl\RatingControl.vcxitems*{ad0c90b0-4845-4d4b-88f1-86f653f8171b}*SharedItemsImports = 4 @@ -815,6 +826,7 @@ Global dev\ToolTip\ToolTip.vcxitems*{ad0c90b0-4845-4d4b-88f1-86f653f8171b}*SharedItemsImports = 4 dev\TreeView\TreeView.vcxitems*{ad0c90b0-4845-4d4b-88f1-86f653f8171b}*SharedItemsImports = 4 dev\TwoPaneView\TwoPaneView.vcxitems*{ad0c90b0-4845-4d4b-88f1-86f653f8171b}*SharedItemsImports = 4 + dev\RadialGradientBrush\TestUI\RadialGradientBrush_TestUI.projitems*{ae308818-af18-48ba-bf33-89779083d297}*SharedItemsImports = 13 dev\TreeView\InteractionTests\TreeView_InteractionTests.projitems*{ae638a24-2bc6-4d4f-a51e-715d198f01fd}*SharedItemsImports = 13 dev\RatingControl\InteractionTests\RatingControl_InteractionTests.projitems*{afaad014-132c-4d2a-a28e-4ef717d3e647}*SharedItemsImports = 13 dev\TimePicker\TimePicker.vcxitems*{afd20f66-d203-4da9-b8ea-4e3f99a53f99}*SharedItemsImports = 9 @@ -896,6 +908,7 @@ Global dev\PullToRefresh\ScrollViewerIRefreshInfoProviderAdapter\APITests\APITests.projitems*{dedc1e4f-cfa5-4443-83eb-e79d425df7e7}*SharedItemsImports = 4 dev\PullToRefresh\ScrollViewerIRefreshInfoProviderAdapter\TestUI\ScrollViewerAdapter_TestUI.projitems*{dedc1e4f-cfa5-4443-83eb-e79d425df7e7}*SharedItemsImports = 4 dev\PullToRefresh\TestUI\PTR_TestUI.projitems*{dedc1e4f-cfa5-4443-83eb-e79d425df7e7}*SharedItemsImports = 4 + dev\RadialGradientBrush\TestUI\RadialGradientBrush_TestUI.projitems*{dedc1e4f-cfa5-4443-83eb-e79d425df7e7}*SharedItemsImports = 4 dev\RadioButtons\TestUI\RadioButtons_TestUI.projitems*{dedc1e4f-cfa5-4443-83eb-e79d425df7e7}*SharedItemsImports = 4 dev\RadioMenuFlyoutItem\TestUI\RadioMenuFlyoutItem_TestUI.projitems*{dedc1e4f-cfa5-4443-83eb-e79d425df7e7}*SharedItemsImports = 4 dev\RatingControl\APITests\RatingControl_APITests.projitems*{dedc1e4f-cfa5-4443-83eb-e79d425df7e7}*SharedItemsImports = 4 @@ -983,6 +996,7 @@ Global dev\PullToRefresh\ScrollViewerIRefreshInfoProviderAdapter\APITests\APITests.projitems*{fbc396f5-26dd-4ca3-981e-c7bc9fea4546}*SharedItemsImports = 4 dev\PullToRefresh\ScrollViewerIRefreshInfoProviderAdapter\TestUI\ScrollViewerAdapter_TestUI.projitems*{fbc396f5-26dd-4ca3-981e-c7bc9fea4546}*SharedItemsImports = 4 dev\PullToRefresh\TestUI\PTR_TestUI.projitems*{fbc396f5-26dd-4ca3-981e-c7bc9fea4546}*SharedItemsImports = 4 + dev\RadialGradientBrush\TestUI\RadialGradientBrush_TestUI.projitems*{fbc396f5-26dd-4ca3-981e-c7bc9fea4546}*SharedItemsImports = 4 dev\RadioButtons\TestUI\RadioButtons_TestUI.projitems*{fbc396f5-26dd-4ca3-981e-c7bc9fea4546}*SharedItemsImports = 4 dev\RadioMenuFlyoutItem\TestUI\RadioMenuFlyoutItem_TestUI.projitems*{fbc396f5-26dd-4ca3-981e-c7bc9fea4546}*SharedItemsImports = 4 dev\RatingControl\APITests\RatingControl_APITests.projitems*{fbc396f5-26dd-4ca3-981e-c7bc9fea4546}*SharedItemsImports = 4 @@ -1644,11 +1658,15 @@ Global {0F61C8BD-D066-4812-A02B-E95CE18A985D} = {19693508-50A7-4C98-BCCB-327ED07C0F4F} {3D044EC1-C9D3-4745-B79E-E7BED66E93F8} = {19693508-50A7-4C98-BCCB-327ED07C0F4F} {1A5321F3-B837-4EB6-9547-37CC70088EA9} = {19693508-50A7-4C98-BCCB-327ED07C0F4F} - {9638BF0D-2AA8-4642-A9F1-790BF7FBECF2} = {67599AD5-51EC-44CB-85CE-B60CD8CBA270} {4194505E-4848-4FC4-97D1-0BABF32A11C4} = {67599AD5-51EC-44CB-85CE-B60CD8CBA270} {64447EFA-19B4-4BF2-9D63-618635C483EC} = {4194505E-4848-4FC4-97D1-0BABF32A11C4} {8C2D60AF-44BC-47DA-8E44-D62E639BFC0A} = {4194505E-4848-4FC4-97D1-0BABF32A11C4} {B58EC806-9951-4E5E-AF29-A700A088770E} = {4194505E-4848-4FC4-97D1-0BABF32A11C4} + {9638BF0D-2AA8-4642-A9F1-790BF7FBECF2} = {67599AD5-51EC-44CB-85CE-B60CD8CBA270} + {0115F80C-AB97-412D-85D9-33A5188F8907} = {67599AD5-51EC-44CB-85CE-B60CD8CBA270} + {8B056B8F-C1AB-4A80-BD17-DEACE9897E6A} = {0115F80C-AB97-412D-85D9-33A5188F8907} + {AE308818-AF18-48BA-BF33-89779083D297} = {0115F80C-AB97-412D-85D9-33A5188F8907} + {74D18B1B-5F6B-4534-945B-131E8E3206FB} = {0115F80C-AB97-412D-85D9-33A5188F8907} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {D93836AB-52D3-4DE2-AE25-23F26F55ECED} diff --git a/MUXControlsInnerLoop.sln b/MUXControlsInnerLoop.sln index 018a61658f..704a082332 100644 --- a/MUXControlsInnerLoop.sln +++ b/MUXControlsInnerLoop.sln @@ -431,6 +431,14 @@ Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "ProgressRing_InteractionTes EndProject Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "ProgressRing_TestUI", "dev\ProgressRing\TestUI\ProgressRing_TestUI.shproj", "{B58EC806-9951-4E5E-AF29-A700A088770E}" EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "RadialGradientBrush", "RadialGradientBrush", "{2165C785-9365-4615-B227-8E9C7444ECE1}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RadialGradientBrush", "dev\RadialGradientBrush\RadialGradientBrush.vcxitems", "{8B056B8F-C1AB-4A80-BD17-DEACE9897E6A}" +EndProject +Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "RadialGradientBrush_TestUI", "dev\RadialGradientBrush\TestUI\RadialGradientBrush_TestUI.shproj", "{AE308818-AF18-48BA-BF33-89779083D297}" +EndProject +Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "RadialGradientBrush_InteractionTests", "dev\RadialGradientBrush\InteractionTests\RadialGradientBrush_InteractionTests.shproj", "{74D18B1B-5F6B-4534-945B-131E8E3206FB}" +EndProject Global GlobalSection(SharedMSBuildProjectFiles) = preSolution dev\ComboBox\ComboBox.vcxitems*{00523caf-422a-4185-9392-d374b72a019a}*SharedItemsImports = 9 @@ -527,6 +535,7 @@ Global dev\ProgressRing\ProgressRing.vcxitems*{64447efa-19b4-4bf2-9d63-618635c483ec}*SharedItemsImports = 9 dev\RatingControl\RatingControl.vcxitems*{655f5da8-f87b-45af-88d1-a884881c3edf}*SharedItemsImports = 9 test\MUXControlsTestApp\MUXControlsTestApp.Shared.projitems*{6aa772a6-cbf7-4ff3-8864-bc9366015dc2}*SharedItemsImports = 13 + dev\RadialGradientBrush\InteractionTests\RadialGradientBrush_InteractionTests.projitems*{74d18b1b-5f6b-4534-945b-131e8e3206fb}*SharedItemsImports = 13 dev\ScrollViewer\ScrollViewer.vcxitems*{755f5da9-087c-55a0-98d2-b884881c3ed0}*SharedItemsImports = 9 dev\NumberBox\InteractionTests\NumberBox_InteractionTests.projitems*{773f7592-e7b3-42fc-a14a-e815afd6a0cb}*SharedItemsImports = 13 dev\PullToRefresh\ScrollViewerIRefreshInfoProviderAdapter\InteractionTests\ScrollViewerAdapter_InteractionTests.projitems*{79863454-1dbf-45bb-b3d3-420b8f5e8705}*SharedItemsImports = 13 @@ -540,6 +549,7 @@ Global dev\PullToRefresh\PTRTracing\PTRTracing.vcxitems*{890a5548-0515-4099-b526-0539fe9a0376}*SharedItemsImports = 9 dev\RadioMenuFlyoutItem\InteractionTests\RadioMenuFlyoutItem_InteractionTests.projitems*{89ec8d06-ca59-49a9-aefe-32dcc9dd8020}*SharedItemsImports = 13 dev\PersonPicture\TestUI\PersonPicture_TestUI.projitems*{8a1690fb-aa8c-461a-840c-89cdbb44bdba}*SharedItemsImports = 13 + dev\RadialGradientBrush\RadialGradientBrush.vcxitems*{8b056b8f-c1ab-4a80-bd17-deace9897e6a}*SharedItemsImports = 9 dev\MenuBar\MenuBar.vcxitems*{8bc9ceb8-8b4a-11d0-8d11-00a0c91bc942}*SharedItemsImports = 9 dev\ProgressRing\InteractionTests\ProgressRing_InteractionTests.projitems*{8c2d60af-44bc-47da-8e44-d62e639bfc0a}*SharedItemsImports = 13 dev\CalendarDatePicker\TestUI\CalendarDatePicker_TestUI.projitems*{8cd16537-aad0-4905-aa85-3face7f99034}*SharedItemsImports = 13 @@ -570,14 +580,13 @@ Global dev\IconSource\IconSource.vcxitems*{ad0c90b0-4845-4d4b-88f1-86f653f8171b}*SharedItemsImports = 4 dev\Lights\Lights.vcxitems*{ad0c90b0-4845-4d4b-88f1-86f653f8171b}*SharedItemsImports = 4 dev\Materials\Acrylic\AcrylicBrush.vcxitems*{ad0c90b0-4845-4d4b-88f1-86f653f8171b}*SharedItemsImports = 4 - dev\Materials\Reveal\RevealBrush.vcxitems*{ad0c90b0-4845-4d4b-88f1-86f653f8171b}*SharedItemsImports = 4 - dev\ProgressBar\ProgressBar.vcxitems*{ad0c90b0-4845-4d4b-88f1-86f653f8171b}*SharedItemsImports = 4 - dev\NumberBox\NumberBox.vcxitems*{ad0c90b0-4845-4d4b-88f1-86f653f8171b}*SharedItemsImports = 4 - dev\ProgressRing\ProgressRing.vcxitems*{ad0c90b0-4845-4d4b-88f1-86f653f8171b}*SharedItemsImports = 4 + dev\Materials\Reveal\RevealBrush.vcxitems*{ad0c90b0-4845-4d4b-88f1-86f653f8171b}*SharedItemsImports = 4 + dev\RadialGradientBrush\RadialGradientBrush.vcxitems*{ad0c90b0-4845-4d4b-88f1-86f653f8171b}*SharedItemsImports = 4 dev\ResourceHelper\ResourceHelper.vcxitems*{ad0c90b0-4845-4d4b-88f1-86f653f8171b}*SharedItemsImports = 4 dev\SplitButton\SplitButton.vcxitems*{ad0c90b0-4845-4d4b-88f1-86f653f8171b}*SharedItemsImports = 4 dev\Telemetry\Telemetry.vcxitems*{ad0c90b0-4845-4d4b-88f1-86f653f8171b}*SharedItemsImports = 4 dev\TestHooks\TestHooks.vcxitems*{ad0c90b0-4845-4d4b-88f1-86f653f8171b}*SharedItemsImports = 4 + dev\RadialGradientBrush\TestUI\RadialGradientBrush_TestUI.projitems*{ae308818-af18-48ba-bf33-89779083d297}*SharedItemsImports = 13 dev\TreeView\InteractionTests\TreeView_InteractionTests.projitems*{ae638a24-2bc6-4d4f-a51e-715d198f01fd}*SharedItemsImports = 13 dev\RatingControl\InteractionTests\RatingControl_InteractionTests.projitems*{afaad014-132c-4d2a-a28e-4ef717d3e647}*SharedItemsImports = 13 dev\TimePicker\TimePicker.vcxitems*{afd20f66-d203-4da9-b8ea-4e3f99a53f99}*SharedItemsImports = 9 @@ -611,7 +620,7 @@ Global dev\TreeView\APITests\TreeView_APITests.projitems*{de885c66-929c-464e-bac4-3e076ec46483}*SharedItemsImports = 13 dev\Pivot\TestUI\Pivot_TestUI.projitems*{deb3fa60-e4a7-4735-89f2-363c7c56b428}*SharedItemsImports = 13 dev\CommonManaged\CommonManaged.projitems*{dedc1e4f-cfa5-4443-83eb-e79d425df7e7}*SharedItemsImports = 4 - dev\ProgressRing\TestUI\ProgressRing_TestUI.projitems*{dedc1e4f-cfa5-4443-83eb-e79d425df7e7}*SharedItemsImports = 4 + dev\RadialGradientBrush\TestUI\RadialGradientBrush_TestUI.projitems*{dedc1e4f-cfa5-4443-83eb-e79d425df7e7}*SharedItemsImports = 4 test\TestAppUtils\TestAppUtils.projitems*{dedc1e4f-cfa5-4443-83eb-e79d425df7e7}*SharedItemsImports = 4 dev\SplitButton\InteractionTests\SplitButton_InteractionTests.projitems*{e1c861e2-c4d9-41e1-aed7-5e203451bd4d}*SharedItemsImports = 13 dev\DatePicker\TestUI\DatePicker_TestUI.projitems*{e20f725c-3a53-463b-ada9-ff2088aaca4d}*SharedItemsImports = 13 @@ -627,7 +636,7 @@ Global dev\Materials\Acrylic\InteractionTests\AcrylicBrush_InteractionTests.projitems*{f601284a-00c1-49f9-99b3-70d45585f784}*SharedItemsImports = 13 dev\SplitButton\SplitButton.vcxitems*{faf114dd-af1f-4d9f-a511-354c19912aad}*SharedItemsImports = 9 dev\CommonManaged\CommonManaged.projitems*{fbc396f5-26dd-4ca3-981e-c7bc9fea4546}*SharedItemsImports = 4 - dev\ProgressRing\TestUI\ProgressRing_TestUI.projitems*{fbc396f5-26dd-4ca3-981e-c7bc9fea4546}*SharedItemsImports = 4 + dev\RadialGradientBrush\TestUI\RadialGradientBrush_TestUI.projitems*{fbc396f5-26dd-4ca3-981e-c7bc9fea4546}*SharedItemsImports = 4 test\TestAppUtils\TestAppUtils.projitems*{fbc396f5-26dd-4ca3-981e-c7bc9fea4546}*SharedItemsImports = 4 dev\Slider\Slider.vcxitems*{fc2178ca-7f72-40f0-916c-a2b3750bbb6c}*SharedItemsImports = 9 dev\LayoutPanel\LayoutPanel.vcxitems*{fd3c1a00-0d07-4849-a3b9-646f0ff21d7b}*SharedItemsImports = 9 @@ -991,6 +1000,10 @@ Global {5A911304-2863-4A73-8023-26EFCB4E01DA} = {67599AD5-51EC-44CB-85CE-B60CD8CBA270} {8C2D60AF-44BC-47DA-8E44-D62E639BFC0A} = {5A911304-2863-4A73-8023-26EFCB4E01DA} {B58EC806-9951-4E5E-AF29-A700A088770E} = {5A911304-2863-4A73-8023-26EFCB4E01DA} + {2165C785-9365-4615-B227-8E9C7444ECE1} = {67599AD5-51EC-44CB-85CE-B60CD8CBA270} + {8B056B8F-C1AB-4A80-BD17-DEACE9897E6A} = {2165C785-9365-4615-B227-8E9C7444ECE1} + {AE308818-AF18-48BA-BF33-89779083D297} = {2165C785-9365-4615-B227-8E9C7444ECE1} + {74D18B1B-5F6B-4534-945B-131E8E3206FB} = {2165C785-9365-4615-B227-8E9C7444ECE1} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {D93836AB-52D3-4DE2-AE25-23F26F55ECED} diff --git a/dev/Generated/RadialGradientBrush.properties.cpp b/dev/Generated/RadialGradientBrush.properties.cpp new file mode 100644 index 0000000000..f06ac947cd --- /dev/null +++ b/dev/Generated/RadialGradientBrush.properties.cpp @@ -0,0 +1,183 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See LICENSE in the project root for license information. + +// DO NOT EDIT! This file was generated by CustomTasks.DependencyPropertyCodeGen +#include "pch.h" +#include "common.h" +#include "RadialGradientBrush.h" + +namespace winrt::Microsoft::UI::Xaml::Media +{ + CppWinRTActivatableClassWithDPFactory(RadialGradientBrush) +} + +#include "RadialGradientBrush.g.cpp" + +GlobalDependencyProperty RadialGradientBrushProperties::s_EllipseCenterProperty{ nullptr }; +GlobalDependencyProperty RadialGradientBrushProperties::s_EllipseRadiusProperty{ nullptr }; +GlobalDependencyProperty RadialGradientBrushProperties::s_GradientOriginOffsetProperty{ nullptr }; +GlobalDependencyProperty RadialGradientBrushProperties::s_InterpolationSpaceProperty{ nullptr }; +GlobalDependencyProperty RadialGradientBrushProperties::s_MappingModeProperty{ nullptr }; + +RadialGradientBrushProperties::RadialGradientBrushProperties() +{ + EnsureProperties(); +} + +void RadialGradientBrushProperties::EnsureProperties() +{ + if (!s_EllipseCenterProperty) + { + s_EllipseCenterProperty = + InitializeDependencyProperty( + L"EllipseCenter", + winrt::name_of(), + winrt::name_of(), + false /* isAttached */, + ValueHelper::BoxValueIfNecessary(winrt::Point(0.5,0.5)), + winrt::PropertyChangedCallback(&OnEllipseCenterPropertyChanged)); + } + if (!s_EllipseRadiusProperty) + { + s_EllipseRadiusProperty = + InitializeDependencyProperty( + L"EllipseRadius", + winrt::name_of(), + winrt::name_of(), + false /* isAttached */, + ValueHelper::BoxValueIfNecessary(winrt::Point(0.5,0.5)), + winrt::PropertyChangedCallback(&OnEllipseRadiusPropertyChanged)); + } + if (!s_GradientOriginOffsetProperty) + { + s_GradientOriginOffsetProperty = + InitializeDependencyProperty( + L"GradientOriginOffset", + winrt::name_of(), + winrt::name_of(), + false /* isAttached */, + ValueHelper::BoxedDefaultValue(), + winrt::PropertyChangedCallback(&OnGradientOriginOffsetPropertyChanged)); + } + if (!s_InterpolationSpaceProperty) + { + s_InterpolationSpaceProperty = + InitializeDependencyProperty( + L"InterpolationSpace", + winrt::name_of(), + winrt::name_of(), + false /* isAttached */, + ValueHelper::BoxValueIfNecessary(winrt::Windows::UI::Composition::CompositionColorSpace::Auto), + winrt::PropertyChangedCallback(&OnInterpolationSpacePropertyChanged)); + } + if (!s_MappingModeProperty) + { + s_MappingModeProperty = + InitializeDependencyProperty( + L"MappingMode", + winrt::name_of(), + winrt::name_of(), + false /* isAttached */, + ValueHelper::BoxValueIfNecessary(winrt::BrushMappingMode::RelativeToBoundingBox), + winrt::PropertyChangedCallback(&OnMappingModePropertyChanged)); + } +} + +void RadialGradientBrushProperties::ClearProperties() +{ + s_EllipseCenterProperty = nullptr; + s_EllipseRadiusProperty = nullptr; + s_GradientOriginOffsetProperty = nullptr; + s_InterpolationSpaceProperty = nullptr; + s_MappingModeProperty = nullptr; +} + +void RadialGradientBrushProperties::OnEllipseCenterPropertyChanged( + winrt::DependencyObject const& sender, + winrt::DependencyPropertyChangedEventArgs const& args) +{ + auto owner = sender.as(); + winrt::get_self(owner)->OnPropertyChanged(args); +} + +void RadialGradientBrushProperties::OnEllipseRadiusPropertyChanged( + winrt::DependencyObject const& sender, + winrt::DependencyPropertyChangedEventArgs const& args) +{ + auto owner = sender.as(); + winrt::get_self(owner)->OnPropertyChanged(args); +} + +void RadialGradientBrushProperties::OnGradientOriginOffsetPropertyChanged( + winrt::DependencyObject const& sender, + winrt::DependencyPropertyChangedEventArgs const& args) +{ + auto owner = sender.as(); + winrt::get_self(owner)->OnPropertyChanged(args); +} + +void RadialGradientBrushProperties::OnInterpolationSpacePropertyChanged( + winrt::DependencyObject const& sender, + winrt::DependencyPropertyChangedEventArgs const& args) +{ + auto owner = sender.as(); + winrt::get_self(owner)->OnPropertyChanged(args); +} + +void RadialGradientBrushProperties::OnMappingModePropertyChanged( + winrt::DependencyObject const& sender, + winrt::DependencyPropertyChangedEventArgs const& args) +{ + auto owner = sender.as(); + winrt::get_self(owner)->OnPropertyChanged(args); +} + +void RadialGradientBrushProperties::EllipseCenter(winrt::Point const& value) +{ + static_cast(this)->SetValue(s_EllipseCenterProperty, ValueHelper::BoxValueIfNecessary(value)); +} + +winrt::Point RadialGradientBrushProperties::EllipseCenter() +{ + return ValueHelper::CastOrUnbox(static_cast(this)->GetValue(s_EllipseCenterProperty)); +} + +void RadialGradientBrushProperties::EllipseRadius(winrt::Point const& value) +{ + static_cast(this)->SetValue(s_EllipseRadiusProperty, ValueHelper::BoxValueIfNecessary(value)); +} + +winrt::Point RadialGradientBrushProperties::EllipseRadius() +{ + return ValueHelper::CastOrUnbox(static_cast(this)->GetValue(s_EllipseRadiusProperty)); +} + +void RadialGradientBrushProperties::GradientOriginOffset(winrt::Point const& value) +{ + static_cast(this)->SetValue(s_GradientOriginOffsetProperty, ValueHelper::BoxValueIfNecessary(value)); +} + +winrt::Point RadialGradientBrushProperties::GradientOriginOffset() +{ + return ValueHelper::CastOrUnbox(static_cast(this)->GetValue(s_GradientOriginOffsetProperty)); +} + +void RadialGradientBrushProperties::InterpolationSpace(winrt::CompositionColorSpace const& value) +{ + static_cast(this)->SetValue(s_InterpolationSpaceProperty, ValueHelper::BoxValueIfNecessary(value)); +} + +winrt::CompositionColorSpace RadialGradientBrushProperties::InterpolationSpace() +{ + return ValueHelper::CastOrUnbox(static_cast(this)->GetValue(s_InterpolationSpaceProperty)); +} + +void RadialGradientBrushProperties::MappingMode(winrt::BrushMappingMode const& value) +{ + static_cast(this)->SetValue(s_MappingModeProperty, ValueHelper::BoxValueIfNecessary(value)); +} + +winrt::BrushMappingMode RadialGradientBrushProperties::MappingMode() +{ + return ValueHelper::CastOrUnbox(static_cast(this)->GetValue(s_MappingModeProperty)); +} diff --git a/dev/Generated/RadialGradientBrush.properties.h b/dev/Generated/RadialGradientBrush.properties.h new file mode 100644 index 0000000000..425c2fb251 --- /dev/null +++ b/dev/Generated/RadialGradientBrush.properties.h @@ -0,0 +1,61 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See LICENSE in the project root for license information. + +// DO NOT EDIT! This file was generated by CustomTasks.DependencyPropertyCodeGen +#pragma once + +class RadialGradientBrushProperties +{ +public: + RadialGradientBrushProperties(); + + void EllipseCenter(winrt::Point const& value); + winrt::Point EllipseCenter(); + + void EllipseRadius(winrt::Point const& value); + winrt::Point EllipseRadius(); + + void GradientOriginOffset(winrt::Point const& value); + winrt::Point GradientOriginOffset(); + + void InterpolationSpace(winrt::CompositionColorSpace const& value); + winrt::CompositionColorSpace InterpolationSpace(); + + void MappingMode(winrt::BrushMappingMode const& value); + winrt::BrushMappingMode MappingMode(); + + static winrt::DependencyProperty EllipseCenterProperty() { return s_EllipseCenterProperty; } + static winrt::DependencyProperty EllipseRadiusProperty() { return s_EllipseRadiusProperty; } + static winrt::DependencyProperty GradientOriginOffsetProperty() { return s_GradientOriginOffsetProperty; } + static winrt::DependencyProperty InterpolationSpaceProperty() { return s_InterpolationSpaceProperty; } + static winrt::DependencyProperty MappingModeProperty() { return s_MappingModeProperty; } + + static GlobalDependencyProperty s_EllipseCenterProperty; + static GlobalDependencyProperty s_EllipseRadiusProperty; + static GlobalDependencyProperty s_GradientOriginOffsetProperty; + static GlobalDependencyProperty s_InterpolationSpaceProperty; + static GlobalDependencyProperty s_MappingModeProperty; + + static void EnsureProperties(); + static void ClearProperties(); + + static void OnEllipseCenterPropertyChanged( + winrt::DependencyObject const& sender, + winrt::DependencyPropertyChangedEventArgs const& args); + + static void OnEllipseRadiusPropertyChanged( + winrt::DependencyObject const& sender, + winrt::DependencyPropertyChangedEventArgs const& args); + + static void OnGradientOriginOffsetPropertyChanged( + winrt::DependencyObject const& sender, + winrt::DependencyPropertyChangedEventArgs const& args); + + static void OnInterpolationSpacePropertyChanged( + winrt::DependencyObject const& sender, + winrt::DependencyPropertyChangedEventArgs const& args); + + static void OnMappingModePropertyChanged( + winrt::DependencyObject const& sender, + winrt::DependencyPropertyChangedEventArgs const& args); +}; diff --git a/dev/RadialGradientBrush/InteractionTests/RadialGradientBrushTests.cs b/dev/RadialGradientBrush/InteractionTests/RadialGradientBrushTests.cs new file mode 100644 index 0000000000..f82106753e --- /dev/null +++ b/dev/RadialGradientBrush/InteractionTests/RadialGradientBrushTests.cs @@ -0,0 +1,119 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See LICENSE in the project root for license information. + +using System; +using Common; +using Windows.UI.Xaml.Tests.MUXControls.InteractionTests.Infra; +using Windows.UI.Xaml.Tests.MUXControls.InteractionTests.Common; +using System.Collections.Generic; + +#if USING_TAEF +using WEX.TestExecution; +using WEX.TestExecution.Markup; +using WEX.Logging.Interop; +#else +using Microsoft.VisualStudio.TestTools.UnitTesting; +using Microsoft.VisualStudio.TestTools.UnitTesting.Logging; +#endif + +using Microsoft.Windows.Apps.Test.Automation; +using Microsoft.Windows.Apps.Test.Foundation; +using Microsoft.Windows.Apps.Test.Foundation.Controls; +using Microsoft.Windows.Apps.Test.Foundation.Patterns; +using Microsoft.Windows.Apps.Test.Foundation.Waiters; + +namespace Windows.UI.Xaml.Tests.MUXControls.InteractionTests +{ + [TestClass] + public class RadialGradientBrushTests + { + [ClassInitialize] + [TestProperty("RunAs", "User")] + [TestProperty("Classification", "Integration")] + [TestProperty("Platform", "Any")] + [TestProperty("MUXControlsTestSuite", "SuiteB")] + public static void ClassInitialize(TestContext testContext) + { + TestEnvironment.Initialize(testContext); + } + + public void TestCleanup() + { + TestCleanupHelper.Cleanup(); + } + + [TestMethod] + public void AddGradientStopTest() + { + using (var setup = new TestSetupHelper("RadialGradientBrush Tests")) + { + Log.Comment("Adding GradientStop to RadialGradientBrush"); + + Button replaceGradientButton = FindElement.ByName