Beispiel #1
0
 public Dimensions(decimal length, decimal width, decimal height, DimensionUnit unit)
 {
     Length = length;
     Width  = width;
     Height = height;
     Unit   = unit;
 }
Beispiel #2
0
 public void Put(string id, DimensionUnit entity)
 {
     if (ModelState.IsValid)
     {
         db.UpdateDimensionUnit(entity.GetPrivateEntity <DimensionUnit>());
     }
 }
Beispiel #3
0
        private decimal Convert(DimensionUnit toUnit, decimal val)
        {
            if (toUnit == Unit)
            {
                return(val);
            }

            decimal result;

            switch (Unit)
            {
            case DimensionUnit.cm:
                result = toUnit == DimensionUnit.M ? DimensionConvert.FromCmToM(val) :
                         DimensionConvert.FromCmToIn(val);
                break;

            case DimensionUnit.M:
                result = toUnit == DimensionUnit.cm ? DimensionConvert.FromMToCm(val) :
                         DimensionConvert.FromMToIn(val);
                break;

            case DimensionUnit.@in:
                result = toUnit == DimensionUnit.M ? DimensionConvert.FromInToM(val) :
                         DimensionConvert.FromInToCm(val);
                break;

            default:
                throw new NotSupportedException();
            }

            return(Math.Round(result, 6));
        }
Beispiel #4
0
        public Dimension ConvertToDimension(DimensionUnit destUnit, DisplayMetrics dm,
                                            Orientation orientation = Orientation.Horizontal)
        {
            if (destUnit == this.Unit)
            {
                return(this);
            }

            return(new Dimension(ConvertToValue(destUnit, dm, orientation), destUnit));
        }
Beispiel #5
0
        public static Dimension FromPixels(int pixels, DimensionUnit destUnit, DisplayMetrics dm,
                                           Orientation srcOrientation = Orientation.Horizontal)
        {
            if (destUnit == DimensionUnit.Px)
            {
                return(new Dimension(pixels, DimensionUnit.Px));
            }

            return(new Dimension(FromSubPixels(pixels, destUnit, dm, srcOrientation), destUnit));
        }
Beispiel #6
0
        public string Post(DimensionUnit entity)
        {
            if (ModelState.IsValid)
            {
                db.InsertDimensionUnit(entity);

                entity.PublicId = entity.GetPublicId();
                return(entity.GetPublicEntity <DimensionUnit>().PublicId);
            }

            return(string.Empty);
        }
Beispiel #7
0
        private static string GetUnitString(DimensionUnit unit, bool renderPixelSufix)
        {
            switch (unit)
            {
            case DimensionUnit.Pixels:
                return(renderPixelSufix ? "px" : string.Empty);

            case DimensionUnit.Percent:
                return("%");
            }
            return(string.Empty);
        }
Beispiel #8
0
        private static float FromSubPixels(float pixels, DimensionUnit destUnit, DisplayMetrics dm,
                                           Orientation srcOrientation)
        {
            if (destUnit == DimensionUnit.Px)
            {
                return(pixels);
            }

            float scale = GetScaleFor(dm, destUnit, srcOrientation);

            return(pixels / scale);
        }
Beispiel #9
0
        public Dimensions Convert(DimensionUnit toUnit)
        {
            if (!IsValid())
            {
                return(null);
            }

            return(new Dimensions(Convert(toUnit, Length.Value),
                                  Convert(toUnit, Width.Value),
                                  Convert(toUnit, Height.Value),
                                  toUnit));
        }
        public DimensionParser()
        {
            m_UnitStringList = new FRList<string>();
            for (int i = 0; i < (int)DimensionUnit.eUnitCount; i++)
                m_UnitStringList.Add("");

            // These strings need globalization/ localization
            m_UnitStringList[(int)DimensionUnit.eMM] = "mm";
            m_UnitStringList[(int)DimensionUnit.eCM] = "cm";
            m_UnitStringList[(int)DimensionUnit.eM] = "m";
            m_UnitStringList[(int)DimensionUnit.eInch] = "in";
            // End

            m_Period = '.';
            m_Unit = DimensionUnit.eMM;
        }
