Commit graph

526 commits

Author SHA1 Message Date
Rémi Bernon 428120441b imm32: Hide the composition window if the string is empty.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55258
2023-07-27 13:12:06 +09:00
Rémi Bernon e564619172 imm32: Use offsets instead of lengths to decide on sending updates.
The composition or result strings may be present, but with zero length.
In which case we still want to send the messages, to indicate any change
for instance whenever a character is deleted and strings become empty.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55055
2023-06-20 20:30:26 +02:00
Rémi Bernon d1f9aae599 imm32/tests: Test how deleting a character can behave. 2023-06-20 20:30:26 +02:00
Rémi Bernon 5911f36cff imm32: Avoid resizing IMCC to zero-size buffer.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55027
2023-06-12 21:21:42 +02:00
Rémi Bernon 7ed63c30e8 imm32: Query the new input context in ImmAssociateContextEx / IACE_DEFAULT.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54991
2023-05-30 20:56:57 +02:00
Rémi Bernon 0e90213ed8 imm32: Silence some unnecessary FIXMEs. 2023-05-26 21:24:14 +02:00
Jinoh Kang 839a53797e imm32: Don't erroneously start composition when handling IMC_SETOPENSTATUS.
Fixes: 8ae0c30823
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54965
2023-05-22 11:09:25 +02:00
Rémi Bernon 65d0f7a756 imm32: Remove now unused members from ime_private.
And move its definition to ime.c.
2023-05-19 08:49:09 -05:00
Rémi Bernon d61a786461 imm32: Get rid of the graphics driver loading mechanism. 2023-05-19 08:49:09 -05:00
Rémi Bernon b9bfd74acc winex11: Generate IME messages using WM_IME_NOTIFY instead of callbacks. 2023-05-18 09:14:15 -05:00
Rémi Bernon 9b4c09d8c4 winex11: Post internal WM_IME_NOTIFY wparam on composition updates. 2023-05-18 09:09:14 -05:00
Rémi Bernon 4e92c57221 winex11: Send an internal WM_IME_NOTIFY wparam to set open status. 2023-05-18 09:09:14 -05:00
Francois Gouget a109a7048f imm32/tests: Fix the spelling of a comment. 2023-05-16 08:16:33 -05:00
Rémi Bernon b3fbc16fea winemac: Use the default IME implementation for ImeSelect. 2023-05-15 06:25:22 -05:00
Rémi Bernon 478ffa8c12 imm32: Use DrawTextW to wrap IME composition string.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53860
2023-05-15 06:09:54 -05:00
Rémi Bernon bbfb15a5e5 imm32: Update the IME composition window position after drawing.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53860
2023-05-15 06:09:54 -05:00
Rémi Bernon 8ae0c30823 winemac: Generate IME messages from the default ImeToAsciiEx implementation. 2023-05-12 17:50:49 +02:00
Rémi Bernon 4870a9dfad imm32: Resize the composition string if the driver requested so. 2023-05-12 17:50:49 +02:00
Rémi Bernon bfa19f8c7e win32u: Introduce a new ImeToAsciiEx call through NtUserMessageCall. 2023-05-12 17:50:49 +02:00
Rémi Bernon c7dc10b192 win32u: Introduce a new ImeProcessKey call through NtUserMessageCall. 2023-05-12 17:50:49 +02:00
Rémi Bernon 2c74f4ede1 winex11: Use the default IME implementation for ImeSetCompositionString. 2023-05-11 22:53:14 +02:00
Rémi Bernon 800af36d93 winex11: Move NotifyIME to the default IME implementation. 2023-05-10 21:21:26 +02:00
Rémi Bernon c11ed566cb imm32/tests: Mark some tests as broken by prior SetForegroundWindow call.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54760
2023-05-09 20:16:54 +02:00
Rémi Bernon e6b21cc577 imm32/tests: Test MS Japanese IME NIHONGO-NO sequence. 2023-05-05 15:38:56 +02:00
Rémi Bernon 2024e45b9f imm32/tests: Test MS Korean IME GA-NA-DA sequence.
Credits to Byeong-Sik Jeon for the sequence, thanks!
2023-05-05 15:38:54 +02:00
Rémi Bernon 828fc9f50d imm32/tests: Add some missing local variables declarations. 2023-05-05 15:38:53 +02:00
Rémi Bernon 24ccd03e3e imm32/tests: Ignore some unknown WM_IME_NOTIFY messages. 2023-05-05 15:38:53 +02:00
Rémi Bernon fc7203fb13 imm32/tests: Print human readable IME message names. 2023-05-05 15:38:53 +02:00
Rémi Bernon 2fe97d5178 imm32/tests: Adjust the ImmSetOpenStatus tests for MS Korean IME.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54864
2023-05-05 15:38:53 +02:00
Rémi Bernon f99ad772d1 imm32: Post messages to the target window in ImmTranslateMessage. 2023-05-04 18:48:49 +02:00
Rémi Bernon 1c96ed9bd9 imm32: Clear vkey before calling ToAsciiEx in ImmTranslateMessage. 2023-05-04 18:48:49 +02:00
Rémi Bernon bfb7799b74 imm32: Ignore some messages in ImmTranslateMessage. 2023-05-04 18:48:49 +02:00
Rémi Bernon 4b621dd9ae imm32/tests: Test ImmTranslateMessage / ImeToAsciiEx calls. 2023-05-04 18:48:48 +02:00
Rémi Bernon 655bd354ee imm32/tests: Add more ImmProcessKey and ImmGetVirtualKey tests. 2023-05-04 18:48:48 +02:00
Rémi Bernon a117b9b202 imm32: Use INPUTCONTEXT directly in ImmRequestMessage(W|A). 2023-05-04 18:48:48 +02:00
Rémi Bernon c4187bc46b imm32/tests: Test cross-thread ImmRequestMessage(W|A) calls. 2023-05-04 18:48:48 +02:00
Rémi Bernon 4ccc47c0ca imm32/tests: Move IME calls test helpers around. 2023-05-04 18:48:48 +02:00
Rémi Bernon 08e2edce96 imm32: Send messages one by one in ImmGenerateMessage. 2023-04-27 20:31:24 +02:00
Rémi Bernon 1d591d08fd imm32/tests: Add some ImmGenerateMessage tests. 2023-04-27 20:31:24 +02:00
Rémi Bernon 920154672d imm32: Update IME UI window IMMGWL_IMC when focus or HIMC changes. 2023-04-27 20:31:24 +02:00
Rémi Bernon b5c30f8ef2 imm32: Move ImmAssociateContext(Ex) around. 2023-04-27 20:31:24 +02:00
Rémi Bernon 2fda6abfc4 imm32: Don't hide/show IME UI window in ImmSetCompositionWindow. 2023-04-27 20:31:24 +02:00
Byeong-Sik Jeon 93e5d7b317 imm32: Avoid updating INPUTCONTEXT hWnd on ImmSetActiveContext deactivation. 2023-04-17 18:55:41 +02:00
Rémi Bernon 422ee56c1b imm32: Forward ImmGetContext to NtUserGetWindowInputContext directly. 2023-04-17 18:55:41 +02:00
Byeongsik Jeon 5ef8554ee9 imm32: Stop updating INPUTCONTEXT hWnd member in ImmGetContext. 2023-04-17 18:55:41 +02:00
Rémi Bernon 53ae92fab4 imm32/tests: Check ImmSetActiveContext effect on INPUTCONTEXT hWnd member. 2023-04-17 18:55:41 +02:00
Rémi Bernon c8d5603776 imm32/tests: Check IME UI visibility vs ImmSetCompositionWindow. 2023-04-17 18:55:41 +02:00
Rémi Bernon 3e3706adcc imm32/tests: Test that ImmSetOpenStatus doesn't set IMMGWL_IMC. 2023-04-17 18:55:41 +02:00
Rémi Bernon 01677af42a imm32: Use INPUTCONTEXT directly in ImmGetCandidateWindow. 2023-04-13 16:18:38 +02:00
Rémi Bernon cf03ab4133 imm32: Use INPUTCONTEXT directly in ImmSetCandidateWindow. 2023-04-13 16:18:38 +02:00