123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226 |
- /*
- * Copyright 2010 Justin Chevrier
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
- #ifndef DO_NO_IMPORTS
- import "oaidl.idl";
- #endif
- interface ITfLangBarEventSink;
- interface ITfLangBarItemMgr;
- interface ITfInputProcessorProfiles;
- const ULONG TF_LBI_DESC_MAXLEN = 32;
- typedef [uuid(12a1d29f-a065-440c-9746-eb2002c8bd19)] struct TF_LANGBARITEMINFO
- {
- CLSID clsidService;
- GUID guidItem;
- DWORD dwStyle;
- ULONG ulSort;
- WCHAR szDescription[TF_LBI_DESC_MAXLEN];
- } TF_LANGBARITEMINFO;
- [
- object,
- uuid(73540d69-edeb-4ee9-96c9-23aa30b25916),
- pointer_default(unique),
- ]
- interface ITfLangBarItem : IUnknown
- {
- HRESULT GetInfo(
- [out] TF_LANGBARITEMINFO *pInfo);
- HRESULT GetStatus(
- [out] DWORD *pdwStatus);
- HRESULT Show(
- [in] BOOL fShow);
- HRESULT GetTooltipString(
- [out] BSTR *pbstrToolTip);
- }
- [
- object,
- uuid(583f34d0-de25-11d2-afdd-00105a2799b5),
- pointer_default(unique),
- ]
- interface IEnumTfLangBarItems : IUnknown
- {
- HRESULT Clone(
- [out] IEnumTfLangBarItems **ppEnum);
- HRESULT Next(
- [in] ULONG ulCount,
- [out, size_is(ulCount)] ITfLangBarItem **ppItem,
- [in, out, unique] ULONG *pcFetched);
- HRESULT Reset();
- HRESULT Skip(
- [in] ULONG ulCount);
- }
- [
- object,
- uuid(57dbe1a0-de25-11d2-afdd-00105a2799b5),
- pointer_default(unique),
- ]
- interface ITfLangBarItemSink : IUnknown
- {
- HRESULT OnUpdate(
- [in] DWORD dwFlags);
- }
- [
- object,
- uuid(ba468c55-9956-4fb1-a59d-52a7dd7cc6aa),
- pointer_default(unique),
- ]
- interface ITfLangBarItemMgr : IUnknown
- {
- HRESULT EnumItems(
- [out] IEnumTfLangBarItems **ppEnum);
- HRESULT GetItem(
- [in] REFGUID rguid,
- [out] ITfLangBarItem **ppItem);
- HRESULT AddItem(
- [in] ITfLangBarItem *punk);
- HRESULT RemoveItem(
- [in] ITfLangBarItem *punk);
- HRESULT AdviseItemSink(
- [in] ITfLangBarItemSink *punk,
- [out] DWORD *pdwCookie,
- [in] REFGUID rguidItem);
- HRESULT UnadviseItemSink(
- [in] DWORD dwCookie);
- HRESULT GetItemFloatingRect(
- [in] DWORD dwThreadId,
- [in] REFGUID rguid,
- [out] RECT *prc);
- HRESULT GetItemsStatus(
- [in] ULONG ulCount,
- [in, size_is(ulCount)] const GUID *prgguid,
- [out, size_is(ulCount)] DWORD *pdwStatus);
- HRESULT GetItemNum(
- [out] ULONG *pulCount);
- HRESULT GetItems(
- [in] ULONG ulCount,
- [out, size_is(ulCount), length_is(*pcFetched)] ITfLangBarItem **ppItem,
- [out, size_is(ulCount), length_is(*pcFetched)] TF_LANGBARITEMINFO *pInfo,
- [out, size_is(ulCount), length_is(*pcFetched)] DWORD *pdwStatus,
- [in, out, unique] ULONG *pcFetched);
- HRESULT AdviseItemsSink(
- [in] ULONG ulCount,
- [in, size_is(ulCount)] ITfLangBarItemSink **ppunk,
- [in, size_is(ulCount)] const GUID *pguidItem,
- [out, size_is(ulCount)] DWORD *pdwCookie);
- HRESULT UnadviseItemsSink(
- [in] ULONG ulCount,
- [in, size_is(ulCount)] DWORD *pdwCookie);
- }
- [
- object,
- uuid(87955690-e627-11d2-8ddb-00105a2799b5),
- pointer_default(unique)
- ]
- interface ITfLangBarMgr: IUnknown
- {
- HRESULT AdviseEventSink(
- [in] ITfLangBarEventSink *pSink,
- [in] HWND hwnd,
- [in] DWORD dwflags,
- [in] DWORD *pdwCookie);
- HRESULT UnAdviseEventSink(
- [in] DWORD dwCookie);
- HRESULT GetThreadMarshalInterface(
- [in] DWORD dwThreadId,
- [in] DWORD dwType,
- [in] REFIID riid,
- [out] IUnknown **ppunk);
- HRESULT GetThreadLangBarItemMgr(
- [in] DWORD dwThreadId,
- [out] ITfLangBarItemMgr **pplbie,
- [out] DWORD *pdwThreadid);
- HRESULT GetInputProcessorProfiles(
- [in] DWORD dwThreadId,
- [out] ITfInputProcessorProfiles **ppaip,
- [out] DWORD *pdwThreadid);
- HRESULT RestoreLastFocus(
- [out] DWORD *dwThreadId,
- [in] BOOL fPrev);
- HRESULT SetModalInput(
- [in] ITfLangBarEventSink *pSink,
- [in] DWORD dwThreadId,
- [in] DWORD dwFlags);
- HRESULT ShowFloating(
- [in] DWORD dwFlags);
- HRESULT GetShowFloatingStatus(
- [out] DWORD *pdwFlags);
- }
- [
- object,
- uuid(18a4e900-e0ae-11d2-afdd-00105a2799b5),
- pointer_default(unique)
- ]
- interface ITfLangBarEventSink: IUnknown
- {
- HRESULT OnSetFocus(
- [in] DWORD dwThreadId);
- HRESULT OnThreadTerminate(
- [in] DWORD dwThreadId);
- HRESULT OnThreadItemChange(
- [in] DWORD dwThreadId);
- HRESULT OnModalInput(
- [in] DWORD dwThreadId,
- [in] UINT uMsg,
- [in] WPARAM wParam,
- [in] LPARAM lParam);
- HRESULT ShowFloating(
- [in] DWORD dwFlags);
- HRESULT GetItemFloatingRect(
- [in] DWORD dwThreadId,
- [in] REFGUID rguid,
- [out] RECT *prc);
- }
|