123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531 |
- //+-------------------------------------------------------------------------
- //
- // Microsoft Windows
- // Copyright (C) Microsoft Corporation, 1992-2001.
- //
- // File: ctfutb.idl
- //
- // Contents: Text Framework declarations.
- //
- //
- //--------------------------------------------------------------------------
- cpp_quote("//=--------------------------------------------------------------------------=")
- cpp_quote("// ctfutb.h")
- cpp_quote("")
- cpp_quote("")
- cpp_quote("// Text Framework declarations.")
- cpp_quote("")
- cpp_quote("//=--------------------------------------------------------------------------=")
- cpp_quote("// (C) Copyright 1995-2001 Microsoft Corporation. All Rights Reserved.")
- cpp_quote("//")
- cpp_quote("// THIS CODE AND INFORMATION IS PROVIDED \"AS IS\" WITHOUT WARRANTY OF")
- cpp_quote("// ANY KIND, EITHER EXPRESSED OR TFPLIED, INCLUDING BUT NOT LIMITED TO")
- cpp_quote("// THE TFPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A")
- cpp_quote("// PARTICULAR PURPOSE.")
- cpp_quote("//=--------------------------------------------------------------------------=")
- cpp_quote("")
- cpp_quote("#ifndef CTFUTB_DEFINED")
- cpp_quote("#define CTFUTB_DEFINED")
- cpp_quote("")
- cpp_quote("#include <windows.h>")
- cpp_quote("")
- cpp_quote("#ifdef __cplusplus")
- cpp_quote("extern \"C\" {")
- cpp_quote("#endif /* __cplusplus */")
- cpp_quote("")
- cpp_quote("#define TF_FLOATINGLANGBAR_WNDTITLEW L\"TF_FloatingLangBar_WndTitle\"")
- cpp_quote("#define TF_FLOATINGLANGBAR_WNDTITLEA \"TF_FloatingLangBar_WndTitle\"")
- cpp_quote("#ifdef UNICODE")
- cpp_quote("#define TF_FLOATINGLANGBAR_WNDTITLE TF_FLOATINGLANGBAR_WNDTITLEW")
- cpp_quote("#else")
- cpp_quote("#define TF_FLOATINGLANGBAR_WNDTITLE TF_FLOATINGLANGBAR_WNDTITLEA")
- cpp_quote("#endif")
- // for ITfLangBarItemSink::OnUpdate()
- cpp_quote("#define TF_LBI_ICON 0x00000001")
- cpp_quote("#define TF_LBI_TEXT 0x00000002")
- cpp_quote("#define TF_LBI_TOOLTIP 0x00000004")
- cpp_quote("#define TF_LBI_BITMAP 0x00000008")
- cpp_quote("#define TF_LBI_BALLOON 0x00000010")
- cpp_quote("#define TF_LBI_BTNALL (TF_LBI_ICON | TF_LBI_TEXT | TF_LBI_TOOLTIP)")
- cpp_quote("#define TF_LBI_BMPBTNALL (TF_LBI_BITMAP | TF_LBI_TEXT | TF_LBI_TOOLTIP)")
- cpp_quote("#define TF_LBI_BMPALL (TF_LBI_BITMAP | TF_LBI_TOOLTIP)")
- cpp_quote("#define TF_LBI_STATUS 0x00010000")
- //
- // for ITfLangBarItem::GetInfo()
- // Button Style
- //
- //
- // TF_LBI_STYLE_HIDDENSTATUSCONTROL
- //
- // If this bit is on, the items are not hidden by intellisense or
- // there won't be UI to hide.
- //
- cpp_quote("#define TF_LBI_STYLE_HIDDENSTATUSCONTROL 0x00000001")
- //
- // TF_LBI_STYLE_SHOWNINTRAY
- //
- // If this bit is on, the item is shown in tray when Langbat is minimized.
- //
- cpp_quote("#define TF_LBI_STYLE_SHOWNINTRAY 0x00000002")
- //
- // TF_LBI_STYLE_HIDEONNOOTHERITEMS
- //
- // Langbar will be hidden if only items with this bits are in Langbar.
- //
- cpp_quote("#define TF_LBI_STYLE_HIDEONNOOTHERITEMS 0x00000004")
- //
- // TF_LBI_STYLE_SHOWNINTRAYONLY
- //
- // Langbar will be hidden on the floating toolbar but it is shown on tray.
- //
- cpp_quote("#define TF_LBI_STYLE_SHOWNINTRAYONLY 0x00000008")
- //
- // TF_LBI_STYLE_HIDDENBYDEFAULT
- //
- // The item won't be shown in the toolbar face unless the item is
- // added from UI.
- //
- cpp_quote("#define TF_LBI_STYLE_HIDDENBYDEFAULT 0x00000010")
- //
- // TF_LBI_STYLE_TEXTCOLORICON
- //
- // The icon of the item with this flag will be drawn with text color.
- // This icon must be mono and black part will be changed.
- //
- cpp_quote("#define TF_LBI_STYLE_TEXTCOLORICON 0x00000020")
- cpp_quote("#define TF_LBI_STYLE_BTN_BUTTON 0x00010000")
- cpp_quote("#define TF_LBI_STYLE_BTN_MENU 0x00020000")
- cpp_quote("#define TF_LBI_STYLE_BTN_TOGGLE 0x00040000")
- // for ITfLangBarItem::GetStatus()
- cpp_quote("#define TF_LBI_STATUS_HIDDEN 0x00000001")
- cpp_quote("#define TF_LBI_STATUS_DISABLED 0x00000002")
- // Button Status
- cpp_quote("#define TF_LBI_STATUS_BTN_TOGGLED 0x00010000")
- // Bitmap Flag
- cpp_quote("#define TF_LBI_BMPF_VERTICAL 0x00000001")
- // ShowFloating flags
- cpp_quote("#define TF_SFT_SHOWNORMAL 0x00000001")
- cpp_quote("#define TF_SFT_DOCK 0x00000002")
- cpp_quote("#define TF_SFT_MINIMIZED 0x00000004")
- cpp_quote("#define TF_SFT_HIDDEN 0x00000008")
- cpp_quote("#define TF_SFT_NOTRANSPARENCY 0x00000010")
- cpp_quote("#define TF_SFT_LOWTRANSPARENCY 0x00000020")
- cpp_quote("#define TF_SFT_HIGHTRANSPARENCY 0x00000040")
- cpp_quote("#define TF_SFT_LABELS 0x00000080")
- cpp_quote("#define TF_SFT_NOLABELS 0x00000100")
- cpp_quote("#define TF_SFT_EXTRAICONSONMINIMIZED 0x00000200")
- cpp_quote("#define TF_SFT_NOEXTRAICONSONMINIMIZED 0x00000400")
- cpp_quote("#define TF_SFT_DESKBAND 0x00000800")
- // OnMenuSelect flags
- cpp_quote("#define TF_INVALIDMENUITEM (UINT)(-1)")
- // SystemDeviceTypeLangbarItem Flag
- cpp_quote("#define TF_DTLBI_USEPROFILEICON 0x00000001")
- cpp_quote("#ifdef __cplusplus")
- cpp_quote("}")
- cpp_quote("#endif /* __cplusplus */")
- import "oaidl.idl";
- import "msctf.idl";
- interface ITfLangBarItem;
- interface ITfLangBarEventSink;
- interface ITfLangBarItemMgr;
- interface ITfInputProcessorProfiles;
- interface ITfMenu;
- //
- // ITfLangBarMgr
- //
- [
- object,
- local,
- 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, iid_is(riid)] IUnknown **ppunk);
- HRESULT GetThreadLangBarItemMgr([in] DWORD dwThreadId,
- [out] ITfLangBarItemMgr **pplbi,
- [out] DWORD *pdwThreadid);
- HRESULT GetInputProcessorProfiles([in] DWORD dwThreadId,
- [out] ITfInputProcessorProfiles **ppaip,
- [out] DWORD *pdwThreadid);
- HRESULT RestoreLastFocus([out] DWORD *pdwThreadId,
- [in] BOOL fPrev);
- HRESULT SetModalInput([in] ITfLangBarEventSink *pSink,
- [in] DWORD dwThreadId,
- [in] DWORD dwFlags);
- HRESULT ShowFloating([in] DWORD dwFlags);
- HRESULT GetShowFloatingStatus([out] DWORD *pdwFlags);
- }
- //
- // ITfLangBarEventSink
- //
- [
- 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);
- }
- //
- // ITfLangBarItemSink
- //
- [
- object,
- uuid(57dbe1a0-de25-11d2-afdd-00105a2799b5),
- pointer_default(unique),
- ]
- interface ITfLangBarItemSink : IUnknown
- {
- HRESULT OnUpdate([in] DWORD dwFlags);
- }
- //
- // IEnumTfLangBarItems
- //
- [
- 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);
- }
- 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;
- //
- // ITfLangBarItemMgr
- //
- [
- object,
- local,
- 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,
- [in, out, size_is(ulCount)] DWORD *pdwStatus);
- HRESULT GetItemNum([out] ULONG *pulCount);
- HRESULT GetItems([in] ULONG ulCount,
- [out, size_is(ulCount)] ITfLangBarItem **ppItem,
- [out, size_is(ulCount)] TF_LANGBARITEMINFO *pInfo,
- [out, size_is(ulCount)] 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);
- };
- //
- // ITfLangBarItem
- //
- [
- 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);
- }
- //
- // ITfSystemLangBarItemSink
- //
- [
- object,
- uuid(1449d9ab-13cf-4687-aa3e-8d8b18574396),
- pointer_default(unique),
- ]
- interface ITfSystemLangBarItemSink : IUnknown
- {
- HRESULT InitMenu([in] ITfMenu *pMenu);
- HRESULT OnMenuSelect([in] UINT wID);
- }
- //
- // ITfSystemLangBarItem
- //
- [
- object,
- uuid(1e13e9ec-6b33-4d4a-b5eb-8a92f029f356),
- pointer_default(unique),
- ]
- interface ITfSystemLangBarItem : IUnknown
- {
- HRESULT SetIcon([in] HICON hIcon);
- HRESULT SetTooltipString([in, size_is(cch)] WCHAR *pchToolTip,
- [in] ULONG cch);
- }
- //
- // ITfSystemDeviceTypeLangBarItem
- //
- [
- object,
- uuid(45672eb9-9059-46a2-838d-4530355f6a77),
- pointer_default(unique),
- ]
- interface ITfSystemDeviceTypeLangBarItem : IUnknown
- {
- HRESULT SetIconMode([in] DWORD dwFlags);
- HRESULT GetIconMode([out] DWORD *pdwFlags);
- }
- typedef [uuid(8fb5f0ce-dfdd-4f0a-85b9-8988d8dd8ff2)] enum
- {
- TF_LBI_CLK_RIGHT = 1,
- TF_LBI_CLK_LEFT = 2,
- } TfLBIClick;
- //
- // ITfLangBarItemButton
- //
- [
- object,
- uuid(28c7f1d0-de25-11d2-afdd-00105a2799b5),
- pointer_default(unique),
- ]
- interface ITfLangBarItemButton : ITfLangBarItem
- {
- HRESULT OnClick([in] TfLBIClick click,
- [in] POINT pt,
- [in] const RECT *prcArea);
- HRESULT InitMenu([in] ITfMenu *pMenu);
- HRESULT OnMenuSelect([in] UINT wID);
- HRESULT GetIcon([out] HICON *phIcon);
- HRESULT GetText([out] BSTR *pbstrText);
- }
- //
- // ITfLangBarItemBitmapButton
- //
- [
- object,
- uuid(a26a0525-3fae-4fa0-89ee-88a964f9f1b5),
- pointer_default(unique),
- ]
- interface ITfLangBarItemBitmapButton : ITfLangBarItem
- {
- HRESULT OnClick([in] TfLBIClick click,
- [in] POINT pt,
- [in] const RECT *prcArea);
- HRESULT InitMenu([in] ITfMenu *pMenu);
- HRESULT OnMenuSelect([in] UINT wID);
- HRESULT GetPreferredSize([in] const SIZE *pszDefault,
- [out] SIZE *psz);
- HRESULT DrawBitmap([in] LONG bmWidth,
- [in] LONG bmHeight,
- [in] DWORD dwFlags,
- [out] HBITMAP *phbmp,
- [out] HBITMAP *phbmpMask);
- HRESULT GetText([out] BSTR *pbstrText);
- }
- //
- // ITfLangBarItemBitmap
- //
- [
- object,
- uuid(73830352-d722-4179-ada5-f045c98df355),
- pointer_default(unique),
- ]
- interface ITfLangBarItemBitmap : ITfLangBarItem
- {
- HRESULT OnClick([in] TfLBIClick click,
- [in] POINT pt,
- [in] const RECT *prcArea);
- HRESULT GetPreferredSize([in] const SIZE *pszDefault,
- [out] SIZE *psz);
- HRESULT DrawBitmap([in] LONG bmWidth,
- [in] LONG bmHeight,
- [in] DWORD dwFlags,
- [out] HBITMAP *phbmp,
- [out] HBITMAP *phbmpMask);
- }
- //
- // ITfLangBarItemBalloon
- //
- [
- object,
- uuid(01C2D285-D3C7-4B7B-B5B5-D97411D0C283),
- pointer_default(unique),
- ]
- interface ITfLangBarItemBalloon : ITfLangBarItem
- {
- HRESULT OnClick([in] TfLBIClick click,
- [in] POINT pt,
- [in] const RECT *prcArea);
- HRESULT GetPreferredSize([in] const SIZE *pszDefault,
- [out] SIZE *psz);
- typedef [uuid(f399a969-9e97-4ddd-b974-2bfb934cfbc9)] enum {
- TF_LB_BALLOON_RECO = 0,
- TF_LB_BALLOON_SHOW = 1,
- TF_LB_BALLOON_MISS = 2
- } TfLBBalloonStyle;
- typedef [uuid(37574483-5c50-4092-a55c-922e3a67e5b8)] struct TF_LBBALLOONINFO
- {
- TfLBBalloonStyle style;
- BSTR bstrText;
- } TF_LBBALLOONINFO;
- HRESULT GetBalloonInfo([out] TF_LBBALLOONINFO *pInfo);
- }
- //
- // ITfMenu
- //
- [
- object,
- uuid(6F8A98E4-AAA0-4F15-8C5B-07E0DF0A3DD8),
- pointer_default(unique),
- ]
- interface ITfMenu : IUnknown
- {
- const DWORD TF_LBMENUF_CHECKED = 0x0001;
- const DWORD TF_LBMENUF_SUBMENU = 0x0002;
- const DWORD TF_LBMENUF_SEPARATOR = 0x0004;
- const DWORD TF_LBMENUF_RADIOCHECKED = 0x0008;
- const DWORD TF_LBMENUF_GRAYED = 0x0010;
- HRESULT AddMenuItem([in] UINT uId,
- [in] DWORD dwFlags,
- [in] HBITMAP hbmp,
- [in] HBITMAP hbmpMask,
- [in, unique, size_is(cch)] const WCHAR *pch,
- [in] ULONG cch,
- [in, out, unique] ITfMenu **ppMenu);
- }
- cpp_quote("#endif // CTFUTB_DEFINED")
|