12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- // 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
- {
- /// <summary>
- /// Stores state information about a caret position
- /// </summary>
- /// <remarks>
- /// 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.
- /// </remarks>
- public struct CaretPosition
- {
- /// <summary>
- /// Initializes a CaretPosition
- /// </summary>
- /// <param name="codePointIndex">The code point index of the caret</param>
- /// <param name="altPosition">Whether the caret should be displayed in its alternative position</param>
- public CaretPosition(int codePointIndex, bool altPosition = false)
- {
- CodePointIndex = codePointIndex;
- AltPosition = altPosition;
- }
- /// <summary>
- /// The code point index of the caret insertion point
- /// </summary>
- public int CodePointIndex;
- /// <summary>
- /// 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.
- /// </summary>
- public bool AltPosition;
- }
- }
|