├── .docsanity.yaml ├── .gitattributes ├── .gitignore ├── .gitmodules ├── Artwork ├── banner.svg ├── banner@2x.png └── nuget-icon.png ├── BuildUnicodeData ├── .gitignore ├── .vscode │ └── launch.json ├── BidiBrackets.txt ├── DerivedCoreProperties.txt ├── GraphemeBreakProperty.txt ├── HangulSyllableType.txt ├── LineBreak.txt ├── UnicodeData.txt ├── emoji-data.txt ├── generate.js ├── package-lock.json └── package.json ├── LineBreakV12 ├── LineBreakTest.txt └── LineBreakerRules.txt ├── References └── uax9.pdf ├── RichStringSandbox ├── App.config ├── Form1.Designer.cs ├── Form1.cs ├── Form1.resx ├── Program.cs ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings ├── RichStringSandbox.csproj └── app.manifest ├── Sandbox ├── App.config ├── Form1.Designer.cs ├── Form1.cs ├── Form1.resx ├── Program.cs ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings ├── Sandbox.csproj └── app.manifest ├── SandboxDriver ├── SandboxDriver.cs ├── SandboxDriver.csproj ├── SandboxFontMapper.cs └── fontawesome.ttf ├── TestBench ├── Program.cs └── TestBench.csproj ├── Topten.RichTextKit.Test ├── BidiCharacterTest.cs ├── BidiTest.cs ├── BufferTest.cs ├── GraphemeClusterTests.cs ├── LineBreakTest.cs ├── RunExtensionsTests.cs ├── TestData │ ├── BidiCharacterTest.txt │ ├── BidiTest.txt │ ├── GraphemeBreakTest.txt │ └── LineBreakTest.txt ├── TestResults.cs ├── TextBlockEditTests.cs ├── TextBlockLoadTest.cs ├── Topten.RichTextKit.Test.csproj ├── TrieBuilderTest.cs ├── Utf32BufferTests.cs └── WordBoundaryTest.cs ├── Topten.RichTextKit.sln ├── Topten.RichTextKit ├── BidiAlgorithm │ ├── Bidi.cs │ ├── BidiData.cs │ └── BidiRun.cs ├── CaretInfo.cs ├── CaretPosition.cs ├── DefaultStyle.cs ├── Editor │ ├── DocumentChangeInfo.cs │ ├── EditSemantics.cs │ ├── ITextDocumentView.cs │ ├── NavigationKind.cs │ ├── Paragraph.cs │ ├── SelectionKind.cs │ ├── TextDocument.cs │ ├── TextParagraph.cs │ └── UndoUnits │ │ ├── UndoDeleteParagraph.cs │ │ ├── UndoDeleteText.cs │ │ ├── UndoInsertParagraph.cs │ │ ├── UndoInsertText.cs │ │ ├── UndoJoinParagraphs.cs │ │ └── UndoReplaceTextGroup.cs ├── FontFallback │ ├── DefaultCharacterMatcher.cs │ ├── FontFallback.cs │ └── ICharacterMatcher.cs ├── FontMapper.cs ├── FontRun.cs ├── FontRunKind.cs ├── FontVariant.cs ├── Foo.cs ├── GraphemeClusterAlgorithm │ └── GraphemeClusterAlgorithm.cs ├── HitTestResult.cs ├── IStyle.cs ├── IStyleExtensions.cs ├── IntRange.cs ├── LineBreakAlgorithm │ ├── LineBreak.cs │ ├── LineBreakPairTable.cs │ ├── LineBreaker.cs │ └── WordBoundaryAlgorithm.cs ├── PaintTextContext.cs ├── Resources │ ├── BidiClasses.trie │ ├── GraphemeClusterClasses.trie │ ├── LineBreakClasses.trie │ └── WordBoundaryClasses.trie ├── RichString.cs ├── SelectionInfo.cs ├── StrikeThroughStyle.cs ├── Style.cs ├── StyleInfo.cs ├── StyleManager.cs ├── StyleRun.cs ├── StyledText.cs ├── TextAlignment.cs ├── TextBlock.cs ├── TextDirection.cs ├── TextLine.cs ├── TextPaintOptions.cs ├── TextRange.cs ├── TextShaping │ └── TextShaper.cs ├── Topten.RichTextKit.csproj ├── Topten.RichTextKit.csproj.user ├── UnderlineStyle.cs ├── Unicode │ ├── Directionality.cs │ ├── GraphemeClusterClass.cs │ ├── LineBreakClass.cs │ ├── PairedBracketType.cs │ ├── UnicodeClasses.cs │ ├── UnicodeTrie.cs │ ├── UnicodeTrieBuilder.cs │ └── WordBoundaryClass.cs └── Utils │ ├── ArrayEnumerator.cs │ ├── BiDictionary.cs │ ├── BinaryReaderExtensions.cs │ ├── BinarySearchExtension.cs │ ├── Buffer.cs │ ├── InternalsVisibleTo.cs │ ├── MappedSlice.cs │ ├── ObjectPool.cs │ ├── RunExtensions.cs │ ├── Slice.cs │ ├── SwapHelper.cs │ ├── UndoManager.cs │ ├── Utf32Buffer.cs │ └── Utf32Utils.cs ├── azure-pipelines.yml ├── build.bat ├── build.js ├── common.props ├── doc ├── .common.page ├── Artwork │ └── banner@2x.png ├── basics.page ├── caret.page ├── hittesting.page ├── index.page ├── install.page ├── layout.page ├── license.page ├── measuring.page ├── ref │ ├── Topten.RichTextKit.CaretInfo.CaretRectangle.page │ ├── Topten.RichTextKit.CaretInfo.CaretXCoord.page │ ├── Topten.RichTextKit.CaretInfo.CodePointIndex.page │ ├── Topten.RichTextKit.CaretInfo.IsNone.page │ ├── Topten.RichTextKit.CaretInfo.LineIndex.page │ ├── Topten.RichTextKit.CaretInfo.None.page │ ├── Topten.RichTextKit.CaretInfo.page │ ├── Topten.RichTextKit.CaretPosition..ctor.page │ ├── Topten.RichTextKit.CaretPosition.AltPosition.page │ ├── Topten.RichTextKit.CaretPosition.CodePointIndex.page │ ├── Topten.RichTextKit.CaretPosition.page │ ├── Topten.RichTextKit.Editor.DocumentChangeInfo.CodePointIndex.page │ ├── Topten.RichTextKit.Editor.DocumentChangeInfo.ImeCaretOffset.page │ ├── Topten.RichTextKit.Editor.DocumentChangeInfo.IsUndoing.page │ ├── Topten.RichTextKit.Editor.DocumentChangeInfo.NewLength.page │ ├── Topten.RichTextKit.Editor.DocumentChangeInfo.OldLength.page │ ├── Topten.RichTextKit.Editor.DocumentChangeInfo.Semantics.page │ ├── Topten.RichTextKit.Editor.DocumentChangeInfo.page │ ├── Topten.RichTextKit.Editor.EditSemantics.page │ ├── Topten.RichTextKit.Editor.ITextDocumentView.OnDocumentChange.page │ ├── Topten.RichTextKit.Editor.ITextDocumentView.OnDocumentDidChange.page │ ├── Topten.RichTextKit.Editor.ITextDocumentView.OnDocumentWillChange.page │ ├── Topten.RichTextKit.Editor.ITextDocumentView.OnRedraw.page │ ├── Topten.RichTextKit.Editor.ITextDocumentView.OnReset.page │ ├── Topten.RichTextKit.Editor.ITextDocumentView.page │ ├── Topten.RichTextKit.Editor.NavigationKind.page │ ├── Topten.RichTextKit.Editor.Paragraph..ctor.page │ ├── Topten.RichTextKit.Editor.Paragraph.CaretIndicies.page │ ├── Topten.RichTextKit.Editor.Paragraph.CodePointIndex.page │ ├── Topten.RichTextKit.Editor.Paragraph.ContentHeight.page │ ├── Topten.RichTextKit.Editor.Paragraph.ContentWidth.page │ ├── Topten.RichTextKit.Editor.Paragraph.ContentXCoord.page │ ├── Topten.RichTextKit.Editor.Paragraph.ContentYCoord.page │ ├── Topten.RichTextKit.Editor.Paragraph.CopyStyleFrom.page │ ├── Topten.RichTextKit.Editor.Paragraph.GetCaretInfo.page │ ├── Topten.RichTextKit.Editor.Paragraph.HitTest.page │ ├── Topten.RichTextKit.Editor.Paragraph.HitTestLine.page │ ├── Topten.RichTextKit.Editor.Paragraph.Layout.page │ ├── Topten.RichTextKit.Editor.Paragraph.Length.page │ ├── Topten.RichTextKit.Editor.Paragraph.LineIndicies.page │ ├── Topten.RichTextKit.Editor.Paragraph.MarginBottom.page │ ├── Topten.RichTextKit.Editor.Paragraph.MarginLeft.page │ ├── Topten.RichTextKit.Editor.Paragraph.MarginRight.page │ ├── Topten.RichTextKit.Editor.Paragraph.MarginTop.page │ ├── Topten.RichTextKit.Editor.Paragraph.Paint.page │ ├── Topten.RichTextKit.Editor.Paragraph.TextBlock.page │ ├── Topten.RichTextKit.Editor.Paragraph.WordBoundaryIndicies.page │ ├── Topten.RichTextKit.Editor.Paragraph.page │ ├── Topten.RichTextKit.Editor.SelectionKind.page │ ├── Topten.RichTextKit.Editor.TextDocument..ctor.page │ ├── Topten.RichTextKit.Editor.TextDocument.DefaultAlignment.page │ ├── Topten.RichTextKit.Editor.TextDocument.DefaultStyle.page │ ├── Topten.RichTextKit.Editor.TextDocument.Extract.page │ ├── Topten.RichTextKit.Editor.TextDocument.FinishImeComposition.page │ ├── Topten.RichTextKit.Editor.TextDocument.GetCaretInfo.page │ ├── Topten.RichTextKit.Editor.TextDocument.GetOvertypeRange.page │ ├── Topten.RichTextKit.Editor.TextDocument.GetSelectionRange.page │ ├── Topten.RichTextKit.Editor.TextDocument.GetStyleAtOffset.page │ ├── Topten.RichTextKit.Editor.TextDocument.GetText.page │ ├── Topten.RichTextKit.Editor.TextDocument.HitTest.page │ ├── Topten.RichTextKit.Editor.TextDocument.ImeCompositionOffset.page │ ├── Topten.RichTextKit.Editor.TextDocument.IsImeComposing.page │ ├── Topten.RichTextKit.Editor.TextDocument.Length.page │ ├── Topten.RichTextKit.Editor.TextDocument.LineWrap.page │ ├── Topten.RichTextKit.Editor.TextDocument.MarginBottom.page │ ├── Topten.RichTextKit.Editor.TextDocument.MarginLeft.page │ ├── Topten.RichTextKit.Editor.TextDocument.MarginRight.page │ ├── Topten.RichTextKit.Editor.TextDocument.MarginTop.page │ ├── Topten.RichTextKit.Editor.TextDocument.MeasuredContentWidth.page │ ├── Topten.RichTextKit.Editor.TextDocument.MeasuredHeight.page │ ├── Topten.RichTextKit.Editor.TextDocument.MeasuredOverhang.page │ ├── Topten.RichTextKit.Editor.TextDocument.MeasuredWidth.page │ ├── Topten.RichTextKit.Editor.TextDocument.Navigate.page │ ├── Topten.RichTextKit.Editor.TextDocument.PageWidth.page │ ├── Topten.RichTextKit.Editor.TextDocument.Paint.page │ ├── Topten.RichTextKit.Editor.TextDocument.PlainTextMode.page │ ├── Topten.RichTextKit.Editor.TextDocument.Redo.page │ ├── Topten.RichTextKit.Editor.TextDocument.RegisterView.page │ ├── Topten.RichTextKit.Editor.TextDocument.ReplaceText.page │ ├── Topten.RichTextKit.Editor.TextDocument.RevokeView.page │ ├── Topten.RichTextKit.Editor.TextDocument.SetMargins.page │ ├── Topten.RichTextKit.Editor.TextDocument.SingleLineMode.page │ ├── Topten.RichTextKit.Editor.TextDocument.StartImeComposition.page │ ├── Topten.RichTextKit.Editor.TextDocument.Text.page │ ├── Topten.RichTextKit.Editor.TextDocument.Undo.page │ ├── Topten.RichTextKit.Editor.TextDocument.UndoManager.page │ ├── Topten.RichTextKit.Editor.TextDocument.UpdateImeComposition.page │ ├── Topten.RichTextKit.Editor.TextDocument.page │ ├── Topten.RichTextKit.Editor.page │ ├── Topten.RichTextKit.FontFallback..ctor.page │ ├── Topten.RichTextKit.FontFallback.CharacterMatcher.page │ ├── Topten.RichTextKit.FontFallback.GetFontRuns.page │ ├── Topten.RichTextKit.FontFallback.Run.Length.page │ ├── Topten.RichTextKit.FontFallback.Run.Start.page │ ├── Topten.RichTextKit.FontFallback.Run.Typeface.page │ ├── Topten.RichTextKit.FontFallback.Run.page │ ├── Topten.RichTextKit.FontFallback.page │ ├── Topten.RichTextKit.FontMapper..ctor.page │ ├── Topten.RichTextKit.FontMapper.Default.page │ ├── Topten.RichTextKit.FontMapper.TypefaceFromStyle.page │ ├── Topten.RichTextKit.FontMapper.page │ ├── Topten.RichTextKit.FontRun..ctor.page │ ├── Topten.RichTextKit.FontRun.Ascent.page │ ├── Topten.RichTextKit.FontRun.Clusters.page │ ├── Topten.RichTextKit.FontRun.CodePoints.page │ ├── Topten.RichTextKit.FontRun.Descent.page │ ├── Topten.RichTextKit.FontRun.Direction.page │ ├── Topten.RichTextKit.FontRun.End.page │ ├── Topten.RichTextKit.FontRun.GetXCoordOfCodePointIndex.page │ ├── Topten.RichTextKit.FontRun.GlyphPositions.page │ ├── Topten.RichTextKit.FontRun.Glyphs.page │ ├── Topten.RichTextKit.FontRun.HalfLeading.page │ ├── Topten.RichTextKit.FontRun.Leading.page │ ├── Topten.RichTextKit.FontRun.LeadingWidth.page │ ├── Topten.RichTextKit.FontRun.Length.page │ ├── Topten.RichTextKit.FontRun.Line.page │ ├── Topten.RichTextKit.FontRun.MoveGlyphs.page │ ├── Topten.RichTextKit.FontRun.NextRun.page │ ├── Topten.RichTextKit.FontRun.PreviousRun.page │ ├── Topten.RichTextKit.FontRun.RelativeCodePointXCoords.page │ ├── Topten.RichTextKit.FontRun.RunKind.page │ ├── Topten.RichTextKit.FontRun.Start.page │ ├── Topten.RichTextKit.FontRun.Style.page │ ├── Topten.RichTextKit.FontRun.StyleRun.page │ ├── Topten.RichTextKit.FontRun.TextHeight.page │ ├── Topten.RichTextKit.FontRun.ToString.page │ ├── Topten.RichTextKit.FontRun.Typeface.page │ ├── Topten.RichTextKit.FontRun.Width.page │ ├── Topten.RichTextKit.FontRun.XCoord.page │ ├── Topten.RichTextKit.FontRun.page │ ├── Topten.RichTextKit.FontRunKind.page │ ├── Topten.RichTextKit.FontVariant.page │ ├── Topten.RichTextKit.HitTestResult.AltCaretPosition.page │ ├── Topten.RichTextKit.HitTestResult.CaretPosition.page │ ├── Topten.RichTextKit.HitTestResult.ClosestCodePointIndex.page │ ├── Topten.RichTextKit.HitTestResult.ClosestLine.page │ ├── Topten.RichTextKit.HitTestResult.Equals.page │ ├── Topten.RichTextKit.HitTestResult.GetHashCode.page │ ├── Topten.RichTextKit.HitTestResult.IsNone.page │ ├── Topten.RichTextKit.HitTestResult.None.page │ ├── Topten.RichTextKit.HitTestResult.OverCodePointIndex.page │ ├── Topten.RichTextKit.HitTestResult.OverLine.page │ ├── Topten.RichTextKit.HitTestResult.page │ ├── Topten.RichTextKit.ICharacterMatcher.MatchCharacter.page │ ├── Topten.RichTextKit.ICharacterMatcher.page │ ├── Topten.RichTextKit.IStyle.BackgroundColor.page │ ├── Topten.RichTextKit.IStyle.FontFamily.page │ ├── Topten.RichTextKit.IStyle.FontItalic.page │ ├── Topten.RichTextKit.IStyle.FontSize.page │ ├── Topten.RichTextKit.IStyle.FontVariant.page │ ├── Topten.RichTextKit.IStyle.FontWeight.page │ ├── Topten.RichTextKit.IStyle.FontWidth.page │ ├── Topten.RichTextKit.IStyle.HaloBlur.page │ ├── Topten.RichTextKit.IStyle.HaloColor.page │ ├── Topten.RichTextKit.IStyle.HaloWidth.page │ ├── Topten.RichTextKit.IStyle.LetterSpacing.page │ ├── Topten.RichTextKit.IStyle.LineHeight.page │ ├── Topten.RichTextKit.IStyle.ReplacementCharacter.page │ ├── Topten.RichTextKit.IStyle.StrikeThrough.page │ ├── Topten.RichTextKit.IStyle.TextColor.page │ ├── Topten.RichTextKit.IStyle.TextDirection.page │ ├── Topten.RichTextKit.IStyle.Underline.page │ ├── Topten.RichTextKit.IStyle.page │ ├── Topten.RichTextKit.IStyleExtensions.HasSameLayout.page │ ├── Topten.RichTextKit.IStyleExtensions.IsSame.page │ ├── Topten.RichTextKit.IStyleExtensions.Key.page │ ├── Topten.RichTextKit.IStyleExtensions.page │ ├── Topten.RichTextKit.RichString..ctor.page │ ├── Topten.RichTextKit.RichString.Add.page │ ├── Topten.RichTextKit.RichString.Alignment.page │ ├── Topten.RichTextKit.RichString.BackgroundColor.page │ ├── Topten.RichTextKit.RichString.BaseDirection.page │ ├── Topten.RichTextKit.RichString.Bold.page │ ├── Topten.RichTextKit.RichString.DefaultAlignment.page │ ├── Topten.RichTextKit.RichString.DefaultDirection.page │ ├── Topten.RichTextKit.RichString.DefaultStyle.page │ ├── Topten.RichTextKit.RichString.DiscardLayout.page │ ├── Topten.RichTextKit.RichString.EllipsisEnabled.page │ ├── Topten.RichTextKit.RichString.FontFamily.page │ ├── Topten.RichTextKit.RichString.FontItalic.page │ ├── Topten.RichTextKit.RichString.FontSize.page │ ├── Topten.RichTextKit.RichString.FontVariant.page │ ├── Topten.RichTextKit.RichString.FontWeight.page │ ├── Topten.RichTextKit.RichString.FontWidth.page │ ├── Topten.RichTextKit.RichString.GetCaretInfo.page │ ├── Topten.RichTextKit.RichString.HaloBlur.page │ ├── Topten.RichTextKit.RichString.HaloColor.page │ ├── Topten.RichTextKit.RichString.HaloWidth.page │ ├── Topten.RichTextKit.RichString.HitTest.page │ ├── Topten.RichTextKit.RichString.Length.page │ ├── Topten.RichTextKit.RichString.LetterSpacing.page │ ├── Topten.RichTextKit.RichString.LineCount.page │ ├── Topten.RichTextKit.RichString.LineHeight.page │ ├── Topten.RichTextKit.RichString.MarginBottom.page │ ├── Topten.RichTextKit.RichString.MarginLeft.page │ ├── Topten.RichTextKit.RichString.MarginRight.page │ ├── Topten.RichTextKit.RichString.MarginTop.page │ ├── Topten.RichTextKit.RichString.MaxHeight.page │ ├── Topten.RichTextKit.RichString.MaxLines.page │ ├── Topten.RichTextKit.RichString.MaxWidth.page │ ├── Topten.RichTextKit.RichString.MeasuredHeight.page │ ├── Topten.RichTextKit.RichString.MeasuredLength.page │ ├── Topten.RichTextKit.RichString.MeasuredWidth.page │ ├── Topten.RichTextKit.RichString.Normal.page │ ├── Topten.RichTextKit.RichString.Paint.page │ ├── Topten.RichTextKit.RichString.Paragraph.page │ ├── Topten.RichTextKit.RichString.Pop.page │ ├── Topten.RichTextKit.RichString.Push.page │ ├── Topten.RichTextKit.RichString.Revision.page │ ├── Topten.RichTextKit.RichString.StrikeThrough.page │ ├── Topten.RichTextKit.RichString.TextColor.page │ ├── Topten.RichTextKit.RichString.TextDirection.page │ ├── Topten.RichTextKit.RichString.ToString.page │ ├── Topten.RichTextKit.RichString.Truncated.page │ ├── Topten.RichTextKit.RichString.Underline.page │ ├── Topten.RichTextKit.RichString.page │ ├── Topten.RichTextKit.StrikeThroughStyle.page │ ├── Topten.RichTextKit.Style..ctor.page │ ├── Topten.RichTextKit.Style.BackgroundColor.page │ ├── Topten.RichTextKit.Style.FontFamily.page │ ├── Topten.RichTextKit.Style.FontItalic.page │ ├── Topten.RichTextKit.Style.FontSize.page │ ├── Topten.RichTextKit.Style.FontVariant.page │ ├── Topten.RichTextKit.Style.FontWeight.page │ ├── Topten.RichTextKit.Style.FontWidth.page │ ├── Topten.RichTextKit.Style.HaloBlur.page │ ├── Topten.RichTextKit.Style.HaloColor.page │ ├── Topten.RichTextKit.Style.HaloWidth.page │ ├── Topten.RichTextKit.Style.LetterSpacing.page │ ├── Topten.RichTextKit.Style.LineHeight.page │ ├── Topten.RichTextKit.Style.Modify.page │ ├── Topten.RichTextKit.Style.ReplacementCharacter.page │ ├── Topten.RichTextKit.Style.Seal.page │ ├── Topten.RichTextKit.Style.StrikeThrough.page │ ├── Topten.RichTextKit.Style.TextColor.page │ ├── Topten.RichTextKit.Style.TextDirection.page │ ├── Topten.RichTextKit.Style.Underline.page │ ├── Topten.RichTextKit.Style.page │ ├── Topten.RichTextKit.StyleManager..ctor.page │ ├── Topten.RichTextKit.StyleManager.BackgroundColor.page │ ├── Topten.RichTextKit.StyleManager.Bold.page │ ├── Topten.RichTextKit.StyleManager.CurrentStyle.page │ ├── Topten.RichTextKit.StyleManager.Default.page │ ├── Topten.RichTextKit.StyleManager.DefaultStyle.page │ ├── Topten.RichTextKit.StyleManager.FontFamily.page │ ├── Topten.RichTextKit.StyleManager.FontItalic.page │ ├── Topten.RichTextKit.StyleManager.FontSize.page │ ├── Topten.RichTextKit.StyleManager.FontVariant.page │ ├── Topten.RichTextKit.StyleManager.FontWeight.page │ ├── Topten.RichTextKit.StyleManager.FontWidth.page │ ├── Topten.RichTextKit.StyleManager.FromStyle.page │ ├── Topten.RichTextKit.StyleManager.HaloBlur.page │ ├── Topten.RichTextKit.StyleManager.HaloColor.page │ ├── Topten.RichTextKit.StyleManager.HaloWidth.page │ ├── Topten.RichTextKit.StyleManager.LetterSpacing.page │ ├── Topten.RichTextKit.StyleManager.LineHeight.page │ ├── Topten.RichTextKit.StyleManager.Pop.page │ ├── Topten.RichTextKit.StyleManager.Push.page │ ├── Topten.RichTextKit.StyleManager.ReplacementCharacter.page │ ├── Topten.RichTextKit.StyleManager.Reset.page │ ├── Topten.RichTextKit.StyleManager.StrikeThrough.page │ ├── Topten.RichTextKit.StyleManager.TextColor.page │ ├── Topten.RichTextKit.StyleManager.TextDirection.page │ ├── Topten.RichTextKit.StyleManager.Underline.page │ ├── Topten.RichTextKit.StyleManager.Update.page │ ├── Topten.RichTextKit.StyleManager.page │ ├── Topten.RichTextKit.StyleRun..ctor.page │ ├── Topten.RichTextKit.StyleRun.CodePoints.page │ ├── Topten.RichTextKit.StyleRun.End.page │ ├── Topten.RichTextKit.StyleRun.Length.page │ ├── Topten.RichTextKit.StyleRun.Start.page │ ├── Topten.RichTextKit.StyleRun.Style.page │ ├── Topten.RichTextKit.StyleRun.ToString.page │ ├── Topten.RichTextKit.StyleRun.page │ ├── Topten.RichTextKit.StyledText..ctor.page │ ├── Topten.RichTextKit.StyledText.AddText.page │ ├── Topten.RichTextKit.StyledText.ApplyStyle.page │ ├── Topten.RichTextKit.StyledText.CharacterToCodePointIndex.page │ ├── Topten.RichTextKit.StyledText.Clear.page │ ├── Topten.RichTextKit.StyledText.CodePointToCharacterIndex.page │ ├── Topten.RichTextKit.StyledText.CodePoints.page │ ├── Topten.RichTextKit.StyledText.DeleteText.page │ ├── Topten.RichTextKit.StyledText.Extract.page │ ├── Topten.RichTextKit.StyledText.GetStyleAtOffset.page │ ├── Topten.RichTextKit.StyledText.InsertText.page │ ├── Topten.RichTextKit.StyledText.Length.page │ ├── Topten.RichTextKit.StyledText.OnChanged.page │ ├── Topten.RichTextKit.StyledText.StyleRuns.page │ ├── Topten.RichTextKit.StyledText.ToString.page │ ├── Topten.RichTextKit.StyledText._codePoints.page │ ├── Topten.RichTextKit.StyledText._hasTextDirectionOverrides.page │ ├── Topten.RichTextKit.StyledText._styleRuns.page │ ├── Topten.RichTextKit.StyledText.page │ ├── Topten.RichTextKit.SwapHelper.Swap[T].page │ ├── Topten.RichTextKit.SwapHelper.page │ ├── Topten.RichTextKit.TextAlignment.page │ ├── Topten.RichTextKit.TextBlock..ctor.page │ ├── Topten.RichTextKit.TextBlock.AddEllipsis.page │ ├── Topten.RichTextKit.TextBlock.Alignment.page │ ├── Topten.RichTextKit.TextBlock.BaseDirection.page │ ├── Topten.RichTextKit.TextBlock.CaretIndicies.page │ ├── Topten.RichTextKit.TextBlock.Clear.page │ ├── Topten.RichTextKit.TextBlock.Copy.page │ ├── Topten.RichTextKit.TextBlock.EllipsisEnabled.page │ ├── Topten.RichTextKit.TextBlock.FindFontRunForCodePointIndex.page │ ├── Topten.RichTextKit.TextBlock.FontMapper.page │ ├── Topten.RichTextKit.TextBlock.FontRuns.page │ ├── Topten.RichTextKit.TextBlock.GetCaretInfo.page │ ├── Topten.RichTextKit.TextBlock.HitTest.page │ ├── Topten.RichTextKit.TextBlock.HitTestLine.page │ ├── Topten.RichTextKit.TextBlock.Layout.page │ ├── Topten.RichTextKit.TextBlock.LineCount.page │ ├── Topten.RichTextKit.TextBlock.LineIndicies.page │ ├── Topten.RichTextKit.TextBlock.Lines.page │ ├── Topten.RichTextKit.TextBlock.LookupCaretIndex.page │ ├── Topten.RichTextKit.TextBlock.MaxHeight.page │ ├── Topten.RichTextKit.TextBlock.MaxLines.page │ ├── Topten.RichTextKit.TextBlock.MaxWidth.page │ ├── Topten.RichTextKit.TextBlock.MeasuredHeight.page │ ├── Topten.RichTextKit.TextBlock.MeasuredLength.page │ ├── Topten.RichTextKit.TextBlock.MeasuredOverhang.page │ ├── Topten.RichTextKit.TextBlock.MeasuredPadding.page │ ├── Topten.RichTextKit.TextBlock.MeasuredWidth.page │ ├── Topten.RichTextKit.TextBlock.OnChanged.page │ ├── Topten.RichTextKit.TextBlock.Paint.page │ ├── Topten.RichTextKit.TextBlock.RenderWidth.page │ ├── Topten.RichTextKit.TextBlock.ResetPooledMemory.page │ ├── Topten.RichTextKit.TextBlock.Truncated.page │ ├── Topten.RichTextKit.TextBlock.WordBoundaryIndicies.page │ ├── Topten.RichTextKit.TextBlock.page │ ├── Topten.RichTextKit.TextDirection.page │ ├── Topten.RichTextKit.TextLine..ctor.page │ ├── Topten.RichTextKit.TextLine.BaseLine.page │ ├── Topten.RichTextKit.TextLine.End.page │ ├── Topten.RichTextKit.TextLine.Height.page │ ├── Topten.RichTextKit.TextLine.HitTest.page │ ├── Topten.RichTextKit.TextLine.Length.page │ ├── Topten.RichTextKit.TextLine.MaxAscent.page │ ├── Topten.RichTextKit.TextLine.MaxDescent.page │ ├── Topten.RichTextKit.TextLine.NextLine.page │ ├── Topten.RichTextKit.TextLine.PreviousLine.page │ ├── Topten.RichTextKit.TextLine.Runs.page │ ├── Topten.RichTextKit.TextLine.Start.page │ ├── Topten.RichTextKit.TextLine.TextBlock.page │ ├── Topten.RichTextKit.TextLine.TextHeight.page │ ├── Topten.RichTextKit.TextLine.Width.page │ ├── Topten.RichTextKit.TextLine.YCoord.page │ ├── Topten.RichTextKit.TextLine.page │ ├── Topten.RichTextKit.TextPaintOptions..ctor.page │ ├── Topten.RichTextKit.TextPaintOptions.Clone.page │ ├── Topten.RichTextKit.TextPaintOptions.Default.page │ ├── Topten.RichTextKit.TextPaintOptions.Edging.page │ ├── Topten.RichTextKit.TextPaintOptions.Hinting.page │ ├── Topten.RichTextKit.TextPaintOptions.IsAntialias.page │ ├── Topten.RichTextKit.TextPaintOptions.LcdRenderText.page │ ├── Topten.RichTextKit.TextPaintOptions.Selection.page │ ├── Topten.RichTextKit.TextPaintOptions.SelectionColor.page │ ├── Topten.RichTextKit.TextPaintOptions.SelectionHandleColor.page │ ├── Topten.RichTextKit.TextPaintOptions.SelectionHandleScale.page │ ├── Topten.RichTextKit.TextPaintOptions.SubpixelPositioning.page │ ├── Topten.RichTextKit.TextPaintOptions.page │ ├── Topten.RichTextKit.TextRange..ctor.page │ ├── Topten.RichTextKit.TextRange.AltPosition.page │ ├── Topten.RichTextKit.TextRange.CaretPosition.page │ ├── Topten.RichTextKit.TextRange.Clamp.page │ ├── Topten.RichTextKit.TextRange.End.page │ ├── Topten.RichTextKit.TextRange.IsEqual.page │ ├── Topten.RichTextKit.TextRange.IsRange.page │ ├── Topten.RichTextKit.TextRange.Length.page │ ├── Topten.RichTextKit.TextRange.Maximum.page │ ├── Topten.RichTextKit.TextRange.Minimum.page │ ├── Topten.RichTextKit.TextRange.Normalized.page │ ├── Topten.RichTextKit.TextRange.Offset.page │ ├── Topten.RichTextKit.TextRange.Reversed.page │ ├── Topten.RichTextKit.TextRange.Start.page │ ├── Topten.RichTextKit.TextRange.ToString.page │ ├── Topten.RichTextKit.TextRange.Union.page │ ├── Topten.RichTextKit.TextRange.UpdateForEdit.page │ ├── Topten.RichTextKit.TextRange.page │ ├── Topten.RichTextKit.UnderlineStyle.page │ ├── Topten.RichTextKit.Utils.BinarySearchExtension.BinarySearch[T].page │ ├── Topten.RichTextKit.Utils.BinarySearchExtension.page │ ├── Topten.RichTextKit.Utils.Buffer[T]..ctor.page │ ├── Topten.RichTextKit.Utils.Buffer[T].Add.page │ ├── Topten.RichTextKit.Utils.Buffer[T].AsSlice.page │ ├── Topten.RichTextKit.Utils.Buffer[T].Clear.page │ ├── Topten.RichTextKit.Utils.Buffer[T].Delete.page │ ├── Topten.RichTextKit.Utils.Buffer[T].GetRanges.page │ ├── Topten.RichTextKit.Utils.Buffer[T].Insert.page │ ├── Topten.RichTextKit.Utils.Buffer[T].Item.page │ ├── Topten.RichTextKit.Utils.Buffer[T].Length.page │ ├── Topten.RichTextKit.Utils.Buffer[T].Replace.page │ ├── Topten.RichTextKit.Utils.Buffer[T].Split.page │ ├── Topten.RichTextKit.Utils.Buffer[T].SubSlice.page │ ├── Topten.RichTextKit.Utils.Buffer[T].Underlying.page │ ├── Topten.RichTextKit.Utils.Buffer[T].page │ ├── Topten.RichTextKit.Utils.IRun.Length.page │ ├── Topten.RichTextKit.Utils.IRun.Offset.page │ ├── Topten.RichTextKit.Utils.IRun.page │ ├── Topten.RichTextKit.Utils.MappedSlice[T]..ctor.page │ ├── Topten.RichTextKit.Utils.MappedSlice[T].Item.page │ ├── Topten.RichTextKit.Utils.MappedSlice[T].Length.page │ ├── Topten.RichTextKit.Utils.MappedSlice[T].Mapping.page │ ├── Topten.RichTextKit.Utils.MappedSlice[T].ToArray.page │ ├── Topten.RichTextKit.Utils.MappedSlice[T].Underlying.page │ ├── Topten.RichTextKit.Utils.MappedSlice[T].page │ ├── Topten.RichTextKit.Utils.RunExtensions.CheckValid[T].page │ ├── Topten.RichTextKit.Utils.RunExtensions.GetInterectingRuns[T].page │ ├── Topten.RichTextKit.Utils.RunExtensions.GetIntersectingRunsReverse[T].page │ ├── Topten.RichTextKit.Utils.RunExtensions.TotalLength[T].page │ ├── Topten.RichTextKit.Utils.RunExtensions.page │ ├── Topten.RichTextKit.Utils.Slice[T]..ctor.page │ ├── Topten.RichTextKit.Utils.Slice[T].AsSpan.page │ ├── Topten.RichTextKit.Utils.Slice[T].Clear.page │ ├── Topten.RichTextKit.Utils.Slice[T].Copy.page │ ├── Topten.RichTextKit.Utils.Slice[T].Empty.page │ ├── Topten.RichTextKit.Utils.Slice[T].Fill.page │ ├── Topten.RichTextKit.Utils.Slice[T].IndexOf.page │ ├── Topten.RichTextKit.Utils.Slice[T].IndexOfAny.page │ ├── Topten.RichTextKit.Utils.Slice[T].Item.page │ ├── Topten.RichTextKit.Utils.Slice[T].Length.page │ ├── Topten.RichTextKit.Utils.Slice[T].Replace.page │ ├── Topten.RichTextKit.Utils.Slice[T].Set.page │ ├── Topten.RichTextKit.Utils.Slice[T].Split.page │ ├── Topten.RichTextKit.Utils.Slice[T].Start.page │ ├── Topten.RichTextKit.Utils.Slice[T].SubSlice.page │ ├── Topten.RichTextKit.Utils.Slice[T].ToArray.page │ ├── Topten.RichTextKit.Utils.Slice[T].Underlying.page │ ├── Topten.RichTextKit.Utils.Slice[T].page │ ├── Topten.RichTextKit.Utils.SubRun..ctor.page │ ├── Topten.RichTextKit.Utils.SubRun.Index.page │ ├── Topten.RichTextKit.Utils.SubRun.Length.page │ ├── Topten.RichTextKit.Utils.SubRun.Offset.page │ ├── Topten.RichTextKit.Utils.SubRun.Partial.page │ ├── Topten.RichTextKit.Utils.SubRun.page │ ├── Topten.RichTextKit.Utils.UndoGroup[T]..ctor.page │ ├── Topten.RichTextKit.Utils.UndoGroup[T].Add.page │ ├── Topten.RichTextKit.Utils.UndoGroup[T].Do.page │ ├── Topten.RichTextKit.Utils.UndoGroup[T].Insert.page │ ├── Topten.RichTextKit.Utils.UndoGroup[T].LastUnit.page │ ├── Topten.RichTextKit.Utils.UndoGroup[T].OnClose.page │ ├── Topten.RichTextKit.Utils.UndoGroup[T].OnOpen.page │ ├── Topten.RichTextKit.Utils.UndoGroup[T].Redo.page │ ├── Topten.RichTextKit.Utils.UndoGroup[T].Undo.page │ ├── Topten.RichTextKit.Utils.UndoGroup[T].Units.page │ ├── Topten.RichTextKit.Utils.UndoGroup[T].page │ ├── Topten.RichTextKit.Utils.UndoManager[T]..ctor.page │ ├── Topten.RichTextKit.Utils.UndoManager[T].CanRedo.page │ ├── Topten.RichTextKit.Utils.UndoManager[T].CanUndo.page │ ├── Topten.RichTextKit.Utils.UndoManager[T].Clear.page │ ├── Topten.RichTextKit.Utils.UndoManager[T].CloseGroup.page │ ├── Topten.RichTextKit.Utils.UndoManager[T].Do.page │ ├── Topten.RichTextKit.Utils.UndoManager[T].EndOperation.page │ ├── Topten.RichTextKit.Utils.UndoManager[T].GetRedoUnit.page │ ├── Topten.RichTextKit.Utils.UndoManager[T].GetUndoUnit.page │ ├── Topten.RichTextKit.Utils.UndoManager[T].GetUnsealedUnit.page │ ├── Topten.RichTextKit.Utils.UndoManager[T].IsModified.page │ ├── Topten.RichTextKit.Utils.UndoManager[T].MarkUnmodified.page │ ├── Topten.RichTextKit.Utils.UndoManager[T].ModifiedChanged.page │ ├── Topten.RichTextKit.Utils.UndoManager[T].OnEndOperation.page │ ├── Topten.RichTextKit.Utils.UndoManager[T].OnModifiedChanged.page │ ├── Topten.RichTextKit.Utils.UndoManager[T].OnStartOperation.page │ ├── Topten.RichTextKit.Utils.UndoManager[T].OpenGroup.page │ ├── Topten.RichTextKit.Utils.UndoManager[T].Redo.page │ ├── Topten.RichTextKit.Utils.UndoManager[T].RedoDescription.page │ ├── Topten.RichTextKit.Utils.UndoManager[T].Seal.page │ ├── Topten.RichTextKit.Utils.UndoManager[T].StartOperation.page │ ├── Topten.RichTextKit.Utils.UndoManager[T].Undo.page │ ├── Topten.RichTextKit.Utils.UndoManager[T].UndoDescription.page │ ├── Topten.RichTextKit.Utils.UndoManager[T].page │ ├── Topten.RichTextKit.Utils.UndoUnit[T]..ctor.page │ ├── Topten.RichTextKit.Utils.UndoUnit[T].Description.page │ ├── Topten.RichTextKit.Utils.UndoUnit[T].Do.page │ ├── Topten.RichTextKit.Utils.UndoUnit[T].Group.page │ ├── Topten.RichTextKit.Utils.UndoUnit[T].Redo.page │ ├── Topten.RichTextKit.Utils.UndoUnit[T].Seal.page │ ├── Topten.RichTextKit.Utils.UndoUnit[T].Sealed.page │ ├── Topten.RichTextKit.Utils.UndoUnit[T].Undo.page │ ├── Topten.RichTextKit.Utils.UndoUnit[T].page │ ├── Topten.RichTextKit.Utils.Utf32Buffer..ctor.page │ ├── Topten.RichTextKit.Utils.Utf32Buffer.Add.page │ ├── Topten.RichTextKit.Utils.Utf32Buffer.Clear.page │ ├── Topten.RichTextKit.Utils.Utf32Buffer.Delete.page │ ├── Topten.RichTextKit.Utils.Utf32Buffer.GetString.page │ ├── Topten.RichTextKit.Utils.Utf32Buffer.Insert.page │ ├── Topten.RichTextKit.Utils.Utf32Buffer.ToString.page │ ├── Topten.RichTextKit.Utils.Utf32Buffer.Utf16OffsetToUtf32Offset.page │ ├── Topten.RichTextKit.Utils.Utf32Buffer.Utf32OffsetToUtf16Offset.page │ ├── Topten.RichTextKit.Utils.Utf32Buffer.page │ ├── Topten.RichTextKit.Utils.Utf32Utils.FromUtf32.page │ ├── Topten.RichTextKit.Utils.Utf32Utils.ToUtf32.page │ ├── Topten.RichTextKit.Utils.Utf32Utils.page │ ├── Topten.RichTextKit.Utils.page │ └── Topten.RichTextKit.page ├── rendering.page ├── sandbox@2x.png └── textBlock.page ├── docsrc ├── basics.md ├── caret.md ├── hittesting.md ├── index.page ├── install.md ├── layout.md ├── license.md ├── measuring.md ├── rendering.md ├── sandbox@2x.png └── textBlock.md ├── license.txt ├── readme.md ├── version.cs ├── version.json └── version.props /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto 2 | 3 | *.tt text eol=crlf 4 | *.sln text eol=crlf 5 | *.csproj text eol=crlf 6 | *.vbproj text eol=crlf 7 | *.vcxproj text eol=crlf 8 | *.vcproj text eol=crlf 9 | *.dbproj text eol=crlf 10 | *.fsproj text eol=crlf 11 | *.lsproj text eol=crlf 12 | *.wixproj text eol=crlf 13 | *.modelproj text eol=crlf 14 | *.sqlproj text eol=crlf 15 | *.wmaproj text eol=crlf 16 | 17 | *.xproj text eol=crlf 18 | *.props text eol=crlf 19 | *.filters text eol=crlf 20 | *.vcxitems text eol=crlf 21 | 22 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # git-ls-files --others --exclude-from=.git/info/exclude 2 | .vs/ 3 | bin 4 | obj 5 | build 6 | *.suo 7 | *.vsp 8 | *.psess 9 | .DS_Store 10 | *.userprefs 11 | *.bin 12 | .idea 13 | packages -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "buildtools"] 2 | path = buildtools 3 | url = https://github.com/toptensoftware/buildtools.git 4 | branch = main 5 | 6 | -------------------------------------------------------------------------------- /Artwork/banner@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/parentelement/RichTextKit/9c2a5b1324b921ebd4a3e0e8c971b5fb6d273afd/Artwork/banner@2x.png -------------------------------------------------------------------------------- /Artwork/nuget-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/parentelement/RichTextKit/9c2a5b1324b921ebd4a3e0e8c971b5fb6d273afd/Artwork/nuget-icon.png -------------------------------------------------------------------------------- /BuildUnicodeData/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | -------------------------------------------------------------------------------- /BuildUnicodeData/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | { 8 | "type": "node", 9 | "request": "launch", 10 | "name": "Launch Program", 11 | "skipFiles": [ 12 | "/**" 13 | ], 14 | "program": "${workspaceFolder}\\generate.js" 15 | } 16 | ] 17 | } -------------------------------------------------------------------------------- /BuildUnicodeData/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "request": "^2.88.0", 4 | "unicode-trie": "^1.0.0" 5 | }, 6 | "main": "generate.js" 7 | } 8 | -------------------------------------------------------------------------------- /LineBreakV12/LineBreakerRules.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/parentelement/RichTextKit/9c2a5b1324b921ebd4a3e0e8c971b5fb6d273afd/LineBreakV12/LineBreakerRules.txt -------------------------------------------------------------------------------- /References/uax9.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/parentelement/RichTextKit/9c2a5b1324b921ebd4a3e0e8c971b5fb6d273afd/References/uax9.pdf -------------------------------------------------------------------------------- /RichStringSandbox/App.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /RichStringSandbox/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using System.Windows.Forms; 6 | 7 | namespace RichStringSandbox 8 | { 9 | static class Program 10 | { 11 | /// 12 | /// The main entry point for the application. 13 | /// 14 | [STAThread] 15 | static void Main() 16 | { 17 | Application.EnableVisualStyles(); 18 | Application.SetCompatibleTextRenderingDefault(false); 19 | Application.Run(new Form1()); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /RichStringSandbox/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Sandbox/App.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Sandbox/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using System.Windows.Forms; 6 | 7 | namespace Sandbox 8 | { 9 | static class Program 10 | { 11 | /// 12 | /// The main entry point for the application. 13 | /// 14 | [STAThread] 15 | static void Main() 16 | { 17 | Application.EnableVisualStyles(); 18 | Application.SetCompatibleTextRenderingDefault(false); 19 | Application.Run(new Form1()); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Sandbox/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /SandboxDriver/SandboxDriver.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | net462 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /SandboxDriver/SandboxFontMapper.cs: -------------------------------------------------------------------------------- 1 | using SkiaSharp; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Text; 5 | using Topten.RichTextKit; 6 | 7 | namespace SandboxDriver 8 | { 9 | class SandboxFontMapper : FontMapper 10 | { 11 | public SandboxFontMapper() 12 | { 13 | var stm = typeof(SandboxDriver).Assembly.GetManifestResourceStream("SandboxDriver.fontawesome.ttf"); 14 | _fontAwesome = SKTypeface.FromStream(stm); 15 | } 16 | 17 | SKTypeface _fontAwesome; 18 | 19 | public override SKTypeface TypefaceFromStyle(IStyle style, bool ignoreFontVariants) 20 | { 21 | if (style.FontFamily == "FontAwesome") 22 | return _fontAwesome; 23 | 24 | return base.TypefaceFromStyle(style, ignoreFontVariants); 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /SandboxDriver/fontawesome.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/parentelement/RichTextKit/9c2a5b1324b921ebd4a3e0e8c971b5fb6d273afd/SandboxDriver/fontawesome.ttf -------------------------------------------------------------------------------- /TestBench/Program.cs: -------------------------------------------------------------------------------- 1 | using Topten.RichTextKit.Test; 2 | 3 | namespace TestBench 4 | { 5 | class Program 6 | { 7 | static void Main(string[] args) 8 | { 9 | GraphemeClusterTests.Run(); 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /TestBench/TestBench.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Exe 5 | netcoreapp3.1 6 | True 7 | 8 | 9 | 10 | full 11 | true 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /Topten.RichTextKit.Test/TestData/BidiTest.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/parentelement/RichTextKit/9c2a5b1324b921ebd4a3e0e8c971b5fb6d273afd/Topten.RichTextKit.Test/TestData/BidiTest.txt -------------------------------------------------------------------------------- /Topten.RichTextKit.Test/Topten.RichTextKit.Test.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | netcoreapp3.1 7 | false 8 | 9 | 10 | 11 | 12 | 13 | 14 | all 15 | runtime; build; native; contentfiles; analyzers; buildtransitive 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /Topten.RichTextKit/Editor/UndoUnits/UndoDeleteParagraph.cs: -------------------------------------------------------------------------------- 1 | using Topten.RichTextKit.Utils; 2 | 3 | namespace Topten.RichTextKit.Editor.UndoUnits 4 | { 5 | class UndoDeleteParagraph : UndoUnit 6 | { 7 | public UndoDeleteParagraph(int index) 8 | { 9 | _index = index; 10 | } 11 | 12 | public override void Do(TextDocument context) 13 | { 14 | _paragraph = context._paragraphs[_index]; 15 | context._paragraphs.RemoveAt(_index); 16 | } 17 | 18 | public override void Undo(TextDocument context) 19 | { 20 | context._paragraphs.Insert(_index, _paragraph); 21 | } 22 | 23 | int _index; 24 | Paragraph _paragraph; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /Topten.RichTextKit/Editor/UndoUnits/UndoInsertParagraph.cs: -------------------------------------------------------------------------------- 1 | using Topten.RichTextKit.Utils; 2 | 3 | namespace Topten.RichTextKit.Editor.UndoUnits 4 | { 5 | class UndoInsertParagraph : UndoUnit 6 | { 7 | public UndoInsertParagraph(int index, Paragraph paragraph) 8 | { 9 | _index = index; 10 | _paragraph = paragraph; 11 | } 12 | 13 | public override void Do(TextDocument context) 14 | { 15 | context._paragraphs.Insert(_index, _paragraph); 16 | } 17 | 18 | public override void Undo(TextDocument context) 19 | { 20 | context._paragraphs.RemoveAt(_index); 21 | } 22 | 23 | int _index; 24 | Paragraph _paragraph; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /Topten.RichTextKit/FontFallback/DefaultCharacterMatcher.cs: -------------------------------------------------------------------------------- 1 | using SkiaSharp; 2 | 3 | namespace Topten.RichTextKit 4 | { 5 | class DefaultCharacterMatcher : ICharacterMatcher 6 | { 7 | public DefaultCharacterMatcher() 8 | { 9 | 10 | } 11 | 12 | SKFontManager _fontManager = SKFontManager.Default; 13 | 14 | /// 15 | public SKTypeface MatchCharacter(string familyName, int weight, int width, SKFontStyleSlant slant, string[] bcp47, int character) 16 | { 17 | return _fontManager.MatchCharacter(familyName, weight, width, slant, bcp47, character); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Topten.RichTextKit/Foo.cs: -------------------------------------------------------------------------------- 1 | namespace Topten.RichTextKit 2 | { 3 | public partial class Foo 4 | { 5 | public void Bar() { } 6 | internal void BarInternal() { } 7 | protected void BarProtected() { } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Topten.RichTextKit/IntRange.cs: -------------------------------------------------------------------------------- 1 | namespace Topten.RichTextKit 2 | { 3 | internal struct IntRange 4 | { 5 | internal int Start { get; } 6 | internal int End { get; } 7 | 8 | internal IntRange(int start, int end) 9 | { 10 | Start = start; 11 | End = end; 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Topten.RichTextKit/Resources/BidiClasses.trie: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/parentelement/RichTextKit/9c2a5b1324b921ebd4a3e0e8c971b5fb6d273afd/Topten.RichTextKit/Resources/BidiClasses.trie -------------------------------------------------------------------------------- /Topten.RichTextKit/Resources/GraphemeClusterClasses.trie: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/parentelement/RichTextKit/9c2a5b1324b921ebd4a3e0e8c971b5fb6d273afd/Topten.RichTextKit/Resources/GraphemeClusterClasses.trie -------------------------------------------------------------------------------- /Topten.RichTextKit/Resources/LineBreakClasses.trie: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/parentelement/RichTextKit/9c2a5b1324b921ebd4a3e0e8c971b5fb6d273afd/Topten.RichTextKit/Resources/LineBreakClasses.trie -------------------------------------------------------------------------------- /Topten.RichTextKit/Resources/WordBoundaryClasses.trie: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/parentelement/RichTextKit/9c2a5b1324b921ebd4a3e0e8c971b5fb6d273afd/Topten.RichTextKit/Resources/WordBoundaryClasses.trie -------------------------------------------------------------------------------- /Topten.RichTextKit/SelectionInfo.cs: -------------------------------------------------------------------------------- 1 | namespace Topten.RichTextKit 2 | { 3 | public readonly struct SelectionInfo 4 | { 5 | public StyleInfo StyleInfo { get; } 6 | public TextAlignment? ParagraphAlignment { get; } 7 | public float? LineSpacing { get; } 8 | 9 | public SelectionInfo(StyleInfo styleInfo, TextAlignment? paragraphAlignment, float? lineSpacing) 10 | { 11 | StyleInfo = styleInfo; 12 | ParagraphAlignment = paragraphAlignment; 13 | LineSpacing = lineSpacing; 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Topten.RichTextKit/Topten.RichTextKit.csproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | false 5 | 6 | -------------------------------------------------------------------------------- /Topten.RichTextKit/Utils/InternalsVisibleTo.cs: -------------------------------------------------------------------------------- 1 | // RichTextKit 2 | // Copyright © 2019-2020 Topten Software. All Rights Reserved. 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); you may 5 | // not use this product except in compliance with the License. You may obtain 6 | // a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | // License for the specific language governing permissions and limitations 14 | // under the License. 15 | 16 | using System.Runtime.CompilerServices; 17 | 18 | [assembly: InternalsVisibleTo("Topten.RichTextKit.Test")] 19 | [assembly: InternalsVisibleTo("TestBench")] -------------------------------------------------------------------------------- /Topten.RichTextKit/Utils/SwapHelper.cs: -------------------------------------------------------------------------------- 1 | namespace Topten.RichTextKit 2 | { 3 | /// 4 | /// Helper class to swap two values 5 | /// 6 | public static class SwapHelper 7 | { 8 | /// 9 | /// Swaps two values 10 | /// 11 | /// The value type 12 | /// The first value 13 | /// The second value 14 | public static void Swap(ref T a, ref T b) 15 | { 16 | var temp = a; 17 | a = b; 18 | b = temp; 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /azure-pipelines.yml: -------------------------------------------------------------------------------- 1 | trigger: 2 | - master 3 | 4 | pool: 5 | name: Hosted Windows 2019 with VS2019 6 | 7 | steps: 8 | - checkout: self 9 | submodules: true 10 | - pwsh: node build.js 11 | - task: PublishBuildArtifacts@1 12 | inputs: 13 | pathToPublish: 'Build\Release\Topten.RichTextKit' 14 | artifactName: 'BuildOutput' 15 | -------------------------------------------------------------------------------- /build.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | node build.js %* -------------------------------------------------------------------------------- /common.props: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | false 5 | True 6 | latest 7 | ..\Build\$(Configuration)\$(MSBuildProjectName) 8 | ..\Build\$(Configuration)\$(MSBuildProjectName)\$(TargetFramework)\obj 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /doc/Artwork/banner@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/parentelement/RichTextKit/9c2a5b1324b921ebd4a3e0e8c971b5fb6d273afd/doc/Artwork/banner@2x.png -------------------------------------------------------------------------------- /doc/caret.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Caret Information" 3 | isMarkdown: false 4 | --- 5 |

