// RichTextKit // Copyright © 2019-2020 Topten Software. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); you may // not use this product except in compliance with the License. You may obtain // a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the // License for the specific language governing permissions and limitations // under the License. using SkiaSharp; namespace Topten.RichTextKit { /// /// Stores state information about a caret position /// /// /// The caret position is defined primarily by it's code point /// index however there are other attributes that can affect /// where it's displayed and how it moves. This structure /// encapsulates all the information about the caret required /// to position and move it correctly. /// public struct CaretPosition { /// /// Initializes a CaretPosition /// /// The code point index of the caret /// Whether the caret should be displayed in its alternative position public CaretPosition(int codePointIndex, bool altPosition = false) { CodePointIndex = codePointIndex; AltPosition = altPosition; } /// /// The code point index of the caret insertion point /// public int CodePointIndex; /// /// True to display the caret at the end of the previous line /// rather than the start of the following line when the code /// point index is exactly on a line break. /// public bool AltPosition; } }