From f26ba041cea7728fdb80af798cd0ddc574e43a94 Mon Sep 17 00:00:00 2001 From: Lukasz Stanislawski Date: Mon, 19 Oct 2020 12:33:23 +0200 Subject: [PATCH] Introduce Unit metric According to new guideline rules all elements will be described in units instead of pixels. Provide utilities for easier conversion between units and pixes. --- Fitness/Config.cs | 5 +++++ Fitness/UnitSize.cs | 34 ++++++++++++++++++++++++++++++++++ Fitness/Views/UnitsUtils.cs | 12 ++++++++++++ 3 files changed, 51 insertions(+) create mode 100644 Fitness/UnitSize.cs create mode 100644 Fitness/Views/UnitsUtils.cs diff --git a/Fitness/Config.cs b/Fitness/Config.cs index 37233c6..bfe7f77 100644 --- a/Fitness/Config.cs +++ b/Fitness/Config.cs @@ -9,5 +9,10 @@ namespace Fitness /// Log tag used to identify application-specific events in the logging utility tool. /// public const string LogTag = "FitnessApp"; + + /// + /// Unit Size for current screen + /// + public const UnitSize Unit = UnitSize.MediumUnit; } } diff --git a/Fitness/UnitSize.cs b/Fitness/UnitSize.cs new file mode 100644 index 0000000..4236315 --- /dev/null +++ b/Fitness/UnitSize.cs @@ -0,0 +1,34 @@ +namespace Fitness +{ + /// + /// UnitSize is used to convert size descibe in abstract metric - called + /// unit - into pixels. + /// + public enum UnitSize + { + /// + /// Number of pixels per unit for very large size displays with very small dpi. + /// + ExtraSmallUnit = 1, + + /// + /// Number of pixels per unit for large size displays with small dpi. + /// + SmallUnit = 2, + + /// + /// Number of pixels per unit for average size displays with average dpi. + /// + MediumUnit = 4, + + /// + /// Number of pixels per unit for small size displays with high dpi. + /// + LargeUnit = 6, + + /// + /// Number of pixels per unit for very small size displays with very high dpi. + /// + ExtraLargUnit = 8, + } +} diff --git a/Fitness/Views/UnitsUtils.cs b/Fitness/Views/UnitsUtils.cs new file mode 100644 index 0000000..9a8cf87 --- /dev/null +++ b/Fitness/Views/UnitsUtils.cs @@ -0,0 +1,12 @@ +using Fitness; + +namespace Fitness.Views +{ + public static class UnitsUtils + { + public static int UnitsToPixels(int units) + { + return units * (int)Config.Unit; + } + } +} -- 2.7.4