Paint.GetOffsetForAdvance 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
GetOffsetForAdvance(String, Int32, Int32, Int32, Int32, Boolean, Single) | |
GetOffsetForAdvance(ICharSequence, Int32, Int32, Int32, Int32, Boolean, Single) | |
GetOffsetForAdvance(Char[], Int32, Int32, Int32, Int32, Boolean, Single) |
Get the character offset within the string whose position is closest to the specified horizontal position. |
GetOffsetForAdvance(String, Int32, Int32, Int32, Int32, Boolean, Single)
public int GetOffsetForAdvance (string? text, int start, int end, int contextStart, int contextEnd, bool isRtl, float advance);
member this.GetOffsetForAdvance : string * int * int * int * int * bool * single -> int
Parameters
- text
- String
the text to measure. Cannot be null.
- start
- Int32
the index of the start of the range to measure
- end
- Int32
the index + 1 of the end of the range to measure
- contextStart
- Int32
the index of the start of the shaping context
- contextEnd
- Int32
the index + 1 of the end of the range to measure
- isRtl
- Boolean
whether the run is in RTL direction
- advance
- Single
width relative to start of run
Returns
index of offset
Remarks
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
GetOffsetForAdvance(ICharSequence, Int32, Int32, Int32, Int32, Boolean, Single)
[Android.Runtime.Register("getOffsetForAdvance", "(Ljava/lang/CharSequence;IIIIZF)I", "GetGetOffsetForAdvance_Ljava_lang_CharSequence_IIIIZFHandler", ApiSince=23)]
public virtual int GetOffsetForAdvance (Java.Lang.ICharSequence? text, int start, int end, int contextStart, int contextEnd, bool isRtl, float advance);
[<Android.Runtime.Register("getOffsetForAdvance", "(Ljava/lang/CharSequence;IIIIZF)I", "GetGetOffsetForAdvance_Ljava_lang_CharSequence_IIIIZFHandler", ApiSince=23)>]
abstract member GetOffsetForAdvance : Java.Lang.ICharSequence * int * int * int * int * bool * single -> int
override this.GetOffsetForAdvance : Java.Lang.ICharSequence * int * int * int * int * bool * single -> int
Parameters
- text
- ICharSequence
the text to measure. Cannot be null.
- start
- Int32
the index of the start of the range to measure
- end
- Int32
the index + 1 of the end of the range to measure
- contextStart
- Int32
the index of the start of the shaping context
- contextEnd
- Int32
the index + 1 of the end of the range to measure
- isRtl
- Boolean
whether the run is in RTL direction
- advance
- Single
width relative to start of run
Returns
index of offset
- Attributes
Remarks
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
GetOffsetForAdvance(Char[], Int32, Int32, Int32, Int32, Boolean, Single)
Get the character offset within the string whose position is closest to the specified horizontal position.
[Android.Runtime.Register("getOffsetForAdvance", "([CIIIIZF)I", "GetGetOffsetForAdvance_arrayCIIIIZFHandler", ApiSince=23)]
public virtual int GetOffsetForAdvance (char[]? text, int start, int end, int contextStart, int contextEnd, bool isRtl, float advance);
[<Android.Runtime.Register("getOffsetForAdvance", "([CIIIIZF)I", "GetGetOffsetForAdvance_arrayCIIIIZFHandler", ApiSince=23)>]
abstract member GetOffsetForAdvance : char[] * int * int * int * int * bool * single -> int
override this.GetOffsetForAdvance : char[] * int * int * int * int * bool * single -> int
Parameters
- text
- Char[]
the text to measure. Cannot be null.
- start
- Int32
the index of the start of the range to measure
- end
- Int32
the index + 1 of the end of the range to measure
- contextStart
- Int32
the index of the start of the shaping context
- contextEnd
- Int32
the index + 1 of the end of the range to measure
- isRtl
- Boolean
whether the run is in RTL direction
- advance
- Single
width relative to start of run
Returns
index of offset
- Attributes
Remarks
Get the character offset within the string whose position is closest to the specified horizontal position.
The returned value is generally the value of offset
for which #getRunAdvance
yields a result most closely approximating advance
, and which is also on a grapheme cluster boundary. As such, it is the preferred method for positioning a cursor in response to a touch or pointer event. The grapheme cluster boundaries are based on Unicode Standard Annex #29 but with some tailoring for better user experience.
Note that advance
is a (generally positive) width measurement relative to the start of the run. Thus, for RTL runs it the distance from the point to the right edge.
All indices are relative to the start of text
. Further, 0 <= contextStart <= start <= end <= contextEnd <= text.length
must hold on entry, and start <= result <= end
will hold on return.
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.