public static float Resolve(this Measure measure, IElement element, IFrameContext context, PxRectangle size,
                                    bool TreatUserAsPercentage = false)
        {
            // ReSharper disable once SwitchStatementMissingSomeCases
            switch (measure.Unit)
            {
            case MeasureUnit.Em:
                return(measure.Value * element.GetFontSize(context));

            case MeasureUnit.Ex:
                return((measure.Value * element.GetFontSize(context)) / 2);

            case MeasureUnit.User:
                return(TreatUserAsPercentage
            ? ResolvePercentage(measure.Value * 100, ref size, measure.Usage)
            : context.ToDeviceValue(measure));

            case MeasureUnit.Percentage:
                return(ResolvePercentage(measure.Value, ref size, measure.Usage));

            default:
                return(context.ToDeviceValue(measure));
            }
        }
        public static float Resolve(this Measure measure, IElement element, IFrameContext context)
        {
            // ReSharper disable once SwitchStatementMissingSomeCases
            switch (measure.Unit)
            {
            case MeasureUnit.Em:
                return(measure.Value * element.GetFontSize(context));

            case MeasureUnit.Ex:
                return((measure.Value * element.GetFontSize(context)) / 2);

            default:
                return(context.ToDeviceValue(measure));
            }
        }
        private static float ComputeFontSize(IElement element, IFrameContext context, Measure fontSize)
        {
            // ReSharper disable once SwitchStatementMissingSomeCases
            switch (fontSize.Unit)
            {
            case MeasureUnit.Em:
                return(fontSize.Value * GetFontSize(element.Parent, context));

            case MeasureUnit.Ex:
                return((fontSize.Value * GetFontSize(element.Parent, context)) / 2);

            case MeasureUnit.Percentage:
                return((fontSize.Value * GetFontSize(element.Parent, context)) / 100);

            default:
                return(context.ToDeviceValue(fontSize));
            }
        }
Exemple #4
0
        private static float ComputeFontSize(IElement element, IFrameContext context, Measure fontSize)
        {
            // ReSharper disable once SwitchStatementMissingSomeCases
            switch (fontSize.Unit)
            {
            case MeasureUnit.Em:
                return(fontSize.Value * GetFontSize(element.Parent, context));

            case MeasureUnit.Ex:
                return((fontSize.Value * GetFontSize(element.Parent, context)) / 2);

            case MeasureUnit.Percentage:
                return((fontSize.Value * GetFontSize(element.Parent, context)) / 100);

            case MeasureUnit.User:
                return(fontSize.Value * 0.955f);    //TODO: This is a hack to see if it fixes the Amazon designer overflow

            default:
                return(context.ToDeviceValue(fontSize));
            }
        }