Beispiel #11
0
        /// <summary>
        /// Returns the scale factor for converting from the source unit to pixels (when multiplying)
        /// </summary>
        private static float GetScaleFor(DisplayMetrics dm, DimensionUnit srcUnit, Orientation orientation)
        {
            switch (srcUnit)
            {
            case DimensionUnit.Dp:
                return(dm.Density);

            case DimensionUnit.Sp:
                return(dm.ScaledDensity);

            case DimensionUnit.Px:
                return(1.0f);

            case DimensionUnit.In:
                if (orientation == Orientation.Horizontal)
                {
                    return(dm.Xdpi);
                }
                else
                {
                    return(dm.Ydpi);
                }

            case DimensionUnit.Mm:
                if (orientation == Orientation.Horizontal)
                {
                    return(dm.Xdpi * (1.0f / 25.4f));
                }
                else
                {
                    return(dm.Ydpi * (1.0f / 25.4f));
                }

            case DimensionUnit.Pt:
                if (orientation == Orientation.Horizontal)
                {
                    return(dm.Xdpi * (1.0f / 72f));
                }
                else
                {
                    return(dm.Ydpi * (1.0f / 72f));
                }

            default:
                throw new Exception("Unexpected: " + srcUnit);
            }
        }
Beispiel #12
0
        public float ConvertToValue(DimensionUnit destUnit, DisplayMetrics dm,
                                    Orientation orientation = Orientation.Horizontal)
        {
            if (destUnit == this.Unit)
            {
                return(this.Value);
            }

            float pixels = ToSubPixels(dm, orientation);

            if (destUnit == DimensionUnit.Px)
            {
                return(pixels);
            }

            return(FromSubPixels(pixels, destUnit, dm, orientation));
        }
Beispiel #13
0
		private static string GetUnitString(DimensionUnit unit, bool renderPixelSufix) {
			switch(unit) {
				case DimensionUnit.Pixels:
				return (renderPixelSufix ? "px" : string.Empty);
				case DimensionUnit.Percent:
				return "%";
			}
			return string.Empty;
		}
Beispiel #14
0
 public Dimension(float val, DimensionUnit unit) : this()
 {
     this.Value = val;
     this.Unit  = unit;
 }
Beispiel #15
0
 public float ConvertToValue(DimensionUnit destUnit, Context ctx = null,
                             Orientation orientation             = Orientation.Horizontal)
 {
     return(ConvertToValue(destUnit, ResolveCtx(ctx).Resources.DisplayMetrics, orientation));
 }
Beispiel #16
0
 public static Dimension FromPixels(int pixels, DimensionUnit destUnit, Context ctx = null,
                                    Orientation srcOrientation = Orientation.Horizontal)
 {
     return(FromPixels(pixels, destUnit, ResolveCtx(ctx).Resources.DisplayMetrics, srcOrientation));
 }
Beispiel #17
0
        public static Dimension FromPixels(int pixels, DimensionUnit destUnit, DisplayMetrics dm,
                                       Orientation srcOrientation = Orientation.Horizontal)
        {
            if (destUnit == DimensionUnit.Px) {
            return new Dimension(pixels, DimensionUnit.Px);
              }

              return new Dimension(FromSubPixels(pixels, destUnit, dm, srcOrientation), destUnit);
        }
Beispiel #18
0
 public float ConvertToValue(DimensionUnit destUnit, Context ctx = null,
                         Orientation orientation = Orientation.Horizontal)
 {
     return ConvertToValue(destUnit, ResolveCtx(ctx).Resources.DisplayMetrics, orientation);
 }
Beispiel #19
0
        public Dimension ConvertToDimension(DimensionUnit destUnit, DisplayMetrics dm,
                                        Orientation orientation = Orientation.Horizontal)
        {
            if (destUnit == this.Unit) {
            return this;
              }

              return new Dimension(ConvertToValue(destUnit, dm, orientation), destUnit);
        }
