[PSDK]
[reactos.git] / include / psdk / msctf.idl
index 5d8cb2a..ecb696e 100644 (file)
 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)")
@@ -37,6 +32,7 @@ cpp_quote("#define TF_E_NOLOCK          MAKE_HRESULT(SEVERITY_ERROR, FACILITY_IT
 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);")
@@ -46,8 +42,9 @@ cpp_quote("EXTERN_C const GUID GUID_PROP_COMPOSING;")
 
 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;")
@@ -1349,3 +1346,155 @@ interface ITfSourceSingle : IUnknown
         [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);
+};