浏览代码

Change name

/main
iizzaya 5 年前
当前提交
b0f1883c
共有 3 个文件被更改,包括 13 次插入13 次删除
  1. 12
      Runtime/service/keyboard.cs
  2. 6
      Runtime/service/text_input.cs
  3. 8
      Runtime/widgets/editable_text.cs

12
Runtime/service/keyboard.cs


return true;
}
bool isimeInput = false;
bool isIMEInput = false;
public void OnGUI() {
if (TouchScreenKeyboard.isSupported) {

}
}
else if (!string.IsNullOrEmpty(Input.compositionString)) {
this.isimeInput = true;
this.isIMEInput = true;
this._value = this._value.compose(Input.compositionString);
}

if (this._value != oldValue) {
if (this.isimeInput) {
var imeInput = this.isimeInput;
Window.instance.run(() => { TextInput._updateEditingState(this._client, this._value, imeInput); });
this.isimeInput = false;
if (this.isIMEInput) {
var isIMEInput = this.isIMEInput;
Window.instance.run(() => { TextInput._updateEditingState(this._client, this._value, isIMEInput); });
this.isIMEInput = false;
}
else {
Window.instance.run(() => { TextInput._updateEditingState(this._client, this._value); });

6
Runtime/service/text_input.cs


}
public interface TextInputClient {
void updateEditingValue(TextEditingValue value, bool imeInput);
void updateEditingValue(TextEditingValue value, bool isIMEInput);
void performAction(TextInputAction action);

}
}
internal static void _updateEditingState(int client, TextEditingValue value, bool imeInput = false) {
internal static void _updateEditingState(int client, TextEditingValue value, bool isIMEInput = false) {
if (_currentConnection == null) {
return;
}

}
_currentConnection._client.updateEditingValue(value, imeInput);
_currentConnection._client.updateEditingValue(value, isIMEInput);
}
internal static void _performAction(int client, TextInputAction action) {

8
Runtime/widgets/editable_text.cs


TextEditingValue _lastKnownRemoteTextEditingValue;
public void updateEditingValue(TextEditingValue value, bool imeInput) {
public void updateEditingValue(TextEditingValue value, bool isIMEInput) {
if (value.text != this._value.text) {
this._hideSelectionOverlayIfNeeded();
this._showCaretOnScreen();

}
this._lastKnownRemoteTextEditingValue = value;
this._formatAndSetValue(value, imeInput);
this._formatAndSetValue(value, isIMEInput);
this._stopCursorTimer(resetCharTicks: false);
this._startCursorTimer();

return Promise<bool>.Resolved(false);
}
void _formatAndSetValue(TextEditingValue value, bool imeInput = false) {
var textChanged = this._value?.text != value?.text || imeInput;
void _formatAndSetValue(TextEditingValue value, bool isIMEInput = false) {
var textChanged = this._value?.text != value?.text || isIMEInput;
if (textChanged && this.widget.inputFormatters != null && this.widget.inputFormatters.isNotEmpty()) {
foreach (var formatter in this.widget.inputFormatters) {
value = formatter.formatEditUpdate(this._value, value);

正在加载...
取消
保存