Reactos

[SDK][UUID] Strengthen <ctfutb.h> (#6135)

For supporting Text Input Processors (TIPs).
Add many TSF interfaces and definitions into "ctfutb.idl".
CORE-19268

authored by

Katayama Hirofumi MZ and committed by
GitHub
045e9dee dc2d2232

+276 -6
+276 -6
sdk/include/psdk/ctfutb.idl
··· 1 1 /* 2 2 * Copyright 2010 Justin Chevrier 3 + * Copyright 2023 Katayama Hirofumi MZ 3 4 * 4 5 * This library is free software; you can redistribute it and/or 5 6 * modify it under the terms of the GNU Lesser General Public ··· 23 24 #endif 24 25 #endif 25 26 27 + cpp_quote("#define TF_FLOATINGLANGBAR_WNDTITLEW L\"TF_FloatingLangBar_WndTitle\"") 28 + cpp_quote("#define TF_FLOATINGLANGBAR_WNDTITLEA \"TF_FloatingLangBar_WndTitle\"") 29 + cpp_quote("#ifdef UNICODE") 30 + cpp_quote("#define TF_FLOATINGLANGBAR_WNDTITLE TF_FLOATINGLANGBAR_WNDTITLEW") 31 + cpp_quote("#else") 32 + cpp_quote("#define TF_FLOATINGLANGBAR_WNDTITLE TF_FLOATINGLANGBAR_WNDTITLEA") 33 + cpp_quote("#endif") 34 + 35 + /* Flags for ITfLangBarItemSink::OnUpdate */ 36 + cpp_quote("#define TF_LBI_ICON 0x00000001") 37 + cpp_quote("#define TF_LBI_TEXT 0x00000002") 38 + cpp_quote("#define TF_LBI_TOOLTIP 0x00000004") 39 + cpp_quote("#define TF_LBI_BITMAP 0x00000008") 40 + cpp_quote("#define TF_LBI_BALLOON 0x00000010") 41 + cpp_quote("#define TF_LBI_CUSTOMUI 0x00000020") 42 + cpp_quote("#define TF_LBI_BTNALL (TF_LBI_TEXT | TF_LBI_ICON | TF_LBI_TOOLTIP)") 43 + cpp_quote("#define TF_LBI_BMPBTNALL (TF_LBI_TEXT | TF_LBI_BITMAP | TF_LBI_TOOLTIP)") 44 + cpp_quote("#define TF_LBI_BMPALL (TF_LBI_BITMAP | TF_LBI_TOOLTIP)") 45 + cpp_quote("#define TF_LBI_STATUS 0x00010000") 46 + 47 + /* Flags for ITfLangBarItem::GetInfo */ 48 + cpp_quote("#define TF_LBI_STYLE_HIDDENSTATUSCONTROL 0x00000001") 49 + cpp_quote("#define TF_LBI_STYLE_SHOWNINTRAY 0x00000002") 50 + cpp_quote("#define TF_LBI_STYLE_HIDEONNOOTHERITEMS 0x00000004") 51 + cpp_quote("#define TF_LBI_STYLE_SHOWNINTRAYONLY 0x00000008") 52 + cpp_quote("#define TF_LBI_STYLE_HIDDENBYDEFAULT 0x00000010") 53 + cpp_quote("#define TF_LBI_STYLE_TEXTCOLORICON 0x00000020") 54 + cpp_quote("#define TF_LBI_STYLE_BTN_BUTTON 0x00010000") 55 + cpp_quote("#define TF_LBI_STYLE_BTN_MENU 0x00020000") 56 + cpp_quote("#define TF_LBI_STYLE_BTN_TOGGLE 0x00040000") 57 + 58 + /* Flags for ITfLangBarItem::GetStatus */ 59 + cpp_quote("#define TF_LBI_STATUS_HIDDEN 0x00000001") 60 + cpp_quote("#define TF_LBI_STATUS_DISABLED 0x00000002") 61 + cpp_quote("#define TF_LBI_STATUS_BTN_TOGGLED 0x00010000") 62 + 63 + cpp_quote("#define TF_LBI_BMPF_VERTICAL 0x00000001") 64 + 65 + /* Flags for ShowFloating */ 66 + cpp_quote("#define TF_SFT_SHOWNORMAL 0x00000001") 67 + cpp_quote("#define TF_SFT_DOCK 0x00000002") 68 + cpp_quote("#define TF_SFT_MINIMIZED 0x00000004") 69 + cpp_quote("#define TF_SFT_HIDDEN 0x00000008") 70 + cpp_quote("#define TF_SFT_NOTRANSPARENCY 0x00000010") 71 + cpp_quote("#define TF_SFT_LOWTRANSPARENCY 0x00000020") 72 + cpp_quote("#define TF_SFT_HIGHTRANSPARENCY 0x00000040") 73 + cpp_quote("#define TF_SFT_LABELS 0x00000080") 74 + cpp_quote("#define TF_SFT_NOLABELS 0x00000100") 75 + cpp_quote("#define TF_SFT_EXTRAICONSONMINIMIZED 0x00000200") 76 + cpp_quote("#define TF_SFT_NOEXTRAICONSONMINIMIZED 0x00000400") 77 + cpp_quote("#define TF_SFT_DESKBAND 0x00000800") 78 + 79 + /* OnMenuSelect flags */ 80 + cpp_quote("#define TF_INVALIDMENUITEM (UINT)(-1)") 81 + 82 + /* SystemDeviceTypeLangbarItem flag */ 83 + cpp_quote("#define TF_DTLBI_USEPROFILEICON 0x00000001") 84 + 85 + typedef enum 86 + { 87 + TF_LBI_CLK_RIGHT = 1, 88 + TF_LBI_CLK_LEFT = 2 89 + } TfLBIClick; 90 + 26 91 interface ITfLangBarEventSink; 27 92 interface ITfLangBarItemMgr; 28 93 interface ITfInputProcessorProfiles; 29 94 interface IEnumTfLangBarItems; 30 95 interface ITfLangBarItem; 31 96 interface ITfLangBarItemSink; 97 + interface ITfLangBarItemBalloon; 98 + interface ITfLangBarItemBitmap; 99 + interface ITfLangBarItemBitmapButton; 100 + interface ITfLangBarItemButton; 101 + interface ITfMenu; 102 + interface ITfSystemDeviceTypeLangBarItem; 103 + interface ITfSystemLangBarItem; 104 + interface ITfSystemLangBarItemSink; 105 + interface ITfSystemLangBarItemText; 32 106 33 107 [ 34 108 object, ··· 76 150 77 151 HRESULT GetShowFloatingStatus( 78 152 [out] DWORD *pdwFlags); 79 - }; 153 + } 80 154 81 155 [ 82 156 object, ··· 123 197 [ 124 198 object, 125 199 uuid(ba468c55-9956-4fb1-a59d-52a7dd7cc6aa), 126 - pointer_default(unique), 200 + pointer_default(unique) 127 201 ] 128 202 interface ITfLangBarItemMgr : IUnknown 129 203 { ··· 177 251 HRESULT UnadviseItemsSink( 178 252 [in] ULONG ulCount, 179 253 [in, size_is(ulCount)] DWORD *pdwCookie); 180 - }; 254 + } 181 255 182 256 [ 183 257 object, 184 258 uuid(583f34d0-de25-11d2-afdd-00105a2799b5), 185 - pointer_default(unique), 259 + pointer_default(unique) 186 260 ] 187 261 interface IEnumTfLangBarItems : IUnknown 188 262 { ··· 203 277 [ 204 278 object, 205 279 uuid(73540d69-edeb-4ee9-96c9-23aa30b25916), 206 - pointer_default(unique), 280 + pointer_default(unique) 207 281 ] 208 282 interface ITfLangBarItem : IUnknown 209 283 { ··· 223 297 [ 224 298 object, 225 299 uuid(57dbe1a0-de25-11d2-afdd-00105a2799b5), 226 - pointer_default(unique), 300 + pointer_default(unique) 227 301 ] 228 302 interface ITfLangBarItemSink : IUnknown 229 303 { 230 304 HRESULT OnUpdate( 231 305 [in] DWORD dwFlags); 232 306 } 307 + 308 + [ 309 + object, 310 + uuid(01c2d285-d3c7-4b7b-b5b5-d97411d0c283), 311 + pointer_default(unique) 312 + ] 313 + interface ITfLangBarItemBalloon : IUnknown 314 + { 315 + HRESULT OnClick( 316 + [in] TfLBIClick click, 317 + [in] POINT pt, 318 + [in] const RECT *prcArea); 319 + 320 + HRESULT GetPreferredSize( 321 + [in] const SIZE *pszDefault, 322 + [out] SIZE *psz); 323 + 324 + typedef enum 325 + { 326 + TF_LB_BALLOON_RECO = 0, 327 + TF_LB_BALLOON_SHOW = 1, 328 + TF_LB_BALLOON_MISS = 2 329 + } TfLBBalloonStyle; 330 + 331 + typedef struct TF_LBBALLOONINFO 332 + { 333 + TfLBBalloonStyle style; 334 + BSTR bstrText; 335 + } TF_LBBALLOONINFO; 336 + 337 + HRESULT GetBalloonInfo( 338 + [out] TF_LBBALLOONINFO *pInfo); 339 + } 340 + 341 + [ 342 + object, 343 + uuid(73830352-d722-4179-ada5-f045c98df355), 344 + pointer_default(unique) 345 + ] 346 + interface ITfLangBarItemBitmap : IUnknown 347 + { 348 + HRESULT OnClick( 349 + [in] TfLBIClick click, 350 + [in] POINT pt, 351 + [in] const RECT *prcArea); 352 + 353 + HRESULT GetPreferredSize( 354 + [in] const SIZE *pszDefault, 355 + [out] SIZE *psz); 356 + 357 + HRESULT DrawBitmap( 358 + [in] LONG bmWidth, 359 + [in] LONG bmHeight, 360 + [in] DWORD dwFlags, 361 + [out] HBITMAP *phbmp, 362 + [out] HBITMAP *phbmpMask); 363 + } 364 + 365 + [ 366 + object, 367 + uuid(a26a0525-3fae-4fa0-89ee-88a964f9f1b5), 368 + pointer_default(unique) 369 + ] 370 + interface ITfLangBarItemBitmapButton : IUnknown 371 + { 372 + HRESULT OnClick( 373 + [in] TfLBIClick click, 374 + [in] POINT pt, 375 + [in] const RECT *prcArea); 376 + 377 + HRESULT InitMenu( 378 + [in] ITfMenu *pMenu); 379 + 380 + HRESULT OnMenuSelect( 381 + [in] UINT wID); 382 + 383 + HRESULT GetPreferredSize( 384 + [in] const SIZE *pszDefault, 385 + [out] SIZE *psz); 386 + 387 + HRESULT DrawBitmap( 388 + [in] LONG bmWidth, 389 + [in] LONG bmHeight, 390 + [in] DWORD dwFlags, 391 + [out] HBITMAP *phbmp, 392 + [out] HBITMAP *phbmpMask); 393 + 394 + HRESULT GetText( 395 + [out] BSTR *pbstrText); 396 + } 397 + 398 + [ 399 + object, 400 + uuid(28c7f1d0-de25-11d2-afdd-00105a2799b5), 401 + pointer_default(unique) 402 + ] 403 + interface ITfLangBarItemButton : IUnknown 404 + { 405 + HRESULT OnClick( 406 + [in] TfLBIClick click, 407 + [in] POINT pt, 408 + [in] const RECT *prcArea); 409 + 410 + HRESULT InitMenu( 411 + [in] ITfMenu *pMenu); 412 + 413 + HRESULT OnMenuSelect( 414 + [in] UINT wID); 415 + 416 + HRESULT GetIcon( 417 + [out] HICON *phIcon); 418 + 419 + HRESULT GetText( 420 + [out] BSTR *pbstrText); 421 + } 422 + 423 + [ 424 + object, 425 + uuid(6f8a98e4-aaa0-4f15-8c5b-07e0df0a3dd8), 426 + pointer_default(unique) 427 + ] 428 + interface ITfMenu : IUnknown 429 + { 430 + const DWORD TF_LBMENUF_CHECKED = 0x00000001; 431 + const DWORD TF_LBMENUF_SUBMENU = 0x00000002; 432 + const DWORD TF_LBMENUF_SEPARATOR = 0x00000004; 433 + const DWORD TF_LBMENUF_RADIOCHECKED = 0x00000008; 434 + const DWORD TF_LBMENUF_GRAYED = 0x00000010; 435 + 436 + HRESULT AddMenuItem( 437 + [in] UINT uId, 438 + [in] DWORD dwFlags, 439 + [in] HBITMAP hbmp, 440 + [in] HBITMAP hbmpMask, 441 + [in] const WCHAR *pch, 442 + [in] ULONG cch, 443 + ITfMenu **ppMenu); 444 + } 445 + 446 + [ 447 + object, 448 + uuid(45672eb9-9059-46a2-838d-4530355f6a77), 449 + pointer_default(unique) 450 + ] 451 + interface ITfSystemDeviceTypeLangBarItem : IUnknown 452 + { 453 + HRESULT SetIconMode( 454 + [in] DWORD dwFlags); 455 + 456 + HRESULT GetIconMode( 457 + [out] DWORD *pdwFlags); 458 + } 459 + 460 + [ 461 + object, 462 + uuid(1e13e9ec-6b33-4d4a-b5eb-8a92f029f356), 463 + pointer_default(unique) 464 + ] 465 + interface ITfSystemLangBarItem : IUnknown 466 + { 467 + HRESULT SetIcon( 468 + [in] HICON hIcon); 469 + 470 + HRESULT SetTooltipString( 471 + [in] WCHAR *pchToolTip, 472 + [in] ULONG cch); 473 + } 474 + 475 + [ 476 + object, 477 + uuid(1449d9ab-13cf-4687-aa3e-8d8b18574396), 478 + pointer_default(unique) 479 + ] 480 + interface ITfSystemLangBarItemSink : IUnknown 481 + { 482 + HRESULT InitMenu( 483 + [in] ITfMenu *pMenu); 484 + 485 + HRESULT OnMenuSelect( 486 + [in] UINT wID); 487 + } 488 + 489 + [ 490 + object, 491 + uuid(5c4ce0e5-ba49-4b52-ac6b-3b397b4f701f), 492 + pointer_default(unique) 493 + ] 494 + interface ITfSystemLangBarItemText : IUnknown 495 + { 496 + HRESULT SetItemText( 497 + [in] const WCHAR *pch, 498 + [in] ULONG cch); 499 + 500 + HRESULT GetItemText( 501 + [out] BSTR *pbstrText); 502 + }