dwrite: Prefer different family names for typographical collections.
[wine.git] / include / windows.media.speechsynthesis.idl
blobb2c86f3713767dfc43979e357a4970a028cac317
1 /*
2 * Copyright 2020 RĂ©mi Bernon for CodeWeavers
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
19 #ifdef __WIDL__
20 #pragma winrt ns_prefix
21 #endif
23 import "inspectable.idl";
24 import "windows.foundation.idl";
25 import "windows.media.idl";
27 namespace Windows {
28 namespace Foundation {
29 interface IClosable;
31 namespace Media {
32 namespace SpeechSynthesis {
33 typedef enum VoiceGender VoiceGender;
34 interface IInstalledVoicesStatic;
35 interface IInstalledVoicesStatic2;
36 interface ISpeechSynthesizer;
37 interface ISpeechSynthesizer2;
38 interface IVoiceInformation;
39 interface ISpeechSynthesisStream;
40 runtimeclass SpeechSynthesizer;
41 runtimeclass VoiceInformation;
42 runtimeclass SpeechSynthesizerOptions;
43 runtimeclass SpeechSynthesisStream;
46 namespace Storage {
47 namespace Streams {
48 interface IRandomAccessStreamWithContentType;
49 interface IRandomAccessStream;
50 interface IInputStream;
51 interface IOutputStream;
52 interface IContentTypeProvider;
57 namespace Windows {
58 namespace Media {
59 interface IMediaMarker;
63 namespace Windows {
64 namespace Media {
65 namespace SpeechSynthesis {
66 declare {
67 interface Windows.Foundation.Collections.IIterator<Windows.Media.SpeechSynthesis.VoiceInformation*>;
68 interface Windows.Foundation.Collections.IIterable<Windows.Media.SpeechSynthesis.VoiceInformation*>;
69 interface Windows.Foundation.Collections.IVectorView<Windows.Media.SpeechSynthesis.VoiceInformation*>;
70 interface Windows.Foundation.Collections.IVectorView<Windows.Media.IMediaMarker*>;
71 interface Windows.Foundation.IAsyncOperation<Windows.Media.SpeechSynthesis.SpeechSynthesisStream*>;
72 interface Windows.Foundation.AsyncOperationCompletedHandler<Windows.Media.SpeechSynthesis.SpeechSynthesisStream*>;
78 namespace Windows {
79 namespace Media {
80 namespace SpeechSynthesis {
81 [contract(Windows.Foundation.UniversalApiContract, 1.0)]
82 enum VoiceGender
84 Male = 0,
85 Female = 1
88 [contract(Windows.Foundation.UniversalApiContract, 1.0)]
89 [exclusiveto(Windows.Media.SpeechSynthesis.SpeechSynthesisStream)]
90 [uuid(83e46e93-244c-4622-ba0b-6229c4d0d65d)]
91 interface ISpeechSynthesisStream : IInspectable
92 requires
93 Windows.Storage.Streams.IRandomAccessStreamWithContentType,
94 Windows.Storage.Streams.IRandomAccessStream,
95 Windows.Foundation.IClosable,
96 Windows.Storage.Streams.IInputStream,
97 Windows.Storage.Streams.IOutputStream,
98 Windows.Storage.Streams.IContentTypeProvider
100 [propget] HRESULT Markers([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.Media.IMediaMarker*>** value);
104 contract(Windows.Foundation.UniversalApiContract, 1.0),
105 exclusiveto(Windows.Media.SpeechSynthesis.SpeechSynthesizer),
106 uuid(ce9f7c76-97f4-4ced-ad68-d51c458e45c6)
108 interface ISpeechSynthesizer : IInspectable
110 HRESULT SynthesizeTextToStreamAsync([in] HSTRING text, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Media.SpeechSynthesis.SpeechSynthesisStream*> **operation);
111 HRESULT SynthesizeSsmlToStreamAsync([in] HSTRING Ssml, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Media.SpeechSynthesis.SpeechSynthesisStream*> **operation);
112 [propput] HRESULT Voice([in] VoiceInformation *value);
113 [propget] HRESULT Voice([out] [retval] VoiceInformation **value);
117 contract(Windows.Foundation.UniversalApiContract, 1.0),
118 exclusiveto(Windows.Media.SpeechSynthesis.SpeechSynthesizer),
119 uuid(a7c5ecb2-4339-4d6a-bbf8-c7a4f1544c2e)
121 interface ISpeechSynthesizer2 : IInspectable
123 [propget] HRESULT Options([out, retval] SpeechSynthesizerOptions **value);
127 contract(Windows.Foundation.UniversalApiContract, 1.0),
128 exclusiveto(Windows.Media.SpeechSynthesis.VoiceInformation),
129 uuid(b127d6a4-1291-4604-aa9c-83134083352c)
131 interface IVoiceInformation : IInspectable
133 [propget] HRESULT DisplayName([out] [retval] HSTRING* value);
134 [propget] HRESULT Id([out] [retval] HSTRING* value);
135 [propget] HRESULT Language([out] [retval] HSTRING* value);
136 [propget] HRESULT Description([out] [retval] HSTRING* value);
137 [propget] HRESULT Gender([out] [retval] VoiceGender* value);
141 contract(Windows.Foundation.UniversalApiContract, 1.0),
142 exclusiveto(Windows.Media.SpeechSynthesis.SpeechSynthesizerOptions),
143 uuid(a0e23871-cc3d-43c9-91b1-ee185324d83d)
145 interface ISpeechSynthesizerOptions : IInspectable
147 [propget] HRESULT IncludeWordBoundaryMetadata([out, retval] boolean *value);
148 [propput] HRESULT IncludeWordBoundaryMetadata([in] boolean value);
149 [propget] HRESULT IncludeSentenceBoundaryMetadata([out, retval] boolean *value);
150 [propput] HRESULT IncludeSentenceBoundaryMetadata([in] boolean value);
154 contract(Windows.Foundation.UniversalApiContract, 1.0),
155 exclusiveto(Windows.Media.SpeechSynthesis.SpeechSynthesizer),
156 uuid(7d526ecc-7533-4c3f-85be-888c2baeebdc)
158 interface IInstalledVoicesStatic : IInspectable
160 [propget] HRESULT AllVoices([out, retval] Windows.Foundation.Collections.IVectorView<VoiceInformation*>** value);
161 [propget] HRESULT DefaultVoice([out, retval] VoiceInformation** value);
165 contract(Windows.Foundation.UniversalApiContract, 1.0),
166 marshaling_behavior(agile)
168 runtimeclass VoiceInformation
170 [default] interface Windows.Media.SpeechSynthesis.IVoiceInformation;
174 contract(Windows.Foundation.UniversalApiContract, 1.0),
175 marshaling_behavior(agile)
177 runtimeclass SpeechSynthesizerOptions
179 [default] interface Windows.Media.SpeechSynthesis.ISpeechSynthesizerOptions;
182 [contract(Windows.Foundation.UniversalApiContract, 1.0)]
183 [marshaling_behavior(agile)]
184 runtimeclass SpeechSynthesisStream
186 [default] interface Windows.Media.SpeechSynthesis.ISpeechSynthesisStream;
187 interface Windows.Storage.Streams.IRandomAccessStreamWithContentType;
188 interface Windows.Storage.Streams.IContentTypeProvider;
189 interface Windows.Storage.Streams.IRandomAccessStream;
190 interface Windows.Storage.Streams.IOutputStream;
191 interface Windows.Foundation.IClosable;
192 interface Windows.Storage.Streams.IInputStream;
196 activatable(Windows.Foundation.UniversalApiContract, 1.0),
197 contract(Windows.Foundation.UniversalApiContract, 1.0),
198 marshaling_behavior(agile),
199 static(Windows.Media.SpeechSynthesis.IInstalledVoicesStatic, Windows.Foundation.UniversalApiContract, 1.0),
200 static(Windows.Media.SpeechSynthesis.IInstalledVoicesStatic2, Windows.Foundation.UniversalApiContract, 5.0)
202 runtimeclass SpeechSynthesizer
204 [default] interface Windows.Media.SpeechSynthesis.ISpeechSynthesizer;
205 interface Windows.Foundation.IClosable;
206 [contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.Media.SpeechSynthesis.ISpeechSynthesizer2;