Beispiel #1
0
        [TestCase(480, 320, 96, SetDisplayAction.DisplayType.Desktop, 0.64f)] //Scale on desktop
        public void UIHelper_TestScaleFactor(int width, int height, float dpi, SetDisplayAction.DisplayType displayType, float expectedScaleFactor)
        {
            //when
            var scaleFactor = UIUtils.GetScaleFactor(width, height, dpi, displayType);

            //Then
            Assert.IsTrue(Math.Abs(expectedScaleFactor - scaleFactor) < 0.1f, $"Expected Scale Factor was {expectedScaleFactor.ToString()}, but {scaleFactor.ToString()} was found", null);
        }
Beispiel #2
0
        static float FindMinimumDeviceHeight(SetDisplayAction.DisplayType displayType)
        {
            if (displayType == SetDisplayAction.DisplayType.Tablet)
            {
                return(k_MinimumHeightTablet);
            }

            return(k_MinimumHeightPhone);
        }
Beispiel #3
0
        public static float GetScaleFactor(float width, float height, float dpi, SetDisplayAction.DisplayType displayType)
        {
            var     scaleFactor   = dpi / GetTargetDpi(dpi, displayType);
            Vector2 screenSize    = new Vector2(width / scaleFactor, height / scaleFactor);
            var     minimalHeight = FindMinimumDeviceHeight(displayType);

            if (screenSize.y < minimalHeight)
            {
                scaleFactor = height / minimalHeight;
            }
            return(scaleFactor);
        }
Beispiel #4
0
 public static float GetTargetDpi(float dpi, SetDisplayAction.DisplayType displayType)
 {
     return(displayType == SetDisplayAction.DisplayType.Desktop? dpi : k_TargetDPIWindows);
 }