Skip to content

Commit

Permalink
Merge pull request #35 from MartinTopfstedt/develop
Browse files Browse the repository at this point in the history
v2.5.0
  • Loading branch information
Codinion authored Oct 25, 2022
2 parents 8c1b1bc + ce2182d commit fd0cd5f
Show file tree
Hide file tree
Showing 4 changed files with 49 additions and 3 deletions.
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# 2.5.0
- added attached properties to work with the window icon
# 2.4.0
- updated to Font-Awesome 6.2.0
# 2.3.0
Expand Down
5 changes: 2 additions & 3 deletions src/FontAwesome6.Example.WPF.Shared/MainWindow.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
xmlns:fas="http://schemas.fontawesome.com/icons/svg"
xmlns:fasap="http://schemas.fontawesome.com/icons/svg/properties"
xmlns:viewModels="clr-namespace:FontAwesome6.Example.WPF"
fafap:FontAwesome.Icon="{Binding SelectedIcon}"
mc:Ignorable="d"
Title="FontAwesome6.Example.WPF" Height="675" Width="900">
<Window.DataContext>
Expand All @@ -24,9 +25,7 @@
<converters:NullableDoubleToStringConverter x:Key="NullableDoubleToStringConverter"/>
<converters:HexColorStringToSolidColorBrushConverter x:Key="HexColorStringToSolidColorBrushConverter"/>
</Window.Resources>
<Window.Icon>
<DrawingImage Drawing="{Binding SelectedIcon, Converter={StaticResource DrawingConverter}}"/>
</Window.Icon>

<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="300"/>
Expand Down
21 changes: 21 additions & 0 deletions src/FontAwesome6.Fonts.Net/AttachedProperties/FontAwesome.cs
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,27 @@ private static void OnRenderingTriggered(DependencyObject sender, DependencyProp
{
switch (sender)
{
case Window target:
{
var icon = GetIcon(sender);
if (icon == EFontAwesomeIcon.None)
{
target.SetValue(Window.IconProperty, null);
}
else
{
var primaryColor = GetPrimaryColor(sender);
#if FontAwesomePro
var secondaryColor = GetSecondaryColor(sender);
var swapOpacity = GetSwapOpacity(sender);
var primaryOpacity = GetPrimaryOpacity(sender);
var secondaryOpacity = GetSecondaryOpacity(sender);
target.Source = icon.CreateImageSource(primaryColor, secondaryColor, swapOpacity, primaryOpacity, secondaryOpacity);
#endif
target.SetValue(Window.IconProperty, icon.CreateImageSource(primaryColor));
}
}
break;
case Image target:
{
var icon = GetIcon(sender);
Expand Down
24 changes: 24 additions & 0 deletions src/FontAwesome6.Svg.Net/AttachedProperties/FontAwesome.cs
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,30 @@ private static void OnRenderingTriggered(DependencyObject sender, DependencyProp
{
switch (sender)
{
case Window target:
{
var icon = GetIcon(sender);


if (icon == EFontAwesomeIcon.None)
{
target.SetValue(Window.IconProperty, null);
}
else
{
var primaryColor = GetPrimaryColor(sender);
#if FontAwesomePro
var secondaryColor = GetSecondaryColor(sender);
var swapOpacity = GetSwapOpacity(sender);
var primaryOpacity = GetPrimaryOpacity(sender);
var secondaryOpacity = GetSecondaryOpacity(sender);
target.SetValue(Window.IconProperty, icon.CreateImageSource(primaryColor, secondaryColor, swapOpacity, primaryOpacity, secondaryOpacity));
#else
target.SetValue(Window.IconProperty, icon.CreateImageSource(primaryColor));
#endif
}
}
break;
case Image target:
{
var icon = GetIcon(sender);
Expand Down

0 comments on commit fd0cd5f

Please sign in to comment.