#![allow(
non_snake_case,
non_upper_case_globals,
non_camel_case_types,
dead_code,
clippy::all
)]
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct DesktopAcrylicBackdrop(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
DesktopAcrylicBackdrop,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(
DesktopAcrylicBackdrop,
SystemBackdrop,
super::DependencyObject
);
impl DesktopAcrylicBackdrop {
pub fn Dispatcher(&self) -> windows_core::Result<windows::UI::Core::CoreDispatcher> {
let this = &windows_core::Interface::cast::<super::IDependencyObject>(self)?;
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).Dispatcher)(
windows_core::Interface::as_raw(this),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
}
}
#[cfg(feature = "UI_Dispatching")]
pub fn DispatcherQueue(
&self,
) -> windows_core::Result<super::super::Dispatching::DispatcherQueue> {
let this = &windows_core::Interface::cast::<super::IDependencyObject>(self)?;
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).DispatcherQueue)(
windows_core::Interface::as_raw(this),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
}
}
pub fn new() -> windows_core::Result<DesktopAcrylicBackdrop> {
Self::IDesktopAcrylicBackdropFactory(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::ptr::null_mut(),
&mut core::ptr::null_mut(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
#[cfg(feature = "UI_Composition_SystemBackdrops")]
pub fn GetDefaultSystemBackdropConfiguration<P0, P1>(
&self,
target: P0,
xamlroot: P1,
) -> windows_core::Result<super::super::Composition::SystemBackdrops::SystemBackdropConfiguration>
where
P0: windows_core::Param<super::super::Composition::ICompositionSupportsSystemBackdrop>,
P1: windows_core::Param<super::XamlRoot>,
{
let this = &windows_core::Interface::cast::<ISystemBackdrop>(self)?;
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).GetDefaultSystemBackdropConfiguration)(
windows_core::Interface::as_raw(this),
target.param().abi(),
xamlroot.param().abi(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
}
}
#[cfg(feature = "UI_Composition")]
pub fn OnTargetConnected<P0, P1>(
&self,
connectedtarget: P0,
xamlroot: P1,
) -> windows_core::Result<()>
where
P0: windows_core::Param<super::super::Composition::ICompositionSupportsSystemBackdrop>,
P1: windows_core::Param<super::XamlRoot>,
{
let this = &windows_core::Interface::cast::<ISystemBackdropOverrides>(self)?;
unsafe {
(windows_core::Interface::vtable(this).OnTargetConnected)(
windows_core::Interface::as_raw(this),
connectedtarget.param().abi(),
xamlroot.param().abi(),
)
.ok()
}
}
#[cfg(feature = "UI_Composition")]
pub fn OnTargetDisconnected<P0>(&self, disconnectedtarget: P0) -> windows_core::Result<()>
where
P0: windows_core::Param<super::super::Composition::ICompositionSupportsSystemBackdrop>,
{
let this = &windows_core::Interface::cast::<ISystemBackdropOverrides>(self)?;
unsafe {
(windows_core::Interface::vtable(this).OnTargetDisconnected)(
windows_core::Interface::as_raw(this),
disconnectedtarget.param().abi(),
)
.ok()
}
}
#[cfg(feature = "UI_Composition")]
pub fn OnDefaultSystemBackdropConfigurationChanged<P0, P1>(
&self,
target: P0,
xamlroot: P1,
) -> windows_core::Result<()>
where
P0: windows_core::Param<super::super::Composition::ICompositionSupportsSystemBackdrop>,
P1: windows_core::Param<super::XamlRoot>,
{
let this = &windows_core::Interface::cast::<ISystemBackdropOverrides>(self)?;
unsafe {
(windows_core::Interface::vtable(this).OnDefaultSystemBackdropConfigurationChanged)(
windows_core::Interface::as_raw(this),
target.param().abi(),
xamlroot.param().abi(),
)
.ok()
}
}
fn IDesktopAcrylicBackdropFactory<
R,
F: FnOnce(&IDesktopAcrylicBackdropFactory) -> windows_core::Result<R>,
>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<
DesktopAcrylicBackdrop,
IDesktopAcrylicBackdropFactory,
> = windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for DesktopAcrylicBackdrop {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IDesktopAcrylicBackdrop>();
}
unsafe impl windows_core::Interface for DesktopAcrylicBackdrop {
type Vtable = <IDesktopAcrylicBackdrop as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IDesktopAcrylicBackdrop as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for DesktopAcrylicBackdrop {
const NAME: &'static str = "Microsoft.UI.Xaml.Media.DesktopAcrylicBackdrop";
}
unsafe impl Send for DesktopAcrylicBackdrop {}
unsafe impl Sync for DesktopAcrylicBackdrop {}
windows_core::imp::define_interface!(
IDesktopAcrylicBackdrop,
IDesktopAcrylicBackdrop_Vtbl,
0xbfd9915b_82a6_5df6_aff0_a4824ddc1143
);
impl windows_core::RuntimeType for IDesktopAcrylicBackdrop {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl windows_core::RuntimeName for IDesktopAcrylicBackdrop {
const NAME: &'static str = "Microsoft.UI.Xaml.Media.IDesktopAcrylicBackdrop";
}
pub trait IDesktopAcrylicBackdrop_Impl: windows_core::IUnknownImpl {}
impl IDesktopAcrylicBackdrop_Vtbl {
pub const fn new<Identity: IDesktopAcrylicBackdrop_Impl, const OFFSET: isize>() -> Self {
Self {
base__: windows_core::IInspectable_Vtbl::new::<Identity, IDesktopAcrylicBackdrop, OFFSET>(
),
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDesktopAcrylicBackdrop as windows_core::Interface>::IID
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IDesktopAcrylicBackdrop_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
}
windows_core::imp::define_interface!(
IDesktopAcrylicBackdropFactory,
IDesktopAcrylicBackdropFactory_Vtbl,
0x00922e6d_ae51_564a_bce2_1973d5e463dd
);
impl windows_core::RuntimeType for IDesktopAcrylicBackdropFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl windows_core::RuntimeName for IDesktopAcrylicBackdropFactory {
const NAME: &'static str = "Microsoft.UI.Xaml.Media.IDesktopAcrylicBackdropFactory";
}
pub trait IDesktopAcrylicBackdropFactory_Impl: windows_core::IUnknownImpl {
fn CreateInstance(
&self,
baseInterface: windows_core::Ref<windows_core::IInspectable>,
innerInterface: windows_core::OutRef<windows_core::IInspectable>,
) -> windows_core::Result<DesktopAcrylicBackdrop>;
}
impl IDesktopAcrylicBackdropFactory_Vtbl {
pub const fn new<Identity: IDesktopAcrylicBackdropFactory_Impl, const OFFSET: isize>() -> Self {
unsafe extern "system" fn CreateInstance<
Identity: IDesktopAcrylicBackdropFactory_Impl,
const OFFSET: isize,
>(
this: *mut core::ffi::c_void,
baseinterface: *mut core::ffi::c_void,
innerinterface: *mut *mut core::ffi::c_void,
result__: *mut *mut core::ffi::c_void,
) -> windows_core::HRESULT {
unsafe {
let this: &Identity =
&*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDesktopAcrylicBackdropFactory_Impl::CreateInstance(
this,
core::mem::transmute_copy(&baseinterface),
core::mem::transmute_copy(&innerinterface),
) {
Ok(ok__) => {
result__.write(core::mem::transmute_copy(&ok__));
core::mem::forget(ok__);
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
}
Self {
base__: windows_core::IInspectable_Vtbl::new::<
Identity,
IDesktopAcrylicBackdropFactory,
OFFSET,
>(),
CreateInstance: CreateInstance::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDesktopAcrylicBackdropFactory as windows_core::Interface>::IID
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IDesktopAcrylicBackdropFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub CreateInstance: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IMicaBackdrop,
IMicaBackdrop_Vtbl,
0xc156a404_3dac_593a_b1f3_7a33c289dc83
);
impl windows_core::RuntimeType for IMicaBackdrop {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[cfg(feature = "UI_Composition_SystemBackdrops")]
impl windows_core::RuntimeName for IMicaBackdrop {
const NAME: &'static str = "Microsoft.UI.Xaml.Media.IMicaBackdrop";
}
#[cfg(feature = "UI_Composition_SystemBackdrops")]
pub trait IMicaBackdrop_Impl: windows_core::IUnknownImpl {
fn Kind(&self) -> windows_core::Result<super::super::Composition::SystemBackdrops::MicaKind>;
fn SetKind(
&self,
value: super::super::Composition::SystemBackdrops::MicaKind,
) -> windows_core::Result<()>;
}
#[cfg(feature = "UI_Composition_SystemBackdrops")]
impl IMicaBackdrop_Vtbl {
pub const fn new<Identity: IMicaBackdrop_Impl, const OFFSET: isize>() -> Self {
unsafe extern "system" fn Kind<Identity: IMicaBackdrop_Impl, const OFFSET: isize>(
this: *mut core::ffi::c_void,
result__: *mut super::super::Composition::SystemBackdrops::MicaKind,
) -> windows_core::HRESULT {
unsafe {
let this: &Identity =
&*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IMicaBackdrop_Impl::Kind(this) {
Ok(ok__) => {
result__.write(core::mem::transmute_copy(&ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
}
unsafe extern "system" fn SetKind<Identity: IMicaBackdrop_Impl, const OFFSET: isize>(
this: *mut core::ffi::c_void,
value: super::super::Composition::SystemBackdrops::MicaKind,
) -> windows_core::HRESULT {
unsafe {
let this: &Identity =
&*((this as *const *const ()).offset(OFFSET) as *const Identity);
IMicaBackdrop_Impl::SetKind(this, value).into()
}
}
Self {
base__: windows_core::IInspectable_Vtbl::new::<Identity, IMicaBackdrop, OFFSET>(),
Kind: Kind::<Identity, OFFSET>,
SetKind: SetKind::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IMicaBackdrop as windows_core::Interface>::IID
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IMicaBackdrop_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
#[cfg(feature = "UI_Composition_SystemBackdrops")]
pub Kind: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut super::super::Composition::SystemBackdrops::MicaKind,
) -> windows_core::HRESULT,
#[cfg(not(feature = "UI_Composition_SystemBackdrops"))]
Kind: usize,
#[cfg(feature = "UI_Composition_SystemBackdrops")]
pub SetKind: unsafe extern "system" fn(
*mut core::ffi::c_void,
super::super::Composition::SystemBackdrops::MicaKind,
) -> windows_core::HRESULT,
#[cfg(not(feature = "UI_Composition_SystemBackdrops"))]
SetKind: usize,
}
windows_core::imp::define_interface!(
IMicaBackdropFactory,
IMicaBackdropFactory_Vtbl,
0x774379ce_74bd_59d4_849d_d99c4184d838
);
impl windows_core::RuntimeType for IMicaBackdropFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl windows_core::RuntimeName for IMicaBackdropFactory {
const NAME: &'static str = "Microsoft.UI.Xaml.Media.IMicaBackdropFactory";
}
pub trait IMicaBackdropFactory_Impl: windows_core::IUnknownImpl {
fn CreateInstance(
&self,
baseInterface: windows_core::Ref<windows_core::IInspectable>,
innerInterface: windows_core::OutRef<windows_core::IInspectable>,
) -> windows_core::Result<MicaBackdrop>;
}
impl IMicaBackdropFactory_Vtbl {
pub const fn new<Identity: IMicaBackdropFactory_Impl, const OFFSET: isize>() -> Self {
unsafe extern "system" fn CreateInstance<
Identity: IMicaBackdropFactory_Impl,
const OFFSET: isize,
>(
this: *mut core::ffi::c_void,
baseinterface: *mut core::ffi::c_void,
innerinterface: *mut *mut core::ffi::c_void,
result__: *mut *mut core::ffi::c_void,
) -> windows_core::HRESULT {
unsafe {
let this: &Identity =
&*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IMicaBackdropFactory_Impl::CreateInstance(
this,
core::mem::transmute_copy(&baseinterface),
core::mem::transmute_copy(&innerinterface),
) {
Ok(ok__) => {
result__.write(core::mem::transmute_copy(&ok__));
core::mem::forget(ok__);
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
}
Self {
base__: windows_core::IInspectable_Vtbl::new::<Identity, IMicaBackdropFactory, OFFSET>(
),
CreateInstance: CreateInstance::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IMicaBackdropFactory as windows_core::Interface>::IID
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IMicaBackdropFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub CreateInstance: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IMicaBackdropStatics,
IMicaBackdropStatics_Vtbl,
0xa63abdce_c796_5509_9f4d_072bc1e599f1
);
impl windows_core::RuntimeType for IMicaBackdropStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl windows_core::RuntimeName for IMicaBackdropStatics {
const NAME: &'static str = "Microsoft.UI.Xaml.Media.IMicaBackdropStatics";
}
pub trait IMicaBackdropStatics_Impl: windows_core::IUnknownImpl {}
impl IMicaBackdropStatics_Vtbl {
pub const fn new<Identity: IMicaBackdropStatics_Impl, const OFFSET: isize>() -> Self {
Self {
base__: windows_core::IInspectable_Vtbl::new::<Identity, IMicaBackdropStatics, OFFSET>(
),
KindProperty: 0,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IMicaBackdropStatics as windows_core::Interface>::IID
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IMicaBackdropStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
KindProperty: usize,
}
windows_core::imp::define_interface!(
ISystemBackdrop,
ISystemBackdrop_Vtbl,
0x5aeed5c4_37ac_5852_b73f_1b76ebc3205f
);
impl windows_core::RuntimeType for ISystemBackdrop {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[cfg(feature = "UI_Composition_SystemBackdrops")]
impl windows_core::RuntimeName for ISystemBackdrop {
const NAME: &'static str = "Microsoft.UI.Xaml.Media.ISystemBackdrop";
}
#[cfg(feature = "UI_Composition_SystemBackdrops")]
pub trait ISystemBackdrop_Impl: windows_core::IUnknownImpl {
fn GetDefaultSystemBackdropConfiguration(
&self,
target: windows_core::Ref<super::super::Composition::ICompositionSupportsSystemBackdrop>,
xamlRoot: windows_core::Ref<super::XamlRoot>,
) -> windows_core::Result<super::super::Composition::SystemBackdrops::SystemBackdropConfiguration>;
}
#[cfg(feature = "UI_Composition_SystemBackdrops")]
impl ISystemBackdrop_Vtbl {
pub const fn new<Identity: ISystemBackdrop_Impl, const OFFSET: isize>() -> Self {
unsafe extern "system" fn GetDefaultSystemBackdropConfiguration<
Identity: ISystemBackdrop_Impl,
const OFFSET: isize,
>(
this: *mut core::ffi::c_void,
target: *mut core::ffi::c_void,
xamlroot: *mut core::ffi::c_void,
result__: *mut *mut core::ffi::c_void,
) -> windows_core::HRESULT {
unsafe {
let this: &Identity =
&*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISystemBackdrop_Impl::GetDefaultSystemBackdropConfiguration(
this,
core::mem::transmute_copy(&target),
core::mem::transmute_copy(&xamlroot),
) {
Ok(ok__) => {
result__.write(core::mem::transmute_copy(&ok__));
core::mem::forget(ok__);
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
}
Self {
base__: windows_core::IInspectable_Vtbl::new::<Identity, ISystemBackdrop, OFFSET>(),
GetDefaultSystemBackdropConfiguration: GetDefaultSystemBackdropConfiguration::<
Identity,
OFFSET,
>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ISystemBackdrop as windows_core::Interface>::IID
}
}
#[repr(C)]
#[doc(hidden)]
pub struct ISystemBackdrop_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
#[cfg(feature = "UI_Composition_SystemBackdrops")]
pub GetDefaultSystemBackdropConfiguration: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
)
-> windows_core::HRESULT,
#[cfg(not(feature = "UI_Composition_SystemBackdrops"))]
GetDefaultSystemBackdropConfiguration: usize,
}
windows_core::imp::define_interface!(
ISystemBackdropFactory,
ISystemBackdropFactory_Vtbl,
0x1e07656b_fad2_5b29_913f_b6748bc45942
);
impl windows_core::RuntimeType for ISystemBackdropFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl windows_core::RuntimeName for ISystemBackdropFactory {
const NAME: &'static str = "Microsoft.UI.Xaml.Media.ISystemBackdropFactory";
}
pub trait ISystemBackdropFactory_Impl: windows_core::IUnknownImpl {
fn CreateInstance(
&self,
baseInterface: windows_core::Ref<windows_core::IInspectable>,
innerInterface: windows_core::OutRef<windows_core::IInspectable>,
) -> windows_core::Result<SystemBackdrop>;
}
impl ISystemBackdropFactory_Vtbl {
pub const fn new<Identity: ISystemBackdropFactory_Impl, const OFFSET: isize>() -> Self {
unsafe extern "system" fn CreateInstance<
Identity: ISystemBackdropFactory_Impl,
const OFFSET: isize,
>(
this: *mut core::ffi::c_void,
baseinterface: *mut core::ffi::c_void,
innerinterface: *mut *mut core::ffi::c_void,
result__: *mut *mut core::ffi::c_void,
) -> windows_core::HRESULT {
unsafe {
let this: &Identity =
&*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISystemBackdropFactory_Impl::CreateInstance(
this,
core::mem::transmute_copy(&baseinterface),
core::mem::transmute_copy(&innerinterface),
) {
Ok(ok__) => {
result__.write(core::mem::transmute_copy(&ok__));
core::mem::forget(ok__);
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
}
Self {
base__: windows_core::IInspectable_Vtbl::new::<Identity, ISystemBackdropFactory, OFFSET>(
),
CreateInstance: CreateInstance::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ISystemBackdropFactory as windows_core::Interface>::IID
}
}
#[repr(C)]
#[doc(hidden)]
pub struct ISystemBackdropFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub CreateInstance: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
ISystemBackdropOverrides,
ISystemBackdropOverrides_Vtbl,
0xeb1f5399_cad7_5611_b637_09d76a07e708
);
impl windows_core::RuntimeType for ISystemBackdropOverrides {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl ISystemBackdropOverrides {
#[cfg(feature = "UI_Composition")]
pub fn OnTargetConnected<P0, P1>(
&self,
connectedtarget: P0,
xamlroot: P1,
) -> windows_core::Result<()>
where
P0: windows_core::Param<super::super::Composition::ICompositionSupportsSystemBackdrop>,
P1: windows_core::Param<super::XamlRoot>,
{
let this = self;
unsafe {
(windows_core::Interface::vtable(this).OnTargetConnected)(
windows_core::Interface::as_raw(this),
connectedtarget.param().abi(),
xamlroot.param().abi(),
)
.ok()
}
}
#[cfg(feature = "UI_Composition")]
pub fn OnTargetDisconnected<P0>(&self, disconnectedtarget: P0) -> windows_core::Result<()>
where
P0: windows_core::Param<super::super::Composition::ICompositionSupportsSystemBackdrop>,
{
let this = self;
unsafe {
(windows_core::Interface::vtable(this).OnTargetDisconnected)(
windows_core::Interface::as_raw(this),
disconnectedtarget.param().abi(),
)
.ok()
}
}
#[cfg(feature = "UI_Composition")]
pub fn OnDefaultSystemBackdropConfigurationChanged<P0, P1>(
&self,
target: P0,
xamlroot: P1,
) -> windows_core::Result<()>
where
P0: windows_core::Param<super::super::Composition::ICompositionSupportsSystemBackdrop>,
P1: windows_core::Param<super::XamlRoot>,
{
let this = self;
unsafe {
(windows_core::Interface::vtable(this).OnDefaultSystemBackdropConfigurationChanged)(
windows_core::Interface::as_raw(this),
target.param().abi(),
xamlroot.param().abi(),
)
.ok()
}
}
}
#[cfg(feature = "UI_Composition")]
impl windows_core::RuntimeName for ISystemBackdropOverrides {
const NAME: &'static str = "Microsoft.UI.Xaml.Media.ISystemBackdropOverrides";
}
#[cfg(feature = "UI_Composition")]
pub trait ISystemBackdropOverrides_Impl: windows_core::IUnknownImpl {
fn OnTargetConnected(
&self,
connectedTarget: windows_core::Ref<
super::super::Composition::ICompositionSupportsSystemBackdrop,
>,
xamlRoot: windows_core::Ref<super::XamlRoot>,
) -> windows_core::Result<()>;
fn OnTargetDisconnected(
&self,
disconnectedTarget: windows_core::Ref<
super::super::Composition::ICompositionSupportsSystemBackdrop,
>,
) -> windows_core::Result<()>;
fn OnDefaultSystemBackdropConfigurationChanged(
&self,
target: windows_core::Ref<super::super::Composition::ICompositionSupportsSystemBackdrop>,
xamlRoot: windows_core::Ref<super::XamlRoot>,
) -> windows_core::Result<()>;
}
#[cfg(feature = "UI_Composition")]
impl ISystemBackdropOverrides_Vtbl {
pub const fn new<Identity: ISystemBackdropOverrides_Impl, const OFFSET: isize>() -> Self {
unsafe extern "system" fn OnTargetConnected<
Identity: ISystemBackdropOverrides_Impl,
const OFFSET: isize,
>(
this: *mut core::ffi::c_void,
connectedtarget: *mut core::ffi::c_void,
xamlroot: *mut core::ffi::c_void,
) -> windows_core::HRESULT {
unsafe {
let this: &Identity =
&*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISystemBackdropOverrides_Impl::OnTargetConnected(
this,
core::mem::transmute_copy(&connectedtarget),
core::mem::transmute_copy(&xamlroot),
)
.into()
}
}
unsafe extern "system" fn OnTargetDisconnected<
Identity: ISystemBackdropOverrides_Impl,
const OFFSET: isize,
>(
this: *mut core::ffi::c_void,
disconnectedtarget: *mut core::ffi::c_void,
) -> windows_core::HRESULT {
unsafe {
let this: &Identity =
&*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISystemBackdropOverrides_Impl::OnTargetDisconnected(
this,
core::mem::transmute_copy(&disconnectedtarget),
)
.into()
}
}
unsafe extern "system" fn OnDefaultSystemBackdropConfigurationChanged<
Identity: ISystemBackdropOverrides_Impl,
const OFFSET: isize,
>(
this: *mut core::ffi::c_void,
target: *mut core::ffi::c_void,
xamlroot: *mut core::ffi::c_void,
) -> windows_core::HRESULT {
unsafe {
let this: &Identity =
&*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISystemBackdropOverrides_Impl::OnDefaultSystemBackdropConfigurationChanged(
this,
core::mem::transmute_copy(&target),
core::mem::transmute_copy(&xamlroot),
)
.into()
}
}
Self {
base__: windows_core::IInspectable_Vtbl::new::<
Identity,
ISystemBackdropOverrides,
OFFSET,
>(),
OnTargetConnected: OnTargetConnected::<Identity, OFFSET>,
OnTargetDisconnected: OnTargetDisconnected::<Identity, OFFSET>,
OnDefaultSystemBackdropConfigurationChanged:
OnDefaultSystemBackdropConfigurationChanged::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ISystemBackdropOverrides as windows_core::Interface>::IID
}
}
#[repr(C)]
#[doc(hidden)]
pub struct ISystemBackdropOverrides_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
#[cfg(feature = "UI_Composition")]
pub OnTargetConnected: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
#[cfg(not(feature = "UI_Composition"))]
OnTargetConnected: usize,
#[cfg(feature = "UI_Composition")]
pub OnTargetDisconnected: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
#[cfg(not(feature = "UI_Composition"))]
OnTargetDisconnected: usize,
#[cfg(feature = "UI_Composition")]
pub OnDefaultSystemBackdropConfigurationChanged:
unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
#[cfg(not(feature = "UI_Composition"))]
OnDefaultSystemBackdropConfigurationChanged: usize,
}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct MicaBackdrop(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
MicaBackdrop,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(MicaBackdrop, SystemBackdrop, super::DependencyObject);
impl MicaBackdrop {
pub fn Dispatcher(&self) -> windows_core::Result<windows::UI::Core::CoreDispatcher> {
let this = &windows_core::Interface::cast::<super::IDependencyObject>(self)?;
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).Dispatcher)(
windows_core::Interface::as_raw(this),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
}
}
#[cfg(feature = "UI_Dispatching")]
pub fn DispatcherQueue(
&self,
) -> windows_core::Result<super::super::Dispatching::DispatcherQueue> {
let this = &windows_core::Interface::cast::<super::IDependencyObject>(self)?;
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).DispatcherQueue)(
windows_core::Interface::as_raw(this),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
}
}
#[cfg(feature = "UI_Composition_SystemBackdrops")]
pub fn Kind(
&self,
) -> windows_core::Result<super::super::Composition::SystemBackdrops::MicaKind> {
let this = self;
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).Kind)(
windows_core::Interface::as_raw(this),
&mut result__,
)
.map(|| result__)
}
}
#[cfg(feature = "UI_Composition_SystemBackdrops")]
pub fn SetKind(
&self,
value: super::super::Composition::SystemBackdrops::MicaKind,
) -> windows_core::Result<()> {
let this = self;
unsafe {
(windows_core::Interface::vtable(this).SetKind)(
windows_core::Interface::as_raw(this),
value,
)
.ok()
}
}
pub fn new() -> windows_core::Result<MicaBackdrop> {
Self::IMicaBackdropFactory(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::ptr::null_mut(),
&mut core::ptr::null_mut(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
#[cfg(feature = "UI_Composition_SystemBackdrops")]
pub fn GetDefaultSystemBackdropConfiguration<P0, P1>(
&self,
target: P0,
xamlroot: P1,
) -> windows_core::Result<super::super::Composition::SystemBackdrops::SystemBackdropConfiguration>
where
P0: windows_core::Param<super::super::Composition::ICompositionSupportsSystemBackdrop>,
P1: windows_core::Param<super::XamlRoot>,
{
let this = &windows_core::Interface::cast::<ISystemBackdrop>(self)?;
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).GetDefaultSystemBackdropConfiguration)(
windows_core::Interface::as_raw(this),
target.param().abi(),
xamlroot.param().abi(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
}
}
#[cfg(feature = "UI_Composition")]
pub fn OnTargetConnected<P0, P1>(
&self,
connectedtarget: P0,
xamlroot: P1,
) -> windows_core::Result<()>
where
P0: windows_core::Param<super::super::Composition::ICompositionSupportsSystemBackdrop>,
P1: windows_core::Param<super::XamlRoot>,
{
let this = &windows_core::Interface::cast::<ISystemBackdropOverrides>(self)?;
unsafe {
(windows_core::Interface::vtable(this).OnTargetConnected)(
windows_core::Interface::as_raw(this),
connectedtarget.param().abi(),
xamlroot.param().abi(),
)
.ok()
}
}
#[cfg(feature = "UI_Composition")]
pub fn OnTargetDisconnected<P0>(&self, disconnectedtarget: P0) -> windows_core::Result<()>
where
P0: windows_core::Param<super::super::Composition::ICompositionSupportsSystemBackdrop>,
{
let this = &windows_core::Interface::cast::<ISystemBackdropOverrides>(self)?;
unsafe {
(windows_core::Interface::vtable(this).OnTargetDisconnected)(
windows_core::Interface::as_raw(this),
disconnectedtarget.param().abi(),
)
.ok()
}
}
#[cfg(feature = "UI_Composition")]
pub fn OnDefaultSystemBackdropConfigurationChanged<P0, P1>(
&self,
target: P0,
xamlroot: P1,
) -> windows_core::Result<()>
where
P0: windows_core::Param<super::super::Composition::ICompositionSupportsSystemBackdrop>,
P1: windows_core::Param<super::XamlRoot>,
{
let this = &windows_core::Interface::cast::<ISystemBackdropOverrides>(self)?;
unsafe {
(windows_core::Interface::vtable(this).OnDefaultSystemBackdropConfigurationChanged)(
windows_core::Interface::as_raw(this),
target.param().abi(),
xamlroot.param().abi(),
)
.ok()
}
}
fn IMicaBackdropFactory<R, F: FnOnce(&IMicaBackdropFactory) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<MicaBackdrop, IMicaBackdropFactory> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn IMicaBackdropStatics<R, F: FnOnce(&IMicaBackdropStatics) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<MicaBackdrop, IMicaBackdropStatics> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for MicaBackdrop {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IMicaBackdrop>();
}
unsafe impl windows_core::Interface for MicaBackdrop {
type Vtable = <IMicaBackdrop as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IMicaBackdrop as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for MicaBackdrop {
const NAME: &'static str = "Microsoft.UI.Xaml.Media.MicaBackdrop";
}
unsafe impl Send for MicaBackdrop {}
unsafe impl Sync for MicaBackdrop {}
#[repr(transparent)]
#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
pub struct Stretch(pub i32);
impl Stretch {
pub const None: Self = Self(0i32);
pub const Fill: Self = Self(1i32);
pub const Uniform: Self = Self(2i32);
pub const UniformToFill: Self = Self(3i32);
}
impl windows_core::TypeKind for Stretch {
type TypeKind = windows_core::CopyType;
}
impl windows_core::RuntimeType for Stretch {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::from_slice(b"enum(Microsoft.UI.Xaml.Media.Stretch;i4)");
}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct SystemBackdrop(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
SystemBackdrop,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(SystemBackdrop, super::DependencyObject);
impl SystemBackdrop {
pub fn Dispatcher(&self) -> windows_core::Result<windows::UI::Core::CoreDispatcher> {
let this = &windows_core::Interface::cast::<super::IDependencyObject>(self)?;
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).Dispatcher)(
windows_core::Interface::as_raw(this),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
}
}
#[cfg(feature = "UI_Dispatching")]
pub fn DispatcherQueue(
&self,
) -> windows_core::Result<super::super::Dispatching::DispatcherQueue> {
let this = &windows_core::Interface::cast::<super::IDependencyObject>(self)?;
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).DispatcherQueue)(
windows_core::Interface::as_raw(this),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
}
}
#[cfg(feature = "UI_Composition_SystemBackdrops")]
pub fn GetDefaultSystemBackdropConfiguration<P0, P1>(
&self,
target: P0,
xamlroot: P1,
) -> windows_core::Result<super::super::Composition::SystemBackdrops::SystemBackdropConfiguration>
where
P0: windows_core::Param<super::super::Composition::ICompositionSupportsSystemBackdrop>,
P1: windows_core::Param<super::XamlRoot>,
{
let this = self;
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).GetDefaultSystemBackdropConfiguration)(
windows_core::Interface::as_raw(this),
target.param().abi(),
xamlroot.param().abi(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
}
}
pub fn new() -> windows_core::Result<SystemBackdrop> {
Self::ISystemBackdropFactory(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::ptr::null_mut(),
&mut core::ptr::null_mut(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
#[cfg(feature = "UI_Composition")]
pub fn OnTargetConnected<P0, P1>(
&self,
connectedtarget: P0,
xamlroot: P1,
) -> windows_core::Result<()>
where
P0: windows_core::Param<super::super::Composition::ICompositionSupportsSystemBackdrop>,
P1: windows_core::Param<super::XamlRoot>,
{
let this = &windows_core::Interface::cast::<ISystemBackdropOverrides>(self)?;
unsafe {
(windows_core::Interface::vtable(this).OnTargetConnected)(
windows_core::Interface::as_raw(this),
connectedtarget.param().abi(),
xamlroot.param().abi(),
)
.ok()
}
}
#[cfg(feature = "UI_Composition")]
pub fn OnTargetDisconnected<P0>(&self, disconnectedtarget: P0) -> windows_core::Result<()>
where
P0: windows_core::Param<super::super::Composition::ICompositionSupportsSystemBackdrop>,
{
let this = &windows_core::Interface::cast::<ISystemBackdropOverrides>(self)?;
unsafe {
(windows_core::Interface::vtable(this).OnTargetDisconnected)(
windows_core::Interface::as_raw(this),
disconnectedtarget.param().abi(),
)
.ok()
}
}
#[cfg(feature = "UI_Composition")]
pub fn OnDefaultSystemBackdropConfigurationChanged<P0, P1>(
&self,
target: P0,
xamlroot: P1,
) -> windows_core::Result<()>
where
P0: windows_core::Param<super::super::Composition::ICompositionSupportsSystemBackdrop>,
P1: windows_core::Param<super::XamlRoot>,
{
let this = &windows_core::Interface::cast::<ISystemBackdropOverrides>(self)?;
unsafe {
(windows_core::Interface::vtable(this).OnDefaultSystemBackdropConfigurationChanged)(
windows_core::Interface::as_raw(this),
target.param().abi(),
xamlroot.param().abi(),
)
.ok()
}
}
fn ISystemBackdropFactory<R, F: FnOnce(&ISystemBackdropFactory) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<SystemBackdrop, ISystemBackdropFactory> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for SystemBackdrop {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, ISystemBackdrop>();
}
unsafe impl windows_core::Interface for SystemBackdrop {
type Vtable = <ISystemBackdrop as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <ISystemBackdrop as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for SystemBackdrop {
const NAME: &'static str = "Microsoft.UI.Xaml.Media.SystemBackdrop";
}
unsafe impl Send for SystemBackdrop {}
unsafe impl Sync for SystemBackdrop {}