Commit graph

43 commits

Author SHA1 Message Date
Katayama Hirofumi MZ 0b3756044f
[MSCTFIME][MSUTB][SDK] cicuif.h: Add CUIFButton (#6320)
Supporing TIPs...
JIRA issue: CORE-19268
- Add CUIFButton, CUIFSolidBrush, and CUIFIcon classes.
2024-01-09 16:57:30 +09:00
Katayama Hirofumi MZ bf92fa2386
[MSCTFIME][MSUTB][SDK] Add cicInitUIFLib and cicDoneUIFLib (#6307)
Supporting TIPs...
JIRA issue: CORE-19360
- Implement cicInitUIFLib and cicDoneUIFLib functions.
- Use them in msctfime and msutb.
- Add CUIFSystemInfo class in <cicero/cicuif.h>.
2024-01-06 19:21:37 +09:00
Katayama Hirofumi MZ 267a1c9cda
[MSCTFIME] Reduce comment lines (#6297)
Improve readability.
JIRA issue: CORE-19360
- Reduce the lines of comments
  by using C++ comments.
2024-01-05 18:36:30 +09:00
Katayama Hirofumi MZ 77c5aea41f
[MSCTFIME][SDK] Add <cicero/cicuif.h> (#6291)
Supporting TIPs...
JIRA issue: CORE-19360
- Add cicGetFN helper function
  in <cicero/cicbase.h>.
- Add <cicero/cicuif.h>.
- Add CUIFTheme class in
  <cicero/cicuif.h>.
2024-01-04 17:32:43 +09:00
Katayama Hirofumi MZ 35f83286c5
[MSCTFIME][SDK] Implement CicCaret class (#6287)
Supporting TIPs... UIComposition class requires a caret class.
JIRA issue: CORE-19360
- Add <cicero/ciccaret.h> header.
- Add CicCaret class for displaying a caret.
2024-01-03 19:55:14 +09:00
Katayama Hirofumi MZ b48e77e15b
[CTFMON][MSCTFIME][SDK] Define new(cicNoThrow) and use it (#6286)
Use new(cicNoThrow) instead of plain operator new.
JIRA issue: CORE-19360
- Define CicNoThrow structure and
  cicNoThrow macro in <cicero/cicbase.h>.
- Use new(cicNoThrow) instead of
  plain operator new.
2024-01-03 16:45:23 +09:00
Katayama Hirofumi MZ 6cde331a89
[MSCTFIME] Half-implement UIWndProc (#6285)
Supporting TIPs...
JIRA issue: CORE-19360
- Add UIComposition and UI classes.
- Add CIMEUIWindowHandler structure.
- Half-implement UIWndProc by using them.
2024-01-03 13:52:54 +09:00
Katayama Hirofumi MZ 0e9939bd42
[MSCTFIME] Implement CTextEventSink::_Advise and _Unadvise (#6284)
Supporting TIPs...
JIRA issue: CORE-19360
2024-01-03 10:50:48 +09:00
Katayama Hirofumi MZ 006bdfa234
[MSCTFIME][SDK] Half-implement CTextEventSink (#6274)
Supporting TIPs...
JIRA issue: CORE-19360
- Add CTextEventSink class.
- Add ITfTextLayoutSink interface
  into "msctf.idl".
2024-01-02 19:45:03 +09:00
Katayama Hirofumi MZ f9489f4876
[MSCTFIME] Strengthen CicInputContext (#6273)
Supporting Text Input Processors (TIPs)...
JIRA issue: CORE-19360
2024-01-02 15:33:37 +09:00
Katayama Hirofumi MZ 88107adc92
[MSCTFIME][SDK] Implement CFunctionProvider (#6269)
Supporting TIPs...
JIRA issue: CORE-19360
Define CFunctionProviderBase class.
Define CFunctionProvider class.
Strengthen <cicero/cictf.h>.
2024-01-01 16:36:49 +09:00
Katayama Hirofumi MZ e5548aa501
[MSCTFIME][SDK] Improve human readability (#6240)
Improve code quality.
JIRA issue: CORE-19360
- Add some SAL annotations.
- Add readable comments more.
- Rename some member variables.
2024-01-01 11:05:49 +09:00
Katayama Hirofumi MZ 73a1c9d418
[MSCTFIME][SDK] Implement CtfImeSelectEx (#6238)
Supporting TIPs...
JIRA issue: CORE-19360
- Add GetCharsetFromLangId and
  InternalSelectEx helper functions.
- Add CicBridge::GetInputContext
  and CicBridge::SelectEx.
- Implement CtfImeSelectEx function.
- CTFIMECONTEXT structure moved
  into <cicero/cicimc.h>.
2023-12-27 20:29:02 +09:00
Katayama Hirofumi MZ d528cc4013
[MSCTFIME][SDK] Implement CicBridge::ActivateIMMX etc. (#6237)
Supporting TIPs...
JIRA issue: CORE-19360
- Implement CicBridge::ActivateIMMX and
  CicBridge::DeactivateIMMX functions.
2023-12-27 16:19:47 +09:00
Katayama Hirofumi MZ b9e8fb9ea4
[MSCTFIME][SDK] Implement CtfImeProcessCicHotkey (#6236)
Supporting TIPs...
JIRA issue: CORE-19360
- Define ITfSysHookSink and IID_ITfThreadMgr_P
  interfaces in <cicero/cictf.h>.
- Implement CtfImeProcessCicHotkey function.
2023-12-27 15:08:17 +09:00
Katayama Hirofumi MZ bfa3e554d4
[CTFMON][MSCTFIME][MSCTF][MSUTB][SDK] Cicero is ANSI, not Unicode (#6230)
Cicero interface is not Unicode (W)
but ANSI (A).
- ctfmon.exe is ANSI, not Unicode.
- msutb.dll is ANSI, not Unicode.
- Apply generic text mapping to the
  cicero headers.
- Include <tchar.h> to use generic
  text mapping.
CORE-19361, CORE-19362, CORE-19363
2023-12-26 12:07:01 +09:00
Katayama Hirofumi MZ eb72347672 [CTFMON][MSCTFIME][SDK] Refactoring on Cicero design
CORE-19362
2023-12-23 09:34:41 +09:00
Katayama Hirofumi MZ 19f3d6bd8d
[MSCTFIME] Delay-import msctf, oleaut32, and imm32 (#6220)
Reduce DLL initialization cost.
- Delay-import msctf.dll, oleaut32.dll, and imm32.dll.
- Unlink comctl32.dll.
CORE-19360
2023-12-22 20:21:25 +09:00
Katayama Hirofumi MZ 1726ee83e7 [MSCTFIME][SDK] s/IMCCLock/CicIMCCLock/ and s/IMCLock/CicIMCLock/
Refactoring. CORE-19360
2023-12-22 14:52:49 +09:00
Katayama Hirofumi MZ c4308d1e49 [CTFMON][MSCTFIME][SDK] Improve cicGetOSInfo
and s/OSINFO_/CIC_OSINFO/.
Adapt ctfmon and msctfime to these changes.
CORE-19360
2023-12-22 11:52:06 +09:00
Katayama Hirofumi MZ df9c535542
[MSCTFIME][SDK] Improve CicArray (#6217)
- Add template type parameter.
- Use size_t for indexing instead of INT.
- Protect CicArray members.
- Adapt msctfime to new CicArray.
CORE-19360
2023-12-21 20:17:35 +09:00
Katayama Hirofumi MZ 7d6fc57ec9
[CTFMON][MSCTFIME][SDK] Renaming for Cicero (#6216)
Keep consistency with Cicero naming rule.
- s/CModulePath/CicSystemModulePath/.
- s/GetOSInfo/cicGetOSInfo/.
- s/IsWow64/cicIsWow64/.
- s/GetSystemModuleHandle/cicGetSystemModuleHandle/.
- s/LoadSystemLibrary/cicLoadSystemLibrary/.
- Move cicGetOSInfo and cicIsWow64
  to <cicero/cicbase.h>.
- Delete some Cicero headers.
- Adapt ctfmon and msctfime to
  these changes.
CORE-19360
2023-12-21 19:05:33 +09:00
Katayama Hirofumi MZ 814cb188c6
[MSCTFIME][SDK] Implement CicInputContext::OnCleanupContext (#6213)
- Strengthen CicInputContext class.
- Modify <cicero/imclock.h>.
- add __cxa_pure_virtual function.
CORE-19360
2023-12-21 16:23:23 +09:00
Katayama Hirofumi MZ 3401a99e0f [MSCTFIME] Half-implement CicBridge::ActivateIMMX/DeactivateIMMX
CORE-19360
2023-12-21 12:02:21 +09:00
Katayama Hirofumi MZ e6cb6d257a [MSCTFIME] Implement CicInputContext::GetGuidAtom
CORE-19360
2023-12-21 11:04:02 +09:00
Katayama Hirofumi MZ ee73267db8 [MSCTFIME] Fix compartment code
Fix some mistakes. CORE-19360
2023-12-21 10:42:06 +09:00
Katayama Hirofumi MZ 954598037f
[MSCTFIME][SDK] Implement CCompartmentEventSink (#6205)
- Modify <cicero/cicbase.h> and
  <cicero/cicarray.h>.
- Add CCompartmentEventSink class.
CORE-19360
2023-12-20 22:01:39 +09:00
Katayama Hirofumi MZ 9d495475f0
[MSCTFIME][MSCTF][SDK] Add compartment helper functions (#6202)
- Implement GetCompartment,
  SetCompartmentDWORD,
  GetCompartmentDWORD,
  SetCompartmentUnknown, and
  ClearCompartment helper functions.
- Add TF_DllDetachInOther prototype
  to "msctf.idl".
CORE-19360
2023-12-20 17:51:37 +09:00
Katayama Hirofumi MZ 0d8e6e781c
[MSCTFIME] Implemenet CicBridge::InitIMMX/UnInitIMMX (#6201)
- Define LIBTHREAD structure.
- Add InitDisplayAttrbuteLib and
  UninitDisplayAttrbuteLib helper functions.
- Define CThreadMgrEventSink class.
- Strengthen CicBridge class.
CORE-19360
2023-12-20 16:12:57 +09:00
Katayama Hirofumi MZ 0b7405abf2
[MSCTFIME] Implement CActiveLanguageProfileNotifySink (#6200)
- Add link to msctf.dll.
- Implement CActiveLanguageProfileNotifySink class.
- Strengthen CicProfile class.
CORE-19360
2023-12-20 12:29:03 +09:00
Katayama Hirofumi MZ f889c29af6 [MSCTFIME] Fix build of #6197 (6c438e4) Part 2
Add link to oleaut32.dll.
CORE-19360
2023-12-19 20:10:53 +09:00
Katayama Hirofumi MZ a449125692 [MSCTFIME] Fix build of #6197 (6c438e4)
CORE-19360
2023-12-19 19:36:53 +09:00
Katayama Hirofumi MZ 6c438e4530
[MSCTFIME] Implement ImeConfigure (#6197)
Add code to CicInputContext and CicBridge classes.
Implement ImeConfigure function by using them.
CORE-19360
2023-12-19 19:23:52 +09:00
Katayama Hirofumi MZ dfd6d7f32a [MSCTFIME] Add TLS::PeekTLS and use it
Refactoring. CORE-19360
2023-12-19 18:34:08 +09:00
Katayama Hirofumi MZ e0eab48aee [MSCTFIME] Implement CtfImeDestroyInputContext
CORE-19360
2023-12-19 16:40:03 +09:00
Katayama Hirofumi MZ 5197d36839 [MSCTFIME] Refactor on IMC/IMCC locking
- Rename _IMCCLock as IMCCLOCK.
- Rename InternalIMCCLock as IMCCLock.
- Rename _IMCLock as IMCLOCK.
- Add get() pointer accessor of IMCCLock and IMCLOCK.
- Protect the pointer of IMCCLOCK and IMCLOCK.
CORE-19360
2023-12-19 16:12:12 +09:00
Katayama Hirofumi MZ 52bd0c0c18
[MSCTFIME][SDK] Implement CtfImeGuidAtom (#6196)
- Add CTFIMECONTEXT structure.
- Add CicInputContext class.
- Rename INPUTCONTEXTDX.dwUnknown5 as
  hCtfImeContext and retype it as HIMCC.
- Implement CtfImeGetGuidAtom by using them.
CORE-19360
2023-12-19 15:46:13 +09:00
Katayama Hirofumi MZ 6d100d5b29
[MSCTFIME][SDK] Implement CtfImeIsGuidMapEnable (#6195)
- Add link to imm32.dll.
- Add <cicero/imclock.h>.
- Add INIT_GUIDMAP constant to <immdev.h>.
- Implement CtfImeIsGuidMapEnable by using them.
CORE-19360
2023-12-19 15:23:12 +09:00
Katayama Hirofumi MZ 64378a88ba
[MSCTFIME] Implement CtfImeDispatchDefImeMessage (#6193)
and add IsMsImeMessage helper funciton.
CORE-19360
2023-12-19 14:24:48 +09:00
Katayama Hirofumi MZ a3288862e1
[MSCTFIME] Implement ImeDestroy and CtfImeDestroyThreadMgr (#6189)
- Define ITfSysHookSink interface.
- Add implementation to CicBridge class.
- Implement ImeDestroy and CtfImeDestroyThreadMgr functions.
- Implement CtfImeCreateThreadMgr function.
CORE-19360
2023-12-18 21:56:21 +09:00
Katayama Hirofumi MZ 8f8db4ddb6
[MSCTFIME][IMM32][SDK] Implement CtfImeInquireExW (#6187)
- Use C++.
- Adapt INPUTCONTEXTDX to C++.
- Add some global variables.
- Add DllShutDownInProgress function.
- Add TLS class.
- Modify CtfImeInquireExW prototype.
- Modify Imm32InquireIme for
  CtfImeInquireExW.
CORE-19360
2023-12-18 19:11:17 +09:00
Katayama Hirofumi MZ be8e4c691d
[MSCTFIME] Implement ImeRegisterWord etc. (#6160)
- Implement ImeRegisterWord, ImeUnregisterWord,
  ImeGetRegisterWordStyle, ImeEnumRegisterWord,
  ImeConversionList, ImeEscape, ImeSelect, and
  ImeSetActiveContext functions.
- These functions in MSCTFIME basically do
  nothing.
CORE-19360
2023-12-12 22:43:36 +09:00
Katayama Hirofumi MZ 17617221ce
[MSCTFIME][SDK][USER32] Add msctfime.ime (stub) (#6141)
## Overview
1. msctfime.ime is an IME file interface
  for new-style IMEs a.k.a. "Text Input
  Processors" (TIPs).
2. msctfime.ime is loaded as old-style
  IME file at ImmLoadLayout in specific
  condition.
3. msctfime.ime communicates with
  the current TIP (This feature is not
  implemented yet).

## Proposed changes
- Add msctfime module at dll/ime/msctfime.
- The functions in this module are currently
  stub.
- Move IME file interface declarations from
  <imm.h> to <ddk/immdev.h>.
- Modify ImmNotifyIME, NotifyIME, and
  ImeProcessKey prototypes for x64
  compliance.
CORE-19360
2023-12-11 22:37:25 +09:00