Skip to content

Commit 650988c

Browse files
committed
Remove nullable warnings
1 parent dd5f3ce commit 650988c

File tree

1 file changed

+38
-41
lines changed

1 file changed

+38
-41
lines changed

components/Shimmer/src/Shimmer/Shimmer.cs

Lines changed: 38 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -27,31 +27,27 @@ namespace CommunityToolkit.Labs.WinUI;
2727
/// A generic shimmer control that can be used to construct a beautiful loading effect.
2828
/// </summary>
2929
[TemplatePart(Name = PART_Shape, Type = typeof(Rectangle))]
30-
#pragma warning disable CA1001 // Types that own disposable fields should be disposable
3130
public partial class Shimmer : Control
32-
#pragma warning restore CA1001 // Types that own disposable fields should be disposable
3331
{
3432
private const float InitialStartPointX = -7.92f;
3533
private const string PART_Shape = "Shape";
3634

37-
private Vector2Node _sizeAnimation;
38-
private Vector2KeyFrameAnimation _gradientStartPointAnimation;
39-
private Vector2KeyFrameAnimation _gradientEndPointAnimation;
40-
private CompositionColorGradientStop _gradientStop1;
41-
private CompositionColorGradientStop _gradientStop2;
42-
private CompositionColorGradientStop _gradientStop3;
43-
private CompositionColorGradientStop _gradientStop4;
44-
private CompositionRoundedRectangleGeometry _rectangleGeometry;
45-
private ShapeVisual _shapeVisual;
46-
private CompositionLinearGradientBrush _shimmerMaskGradient;
35+
private Vector2Node? _sizeAnimation;
36+
private Vector2KeyFrameAnimation? _gradientStartPointAnimation;
37+
private Vector2KeyFrameAnimation? _gradientEndPointAnimation;
38+
private CompositionColorGradientStop? _gradientStop1;
39+
private CompositionColorGradientStop? _gradientStop2;
40+
private CompositionColorGradientStop? _gradientStop3;
41+
private CompositionColorGradientStop? _gradientStop4;
42+
private CompositionRoundedRectangleGeometry? _rectangleGeometry;
43+
private ShapeVisual? _shapeVisual;
44+
private CompositionLinearGradientBrush? _shimmerMaskGradient;
4745
private Border? _shape;
4846

4947
private bool _initialized;
5048
private bool _animationStarted;
5149

52-
#pragma warning disable CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider declaring as nullable.
5350
public Shimmer()
54-
#pragma warning restore CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider declaring as nullable.
5551
{
5652
DefaultStyleKey = typeof(Shimmer);
5753
Loaded += OnLoaded;
@@ -88,13 +84,14 @@ private void OnUnloaded(object sender, RoutedEventArgs e)
8884
{
8985
ElementCompositionPreview.SetElementChildVisual(_shape, null);
9086

91-
_rectangleGeometry.Dispose();
92-
_shapeVisual.Dispose();
93-
_shimmerMaskGradient.Dispose();
94-
_gradientStop1.Dispose();
95-
_gradientStop2.Dispose();
96-
_gradientStop3.Dispose();
97-
_gradientStop4.Dispose();
87+
88+
_rectangleGeometry!.Dispose();
89+
_shapeVisual!.Dispose();
90+
_shimmerMaskGradient!.Dispose();
91+
_gradientStop1!.Dispose();
92+
_gradientStop2!.Dispose();
93+
_gradientStop3!.Dispose();
94+
_gradientStop4!.Dispose();
9895

9996
_initialized = false;
10097
}
@@ -145,13 +142,13 @@ private bool TryInitializationResource()
145142

146143
private void SetGradientAndStops()
147144
{
148-
_shimmerMaskGradient.StartPoint = new Vector2(InitialStartPointX, 0.0f);
145+
_shimmerMaskGradient!.StartPoint = new Vector2(InitialStartPointX, 0.0f);
149146
_shimmerMaskGradient.EndPoint = new Vector2(0.0f, 1.0f); //Vector2.One
150147

151-
_gradientStop1.Offset = 0.273f;
152-
_gradientStop2.Offset = 0.436f;
153-
_gradientStop3.Offset = 0.482f;
154-
_gradientStop4.Offset = 0.643f;
148+
_gradientStop1!.Offset = 0.273f;
149+
_gradientStop2!.Offset = 0.436f;
150+
_gradientStop3!.Offset = 0.482f;
151+
_gradientStop4!.Offset = 0.643f;
155152

156153
_shimmerMaskGradient.ColorStops.Add(_gradientStop1);
157154
_shimmerMaskGradient.ColorStops.Add(_gradientStop2);
@@ -165,16 +162,16 @@ private void SetGradientStopColorsByTheme()
165162
{
166163
case ElementTheme.Default:
167164
case ElementTheme.Dark:
168-
_gradientStop1.Color = Color.FromArgb((byte)(255 * 3.26 / 100), 255, 255, 255);
169-
_gradientStop2.Color = Color.FromArgb((byte)(255 * 6.05 / 100), 255, 255, 255);
170-
_gradientStop3.Color = Color.FromArgb((byte)(255 * 6.05 / 100), 255, 255, 255);
171-
_gradientStop4.Color = Color.FromArgb((byte)(255 * 3.26 / 100), 255, 255, 255);
165+
_gradientStop1!.Color = Color.FromArgb((byte)(255 * 3.26 / 100), 255, 255, 255);
166+
_gradientStop2!.Color = Color.FromArgb((byte)(255 * 6.05 / 100), 255, 255, 255);
167+
_gradientStop3!.Color = Color.FromArgb((byte)(255 * 6.05 / 100), 255, 255, 255);
168+
_gradientStop4!.Color = Color.FromArgb((byte)(255 * 3.26 / 100), 255, 255, 255);
172169
break;
173170
case ElementTheme.Light:
174-
_gradientStop1.Color = Color.FromArgb((byte)(255 * 5.37 / 100), 0, 0, 0);
175-
_gradientStop2.Color = Color.FromArgb((byte)(255 * 2.89 / 100), 0, 0, 0);
176-
_gradientStop3.Color = Color.FromArgb((byte)(255 * 2.89 / 100), 0, 0, 0);
177-
_gradientStop4.Color = Color.FromArgb((byte)(255 * 5.37 / 100), 0, 0, 0);
171+
_gradientStop1!.Color = Color.FromArgb((byte)(255 * 5.37 / 100), 0, 0, 0);
172+
_gradientStop2!.Color = Color.FromArgb((byte)(255 * 2.89 / 100), 0, 0, 0);
173+
_gradientStop3!.Color = Color.FromArgb((byte)(255 * 2.89 / 100), 0, 0, 0);
174+
_gradientStop4!.Color = Color.FromArgb((byte)(255 * 5.37 / 100), 0, 0, 0);
178175
break;
179176
}
180177
}
@@ -196,7 +193,7 @@ private void TryStartAnimation()
196193
_gradientStartPointAnimation.IterationBehavior = AnimationIterationBehavior.Forever;
197194
_gradientStartPointAnimation.InsertKeyFrame(0.0f, new Vector2(InitialStartPointX, 0.0f));
198195
_gradientStartPointAnimation.InsertKeyFrame(1.0f, Vector2.Zero);
199-
_shimmerMaskGradient.StartAnimation(nameof(CompositionLinearGradientBrush.StartPoint), _gradientStartPointAnimation);
196+
_shimmerMaskGradient!.StartAnimation(nameof(CompositionLinearGradientBrush.StartPoint), _gradientStartPointAnimation);
200197

201198
_gradientEndPointAnimation = rootVisual.Compositor.CreateVector2KeyFrameAnimation();
202199
_gradientEndPointAnimation.Duration = Duration;
@@ -215,14 +212,14 @@ private void StopAnimation()
215212
return;
216213
}
217214

218-
_shapeVisual.StopAnimation(nameof(ShapeVisual.Size));
219-
_rectangleGeometry.StopAnimation(nameof(CompositionRoundedRectangleGeometry.Size));
220-
_shimmerMaskGradient.StopAnimation(nameof(CompositionLinearGradientBrush.StartPoint));
215+
_shapeVisual!.StopAnimation(nameof(ShapeVisual.Size));
216+
_rectangleGeometry!.StopAnimation(nameof(CompositionRoundedRectangleGeometry.Size));
217+
_shimmerMaskGradient!.StopAnimation(nameof(CompositionLinearGradientBrush.StartPoint));
221218
_shimmerMaskGradient.StopAnimation(nameof(CompositionLinearGradientBrush.EndPoint));
222219

223-
_sizeAnimation.Dispose();
224-
_gradientStartPointAnimation.Dispose();
225-
_gradientEndPointAnimation.Dispose();
220+
_sizeAnimation!.Dispose();
221+
_gradientStartPointAnimation!.Dispose();
222+
_gradientEndPointAnimation!.Dispose();
226223
_animationStarted = false;
227224
}
228225
}

0 commit comments

Comments
 (0)