예제 #1
0
        public void TestPixelDPI()
        {
            PixelUnit pixel = 1000d;
            DPIUnit   dpi   = 600d;
            InchUnit  inch  = 25d;

            Assert.AreEqual(1000d / 600d, pixel.ToInchLength(dpi).Value);
            Assert.AreEqual(25d / (1d / 600d), inch.ToPixelCount(dpi).Value);
        }
예제 #2
0
        public static string            ToPixelsString(PixelUnit unit, Vector2 value)
        {
            string unitString = GetUnitString(unit);

            if (!String.IsNullOrEmpty(unitString))
            {
                unitString = " " + unitString;
            }
            return(string.Format(CultureInfo.InvariantCulture, "x:{0:F}{2}\ny:{1:F}{2}", UnityToPixelsUnit(value.x), UnityToPixelsUnit(value.y), unitString));
        }
예제 #3
0
        public void TestPixel()
        {
            PixelUnit val1 = 100d;
            PixelUnit val2 = 10d;

            Assert.AreEqual(110d, (val1 + val2).Value);
            Assert.AreEqual(90d, (val1 - val2).Value);
            Assert.AreEqual(1000d, (val1 * val2).Value);
            Assert.AreEqual(10d, (val1 / val2).Value);
        }
예제 #4
0
        public static float                     UnityFromPixelsUnit(PixelUnit unit, double value)
        {
            switch (unit)
            {
            case PixelUnit.Relative:                return((float)value);

            case PixelUnit.Pixels:                  return((float)(value / 4096.0));
            }
            Debug.LogWarning("Tried to convert value to unknown pixel unit");
            return((float)value);
        }
예제 #5
0
        public static double            UnityToPixelsUnit(PixelUnit unit, float value)
        {
            switch (unit)
            {
            case PixelUnit.Relative:                return((double)value);

            case PixelUnit.Pixels:                  return((double)(value * 4096.0));
            }
            Debug.LogWarning("Tried to convert value to unknown pixel unit");
            return((double)value);
        }
예제 #6
0
        public static string            ToRoundedPixelsString(PixelUnit unit, Vector2 value)
        {
            string unitString = GetUnitString(unit);

            if (!String.IsNullOrEmpty(unitString))
            {
                unitString = " " + unitString;
            }
            float x = (long)Math.Round((double)value.x * 16384) / 16384.0f;
            float y = (long)Math.Round((double)value.y * 16384) / 16384.0f;

            return(string.Format(CultureInfo.InvariantCulture, "u:{0:F}{2}\nv:{1:F}{2}", UnityToPixelsUnit(x), UnityToPixelsUnit(y), unitString));
        }
예제 #7
0
 public static GUIContent        GetUnitGUIContent(PixelUnit unit)
 {
     return(pixelUnitGUIContent[(int)unit]);
 }
예제 #8
0
 public static string            GetUnitString(PixelUnit unit)
 {
     return(pixelUnitStrings[(int)unit]);
 }