diff --git a/Example/demo.cs b/Example/demo.cs index e3ee687ca..faf6759d0 100644 --- a/Example/demo.cs +++ b/Example/demo.cs @@ -70,7 +70,7 @@ static class Demo { h = 0; for (int y = 0; y < f.Width; y++) { - Move (0, y, true); + Move (0, y); var nw = 0; for (int x = 0; x < f.Height; x++) { Rune r; diff --git a/Terminal.Gui/Core/View.cs b/Terminal.Gui/Core/View.cs index 7c3fe03b3..472dbb975 100644 --- a/Terminal.Gui/Core/View.cs +++ b/Terminal.Gui/Core/View.cs @@ -667,8 +667,7 @@ namespace Terminal.Gui { /// Absolute column; screen-relative. /// Absolute row; screen-relative. /// Whether to clip the result of the ViewToScreen method, if set to true, the rcol, rrow values are clamped to the screen (terminal) dimensions (0..TerminalDim-1). - /// If force negative coordinates otherwise. - internal void ViewToScreen (int col, int row, out int rcol, out int rrow, bool clipped = true, bool force = true) + internal void ViewToScreen (int col, int row, out int rcol, out int rrow, bool clipped = true) { // Computes the real row, col relative to the screen. rrow = row + frame.Y; @@ -681,11 +680,7 @@ namespace Terminal.Gui { } // The following ensures that the cursor is always in the screen boundaries. - if (clipped && !force) { - rrow = Math.Max (0, Math.Min (rrow, Driver.Rows - 1)); - rcol = Math.Max (0, Math.Min (rcol, Driver.Cols - 1)); - } - if (clipped && force) { + if (clipped) { rrow = Math.Min (rrow, Driver.Rows - 1); rcol = Math.Min (rcol, Driver.Cols - 1); } @@ -806,22 +801,9 @@ namespace Terminal.Gui { /// The move. /// Col. /// Row. - /// If force move otherwise. - public void Move (int col, int row, bool force = true) + public void Move (int col, int row) { - int c = 0, r = 0; - - if (!force && SuperView != null) { - if (col == 0) - c = SuperView.Frame.X; - if (row == 0) - r = SuperView.Frame.Y; - } else if (SuperView != null) { - c = col; - r = row; - } - - ViewToScreen (c, r, out var rcol, out var rrow, force); + ViewToScreen (col, row, out var rcol, out var rrow); Driver.Move (rcol, rrow); } @@ -841,23 +823,6 @@ namespace Terminal.Gui { Move (frame.X, frame.Y); } - /// - /// Positions the cursor in the right position based on the currently focused view in the chain. - /// - /// If force move otherwise. - /// Views that are focusable should override to ensure - /// the cursor is placed in a location that makes sense. Unix terminals do not have - /// a way of hiding the cursor, so it can be distracting to have the cursor left at - /// the last focused view. Views should make sure that they place the cursor - /// in a visually sensible place. - public virtual void PositionCursor (bool force = true) - { - if (focused != null) - focused.PositionCursor (force); - else - Move (frame.X, frame.Y, force); - } - /// public override bool HasFocus { get { diff --git a/Terminal.Gui/Views/ScrollView.cs b/Terminal.Gui/Views/ScrollView.cs index 99474bf8a..0f2e01c00 100644 --- a/Terminal.Gui/Views/ScrollView.cs +++ b/Terminal.Gui/Views/ScrollView.cs @@ -517,7 +517,7 @@ namespace Terminal.Gui { if (InternalSubviews.Count == 0) Move (0, 0); else - base.PositionCursor (true); + base.PositionCursor (); } /// diff --git a/UICatalog/Scenarios/Scrolling.cs b/UICatalog/Scenarios/Scrolling.cs index d2d657a39..832a067e0 100644 --- a/UICatalog/Scenarios/Scrolling.cs +++ b/UICatalog/Scenarios/Scrolling.cs @@ -69,7 +69,7 @@ namespace UICatalog { h = 0; for (int y = 0; y < f.Width; y++) { - Move (0, y, true); + Move (0, y); var nw = 0; for (int x = 0; x < f.Height; x++) { Rune r;