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
20 #pragma winrt ns_prefix
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
;
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)
68 contract
(Windows.Foundation.UniversalApiContract
, 1.0)
70 enum MediaPlaybackStatus
80 contract
(Windows.Foundation.UniversalApiContract
, 1.0)
90 contract
(Windows.Foundation.UniversalApiContract
, 1.0)
92 enum SystemMediaTransportControlsButton
107 contract
(Windows.Foundation.UniversalApiContract
, 1.0)
109 enum SystemMediaTransportControlsProperty
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),
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
),
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
;