// Token: 0x0600861F RID: 34335 RVA: 0x0024BB48 File Offset: 0x00249D48 public void EnumSubSegments(SpellerInteropBase.EnumTextSegmentsCallback segmentCallback, object data) { bool flag = true; int num = 0; while (flag && num < this.SubSegments.Count) { flag = segmentCallback(this.SubSegments[num], data); num++; } }
internal abstract int EnumTextSegments(char[] text, int count, SpellerInteropBase.EnumSentencesCallback sentenceCallback, SpellerInteropBase.EnumTextSegmentsCallback segmentCallback, object data);
// Token: 0x06003F0D RID: 16141 RVA: 0x0011FAFC File Offset: 0x0011DCFC internal override int EnumTextSegments(char[] text, int count, SpellerInteropBase.EnumSentencesCallback sentenceCallback, SpellerInteropBase.EnumTextSegmentsCallback segmentCallback, object data) { if (this._isDisposed) { return(0); } WordsSegmenter wordsSegmenter = this.CurrentWordBreaker ?? this.DefaultCultureWordBreaker; SpellChecker currentSpellChecker = this.CurrentSpellChecker; bool flag = this._mode.HasFlag(SpellerInteropBase.SpellerMode.SpellingErrors) || this._mode.HasFlag(SpellerInteropBase.SpellerMode.Suggestions); if (wordsSegmenter == null || (flag && currentSpellChecker == null)) { return(0); } int num = 0; bool flag2 = true; foreach (string sentence in new string[] { string.Join <char>(string.Empty, text) }) { WinRTSpellerInterop.SpellerSentence spellerSentence = new WinRTSpellerInterop.SpellerSentence(sentence, wordsSegmenter, this.CurrentSpellChecker, this); num += spellerSentence.Segments.Count; if (segmentCallback != null) { int num2 = 0; while (flag2 && num2 < spellerSentence.Segments.Count) { flag2 = segmentCallback(spellerSentence.Segments[num2], data); num2++; } } if (sentenceCallback != null) { flag2 = sentenceCallback(spellerSentence, data); } if (!flag2) { break; } } return(num); }