Caret Information

6 |

The caret is the flashing cursor that's typically shown in a text editor 7 | to show the current insert position. Although RichTextKit doesn't provide 8 | any editing capabilities, it does include the ability to calculate where 9 | the caret should be displayed.

10 |

To determine where the caret should be displayed, call the 11 | RichString.GetCaretInfo or 12 | TextBlock.GetCaretInfo 13 | method which will return a CaretInfo structure describing 14 | where the caret should be drawn, the shape of the caret (sloped for italic) and 15 | other useful details about the current caret position.

16 | 17 | -------------------------------------------------------------------------------- /doc/hittesting.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Hit Testing" 3 | isMarkdown: false 4 | --- 5 |

Hit Testing

6 |

Hit testing lets you find the character cluster that a co-ordinate 7 | is either directly over and/or closest to. This can be used to be build a range 8 | selection feature and/or as part of a more comprehensive editor.

9 |
// Hit test a mouse co-ordinate for example
10 | var htr = tb.HitTest(x, y);
11 | 
12 |

The co-ordinates passed to the RichString.HitTest and TextBlock.HitTest 13 | methods must be relative to the top-left corner of the object. (ie: you'll probably 14 | need to adjust the co-ordinates by subtracting the top-left position of where you're 15 | displaying the text block).

