1 | /**
|
---|
2 | * This file has no copyright assigned and is placed in the Public Domain.
|
---|
3 | * This file is part of the mingw-w64 runtime package.
|
---|
4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package.
|
---|
5 | */
|
---|
6 |
|
---|
7 | cpp_quote("#ifndef MIN_SPELLING_NTDDI")
|
---|
8 | cpp_quote("#define MIN_SPELLING_NTDDI NTDDI_WIN8")
|
---|
9 | cpp_quote("#endif")
|
---|
10 |
|
---|
11 | cpp_quote("#if NTDDI_VERSION >= MIN_SPELLING_NTDDI")
|
---|
12 |
|
---|
13 | import "oaidl.idl";
|
---|
14 | import "ocidl.idl";
|
---|
15 |
|
---|
16 | cpp_quote("#include <winapifamily.h>")
|
---|
17 |
|
---|
18 | cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)")
|
---|
19 |
|
---|
20 | typedef [v1_enum] enum WORDLIST_TYPE {
|
---|
21 | WORDLIST_TYPE_IGNORE = 0,
|
---|
22 | WORDLIST_TYPE_ADD = 1,
|
---|
23 | WORDLIST_TYPE_EXCLUDE = 2,
|
---|
24 | WORDLIST_TYPE_AUTOCORRECT = 3,
|
---|
25 | } WORDLIST_TYPE;
|
---|
26 |
|
---|
27 | [
|
---|
28 | object,
|
---|
29 | uuid(b7c82d61-fbe8-4b47-9b27-6c0d2e0de0a3),
|
---|
30 | pointer_default(unique)
|
---|
31 | ]
|
---|
32 | interface ISpellingError : IUnknown {
|
---|
33 |
|
---|
34 | typedef [v1_enum] enum CORRECTIVE_ACTION {
|
---|
35 | CORRECTIVE_ACTION_NONE = 0,
|
---|
36 | CORRECTIVE_ACTION_GET_SUGGESTIONS = 1,
|
---|
37 | CORRECTIVE_ACTION_REPLACE = 2,
|
---|
38 | CORRECTIVE_ACTION_DELETE = 3,
|
---|
39 | } CORRECTIVE_ACTION;
|
---|
40 |
|
---|
41 | [propget] HRESULT StartIndex([out, retval] ULONG *val);
|
---|
42 | [propget] HRESULT Length([out, retval] ULONG *val);
|
---|
43 | [propget] HRESULT CorrectiveAction([out, retval] CORRECTIVE_ACTION *val);
|
---|
44 | [propget] HRESULT Replacement([out, retval] LPWSTR *val);
|
---|
45 | }
|
---|
46 |
|
---|
47 | [
|
---|
48 | object,
|
---|
49 | uuid(803e3bd4-2828-4410-8290-418d1d73c762),
|
---|
50 | pointer_default(unique)
|
---|
51 | ]
|
---|
52 | interface IEnumSpellingError : IUnknown {
|
---|
53 | HRESULT Next([out, retval] ISpellingError **val);
|
---|
54 | }
|
---|
55 |
|
---|
56 | [
|
---|
57 | object,
|
---|
58 | uuid(432e5f85-35cf-4606-a801-6f70277e1d7a),
|
---|
59 | pointer_default(unique)
|
---|
60 | ]
|
---|
61 | interface IOptionDescription : IUnknown {
|
---|
62 | [propget] HRESULT Id([out, retval] LPWSTR *val);
|
---|
63 | [propget] HRESULT Heading([out, retval] LPWSTR *val);
|
---|
64 | [propget] HRESULT Description([out, retval] LPWSTR *val);
|
---|
65 | [propget] HRESULT Labels([out, retval] IEnumString **val);
|
---|
66 | }
|
---|
67 |
|
---|
68 | interface ISpellChecker;
|
---|
69 |
|
---|
70 | [
|
---|
71 | object,
|
---|
72 | uuid(0b83a5b0-792f-4eab-9799-acf52c5ed08a),
|
---|
73 | pointer_default(unique)
|
---|
74 | ]
|
---|
75 | interface ISpellCheckerChangedEventHandler : IUnknown {
|
---|
76 | HRESULT Invoke([in] ISpellChecker *sender);
|
---|
77 | }
|
---|
78 |
|
---|
79 | [
|
---|
80 | object,
|
---|
81 | uuid(b6fd0b71-e2bc-4653-8d05-f197e412770b),
|
---|
82 | pointer_default(unique)
|
---|
83 | ]
|
---|
84 | interface ISpellChecker : IUnknown {
|
---|
85 | [propget] HRESULT LanguageTag([out, retval] LPWSTR *val);
|
---|
86 | HRESULT Check([in] LPCWSTR text, [out, retval] IEnumSpellingError **val);
|
---|
87 | HRESULT Suggest([in] LPCWSTR word, [out, retval] IEnumString **val);
|
---|
88 | HRESULT Add([in] LPCWSTR word);
|
---|
89 | HRESULT Ignore([in] LPCWSTR word);
|
---|
90 | HRESULT AutoCorrect([in] LPCWSTR from, [in] LPCWSTR to);
|
---|
91 | HRESULT GetOptionValue([in] LPCWSTR option_id, [out, retval] BYTE *val);
|
---|
92 | [propget] HRESULT OptionIds([out, retval] IEnumString **val);
|
---|
93 | [propget] HRESULT Id([out, retval] LPWSTR *val);
|
---|
94 | [propget] HRESULT LocalizedName([out, retval] LPWSTR *val);
|
---|
95 | HRESULT add_SpellCheckerChanged([in] ISpellCheckerChangedEventHandler *handler, [out, retval] DWORD *event_cookie);
|
---|
96 | HRESULT remove_SpellCheckerChanged([in] DWORD event_cookie);
|
---|
97 | HRESULT GetOptionDescription([in] LPCWSTR optionId, [out, retval] IOptionDescription **val);
|
---|
98 | HRESULT ComprehensiveCheck([in] LPCWSTR text, [out, retval] IEnumSpellingError **val);
|
---|
99 | }
|
---|
100 |
|
---|
101 | [
|
---|
102 | object,
|
---|
103 | uuid(e7ed1c71-87f7-4378-a840-c9200dacee47),
|
---|
104 | pointer_default(unique)
|
---|
105 | ]
|
---|
106 | interface ISpellChecker2 : ISpellChecker {
|
---|
107 | HRESULT Remove([in] LPCWSTR word);
|
---|
108 | }
|
---|
109 |
|
---|
110 | [
|
---|
111 | object,
|
---|
112 | uuid(8e018a9d-2415-4677-bf08-794ea61f94bb),
|
---|
113 | pointer_default(unique)
|
---|
114 | ]
|
---|
115 | interface ISpellCheckerFactory : IUnknown {
|
---|
116 | [propget] HRESULT SupportedLanguages([out, retval] IEnumString **val);
|
---|
117 | HRESULT IsSupported([in] LPCWSTR languageTag, [out, retval] WINBOOL *val);
|
---|
118 | HRESULT CreateSpellChecker([in] LPCWSTR languageTag, [out, retval] ISpellChecker **val);
|
---|
119 | }
|
---|
120 |
|
---|
121 | cpp_quote("#endif /* WINAPI_PARTITION_APP */")
|
---|
122 |
|
---|
123 | cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
|
---|
124 |
|
---|
125 | [
|
---|
126 | object,
|
---|
127 | uuid(aa176b85-0e12-4844-8e1a-eef1da77f586),
|
---|
128 | pointer_default(unique)
|
---|
129 | ]
|
---|
130 | interface IUserDictionariesRegistrar : IUnknown {
|
---|
131 | HRESULT RegisterUserDictionary([in] LPCWSTR dictionaryPath, [in] LPCWSTR languageTag);
|
---|
132 | HRESULT UnregisterUserDictionary([in] LPCWSTR dictionaryPath, [in] LPCWSTR languageTag);
|
---|
133 | }
|
---|
134 |
|
---|
135 | cpp_quote("#endif /* WINAPI_PARTITION_DESKTOP */")
|
---|
136 |
|
---|
137 | cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)")
|
---|
138 |
|
---|
139 | [
|
---|
140 | uuid(4a250e01-61ea-400b-a27d-bf3744bcc9f5),
|
---|
141 | version(1.0),
|
---|
142 | ]
|
---|
143 | library MsSpellCheckLib {
|
---|
144 | importlib("stdole2.tlb");
|
---|
145 |
|
---|
146 | [
|
---|
147 | uuid(7ab36653-1796-484b-bdfa-e74f1db7c1dc)
|
---|
148 | ]
|
---|
149 | coclass SpellCheckerFactory {
|
---|
150 | [default] interface ISpellCheckerFactory;
|
---|
151 | interface IUserDictionariesRegistrar;
|
---|
152 | };
|
---|
153 | }
|
---|
154 |
|
---|
155 | cpp_quote("#endif /* WINAPI_PARTITION_APP */")
|
---|
156 |
|
---|
157 | cpp_quote("#endif /* MIN_SPELLING_NTDDI */")
|
---|