mirror of
https://github.com/goatcorp/Dalamud.git
synced 2026-02-21 23:37:44 +01:00
fix minor things
This commit is contained in:
parent
b6d88f798a
commit
e089949a72
1 changed files with 16 additions and 12 deletions
|
|
@ -184,6 +184,13 @@ internal sealed unsafe class DalamudIme : IDisposable, IServiceType
|
||||||
case WM.WM_IME_NOTIFY:
|
case WM.WM_IME_NOTIFY:
|
||||||
// Log.Verbose($"{nameof(WM.WM_IME_NOTIFY)}({(nint)args.WParam:X}): {this.ImmComp}");
|
// Log.Verbose($"{nameof(WM.WM_IME_NOTIFY)}({(nint)args.WParam:X}): {this.ImmComp}");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case WM.WM_LBUTTONDOWN:
|
||||||
|
case WM.WM_RBUTTONDOWN:
|
||||||
|
case WM.WM_MBUTTONDOWN:
|
||||||
|
case WM.WM_XBUTTONDOWN:
|
||||||
|
ImmNotifyIME(hImc, NI.NI_COMPOSITIONSTR, CPS_COMPLETE, 0);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.UpdateInputLanguage(hImc);
|
this.UpdateInputLanguage(hImc);
|
||||||
|
|
@ -299,9 +306,11 @@ internal sealed unsafe class DalamudIme : IDisposable, IServiceType
|
||||||
|
|
||||||
if (finalCommit)
|
if (finalCommit)
|
||||||
{
|
{
|
||||||
this.PartialConversionFrom = this.PartialConversionTo = 0;
|
this.ClearState(hImc);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
else if ((comp & GCS.GCS_COMPATTR) != 0)
|
|
||||||
|
if ((comp & GCS.GCS_COMPATTR) != 0)
|
||||||
{
|
{
|
||||||
var attrLength = ImmGetCompositionStringW(hImc, GCS.GCS_COMPATTR, null, 0);
|
var attrLength = ImmGetCompositionStringW(hImc, GCS.GCS_COMPATTR, null, 0);
|
||||||
var attrPtr = stackalloc byte[attrLength];
|
var attrPtr = stackalloc byte[attrLength];
|
||||||
|
|
@ -331,14 +340,17 @@ internal sealed unsafe class DalamudIme : IDisposable, IServiceType
|
||||||
this.UpdateImeWindowStatus(hImc);
|
this.UpdateImeWindowStatus(hImc);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ClearState()
|
private void ClearState(HIMC hImc)
|
||||||
{
|
{
|
||||||
this.ImmComp = string.Empty;
|
this.ImmComp = string.Empty;
|
||||||
this.PartialConversionFrom = this.PartialConversionTo = 0;
|
this.PartialConversionFrom = this.PartialConversionTo = 0;
|
||||||
|
this.CompositionCursorOffset = 0;
|
||||||
this.UpdateImeWindowStatus(default);
|
this.UpdateImeWindowStatus(default);
|
||||||
|
|
||||||
ref var textState = ref TextState;
|
ref var textState = ref TextState;
|
||||||
textState.Stb.Cursor = textState.Stb.SelectStart = textState.Stb.SelectEnd;
|
textState.Stb.Cursor = textState.Stb.SelectStart = textState.Stb.SelectEnd;
|
||||||
|
|
||||||
|
Log.Information($"{nameof(this.ClearState)}");
|
||||||
}
|
}
|
||||||
|
|
||||||
private void LoadCand(HIMC hImc)
|
private void LoadCand(HIMC hImc)
|
||||||
|
|
@ -386,15 +398,7 @@ internal sealed unsafe class DalamudIme : IDisposable, IServiceType
|
||||||
private void ImGuiSetPlatformImeData(ImGuiViewportPtr viewport, ImGuiPlatformImeDataPtr data)
|
private void ImGuiSetPlatformImeData(ImGuiViewportPtr viewport, ImGuiPlatformImeDataPtr data)
|
||||||
{
|
{
|
||||||
this.CursorPos = data.InputPos;
|
this.CursorPos = data.InputPos;
|
||||||
if (data.WantVisible)
|
this.AssociatedViewport = data.WantVisible ? viewport : default;
|
||||||
{
|
|
||||||
this.AssociatedViewport = viewport;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
this.AssociatedViewport = default;
|
|
||||||
this.ClearState();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[ServiceManager.CallWhenServicesReady("Effectively waiting for cimgui.dll to become available.")]
|
[ServiceManager.CallWhenServicesReady("Effectively waiting for cimgui.dll to become available.")]
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue