xref: /reactos/sdk/lib/cicero/cictf.h (revision 3a49e26f)
1 /*
2  * PROJECT:     ReactOS Cicero
3  * LICENSE:     LGPL-2.1-or-later (https://spdx.org/licenses/LGPL-2.1-or-later)
4  * PURPOSE:     Cicero Text Framework
5  * COPYRIGHT:   Copyright 2023 Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
6  */
7 
8 #pragma once
9 
10 DEFINE_GUID(IID_ITfSysHookSink, 0x495388DA, 0x21A5, 0x4852, 0x8B, 0xB1, 0xED, 0x2F, 0x29, 0xDA, 0x8D, 0x60);
11 
12 struct ITfSysHookSink : IUnknown
13 {
14     STDMETHOD(OnPreFocusDIM)(HWND hwnd) = 0;
15     STDMETHOD(OnSysKeyboardProc)(UINT, LONG) = 0;
16     STDMETHOD(OnSysShellProc)(INT, UINT, LONG) = 0;
17 };
18 
19 DEFINE_GUID(IID_ITfThreadMgr_P, 0x7C6247A1, 0x2884, 0x4B7C, 0xAF, 0x24, 0xF1, 0x98, 0x04, 0x7A, 0xA7, 0x28);
20 
21 struct ITfThreadMgr_P : ITfThreadMgr
22 {
23     STDMETHOD(GetAssociated)(HWND hwnd, ITfDocumentMgr **ppDocMgr) = 0;
24     STDMETHOD(SetSysHookSink)(ITfSysHookSink *pSysHookSink) = 0;
25     STDMETHOD(RequestPostponedLock)(ITfContext *pContext) = 0;
26     STDMETHOD(IsKeystrokeFeedEnabled)(int *) = 0;
27     STDMETHOD(CallImm32HotkeyHandler)(UINT vKey, LPARAM lParam, HRESULT* phrResult) = 0;
28     STDMETHOD(ActivateEx)(TfClientId*, DWORD) = 0;
29 };
30 
31 DEFINE_GUID(IID_ITfKeystrokeMgr_P, 0x53FA1BEC, 0x5BE1, 0x458E, 0xAE, 0x70, 0xA9, 0xF1, 0xDC, 0x84, 0x3E, 0x81);
32 
33 // FIXME: ITfKeystrokeMgr_P
34 
35 DEFINE_GUID(IID_IAImmFnDocFeed, 0x6E098993, 0x9577, 0x499A, 0xA8, 0x30, 0x52, 0x34, 0x4F, 0x3E, 0x20, 0x0D);
36 DEFINE_GUID(CLSID_CAImmLayer,   0xB676DB87, 0x64DC, 0x4651, 0x99, 0xEC, 0x91, 0x07, 0x0E, 0xA4, 0x87, 0x90);
37 
38 struct IAImmFnDocFeed : IUnknown
39 {
40     STDMETHOD(DocFeed)() = 0;
41     STDMETHOD(ClearDocFeedBuffer)() = 0;
42     STDMETHOD(StartReconvert)() = 0;
43     STDMETHOD(StartUndoCompositionString)() = 0;
44 };
45