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)); } }
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)); } }