/// <summary> /// Convert Xamarin.Forms.TextAlignment to Mapsui/RichTextKit.Styles.Color /// </summary> /// <param name="textAlignment">TextAlignment in Xamarin.Forms format</param> /// <returns>TextAlignment in Mapsui/RichTextKit format</returns> public static Alignment ToMapsui(this Xamarin.Forms.TextAlignment textAlignment) { Alignment result; switch (textAlignment) { case Xamarin.Forms.TextAlignment.Start: result = Alignment.Left; break; case Xamarin.Forms.TextAlignment.Center: result = Alignment.Center; break; case Xamarin.Forms.TextAlignment.End: result = Alignment.Right; break; default: result = Alignment.Auto; break; } return(result); }
public static UIControlContentVerticalAlignment ConvertToVerticalAlignment(Xamarin.Forms.TextAlignment alignment) { switch (alignment) { default: case Xamarin.Forms.TextAlignment.Center: return(UIControlContentVerticalAlignment.Center); case Xamarin.Forms.TextAlignment.Start: return(UIControlContentVerticalAlignment.Top); case Xamarin.Forms.TextAlignment.End: return(UIControlContentVerticalAlignment.Bottom); } }
internal static GravityFlags ToHorizontalGravityFlags(this Xamarin.Forms.TextAlignment alignment) { switch (alignment) { case Xamarin.Forms.TextAlignment.Center: return(GravityFlags.CenterHorizontal); case Xamarin.Forms.TextAlignment.End: return(GravityFlags.Right); default: return(GravityFlags.Left); } }
static GravityFlags ConvertYAlignment(Xamarin.Forms.TextAlignment yAlign) { switch (yAlign) { case Xamarin.Forms.TextAlignment.Center: return(GravityFlags.CenterVertical); case Xamarin.Forms.TextAlignment.End: return(GravityFlags.Bottom); default: return(GravityFlags.Top); } }
static GravityFlags ConvertXAlignment(Xamarin.Forms.TextAlignment xAlign) { switch (xAlign) { case Xamarin.Forms.TextAlignment.Center: return(GravityFlags.CenterHorizontal); case Xamarin.Forms.TextAlignment.End: return(GravityFlags.End); default: return(GravityFlags.Start); } }
public static GravityFlags ToHorizontalGravityFlags(this Xamarin.Forms.TextAlignment alignment) { switch (alignment) { case Xamarin.Forms.TextAlignment.Center: return(GravityFlags.AxisSpecified); case Xamarin.Forms.TextAlignment.End: return(GravityFlags.End); default: return(GravityFlags.Start); } }
public static GravityFlags ToVerticalGravityFlags(this Xamarin.Forms.TextAlignment alignment) { switch (alignment) { case Xamarin.Forms.TextAlignment.Start: return(GravityFlags.Top); case Xamarin.Forms.TextAlignment.End: return(GravityFlags.Bottom); default: return(GravityFlags.CenterVertical); } }
public static HorizontalAlignment ToContentHorizontalAlignment(this TextAlignment alignment) { switch (alignment) { case TextAlignment.Center: return(HorizontalAlignment.Center); case TextAlignment.End: return(HorizontalAlignment.Right); case TextAlignment.Start: return(HorizontalAlignment.Left); } throw new InvalidOperationException(alignment.ToString()); }
public static TextAlignment ToNative(this Xamarin.Forms.TextAlignment formsTextAlignment) { switch (formsTextAlignment) { case Xamarin.Forms.TextAlignment.Center: return(TextAlignment.Center); case Xamarin.Forms.TextAlignment.End: return(TextAlignment.Right); case Xamarin.Forms.TextAlignment.Start: return(TextAlignment.Left); } return(TextAlignment.Center); }
/// <summary> /// To the droid vertical gravity. /// </summary> /// <param name="alignment">The alignment.</param> /// <returns>GravityFlags.</returns> /// <exception cref="System.InvalidOperationException"></exception> public static GravityFlags ToDroidVerticalGravity(this TextAlignment alignment) { switch (alignment) { case TextAlignment.Center: return(GravityFlags.CenterVertical); case TextAlignment.End: return(GravityFlags.Bottom); case TextAlignment.Start: return(GravityFlags.Top); } throw new InvalidOperationException(alignment.ToString()); }
public static VerticalAlignment ToContentVerticalAlignment(this TextAlignment alignment) { switch (alignment) { case TextAlignment.Center: return(VerticalAlignment.Center); case TextAlignment.End: return(VerticalAlignment.Bottom); case TextAlignment.Start: return(VerticalAlignment.Top); } throw new InvalidOperationException(alignment.ToString()); }
/// <summary> /// To the droid horizontal gravity. /// </summary> /// <param name="alignment">The alignment.</param> /// <returns>GravityFlags.</returns> /// <exception cref="System.InvalidOperationException"></exception> public static GravityFlags ToDroidHorizontalGravity(this TextAlignment alignment) { switch (alignment) { case TextAlignment.Center: return(GravityFlags.CenterHorizontal); case TextAlignment.End: return(GravityFlags.Right); case TextAlignment.Start: return(GravityFlags.Left); } throw new InvalidOperationException(alignment.ToString()); }
/// <summary> /// To the droid text alignment. /// </summary> /// <param name="alignment">The alignment.</param> /// <returns>DroidTextAlignment.</returns> /// <exception cref="System.InvalidOperationException"></exception> public static DroidTextAlignment ToDroidTextAlignment(this TextAlignment alignment) { switch (alignment) { case TextAlignment.Center: return(DroidTextAlignment.Center); case TextAlignment.End: return(DroidTextAlignment.ViewEnd); case TextAlignment.Start: return(DroidTextAlignment.ViewStart); } throw new InvalidOperationException(alignment.ToString()); }
public static Android.Views.TextAlignment ToUITextAlignment(Xamarin.Forms.TextAlignment alignment) { switch (alignment) { case Xamarin.Forms.TextAlignment.Start: return(Android.Views.TextAlignment.TextStart); case Xamarin.Forms.TextAlignment.Center: return(Android.Views.TextAlignment.Center); case Xamarin.Forms.TextAlignment.End: return(Android.Views.TextAlignment.TextEnd); default: return(Android.Views.TextAlignment.TextStart); } }
public static GravityFlags ToNative(this Xamarin.Forms.TextAlignment textAlignment) { switch (textAlignment) { case Xamarin.Forms.TextAlignment.Center: return(GravityFlags.Center);; case Xamarin.Forms.TextAlignment.Start: return(GravityFlags.Start); case Xamarin.Forms.TextAlignment.End: return(GravityFlags.End); default: return(GravityFlags.Start); } }
public void DrawText(string text, float x, float y, float width, float height, Xamarin.Forms.TextAlignment hAlignment, Xamarin.Forms.TextAlignment vAlignment) { if (font == null || font.NativeFont == null) { return; } var attributedString = new NSAttributedString(text, new CTStringAttributes() { Font = font.NativeFont, ForegroundColorFromContext = true }); CTLine ctLine = new CTLine(attributedString); CGSize size = new CGSize((float)ctLine.GetTypographicBounds(), font.NativeFont.CapHeightMetric + font.NativeFont.DescentMetric); if ((hAlignment & Xamarin.Forms.TextAlignment.Center) != 0) { x += (width - (float)size.Width) / 2; } else if ((hAlignment & Xamarin.Forms.TextAlignment.End) != 0) { x += width - (float)size.Width; } if ((vAlignment & Xamarin.Forms.TextAlignment.Center) != 0) { y += (height - (float)size.Height) / 2; } else if ((vAlignment & Xamarin.Forms.TextAlignment.End) != 0) { y += height - (float)size.Height; } context.SaveState(); context.ScaleCTM(1f, -1f); context.TextPosition = new CGPoint(x, -y - font.NativeFont.CapHeightMetric); ctLine.Draw(context); context.RestoreState(); ctLine.Dispose(); attributedString.Dispose(); }
public static UIControlContentHorizontalAlignment ConvertToHorizontalAlignment(Xamarin.Forms.TextAlignment alignment) { switch (alignment) { default: case Xamarin.Forms.TextAlignment.Center: return(UIControlContentHorizontalAlignment.Center); case Xamarin.Forms.TextAlignment.Start: return(UIControlContentHorizontalAlignment.Left); case Xamarin.Forms.TextAlignment.End: return(UIControlContentHorizontalAlignment.Right); } }
internal static ATextAlignment ToTextAlignment(this TextAlignment alignment) => alignment switch {
public void DrawText(string text, float x, float y, float width, float height, Xamarin.Forms.TextAlignment hAlignment, Xamarin.Forms.TextAlignment vAlignment) { CanvasTextFormat textFormat = font != null ? ((Font)font).NativeTextFormat : defaultTextFormat; switch (hAlignment) { case Xamarin.Forms.TextAlignment.Start: textFormat.HorizontalAlignment = CanvasHorizontalAlignment.Left; break; case Xamarin.Forms.TextAlignment.Center: textFormat.HorizontalAlignment = CanvasHorizontalAlignment.Center; break; case Xamarin.Forms.TextAlignment.End: textFormat.HorizontalAlignment = CanvasHorizontalAlignment.Right; break; } switch (vAlignment) { case Xamarin.Forms.TextAlignment.Start: textFormat.VerticalAlignment = CanvasVerticalAlignment.Top; break; case Xamarin.Forms.TextAlignment.Center: textFormat.VerticalAlignment = CanvasVerticalAlignment.Center; break; case Xamarin.Forms.TextAlignment.End: textFormat.VerticalAlignment = CanvasVerticalAlignment.Bottom; break; } ds.DrawText(text, x, y, width, height, color, textFormat); }
public void DrawText(string text, float x, float y, float width, float height, Xamarin.Forms.TextAlignment hAlignment, Xamarin.Forms.TextAlignment vAlignment) { Paint.FontMetrics fm = paintFill.GetFontMetrics(); float textWidth = paintFill.MeasureText(text); float textHeight = fm.Descent - fm.Ascent; if ((hAlignment & Xamarin.Forms.TextAlignment.Center) != 0) { x += (width - textWidth) / 2; } else if ((hAlignment & Xamarin.Forms.TextAlignment.End) != 0) { x += width - textWidth; } if ((vAlignment & Xamarin.Forms.TextAlignment.Center) != 0) { y += (height - textHeight) / 2; } else if ((vAlignment & Xamarin.Forms.TextAlignment.End) != 0) { y += height - textHeight; } canvas.DrawText(text, x, y - fm.Ascent, paintFill); }