From c8f5fefb6758da1253213f7497759cfb5bbc8e9a Mon Sep 17 00:00:00 2001 From: Diederik Krols Date: Mon, 15 Nov 2021 13:53:04 +0100 Subject: [PATCH] Improved opacity support in Radial Gauge This change adds support for Opacity in the brushes for the Radial Gauge elements that are drawn with the Composition API: Ticks, ScaleTicks, and Needle. --- .../RadialGauge/RadialGauge.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Microsoft.Toolkit.Uwp.UI.Controls.Input/RadialGauge/RadialGauge.cs b/Microsoft.Toolkit.Uwp.UI.Controls.Input/RadialGauge/RadialGauge.cs index 3a2f9d08a6a..b32faaa77e9 100644 --- a/Microsoft.Toolkit.Uwp.UI.Controls.Input/RadialGauge/RadialGauge.cs +++ b/Microsoft.Toolkit.Uwp.UI.Controls.Input/RadialGauge/RadialGauge.cs @@ -642,6 +642,7 @@ private static void OnFaceChanged(DependencyObject d) tick = radialGauge._compositor.CreateSpriteVisual(); tick.Size = new Vector2((float)radialGauge.TickWidth, (float)radialGauge.TickLength); tick.Brush = radialGauge._compositor.CreateColorBrush(radialGauge.TickBrush.Color); + tick.Opacity = (float)radialGauge.TickBrush.Opacity; tick.Offset = new Vector3(100 - ((float)radialGauge.TickWidth / 2), 0.0f, 0); tick.CenterPoint = new Vector3((float)radialGauge.TickWidth / 2, 100.0f, 0); tick.RotationAngleInDegrees = (float)radialGauge.ValueToAngle(i); @@ -654,6 +655,7 @@ private static void OnFaceChanged(DependencyObject d) tick = radialGauge._compositor.CreateSpriteVisual(); tick.Size = new Vector2((float)radialGauge.ScaleTickWidth, (float)radialGauge.ScaleWidth); tick.Brush = radialGauge._compositor.CreateColorBrush(radialGauge.ScaleTickBrush.Color); + tick.Opacity = (float)radialGauge.ScaleTickBrush.Opacity; tick.Offset = new Vector3(100 - ((float)radialGauge.ScaleTickWidth / 2), (float)radialGauge.ScalePadding, 0); tick.CenterPoint = new Vector3((float)radialGauge.ScaleTickWidth / 2, 100 - (float)radialGauge.ScalePadding, 0); tick.RotationAngleInDegrees = (float)radialGauge.ValueToAngle(i); @@ -665,6 +667,7 @@ private static void OnFaceChanged(DependencyObject d) radialGauge._needle = radialGauge._compositor.CreateSpriteVisual(); radialGauge._needle.Size = new Vector2((float)radialGauge.NeedleWidth, (float)radialGauge.NeedleLength); radialGauge._needle.Brush = radialGauge._compositor.CreateColorBrush(radialGauge.NeedleBrush.Color); + radialGauge._needle.Opacity = (float)radialGauge.NeedleBrush.Opacity; radialGauge._needle.CenterPoint = new Vector3((float)radialGauge.NeedleWidth / 2, (float)radialGauge.NeedleLength, 0); radialGauge._needle.Offset = new Vector3(100 - ((float)radialGauge.NeedleWidth / 2), 100 - (float)radialGauge.NeedleLength, 0); radialGauge._root.Children.InsertAtTop(radialGauge._needle);