winecfg: Change system theme alongside app theme.
[wine.git] / include / windows.media.idl
blob4896f66b45be7ad740d143e5d1c66e84a2c88ebe
1 /*
2 * Copyright 2021 Paul Gofman 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";
26 namespace Windows.Media
28 typedef enum AudioProcessing AudioProcessing;
29 typedef enum MediaPlaybackStatus MediaPlaybackStatus;
30 typedef enum SoundLevel SoundLevel;
31 typedef enum SystemMediaTransportControlsButton SystemMediaTransportControlsButton;
32 typedef enum SystemMediaTransportControlsProperty SystemMediaTransportControlsProperty;
34 interface IMediaControl;
35 interface IMediaMarker;
36 interface ISystemMediaTransportControls;
37 interface ISystemMediaTransportControls2;
38 interface ISystemMediaTransportControlsButtonPressedEventArgs;
39 interface ISystemMediaTransportControlsDisplayUpdater;
40 interface ISystemMediaTransportControlsPropertyChangedEventArgs;
41 interface ISystemMediaTransportControlsStatics;
43 runtimeclass SystemMediaTransportControls;
44 runtimeclass SystemMediaTransportControlsButtonPressedEventArgs;
45 runtimeclass SystemMediaTransportControlsDisplayUpdater;
46 runtimeclass SystemMediaTransportControlsPropertyChangedEventArgs;
48 declare
50 interface Windows.Foundation.Collections.IIterable<Windows.Media.IMediaMarker*>;
51 interface Windows.Foundation.Collections.IIterator<Windows.Media.IMediaMarker*>;
52 interface Windows.Foundation.Collections.IVectorView<Windows.Media.IMediaMarker*>;
53 interface Windows.Foundation.Collections.IVector<Windows.Media.IMediaMarker*>;
54 interface Windows.Foundation.TypedEventHandler<Windows.Media.SystemMediaTransportControls*, Windows.Media.SystemMediaTransportControlsButtonPressedEventArgs*>;
55 interface Windows.Foundation.TypedEventHandler<Windows.Media.SystemMediaTransportControls*, Windows.Media.SystemMediaTransportControlsPropertyChangedEventArgs*>;
59 contract(Windows.Foundation.UniversalApiContract, 1.0)
61 enum AudioProcessing
63 Default = 0,
64 Raw = 1,
68 contract(Windows.Foundation.UniversalApiContract, 1.0)
70 enum MediaPlaybackStatus
72 Closed = 0,
73 Changing = 1,
74 Stopped = 2,
75 Playing = 3,
76 Paused = 4,
80 contract(Windows.Foundation.UniversalApiContract, 1.0)
82 enum SoundLevel
84 Muted = 0,
85 Low = 1,
86 Full = 2,
90 contract(Windows.Foundation.UniversalApiContract, 1.0)
92 enum SystemMediaTransportControlsButton
94 Play = 0,
95 Pause = 1,
96 Stop = 2,
97 Record = 3,
98 FastForward = 4,
99 Rewind = 5,
100 Next = 6,
101 Previous = 7,
102 ChannelUp = 8,
103 ChannelDown = 9,
107 contract(Windows.Foundation.UniversalApiContract, 1.0)
109 enum SystemMediaTransportControlsProperty
111 SoundLevel = 0,
115 contract(Windows.Foundation.UniversalApiContract, 1.0),
116 uuid(1803def8-dca5-4b6f-9c20-e3d3c0643625)
118 interface IMediaMarker : IInspectable
120 [propget] HRESULT Time([out, retval] Windows.Foundation.TimeSpan *value);
121 [propget] HRESULT MediaMarkerType([out, retval] HSTRING *value);
122 [propget] HRESULT Text([out, retval] HSTRING *value);
126 contract(Windows.Foundation.UniversalApiContract, 1.0),
127 exclusiveto(Windows.Media.SystemMediaTransportControls),
128 uuid(99fa3ff4-1742-42a6-902e-087d41f965ec)
130 interface ISystemMediaTransportControls : IInspectable
132 [propget] HRESULT PlaybackStatus([out, retval] Windows.Media.MediaPlaybackStatus *value);
133 [propput] HRESULT PlaybackStatus([in] Windows.Media.MediaPlaybackStatus value);
134 [propget] HRESULT DisplayUpdater([out, retval] Windows.Media.SystemMediaTransportControlsDisplayUpdater **value);
135 [propget] HRESULT SoundLevel([out, retval] Windows.Media.SoundLevel *value);
136 [propget] HRESULT IsEnabled([out, retval] boolean *value);
137 [propput] HRESULT IsEnabled([in] boolean value);
138 [propget] HRESULT IsPlayEnabled([out, retval] boolean *value);
139 [propput] HRESULT IsPlayEnabled([in] boolean value);
140 [propget] HRESULT IsStopEnabled([out, retval] boolean *value);
141 [propput] HRESULT IsStopEnabled([in] boolean value);
142 [propget] HRESULT IsPauseEnabled([out, retval] boolean *value);
143 [propput] HRESULT IsPauseEnabled([in] boolean value);
144 [propget] HRESULT IsRecordEnabled([out, retval] boolean *value);
145 [propput] HRESULT IsRecordEnabled([in] boolean value);
146 [propget] HRESULT IsFastForwardEnabled([out, retval] boolean *value);
147 [propput] HRESULT IsFastForwardEnabled([in] boolean value);
148 [propget] HRESULT IsRewindEnabled([out, retval] boolean *value);
149 [propput] HRESULT IsRewindEnabled([in] boolean value);
150 [propget] HRESULT IsPreviousEnabled([out, retval] boolean *value);
151 [propput] HRESULT IsPreviousEnabled([in] boolean value);
152 [propget] HRESULT IsNextEnabled([out, retval] boolean *value);
153 [propput] HRESULT IsNextEnabled([in] boolean value);
154 [propget] HRESULT IsChannelUpEnabled([out, retval] boolean *value);
155 [propput] HRESULT IsChannelUpEnabled([in] boolean value);
156 [propget] HRESULT IsChannelDownEnabled([out, retval] boolean *value);
157 [propput] HRESULT IsChannelDownEnabled([in] boolean value);
158 [eventadd] HRESULT ButtonPressed(
159 [in] Windows.Foundation.TypedEventHandler<Windows.Media.SystemMediaTransportControls *, Windows.Media.SystemMediaTransportControlsButtonPressedEventArgs *> *handler,
160 [out, retval] EventRegistrationToken *token
162 [eventremove] HRESULT ButtonPressed([in] EventRegistrationToken token);
163 [eventadd] HRESULT PropertyChanged(
164 [in] Windows.Foundation.TypedEventHandler<Windows.Media.SystemMediaTransportControls *, Windows.Media.SystemMediaTransportControlsPropertyChangedEventArgs *> *handler,
165 [out, retval] EventRegistrationToken *token
167 [eventremove] HRESULT PropertyChanged([in] EventRegistrationToken token);
171 contract(Windows.Foundation.UniversalApiContract, 1.0),
172 exclusiveto(Windows.Media.SystemMediaTransportControlsButtonPressedEventArgs),
173 uuid(b7f47116-a56f-4dc8-9e11-92031f4a87c2)
175 interface ISystemMediaTransportControlsButtonPressedEventArgs : IInspectable
177 [propget] HRESULT Button([out, retval] Windows.Media.SystemMediaTransportControlsButton *value);
181 contract(Windows.Foundation.UniversalApiContract, 1.0),
182 exclusiveto(Windows.Media.SystemMediaTransportControlsPropertyChangedEventArgs),
183 uuid(d0ca0936-339b-4cb3-8eeb-737607f56e08)
185 interface ISystemMediaTransportControlsPropertyChangedEventArgs : IInspectable
187 [propget] HRESULT Property([out, retval] Windows.Media.SystemMediaTransportControlsProperty *value);
191 contract(Windows.Foundation.UniversalApiContract, 1.0),
192 marshaling_behavior(agile),
193 static(Windows.Media.ISystemMediaTransportControlsStatics, Windows.Foundation.UniversalApiContract, 1.0),
194 threading(mta)
196 runtimeclass SystemMediaTransportControls
198 [default] interface Windows.Media.ISystemMediaTransportControls;
199 [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Media.ISystemMediaTransportControls2;
203 contract(Windows.Foundation.UniversalApiContract, 1.0),
204 marshaling_behavior(agile)
206 runtimeclass SystemMediaTransportControlsButtonPressedEventArgs
208 [default] interface Windows.Media.ISystemMediaTransportControlsButtonPressedEventArgs;
212 contract(Windows.Foundation.UniversalApiContract, 1.0),
213 marshaling_behavior(agile),
214 threading(both)
216 runtimeclass SystemMediaTransportControlsDisplayUpdater
218 [default] interface Windows.Media.ISystemMediaTransportControlsDisplayUpdater;
222 contract(Windows.Foundation.UniversalApiContract, 1.0),
223 marshaling_behavior(agile)
225 runtimeclass SystemMediaTransportControlsPropertyChangedEventArgs
227 [default] interface Windows.Media.ISystemMediaTransportControlsPropertyChangedEventArgs;