16 |

The returned HitTestResult structure describes the line 17 | and code point cluster the point is either directly over and/or closest to.

18 | 19 | -------------------------------------------------------------------------------- /doc/install.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Installation" 3 | isMarkdown: false 4 | --- 5 |

Installation

6 |

NuGet

7 |

RichTextKit is available as a NuGet package for net45 and netcoreapp2.1 frameworks:

8 |
Install-Package Topten.RichTextKit
 9 | 
10 |

Note that RichTextKit is currently still under development and has only been tested on 11 | Windows

12 |

Source Repository

13 |

Source code is available on GitHub:

14 |

https://github.com/toptensoftware/richtextkit

15 | 16 | -------------------------------------------------------------------------------- /doc/license.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "License" 3 | isMarkdown: false 4 | --- 5 |

License

6 |

Copyright © 2020 Topten Software. All Rights Reserved.

7 |

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this 8 | product except in compliance with the License. You may obtain a copy of the License at

9 |

http://www.apache.org/licenses/LICENSE-2.0

10 |

Unless required by applicable law or agreed to in writing, software distributed under 11 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 12 | KIND, either express or implied. See the License for the specific language governing 13 | permissions and limitations under the License.

14 | 15 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.CaretInfo.CaretXCoord.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "CaretInfo.CaretXCoord" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