Beispiel #20
0
        private static float FromSubPixels(float pixels, DimensionUnit destUnit, DisplayMetrics dm,
                                       Orientation srcOrientation)
        {
            if (destUnit == DimensionUnit.Px) {
            return pixels;
              }

              float scale = GetScaleFor(dm, destUnit, srcOrientation);

              return (pixels / scale);
        }
Beispiel #21
0
        public float ConvertToValue(DimensionUnit destUnit, DisplayMetrics dm,
                                Orientation orientation = Orientation.Horizontal)
        {
            if (destUnit == this.Unit) {
            return this.Value;
              }

              float pixels = ToSubPixels(dm, orientation);

              if (destUnit == DimensionUnit.Px) {
            return pixels;
              }

              return FromSubPixels(pixels, destUnit, dm, orientation);
        }
Beispiel #22
0
        /// <summary>
        /// Returns the scale factor for converting from the source unit to pixels (when multiplying)
        /// </summary>
        private static float GetScaleFor(DisplayMetrics dm, DimensionUnit srcUnit, Orientation orientation)
        {
            switch (srcUnit) {
            case DimensionUnit.Dp:
              return dm.Density;

            case DimensionUnit.Sp:
              return dm.ScaledDensity;

            case DimensionUnit.Px:
              return 1.0f;

            case DimensionUnit.In:
              if (orientation == Orientation.Horizontal) {
            return dm.Xdpi;
              }
              else {
            return dm.Ydpi;
              }

            case DimensionUnit.Mm:
              if (orientation == Orientation.Horizontal) {
            return dm.Xdpi * (1.0f / 25.4f);
              }
              else {
            return dm.Ydpi * (1.0f / 25.4f);
              }

            case DimensionUnit.Pt:
              if (orientation == Orientation.Horizontal) {
            return dm.Xdpi * (1.0f / 72f);
              }
              else {
            return dm.Ydpi * (1.0f / 72f);
              }

            default:
              throw new Exception("Unexpected: " + srcUnit);
              }
        }
Beispiel #23
0
 private static string GetUnitString(DimensionUnit unit)
 {
     return(GetUnitString(unit, false));
 }
Beispiel #24
0
 public Dimension(float val, DimensionUnit unit)
     : this()
 {
     this.Value = val;
       this.Unit = unit;
 }
Beispiel #25
0
 /// <summary>
 /// Initializes a new instance of the <see cref="Dimension"/> structure.
 /// </summary>
 /// <param name="value">The value of dimension, this will be adjusted to convert internal value based on unit.</param>
 /// <param name="unit">The unit of dimension.</param>
 /// <param name="fractional">The fractional.</param>
 public Dimension(double value, DimensionUnit unit = DimensionUnit.Millimetre, int fractional = 3)
 {
     _value      = InternalValue(value, unit);
     _fractional = fractional;
     Unit        = unit;
 }
Beispiel #26
0
 public static Dimension FromPixels(int pixels, DimensionUnit destUnit, Context ctx = null,
                                Orientation srcOrientation = Orientation.Horizontal)
 {
     return FromPixels(pixels, destUnit, ResolveCtx(ctx).Resources.DisplayMetrics, srcOrientation);
 }
Beispiel #27
0
		private static string GetUnitString(DimensionUnit unit) {
			return GetUnitString(unit, false);
		}
Beispiel #28
0
 /// <summary>
 /// Prevents a default instance of the <see cref="Dimension"/> structure from being created.
 /// <remarks>
 /// the constructor is only used by override operators
 /// </remarks>
 /// </summary>
 /// <param name="value">The value.</param>
 /// <param name="unit">The unit.</param>
 /// <param name="fractional">The fractional.</param>
 private Dimension(long value, DimensionUnit unit, int fractional)
 {
     _value      = value;
     Unit        = unit;
     _fractional = fractional;
 }