Beispiel #1
0
        /// <summary>
        ///
        /// </summary>
        public void Move(TextPos pos, bool isResetBaseX)
        {
            Pos = pos;

            _textView.DrawingMetricsMeasurer.CalcTotalWidth(
                Pos.LineIndex, Pos.CharIndex,
                out var totalWidth, out var totalColumnCount);

            Location           = new Point2D(CharSize.RoundWidth(totalWidth), _textView.GetLineHeight() * Pos.LineIndex);
            CurrentColumnIndex = totalColumnCount;

            if (isResetBaseX)
            {
                BaseX = Location.X;
            }

            if (_textView.SharedInfo.HasFocus)
            {
                _isCaretPositive = true;
                _blinkTimer.Restart();
            }
        }