2 * Copyright 2010 Justin Chevrier
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
23 interface ITfLangBarEventSink
;
24 interface ITfLangBarItemMgr
;
25 interface ITfInputProcessorProfiles
;
27 const ULONG TF_LBI_DESC_MAXLEN
= 32;
29 typedef [uuid(12a1d29f
-a065
-440c
-9746-eb2002c8bd19
)] struct TF_LANGBARITEMINFO
35 WCHAR szDescription
[TF_LBI_DESC_MAXLEN
];
40 uuid(73540d69
-edeb
-4ee9
-96c9
-23aa30b25916
),
41 pointer_default(unique),
43 interface ITfLangBarItem
: IUnknown
46 [out] TF_LANGBARITEMINFO
*pInfo
);
49 [out] DWORD
*pdwStatus
);
54 HRESULT GetTooltipString
(
55 [out] BSTR *pbstrToolTip
);
60 uuid(583f34d0
-de25
-11d2
-afdd
-00105a2799b5
),
61 pointer_default(unique),
63 interface IEnumTfLangBarItems
: IUnknown
66 [out] IEnumTfLangBarItems
**ppEnum
);
70 [out, size_is(ulCount
)] ITfLangBarItem
**ppItem
,
71 [in, out, unique] ULONG
*pcFetched
);
81 uuid(57dbe1a0
-de25
-11d2
-afdd
-00105a2799b5
),
82 pointer_default(unique),
84 interface ITfLangBarItemSink
: IUnknown
92 uuid(ba468c55
-9956-4fb1
-a59d
-52a7dd7cc6aa
),
93 pointer_default(unique),
95 interface ITfLangBarItemMgr
: IUnknown
98 [out] IEnumTfLangBarItems
**ppEnum
);
102 [out] ITfLangBarItem
**ppItem
);
105 [in] ITfLangBarItem
*punk
);
108 [in] ITfLangBarItem
*punk
);
110 HRESULT AdviseItemSink
(
111 [in] ITfLangBarItemSink
*punk
,
112 [out] DWORD
*pdwCookie
,
113 [in] REFGUID rguidItem
);
115 HRESULT UnadviseItemSink
(
116 [in] DWORD dwCookie
);
118 HRESULT GetItemFloatingRect
(
119 [in] DWORD dwThreadId
,
123 HRESULT GetItemsStatus
(
125 [in, size_is(ulCount
)] const GUID
*prgguid
,
126 [out, size_is(ulCount
)] DWORD
*pdwStatus
);
129 [out] ULONG
*pulCount
);
133 [out, size_is(ulCount
), length_is(*pcFetched
)] ITfLangBarItem
**ppItem
,
134 [out, size_is(ulCount
), length_is(*pcFetched
)] TF_LANGBARITEMINFO
*pInfo
,
135 [out, size_is(ulCount
), length_is(*pcFetched
)] DWORD
*pdwStatus
,
136 [in, out, unique] ULONG
*pcFetched
);
138 HRESULT AdviseItemsSink
(
140 [in, size_is(ulCount
)] ITfLangBarItemSink
**ppunk
,
141 [in, size_is(ulCount
)] const GUID
*pguidItem
,
142 [out, size_is(ulCount
)] DWORD
*pdwCookie
);
144 HRESULT UnadviseItemsSink
(
146 [in, size_is(ulCount
)] DWORD
*pdwCookie
);
151 uuid(87955690-e627
-11d2
-8ddb
-00105a2799b5
),
152 pointer_default(unique)
154 interface ITfLangBarMgr
: IUnknown
156 HRESULT AdviseEventSink
(
157 [in] ITfLangBarEventSink
*pSink
,
160 [in] DWORD
*pdwCookie
);
162 HRESULT UnAdviseEventSink
(
163 [in] DWORD dwCookie
);
165 HRESULT GetThreadMarshalInterface
(
166 [in] DWORD dwThreadId
,
169 [out] IUnknown
**ppunk
);
171 HRESULT GetThreadLangBarItemMgr
(
172 [in] DWORD dwThreadId
,
173 [out] ITfLangBarItemMgr
**pplbie
,
174 [out] DWORD
*pdwThreadid
);
176 HRESULT GetInputProcessorProfiles
(
177 [in] DWORD dwThreadId
,
178 [out] ITfInputProcessorProfiles
**ppaip
,
179 [out] DWORD
*pdwThreadid
);
181 HRESULT RestoreLastFocus
(
182 [out] DWORD
*dwThreadId
,
185 HRESULT SetModalInput
(
186 [in] ITfLangBarEventSink
*pSink
,
187 [in] DWORD dwThreadId
,
190 HRESULT ShowFloating
(
193 HRESULT GetShowFloatingStatus
(
194 [out] DWORD
*pdwFlags
);
199 uuid(18a4e900
-e0ae
-11d2
-afdd
-00105a2799b5
),
200 pointer_default(unique)
202 interface ITfLangBarEventSink
: IUnknown
205 [in] DWORD dwThreadId
);
207 HRESULT OnThreadTerminate
(
208 [in] DWORD dwThreadId
);
210 HRESULT OnThreadItemChange
(
211 [in] DWORD dwThreadId
);
213 HRESULT OnModalInput
(
214 [in] DWORD dwThreadId
,
219 HRESULT ShowFloating
(
222 HRESULT GetItemFloatingRect
(
223 [in] DWORD dwThreadId
,