import "oaidl.idl";
import "comcat.idl";
import "textstor.idl";
-/* import "ctfutb.idl"; */
+import "ctfutb.idl";
#endif
cpp_quote("#include <winuser.h>")
-/* FIXME: LANGID is defined in winnt.h and mlang.h in the platform SDK */
-cpp_quote("#ifndef _WINNT_H")
-typedef WORD LANGID;
-cpp_quote("#endif")
-
cpp_quote("#define TF_E_STACKFULL MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0501)")
cpp_quote("#define TF_E_DISCONNECTED MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0504)")
cpp_quote("#define TF_E_ALREADY_EXISTS MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0506)")
cpp_quote("HRESULT WINAPI TF_CreateThreadMgr(ITfThreadMgr **pptim);")
cpp_quote("HRESULT WINAPI TF_GetThreadMgr(ITfThreadMgr **pptim);")
cpp_quote("HRESULT WINAPI TF_CreateInputProcessorProfiles(ITfInputProcessorProfiles **ppipr);")
+cpp_quote("HRESULT WINAPI TF_CreateLangBarMgr(ITfLangBarMgr **pppbm);")
cpp_quote("EXTERN_C const GUID GUID_PROP_TEXTOWNER;")
cpp_quote("DEFINE_GUID(GUID_PROP_ATTRIBUTE,0x34b45670,0x7526,0x11d2,0xa1,0x47,0x00,0x10,0x5a,0x27,0x99,0xb5);")
cpp_quote("EXTERN_C const CLSID CLSID_TF_ThreadMgr;")
cpp_quote("EXTERN_C const CLSID CLSID_TF_InputProcessorProfiles;")
+cpp_quote("EXTERN_C const CLSID CLSID_TF_LangBarMgr;")
cpp_quote("EXTERN_C const CLSID CLSID_TF_CategoryMgr;")
-cpp_quote("DEFINE_GUID(CLSID_TF_DisplayAttributeMgr,0x3ce74de4,0x53d3,0x4d74,0x8b,0x83,0x43,0x1b,0x38,0x28,0xba,0x53);")
+cpp_quote("EXTERN_C const CLSID CLSID_TF_DisplayAttributeMgr;")
/* GUIDs for Compartments */
cpp_quote("EXTERN_C const GUID GUID_COMPARTMENT_KEYBOARD_DISABLED;")
[in] TfClientId tid,
[in] REFIID riid);
};
+
+[
+ object,
+ local,
+ uuid(c0f1db0c-3a20-405c-a303-96b6010a885f),
+ pointer_default(unique)
+]
+interface ITfThreadFocusSink : IUnknown
+{
+ HRESULT OnSetThreadFocus();
+
+ HRESULT OnKillThreadFocus();
+};
+
+[
+ object,
+ uuid(101d6610-0990-11d3-8df0-00105a2799b5),
+ pointer_default(unique)
+]
+interface ITfFunctionProvider : IUnknown
+{
+ HRESULT GetType(
+ [out] GUID *pguid);
+
+ HRESULT GetDescription(
+ [out] BSTR *pbstrDesc);
+
+ HRESULT GetFunction(
+ [in] REFGUID rguid,
+ [in] REFIID riid,
+ [out, iid_is(riid)] IUnknown **ppunk);
+}
+
+[
+ object,
+ uuid(e4b24db0-0990-11d3-8df0-00105a2799b5),
+ pointer_default(unique)
+]
+interface IEnumTfFunctionProviders : IUnknown
+{
+ HRESULT Clone(
+ [out] IEnumTfFunctionProviders **ppEnum);
+
+ HRESULT Next(
+ [in] ULONG ulCount,
+ [out, size_is(ulCount), length_is(*pcFetch)] ITfFunctionProvider **ppCmdobj,
+ [out] ULONG *pcFetch);
+
+ HRESULT Reset();
+
+ HRESULT Skip(
+ [in] ULONG ulCount);
+};
+
+[
+ object,
+ uuid(2433bf8e-0f9b-435c-ba2c-180611978c30),
+ pointer_default(unique)
+]
+interface ITfContextView : IUnknown
+{
+ HRESULT GetRangeFromPoint(
+ [in] TfEditCookie ec,
+ [in] const POINT *ppt,
+ [in] DWORD dwFlags,
+ [out] ITfRange **ppRange);
+
+ HRESULT GetTextExt(
+ [in] TfEditCookie ec,
+ [in] ITfRange *pRange,
+ [out] RECT *prc,
+ [out] BOOL *pfClipped);
+
+ HRESULT GetScreenExt(
+ [out] RECT *prc);
+
+ HRESULT GetWnd(
+ [out] HWND *phwnd);
+};
+
+[
+ object,
+ uuid(f0c0f8dd-cf38-44e1-bb0f-68cf0d551c78),
+ pointer_default(unique)
+]
+interface IEnumTfContextViews : IUnknown
+{
+ HRESULT Clone(
+ [out] IEnumTfContextViews **ppEnum);
+
+ HRESULT Next(
+ [in] ULONG ulCount,
+ [out, size_is(ulCount), length_is(*pcFetched)] ITfContextView **rgViews,
+ [out] ULONG *pcFetched);
+
+ HRESULT Reset();
+
+ HRESULT Skip(
+ [in] ULONG ulCount);
+};
+
+[
+ object,
+ uuid(19188cb0-aca9-11d2-afc5-00105a2799b5),
+ pointer_default(unique)
+]
+interface IEnumTfProperties : IUnknown
+{
+ HRESULT Clone(
+ [out] IEnumTfProperties **ppEnum);
+
+ HRESULT Next(
+ [in] ULONG ulCount,
+ [out, size_is(ulCount), length_is(*pcFetched)] ITfProperty **ppProp,
+ [out] ULONG *pcFetched);
+
+ HRESULT Reset();
+
+ HRESULT Skip(
+ [in] ULONG ulCount);
+}
+
+[
+ object,
+ uuid(463a506d-6992-49d2-9b88-93d55e70bb16),
+ pointer_default(unique)
+]
+interface ITfRangeBackup : IUnknown
+{
+ HRESULT Restore(
+ [in] TfEditCookie ec,
+ [in] ITfRange *pRange);
+};
+
+[
+ object,
+ uuid(42d4d099-7c1a-4a89-b836-6c6f22160df0),
+ pointer_default(unique)
+]
+interface ITfEditRecord : IUnknown
+{
+ const DWORD TF_GTP_INCL_TEXT = 0x1;
+
+ HRESULT GetSelectionStatus(
+ [out] BOOL *pfChanged);
+
+ HRESULT GetTextAndPropertyUpdates(
+ [in] DWORD dwFlags,
+ [in, size_is(cProperties)] const GUID **prgProperties,
+ [in] ULONG cProperties,
+ [out] IEnumTfRanges **ppEnum);
+};