OSDN Git Service

Add .vs/ to .gitignore
[xkeymacs/xkeymacs.git] / xkeymacsdll / TSFHandler.h
1 #pragma once\r
2 \r
3 #include <msctf.h>\r
4 \r
5 class TSFHandler: public ITfThreadMgrEventSink, public ITfTextEditSink\r
6 {\r
7 public:\r
8         TSFHandler();\r
9         ~TSFHandler();\r
10         static void InitSink();\r
11         static void SetFocus();\r
12 \r
13         // IUnknown\r
14         STDMETHODIMP QueryInterface(REFIID riid, void **obj);\r
15         STDMETHODIMP_(ULONG) AddRef();\r
16         STDMETHODIMP_(ULONG) Release();\r
17 \r
18         // ITfThreadMgrEventSink\r
19         STDMETHODIMP OnInitDocumentMgr(ITfDocumentMgr *);\r
20         STDMETHODIMP OnPopContext(ITfContext *);\r
21         STDMETHODIMP OnPushContext(ITfContext *);\r
22         STDMETHODIMP OnSetFocus(ITfDocumentMgr *, ITfDocumentMgr *);\r
23         STDMETHODIMP OnUninitDocumentMgr(ITfDocumentMgr *);\r
24 \r
25         // ITfTextEditSink\r
26         STDMETHODIMP OnEndEdit(ITfContext *, TfEditCookie , ITfEditRecord *);\r
27 \r
28 private:\r
29         ULONG m_RefCount;\r
30         ITfThreadMgr *m_ThreadMgr;\r
31         DWORD m_Cookie;\r
32         ITfContext *m_Context;\r
33         bool m_CompositionState;\r
34 };\r
35 \r