Browse Source

Translate cursor rect relative to the visual root

pull/10693/head
Benedikt Stebner 4 years ago
parent
commit
347b6a11a0
  1. 19
      native/Avalonia.Native/src/OSX/AvnView.mm
  2. 6
      src/Avalonia.Controls/TextBoxTextInputMethodClient.cs

19
native/Avalonia.Native/src/OSX/AvnView.mm

@ -598,13 +598,13 @@
{ {
[[_markedText mutableString] setString:@""]; [[_markedText mutableString] setString:@""];
[[self inputContext] discardMarkedText];
if(!_parent->InputMethod->IsActive()){ if(!_parent->InputMethod->IsActive()){
return; return;
} }
_parent->InputMethod->Client->SetPreeditText(nullptr); _parent->InputMethod->Client->SetPreeditText(nullptr);
[[self inputContext] discardMarkedText];
} }
- (NSArray<NSString *> *)validAttributesForMarkedText - (NSArray<NSString *> *)validAttributesForMarkedText
@ -619,17 +619,12 @@
- (void)insertText:(id)string replacementRange:(NSRange)replacementRange - (void)insertText:(id)string replacementRange:(NSRange)replacementRange
{ {
//[_text replaceCharactersInRange:replacementRange withString:string];
[self unmarkText]; [self unmarkText];
//if(!_lastKeyHandled) if(_parent != nullptr)
//{ {
if(_parent != nullptr) _lastKeyHandled = _parent->BaseEvents->RawTextInputEvent(0, [string UTF8String]);
{ }
_lastKeyHandled = _parent->BaseEvents->RawTextInputEvent(0, [string UTF8String]);
}
//}
[[self inputContext] invalidateCharacterCoordinates]; [[self inputContext] invalidateCharacterCoordinates];
} }

6
src/Avalonia.Controls/TextBoxTextInputMethodClient.cs

@ -30,7 +30,9 @@ namespace Avalonia.Controls
return default; return default;
} }
var transform = _presenter.TransformToVisual(_parent); var visualRoot = _presenter.VisualRoot!;
var transform = _presenter.TransformToVisual((Visual)visualRoot);
if (transform == null) if (transform == null)
{ {
@ -38,7 +40,7 @@ namespace Avalonia.Controls
} }
var rect = _presenter.GetCursorRectangle().TransformToAABB(transform.Value); var rect = _presenter.GetCursorRectangle().TransformToAABB(transform.Value);
return rect; return rect;
} }
} }

Loading…
Cancel
Save