Files
wpf-notifyicon/Hardcodet.NotifyIcon.Wpf/Source/NotifyIconWpf/Interop/SystemInfo.cs
Robin Krom 23186feefe Code modernising (#8)
* Applied some code conventions, used more current language features which should improve readability and making it easier to re-factor / modify. Also fixed some typos in documentation.
* Changes based on PR conversation for the SystemInfo
* Some modifications due to conversations on the PR, especially I removed the FlagsAttribute on the BalloonFlags.
* Removed Silverlight targeting in code.
2019-07-16 14:09:59 +02:00

35 lines
1.1 KiB
C#

using System.Windows.Interop;
namespace Hardcodet.Wpf.TaskbarNotification.Interop
{
/// <summary>
/// This class is a helper for system information, currently to get the DPI factors
/// </summary>
public static class SystemInfo
{
private static readonly System.Windows.Point DpiFactors;
static SystemInfo()
{
using (var source = new HwndSource(new HwndSourceParameters()))
{
if (source.CompositionTarget?.TransformToDevice != null)
{
DpiFactors = new System.Windows.Point(source.CompositionTarget.TransformToDevice.M11, source.CompositionTarget.TransformToDevice.M22);
return;
}
DpiFactors = new System.Windows.Point(1, 1);
}
}
/// <summary>
/// Returns the DPI X Factor
/// </summary>
public static double DpiFactorX => DpiFactors.X;
/// <summary>
/// Returns the DPI Y Factor
/// </summary>
public static double DpiFactorY => DpiFactors.Y;
}
}