From a589d2e43b762a1d51c8be4142c85a57bb3e5fc2 Mon Sep 17 00:00:00 2001 From: Benedikt Stebner Date: Mon, 7 Nov 2022 18:17:09 +0100 Subject: [PATCH] Relocate CompositionRegion --- .../Avalonia.Android/AndroidInputMethod.cs | 15 ++++++++++++ .../Platform/SkiaPlatform/TopLevelImpl.cs | 2 -- .../Input/TextInput/ITextInputMethodClient.cs | 23 ------------------- .../TextBoxTextInputMethodClient.cs | 10 -------- 4 files changed, 15 insertions(+), 35 deletions(-) diff --git a/src/Android/Avalonia.Android/AndroidInputMethod.cs b/src/Android/Avalonia.Android/AndroidInputMethod.cs index 22d2f812bc..b6adbde738 100644 --- a/src/Android/Avalonia.Android/AndroidInputMethod.cs +++ b/src/Android/Avalonia.Android/AndroidInputMethod.cs @@ -162,4 +162,19 @@ namespace Avalonia.Android }); } } + + public readonly struct ComposingRegion + { + private readonly int _start = -1; + private readonly int _end = -1; + + public ComposingRegion(int start, int end) + { + _start = start; + _end = end; + } + + public int Start => _start; + public int End => _end; + } } diff --git a/src/Android/Avalonia.Android/Platform/SkiaPlatform/TopLevelImpl.cs b/src/Android/Avalonia.Android/Platform/SkiaPlatform/TopLevelImpl.cs index e69780b1b3..932dc185ff 100644 --- a/src/Android/Avalonia.Android/Platform/SkiaPlatform/TopLevelImpl.cs +++ b/src/Android/Avalonia.Android/Platform/SkiaPlatform/TopLevelImpl.cs @@ -287,8 +287,6 @@ namespace Avalonia.Android.Platform.SkiaPlatform ComposingRegion = new ComposingRegion(start, end); - _inputMethod.Client?.SetComposingRegion(ComposingRegion); - return base.SetComposingRegion(start, end); } diff --git a/src/Avalonia.Base/Input/TextInput/ITextInputMethodClient.cs b/src/Avalonia.Base/Input/TextInput/ITextInputMethodClient.cs index 0ff9299873..325d745782 100644 --- a/src/Avalonia.Base/Input/TextInput/ITextInputMethodClient.cs +++ b/src/Avalonia.Base/Input/TextInput/ITextInputMethodClient.cs @@ -30,7 +30,6 @@ namespace Avalonia.Input.TextInput /// void SetPreeditText(string? text); - void SetComposingRegion(ComposingRegion? region); /// /// Indicates if text input client is capable of providing the text around the cursor /// @@ -53,26 +52,4 @@ namespace Avalonia.Input.TextInput public int CursorOffset { get; set; } public int AnchorOffset { get; set; } } - - public readonly struct ComposingRegion - { - private readonly int _start = -1; - private readonly int _end = -1; - - public ComposingRegion(int start, int end) - { - _start = start; - _end = end; - } - - public int Start => _start; - public int End => _end; - - public bool Intersects(ComposingRegion region) - { - return _start <= region.Start && _end >= region.Start || - _end >= region.End && _start <= region.End || - _start >= region.Start && _end <= region.End; - } - } } diff --git a/src/Avalonia.Controls/TextBoxTextInputMethodClient.cs b/src/Avalonia.Controls/TextBoxTextInputMethodClient.cs index 61ac1d3c1f..79a16281cd 100644 --- a/src/Avalonia.Controls/TextBoxTextInputMethodClient.cs +++ b/src/Avalonia.Controls/TextBoxTextInputMethodClient.cs @@ -187,15 +187,5 @@ namespace Avalonia.Controls }, DispatcherPriority.Input); } - - public void SetComposingRegion(ComposingRegion? region) - { - if(_presenter == null) - { - return; - } - - _presenter.ComposingRegion = region; - } } }