feat: upgraded to midl3

This commit is contained in:
CT5
2026-01-29 15:53:15 +11:00
parent 0e7397b39f
commit 4e5403d332
4 changed files with 41 additions and 97 deletions

View File

@@ -4,7 +4,7 @@
//not represent something correct at all.
namespace Windows.Xbox.Media
{
[version(1)]
// Windows.Media.MediaPlaybackStatus
enum GamePlaybackStatus
{
Closed,
@@ -14,7 +14,8 @@ namespace Windows.Xbox.Media
Paused
};
[version(1)]
// Unity PDB
// Differs from Windows.Media.SystemMediaTransportControlsButton
enum GameTransportControlsButton
{
Play,
@@ -25,104 +26,47 @@ namespace Windows.Xbox.Media
MaxButtons
};
//Placeholder member, correct ones are unknown at the moment.
[version(1)]
// Windows.Media.SystemMediaTransportControlsProperty
enum GameTransportControlsProperty
{
Unknown
SoundLevel
};
//Placeholder member, correct ones are unknown at the moment.
[version(1)]
// Windows.Media.SoundLevel
enum SoundLevel
{
Unknown
Muted,
Low,
Full
};
[contractversion(1.0)]
apicontract GameTransportControlsContract
[interface_name("IGameTransportControlsPropertyChangedEventArgs", D0CA0936-339B-4CB3-8EEB-737607F56E08)]
runtimeclass GameTransportControlsPropertyChangedEventArgs
{
Windows.Xbox.Media.GameTransportControlsProperty Property { get; };
}
// GUID from @Zombie
[uuid(D0CA0936-339B-4CB3-8EEB-737607F56E08)]
[version(1)]
[exclusiveto(Windows.Xbox.Media.GameTransportControlsPropertyChangedEventArgs)]
interface IGameTransportControlsPropertyChangedEventArgs : IInspectable
[interface_name("IGameTransportControlsButtonPressedEventArgs", 9BD12C1F-24FE-4790-8C2C-8FB6A5727BC2)]
runtimeclass GameTransportControlsButtonPressedEventArgs
{
[propget] HRESULT Property([out][retval] Windows.Xbox.Media.GameTransportControlsProperty* value);
Windows.Xbox.Media.GameTransportControlsButton Button { get; };
}
// GUID from @Zombie
[uuid(9BD12C1F-24FE-4790-8C2C-8FB6A5727BC2)]
[version(1)]
[exclusiveto(Windows.Xbox.Media.GameTransportControlsButtonPressedEventArgs)]
interface IGameTransportControlsButtonPressedEventArgs : IInspectable
[interface_name("IGameTransportControls", F5BA60D7-9303-44CD-AC0C-4E532702CD00)]
runtimeclass GameTransportControls
{
[propget] HRESULT Button([out][retval] Windows.Xbox.Media.GameTransportControlsButton* value);
GameTransportControls();
String Title { get; set; };
String Subtitle { get; set; };
Windows.Xbox.Media.GamePlaybackStatus PlaybackStatus { get; set; };
Windows.Xbox.Media.SoundLevel SoundLevel { get; };
Boolean IsEnabled { get; set; };
Boolean IsPlayEnabled { get; set; };
Boolean IsPauseEnabled { get; set; };
Boolean IsMenuEnabled { get; set; };
Boolean IsViewEnabled { get; set; };
Boolean IsBackEnabled { get; set; };
event Windows.Foundation.TypedEventHandler<GameTransportControls, GameTransportControlsButtonPressedEventArgs> ButtonPressed;
event Windows.Foundation.TypedEventHandler<GameTransportControls, GameTransportControlsPropertyChangedEventArgs> PropertyChanged;
}
[contract(Windows.Xbox.Media.GameTransportControlsContract, 1.0)]
[exclusiveto(Windows.Xbox.Media.GameTransportControls)]
[uuid(F5BA60D7-9303-44CD-AC0C-4E532702CD00)]
[version(1)]
interface IGameTransportControls : IInspectable
{
[propget] HRESULT Title([out][retval] HSTRING* value);
[propput] HRESULT Title([in] HSTRING value);
[propget] HRESULT Subtitle([out][retval] HSTRING* value);
[propput] HRESULT Subtitle([in] HSTRING value);
[propget] HRESULT PlaybackStatus([out][retval] Windows.Xbox.Media.GamePlaybackStatus* value);
[propput] HRESULT PlaybackStatus([in] Windows.Xbox.Media.GamePlaybackStatus value);
[propget] HRESULT SoundLevel([out][retval] Windows.Xbox.Media.SoundLevel* value);
[propget] HRESULT IsEnabled([out][retval] boolean* value);
[propput] HRESULT IsEnabled([in] boolean value);
[propget] HRESULT IsPlayEnabled([out][retval] boolean* value);
[propput] HRESULT IsPlayEnabled([in] boolean value);
[propget] HRESULT IsPauseEnabled([out][retval] boolean* value);
[propput] HRESULT IsPauseEnabled([in] boolean value);
[propget] HRESULT IsMenuEnabled([out][retval] boolean* value);
[propput] HRESULT IsMenuEnabled([in] boolean value);
[propget] HRESULT IsViewEnabled([out][retval] boolean* value);
[propput] HRESULT IsViewEnabled([in] boolean value);
[propget] HRESULT IsBackEnabled([out][retval] boolean* value);
[propput] HRESULT IsBackEnabled([in] boolean value);
HRESULT add_ButtonPressed([in] Windows.Foundation.TypedEventHandler<Windows.Xbox.Media.GameTransportControls, Windows.Xbox.Media.GameTransportControlsButtonPressedEventArgs>* handler, [out][retval] Windows.Foundation.EventRegistrationToken* token);
HRESULT remove_ButtonPressed([in] Windows.Foundation.EventRegistrationToken token);
HRESULT add_PropertyChanged([in] Windows.Foundation.TypedEventHandler<Windows.Xbox.Media.GameTransportControls, Windows.Xbox.Media.GameTransportControlsPropertyChangedEventArgs>* handler, [out][retval] Windows.Foundation.EventRegistrationToken* token);
HRESULT remove_PropertyChanged([in] Windows.Foundation.EventRegistrationToken token);
}
[activatable(Windows.Xbox.Media.GameTransportControlsContract, 1.0)]
[contract(Windows.Xbox.Media.GameTransportControlsContract, 1.0)]
[version(1)]
[default_interface]
runtimeclass GameTransportControls {
[default] interface Windows.Xbox.Media.IGameTransportControls;
}
[version(1)]
[default_interface]
runtimeclass GameTransportControlsButtonPressedEventArgs {
[default] interface Windows.Xbox.Media.IGameTransportControlsButtonPressedEventArgs;
}
[version(1)]
[default_interface]
runtimeclass GameTransportControlsPropertyChangedEventArgs {
[default] interface Windows.Xbox.Media.IGameTransportControlsPropertyChangedEventArgs;
}
}
}

