コード例 #1
0
        public static GeneralUnitType ConvertToGeneralUnit(DimensionUnitType unitType)
        {
            switch (unitType)
            {
            case DimensionUnitType.Absolute:
            case DimensionUnitType.RelativeToChildren:
                return(GeneralUnitType.PixelsFromSmall);

            case DimensionUnitType.Percentage:
                return(GeneralUnitType.Percentage);

            case DimensionUnitType.RelativeToContainer:
                return(GeneralUnitType.PixelsFromLarge);

            case DimensionUnitType.PercentageOfSourceFile:
                return(GeneralUnitType.PercentageOfFile);

            case DimensionUnitType.PercentageOfOtherDimension:
                return(GeneralUnitType.PercentageOfOtherDimension);

            case DimensionUnitType.MaintainFileAspectRatio:
                return(GeneralUnitType.MaintainFileAspectRatio);

            default:
                throw new NotImplementedException();
            }
        }
コード例 #2
0
        public static GeneralUnitType ConvertToGeneralUnit(object specificUnit)
        {
            if (specificUnit is PositionUnitType)
            {
                PositionUnitType asPut = (PositionUnitType)specificUnit;

                switch (asPut)
                {
                case PositionUnitType.PercentageHeight:
                case PositionUnitType.PercentageWidth:
                    return(GeneralUnitType.Percentage);

                case PositionUnitType.PixelsFromLeft:
                case PositionUnitType.PixelsFromTop:
                    return(GeneralUnitType.PixelsFromSmall);

                case PositionUnitType.PixelsFromRight:
                case PositionUnitType.PixelsFromBottom:
                    return(GeneralUnitType.PixelsFromLarge);

                case PositionUnitType.PixelsFromCenterX:
                    return(GeneralUnitType.PixelsFromMiddle);

                case PositionUnitType.PixelsFromCenterY:
                    return(GeneralUnitType.PixelsFromMiddle);

                default:
                    throw new NotImplementedException();
                }
            }

            else if (specificUnit is DimensionUnitType)
            {
                DimensionUnitType asDut = (DimensionUnitType)specificUnit;

                switch (asDut)
                {
                case DimensionUnitType.Absolute:
                    return(GeneralUnitType.PixelsFromSmall);

                case DimensionUnitType.Percentage:
                    return(GeneralUnitType.Percentage);

                case DimensionUnitType.RelativeToContainer:
                    return(GeneralUnitType.PixelsFromLarge);

                case DimensionUnitType.PercentageOfSourceFile:
                    return(GeneralUnitType.PercentageOfFile);

                default:
                    throw new NotImplementedException();
                }
            }

            throw new NotImplementedException();
        }
コード例 #3
0
        /// <summary>
        /// Converts dimensions from meters to feet or feet to meters.
        /// </summary>
        /// <param name="dimension">Dimension to convert.</param>
        /// <param name="fromUnits">The units that the dimension is in.</param>
        /// <param name="toUnits">The units to convert the dimension to.</param>
        /// <returns>A dimension in the specified unit of measurement.</returns>
        public static double CovertDimension(double dimension, DimensionUnitType fromUnits, DimensionUnitType toUnits)
        {
            if (fromUnits == toUnits || double.IsNaN(dimension))
            {
                return(dimension);
            }

            //Convert the distance to meters
            if (fromUnits == DimensionUnitType.Feet)
            {
                dimension *= 0.3048;
            }

            if (toUnits == DimensionUnitType.Feet)
            {
                dimension *= 3.2808399;
            }

            return(dimension);
        }
コード例 #4
0
        public static HierarchyDependencyType GetDependencyType(this DimensionUnitType unitType)
        {
            switch (unitType)
            {
            case DimensionUnitType.Absolute:
            case DimensionUnitType.PercentageOfSourceFile:
            case DimensionUnitType.PercentageOfOtherDimension:
                return(HierarchyDependencyType.NoDependency);

            case DimensionUnitType.Percentage:
            case DimensionUnitType.RelativeToContainer:
                return(HierarchyDependencyType.DependsOnParent);

            case DimensionUnitType.RelativeToChildren:
                return(HierarchyDependencyType.DependsOnChildren);

            default:
                throw new NotImplementedException();
            }
        }
コード例 #5
0
 /// <summary>
 /// Returns whether one unit represents one pixel.
 /// </summary>
 /// <param name="unitType">The unit type.</param>
 /// <returns>Whether one unit represents one pixel.</returns>
 public static bool GetIsPixelBased(this DimensionUnitType unitType)
 {
     return(unitType == DimensionUnitType.Absolute ||
            unitType == DimensionUnitType.RelativeToContainer || unitType == DimensionUnitType.RelativeToChildren);
 }
コード例 #6
0
ファイル: UnitConverter.cs プロジェクト: vchelaru/FlatRedBall
 public static GeneralUnitType ConvertToGeneralUnit(DimensionUnitType unitType)
 { 
     switch (unitType)
     {
         case DimensionUnitType.Absolute:
             return GeneralUnitType.PixelsFromSmall;
         case DimensionUnitType.Percentage:
             return GeneralUnitType.Percentage;
         case DimensionUnitType.RelativeToContainer:
             return GeneralUnitType.PixelsFromLarge;
         case DimensionUnitType.PercentageOfSourceFile:
             return GeneralUnitType.PercentageOfFile;
         default:
             throw new NotImplementedException();
     }
 }