Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -282,14 +282,10 @@ internal void EnsureReferenceInfo()
}

// Create a map to store the generated paramNames for each CompObj
uint id = 0;
_compObjToParamNameMap = new Dictionary<CompositionObject, string>();
foreach (var compObj in compObjects)
{
// compObj.ToString() will return something like "Windows.UI.Composition.SpriteVisual"
// Make it look like "SpriteVisual_1"
string paramName = compObj.ToString();
paramName = $"{paramName.Substring(paramName.LastIndexOf('.') + 1)}_{++id}"; // make sure the created param name doesn't overwrite a custom name
string paramName = Guid.NewGuid().ToUppercaseAsciiLetters();

_compObjToParamNameMap.Add(compObj, paramName);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.

using System;
using System.Diagnostics.Contracts;

namespace Microsoft.Toolkit.Uwp.UI.Animations
{
/// <summary>
/// An extension <see langword="class"/> for the <see cref="Guid"/> type
/// </summary>
internal static class GuidExtensions
{
/// <summary>
/// Returns a <see cref="string"/> representation of a <see cref="Guid"/> only made of uppercase letters
/// </summary>
/// <param name="guid">The input <see cref="Guid"/> to process</param>
/// <returns>A <see cref="string"/> representation of <paramref name="guid"/> only made up of letters in the [A-Z] range</returns>
[Pure]
public static string ToUppercaseAsciiLetters(in this Guid guid)
{
// Composition IDs must only be composed of characters in the [A-Z0-9_] set,
// and also have the restriction that the initial character cannot be a digit.
// Because of this, we need to prepend an underscore to a serialized guid to
// avoid cases where the first character is a digit. Additionally, we're forced
// to use ToUpper() here because ToString("N") currently returns a lowercase
// hexadecimal string. Note: this extension might be improved once we move to
// .NET 5 in the WinUI 3 release, by using string.Create<TState>(...) to only
// have a single string allocation, and then using Guid.TryFormat(...) to
// serialize the guid in place over the Span<char> starting from the second
// character. For now, this implementation is fine on UWP and still fast enough.
return $"_{guid.ToString("N").ToUpper()}";
}
}
}
30 changes: 0 additions & 30 deletions Microsoft.Toolkit.Uwp.UI.Media/Extensions/System/GuidExtensions.cs

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
using System.Diagnostics.Contracts;
using System.Threading.Tasks;
using Microsoft.Graphics.Canvas.Effects;
using Microsoft.Toolkit.Uwp.UI.Animations;
using Windows.Graphics.Effects;
using Windows.UI;
using Windows.UI.Composition;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
using System.Linq;
using System.Threading.Tasks;
using Microsoft.Graphics.Canvas.Effects;
using Microsoft.Toolkit.Uwp.UI.Animations;
using Windows.Graphics.Effects;
using Windows.UI;
using Windows.UI.Composition;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
using System.Threading.Tasks;
using Microsoft.Graphics.Canvas;
using Microsoft.Graphics.Canvas.Effects;
using Microsoft.Toolkit.Uwp.UI.Animations;
using Microsoft.Toolkit.Uwp.UI.Media.Helpers;
using Microsoft.Toolkit.Uwp.UI.Media.Helpers.Cache;
using Windows.Graphics.Effects;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
using System.Linq;
using System.Threading.Tasks;
using Microsoft.Graphics.Canvas.Effects;
using Microsoft.Toolkit.Uwp.UI.Animations;
using Windows.Graphics.Effects;
using Windows.UI.Composition;
using CanvasBlendEffect = Microsoft.Graphics.Canvas.Effects.BlendEffect;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
using System.Collections.Generic;
using System.Diagnostics.Contracts;
using System.Threading.Tasks;
using Microsoft.Toolkit.Uwp.UI.Animations;
using Windows.Graphics.Effects;
using Windows.UI.Composition;
using Windows.UI.Xaml;
Expand Down