From c844c6b7f007599d53b8e2c7ba509ff3a2ec0c3e Mon Sep 17 00:00:00 2001 From: Chandler Cox Date: Thu, 5 Sep 2024 20:51:27 -0500 Subject: [PATCH] Add page up and down in textboxbase --- Source/Engine/UI/GUI/Common/TextBoxBase.cs | 24 ++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/Source/Engine/UI/GUI/Common/TextBoxBase.cs b/Source/Engine/UI/GUI/Common/TextBoxBase.cs index c22899c7b..55f810211 100644 --- a/Source/Engine/UI/GUI/Common/TextBoxBase.cs +++ b/Source/Engine/UI/GUI/Common/TextBoxBase.cs @@ -1436,6 +1436,30 @@ namespace FlaxEngine.GUI return true; } + case KeyboardKeys.PageDown: + { + if (IsScrollable && IsMultiline) + { + var location = GetCharPosition(_selectionStart, out var height); + var sizeHeight = Size.Y / height; + location.Y += height * (int)sizeHeight; + TargetViewOffset = Vector2.Clamp(new Float2(0, location.Y), Float2.Zero, TextSize - new Float2(0, Size.Y)); + SetSelection(HitTestText(location)); + } + return true; + } + case KeyboardKeys.PageUp: + { + if (IsScrollable && IsMultiline) + { + var location = GetCharPosition(_selectionStart, out var height); + var sizeHeight = Size.Y / height; + location.Y -= height * (int)sizeHeight; + TargetViewOffset = Vector2.Clamp(new Float2(0, location.Y), Float2.Zero, TextSize - new Float2(0, Size.Y)); + SetSelection(HitTestText(location)); + } + return true; + } case KeyboardKeys.Delete: { if (IsReadOnly)