CaretInfo.CaretXCoord Field

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: CaretInfo
16 |
17 |

18 | 19 | 20 | 21 | 22 |

The X-coordinate where the caret should be displayed for this code point.

23 | 24 | 25 |
public float CaretXCoord;
26 | 27 | 28 |

Field Type

29 | 30 | 31 | 32 | 33 |
float
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.CaretInfo.CodePointIndex.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "CaretInfo.CodePointIndex" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

CaretInfo.CodePointIndex Field

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: CaretInfo
16 |
17 |

18 | 19 | 20 | 21 | 22 |

Returns the index of the code point that this caret info refers to.

23 | 24 | 25 |
public int CodePointIndex;
26 | 27 | 28 |

Field Type

29 | 30 | 31 | 32 | 33 |
int
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.CaretInfo.IsNone.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "CaretInfo.IsNone" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

CaretInfo.IsNone Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: CaretInfo
16 |
17 |

18 | 19 | 20 | 21 | 22 |

Checks if this caret info represents a caret position of none, or not found

23 | 24 | 25 |
public bool IsNone { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
bool
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.CaretInfo.LineIndex.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "CaretInfo.LineIndex" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

CaretInfo.LineIndex Field

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: CaretInfo
16 |
17 |

18 | 19 | 20 | 21 | 22 |

Returns the line number that contains the caret

23 | 24 | 25 |
public int LineIndex;
26 | 27 | 28 |

Field Type

29 | 30 | 31 | 32 | 33 |
int
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.CaretInfo.None.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "CaretInfo.None" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

CaretInfo.None Field

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: CaretInfo
16 |
17 |

18 | 19 | 20 | 21 | 22 |

Place holder caret info structure for no caret

23 | 24 | 25 |
public static CaretInfo None;
26 | 27 | 28 |

Field Type

29 | 30 | 31 | 32 | 33 |
CaretInfo
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.CaretPosition.CodePointIndex.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "CaretPosition.CodePointIndex" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

CaretPosition.CodePointIndex Field

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: CaretPosition
16 |
17 |

18 | 19 | 20 | 21 | 22 |

The code point index of the caret insertion point

23 | 24 | 25 |
public int CodePointIndex;
26 | 27 | 28 |

Field Type

29 | 30 | 31 | 32 | 33 |
int
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.Editor.DocumentChangeInfo.NewLength.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "DocumentChangeInfo.NewLength" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

DocumentChangeInfo.NewLength Field

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit.Editor
14 | 15 | Declaring Type: DocumentChangeInfo
16 |
17 |

18 | 19 | 20 | 21 | 22 |

Length of the replacement text

23 | 24 | 25 |
public int NewLength;
26 | 27 | 28 |

Field Type

29 | 30 | 31 | 32 | 33 |
int
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.Editor.DocumentChangeInfo.OldLength.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "DocumentChangeInfo.OldLength" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

DocumentChangeInfo.OldLength Field

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit.Editor
14 | 15 | Declaring Type: DocumentChangeInfo
16 |
17 |

18 | 19 | 20 | 21 | 22 |

Length of the text that was replaced

23 | 24 | 25 |
public int OldLength;
26 | 27 | 28 |

Field Type

29 | 30 | 31 | 32 | 33 |
int
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.Editor.ITextDocumentView.OnRedraw.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "ITextDocumentView.OnRedraw" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

ITextDocumentView.OnRedraw Method

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit.Editor
14 | 15 | Declaring Type: ITextDocumentView
16 |
17 |

18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |

Notifies that something other than the content of the document 27 | has changed (eg: margins) and the view needs to be redrawn but 28 | the same selection can be maintained

29 | 30 | 31 |
void OnRedraw();
32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.Editor.ITextDocumentView.OnReset.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "ITextDocumentView.OnReset" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

ITextDocumentView.OnReset Method

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit.Editor
14 | 15 | Declaring Type: ITextDocumentView
16 |
17 |

18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |

Notifies that the view needs to be reset, typically because 27 | the entire content has been reloaded or updated

28 | 29 | 30 |
void OnReset();
31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.Editor.Paragraph..ctor.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Paragraph..ctor" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

Paragraph Constructor

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit.Editor
14 | 15 | Declaring Type: Paragraph
16 |
17 |

18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |

Constructs a new Paragraph

27 | 28 | 29 |
protected Paragraph();
30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.Editor.Paragraph.MarginBottom.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Paragraph.MarginBottom" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

Paragraph.MarginBottom Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit.Editor
14 | 15 | Declaring Type: Paragraph
16 |
17 |

18 | 19 | 20 | 21 | 22 |

The bottom margin

23 | 24 | 25 |
public float MarginBottom { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
float
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.Editor.Paragraph.MarginLeft.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Paragraph.MarginLeft" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

Paragraph.MarginLeft Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit.Editor
14 | 15 | Declaring Type: Paragraph
16 |
17 |

18 | 19 | 20 | 21 | 22 |

The left margin

23 | 24 | 25 |
public float MarginLeft { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
float
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.Editor.Paragraph.MarginRight.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Paragraph.MarginRight" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

Paragraph.MarginRight Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit.Editor
14 | 15 | Declaring Type: Paragraph
16 |
17 |

18 | 19 | 20 | 21 | 22 |

The right margin

23 | 24 | 25 |
public float MarginRight { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
float
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.Editor.Paragraph.MarginTop.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Paragraph.MarginTop" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

Paragraph.MarginTop Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit.Editor
14 | 15 | Declaring Type: Paragraph
16 |
17 |

18 | 19 | 20 | 21 | 22 |

The top margin

23 | 24 | 25 |
public float MarginTop { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
float
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.Editor.TextDocument..ctor.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "TextDocument..ctor" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

TextDocument Constructor

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit.Editor
14 | 15 | Declaring Type: TextDocument
16 |
17 |

18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |

Constructs a new TextDocument

27 | 28 | 29 |
public TextDocument();
30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.Editor.TextDocument.Length.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "TextDocument.Length" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

TextDocument.Length Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit.Editor
14 | 15 | Declaring Type: TextDocument
16 |
17 |

18 | 19 | 20 | 21 | 22 |

Gets the total length of the document in code points

23 | 24 | 25 |
public int Length { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
int
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.Editor.TextDocument.LineWrap.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "TextDocument.LineWrap" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

TextDocument.LineWrap Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit.Editor
14 | 15 | Declaring Type: TextDocument
16 |
17 |

18 | 19 | 20 | 21 | 22 |

Indicates if text should be wrapped

23 | 24 | 25 |
public bool LineWrap { get; set; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
bool
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.Editor.TextDocument.MarginBottom.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "TextDocument.MarginBottom" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

TextDocument.MarginBottom Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit.Editor
14 | 15 | Declaring Type: TextDocument
16 |
17 |

18 | 19 | 20 | 21 | 22 |

The document's bottom margin

23 | 24 | 25 |
public float MarginBottom { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
float
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.Editor.TextDocument.MarginLeft.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "TextDocument.MarginLeft" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

TextDocument.MarginLeft Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit.Editor
14 | 15 | Declaring Type: TextDocument
16 |
17 |

18 | 19 | 20 | 21 | 22 |

The document's left margin

23 | 24 | 25 |
public float MarginLeft { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
float
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.Editor.TextDocument.MarginRight.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "TextDocument.MarginRight" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

TextDocument.MarginRight Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit.Editor
14 | 15 | Declaring Type: TextDocument
16 |
17 |

18 | 19 | 20 | 21 | 22 |

The document's right margin

23 | 24 | 25 |
public float MarginRight { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
float
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.Editor.TextDocument.MarginTop.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "TextDocument.MarginTop" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

TextDocument.MarginTop Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit.Editor
14 | 15 | Declaring Type: TextDocument
16 |
17 |

18 | 19 | 20 | 21 | 22 |

The document's top margin

23 | 24 | 25 |
public float MarginTop { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
float
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.Editor.TextDocument.MeasuredHeight.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "TextDocument.MeasuredHeight" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

TextDocument.MeasuredHeight Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit.Editor
14 | 15 | Declaring Type: TextDocument
16 |
17 |

18 | 19 | 20 | 21 | 22 |

The total height of the document

23 | 24 | 25 |
public float MeasuredHeight { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
float
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.Editor.TextDocument.Text.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "TextDocument.Text" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

TextDocument.Text Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit.Editor
14 | 15 | Declaring Type: TextDocument
16 |
17 |

18 | 19 | 20 | 21 | 22 |

Get/set the entire document text

23 | 24 | 25 |
public string Text { get; set; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
string
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.FontFallback..ctor.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "FontFallback..ctor" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

FontFallback Constructor

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: FontFallback
16 |
17 |

18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 |
public FontFallback();
29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.FontFallback.Run.Length.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "FontFallback.Run.Length" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

FontFallback.Run.Length Field

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: FontFallback.Run
16 |
17 |

18 | 19 | 20 | 21 | 22 |

The length of this run in code points

23 | 24 | 25 |
public int Length;
26 | 27 | 28 |

Field Type

29 | 30 | 31 | 32 | 33 |
int
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.FontFallback.Run.Start.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "FontFallback.Run.Start" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

FontFallback.Run.Start Field

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: FontFallback.Run
16 |
17 |

18 | 19 | 20 | 21 | 22 |

The starting code point index of this run

23 | 24 | 25 |
public int Start;
26 | 27 | 28 |

Field Type

29 | 30 | 31 | 32 | 33 |
int
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.FontFallback.Run.Typeface.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "FontFallback.Run.Typeface" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

FontFallback.Run.Typeface Field

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: FontFallback.Run
16 |
17 |

18 | 19 | 20 | 21 | 22 |

The typeface to be used for this run

23 | 24 | 25 |
public SkiaSharp.SKTypeface Typeface;
26 | 27 | 28 |

Field Type

29 | 30 | 31 | 32 | 33 |
SkiaSharp.SKTypeface
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.FontMapper..ctor.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "FontMapper..ctor" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

FontMapper Constructor

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: FontMapper
16 |
17 |

18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |

Constructs a new FontMapper instnace

27 | 28 | 29 |
public FontMapper();
30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.FontRun..ctor.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "FontRun..ctor" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

FontRun Constructor

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: FontRun
16 |
17 |

18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 |
public FontRun();
29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.FontRun.Ascent.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "FontRun.Ascent" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

FontRun.Ascent Field

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: FontRun
16 |
17 |

18 | 19 | 20 | 21 | 22 |

The ascent of the font used in this run

23 | 24 | 25 |
public float Ascent;
26 | 27 | 28 |

Field Type

29 | 30 | 31 | 32 | 33 |
float
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.FontRun.Clusters.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "FontRun.Clusters" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

FontRun.Clusters Field

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: FontRun
16 |
17 |

18 | 19 | 20 | 21 | 22 |

The cluster numbers for each glyph

23 | 24 | 25 |
public Utils.Slice<int> Clusters;
26 | 27 | 28 |

Field Type

29 | 30 | 31 | 32 | 33 |
Utils.Slice<int>
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.FontRun.CodePoints.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "FontRun.CodePoints" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

FontRun.CodePoints Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: FontRun
16 |
17 |

18 | 19 | 20 | 21 | 22 |

Get the code points of this run

23 | 24 | 25 |
public Utils.Slice<int> CodePoints { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
Utils.Slice<int>
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.FontRun.Descent.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "FontRun.Descent" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

FontRun.Descent Field

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: FontRun
16 |
17 |

18 | 19 | 20 | 21 | 22 |

The descent of the font used in this run

23 | 24 | 25 |
public float Descent;
26 | 27 | 28 |

Field Type

29 | 30 | 31 | 32 | 33 |
float
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.FontRun.Direction.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "FontRun.Direction" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

FontRun.Direction Field

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: FontRun
16 |
17 |

18 | 19 | 20 | 21 | 22 |

The direction of this run

23 | 24 | 25 |
public TextDirection Direction;
26 | 27 | 28 |

Field Type

29 | 30 | 31 | 32 | 33 |
TextDirection
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.FontRun.End.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "FontRun.End" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

FontRun.End Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: FontRun
16 |
17 |

18 | 19 | 20 | 21 | 22 |

The index of the first character after this run

23 | 24 | 25 |
public int End { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
int
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.FontRun.Glyphs.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "FontRun.Glyphs" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

FontRun.Glyphs Field

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: FontRun
16 |
17 |

18 | 19 | 20 | 21 | 22 |

The glyph indicies

23 | 24 | 25 |
public Utils.Slice<ushort> Glyphs;
26 | 27 | 28 |

Field Type

29 | 30 | 31 | 32 | 33 |
Utils.Slice<ushort>
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.FontRun.HalfLeading.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "FontRun.HalfLeading" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

FontRun.HalfLeading Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: FontRun
16 |
17 |

18 | 19 | 20 | 21 | 22 |

Calculate the half leading height for text in this run

23 | 24 | 25 |
public float HalfLeading { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
float
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.FontRun.Leading.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "FontRun.Leading" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

FontRun.Leading Field

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: FontRun
16 |
17 |

18 | 19 | 20 | 21 | 22 |

The leading of the font used in this run

23 | 24 | 25 |
public float Leading;
26 | 27 | 28 |

Field Type

29 | 30 | 31 | 32 | 33 |
float
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.FontRun.Length.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "FontRun.Length" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

FontRun.Length Field

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: FontRun
16 |
17 |

18 | 19 | 20 | 21 | 22 |

The length of this run in codepoints

23 | 24 | 25 |
public int Length;
26 | 27 | 28 |

Field Type

29 | 30 | 31 | 32 | 33 |
int
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.FontRun.Line.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "FontRun.Line" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

FontRun.Line Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: FontRun
16 |
17 |

18 | 19 | 20 | 21 | 22 |

The line that owns this font run

23 | 24 | 25 |
public TextLine Line { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
TextLine
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.FontRun.NextRun.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "FontRun.NextRun" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

FontRun.NextRun Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: FontRun
16 |
17 |

18 | 19 | 20 | 21 | 22 |

Get the next font run from this one

23 | 24 | 25 |
public FontRun NextRun { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
FontRun
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.FontRun.PreviousRun.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "FontRun.PreviousRun" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

FontRun.PreviousRun Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: FontRun
16 |
17 |

18 | 19 | 20 | 21 | 22 |

Get the previous font run from this one

23 | 24 | 25 |
public FontRun PreviousRun { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
FontRun
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.FontRun.RunKind.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "FontRun.RunKind" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

FontRun.RunKind Field

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: FontRun
16 |
17 |

18 | 19 | 20 | 21 | 22 |

The kind of font run.

23 | 24 | 25 |
public FontRunKind RunKind;
26 | 27 | 28 |

Field Type

29 | 30 | 31 | 32 | 33 |
FontRunKind
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.FontRun.Start.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "FontRun.Start" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

FontRun.Start Field

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: FontRun
16 |
17 |

18 | 19 | 20 | 21 | 22 |

Code point index of the start of this run

23 | 24 | 25 |
public int Start;
26 | 27 | 28 |

Field Type

29 | 30 | 31 | 32 | 33 |
int
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.FontRun.Style.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "FontRun.Style" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

FontRun.Style Field

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: FontRun
16 |
17 |

18 | 19 | 20 | 21 | 22 |

The user supplied style for this run

23 | 24 | 25 |
public IStyle Style;
26 | 27 | 28 |

Field Type

29 | 30 | 31 | 32 | 33 |
IStyle
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.FontRun.StyleRun.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "FontRun.StyleRun" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

FontRun.StyleRun Field

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: FontRun
16 |
17 |

18 | 19 | 20 | 21 | 22 |

The style run this typeface run was derived from.

23 | 24 | 25 |
public StyleRun StyleRun;
26 | 27 | 28 |

Field Type

29 | 30 | 31 | 32 | 33 |
StyleRun
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.FontRun.TextHeight.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "FontRun.TextHeight" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

FontRun.TextHeight Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: FontRun
16 |
17 |

18 | 19 | 20 | 21 | 22 |

The height of text in this run (ascent + descent)

23 | 24 | 25 |
public float TextHeight { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
float
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.FontRun.ToString.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "FontRun.ToString" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

FontRun.ToString Method

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: FontRun
16 |
17 |

18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |

For debugging

27 | 28 | 29 |
public override string ToString();
30 | 31 | 32 |

Returns

33 | 34 | 35 | 37 | 38 |
string

Debug string

36 |
39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.FontRun.Typeface.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "FontRun.Typeface" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

FontRun.Typeface Field

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: FontRun
16 |
17 |

18 | 19 | 20 | 21 | 22 |

The typeface of this run (use this over Style.Fontface)

23 | 24 | 25 |
public SkiaSharp.SKTypeface Typeface;
26 | 27 | 28 |

Field Type

29 | 30 | 31 | 32 | 33 |
SkiaSharp.SKTypeface
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.FontRun.Width.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "FontRun.Width" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

FontRun.Width Field

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: FontRun
16 |
17 |

18 | 19 | 20 | 21 | 22 |

Width of this typeface run

23 | 24 | 25 |
public float Width;
26 | 27 | 28 |

Field Type

29 | 30 | 31 | 32 | 33 |
float
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.FontRun.XCoord.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "FontRun.XCoord" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

FontRun.XCoord Field

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: FontRun
16 |
17 |

18 | 19 | 20 | 21 | 22 |

Horizontal position of this run, relative to the left margin

23 | 24 | 25 |
public float XCoord;
26 | 27 | 28 |

Field Type

29 | 30 | 31 | 32 | 33 |
float
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.HitTestResult.IsNone.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "HitTestResult.IsNone" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

HitTestResult.IsNone Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: HitTestResult
16 |
17 |

18 | 19 | 20 | 21 | 22 |

Check is this is the "none" hit test result

23 | 24 | 25 |
public bool IsNone { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
bool
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.HitTestResult.None.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "HitTestResult.None" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

HitTestResult.None Field

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: HitTestResult
16 |
17 |

18 | 19 | 20 | 21 | 22 |

Hit test result indicating no hit, or untested hit

23 | 24 | 25 |
public static HitTestResult None;
26 | 27 | 28 |

Field Type

29 | 30 | 31 | 32 | 33 |
HitTestResult
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.IStyle.BackgroundColor.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "IStyle.BackgroundColor" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

IStyle.BackgroundColor Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: IStyle
16 |
17 |

18 | 19 | 20 | 21 | 22 |

The background color of this run.

23 | 24 | 25 |
public SkiaSharp.SKColor BackgroundColor { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
SkiaSharp.SKColor
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.IStyle.FontFamily.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "IStyle.FontFamily" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

IStyle.FontFamily Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: IStyle
16 |
17 |

18 | 19 | 20 | 21 | 22 |

The font family for text this text run.

23 | 24 | 25 |
public string FontFamily { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
string
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.IStyle.FontItalic.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "IStyle.FontItalic" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

IStyle.FontItalic Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: IStyle
16 |
17 |

18 | 19 | 20 | 21 | 22 |

True if the text in this run should be displayed in an italic 23 | font; otherwise False.

24 | 25 | 26 |
public bool FontItalic { get; }
27 | 28 | 29 |

Property Type

30 | 31 | 32 | 33 | 34 |
bool
35 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.IStyle.FontSize.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "IStyle.FontSize" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

IStyle.FontSize Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: IStyle
16 |
17 |

18 | 19 | 20 | 21 | 22 |

The font size for text in this run.

23 | 24 | 25 |
public float FontSize { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
float
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.IStyle.FontVariant.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "IStyle.FontVariant" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

IStyle.FontVariant Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: IStyle
16 |
17 |

18 | 19 | 20 | 21 | 22 |

The font variant (ie: super/sub-script) for text in this run.

23 | 24 | 25 |
public FontVariant FontVariant { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
FontVariant
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.IStyle.FontWeight.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "IStyle.FontWeight" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

IStyle.FontWeight Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: IStyle
16 |
17 |

18 | 19 | 20 | 21 | 22 |

The font weight for text in this run.

23 | 24 | 25 |
public int FontWeight { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
int
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.IStyle.FontWidth.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "IStyle.FontWidth" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

IStyle.FontWidth Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: IStyle
16 |
17 |

18 | 19 | 20 | 21 | 22 |

The font weight for text in this run.

23 | 24 | 25 |
public SkiaSharp.SKFontStyleWidth FontWidth { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
SkiaSharp.SKFontStyleWidth
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.IStyle.HaloBlur.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "IStyle.HaloBlur" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

IStyle.HaloBlur Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: IStyle
16 |
17 |

18 | 19 | 20 | 21 | 22 |

Blur of halo

23 | 24 | 25 |
public float HaloBlur { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
float
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.IStyle.HaloColor.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "IStyle.HaloColor" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

IStyle.HaloColor Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: IStyle
16 |
17 |

18 | 19 | 20 | 21 | 22 |

Color of the halo

23 | 24 | 25 |
public SkiaSharp.SKColor HaloColor { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
SkiaSharp.SKColor
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.IStyle.HaloWidth.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "IStyle.HaloWidth" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

IStyle.HaloWidth Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: IStyle
16 |
17 |

18 | 19 | 20 | 21 | 22 |

Width of halo

23 | 24 | 25 |
public float HaloWidth { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
float
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.IStyle.LetterSpacing.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "IStyle.LetterSpacing" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

IStyle.LetterSpacing Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: IStyle
16 |
17 |

18 | 19 | 20 | 21 | 22 |

Extra spacing between each character

23 | 24 | 25 |
public float LetterSpacing { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
float
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.IStyle.LineHeight.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "IStyle.LineHeight" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

IStyle.LineHeight Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: IStyle
16 |
17 |

18 | 19 | 20 | 21 | 22 |

The line height for text in this run as a multiplier (defaults to 1)

23 | 24 | 25 |
public float LineHeight { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
float
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.IStyle.ReplacementCharacter.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "IStyle.ReplacementCharacter" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

IStyle.ReplacementCharacter Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: IStyle
16 |
17 |

18 | 19 | 20 | 21 | 22 |

Specifies a replacement character to be displayed (password mode)

23 | 24 | 25 |
public char ReplacementCharacter { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
char
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.IStyle.StrikeThrough.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "IStyle.StrikeThrough" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

IStyle.StrikeThrough Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: IStyle
16 |
17 |

18 | 19 | 20 | 21 | 22 |

The strike through style for the text in this run

23 | 24 | 25 |
public StrikeThroughStyle StrikeThrough { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
StrikeThroughStyle
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.IStyle.TextColor.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "IStyle.TextColor" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

IStyle.TextColor Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: IStyle
16 |
17 |

18 | 19 | 20 | 21 | 22 |

The text color for text in this run.

23 | 24 | 25 |
public SkiaSharp.SKColor TextColor { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
SkiaSharp.SKColor
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.IStyle.TextDirection.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "IStyle.TextDirection" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

IStyle.TextDirection Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: IStyle
16 |
17 |

18 | 19 | 20 | 21 | 22 |

Text direction override for this span

23 | 24 | 25 |
public TextDirection TextDirection { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
TextDirection
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.IStyle.Underline.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "IStyle.Underline" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

IStyle.Underline Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: IStyle
16 |
17 |

18 | 19 | 20 | 21 | 22 |

The underline style for text in this run.

23 | 24 | 25 |
public UnderlineStyle Underline { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
UnderlineStyle
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.RichString.DiscardLayout.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "RichString.DiscardLayout" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

RichString.DiscardLayout Method

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: RichString
16 |
17 |

18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |

Discards all internal layout structures

27 | 28 | 29 |
public void DiscardLayout();
30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.RichString.Length.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "RichString.Length" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

RichString.Length Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: RichString
16 |
17 |

18 | 19 | 20 | 21 | 22 |

Gets the total length of the string in code points

23 | 24 | 25 |
public int Length { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
int
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.RichString.LineCount.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "RichString.LineCount" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

RichString.LineCount Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: RichString
16 |
17 |

18 | 19 | 20 | 21 | 22 |

The number of lines in the text

23 | 24 | 25 |
public int LineCount { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
int
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.RichString.MeasuredHeight.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "RichString.MeasuredHeight" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

RichString.MeasuredHeight Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: RichString
16 |
17 |

18 | 19 | 20 | 21 | 22 |

The total height of all lines.

23 | 24 | 25 |
public float MeasuredHeight { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
float
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.RichString.Truncated.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "RichString.Truncated" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

RichString.Truncated Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: RichString
16 |
17 |

18 | 19 | 20 | 21 | 22 |

Indicates if the text was truncated due to max height or max lines 23 | constraints

24 | 25 | 26 |
public bool Truncated { get; }
27 | 28 | 29 |

Property Type

30 | 31 | 32 | 33 | 34 |
bool
35 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.Style..ctor.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Style..ctor" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

Style Constructor

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: Style
16 |
17 |

18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 |
public Style();
29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.Style.BackgroundColor.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Style.BackgroundColor" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

Style.BackgroundColor Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: Style
16 |
17 |

18 | 19 | 20 | 21 | 22 |

The background color of this run (no background is painted by default).

23 | 24 | 25 |
public SkiaSharp.SKColor BackgroundColor { sealed get; set; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
SkiaSharp.SKColor
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.Style.FontFamily.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Style.FontFamily" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

Style.FontFamily Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: Style
16 |
17 |

18 | 19 | 20 | 21 | 22 |

The font family for text this text run (defaults to "Arial").

23 | 24 | 25 |
public string FontFamily { sealed get; set; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
string
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.Style.FontSize.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Style.FontSize" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

Style.FontSize Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: Style
16 |
17 |

18 | 19 | 20 | 21 | 22 |

The font size for text in this run (defaults to 16).

23 | 24 | 25 |
public float FontSize { sealed get; set; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
float
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.Style.FontVariant.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Style.FontVariant" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

Style.FontVariant Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: Style
16 |
17 |

18 | 19 | 20 | 21 | 22 |

The font variant (ie: super/sub-script) for text in this run.

23 | 24 | 25 |
public FontVariant FontVariant { sealed get; set; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
FontVariant
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.Style.FontWeight.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Style.FontWeight" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

Style.FontWeight Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: Style
16 |
17 |

18 | 19 | 20 | 21 | 22 |

The font weight for text in this run (defaults to 400).

23 | 24 | 25 |
public int FontWeight { sealed get; set; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
int
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.Style.FontWidth.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Style.FontWidth" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

Style.FontWidth Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: Style
16 |
17 |

18 | 19 | 20 | 21 | 22 |

The font width for text in this run (defaults to WidthStyle.Normal).

23 | 24 | 25 |
public SkiaSharp.SKFontStyleWidth FontWidth { sealed get; set; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
SkiaSharp.SKFontStyleWidth
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.Style.HaloBlur.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Style.HaloBlur" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

Style.HaloBlur Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: Style
16 |
17 |

18 | 19 | 20 | 21 | 22 |

Blur of halo

23 | 24 | 25 |
public float HaloBlur { sealed get; set; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
float
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.Style.HaloColor.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Style.HaloColor" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

Style.HaloColor Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: Style
16 |
17 |

18 | 19 | 20 | 21 | 22 |

Color of the halo

23 | 24 | 25 |
public SkiaSharp.SKColor HaloColor { sealed get; set; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
SkiaSharp.SKColor
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.Style.HaloWidth.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Style.HaloWidth" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

Style.HaloWidth Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: Style
16 |
17 |

18 | 19 | 20 | 21 | 22 |

Width of halo

23 | 24 | 25 |
public float HaloWidth { sealed get; set; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
float
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.Style.LetterSpacing.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Style.LetterSpacing" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

Style.LetterSpacing Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: Style
16 |
17 |

18 | 19 | 20 | 21 | 22 |

The character spacing for text in this run (defaults to 0).

23 | 24 | 25 |
public float LetterSpacing { sealed get; set; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
float
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.Style.LineHeight.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Style.LineHeight" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

Style.LineHeight Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: Style
16 |
17 |

18 | 19 | 20 | 21 | 22 |

The line height for text in this run as a multiplier (defaults to 1.0).

23 | 24 | 25 |
public float LineHeight { sealed get; set; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
float
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.Style.Seal.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Style.Seal" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

Style.Seal Method

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: Style
16 |
17 |

18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |

Seals the style to prevent it from further modification

27 | 28 | 29 |
public void Seal();
30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.Style.TextColor.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Style.TextColor" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

Style.TextColor Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: Style
16 |
17 |

18 | 19 | 20 | 21 | 22 |

The text color for text in this run (defaults to black).

23 | 24 | 25 |
public SkiaSharp.SKColor TextColor { sealed get; set; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
SkiaSharp.SKColor
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.Style.TextDirection.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Style.TextDirection" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

Style.TextDirection Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: Style
16 |
17 |

18 | 19 | 20 | 21 | 22 |

Text direction override for this span

23 | 24 | 25 |
public TextDirection TextDirection { sealed get; set; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
TextDirection
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.Style.Underline.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Style.Underline" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

Style.Underline Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: Style
16 |
17 |

18 | 19 | 20 | 21 | 22 |

The underline style for text in this run (defaults to None).

23 | 24 | 25 |
public UnderlineStyle Underline { sealed get; set; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
UnderlineStyle
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.StyleManager..ctor.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "StyleManager..ctor" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

StyleManager Constructor

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: StyleManager
16 |
17 |

18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |

Constructs a new StyleManager

27 | 28 | 29 |
public StyleManager();
30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.StyleManager.CurrentStyle.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "StyleManager.CurrentStyle" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

StyleManager.CurrentStyle Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: StyleManager
16 |
17 |

18 | 19 | 20 | 21 | 22 |

The current style

23 | 24 | 25 |
public IStyle CurrentStyle { get; set; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
IStyle
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.StyleManager.DefaultStyle.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "StyleManager.DefaultStyle" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

StyleManager.DefaultStyle Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: StyleManager
16 |
17 |

18 | 19 | 20 | 21 | 22 |

The default style to be be used when Reset is called

23 | 24 | 25 |
public IStyle DefaultStyle { get; set; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
IStyle
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.StyleManager.Pop.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "StyleManager.Pop" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

StyleManager.Pop Method

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: StyleManager
16 |
17 |

18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |

Restores the current state on an internal stack

27 | 28 | 29 |
public void Pop();
30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.StyleManager.Push.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "StyleManager.Push" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

StyleManager.Push Method

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: StyleManager
16 |
17 |

18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |

Saves the current state on an internal stack

27 | 28 | 29 |
public void Push();
30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.StyleManager.Reset.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "StyleManager.Reset" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

StyleManager.Reset Method

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: StyleManager
16 |
17 |

18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |

Resets the current style to the default style and resets the internal 27 | Push/Pop style stack to empty.

28 | 29 | 30 |
public void Reset();
31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.StyleRun..ctor.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "StyleRun..ctor" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

StyleRun Constructor

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: StyleRun
16 |
17 |

18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 |
public StyleRun();
29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.StyleRun.CodePoints.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "StyleRun.CodePoints" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

StyleRun.CodePoints Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: StyleRun
16 |
17 |

18 | 19 | 20 | 21 | 22 |

Get the code points of this run.

23 | 24 | 25 |
public Utils.Slice<int> CodePoints { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
Utils.Slice<int>
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.StyleRun.End.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "StyleRun.End" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

StyleRun.End Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: StyleRun
16 |
17 |

18 | 19 | 20 | 21 | 22 |

The index of the first code point after this run.

23 | 24 | 25 |
public int End { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
int
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.StyleRun.Length.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "StyleRun.Length" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

StyleRun.Length Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: StyleRun
16 |
17 |

18 | 19 | 20 | 21 | 22 |

The number of code points this run.

23 | 24 | 25 |
public int Length { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
int
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.StyleRun.Start.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "StyleRun.Start" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

StyleRun.Start Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: StyleRun
16 |
17 |

18 | 19 | 20 | 21 | 22 |

The index of the first code point in this run (relative to the text block 23 | as a whole).

24 | 25 | 26 |
public int Start { get; }
27 | 28 | 29 |

Property Type

30 | 31 | 32 | 33 | 34 |
int
35 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.StyleRun.Style.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "StyleRun.Style" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

StyleRun.Style Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: StyleRun
16 |
17 |

18 | 19 | 20 | 21 | 22 |

The style attributes to be applied to text in this run.

23 | 24 | 25 |
public IStyle Style { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
IStyle
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.StyleRun.ToString.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "StyleRun.ToString" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

StyleRun.ToString Method

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: StyleRun
16 |
17 |

18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |

Get the text of this style run

27 | 28 | 29 |
public override string ToString();
30 | 31 | 32 |

Returns

33 | 34 | 35 | 37 | 38 |
string

A string

36 |
39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.StyledText.Clear.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "StyledText.Clear" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

StyledText.Clear Method

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: StyledText
16 |
17 |

18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |

Clear the content of this text block

27 | 28 | 29 |
public virtual void Clear();
30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.StyledText.CodePoints.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "StyledText.CodePoints" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

StyledText.CodePoints Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: StyledText
16 |
17 |

18 | 19 | 20 | 21 | 22 |

Get the code points of this text block

23 | 24 | 25 |
public Utils.Utf32Buffer CodePoints { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
Utils.Utf32Buffer
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.StyledText.Length.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "StyledText.Length" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

StyledText.Length Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: StyledText
16 |
17 |

18 | 19 | 20 | 21 | 22 |

The length of the added text in code points

23 | 24 | 25 |
public int Length { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
int
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.StyledText.OnChanged.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "StyledText.OnChanged" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

StyledText.OnChanged Method

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: StyledText
16 |
17 |

18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |

Called whenever the content of this styled text block changes

27 | 28 | 29 |
protected virtual void OnChanged();
30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.StyledText.ToString.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "StyledText.ToString" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

StyledText.ToString Method

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: StyledText
16 |
17 |

18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 |
public override string ToString();
29 | 30 | 31 |

Returns

32 | 33 | 34 | 35 | 36 |
string
37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.StyledText._codePoints.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "StyledText._codePoints" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

StyledText._codePoints Field

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: StyledText
16 |
17 |

18 | 19 | 20 | 21 | 22 |

All code points as supplied by user, accumulated into a single buffer

23 | 24 | 25 |
protected Utils.Utf32Buffer _codePoints;
26 | 27 | 28 |

Field Type

29 | 30 | 31 | 32 | 33 |
Utils.Utf32Buffer
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.StyledText._styleRuns.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "StyledText._styleRuns" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

StyledText._styleRuns Field

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: StyledText
16 |
17 |

18 | 19 | 20 | 21 | 22 |

A list of style runs, as supplied by user

23 | 24 | 25 |
protected List<StyleRun> _styleRuns;
26 | 27 | 28 |

Field Type

29 | 30 | 31 | 32 | 33 |
List<StyleRun>
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.SwapHelper.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Topten.RichTextKit.SwapHelper" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

SwapHelper Class

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 |
15 |

16 | 17 | 18 |

Helper class to swap two values

19 | 20 | 21 |
public static class SwapHelper
22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 |

Methods

34 | 35 | 36 | 37 | 39 | 40 |
Swap<T>(ref T, ref T)

Swaps two values

38 |
41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.TextBlock..ctor.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "TextBlock..ctor" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

TextBlock Constructor

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: TextBlock
16 |
17 |

18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |

Constructor

27 | 28 | 29 |
public TextBlock();
30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.TextBlock.Clear.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "TextBlock.Clear" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

TextBlock.Clear Method

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: TextBlock
16 |
17 |

18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |

Clear the content of this text block

27 | 28 | 29 |
public override void Clear();
30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.TextBlock.Layout.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "TextBlock.Layout" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

TextBlock.Layout Method

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: TextBlock
16 |
17 |

18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |

Updates the internal layout of the text block

27 | 28 | 29 |
public void Layout();
30 | 31 |

Remarks

Generally you don't need to call this method as the layout 32 | will be automatically updated as needed.

33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.TextBlock.LineCount.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "TextBlock.LineCount" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

TextBlock.LineCount Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: TextBlock
16 |
17 |

18 | 19 | 20 | 21 | 22 |

The number of lines in the text

23 | 24 | 25 |
public int LineCount { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
int
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.TextBlock.MeasuredHeight.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "TextBlock.MeasuredHeight" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

TextBlock.MeasuredHeight Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: TextBlock
16 |
17 |

18 | 19 | 20 | 21 | 22 |

The total height of all lines.

23 | 24 | 25 |
public float MeasuredHeight { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
float
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.TextBlock.OnChanged.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "TextBlock.OnChanged" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

TextBlock.OnChanged Method

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: TextBlock
16 |
17 |

18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |

Called whenever the content of this styled text block changes

27 | 28 | 29 |
protected override void OnChanged();
30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.TextBlock.Truncated.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "TextBlock.Truncated" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

TextBlock.Truncated Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: TextBlock
16 |
17 |

18 | 19 | 20 | 21 | 22 |

Indicates if the text was truncated due to max height or max lines 23 | constraints

24 | 25 | 26 |
public bool Truncated { get; }
27 | 28 | 29 |

Property Type

30 | 31 | 32 | 33 | 34 |
bool
35 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.TextLine..ctor.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "TextLine..ctor" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

TextLine Constructor

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: TextLine
16 |
17 |

18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |

Constructs a new TextLine.

27 | 28 | 29 |
public TextLine();
30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.TextLine.End.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "TextLine.End" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

TextLine.End Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: TextLine
16 |
17 |

18 | 19 | 20 | 21 | 22 |

The code point index of the first character after this line

23 | 24 | 25 |
public int End { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
int
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.TextLine.Length.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "TextLine.Length" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

TextLine.Length Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: TextLine
16 |
17 |

18 | 19 | 20 | 21 | 22 |

The length of this line in codepoints

23 | 24 | 25 |
public int Length { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
int
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.TextLine.NextLine.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "TextLine.NextLine" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

TextLine.NextLine Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: TextLine
16 |
17 |

18 | 19 | 20 | 21 | 22 |

Gets the next line in this text block, or null if this is the last line.

23 | 24 | 25 |
public TextLine NextLine { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
TextLine
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.TextLine.PreviousLine.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "TextLine.PreviousLine" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

TextLine.PreviousLine Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: TextLine
16 |
17 |

18 | 19 | 20 | 21 | 22 |

Gets the previous line in this text block, or null if this is the first line.

23 | 24 | 25 |
public TextLine PreviousLine { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
TextLine
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.TextLine.Start.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "TextLine.Start" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

TextLine.Start Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: TextLine
16 |
17 |

18 | 19 | 20 | 21 | 22 |

Code point index of start of this line

23 | 24 | 25 |
public int Start { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
int
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.TextLine.TextBlock.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "TextLine.TextBlock" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

TextLine.TextBlock Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: TextLine
16 |
17 |

18 | 19 | 20 | 21 | 22 |

Gets the text block that owns this line.

23 | 24 | 25 |
public TextBlock TextBlock { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
TextBlock
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.TextLine.Width.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "TextLine.Width" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

TextLine.Width Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: TextLine
16 |
17 |

18 | 19 | 20 | 21 | 22 |

The width of the content on this line, excluding trailing whitespace and overhang.

23 | 24 | 25 |
public float Width { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
float
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.TextLine.YCoord.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "TextLine.YCoord" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

TextLine.YCoord Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: TextLine
16 |
17 |

18 | 19 | 20 | 21 | 22 |

Gets the y-coordinate of the top of this line, relative to the top of the text block.

23 | 24 | 25 |
public float YCoord { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
float
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.TextPaintOptions..ctor.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "TextPaintOptions..ctor" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

TextPaintOptions Constructor

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: TextPaintOptions
16 |
17 |

18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |

Constructs a new text paint options

27 | 28 | 29 |
public TextPaintOptions();
30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.TextPaintOptions.Edging.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "TextPaintOptions.Edging" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

TextPaintOptions.Edging Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: TextPaintOptions
16 |
17 |

18 | 19 | 20 | 21 | 22 |

Controls how font edges are drawn

23 | 24 | 25 |
public SkiaSharp.SKFontEdging Edging { get; set; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
SkiaSharp.SKFontEdging
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.TextPaintOptions.Hinting.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "TextPaintOptions.Hinting" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

TextPaintOptions.Hinting Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: TextPaintOptions
16 |
17 |

18 | 19 | 20 | 21 | 22 |

Controls the font hint used when rendering text

23 | 24 | 25 |
public SkiaSharp.SKFontHinting Hinting { get; set; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
SkiaSharp.SKFontHinting
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.TextPaintOptions.SelectionColor.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "TextPaintOptions.SelectionColor" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

TextPaintOptions.SelectionColor Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: TextPaintOptions
16 |
17 |

18 | 19 | 20 | 21 | 22 |

The color to be used for the selection background.

23 | 24 | 25 |
public SkiaSharp.SKColor SelectionColor { get; set; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
SkiaSharp.SKColor
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.TextRange.AltPosition.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "TextRange.AltPosition" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

TextRange.AltPosition Field

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: TextRange
16 |
17 |

18 | 19 | 20 | 21 | 22 |

True if the end of the range should be displayed 23 | with the caret in the alt position

24 | 25 | 26 |
public bool AltPosition;
27 | 28 | 29 |

Field Type

30 | 31 | 32 | 33 | 34 |
bool
35 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.TextRange.CaretPosition.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "TextRange.CaretPosition" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

TextRange.CaretPosition Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: TextRange
16 |
17 |

18 | 19 | 20 | 21 | 22 |

Gets the end of the range as a caret position

23 | 24 | 25 |
public CaretPosition CaretPosition { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
CaretPosition
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.TextRange.End.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "TextRange.End" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

TextRange.End Field

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: TextRange
16 |
17 |

18 | 19 | 20 | 21 | 22 |

The code point index of the end of the range

23 | 24 | 25 |
public int End;
26 | 27 | 28 |

Field Type

29 | 30 | 31 | 32 | 33 |
int
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.TextRange.IsRange.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "TextRange.IsRange" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

TextRange.IsRange Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: TextRange
16 |
17 |

18 | 19 | 20 | 21 | 22 |

Check if this is actually a range

23 | 24 | 25 |
public bool IsRange { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
bool
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.TextRange.Maximum.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "TextRange.Maximum" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

TextRange.Maximum Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: TextRange
16 |
17 |

18 | 19 | 20 | 21 | 22 |

Get the end of the range closer to the end of the document

23 | 24 | 25 |
public int Maximum { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
int
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.TextRange.Minimum.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "TextRange.Minimum" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

TextRange.Minimum Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: TextRange
16 |
17 |

18 | 19 | 20 | 21 | 22 |

Get the end of the range closer to the start of the document

23 | 24 | 25 |
public int Minimum { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
int
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.TextRange.Normalized.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "TextRange.Normalized" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

TextRange.Normalized Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: TextRange
16 |
17 |

18 | 19 | 20 | 21 | 22 |

Returns the normalized version of the text range

23 | 24 | 25 |
public TextRange Normalized { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
TextRange
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.TextRange.Reversed.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "TextRange.Reversed" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

TextRange.Reversed Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: TextRange
16 |
17 |

18 | 19 | 20 | 21 | 22 |

Returns the reversed text range

23 | 24 | 25 |
public TextRange Reversed { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
TextRange
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.TextRange.Start.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "TextRange.Start" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

TextRange.Start Field

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: TextRange
16 |
17 |

18 | 19 | 20 | 21 | 22 |

The code point index of the start of the range

23 | 24 | 25 |
public int Start;
26 | 27 | 28 |

Field Type

29 | 30 | 31 | 32 | 33 |
int
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.TextRange.ToString.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "TextRange.ToString" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

TextRange.ToString Method

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit
14 | 15 | Declaring Type: TextRange
16 |
17 |

18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 |
public override string ToString();
29 | 30 | 31 |

Returns

32 | 33 | 34 | 35 | 36 |
string
37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.Utils.Buffer[T]..ctor.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Buffer<T>..ctor" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

Buffer<T> Constructor

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit.Utils
14 | 15 | Declaring Type: Buffer<T>
16 |
17 |

18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |

Constructs a new buffer.

27 | 28 | 29 |
public Buffer();
30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.Utils.Buffer[T].Clear.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Buffer<T>.Clear" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

Buffer<T>.Clear Method

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit.Utils
14 | 15 | Declaring Type: Buffer<T>
16 |
17 |

18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |

Clears the buffer, keeping the internally allocated array.

27 | 28 | 29 |
public void Clear();
30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.Utils.Buffer[T].Underlying.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Buffer<T>.Underlying" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

Buffer<T>.Underlying Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit.Utils
14 | 15 | Declaring Type: Buffer<T>
16 |
17 |

18 | 19 | 20 | 21 | 22 |

The data held by this buffer

23 | 24 | 25 |
public T[] Underlying { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
T[]
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.Utils.IRun.Length.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "IRun.Length" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

IRun.Length Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit.Utils
14 | 15 | Declaring Type: IRun
16 |
17 |

18 | 19 | 20 | 21 | 22 |

Length of this run

23 | 24 | 25 |
public int Length { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
int
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.Utils.IRun.Offset.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "IRun.Offset" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

IRun.Offset Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit.Utils
14 | 15 | Declaring Type: IRun
16 |
17 |

18 | 19 | 20 | 21 | 22 |

Offset of the start of this run

23 | 24 | 25 |
public int Offset { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
int
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.Utils.Slice[T].AsSpan.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Slice<T>.AsSpan" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

Slice<T>.AsSpan Method

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit.Utils
14 | 15 | Declaring Type: Slice<T>
16 |
17 |

18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |

Get the slice as a Span

27 | 28 | 29 |
public Span<T> AsSpan();
30 | 31 | 32 |

Returns

33 | 34 | 35 | 36 | 37 |
Span<T>
38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.Utils.Slice[T].Clear.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Slice<T>.Clear" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

Slice<T>.Clear Method

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit.Utils
14 | 15 | Declaring Type: Slice<T>
16 |
17 |

18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |

Clears the entire slice content

27 | 28 | 29 |
public void Clear();
30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.Utils.Slice[T].Empty.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Slice<T>.Empty" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

Slice<T>.Empty Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit.Utils
14 | 15 | Declaring Type: Slice<T>
16 |
17 |

18 | 19 | 20 | 21 | 22 |

A shared empty slice of type T

23 | 24 | 25 |
public static Slice<T> Empty { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
Slice<T>
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.Utils.Slice[T].Length.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Slice<T>.Length" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

Slice<T>.Length Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit.Utils
14 | 15 | Declaring Type: Slice<T>
16 |
17 |

18 | 19 | 20 | 21 | 22 |

Gets the length of the array slice.

23 | 24 | 25 |
public int Length { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
int
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.Utils.Slice[T].Start.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Slice<T>.Start" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

Slice<T>.Start Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit.Utils
14 | 15 | Declaring Type: Slice<T>
16 |
17 |

18 | 19 | 20 | 21 | 22 |

Gets the offset of this slice within the underlying array

23 | 24 | 25 |
public int Start { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
int
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.Utils.Slice[T].ToArray.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Slice<T>.ToArray" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

Slice<T>.ToArray Method

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit.Utils
14 | 15 | Declaring Type: Slice<T>
16 |
17 |

18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |

Gets the slice contents as a new array

27 | 28 | 29 |
public T[] ToArray();
30 | 31 | 32 |

Returns

33 | 34 | 35 | 36 | 37 |
T[]
38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.Utils.Slice[T].Underlying.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Slice<T>.Underlying" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

Slice<T>.Underlying Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit.Utils
14 | 15 | Declaring Type: Slice<T>
16 |
17 |

18 | 19 | 20 | 21 | 22 |

Gets the underlying array

23 | 24 | 25 |
public T[] Underlying { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
T[]
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.Utils.SubRun.Index.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "SubRun.Index" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

SubRun.Index Field

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit.Utils
14 | 15 | Declaring Type: SubRun
16 |
17 |

18 | 19 | 20 | 21 | 22 |

The index of the run in the list of runs

23 | 24 | 25 |
public int Index;
26 | 27 | 28 |

Field Type

29 | 30 | 31 | 32 | 33 |
int
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.Utils.SubRun.Length.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "SubRun.Length" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

SubRun.Length Field

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit.Utils
14 | 15 | Declaring Type: SubRun
16 |
17 |

18 | 19 | 20 | 21 | 22 |

Length of this sub-run in the containing run

23 | 24 | 25 |
public int Length;
26 | 27 | 28 |

Field Type

29 | 30 | 31 | 32 | 33 |
int
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.Utils.SubRun.Offset.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "SubRun.Offset" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

SubRun.Offset Field

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit.Utils
14 | 15 | Declaring Type: SubRun
16 |
17 |

18 | 19 | 20 | 21 | 22 |

Offset of this sub-run in the containing run

23 | 24 | 25 |
public int Offset;
26 | 27 | 28 |

Field Type

29 | 30 | 31 | 32 | 33 |
int
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.Utils.SubRun.Partial.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "SubRun.Partial" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

SubRun.Partial Field

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit.Utils
14 | 15 | Declaring Type: SubRun
16 |
17 |

18 | 19 | 20 | 21 | 22 |

Indicates if this sub-run is partial sub-run

23 | 24 | 25 |
public bool Partial;
26 | 27 | 28 |

Field Type

29 | 30 | 31 | 32 | 33 |
bool
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.Utils.UndoManager[T].CanRedo.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "UndoManager<T>.CanRedo" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

UndoManager<T>.CanRedo Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit.Utils
14 | 15 | Declaring Type: UndoManager<T>
16 |
17 |

18 | 19 | 20 | 21 | 22 |

Check if can redo

23 | 24 | 25 |
public bool CanRedo { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
bool
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.Utils.UndoManager[T].CanUndo.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "UndoManager<T>.CanUndo" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

UndoManager<T>.CanUndo Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit.Utils
14 | 15 | Declaring Type: UndoManager<T>
16 |
17 |

18 | 19 | 20 | 21 | 22 |

Check if can undo

23 | 24 | 25 |
public bool CanUndo { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
bool
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.Utils.UndoManager[T].Clear.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "UndoManager<T>.Clear" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

UndoManager<T>.Clear Method

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit.Utils
14 | 15 | Declaring Type: UndoManager<T>
16 |
17 |

18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |

Clear and reset the undo manager

27 | 28 | 29 |
public void Clear();
30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.Utils.UndoManager[T].CloseGroup.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "UndoManager<T>.CloseGroup" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

UndoManager<T>.CloseGroup Method

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit.Utils
14 | 15 | Declaring Type: UndoManager<T>
16 |
17 |

18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |

Ends the current group operation

27 | 28 | 29 |
public void CloseGroup();
30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.Utils.UndoManager[T].EndOperation.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "UndoManager<T>.EndOperation" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

UndoManager<T>.EndOperation Event

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit.Utils
14 | 15 | Declaring Type: UndoManager<T>
16 |
17 |

18 | 19 | 20 | 21 | 22 |

Event fired when any operation (or group of operations) ends

23 | 24 | 25 |
public event Action EndOperation;
26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.Utils.UndoManager[T].MarkUnmodified.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "UndoManager<T>.MarkUnmodified" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

UndoManager<T>.MarkUnmodified Method

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit.Utils
14 | 15 | Declaring Type: UndoManager<T>
16 |
17 |

18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |

Mark the document as currently unmodified

27 | 28 | 29 |
public void MarkUnmodified();
30 | 31 |

Remarks

Typically this method would be called when the document 32 | is saved.

33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.Utils.UndoManager[T].ModifiedChanged.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "UndoManager<T>.ModifiedChanged" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

UndoManager<T>.ModifiedChanged Event

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit.Utils
14 | 15 | Declaring Type: UndoManager<T>
16 |
17 |

18 | 19 | 20 | 21 | 22 |

Fired when the modified state of the document changes

23 | 24 | 25 |
public event Action ModifiedChanged;
26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.Utils.UndoManager[T].OnEndOperation.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "UndoManager<T>.OnEndOperation" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

UndoManager<T>.OnEndOperation Method

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit.Utils
14 | 15 | Declaring Type: UndoManager<T>
16 |
17 |

18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |

Notifies that an operation (or group of operations) has finished

27 | 28 | 29 |
protected virtual void OnEndOperation();
30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.Utils.UndoManager[T].OnModifiedChanged.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "UndoManager<T>.OnModifiedChanged" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

UndoManager<T>.OnModifiedChanged Method

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit.Utils
14 | 15 | Declaring Type: UndoManager<T>
16 |
17 |

18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |

Notifies when the modified state of the document changes

27 | 28 | 29 |
protected virtual void OnModifiedChanged();
30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.Utils.UndoManager[T].OnStartOperation.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "UndoManager<T>.OnStartOperation" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

UndoManager<T>.OnStartOperation Method

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit.Utils
14 | 15 | Declaring Type: UndoManager<T>
16 |
17 |

18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |

Notifies that an operation (or group of operations) is about to start

27 | 28 | 29 |
protected virtual void OnStartOperation();
30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.Utils.UndoManager[T].Redo.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "UndoManager<T>.Redo" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

UndoManager<T>.Redo Method

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit.Utils
14 | 15 | Declaring Type: UndoManager<T>
16 |
17 |

18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |

Redoes previously undone operations

27 | 28 | 29 |
public void Redo();
30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.Utils.UndoManager[T].Seal.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "UndoManager<T>.Seal" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

UndoManager<T>.Seal Method

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit.Utils
14 | 15 | Declaring Type: UndoManager<T>
16 |
17 |

18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |

Seals the last item to prevent changes

27 | 28 | 29 |
public void Seal();
30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.Utils.UndoManager[T].StartOperation.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "UndoManager<T>.StartOperation" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

UndoManager<T>.StartOperation Event

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit.Utils
14 | 15 | Declaring Type: UndoManager<T>
16 |
17 |

18 | 19 | 20 | 21 | 22 |

Event fired when any operation (or group of operations) starts

23 | 24 | 25 |
public event Action StartOperation;
26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.Utils.UndoManager[T].Undo.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "UndoManager<T>.Undo" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

UndoManager<T>.Undo Method

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit.Utils
14 | 15 | Declaring Type: UndoManager<T>
16 |
17 |

18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |

Undoes the last performed operation

27 | 28 | 29 |
public void Undo();
30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.Utils.UndoUnit[T].Seal.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "UndoUnit<T>.Seal" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

UndoUnit<T>.Seal Method

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit.Utils
14 | 15 | Declaring Type: UndoUnit<T>
16 |
17 |

18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |

Informs the unit that no subsequent coalescing operations 27 | will be appended to this unit

28 | 29 | 30 |
public virtual void Seal();
31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /doc/ref/Topten.RichTextKit.Utils.UndoUnit[T].Sealed.page: -------------------------------------------------------------------------------- 1 | --- 2 | title: "UndoUnit<T>.Sealed" 3 | isMarkdown: false 4 | import: "../.common.page" 5 | --- 6 | 7 |

UndoUnit<T>.Sealed Property

8 | 9 | 10 |

11 | 12 | Assembly: Topten.RichTextKit.dll
13 | Namespace: Topten.RichTextKit.Utils
14 | 15 | Declaring Type: UndoUnit<T>
16 |
17 |

18 | 19 | 20 | 21 | 22 |

Checks is this item is sealed

23 | 24 | 25 |
public bool Sealed { get; }
26 | 27 | 28 |

Property Type

29 | 30 | 31 | 32 | 33 |
bool
34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/sandbox@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/parentelement/RichTextKit/9c2a5b1324b921ebd4a3e0e8c971b5fb6d273afd/doc/sandbox@2x.png -------------------------------------------------------------------------------- /docsrc/caret.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Caret Information 3 | --- 4 | 5 | # Caret Information 6 | 7 | The caret is the flashing cursor that's typically shown in a text editor 8 | to show the current insert position. Although RichTextKit doesn't provide 9 | any editing capabilities, it does include the ability to calculate where 10 | the caret should be displayed. 11 | 12 | To determine where the caret should be displayed, call the 13 | [RichString.GetCaretInfo](./ref/Topten.RichTextKit.RichString.GetCaretInfo) or 14 | [TextBlock.GetCaretInfo](./ref/Topten.RichTextKit.TextBlock.GetCaretInfo) 15 | method which will return a [T:Topten.RichTextKit.CaretInfo] structure describing 16 | where the caret should be drawn, the shape of the caret (sloped for italic) and 17 | other useful details about the current caret position. 18 | 19 | 20 | -------------------------------------------------------------------------------- /docsrc/hittesting.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Hit Testing 3 | --- 4 | 5 | # Hit Testing 6 | 7 | Hit testing lets you find the character cluster that a co-ordinate 8 | is either directly over and/or closest to. This can be used to be build a range 9 | selection feature and/or as part of a more comprehensive editor. 10 | 11 | ```csharp 12 | // Hit test a mouse co-ordinate for example 13 | var htr = tb.HitTest(x, y); 14 | ``` 15 | 16 | The co-ordinates passed to the [RichString.HitTest](./ref/Topten.RichTextKit.RichString.HitTest) and [TextBlock.HitTest](./ref/Topten.RichTextKit.TextBlock.HitTest) 17 | methods must be relative to the top-left corner of the object. (ie: you'll probably 18 | need to adjust the co-ordinates by subtracting the top-left position of where you're 19 | displaying the text block). 20 | 21 | The returned [T:Topten.RichTextKit.HitTestResult] structure describes the line 22 | and code point cluster the point is either directly over and/or closest to. 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /docsrc/install.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Installation 3 | --- 4 | 5 | # Installation 6 | 7 | ## NuGet 8 | 9 | RichTextKit is available as a NuGet package for `net45` and `netcoreapp2.1` frameworks: 10 | 11 | ~~~ 12 | Install-Package Topten.RichTextKit 13 | ~~~ 14 | 15 | *Note that RichTextKit is currently still under development and has only been tested on 16 | Windows* 17 | 18 | ## Source Repository 19 | 20 | Source code is available on GitHub: 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /docsrc/license.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: License 3 | --- 4 | 5 | # License 6 | 7 | Copyright © 2020 Topten Software. All Rights Reserved. 8 | 9 | Licensed under the Apache License, Version 2.0 (the "License"); you may not use this 10 | product except in compliance with the License. You may obtain a copy of the License at 11 | 12 | 13 | 14 | Unless required by applicable law or agreed to in writing, software distributed under 15 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 | KIND, either express or implied. See the License for the specific language governing 17 | permissions and limitations under the License. -------------------------------------------------------------------------------- /docsrc/sandbox@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/parentelement/RichTextKit/9c2a5b1324b921ebd4a3e0e8c971b5fb6d273afd/docsrc/sandbox@2x.png -------------------------------------------------------------------------------- /license.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/parentelement/RichTextKit/9c2a5b1324b921ebd4a3e0e8c971b5fb6d273afd/license.txt -------------------------------------------------------------------------------- /version.cs: -------------------------------------------------------------------------------- 1 | 2 | // Generated by build tool, do not edit 3 | using System; 4 | using System.Reflection; 5 | [assembly: AssemblyCopyright("Copyright © 2019-2023 Topten Software. All Rights Reserved")] 6 | [assembly: AssemblyVersion("0.4.166")] 7 | [assembly: AssemblyFileVersion("0.4.166")] 8 | [assembly: AssemblyCompany("Topten Software")] 9 | [assembly: AssemblyProduct("Topten.RichTextKit")] 10 | 11 | static class BuildInfo 12 | { 13 | public static DateTime Date = new DateTime(2023, 8, 21, 4, 26, 41, DateTimeKind.Utc); 14 | } 15 | -------------------------------------------------------------------------------- /version.json: -------------------------------------------------------------------------------- 1 | { 2 | "major": 0, 3 | "minor": 4, 4 | "build": 166, 5 | "suffix": "", 6 | "copyrightYear": 2019, 7 | "productName": "Topten.RichTextKit", 8 | "companyName": "Topten Software" 9 | } -------------------------------------------------------------------------------- /version.props: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 0.4.166 6 | 7 | 8 | --------------------------------------------------------------------------------