Canvas.DrawTextRun Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Overloads
DrawTextRun(String, Int32, Int32, Int32, Int32, Single, Single, Boolean, Paint) |
Draw a run of text, all in a single direction, with optional context for complex text shaping. |
DrawTextRun(Char[], Int32, Int32, Int32, Int32, Single, Single, Boolean, Paint) |
Draw a run of text, all in a single direction, with optional context for complex text shaping. |
DrawTextRun(ICharSequence, Int32, Int32, Int32, Int32, Single, Single, Boolean, Paint) |
Draw a run of text, all in a single direction, with optional context for complex text shaping. |
DrawTextRun(MeasuredText, Int32, Int32, Int32, Int32, Single, Single, Boolean, Paint) |
Draw a run of text, all in a single direction, with optional context for complex text shaping. |
DrawTextRun(String, Int32, Int32, Int32, Int32, Single, Single, Boolean, Paint)
Draw a run of text, all in a single direction, with optional context for complex text shaping.
public void DrawTextRun (string text, int start, int end, int contextStart, int contextEnd, float x, float y, bool isRtl, Android.Graphics.Paint paint);
member this.DrawTextRun : string * int * int * int * int * single * single * bool * Android.Graphics.Paint -> unit
Parameters
- text
- String
the text to render
- start
- Int32
the start of the text to render. Data before this position can be used for shaping context.
- end
- Int32
the end of the text to render. Data at or after this position can be used for shaping context.
- contextStart
- Int32
the index of the start of the shaping context
- contextEnd
- Int32
the index of the end of the shaping context
- x
- Single
the x position at which to draw the text
- y
- Single
the y position at which to draw the text
- isRtl
- Boolean
whether the run is in RTL direction
- paint
- Paint
the paint
Remarks
Draw a run of text, all in a single direction, with optional context for complex text shaping.
The run of text includes the characters from start
to end
in the text. In addition, the range contextStart
to contextEnd
is used as context for the purpose of complex text shaping, such as Arabic text potentially shaped differently based on the text next to it.
All text outside the range contextStart..contextEnd
is ignored. The text between start
and end
will be laid out and drawn. The context range is useful for contextual shaping, e.g. Kerning, Arabic contextural form.
The direction of the run is explicitly specified by isRtl
. Thus, this method is suitable only for runs of a single direction. Alignment of the text is as determined by the Paint's TextAlign value. Further, 0 <= contextStart <= start <= end <= contextEnd <= text.length
must hold on entry.
Also see android.graphics.Paint#getRunAdvance
for a corresponding method to measure the text; the advance width of the text drawn matches the value obtained from that method.
Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License.
Applies to
DrawTextRun(Char[], Int32, Int32, Int32, Int32, Single, Single, Boolean, Paint)
Draw a run of text, all in a single direction, with optional context for complex text shaping.
[Android.Runtime.Register("drawTextRun", "([CIIIIFFZLandroid/graphics/Paint;)V", "GetDrawTextRun_arrayCIIIIFFZLandroid_graphics_Paint_Handler", ApiSince=23)]
public virtual void DrawTextRun (char[] text, int index, int count, int contextIndex, int contextCount, float x, float y, bool isRtl, Android.Graphics.Paint paint);
[<Android.Runtime.Register("drawTextRun", "([CIIIIFFZLandroid/graphics/Paint;)V", "GetDrawTextRun_arrayCIIIIFFZLandroid_graphics_Paint_Handler", ApiSince=23)>]
abstract member DrawTextRun : char[] * int * int * int * int * single * single * bool * Android.Graphics.Paint -> unit
override this.DrawTextRun : char[] * int * int * int * int * single * single * bool * Android.Graphics.Paint -> unit
Parameters
- text
- Char[]
the text to render
- index
- Int32
the start of the text to render
- count
- Int32
the count of chars to render
- contextIndex
- Int32
the start of the context for shaping. Must be no greater than index.
- contextCount
- Int32
the number of characters in the context for shaping. contexIndex + contextCount must be no less than index + count.
- x
- Single
the x position at which to draw the text
- y
- Single
the y position at which to draw the text
- isRtl
- Boolean
whether the run is in RTL direction
- paint
- Paint
the paint
- Attributes
Remarks
Draw a run of text, all in a single direction, with optional context for complex text shaping.
See #drawTextRun(CharSequence, int, int, int, int, float, float, boolean, Paint)
for more details. This method uses a character array rather than CharSequence to represent the string. Also, to be consistent with the pattern established in #drawText
, in this method count
and contextCount
are used rather than offsets of the end position; count = end - start, contextCount = contextEnd - contextStart
.
Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License.
Applies to
DrawTextRun(ICharSequence, Int32, Int32, Int32, Int32, Single, Single, Boolean, Paint)
Draw a run of text, all in a single direction, with optional context for complex text shaping.
[Android.Runtime.Register("drawTextRun", "(Ljava/lang/CharSequence;IIIIFFZLandroid/graphics/Paint;)V", "GetDrawTextRun_Ljava_lang_CharSequence_IIIIFFZLandroid_graphics_Paint_Handler", ApiSince=23)]
public virtual void DrawTextRun (Java.Lang.ICharSequence text, int start, int end, int contextStart, int contextEnd, float x, float y, bool isRtl, Android.Graphics.Paint paint);
[<Android.Runtime.Register("drawTextRun", "(Ljava/lang/CharSequence;IIIIFFZLandroid/graphics/Paint;)V", "GetDrawTextRun_Ljava_lang_CharSequence_IIIIFFZLandroid_graphics_Paint_Handler", ApiSince=23)>]
abstract member DrawTextRun : Java.Lang.ICharSequence * int * int * int * int * single * single * bool * Android.Graphics.Paint -> unit
override this.DrawTextRun : Java.Lang.ICharSequence * int * int * int * int * single * single * bool * Android.Graphics.Paint -> unit
Parameters
- text
- ICharSequence
the text to render
- start
- Int32
the start of the text to render. Data before this position can be used for shaping context.
- end
- Int32
the end of the text to render. Data at or after this position can be used for shaping context.
- contextStart
- Int32
the index of the start of the shaping context
- contextEnd
- Int32
the index of the end of the shaping context
- x
- Single
the x position at which to draw the text
- y
- Single
the y position at which to draw the text
- isRtl
- Boolean
whether the run is in RTL direction
- paint
- Paint
the paint
- Attributes
Remarks
Draw a run of text, all in a single direction, with optional context for complex text shaping.
The run of text includes the characters from start
to end
in the text. In addition, the range contextStart
to contextEnd
is used as context for the purpose of complex text shaping, such as Arabic text potentially shaped differently based on the text next to it.
All text outside the range contextStart..contextEnd
is ignored. The text between start
and end
will be laid out and drawn. The context range is useful for contextual shaping, e.g. Kerning, Arabic contextural form.
The direction of the run is explicitly specified by isRtl
. Thus, this method is suitable only for runs of a single direction. Alignment of the text is as determined by the Paint's TextAlign value. Further, 0 <= contextStart <= start <= end <= contextEnd <= text.length
must hold on entry.
Also see android.graphics.Paint#getRunAdvance
for a corresponding method to measure the text; the advance width of the text drawn matches the value obtained from that method.
Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License.
Applies to
DrawTextRun(MeasuredText, Int32, Int32, Int32, Int32, Single, Single, Boolean, Paint)
Draw a run of text, all in a single direction, with optional context for complex text shaping.
[Android.Runtime.Register("drawTextRun", "(Landroid/graphics/text/MeasuredText;IIIIFFZLandroid/graphics/Paint;)V", "GetDrawTextRun_Landroid_graphics_text_MeasuredText_IIIIFFZLandroid_graphics_Paint_Handler", ApiSince=29)]
public virtual void DrawTextRun (Android.Graphics.Text.MeasuredText text, int start, int end, int contextStart, int contextEnd, float x, float y, bool isRtl, Android.Graphics.Paint paint);
[<Android.Runtime.Register("drawTextRun", "(Landroid/graphics/text/MeasuredText;IIIIFFZLandroid/graphics/Paint;)V", "GetDrawTextRun_Landroid_graphics_text_MeasuredText_IIIIFFZLandroid_graphics_Paint_Handler", ApiSince=29)>]
abstract member DrawTextRun : Android.Graphics.Text.MeasuredText * int * int * int * int * single * single * bool * Android.Graphics.Paint -> unit
override this.DrawTextRun : Android.Graphics.Text.MeasuredText * int * int * int * int * single * single * bool * Android.Graphics.Paint -> unit
Parameters
- text
- MeasuredText
the text to render
- start
- Int32
the start of the text to render. Data before this position can be used for shaping context.
- end
- Int32
the end of the text to render. Data at or after this position can be used for shaping context.
- contextStart
- Int32
the index of the start of the shaping context
- contextEnd
- Int32
the index of the end of the shaping context
- x
- Single
the x position at which to draw the text
- y
- Single
the y position at which to draw the text
- isRtl
- Boolean
whether the run is in RTL direction
- paint
- Paint
the paint
- Attributes
Remarks
Draw a run of text, all in a single direction, with optional context for complex text shaping.
See #drawTextRun(CharSequence, int, int, int, int, float, float, boolean, Paint)
for more details. This method uses a MeasuredText
rather than CharSequence to represent the string.
Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License.