View File

@@ -30,16 +30,16 @@ namespace winrt::Windows::Xbox::Media::implementation
void IsViewEnabled(bool value);
bool IsBackEnabled();
void IsBackEnabled(bool value);
winrt::event_token add_ButtonPressed(
winrt::event_token ButtonPressed(
winrt::Windows::Foundation::TypedEventHandler<
winrt::Windows::Xbox::Media::GameTransportControls,
winrt::Windows::Xbox::Media::GameTransportControlsButtonPressedEventArgs> const &handler);
void remove_ButtonPressed(winrt::event_token const &token);
winrt::event_token add_PropertyChanged(
void ButtonPressed(winrt::event_token const &token);
winrt::event_token PropertyChanged(
winrt::Windows::Foundation::TypedEventHandler<
winrt::Windows::Xbox::Media::GameTransportControls,
winrt::Windows::Xbox::Media::GameTransportControlsPropertyChangedEventArgs> const &handler);
void remove_PropertyChanged(winrt::event_token const &token);
void PropertyChanged(winrt::event_token const &token);
private:
hstring _title = L"";

View File

@@ -42,7 +42,7 @@ namespace winrt::Windows::Xbox::Media::implementation
Windows::Xbox::Media::SoundLevel GameTransportControls::SoundLevel()
{
p_wd->log.Warn("WinDurango::WinRT::Windows::Xbox::Media", "Unimplemented: SoundLevel");
return Windows::Xbox::Media::SoundLevel::Unknown;
return Windows::Xbox::Media::SoundLevel::Full;
}
bool GameTransportControls::IsEnabled()
@@ -121,7 +121,7 @@ namespace winrt::Windows::Xbox::Media::implementation
* Dont use EventRegistrationToken
* https://stackoverflow.com/questions/63346461/namespace-winrtwindowsfoundationeventregistrationtoken-has-no-member-ev
*/
winrt::event_token GameTransportControls::add_ButtonPressed(
winrt::event_token GameTransportControls::ButtonPressed(
Windows::Foundation::TypedEventHandler<
winrt::Windows::Xbox::Media::GameTransportControls,
winrt::Windows::Xbox::Media::GameTransportControlsButtonPressedEventArgs> const &handler)
@@ -130,13 +130,13 @@ namespace winrt::Windows::Xbox::Media::implementation
return e_ButtonPressedHandler.add(handler);
}
void GameTransportControls::remove_ButtonPressed(winrt::event_token const &token)
void GameTransportControls::ButtonPressed(winrt::event_token const &token)
{
p_wd->log.Warn("WinDurango::WinRT::Windows::Xbox::Media", "Unimplemented: remove_ButtonPressed");
e_ButtonPressedHandler.remove(token);
}
winrt::event_token GameTransportControls::add_PropertyChanged(
winrt::event_token GameTransportControls::PropertyChanged(
Windows::Foundation::TypedEventHandler<
winrt::Windows::Xbox::Media::GameTransportControls,
winrt::Windows::Xbox::Media::GameTransportControlsPropertyChangedEventArgs> const &handler)
@@ -145,7 +145,7 @@ namespace winrt::Windows::Xbox::Media::implementation
return e_PropertyChangedHandler.add(handler);
}
void GameTransportControls::remove_PropertyChanged(winrt::event_token const &token)
void GameTransportControls::PropertyChanged(winrt::event_token const &token)
{
p_wd->log.Warn("WinDurango::WinRT::Windows::Xbox::Media", "Unimplemented: remove_PropertyChanged");
e_PropertyChangedHandler.remove(token);

View File

@@ -6,6 +6,6 @@ namespace winrt::Windows::Xbox::Media::implementation
GameTransportControlsProperty GameTransportControlsPropertyChangedEventArgs::Property()
{
p_wd->log.Warn("WinDurango::WinRT::Windows::Xbox::Media", "Unimplemented: Property");
return GameTransportControlsProperty::Unknown;
return GameTransportControlsProperty::SoundLevel;
}
} // namespace winrt::Windows::Xbox::Media::implementation