blob: 162f956c31f94bb298a62e469f63b1f33bce2f21 [file] [log] [blame]
#[cfg(feature = "UI_Input_Inking_Analysis")]
#[doc = "Required features: `\"UI_Input_Inking_Analysis\"`"]
pub mod Analysis;
#[cfg(feature = "UI_Input_Inking_Core")]
#[doc = "Required features: `\"UI_Input_Inking_Core\"`"]
pub mod Core;
#[cfg(feature = "UI_Input_Inking_Preview")]
#[doc = "Required features: `\"UI_Input_Inking_Preview\"`"]
pub mod Preview;
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IInkDrawingAttributes(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IInkDrawingAttributes {
type Vtable = IInkDrawingAttributes_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IInkDrawingAttributes {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x97a2176c_6774_48ad_84f0_48f5a9be74f9);
}
#[repr(C)]
#[doc(hidden)]
pub struct IInkDrawingAttributes_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
pub Color: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Color) -> ::windows_core::HRESULT,
pub SetColor: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Color) -> ::windows_core::HRESULT,
pub PenTip: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut PenTipShape) -> ::windows_core::HRESULT,
pub SetPenTip: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: PenTipShape) -> ::windows_core::HRESULT,
#[cfg(feature = "Foundation")]
pub Size: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::super::Foundation::Size) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation"))]
Size: usize,
#[cfg(feature = "Foundation")]
pub SetSize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::super::Foundation::Size) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation"))]
SetSize: usize,
pub IgnorePressure: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows_core::HRESULT,
pub SetIgnorePressure: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: bool) -> ::windows_core::HRESULT,
pub FitToCurve: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows_core::HRESULT,
pub SetFitToCurve: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: bool) -> ::windows_core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IInkDrawingAttributes2(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IInkDrawingAttributes2 {
type Vtable = IInkDrawingAttributes2_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IInkDrawingAttributes2 {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x7cab6508_8ec4_42fd_a5a5_e4b7d1d5316d);
}
#[repr(C)]
#[doc(hidden)]
pub struct IInkDrawingAttributes2_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
#[cfg(feature = "Foundation_Numerics")]
pub PenTipTransform: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::super::Foundation::Numerics::Matrix3x2) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
PenTipTransform: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetPenTipTransform: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::super::Foundation::Numerics::Matrix3x2) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetPenTipTransform: usize,
pub DrawAsHighlighter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows_core::HRESULT,
pub SetDrawAsHighlighter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: bool) -> ::windows_core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IInkDrawingAttributes3(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IInkDrawingAttributes3 {
type Vtable = IInkDrawingAttributes3_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IInkDrawingAttributes3 {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x72020002_7d5b_4690_8af4_e664cbe2b74f);
}
#[repr(C)]
#[doc(hidden)]
pub struct IInkDrawingAttributes3_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
pub Kind: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut InkDrawingAttributesKind) -> ::windows_core::HRESULT,
pub PencilProperties: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IInkDrawingAttributes4(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IInkDrawingAttributes4 {
type Vtable = IInkDrawingAttributes4_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IInkDrawingAttributes4 {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0xef65dc25_9f19_456d_91a3_bc3a3d91c5fb);
}
#[repr(C)]
#[doc(hidden)]
pub struct IInkDrawingAttributes4_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
pub IgnoreTilt: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows_core::HRESULT,
pub SetIgnoreTilt: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: bool) -> ::windows_core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IInkDrawingAttributes5(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IInkDrawingAttributes5 {
type Vtable = IInkDrawingAttributes5_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IInkDrawingAttributes5 {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0xd11aa0bb_0775_4852_ae64_41143a7ae6c9);
}
#[repr(C)]
#[doc(hidden)]
pub struct IInkDrawingAttributes5_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
pub ModelerAttributes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IInkDrawingAttributesPencilProperties(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IInkDrawingAttributesPencilProperties {
type Vtable = IInkDrawingAttributesPencilProperties_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IInkDrawingAttributesPencilProperties {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x4f2534cb_2d86_41bb_b0e8_e4c2a0253c52);
}
#[repr(C)]
#[doc(hidden)]
pub struct IInkDrawingAttributesPencilProperties_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
pub Opacity: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f64) -> ::windows_core::HRESULT,
pub SetOpacity: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f64) -> ::windows_core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IInkDrawingAttributesStatics(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IInkDrawingAttributesStatics {
type Vtable = IInkDrawingAttributesStatics_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IInkDrawingAttributesStatics {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0xf731e03f_1a65_4862_96cb_6e1665e17f6d);
}
#[repr(C)]
#[doc(hidden)]
pub struct IInkDrawingAttributesStatics_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
pub CreateForPencil: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IInkInputConfiguration(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IInkInputConfiguration {
type Vtable = IInkInputConfiguration_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IInkInputConfiguration {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x93a68dc4_0b7b_49d7_b34f_9901e524dcf2);
}
#[repr(C)]
#[doc(hidden)]
pub struct IInkInputConfiguration_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
pub IsPrimaryBarrelButtonInputEnabled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows_core::HRESULT,
pub SetIsPrimaryBarrelButtonInputEnabled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: bool) -> ::windows_core::HRESULT,
pub IsEraserInputEnabled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows_core::HRESULT,
pub SetIsEraserInputEnabled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: bool) -> ::windows_core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IInkInputConfiguration2(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IInkInputConfiguration2 {
type Vtable = IInkInputConfiguration2_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IInkInputConfiguration2 {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x6ac2272e_81b4_5cc4_a36d_d057c387dfda);
}
#[repr(C)]
#[doc(hidden)]
pub struct IInkInputConfiguration2_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
pub IsPenHapticFeedbackEnabled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows_core::HRESULT,
pub SetIsPenHapticFeedbackEnabled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: bool) -> ::windows_core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IInkInputProcessingConfiguration(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IInkInputProcessingConfiguration {
type Vtable = IInkInputProcessingConfiguration_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IInkInputProcessingConfiguration {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x2778d85e_33ca_4b06_a6d3_ac3945116d37);
}
#[repr(C)]
#[doc(hidden)]
pub struct IInkInputProcessingConfiguration_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
pub Mode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut InkInputProcessingMode) -> ::windows_core::HRESULT,
pub SetMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: InkInputProcessingMode) -> ::windows_core::HRESULT,
pub RightDragAction: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut InkInputRightDragAction) -> ::windows_core::HRESULT,
pub SetRightDragAction: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: InkInputRightDragAction) -> ::windows_core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IInkManager(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IInkManager {
type Vtable = IInkManager_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IInkManager {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x4744737d_671b_4163_9c95_4e8d7a035fe1);
}
#[repr(C)]
#[doc(hidden)]
pub struct IInkManager_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
pub Mode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut InkManipulationMode) -> ::windows_core::HRESULT,
pub SetMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: InkManipulationMode) -> ::windows_core::HRESULT,
pub ProcessPointerDown: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pointerpoint: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
pub ProcessPointerUpdate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pointerpoint: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(feature = "Foundation")]
pub ProcessPointerUp: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pointerpoint: *mut ::core::ffi::c_void, result__: *mut super::super::super::Foundation::Rect) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation"))]
ProcessPointerUp: usize,
pub SetDefaultDrawingAttributes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, drawingattributes: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(feature = "Foundation_Collections")]
pub RecognizeAsync2: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, recognitiontarget: InkRecognitionTarget, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation_Collections"))]
RecognizeAsync2: usize,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IInkModelerAttributes(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IInkModelerAttributes {
type Vtable = IInkModelerAttributes_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IInkModelerAttributes {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0xbad31f27_0cd9_4bfd_b6f3_9e03ba8d7454);
}
#[repr(C)]
#[doc(hidden)]
pub struct IInkModelerAttributes_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
#[cfg(feature = "Foundation")]
pub PredictionTime: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::super::Foundation::TimeSpan) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation"))]
PredictionTime: usize,
#[cfg(feature = "Foundation")]
pub SetPredictionTime: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::super::Foundation::TimeSpan) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation"))]
SetPredictionTime: usize,
pub ScalingFactor: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows_core::HRESULT,
pub SetScalingFactor: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows_core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IInkModelerAttributes2(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IInkModelerAttributes2 {
type Vtable = IInkModelerAttributes2_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IInkModelerAttributes2 {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x86d1d09a_4ef8_5e25_b7bc_b65424f16bb3);
}
#[repr(C)]
#[doc(hidden)]
pub struct IInkModelerAttributes2_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
pub UseVelocityBasedPressure: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows_core::HRESULT,
pub SetUseVelocityBasedPressure: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: bool) -> ::windows_core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IInkPoint(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IInkPoint {
type Vtable = IInkPoint_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IInkPoint {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x9f87272b_858c_46a5_9b41_d195970459fd);
}
#[repr(C)]
#[doc(hidden)]
pub struct IInkPoint_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
#[cfg(feature = "Foundation")]
pub Position: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::super::Foundation::Point) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation"))]
Position: usize,
pub Pressure: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows_core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IInkPoint2(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IInkPoint2 {
type Vtable = IInkPoint2_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IInkPoint2 {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0xfba9c3f7_ae56_4d5c_bd2f_0ac45f5e4af9);
}
#[repr(C)]
#[doc(hidden)]
pub struct IInkPoint2_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
pub TiltX: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows_core::HRESULT,
pub TiltY: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows_core::HRESULT,
pub Timestamp: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut u64) -> ::windows_core::HRESULT,
}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IInkPointFactory(::windows_core::IUnknown);
impl IInkPointFactory {
#[doc = "Required features: `\"Foundation\"`"]
#[cfg(feature = "Foundation")]
pub fn CreateInkPoint(&self, position: super::super::super::Foundation::Point, pressure: f32) -> ::windows_core::Result<InkPoint> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).CreateInkPoint)(::windows_core::Interface::as_raw(this), position, pressure, &mut result__).from_abi(result__)
}
}
}
::windows_core::imp::interface_hierarchy!(IInkPointFactory, ::windows_core::IUnknown, ::windows_core::IInspectable);
impl ::windows_core::RuntimeType for IInkPointFactory {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"{29e5d51c-c98f-405d-9f3b-e53e31068d4d}");
}
unsafe impl ::windows_core::Interface for IInkPointFactory {
type Vtable = IInkPointFactory_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IInkPointFactory {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x29e5d51c_c98f_405d_9f3b_e53e31068d4d);
}
#[repr(C)]
#[doc(hidden)]
pub struct IInkPointFactory_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
#[cfg(feature = "Foundation")]
pub CreateInkPoint: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, position: super::super::super::Foundation::Point, pressure: f32, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation"))]
CreateInkPoint: usize,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IInkPointFactory2(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IInkPointFactory2 {
type Vtable = IInkPointFactory2_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IInkPointFactory2 {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0xe0145e85_daff_45f2_ad69_050d8256a209);
}
#[repr(C)]
#[doc(hidden)]
pub struct IInkPointFactory2_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
#[cfg(feature = "Foundation")]
pub CreateInkPointWithTiltAndTimestamp: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, position: super::super::super::Foundation::Point, pressure: f32, tiltx: f32, tilty: f32, timestamp: u64, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation"))]
CreateInkPointWithTiltAndTimestamp: usize,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IInkPresenter(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IInkPresenter {
type Vtable = IInkPresenter_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IInkPresenter {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0xa69b70e2_887b_458f_b173_4fe4438930a3);
}
#[repr(C)]
#[doc(hidden)]
pub struct IInkPresenter_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
pub IsInputEnabled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows_core::HRESULT,
pub SetIsInputEnabled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: bool) -> ::windows_core::HRESULT,
#[cfg(feature = "UI_Core")]
pub InputDeviceTypes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Core::CoreInputDeviceTypes) -> ::windows_core::HRESULT,
#[cfg(not(feature = "UI_Core"))]
InputDeviceTypes: usize,
#[cfg(feature = "UI_Core")]
pub SetInputDeviceTypes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Core::CoreInputDeviceTypes) -> ::windows_core::HRESULT,
#[cfg(not(feature = "UI_Core"))]
SetInputDeviceTypes: usize,
pub UnprocessedInput: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
pub StrokeInput: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
pub InputProcessingConfiguration: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
pub StrokeContainer: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
pub SetStrokeContainer: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
pub CopyDefaultDrawingAttributes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
pub UpdateDefaultDrawingAttributes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
pub ActivateCustomDrying: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
pub SetPredefinedConfiguration: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: InkPresenterPredefinedConfiguration) -> ::windows_core::HRESULT,
#[cfg(feature = "Foundation")]
pub StrokesCollected: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, handler: *mut ::core::ffi::c_void, result__: *mut super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation"))]
StrokesCollected: usize,
#[cfg(feature = "Foundation")]
pub RemoveStrokesCollected: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, cookie: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation"))]
RemoveStrokesCollected: usize,
#[cfg(feature = "Foundation")]
pub StrokesErased: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, handler: *mut ::core::ffi::c_void, result__: *mut super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation"))]
StrokesErased: usize,
#[cfg(feature = "Foundation")]
pub RemoveStrokesErased: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, cookie: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation"))]
RemoveStrokesErased: usize,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IInkPresenter2(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IInkPresenter2 {
type Vtable = IInkPresenter2_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IInkPresenter2 {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0xcf53e612_9a34_11e6_9f33_a24fc0d9649c);
}
#[repr(C)]
#[doc(hidden)]
pub struct IInkPresenter2_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
pub HighContrastAdjustment: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut InkHighContrastAdjustment) -> ::windows_core::HRESULT,
pub SetHighContrastAdjustment: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: InkHighContrastAdjustment) -> ::windows_core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IInkPresenter3(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IInkPresenter3 {
type Vtable = IInkPresenter3_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IInkPresenter3 {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x51e1ce89_d37d_4a90_83fc_7f5e9dfbf217);
}
#[repr(C)]
#[doc(hidden)]
pub struct IInkPresenter3_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
pub InputConfiguration: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IInkPresenterProtractor(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IInkPresenterProtractor {
type Vtable = IInkPresenterProtractor_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IInkPresenterProtractor {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x7de3f2aa_ef6c_4e91_a73b_5b70d56fbd17);
}
#[repr(C)]
#[doc(hidden)]
pub struct IInkPresenterProtractor_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
pub AreTickMarksVisible: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows_core::HRESULT,
pub SetAreTickMarksVisible: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: bool) -> ::windows_core::HRESULT,
pub AreRaysVisible: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows_core::HRESULT,
pub SetAreRaysVisible: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: bool) -> ::windows_core::HRESULT,
pub IsCenterMarkerVisible: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows_core::HRESULT,
pub SetIsCenterMarkerVisible: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: bool) -> ::windows_core::HRESULT,
pub IsAngleReadoutVisible: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows_core::HRESULT,
pub SetIsAngleReadoutVisible: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: bool) -> ::windows_core::HRESULT,
pub IsResizable: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows_core::HRESULT,
pub SetIsResizable: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: bool) -> ::windows_core::HRESULT,
pub Radius: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f64) -> ::windows_core::HRESULT,
pub SetRadius: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f64) -> ::windows_core::HRESULT,
pub AccentColor: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Color) -> ::windows_core::HRESULT,
pub SetAccentColor: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Color) -> ::windows_core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IInkPresenterProtractorFactory(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IInkPresenterProtractorFactory {
type Vtable = IInkPresenterProtractorFactory_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IInkPresenterProtractorFactory {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x320103c9_68fa_47e9_8127_8370711fc46c);
}
#[repr(C)]
#[doc(hidden)]
pub struct IInkPresenterProtractorFactory_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
pub Create: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, inkpresenter: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IInkPresenterRuler(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IInkPresenterRuler {
type Vtable = IInkPresenterRuler_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IInkPresenterRuler {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x6cda7d5a_dec7_4dd7_877a_2133f183d48a);
}
#[repr(C)]
#[doc(hidden)]
pub struct IInkPresenterRuler_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
pub Length: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f64) -> ::windows_core::HRESULT,
pub SetLength: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f64) -> ::windows_core::HRESULT,
pub Width: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f64) -> ::windows_core::HRESULT,
pub SetWidth: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f64) -> ::windows_core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IInkPresenterRuler2(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IInkPresenterRuler2 {
type Vtable = IInkPresenterRuler2_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IInkPresenterRuler2 {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x45130dc1_bc61_44d4_a423_54712ae671c4);
}
#[repr(C)]
#[doc(hidden)]
pub struct IInkPresenterRuler2_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
pub AreTickMarksVisible: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows_core::HRESULT,
pub SetAreTickMarksVisible: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: bool) -> ::windows_core::HRESULT,
pub IsCompassVisible: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows_core::HRESULT,
pub SetIsCompassVisible: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: bool) -> ::windows_core::HRESULT,
}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IInkPresenterRulerFactory(::windows_core::IUnknown);
impl IInkPresenterRulerFactory {
pub fn Create<P0>(&self, inkpresenter: P0) -> ::windows_core::Result<InkPresenterRuler>
where
P0: ::windows_core::IntoParam<InkPresenter>,
{
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), inkpresenter.into_param().abi(), &mut result__).from_abi(result__)
}
}
}
::windows_core::imp::interface_hierarchy!(IInkPresenterRulerFactory, ::windows_core::IUnknown, ::windows_core::IInspectable);
impl ::windows_core::RuntimeType for IInkPresenterRulerFactory {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"{34361beb-9001-4a4b-a690-69dbaf63e501}");
}
unsafe impl ::windows_core::Interface for IInkPresenterRulerFactory {
type Vtable = IInkPresenterRulerFactory_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IInkPresenterRulerFactory {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x34361beb_9001_4a4b_a690_69dbaf63e501);
}
#[repr(C)]
#[doc(hidden)]
pub struct IInkPresenterRulerFactory_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
pub Create: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, inkpresenter: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IInkPresenterStencil(::windows_core::IUnknown);
impl IInkPresenterStencil {
pub fn Kind(&self) -> ::windows_core::Result<InkPresenterStencilKind> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn IsVisible(&self) -> ::windows_core::Result<bool> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).IsVisible)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetIsVisible(&self, value: bool) -> ::windows_core::Result<()> {
let this = self;
unsafe { (::windows_core::Interface::vtable(this).SetIsVisible)(::windows_core::Interface::as_raw(this), value).ok() }
}
pub fn BackgroundColor(&self) -> ::windows_core::Result<super::super::Color> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).BackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetBackgroundColor(&self, value: super::super::Color) -> ::windows_core::Result<()> {
let this = self;
unsafe { (::windows_core::Interface::vtable(this).SetBackgroundColor)(::windows_core::Interface::as_raw(this), value).ok() }
}
pub fn ForegroundColor(&self) -> ::windows_core::Result<super::super::Color> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).ForegroundColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetForegroundColor(&self, value: super::super::Color) -> ::windows_core::Result<()> {
let this = self;
unsafe { (::windows_core::Interface::vtable(this).SetForegroundColor)(::windows_core::Interface::as_raw(this), value).ok() }
}
#[doc = "Required features: `\"Foundation_Numerics\"`"]
#[cfg(feature = "Foundation_Numerics")]
pub fn Transform(&self) -> ::windows_core::Result<super::super::super::Foundation::Numerics::Matrix3x2> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).Transform)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation_Numerics\"`"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetTransform(&self, value: super::super::super::Foundation::Numerics::Matrix3x2) -> ::windows_core::Result<()> {
let this = self;
unsafe { (::windows_core::Interface::vtable(this).SetTransform)(::windows_core::Interface::as_raw(this), value).ok() }
}
}
::windows_core::imp::interface_hierarchy!(IInkPresenterStencil, ::windows_core::IUnknown, ::windows_core::IInspectable);
impl ::windows_core::RuntimeType for IInkPresenterStencil {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"{30d12d6d-3e06-4d02-b116-277fb5d8addc}");
}
unsafe impl ::windows_core::Interface for IInkPresenterStencil {
type Vtable = IInkPresenterStencil_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IInkPresenterStencil {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x30d12d6d_3e06_4d02_b116_277fb5d8addc);
}
#[repr(C)]
#[doc(hidden)]
pub struct IInkPresenterStencil_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
pub Kind: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut InkPresenterStencilKind) -> ::windows_core::HRESULT,
pub IsVisible: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows_core::HRESULT,
pub SetIsVisible: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: bool) -> ::windows_core::HRESULT,
pub BackgroundColor: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Color) -> ::windows_core::HRESULT,
pub SetBackgroundColor: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Color) -> ::windows_core::HRESULT,
pub ForegroundColor: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Color) -> ::windows_core::HRESULT,
pub SetForegroundColor: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Color) -> ::windows_core::HRESULT,
#[cfg(feature = "Foundation_Numerics")]
pub Transform: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::super::Foundation::Numerics::Matrix3x2) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
Transform: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetTransform: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::super::Foundation::Numerics::Matrix3x2) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetTransform: usize,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IInkRecognitionResult(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IInkRecognitionResult {
type Vtable = IInkRecognitionResult_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IInkRecognitionResult {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x36461a94_5068_40ef_8a05_2c2fb60908a2);
}
#[repr(C)]
#[doc(hidden)]
pub struct IInkRecognitionResult_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
#[cfg(feature = "Foundation")]
pub BoundingRect: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::super::Foundation::Rect) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation"))]
BoundingRect: usize,
#[cfg(feature = "Foundation_Collections")]
pub GetTextCandidates: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation_Collections"))]
GetTextCandidates: usize,
#[cfg(feature = "Foundation_Collections")]
pub GetStrokes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation_Collections"))]
GetStrokes: usize,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IInkRecognizer(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IInkRecognizer {
type Vtable = IInkRecognizer_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IInkRecognizer {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x077ccea3_904d_442a_b151_aaca3631c43b);
}
#[repr(C)]
#[doc(hidden)]
pub struct IInkRecognizer_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
pub Name: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>) -> ::windows_core::HRESULT,
}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IInkRecognizerContainer(::windows_core::IUnknown);
impl IInkRecognizerContainer {
pub fn SetDefaultRecognizer<P0>(&self, recognizer: P0) -> ::windows_core::Result<()>
where
P0: ::windows_core::IntoParam<InkRecognizer>,
{
let this = self;
unsafe { (::windows_core::Interface::vtable(this).SetDefaultRecognizer)(::windows_core::Interface::as_raw(this), recognizer.into_param().abi()).ok() }
}
#[doc = "Required features: `\"Foundation_Collections\"`"]
#[cfg(feature = "Foundation_Collections")]
pub fn RecognizeAsync<P0>(&self, strokecollection: P0, recognitiontarget: InkRecognitionTarget) -> ::windows_core::Result<super::super::super::Foundation::IAsyncOperation<super::super::super::Foundation::Collections::IVectorView<InkRecognitionResult>>>
where
P0: ::windows_core::IntoParam<InkStrokeContainer>,
{
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).RecognizeAsync)(::windows_core::Interface::as_raw(this), strokecollection.into_param().abi(), recognitiontarget, &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation_Collections\"`"]
#[cfg(feature = "Foundation_Collections")]
pub fn GetRecognizers(&self) -> ::windows_core::Result<super::super::super::Foundation::Collections::IVectorView<InkRecognizer>> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).GetRecognizers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
}
::windows_core::imp::interface_hierarchy!(IInkRecognizerContainer, ::windows_core::IUnknown, ::windows_core::IInspectable);
impl ::windows_core::RuntimeType for IInkRecognizerContainer {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"{a74d9a31-8047-4698-a912-f82a5085012f}");
}
unsafe impl ::windows_core::Interface for IInkRecognizerContainer {
type Vtable = IInkRecognizerContainer_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IInkRecognizerContainer {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0xa74d9a31_8047_4698_a912_f82a5085012f);
}
#[repr(C)]
#[doc(hidden)]
pub struct IInkRecognizerContainer_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
pub SetDefaultRecognizer: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, recognizer: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(feature = "Foundation_Collections")]
pub RecognizeAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, strokecollection: *mut ::core::ffi::c_void, recognitiontarget: InkRecognitionTarget, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation_Collections"))]
RecognizeAsync: usize,
#[cfg(feature = "Foundation_Collections")]
pub GetRecognizers: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation_Collections"))]
GetRecognizers: usize,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IInkStroke(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IInkStroke {
type Vtable = IInkStroke_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IInkStroke {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x15144d60_cce3_4fcf_9d52_11518ab6afd4);
}
#[repr(C)]
#[doc(hidden)]
pub struct IInkStroke_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
pub DrawingAttributes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
pub SetDrawingAttributes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(feature = "Foundation")]
pub BoundingRect: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::super::Foundation::Rect) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation"))]
BoundingRect: usize,
pub Selected: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows_core::HRESULT,
pub SetSelected: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: bool) -> ::windows_core::HRESULT,
pub Recognized: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows_core::HRESULT,
#[cfg(feature = "Foundation_Collections")]
pub GetRenderingSegments: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation_Collections"))]
GetRenderingSegments: usize,
pub Clone: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IInkStroke2(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IInkStroke2 {
type Vtable = IInkStroke2_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IInkStroke2 {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x5db9e4f4_bafa_4de1_89d3_201b1ed7d89b);
}
#[repr(C)]
#[doc(hidden)]
pub struct IInkStroke2_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
#[cfg(feature = "Foundation_Numerics")]
pub PointTransform: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::super::Foundation::Numerics::Matrix3x2) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
PointTransform: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetPointTransform: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::super::Foundation::Numerics::Matrix3x2) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetPointTransform: usize,
#[cfg(feature = "Foundation_Collections")]
pub GetInkPoints: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation_Collections"))]
GetInkPoints: usize,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IInkStroke3(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IInkStroke3 {
type Vtable = IInkStroke3_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IInkStroke3 {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x4a807374_9499_411d_a1c4_68855d03d65f);
}
#[repr(C)]
#[doc(hidden)]
pub struct IInkStroke3_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
pub Id: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut u32) -> ::windows_core::HRESULT,
#[cfg(feature = "Foundation")]
pub StrokeStartedTime: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation"))]
StrokeStartedTime: usize,
#[cfg(feature = "Foundation")]
pub SetStrokeStartedTime: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation"))]
SetStrokeStartedTime: usize,
#[cfg(feature = "Foundation")]
pub StrokeDuration: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation"))]
StrokeDuration: usize,
#[cfg(feature = "Foundation")]
pub SetStrokeDuration: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation"))]
SetStrokeDuration: usize,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IInkStroke4(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IInkStroke4 {
type Vtable = IInkStroke4_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IInkStroke4 {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0xcd5b62e5_b6e9_5b91_a577_1921d2348690);
}
#[repr(C)]
#[doc(hidden)]
pub struct IInkStroke4_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
pub PointerId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut u32) -> ::windows_core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IInkStrokeBuilder(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IInkStrokeBuilder {
type Vtable = IInkStrokeBuilder_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IInkStrokeBuilder {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x82bbd1dc_1c63_41dc_9e07_4b4a70ced801);
}
#[repr(C)]
#[doc(hidden)]
pub struct IInkStrokeBuilder_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
pub BeginStroke: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pointerpoint: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
pub AppendToStroke: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pointerpoint: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
pub EndStroke: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pointerpoint: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(feature = "Foundation_Collections")]
pub CreateStroke: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, points: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation_Collections"))]
CreateStroke: usize,
pub SetDefaultDrawingAttributes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, drawingattributes: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IInkStrokeBuilder2(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IInkStrokeBuilder2 {
type Vtable = IInkStrokeBuilder2_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IInkStrokeBuilder2 {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0xbd82bc27_731f_4cbc_bbbf_6d468044f1e5);
}
#[repr(C)]
#[doc(hidden)]
pub struct IInkStrokeBuilder2_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
#[cfg(all(feature = "Foundation_Collections", feature = "Foundation_Numerics"))]
pub CreateStrokeFromInkPoints: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, inkpoints: *mut ::core::ffi::c_void, transform: super::super::super::Foundation::Numerics::Matrix3x2, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(not(all(feature = "Foundation_Collections", feature = "Foundation_Numerics")))]
CreateStrokeFromInkPoints: usize,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IInkStrokeBuilder3(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IInkStrokeBuilder3 {
type Vtable = IInkStrokeBuilder3_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IInkStrokeBuilder3 {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0xb2c71fcd_5472_46b1_a81d_c37a3d169441);
}
#[repr(C)]
#[doc(hidden)]
pub struct IInkStrokeBuilder3_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
#[cfg(all(feature = "Foundation_Collections", feature = "Foundation_Numerics"))]
pub CreateStrokeFromInkPoints: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, inkpoints: *mut ::core::ffi::c_void, transform: super::super::super::Foundation::Numerics::Matrix3x2, strokestartedtime: *mut ::core::ffi::c_void, strokeduration: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(not(all(feature = "Foundation_Collections", feature = "Foundation_Numerics")))]
CreateStrokeFromInkPoints: usize,
}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IInkStrokeContainer(::windows_core::IUnknown);
impl IInkStrokeContainer {
#[doc = "Required features: `\"Foundation\"`"]
#[cfg(feature = "Foundation")]
pub fn BoundingRect(&self) -> ::windows_core::Result<super::super::super::Foundation::Rect> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).BoundingRect)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn AddStroke<P0>(&self, stroke: P0) -> ::windows_core::Result<()>
where
P0: ::windows_core::IntoParam<InkStroke>,
{
let this = self;
unsafe { (::windows_core::Interface::vtable(this).AddStroke)(::windows_core::Interface::as_raw(this), stroke.into_param().abi()).ok() }
}
#[doc = "Required features: `\"Foundation\"`"]
#[cfg(feature = "Foundation")]
pub fn DeleteSelected(&self) -> ::windows_core::Result<super::super::super::Foundation::Rect> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).DeleteSelected)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation\"`"]
#[cfg(feature = "Foundation")]
pub fn MoveSelected(&self, translation: super::super::super::Foundation::Point) -> ::windows_core::Result<super::super::super::Foundation::Rect> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).MoveSelected)(::windows_core::Interface::as_raw(this), translation, &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation_Collections\"`"]
#[cfg(feature = "Foundation_Collections")]
pub fn SelectWithPolyLine<P0>(&self, polyline: P0) -> ::windows_core::Result<super::super::super::Foundation::Rect>
where
P0: ::windows_core::TryIntoParam<super::super::super::Foundation::Collections::IIterable<super::super::super::Foundation::Point>>,
{
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).SelectWithPolyLine)(::windows_core::Interface::as_raw(this), polyline.try_into_param()?.abi(), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation\"`"]
#[cfg(feature = "Foundation")]
pub fn SelectWithLine(&self, from: super::super::super::Foundation::Point, to: super::super::super::Foundation::Point) -> ::windows_core::Result<super::super::super::Foundation::Rect> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).SelectWithLine)(::windows_core::Interface::as_raw(this), from, to, &mut result__).from_abi(result__)
}
}
pub fn CopySelectedToClipboard(&self) -> ::windows_core::Result<()> {
let this = self;
unsafe { (::windows_core::Interface::vtable(this).CopySelectedToClipboard)(::windows_core::Interface::as_raw(this)).ok() }
}
#[doc = "Required features: `\"Foundation\"`"]
#[cfg(feature = "Foundation")]
pub fn PasteFromClipboard(&self, position: super::super::super::Foundation::Point) -> ::windows_core::Result<super::super::super::Foundation::Rect> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).PasteFromClipboard)(::windows_core::Interface::as_raw(this), position, &mut result__).from_abi(result__)
}
}
pub fn CanPasteFromClipboard(&self) -> ::windows_core::Result<bool> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).CanPasteFromClipboard)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation\"`, `\"Storage_Streams\"`"]
#[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
pub fn LoadAsync<P0>(&self, inputstream: P0) -> ::windows_core::Result<super::super::super::Foundation::IAsyncActionWithProgress<u64>>
where
P0: ::windows_core::TryIntoParam<super::super::super::Storage::Streams::IInputStream>,
{
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).LoadAsync)(::windows_core::Interface::as_raw(this), inputstream.try_into_param()?.abi(), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation\"`, `\"Storage_Streams\"`"]
#[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
pub fn SaveAsync<P0>(&self, outputstream: P0) -> ::windows_core::Result<super::super::super::Foundation::IAsyncOperationWithProgress<u32, u32>>
where
P0: ::windows_core::TryIntoParam<super::super::super::Storage::Streams::IOutputStream>,
{
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).SaveAsync)(::windows_core::Interface::as_raw(this), outputstream.try_into_param()?.abi(), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation_Collections\"`"]
#[cfg(feature = "Foundation_Collections")]
pub fn UpdateRecognitionResults<P0>(&self, recognitionresults: P0) -> ::windows_core::Result<()>
where
P0: ::windows_core::TryIntoParam<super::super::super::Foundation::Collections::IVectorView<InkRecognitionResult>>,
{
let this = self;
unsafe { (::windows_core::Interface::vtable(this).UpdateRecognitionResults)(::windows_core::Interface::as_raw(this), recognitionresults.try_into_param()?.abi()).ok() }
}
#[doc = "Required features: `\"Foundation_Collections\"`"]
#[cfg(feature = "Foundation_Collections")]
pub fn GetStrokes(&self) -> ::windows_core::Result<super::super::super::Foundation::Collections::IVectorView<InkStroke>> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).GetStrokes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation_Collections\"`"]
#[cfg(feature = "Foundation_Collections")]
pub fn GetRecognitionResults(&self) -> ::windows_core::Result<super::super::super::Foundation::Collections::IVectorView<InkRecognitionResult>> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).GetRecognitionResults)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
}
::windows_core::imp::interface_hierarchy!(IInkStrokeContainer, ::windows_core::IUnknown, ::windows_core::IInspectable);
impl ::windows_core::RuntimeType for IInkStrokeContainer {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"{22accbc6-faa9-4f14-b68c-f6cee670ae16}");
}
unsafe impl ::windows_core::Interface for IInkStrokeContainer {
type Vtable = IInkStrokeContainer_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IInkStrokeContainer {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x22accbc6_faa9_4f14_b68c_f6cee670ae16);
}
#[repr(C)]
#[doc(hidden)]
pub struct IInkStrokeContainer_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
#[cfg(feature = "Foundation")]
pub BoundingRect: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::super::Foundation::Rect) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation"))]
BoundingRect: usize,
pub AddStroke: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, stroke: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(feature = "Foundation")]
pub DeleteSelected: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::super::Foundation::Rect) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation"))]
DeleteSelected: usize,
#[cfg(feature = "Foundation")]
pub MoveSelected: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, translation: super::super::super::Foundation::Point, result__: *mut super::super::super::Foundation::Rect) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation"))]
MoveSelected: usize,
#[cfg(feature = "Foundation_Collections")]
pub SelectWithPolyLine: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, polyline: *mut ::core::ffi::c_void, result__: *mut super::super::super::Foundation::Rect) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation_Collections"))]
SelectWithPolyLine: usize,
#[cfg(feature = "Foundation")]
pub SelectWithLine: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, from: super::super::super::Foundation::Point, to: super::super::super::Foundation::Point, result__: *mut super::super::super::Foundation::Rect) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation"))]
SelectWithLine: usize,
pub CopySelectedToClipboard: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(feature = "Foundation")]
pub PasteFromClipboard: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, position: super::super::super::Foundation::Point, result__: *mut super::super::super::Foundation::Rect) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation"))]
PasteFromClipboard: usize,
pub CanPasteFromClipboard: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows_core::HRESULT,
#[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
pub LoadAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, inputstream: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(not(all(feature = "Foundation", feature = "Storage_Streams")))]
LoadAsync: usize,
#[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
pub SaveAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, outputstream: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(not(all(feature = "Foundation", feature = "Storage_Streams")))]
SaveAsync: usize,
#[cfg(feature = "Foundation_Collections")]
pub UpdateRecognitionResults: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, recognitionresults: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation_Collections"))]
UpdateRecognitionResults: usize,
#[cfg(feature = "Foundation_Collections")]
pub GetStrokes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation_Collections"))]
GetStrokes: usize,
#[cfg(feature = "Foundation_Collections")]
pub GetRecognitionResults: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation_Collections"))]
GetRecognitionResults: usize,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IInkStrokeContainer2(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IInkStrokeContainer2 {
type Vtable = IInkStrokeContainer2_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IInkStrokeContainer2 {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x8901d364_da36_4bcf_9e5c_d195825995b4);
}
#[repr(C)]
#[doc(hidden)]
pub struct IInkStrokeContainer2_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
#[cfg(feature = "Foundation_Collections")]
pub AddStrokes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, strokes: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation_Collections"))]
AddStrokes: usize,
pub Clear: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IInkStrokeContainer3(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IInkStrokeContainer3 {
type Vtable = IInkStrokeContainer3_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IInkStrokeContainer3 {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x3d07bea5_baea_4c82_a719_7b83da1067d2);
}
#[repr(C)]
#[doc(hidden)]
pub struct IInkStrokeContainer3_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
#[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
pub SaveWithFormatAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, outputstream: *mut ::core::ffi::c_void, inkpersistenceformat: InkPersistenceFormat, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(not(all(feature = "Foundation", feature = "Storage_Streams")))]
SaveWithFormatAsync: usize,
pub GetStrokeById: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, id: u32, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IInkStrokeInput(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IInkStrokeInput {
type Vtable = IInkStrokeInput_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IInkStrokeInput {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0xcf2ffe7b_5e10_43c6_a080_88f26e1dc67d);
}
#[repr(C)]
#[doc(hidden)]
pub struct IInkStrokeInput_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
#[cfg(all(feature = "Foundation", feature = "UI_Core"))]
pub StrokeStarted: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, handler: *mut ::core::ffi::c_void, result__: *mut super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::HRESULT,
#[cfg(not(all(feature = "Foundation", feature = "UI_Core")))]
StrokeStarted: usize,
#[cfg(feature = "Foundation")]
pub RemoveStrokeStarted: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, cookie: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation"))]
RemoveStrokeStarted: usize,
#[cfg(all(feature = "Foundation", feature = "UI_Core"))]
pub StrokeContinued: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, handler: *mut ::core::ffi::c_void, result__: *mut super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::HRESULT,
#[cfg(not(all(feature = "Foundation", feature = "UI_Core")))]
StrokeContinued: usize,
#[cfg(feature = "Foundation")]
pub RemoveStrokeContinued: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, cookie: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation"))]
RemoveStrokeContinued: usize,
#[cfg(all(feature = "Foundation", feature = "UI_Core"))]
pub StrokeEnded: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, handler: *mut ::core::ffi::c_void, result__: *mut super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::HRESULT,
#[cfg(not(all(feature = "Foundation", feature = "UI_Core")))]
StrokeEnded: usize,
#[cfg(feature = "Foundation")]
pub RemoveStrokeEnded: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, cookie: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation"))]
RemoveStrokeEnded: usize,
#[cfg(all(feature = "Foundation", feature = "UI_Core"))]
pub StrokeCanceled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, handler: *mut ::core::ffi::c_void, result__: *mut super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::HRESULT,
#[cfg(not(all(feature = "Foundation", feature = "UI_Core")))]
StrokeCanceled: usize,
#[cfg(feature = "Foundation")]
pub RemoveStrokeCanceled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, cookie: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation"))]
RemoveStrokeCanceled: usize,
pub InkPresenter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IInkStrokeRenderingSegment(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IInkStrokeRenderingSegment {
type Vtable = IInkStrokeRenderingSegment_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IInkStrokeRenderingSegment {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x68510f1f_88e3_477a_a2fa_569f5f1f9bd5);
}
#[repr(C)]
#[doc(hidden)]
pub struct IInkStrokeRenderingSegment_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
#[cfg(feature = "Foundation")]
pub Position: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::super::Foundation::Point) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation"))]
Position: usize,
#[cfg(feature = "Foundation")]
pub BezierControlPoint1: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::super::Foundation::Point) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation"))]
BezierControlPoint1: usize,
#[cfg(feature = "Foundation")]
pub BezierControlPoint2: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::super::Foundation::Point) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation"))]
BezierControlPoint2: usize,
pub Pressure: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows_core::HRESULT,
pub TiltX: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows_core::HRESULT,
pub TiltY: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows_core::HRESULT,
pub Twist: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows_core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IInkStrokesCollectedEventArgs(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IInkStrokesCollectedEventArgs {
type Vtable = IInkStrokesCollectedEventArgs_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IInkStrokesCollectedEventArgs {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0xc4f3f229_1938_495c_b4d9_6de4b08d4811);
}
#[repr(C)]
#[doc(hidden)]
pub struct IInkStrokesCollectedEventArgs_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
#[cfg(feature = "Foundation_Collections")]
pub Strokes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation_Collections"))]
Strokes: usize,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IInkStrokesErasedEventArgs(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IInkStrokesErasedEventArgs {
type Vtable = IInkStrokesErasedEventArgs_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IInkStrokesErasedEventArgs {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0xa4216a22_1503_4ebf_8ff5_2de84584a8aa);
}
#[repr(C)]
#[doc(hidden)]
pub struct IInkStrokesErasedEventArgs_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
#[cfg(feature = "Foundation_Collections")]
pub Strokes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation_Collections"))]
Strokes: usize,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IInkSynchronizer(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IInkSynchronizer {
type Vtable = IInkSynchronizer_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IInkSynchronizer {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x9b9ea160_ae9b_45f9_8407_4b493b163661);
}
#[repr(C)]
#[doc(hidden)]
pub struct IInkSynchronizer_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
#[cfg(feature = "Foundation_Collections")]
pub BeginDry: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation_Collections"))]
BeginDry: usize,
pub EndDry: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IInkUnprocessedInput(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IInkUnprocessedInput {
type Vtable = IInkUnprocessedInput_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IInkUnprocessedInput {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0xdb4445e0_8398_4921_ac3b_ab978c5ba256);
}
#[repr(C)]
#[doc(hidden)]
pub struct IInkUnprocessedInput_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
#[cfg(all(feature = "Foundation", feature = "UI_Core"))]
pub PointerEntered: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, handler: *mut ::core::ffi::c_void, result__: *mut super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::HRESULT,
#[cfg(not(all(feature = "Foundation", feature = "UI_Core")))]
PointerEntered: usize,
#[cfg(feature = "Foundation")]
pub RemovePointerEntered: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, cookie: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation"))]
RemovePointerEntered: usize,
#[cfg(all(feature = "Foundation", feature = "UI_Core"))]
pub PointerHovered: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, handler: *mut ::core::ffi::c_void, result__: *mut super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::HRESULT,
#[cfg(not(all(feature = "Foundation", feature = "UI_Core")))]
PointerHovered: usize,
#[cfg(feature = "Foundation")]
pub RemovePointerHovered: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, cookie: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation"))]
RemovePointerHovered: usize,
#[cfg(all(feature = "Foundation", feature = "UI_Core"))]
pub PointerExited: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, handler: *mut ::core::ffi::c_void, result__: *mut super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::HRESULT,
#[cfg(not(all(feature = "Foundation", feature = "UI_Core")))]
PointerExited: usize,
#[cfg(feature = "Foundation")]
pub RemovePointerExited: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, cookie: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation"))]
RemovePointerExited: usize,
#[cfg(all(feature = "Foundation", feature = "UI_Core"))]
pub PointerPressed: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, handler: *mut ::core::ffi::c_void, result__: *mut super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::HRESULT,
#[cfg(not(all(feature = "Foundation", feature = "UI_Core")))]
PointerPressed: usize,
#[cfg(feature = "Foundation")]
pub RemovePointerPressed: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, cookie: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation"))]
RemovePointerPressed: usize,
#[cfg(all(feature = "Foundation", feature = "UI_Core"))]
pub PointerMoved: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, handler: *mut ::core::ffi::c_void, result__: *mut super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::HRESULT,
#[cfg(not(all(feature = "Foundation", feature = "UI_Core")))]
PointerMoved: usize,
#[cfg(feature = "Foundation")]
pub RemovePointerMoved: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, cookie: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation"))]
RemovePointerMoved: usize,
#[cfg(all(feature = "Foundation", feature = "UI_Core"))]
pub PointerReleased: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, handler: *mut ::core::ffi::c_void, result__: *mut super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::HRESULT,
#[cfg(not(all(feature = "Foundation", feature = "UI_Core")))]
PointerReleased: usize,
#[cfg(feature = "Foundation")]
pub RemovePointerReleased: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, cookie: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation"))]
RemovePointerReleased: usize,
#[cfg(all(feature = "Foundation", feature = "UI_Core"))]
pub PointerLost: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, handler: *mut ::core::ffi::c_void, result__: *mut super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::HRESULT,
#[cfg(not(all(feature = "Foundation", feature = "UI_Core")))]
PointerLost: usize,
#[cfg(feature = "Foundation")]
pub RemovePointerLost: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, cookie: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation"))]
RemovePointerLost: usize,
pub InkPresenter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IPenAndInkSettings(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IPenAndInkSettings {
type Vtable = IPenAndInkSettings_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IPenAndInkSettings {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0xbc2ceb8f_0066_44a8_bb7a_b839b3deb8f5);
}
#[repr(C)]
#[doc(hidden)]
pub struct IPenAndInkSettings_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
pub IsHandwritingDirectlyIntoTextFieldEnabled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows_core::HRESULT,
pub PenHandedness: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut PenHandedness) -> ::windows_core::HRESULT,
pub HandwritingLineHeight: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut HandwritingLineHeight) -> ::windows_core::HRESULT,
pub FontFamilyName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>) -> ::windows_core::HRESULT,
pub UserConsentsToHandwritingTelemetryCollection: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows_core::HRESULT,
pub IsTouchHandwritingEnabled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows_core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IPenAndInkSettings2(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IPenAndInkSettings2 {
type Vtable = IPenAndInkSettings2_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IPenAndInkSettings2 {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x3262da53_1f44_55e2_9929_ebf77e5481b8);
}
#[repr(C)]
#[doc(hidden)]
pub struct IPenAndInkSettings2_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
pub SetPenHandedness: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: PenHandedness) -> ::windows_core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IPenAndInkSettingsStatics(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IPenAndInkSettingsStatics {
type Vtable = IPenAndInkSettingsStatics_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IPenAndInkSettingsStatics {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0xed6dd036_5708_5c3c_96db_f2f552eab641);
}
#[repr(C)]
#[doc(hidden)]
pub struct IPenAndInkSettingsStatics_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
pub GetDefault: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct InkDrawingAttributes(::windows_core::IUnknown);
impl InkDrawingAttributes {
pub fn new() -> ::windows_core::Result<Self> {
Self::IActivationFactory(|f| f.ActivateInstance::<Self>())
}
fn IActivationFactory<R, F: FnOnce(&::windows_core::imp::IGenericFactory) -> ::windows_core::Result<R>>(callback: F) -> ::windows_core::Result<R> {
static SHARED: ::windows_core::imp::FactoryCache<InkDrawingAttributes, ::windows_core::imp::IGenericFactory> = ::windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
pub fn Color(&self) -> ::windows_core::Result<super::super::Color> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).Color)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetColor(&self, value: super::super::Color) -> ::windows_core::Result<()> {
let this = self;
unsafe { (::windows_core::Interface::vtable(this).SetColor)(::windows_core::Interface::as_raw(this), value).ok() }
}
pub fn PenTip(&self) -> ::windows_core::Result<PenTipShape> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).PenTip)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetPenTip(&self, value: PenTipShape) -> ::windows_core::Result<()> {
let this = self;
unsafe { (::windows_core::Interface::vtable(this).SetPenTip)(::windows_core::Interface::as_raw(this), value).ok() }
}
#[doc = "Required features: `\"Foundation\"`"]
#[cfg(feature = "Foundation")]
pub fn Size(&self) -> ::windows_core::Result<super::super::super::Foundation::Size> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation\"`"]
#[cfg(feature = "Foundation")]
pub fn SetSize(&self, value: super::super::super::Foundation::Size) -> ::windows_core::Result<()> {
let this = self;
unsafe { (::windows_core::Interface::vtable(this).SetSize)(::windows_core::Interface::as_raw(this), value).ok() }
}
pub fn IgnorePressure(&self) -> ::windows_core::Result<bool> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).IgnorePressure)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetIgnorePressure(&self, value: bool) -> ::windows_core::Result<()> {
let this = self;
unsafe { (::windows_core::Interface::vtable(this).SetIgnorePressure)(::windows_core::Interface::as_raw(this), value).ok() }
}
pub fn FitToCurve(&self) -> ::windows_core::Result<bool> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).FitToCurve)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetFitToCurve(&self, value: bool) -> ::windows_core::Result<()> {
let this = self;
unsafe { (::windows_core::Interface::vtable(this).SetFitToCurve)(::windows_core::Interface::as_raw(this), value).ok() }
}
#[doc = "Required features: `\"Foundation_Numerics\"`"]
#[cfg(feature = "Foundation_Numerics")]
pub fn PenTipTransform(&self) -> ::windows_core::Result<super::super::super::Foundation::Numerics::Matrix3x2> {
let this = &::windows_core::ComInterface::cast::<IInkDrawingAttributes2>(self)?;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).PenTipTransform)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation_Numerics\"`"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetPenTipTransform(&self, value: super::super::super::Foundation::Numerics::Matrix3x2) -> ::windows_core::Result<()> {
let this = &::windows_core::ComInterface::cast::<IInkDrawingAttributes2>(self)?;
unsafe { (::windows_core::Interface::vtable(this).SetPenTipTransform)(::windows_core::Interface::as_raw(this), value).ok() }
}
pub fn DrawAsHighlighter(&self) -> ::windows_core::Result<bool> {
let this = &::windows_core::ComInterface::cast::<IInkDrawingAttributes2>(self)?;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).DrawAsHighlighter)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetDrawAsHighlighter(&self, value: bool) -> ::windows_core::Result<()> {
let this = &::windows_core::ComInterface::cast::<IInkDrawingAttributes2>(self)?;
unsafe { (::windows_core::Interface::vtable(this).SetDrawAsHighlighter)(::windows_core::Interface::as_raw(this), value).ok() }
}
pub fn Kind(&self) -> ::windows_core::Result<InkDrawingAttributesKind> {
let this = &::windows_core::ComInterface::cast::<IInkDrawingAttributes3>(self)?;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn PencilProperties(&self) -> ::windows_core::Result<InkDrawingAttributesPencilProperties> {
let this = &::windows_core::ComInterface::cast::<IInkDrawingAttributes3>(self)?;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).PencilProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn IgnoreTilt(&self) -> ::windows_core::Result<bool> {
let this = &::windows_core::ComInterface::cast::<IInkDrawingAttributes4>(self)?;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).IgnoreTilt)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetIgnoreTilt(&self, value: bool) -> ::windows_core::Result<()> {
let this = &::windows_core::ComInterface::cast::<IInkDrawingAttributes4>(self)?;
unsafe { (::windows_core::Interface::vtable(this).SetIgnoreTilt)(::windows_core::Interface::as_raw(this), value).ok() }
}
pub fn ModelerAttributes(&self) -> ::windows_core::Result<InkModelerAttributes> {
let this = &::windows_core::ComInterface::cast::<IInkDrawingAttributes5>(self)?;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).ModelerAttributes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn CreateForPencil() -> ::windows_core::Result<InkDrawingAttributes> {
Self::IInkDrawingAttributesStatics(|this| unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).CreateForPencil)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
})
}
#[doc(hidden)]
pub fn IInkDrawingAttributesStatics<R, F: FnOnce(&IInkDrawingAttributesStatics) -> ::windows_core::Result<R>>(callback: F) -> ::windows_core::Result<R> {
static SHARED: ::windows_core::imp::FactoryCache<InkDrawingAttributes, IInkDrawingAttributesStatics> = ::windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl ::windows_core::RuntimeType for InkDrawingAttributes {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Input.Inking.InkDrawingAttributes;{97a2176c-6774-48ad-84f0-48f5a9be74f9})");
}
unsafe impl ::windows_core::Interface for InkDrawingAttributes {
type Vtable = IInkDrawingAttributes_Vtbl;
}
unsafe impl ::windows_core::ComInterface for InkDrawingAttributes {
const IID: ::windows_core::GUID = <IInkDrawingAttributes as ::windows_core::ComInterface>::IID;
}
impl ::windows_core::RuntimeName for InkDrawingAttributes {
const NAME: &'static str = "Windows.UI.Input.Inking.InkDrawingAttributes";
}
::windows_core::imp::interface_hierarchy!(InkDrawingAttributes, ::windows_core::IUnknown, ::windows_core::IInspectable);
unsafe impl ::core::marker::Send for InkDrawingAttributes {}
unsafe impl ::core::marker::Sync for InkDrawingAttributes {}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct InkDrawingAttributesPencilProperties(::windows_core::IUnknown);
impl InkDrawingAttributesPencilProperties {
pub fn Opacity(&self) -> ::windows_core::Result<f64> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).Opacity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetOpacity(&self, value: f64) -> ::windows_core::Result<()> {
let this = self;
unsafe { (::windows_core::Interface::vtable(this).SetOpacity)(::windows_core::Interface::as_raw(this), value).ok() }
}
}
impl ::windows_core::RuntimeType for InkDrawingAttributesPencilProperties {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Input.Inking.InkDrawingAttributesPencilProperties;{4f2534cb-2d86-41bb-b0e8-e4c2a0253c52})");
}
unsafe impl ::windows_core::Interface for InkDrawingAttributesPencilProperties {
type Vtable = IInkDrawingAttributesPencilProperties_Vtbl;
}
unsafe impl ::windows_core::ComInterface for InkDrawingAttributesPencilProperties {
const IID: ::windows_core::GUID = <IInkDrawingAttributesPencilProperties as ::windows_core::ComInterface>::IID;
}
impl ::windows_core::RuntimeName for InkDrawingAttributesPencilProperties {
const NAME: &'static str = "Windows.UI.Input.Inking.InkDrawingAttributesPencilProperties";
}
::windows_core::imp::interface_hierarchy!(InkDrawingAttributesPencilProperties, ::windows_core::IUnknown, ::windows_core::IInspectable);
unsafe impl ::core::marker::Send for InkDrawingAttributesPencilProperties {}
unsafe impl ::core::marker::Sync for InkDrawingAttributesPencilProperties {}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct InkInputConfiguration(::windows_core::IUnknown);
impl InkInputConfiguration {
pub fn IsPrimaryBarrelButtonInputEnabled(&self) -> ::windows_core::Result<bool> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).IsPrimaryBarrelButtonInputEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetIsPrimaryBarrelButtonInputEnabled(&self, value: bool) -> ::windows_core::Result<()> {
let this = self;
unsafe { (::windows_core::Interface::vtable(this).SetIsPrimaryBarrelButtonInputEnabled)(::windows_core::Interface::as_raw(this), value).ok() }
}
pub fn IsEraserInputEnabled(&self) -> ::windows_core::Result<bool> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).IsEraserInputEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetIsEraserInputEnabled(&self, value: bool) -> ::windows_core::Result<()> {
let this = self;
unsafe { (::windows_core::Interface::vtable(this).SetIsEraserInputEnabled)(::windows_core::Interface::as_raw(this), value).ok() }
}
pub fn IsPenHapticFeedbackEnabled(&self) -> ::windows_core::Result<bool> {
let this = &::windows_core::ComInterface::cast::<IInkInputConfiguration2>(self)?;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).IsPenHapticFeedbackEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetIsPenHapticFeedbackEnabled(&self, value: bool) -> ::windows_core::Result<()> {
let this = &::windows_core::ComInterface::cast::<IInkInputConfiguration2>(self)?;
unsafe { (::windows_core::Interface::vtable(this).SetIsPenHapticFeedbackEnabled)(::windows_core::Interface::as_raw(this), value).ok() }
}
}
impl ::windows_core::RuntimeType for InkInputConfiguration {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Input.Inking.InkInputConfiguration;{93a68dc4-0b7b-49d7-b34f-9901e524dcf2})");
}
unsafe impl ::windows_core::Interface for InkInputConfiguration {
type Vtable = IInkInputConfiguration_Vtbl;
}
unsafe impl ::windows_core::ComInterface for InkInputConfiguration {
const IID: ::windows_core::GUID = <IInkInputConfiguration as ::windows_core::ComInterface>::IID;
}
impl ::windows_core::RuntimeName for InkInputConfiguration {
const NAME: &'static str = "Windows.UI.Input.Inking.InkInputConfiguration";
}
::windows_core::imp::interface_hierarchy!(InkInputConfiguration, ::windows_core::IUnknown, ::windows_core::IInspectable);
unsafe impl ::core::marker::Send for InkInputConfiguration {}
unsafe impl ::core::marker::Sync for InkInputConfiguration {}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct InkInputProcessingConfiguration(::windows_core::IUnknown);
impl InkInputProcessingConfiguration {
pub fn Mode(&self) -> ::windows_core::Result<InkInputProcessingMode> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).Mode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetMode(&self, value: InkInputProcessingMode) -> ::windows_core::Result<()> {
let this = self;
unsafe { (::windows_core::Interface::vtable(this).SetMode)(::windows_core::Interface::as_raw(this), value).ok() }
}
pub fn RightDragAction(&self) -> ::windows_core::Result<InkInputRightDragAction> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).RightDragAction)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetRightDragAction(&self, value: InkInputRightDragAction) -> ::windows_core::Result<()> {
let this = self;
unsafe { (::windows_core::Interface::vtable(this).SetRightDragAction)(::windows_core::Interface::as_raw(this), value).ok() }
}
}
impl ::windows_core::RuntimeType for InkInputProcessingConfiguration {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Input.Inking.InkInputProcessingConfiguration;{2778d85e-33ca-4b06-a6d3-ac3945116d37})");
}
unsafe impl ::windows_core::Interface for InkInputProcessingConfiguration {
type Vtable = IInkInputProcessingConfiguration_Vtbl;
}
unsafe impl ::windows_core::ComInterface for InkInputProcessingConfiguration {
const IID: ::windows_core::GUID = <IInkInputProcessingConfiguration as ::windows_core::ComInterface>::IID;
}
impl ::windows_core::RuntimeName for InkInputProcessingConfiguration {
const NAME: &'static str = "Windows.UI.Input.Inking.InkInputProcessingConfiguration";
}
::windows_core::imp::interface_hierarchy!(InkInputProcessingConfiguration, ::windows_core::IUnknown, ::windows_core::IInspectable);
unsafe impl ::core::marker::Send for InkInputProcessingConfiguration {}
unsafe impl ::core::marker::Sync for InkInputProcessingConfiguration {}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct InkManager(::windows_core::IUnknown);
impl InkManager {
pub fn new() -> ::windows_core::Result<Self> {
Self::IActivationFactory(|f| f.ActivateInstance::<Self>())
}
fn IActivationFactory<R, F: FnOnce(&::windows_core::imp::IGenericFactory) -> ::windows_core::Result<R>>(callback: F) -> ::windows_core::Result<R> {
static SHARED: ::windows_core::imp::FactoryCache<InkManager, ::windows_core::imp::IGenericFactory> = ::windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
pub fn Mode(&self) -> ::windows_core::Result<InkManipulationMode> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).Mode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetMode(&self, value: InkManipulationMode) -> ::windows_core::Result<()> {
let this = self;
unsafe { (::windows_core::Interface::vtable(this).SetMode)(::windows_core::Interface::as_raw(this), value).ok() }
}
pub fn ProcessPointerDown<P0>(&self, pointerpoint: P0) -> ::windows_core::Result<()>
where
P0: ::windows_core::IntoParam<super::PointerPoint>,
{
let this = self;
unsafe { (::windows_core::Interface::vtable(this).ProcessPointerDown)(::windows_core::Interface::as_raw(this), pointerpoint.into_param().abi()).ok() }
}
pub fn ProcessPointerUpdate<P0>(&self, pointerpoint: P0) -> ::windows_core::Result<::windows_core::IInspectable>
where
P0: ::windows_core::IntoParam<super::PointerPoint>,
{
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).ProcessPointerUpdate)(::windows_core::Interface::as_raw(this), pointerpoint.into_param().abi(), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation\"`"]
#[cfg(feature = "Foundation")]
pub fn ProcessPointerUp<P0>(&self, pointerpoint: P0) -> ::windows_core::Result<super::super::super::Foundation::Rect>
where
P0: ::windows_core::IntoParam<super::PointerPoint>,
{
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).ProcessPointerUp)(::windows_core::Interface::as_raw(this), pointerpoint.into_param().abi(), &mut result__).from_abi(result__)
}
}
pub fn SetDefaultDrawingAttributes<P0>(&self, drawingattributes: P0) -> ::windows_core::Result<()>
where
P0: ::windows_core::IntoParam<InkDrawingAttributes>,
{
let this = self;
unsafe { (::windows_core::Interface::vtable(this).SetDefaultDrawingAttributes)(::windows_core::Interface::as_raw(this), drawingattributes.into_param().abi()).ok() }
}
#[doc = "Required features: `\"Foundation_Collections\"`"]
#[cfg(feature = "Foundation_Collections")]
pub fn RecognizeAsync2(&self, recognitiontarget: InkRecognitionTarget) -> ::windows_core::Result<super::super::super::Foundation::IAsyncOperation<super::super::super::Foundation::Collections::IVectorView<InkRecognitionResult>>> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).RecognizeAsync2)(::windows_core::Interface::as_raw(this), recognitiontarget, &mut result__).from_abi(result__)
}
}
pub fn SetDefaultRecognizer<P0>(&self, recognizer: P0) -> ::windows_core::Result<()>
where
P0: ::windows_core::IntoParam<InkRecognizer>,
{
let this = &::windows_core::ComInterface::cast::<IInkRecognizerContainer>(self)?;
unsafe { (::windows_core::Interface::vtable(this).SetDefaultRecognizer)(::windows_core::Interface::as_raw(this), recognizer.into_param().abi()).ok() }
}
#[doc = "Required features: `\"Foundation_Collections\"`"]
#[cfg(feature = "Foundation_Collections")]
pub fn RecognizeAsync<P0>(&self, strokecollection: P0, recognitiontarget: InkRecognitionTarget) -> ::windows_core::Result<super::super::super::Foundation::IAsyncOperation<super::super::super::Foundation::Collections::IVectorView<InkRecognitionResult>>>
where
P0: ::windows_core::IntoParam<InkStrokeContainer>,
{
let this = &::windows_core::ComInterface::cast::<IInkRecognizerContainer>(self)?;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).RecognizeAsync)(::windows_core::Interface::as_raw(this), strokecollection.into_param().abi(), recognitiontarget, &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation_Collections\"`"]
#[cfg(feature = "Foundation_Collections")]
pub fn GetRecognizers(&self) -> ::windows_core::Result<super::super::super::Foundation::Collections::IVectorView<InkRecognizer>> {
let this = &::windows_core::ComInterface::cast::<IInkRecognizerContainer>(self)?;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).GetRecognizers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation\"`"]
#[cfg(feature = "Foundation")]
pub fn BoundingRect(&self) -> ::windows_core::Result<super::super::super::Foundation::Rect> {
let this = &::windows_core::ComInterface::cast::<IInkStrokeContainer>(self)?;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).BoundingRect)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn AddStroke<P0>(&self, stroke: P0) -> ::windows_core::Result<()>
where
P0: ::windows_core::IntoParam<InkStroke>,
{
let this = &::windows_core::ComInterface::cast::<IInkStrokeContainer>(self)?;
unsafe { (::windows_core::Interface::vtable(this).AddStroke)(::windows_core::Interface::as_raw(this), stroke.into_param().abi()).ok() }
}
#[doc = "Required features: `\"Foundation\"`"]
#[cfg(feature = "Foundation")]
pub fn DeleteSelected(&self) -> ::windows_core::Result<super::super::super::Foundation::Rect> {
let this = &::windows_core::ComInterface::cast::<IInkStrokeContainer>(self)?;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).DeleteSelected)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation\"`"]
#[cfg(feature = "Foundation")]
pub fn MoveSelected(&self, translation: super::super::super::Foundation::Point) -> ::windows_core::Result<super::super::super::Foundation::Rect> {
let this = &::windows_core::ComInterface::cast::<IInkStrokeContainer>(self)?;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).MoveSelected)(::windows_core::Interface::as_raw(this), translation, &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation_Collections\"`"]
#[cfg(feature = "Foundation_Collections")]
pub fn SelectWithPolyLine<P0>(&self, polyline: P0) -> ::windows_core::Result<super::super::super::Foundation::Rect>
where
P0: ::windows_core::TryIntoParam<super::super::super::Foundation::Collections::IIterable<super::super::super::Foundation::Point>>,
{
let this = &::windows_core::ComInterface::cast::<IInkStrokeContainer>(self)?;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).SelectWithPolyLine)(::windows_core::Interface::as_raw(this), polyline.try_into_param()?.abi(), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation\"`"]
#[cfg(feature = "Foundation")]
pub fn SelectWithLine(&self, from: super::super::super::Foundation::Point, to: super::super::super::Foundation::Point) -> ::windows_core::Result<super::super::super::Foundation::Rect> {
let this = &::windows_core::ComInterface::cast::<IInkStrokeContainer>(self)?;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).SelectWithLine)(::windows_core::Interface::as_raw(this), from, to, &mut result__).from_abi(result__)
}
}
pub fn CopySelectedToClipboard(&self) -> ::windows_core::Result<()> {
let this = &::windows_core::ComInterface::cast::<IInkStrokeContainer>(self)?;
unsafe { (::windows_core::Interface::vtable(this).CopySelectedToClipboard)(::windows_core::Interface::as_raw(this)).ok() }
}
#[doc = "Required features: `\"Foundation\"`"]
#[cfg(feature = "Foundation")]
pub fn PasteFromClipboard(&self, position: super::super::super::Foundation::Point) -> ::windows_core::Result<super::super::super::Foundation::Rect> {
let this = &::windows_core::ComInterface::cast::<IInkStrokeContainer>(self)?;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).PasteFromClipboard)(::windows_core::Interface::as_raw(this), position, &mut result__).from_abi(result__)
}
}
pub fn CanPasteFromClipboard(&self) -> ::windows_core::Result<bool> {
let this = &::windows_core::ComInterface::cast::<IInkStrokeContainer>(self)?;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).CanPasteFromClipboard)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation\"`, `\"Storage_Streams\"`"]
#[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
pub fn LoadAsync<P0>(&self, inputstream: P0) -> ::windows_core::Result<super::super::super::Foundation::IAsyncActionWithProgress<u64>>
where
P0: ::windows_core::TryIntoParam<super::super::super::Storage::Streams::IInputStream>,
{
let this = &::windows_core::ComInterface::cast::<IInkStrokeContainer>(self)?;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).LoadAsync)(::windows_core::Interface::as_raw(this), inputstream.try_into_param()?.abi(), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation\"`, `\"Storage_Streams\"`"]
#[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
pub fn SaveAsync<P0>(&self, outputstream: P0) -> ::windows_core::Result<super::super::super::Foundation::IAsyncOperationWithProgress<u32, u32>>
where
P0: ::windows_core::TryIntoParam<super::super::super::Storage::Streams::IOutputStream>,
{
let this = &::windows_core::ComInterface::cast::<IInkStrokeContainer>(self)?;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).SaveAsync)(::windows_core::Interface::as_raw(this), outputstream.try_into_param()?.abi(), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation_Collections\"`"]
#[cfg(feature = "Foundation_Collections")]
pub fn UpdateRecognitionResults<P0>(&self, recognitionresults: P0) -> ::windows_core::Result<()>
where
P0: ::windows_core::TryIntoParam<super::super::super::Foundation::Collections::IVectorView<InkRecognitionResult>>,
{
let this = &::windows_core::ComInterface::cast::<IInkStrokeContainer>(self)?;
unsafe { (::windows_core::Interface::vtable(this).UpdateRecognitionResults)(::windows_core::Interface::as_raw(this), recognitionresults.try_into_param()?.abi()).ok() }
}
#[doc = "Required features: `\"Foundation_Collections\"`"]
#[cfg(feature = "Foundation_Collections")]
pub fn GetStrokes(&self) -> ::windows_core::Result<super::super::super::Foundation::Collections::IVectorView<InkStroke>> {
let this = &::windows_core::ComInterface::cast::<IInkStrokeContainer>(self)?;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).GetStrokes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation_Collections\"`"]
#[cfg(feature = "Foundation_Collections")]
pub fn GetRecognitionResults(&self) -> ::windows_core::Result<super::super::super::Foundation::Collections::IVectorView<InkRecognitionResult>> {
let this = &::windows_core::ComInterface::cast::<IInkStrokeContainer>(self)?;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).GetRecognitionResults)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
}
impl ::windows_core::RuntimeType for InkManager {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Input.Inking.InkManager;{4744737d-671b-4163-9c95-4e8d7a035fe1})");
}
unsafe impl ::windows_core::Interface for InkManager {
type Vtable = IInkManager_Vtbl;
}
unsafe impl ::windows_core::ComInterface for InkManager {
const IID: ::windows_core::GUID = <IInkManager as ::windows_core::ComInterface>::IID;
}
impl ::windows_core::RuntimeName for InkManager {
const NAME: &'static str = "Windows.UI.Input.Inking.InkManager";
}
::windows_core::imp::interface_hierarchy!(InkManager, ::windows_core::IUnknown, ::windows_core::IInspectable);
impl ::windows_core::CanTryInto<IInkRecognizerContainer> for InkManager {}
impl ::windows_core::CanTryInto<IInkStrokeContainer> for InkManager {}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct InkModelerAttributes(::windows_core::IUnknown);
impl InkModelerAttributes {
#[doc = "Required features: `\"Foundation\"`"]
#[cfg(feature = "Foundation")]
pub fn PredictionTime(&self) -> ::windows_core::Result<super::super::super::Foundation::TimeSpan> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).PredictionTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation\"`"]
#[cfg(feature = "Foundation")]
pub fn SetPredictionTime(&self, value: super::super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> {
let this = self;
unsafe { (::windows_core::Interface::vtable(this).SetPredictionTime)(::windows_core::Interface::as_raw(this), value).ok() }
}
pub fn ScalingFactor(&self) -> ::windows_core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).ScalingFactor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetScalingFactor(&self, value: f32) -> ::windows_core::Result<()> {
let this = self;
unsafe { (::windows_core::Interface::vtable(this).SetScalingFactor)(::windows_core::Interface::as_raw(this), value).ok() }
}
pub fn UseVelocityBasedPressure(&self) -> ::windows_core::Result<bool> {
let this = &::windows_core::ComInterface::cast::<IInkModelerAttributes2>(self)?;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).UseVelocityBasedPressure)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetUseVelocityBasedPressure(&self, value: bool) -> ::windows_core::Result<()> {
let this = &::windows_core::ComInterface::cast::<IInkModelerAttributes2>(self)?;
unsafe { (::windows_core::Interface::vtable(this).SetUseVelocityBasedPressure)(::windows_core::Interface::as_raw(this), value).ok() }
}
}
impl ::windows_core::RuntimeType for InkModelerAttributes {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Input.Inking.InkModelerAttributes;{bad31f27-0cd9-4bfd-b6f3-9e03ba8d7454})");
}
unsafe impl ::windows_core::Interface for InkModelerAttributes {
type Vtable = IInkModelerAttributes_Vtbl;
}
unsafe impl ::windows_core::ComInterface for InkModelerAttributes {
const IID: ::windows_core::GUID = <IInkModelerAttributes as ::windows_core::ComInterface>::IID;
}
impl ::windows_core::RuntimeName for InkModelerAttributes {
const NAME: &'static str = "Windows.UI.Input.Inking.InkModelerAttributes";
}
::windows_core::imp::interface_hierarchy!(InkModelerAttributes, ::windows_core::IUnknown, ::windows_core::IInspectable);
unsafe impl ::core::marker::Send for InkModelerAttributes {}
unsafe impl ::core::marker::Sync for InkModelerAttributes {}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct InkPoint(::windows_core::IUnknown);
impl InkPoint {
#[doc = "Required features: `\"Foundation\"`"]
#[cfg(feature = "Foundation")]
pub fn Position(&self) -> ::windows_core::Result<super::super::super::Foundation::Point> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Pressure(&self) -> ::windows_core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).Pressure)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TiltX(&self) -> ::windows_core::Result<f32> {
let this = &::windows_core::ComInterface::cast::<IInkPoint2>(self)?;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).TiltX)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TiltY(&self) -> ::windows_core::Result<f32> {
let this = &::windows_core::ComInterface::cast::<IInkPoint2>(self)?;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).TiltY)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Timestamp(&self) -> ::windows_core::Result<u64> {
let this = &::windows_core::ComInterface::cast::<IInkPoint2>(self)?;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation\"`"]
#[cfg(feature = "Foundation")]
pub fn CreateInkPoint(position: super::super::super::Foundation::Point, pressure: f32) -> ::windows_core::Result<InkPoint> {
Self::IInkPointFactory(|this| unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).CreateInkPoint)(::windows_core::Interface::as_raw(this), position, pressure, &mut result__).from_abi(result__)
})
}
#[doc = "Required features: `\"Foundation\"`"]
#[cfg(feature = "Foundation")]
pub fn CreateInkPointWithTiltAndTimestamp(position: super::super::super::Foundation::Point, pressure: f32, tiltx: f32, tilty: f32, timestamp: u64) -> ::windows_core::Result<InkPoint> {
Self::IInkPointFactory2(|this| unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).CreateInkPointWithTiltAndTimestamp)(::windows_core::Interface::as_raw(this), position, pressure, tiltx, tilty, timestamp, &mut result__).from_abi(result__)
})
}
#[doc(hidden)]
pub fn IInkPointFactory<R, F: FnOnce(&IInkPointFactory) -> ::windows_core::Result<R>>(callback: F) -> ::windows_core::Result<R> {
static SHARED: ::windows_core::imp::FactoryCache<InkPoint, IInkPointFactory> = ::windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
#[doc(hidden)]
pub fn IInkPointFactory2<R, F: FnOnce(&IInkPointFactory2) -> ::windows_core::Result<R>>(callback: F) -> ::windows_core::Result<R> {
static SHARED: ::windows_core::imp::FactoryCache<InkPoint, IInkPointFactory2> = ::windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl ::windows_core::RuntimeType for InkPoint {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Input.Inking.InkPoint;{9f87272b-858c-46a5-9b41-d195970459fd})");
}
unsafe impl ::windows_core::Interface for InkPoint {
type Vtable = IInkPoint_Vtbl;
}
unsafe impl ::windows_core::ComInterface for InkPoint {
const IID: ::windows_core::GUID = <IInkPoint as ::windows_core::ComInterface>::IID;
}
impl ::windows_core::RuntimeName for InkPoint {
const NAME: &'static str = "Windows.UI.Input.Inking.InkPoint";
}
::windows_core::imp::interface_hierarchy!(InkPoint, ::windows_core::IUnknown, ::windows_core::IInspectable);
unsafe impl ::core::marker::Send for InkPoint {}
unsafe impl ::core::marker::Sync for InkPoint {}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct InkPresenter(::windows_core::IUnknown);
impl InkPresenter {
pub fn IsInputEnabled(&self) -> ::windows_core::Result<bool> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).IsInputEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetIsInputEnabled(&self, value: bool) -> ::windows_core::Result<()> {
let this = self;
unsafe { (::windows_core::Interface::vtable(this).SetIsInputEnabled)(::windows_core::Interface::as_raw(this), value).ok() }
}
#[doc = "Required features: `\"UI_Core\"`"]
#[cfg(feature = "UI_Core")]
pub fn InputDeviceTypes(&self) -> ::windows_core::Result<super::super::Core::CoreInputDeviceTypes> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).InputDeviceTypes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"UI_Core\"`"]
#[cfg(feature = "UI_Core")]
pub fn SetInputDeviceTypes(&self, value: super::super::Core::CoreInputDeviceTypes) -> ::windows_core::Result<()> {
let this = self;
unsafe { (::windows_core::Interface::vtable(this).SetInputDeviceTypes)(::windows_core::Interface::as_raw(this), value).ok() }
}
pub fn UnprocessedInput(&self) -> ::windows_core::Result<InkUnprocessedInput> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).UnprocessedInput)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StrokeInput(&self) -> ::windows_core::Result<InkStrokeInput> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).StrokeInput)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn InputProcessingConfiguration(&self) -> ::windows_core::Result<InkInputProcessingConfiguration> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).InputProcessingConfiguration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StrokeContainer(&self) -> ::windows_core::Result<InkStrokeContainer> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).StrokeContainer)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetStrokeContainer<P0>(&self, value: P0) -> ::windows_core::Result<()>
where
P0: ::windows_core::IntoParam<InkStrokeContainer>,
{
let this = self;
unsafe { (::windows_core::Interface::vtable(this).SetStrokeContainer)(::windows_core::Interface::as_raw(this), value.into_param().abi()).ok() }
}
pub fn CopyDefaultDrawingAttributes(&self) -> ::windows_core::Result<InkDrawingAttributes> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).CopyDefaultDrawingAttributes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn UpdateDefaultDrawingAttributes<P0>(&self, value: P0) -> ::windows_core::Result<()>
where
P0: ::windows_core::IntoParam<InkDrawingAttributes>,
{
let this = self;
unsafe { (::windows_core::Interface::vtable(this).UpdateDefaultDrawingAttributes)(::windows_core::Interface::as_raw(this), value.into_param().abi()).ok() }
}
pub fn ActivateCustomDrying(&self) -> ::windows_core::Result<InkSynchronizer> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).ActivateCustomDrying)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetPredefinedConfiguration(&self, value: InkPresenterPredefinedConfiguration) -> ::windows_core::Result<()> {
let this = self;
unsafe { (::windows_core::Interface::vtable(this).SetPredefinedConfiguration)(::windows_core::Interface::as_raw(this), value).ok() }
}
#[doc = "Required features: `\"Foundation\"`"]
#[cfg(feature = "Foundation")]
pub fn StrokesCollected<P0>(&self, handler: P0) -> ::windows_core::Result<super::super::super::Foundation::EventRegistrationToken>
where
P0: ::windows_core::IntoParam<super::super::super::Foundation::TypedEventHandler<InkPresenter, InkStrokesCollectedEventArgs>>,
{
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).StrokesCollected)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation\"`"]
#[cfg(feature = "Foundation")]
pub fn RemoveStrokesCollected(&self, cookie: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> {
let this = self;
unsafe { (::windows_core::Interface::vtable(this).RemoveStrokesCollected)(::windows_core::Interface::as_raw(this), cookie).ok() }
}
#[doc = "Required features: `\"Foundation\"`"]
#[cfg(feature = "Foundation")]
pub fn StrokesErased<P0>(&self, handler: P0) -> ::windows_core::Result<super::super::super::Foundation::EventRegistrationToken>
where
P0: ::windows_core::IntoParam<super::super::super::Foundation::TypedEventHandler<InkPresenter, InkStrokesErasedEventArgs>>,
{
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).StrokesErased)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation\"`"]
#[cfg(feature = "Foundation")]
pub fn RemoveStrokesErased(&self, cookie: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> {
let this = self;
unsafe { (::windows_core::Interface::vtable(this).RemoveStrokesErased)(::windows_core::Interface::as_raw(this), cookie).ok() }
}
pub fn HighContrastAdjustment(&self) -> ::windows_core::Result<InkHighContrastAdjustment> {
let this = &::windows_core::ComInterface::cast::<IInkPresenter2>(self)?;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).HighContrastAdjustment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetHighContrastAdjustment(&self, value: InkHighContrastAdjustment) -> ::windows_core::Result<()> {
let this = &::windows_core::ComInterface::cast::<IInkPresenter2>(self)?;
unsafe { (::windows_core::Interface::vtable(this).SetHighContrastAdjustment)(::windows_core::Interface::as_raw(this), value).ok() }
}
pub fn InputConfiguration(&self) -> ::windows_core::Result<InkInputConfiguration> {
let this = &::windows_core::ComInterface::cast::<IInkPresenter3>(self)?;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).InputConfiguration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
}
impl ::windows_core::RuntimeType for InkPresenter {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Input.Inking.InkPresenter;{a69b70e2-887b-458f-b173-4fe4438930a3})");
}
unsafe impl ::windows_core::Interface for InkPresenter {
type Vtable = IInkPresenter_Vtbl;
}
unsafe impl ::windows_core::ComInterface for InkPresenter {
const IID: ::windows_core::GUID = <IInkPresenter as ::windows_core::ComInterface>::IID;
}
impl ::windows_core::RuntimeName for InkPresenter {
const NAME: &'static str = "Windows.UI.Input.Inking.InkPresenter";
}
::windows_core::imp::interface_hierarchy!(InkPresenter, ::windows_core::IUnknown, ::windows_core::IInspectable);
unsafe impl ::core::marker::Send for InkPresenter {}
unsafe impl ::core::marker::Sync for InkPresenter {}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct InkPresenterProtractor(::windows_core::IUnknown);
impl InkPresenterProtractor {
pub fn AreTickMarksVisible(&self) -> ::windows_core::Result<bool> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).AreTickMarksVisible)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetAreTickMarksVisible(&self, value: bool) -> ::windows_core::Result<()> {
let this = self;
unsafe { (::windows_core::Interface::vtable(this).SetAreTickMarksVisible)(::windows_core::Interface::as_raw(this), value).ok() }
}
pub fn AreRaysVisible(&self) -> ::windows_core::Result<bool> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).AreRaysVisible)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetAreRaysVisible(&self, value: bool) -> ::windows_core::Result<()> {
let this = self;
unsafe { (::windows_core::Interface::vtable(this).SetAreRaysVisible)(::windows_core::Interface::as_raw(this), value).ok() }
}
pub fn IsCenterMarkerVisible(&self) -> ::windows_core::Result<bool> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).IsCenterMarkerVisible)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetIsCenterMarkerVisible(&self, value: bool) -> ::windows_core::Result<()> {
let this = self;
unsafe { (::windows_core::Interface::vtable(this).SetIsCenterMarkerVisible)(::windows_core::Interface::as_raw(this), value).ok() }
}
pub fn IsAngleReadoutVisible(&self) -> ::windows_core::Result<bool> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).IsAngleReadoutVisible)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetIsAngleReadoutVisible(&self, value: bool) -> ::windows_core::Result<()> {
let this = self;
unsafe { (::windows_core::Interface::vtable(this).SetIsAngleReadoutVisible)(::windows_core::Interface::as_raw(this), value).ok() }
}
pub fn IsResizable(&self) -> ::windows_core::Result<bool> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).IsResizable)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetIsResizable(&self, value: bool) -> ::windows_core::Result<()> {
let this = self;
unsafe { (::windows_core::Interface::vtable(this).SetIsResizable)(::windows_core::Interface::as_raw(this), value).ok() }
}
pub fn Radius(&self) -> ::windows_core::Result<f64> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).Radius)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetRadius(&self, value: f64) -> ::windows_core::Result<()> {
let this = self;
unsafe { (::windows_core::Interface::vtable(this).SetRadius)(::windows_core::Interface::as_raw(this), value).ok() }
}
pub fn AccentColor(&self) -> ::windows_core::Result<super::super::Color> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).AccentColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetAccentColor(&self, value: super::super::Color) -> ::windows_core::Result<()> {
let this = self;
unsafe { (::windows_core::Interface::vtable(this).SetAccentColor)(::windows_core::Interface::as_raw(this), value).ok() }
}
pub fn Create<P0>(inkpresenter: P0) -> ::windows_core::Result<InkPresenterProtractor>
where
P0: ::windows_core::IntoParam<InkPresenter>,
{
Self::IInkPresenterProtractorFactory(|this| unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), inkpresenter.into_param().abi(), &mut result__).from_abi(result__)
})
}
pub fn Kind(&self) -> ::windows_core::Result<InkPresenterStencilKind> {
let this = &::windows_core::ComInterface::cast::<IInkPresenterStencil>(self)?;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn IsVisible(&self) -> ::windows_core::Result<bool> {
let this = &::windows_core::ComInterface::cast::<IInkPresenterStencil>(self)?;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).IsVisible)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetIsVisible(&self, value: bool) -> ::windows_core::Result<()> {
let this = &::windows_core::ComInterface::cast::<IInkPresenterStencil>(self)?;
unsafe { (::windows_core::Interface::vtable(this).SetIsVisible)(::windows_core::Interface::as_raw(this), value).ok() }
}
pub fn BackgroundColor(&self) -> ::windows_core::Result<super::super::Color> {
let this = &::windows_core::ComInterface::cast::<IInkPresenterStencil>(self)?;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).BackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetBackgroundColor(&self, value: super::super::Color) -> ::windows_core::Result<()> {
let this = &::windows_core::ComInterface::cast::<IInkPresenterStencil>(self)?;
unsafe { (::windows_core::Interface::vtable(this).SetBackgroundColor)(::windows_core::Interface::as_raw(this), value).ok() }
}
pub fn ForegroundColor(&self) -> ::windows_core::Result<super::super::Color> {
let this = &::windows_core::ComInterface::cast::<IInkPresenterStencil>(self)?;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).ForegroundColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetForegroundColor(&self, value: super::super::Color) -> ::windows_core::Result<()> {
let this = &::windows_core::ComInterface::cast::<IInkPresenterStencil>(self)?;
unsafe { (::windows_core::Interface::vtable(this).SetForegroundColor)(::windows_core::Interface::as_raw(this), value).ok() }
}
#[doc = "Required features: `\"Foundation_Numerics\"`"]
#[cfg(feature = "Foundation_Numerics")]
pub fn Transform(&self) -> ::windows_core::Result<super::super::super::Foundation::Numerics::Matrix3x2> {
let this = &::windows_core::ComInterface::cast::<IInkPresenterStencil>(self)?;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).Transform)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation_Numerics\"`"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetTransform(&self, value: super::super::super::Foundation::Numerics::Matrix3x2) -> ::windows_core::Result<()> {
let this = &::windows_core::ComInterface::cast::<IInkPresenterStencil>(self)?;
unsafe { (::windows_core::Interface::vtable(this).SetTransform)(::windows_core::Interface::as_raw(this), value).ok() }
}
#[doc(hidden)]
pub fn IInkPresenterProtractorFactory<R, F: FnOnce(&IInkPresenterProtractorFactory) -> ::windows_core::Result<R>>(callback: F) -> ::windows_core::Result<R> {
static SHARED: ::windows_core::imp::FactoryCache<InkPresenterProtractor, IInkPresenterProtractorFactory> = ::windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl ::windows_core::RuntimeType for InkPresenterProtractor {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Input.Inking.InkPresenterProtractor;{7de3f2aa-ef6c-4e91-a73b-5b70d56fbd17})");
}
unsafe impl ::windows_core::Interface for InkPresenterProtractor {
type Vtable = IInkPresenterProtractor_Vtbl;
}
unsafe impl ::windows_core::ComInterface for InkPresenterProtractor {
const IID: ::windows_core::GUID = <IInkPresenterProtractor as ::windows_core::ComInterface>::IID;
}
impl ::windows_core::RuntimeName for InkPresenterProtractor {
const NAME: &'static str = "Windows.UI.Input.Inking.InkPresenterProtractor";
}
::windows_core::imp::interface_hierarchy!(InkPresenterProtractor, ::windows_core::IUnknown, ::windows_core::IInspectable);
impl ::windows_core::CanTryInto<IInkPresenterStencil> for InkPresenterProtractor {}
unsafe impl ::core::marker::Send for InkPresenterProtractor {}
unsafe impl ::core::marker::Sync for InkPresenterProtractor {}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct InkPresenterRuler(::windows_core::IUnknown);
impl InkPresenterRuler {
pub fn Length(&self) -> ::windows_core::Result<f64> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).Length)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetLength(&self, value: f64) -> ::windows_core::Result<()> {
let this = self;
unsafe { (::windows_core::Interface::vtable(this).SetLength)(::windows_core::Interface::as_raw(this), value).ok() }
}
pub fn Width(&self) -> ::windows_core::Result<f64> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).Width)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetWidth(&self, value: f64) -> ::windows_core::Result<()> {
let this = self;
unsafe { (::windows_core::Interface::vtable(this).SetWidth)(::windows_core::Interface::as_raw(this), value).ok() }
}
pub fn AreTickMarksVisible(&self) -> ::windows_core::Result<bool> {
let this = &::windows_core::ComInterface::cast::<IInkPresenterRuler2>(self)?;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).AreTickMarksVisible)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetAreTickMarksVisible(&self, value: bool) -> ::windows_core::Result<()> {
let this = &::windows_core::ComInterface::cast::<IInkPresenterRuler2>(self)?;
unsafe { (::windows_core::Interface::vtable(this).SetAreTickMarksVisible)(::windows_core::Interface::as_raw(this), value).ok() }
}
pub fn IsCompassVisible(&self) -> ::windows_core::Result<bool> {
let this = &::windows_core::ComInterface::cast::<IInkPresenterRuler2>(self)?;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).IsCompassVisible)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetIsCompassVisible(&self, value: bool) -> ::windows_core::Result<()> {
let this = &::windows_core::ComInterface::cast::<IInkPresenterRuler2>(self)?;
unsafe { (::windows_core::Interface::vtable(this).SetIsCompassVisible)(::windows_core::Interface::as_raw(this), value).ok() }
}
pub fn Create<P0>(inkpresenter: P0) -> ::windows_core::Result<InkPresenterRuler>
where
P0: ::windows_core::IntoParam<InkPresenter>,
{
Self::IInkPresenterRulerFactory(|this| unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), inkpresenter.into_param().abi(), &mut result__).from_abi(result__)
})
}
pub fn Kind(&self) -> ::windows_core::Result<InkPresenterStencilKind> {
let this = &::windows_core::ComInterface::cast::<IInkPresenterStencil>(self)?;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn IsVisible(&self) -> ::windows_core::Result<bool> {
let this = &::windows_core::ComInterface::cast::<IInkPresenterStencil>(self)?;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).IsVisible)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetIsVisible(&self, value: bool) -> ::windows_core::Result<()> {
let this = &::windows_core::ComInterface::cast::<IInkPresenterStencil>(self)?;
unsafe { (::windows_core::Interface::vtable(this).SetIsVisible)(::windows_core::Interface::as_raw(this), value).ok() }
}
pub fn BackgroundColor(&self) -> ::windows_core::Result<super::super::Color> {
let this = &::windows_core::ComInterface::cast::<IInkPresenterStencil>(self)?;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).BackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetBackgroundColor(&self, value: super::super::Color) -> ::windows_core::Result<()> {
let this = &::windows_core::ComInterface::cast::<IInkPresenterStencil>(self)?;
unsafe { (::windows_core::Interface::vtable(this).SetBackgroundColor)(::windows_core::Interface::as_raw(this), value).ok() }
}
pub fn ForegroundColor(&self) -> ::windows_core::Result<super::super::Color> {
let this = &::windows_core::ComInterface::cast::<IInkPresenterStencil>(self)?;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).ForegroundColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetForegroundColor(&self, value: super::super::Color) -> ::windows_core::Result<()> {
let this = &::windows_core::ComInterface::cast::<IInkPresenterStencil>(self)?;
unsafe { (::windows_core::Interface::vtable(this).SetForegroundColor)(::windows_core::Interface::as_raw(this), value).ok() }
}
#[doc = "Required features: `\"Foundation_Numerics\"`"]
#[cfg(feature = "Foundation_Numerics")]
pub fn Transform(&self) -> ::windows_core::Result<super::super::super::Foundation::Numerics::Matrix3x2> {
let this = &::windows_core::ComInterface::cast::<IInkPresenterStencil>(self)?;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).Transform)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation_Numerics\"`"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetTransform(&self, value: super::super::super::Foundation::Numerics::Matrix3x2) -> ::windows_core::Result<()> {
let this = &::windows_core::ComInterface::cast::<IInkPresenterStencil>(self)?;
unsafe { (::windows_core::Interface::vtable(this).SetTransform)(::windows_core::Interface::as_raw(this), value).ok() }
}
#[doc(hidden)]
pub fn IInkPresenterRulerFactory<R, F: FnOnce(&IInkPresenterRulerFactory) -> ::windows_core::Result<R>>(callback: F) -> ::windows_core::Result<R> {
static SHARED: ::windows_core::imp::FactoryCache<InkPresenterRuler, IInkPresenterRulerFactory> = ::windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl ::windows_core::RuntimeType for InkPresenterRuler {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Input.Inking.InkPresenterRuler;{6cda7d5a-dec7-4dd7-877a-2133f183d48a})");
}
unsafe impl ::windows_core::Interface for InkPresenterRuler {
type Vtable = IInkPresenterRuler_Vtbl;
}
unsafe impl ::windows_core::ComInterface for InkPresenterRuler {
const IID: ::windows_core::GUID = <IInkPresenterRuler as ::windows_core::ComInterface>::IID;
}
impl ::windows_core::RuntimeName for InkPresenterRuler {
const NAME: &'static str = "Windows.UI.Input.Inking.InkPresenterRuler";
}
::windows_core::imp::interface_hierarchy!(InkPresenterRuler, ::windows_core::IUnknown, ::windows_core::IInspectable);
impl ::windows_core::CanTryInto<IInkPresenterStencil> for InkPresenterRuler {}
unsafe impl ::core::marker::Send for InkPresenterRuler {}
unsafe impl ::core::marker::Sync for InkPresenterRuler {}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct InkRecognitionResult(::windows_core::IUnknown);
impl InkRecognitionResult {
#[doc = "Required features: `\"Foundation\"`"]
#[cfg(feature = "Foundation")]
pub fn BoundingRect(&self) -> ::windows_core::Result<super::super::super::Foundation::Rect> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).BoundingRect)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation_Collections\"`"]
#[cfg(feature = "Foundation_Collections")]
pub fn GetTextCandidates(&self) -> ::windows_core::Result<super::super::super::Foundation::Collections::IVectorView<::windows_core::HSTRING>> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).GetTextCandidates)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation_Collections\"`"]
#[cfg(feature = "Foundation_Collections")]
pub fn GetStrokes(&self) -> ::windows_core::Result<super::super::super::Foundation::Collections::IVectorView<InkStroke>> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).GetStrokes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
}
impl ::windows_core::RuntimeType for InkRecognitionResult {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Input.Inking.InkRecognitionResult;{36461a94-5068-40ef-8a05-2c2fb60908a2})");
}
unsafe impl ::windows_core::Interface for InkRecognitionResult {
type Vtable = IInkRecognitionResult_Vtbl;
}
unsafe impl ::windows_core::ComInterface for InkRecognitionResult {
const IID: ::windows_core::GUID = <IInkRecognitionResult as ::windows_core::ComInterface>::IID;
}
impl ::windows_core::RuntimeName for InkRecognitionResult {
const NAME: &'static str = "Windows.UI.Input.Inking.InkRecognitionResult";
}
::windows_core::imp::interface_hierarchy!(InkRecognitionResult, ::windows_core::IUnknown, ::windows_core::IInspectable);
unsafe impl ::core::marker::Send for InkRecognitionResult {}
unsafe impl ::core::marker::Sync for InkRecognitionResult {}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct InkRecognizer(::windows_core::IUnknown);
impl InkRecognizer {
pub fn Name(&self) -> ::windows_core::Result<::windows_core::HSTRING> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
}
impl ::windows_core::RuntimeType for InkRecognizer {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Input.Inking.InkRecognizer;{077ccea3-904d-442a-b151-aaca3631c43b})");
}
unsafe impl ::windows_core::Interface for InkRecognizer {
type Vtable = IInkRecognizer_Vtbl;
}
unsafe impl ::windows_core::ComInterface for InkRecognizer {
const IID: ::windows_core::GUID = <IInkRecognizer as ::windows_core::ComInterface>::IID;
}
impl ::windows_core::RuntimeName for InkRecognizer {
const NAME: &'static str = "Windows.UI.Input.Inking.InkRecognizer";
}
::windows_core::imp::interface_hierarchy!(InkRecognizer, ::windows_core::IUnknown, ::windows_core::IInspectable);
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct InkRecognizerContainer(::windows_core::IUnknown);
impl InkRecognizerContainer {
pub fn new() -> ::windows_core::Result<Self> {
Self::IActivationFactory(|f| f.ActivateInstance::<Self>())
}
fn IActivationFactory<R, F: FnOnce(&::windows_core::imp::IGenericFactory) -> ::windows_core::Result<R>>(callback: F) -> ::windows_core::Result<R> {
static SHARED: ::windows_core::imp::FactoryCache<InkRecognizerContainer, ::windows_core::imp::IGenericFactory> = ::windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
pub fn SetDefaultRecognizer<P0>(&self, recognizer: P0) -> ::windows_core::Result<()>
where
P0: ::windows_core::IntoParam<InkRecognizer>,
{
let this = self;
unsafe { (::windows_core::Interface::vtable(this).SetDefaultRecognizer)(::windows_core::Interface::as_raw(this), recognizer.into_param().abi()).ok() }
}
#[doc = "Required features: `\"Foundation_Collections\"`"]
#[cfg(feature = "Foundation_Collections")]
pub fn RecognizeAsync<P0>(&self, strokecollection: P0, recognitiontarget: InkRecognitionTarget) -> ::windows_core::Result<super::super::super::Foundation::IAsyncOperation<super::super::super::Foundation::Collections::IVectorView<InkRecognitionResult>>>
where
P0: ::windows_core::IntoParam<InkStrokeContainer>,
{
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).RecognizeAsync)(::windows_core::Interface::as_raw(this), strokecollection.into_param().abi(), recognitiontarget, &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation_Collections\"`"]
#[cfg(feature = "Foundation_Collections")]
pub fn GetRecognizers(&self) -> ::windows_core::Result<super::super::super::Foundation::Collections::IVectorView<InkRecognizer>> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).GetRecognizers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
}
impl ::windows_core::RuntimeType for InkRecognizerContainer {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Input.Inking.InkRecognizerContainer;{a74d9a31-8047-4698-a912-f82a5085012f})");
}
unsafe impl ::windows_core::Interface for InkRecognizerContainer {
type Vtable = IInkRecognizerContainer_Vtbl;
}
unsafe impl ::windows_core::ComInterface for InkRecognizerContainer {
const IID: ::windows_core::GUID = <IInkRecognizerContainer as ::windows_core::ComInterface>::IID;
}
impl ::windows_core::RuntimeName for InkRecognizerContainer {
const NAME: &'static str = "Windows.UI.Input.Inking.InkRecognizerContainer";
}
::windows_core::imp::interface_hierarchy!(InkRecognizerContainer, ::windows_core::IUnknown, ::windows_core::IInspectable);
impl ::windows_core::CanTryInto<IInkRecognizerContainer> for InkRecognizerContainer {}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct InkStroke(::windows_core::IUnknown);
impl InkStroke {
pub fn DrawingAttributes(&self) -> ::windows_core::Result<InkDrawingAttributes> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).DrawingAttributes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetDrawingAttributes<P0>(&self, value: P0) -> ::windows_core::Result<()>
where
P0: ::windows_core::IntoParam<InkDrawingAttributes>,
{
let this = self;
unsafe { (::windows_core::Interface::vtable(this).SetDrawingAttributes)(::windows_core::Interface::as_raw(this), value.into_param().abi()).ok() }
}
#[doc = "Required features: `\"Foundation\"`"]
#[cfg(feature = "Foundation")]
pub fn BoundingRect(&self) -> ::windows_core::Result<super::super::super::Foundation::Rect> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).BoundingRect)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Selected(&self) -> ::windows_core::Result<bool> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).Selected)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetSelected(&self, value: bool) -> ::windows_core::Result<()> {
let this = self;
unsafe { (::windows_core::Interface::vtable(this).SetSelected)(::windows_core::Interface::as_raw(this), value).ok() }
}
pub fn Recognized(&self) -> ::windows_core::Result<bool> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).Recognized)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation_Collections\"`"]
#[cfg(feature = "Foundation_Collections")]
pub fn GetRenderingSegments(&self) -> ::windows_core::Result<super::super::super::Foundation::Collections::IVectorView<InkStrokeRenderingSegment>> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).GetRenderingSegments)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Clone(&self) -> ::windows_core::Result<InkStroke> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).Clone)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation_Numerics\"`"]
#[cfg(feature = "Foundation_Numerics")]
pub fn PointTransform(&self) -> ::windows_core::Result<super::super::super::Foundation::Numerics::Matrix3x2> {
let this = &::windows_core::ComInterface::cast::<IInkStroke2>(self)?;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).PointTransform)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation_Numerics\"`"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetPointTransform(&self, value: super::super::super::Foundation::Numerics::Matrix3x2) -> ::windows_core::Result<()> {
let this = &::windows_core::ComInterface::cast::<IInkStroke2>(self)?;
unsafe { (::windows_core::Interface::vtable(this).SetPointTransform)(::windows_core::Interface::as_raw(this), value).ok() }
}
#[doc = "Required features: `\"Foundation_Collections\"`"]
#[cfg(feature = "Foundation_Collections")]
pub fn GetInkPoints(&self) -> ::windows_core::Result<super::super::super::Foundation::Collections::IVectorView<InkPoint>> {
let this = &::windows_core::ComInterface::cast::<IInkStroke2>(self)?;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).GetInkPoints)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Id(&self) -> ::windows_core::Result<u32> {
let this = &::windows_core::ComInterface::cast::<IInkStroke3>(self)?;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation\"`"]
#[cfg(feature = "Foundation")]
pub fn StrokeStartedTime(&self) -> ::windows_core::Result<super::super::super::Foundation::IReference<super::super::super::Foundation::DateTime>> {
let this = &::windows_core::ComInterface::cast::<IInkStroke3>(self)?;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).StrokeStartedTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation\"`"]
#[cfg(feature = "Foundation")]
pub fn SetStrokeStartedTime<P0>(&self, value: P0) -> ::windows_core::Result<()>
where
P0: ::windows_core::TryIntoParam<super::super::super::Foundation::IReference<super::super::super::Foundation::DateTime>>,
{
let this = &::windows_core::ComInterface::cast::<IInkStroke3>(self)?;
unsafe { (::windows_core::Interface::vtable(this).SetStrokeStartedTime)(::windows_core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "Required features: `\"Foundation\"`"]
#[cfg(feature = "Foundation")]
pub fn StrokeDuration(&self) -> ::windows_core::Result<super::super::super::Foundation::IReference<super::super::super::Foundation::TimeSpan>> {
let this = &::windows_core::ComInterface::cast::<IInkStroke3>(self)?;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).StrokeDuration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation\"`"]
#[cfg(feature = "Foundation")]
pub fn SetStrokeDuration<P0>(&self, value: P0) -> ::windows_core::Result<()>
where
P0: ::windows_core::TryIntoParam<super::super::super::Foundation::IReference<super::super::super::Foundation::TimeSpan>>,
{
let this = &::windows_core::ComInterface::cast::<IInkStroke3>(self)?;
unsafe { (::windows_core::Interface::vtable(this).SetStrokeDuration)(::windows_core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn PointerId(&self) -> ::windows_core::Result<u32> {
let this = &::windows_core::ComInterface::cast::<IInkStroke4>(self)?;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).PointerId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
}
impl ::windows_core::RuntimeType for InkStroke {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Input.Inking.InkStroke;{15144d60-cce3-4fcf-9d52-11518ab6afd4})");
}
unsafe impl ::windows_core::Interface for InkStroke {
type Vtable = IInkStroke_Vtbl;
}
unsafe impl ::windows_core::ComInterface for InkStroke {
const IID: ::windows_core::GUID = <IInkStroke as ::windows_core::ComInterface>::IID;
}
impl ::windows_core::RuntimeName for InkStroke {
const NAME: &'static str = "Windows.UI.Input.Inking.InkStroke";
}
::windows_core::imp::interface_hierarchy!(InkStroke, ::windows_core::IUnknown, ::windows_core::IInspectable);
unsafe impl ::core::marker::Send for InkStroke {}
unsafe impl ::core::marker::Sync for InkStroke {}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct InkStrokeBuilder(::windows_core::IUnknown);
impl InkStrokeBuilder {
pub fn new() -> ::windows_core::Result<Self> {
Self::IActivationFactory(|f| f.ActivateInstance::<Self>())
}
fn IActivationFactory<R, F: FnOnce(&::windows_core::imp::IGenericFactory) -> ::windows_core::Result<R>>(callback: F) -> ::windows_core::Result<R> {
static SHARED: ::windows_core::imp::FactoryCache<InkStrokeBuilder, ::windows_core::imp::IGenericFactory> = ::windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
pub fn BeginStroke<P0>(&self, pointerpoint: P0) -> ::windows_core::Result<()>
where
P0: ::windows_core::IntoParam<super::PointerPoint>,
{
let this = self;
unsafe { (::windows_core::Interface::vtable(this).BeginStroke)(::windows_core::Interface::as_raw(this), pointerpoint.into_param().abi()).ok() }
}
pub fn AppendToStroke<P0>(&self, pointerpoint: P0) -> ::windows_core::Result<super::PointerPoint>
where
P0: ::windows_core::IntoParam<super::PointerPoint>,
{
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).AppendToStroke)(::windows_core::Interface::as_raw(this), pointerpoint.into_param().abi(), &mut result__).from_abi(result__)
}
}
pub fn EndStroke<P0>(&self, pointerpoint: P0) -> ::windows_core::Result<InkStroke>
where
P0: ::windows_core::IntoParam<super::PointerPoint>,
{
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).EndStroke)(::windows_core::Interface::as_raw(this), pointerpoint.into_param().abi(), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation_Collections\"`"]
#[cfg(feature = "Foundation_Collections")]
pub fn CreateStroke<P0>(&self, points: P0) -> ::windows_core::Result<InkStroke>
where
P0: ::windows_core::TryIntoParam<super::super::super::Foundation::Collections::IIterable<super::super::super::Foundation::Point>>,
{
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).CreateStroke)(::windows_core::Interface::as_raw(this), points.try_into_param()?.abi(), &mut result__).from_abi(result__)
}
}
pub fn SetDefaultDrawingAttributes<P0>(&self, drawingattributes: P0) -> ::windows_core::Result<()>
where
P0: ::windows_core::IntoParam<InkDrawingAttributes>,
{
let this = self;
unsafe { (::windows_core::Interface::vtable(this).SetDefaultDrawingAttributes)(::windows_core::Interface::as_raw(this), drawingattributes.into_param().abi()).ok() }
}
#[doc = "Required features: `\"Foundation_Collections\"`, `\"Foundation_Numerics\"`"]
#[cfg(all(feature = "Foundation_Collections", feature = "Foundation_Numerics"))]
pub fn CreateStrokeFromInkPoints<P0>(&self, inkpoints: P0, transform: super::super::super::Foundation::Numerics::Matrix3x2) -> ::windows_core::Result<InkStroke>
where
P0: ::windows_core::TryIntoParam<super::super::super::Foundation::Collections::IIterable<InkPoint>>,
{
let this = &::windows_core::ComInterface::cast::<IInkStrokeBuilder2>(self)?;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).CreateStrokeFromInkPoints)(::windows_core::Interface::as_raw(this), inkpoints.try_into_param()?.abi(), transform, &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation_Collections\"`, `\"Foundation_Numerics\"`"]
#[cfg(all(feature = "Foundation_Collections", feature = "Foundation_Numerics"))]
pub fn CreateStrokeFromInkPoints2<P0, P1, P2>(&self, inkpoints: P0, transform: super::super::super::Foundation::Numerics::Matrix3x2, strokestartedtime: P1, strokeduration: P2) -> ::windows_core::Result<InkStroke>
where
P0: ::windows_core::TryIntoParam<super::super::super::Foundation::Collections::IIterable<InkPoint>>,
P1: ::windows_core::TryIntoParam<super::super::super::Foundation::IReference<super::super::super::Foundation::DateTime>>,
P2: ::windows_core::TryIntoParam<super::super::super::Foundation::IReference<super::super::super::Foundation::TimeSpan>>,
{
let this = &::windows_core::ComInterface::cast::<IInkStrokeBuilder3>(self)?;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).CreateStrokeFromInkPoints)(::windows_core::Interface::as_raw(this), inkpoints.try_into_param()?.abi(), transform, strokestartedtime.try_into_param()?.abi(), strokeduration.try_into_param()?.abi(), &mut result__).from_abi(result__)
}
}
}
impl ::windows_core::RuntimeType for InkStrokeBuilder {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Input.Inking.InkStrokeBuilder;{82bbd1dc-1c63-41dc-9e07-4b4a70ced801})");
}
unsafe impl ::windows_core::Interface for InkStrokeBuilder {
type Vtable = IInkStrokeBuilder_Vtbl;
}
unsafe impl ::windows_core::ComInterface for InkStrokeBuilder {
const IID: ::windows_core::GUID = <IInkStrokeBuilder as ::windows_core::ComInterface>::IID;
}
impl ::windows_core::RuntimeName for InkStrokeBuilder {
const NAME: &'static str = "Windows.UI.Input.Inking.InkStrokeBuilder";
}
::windows_core::imp::interface_hierarchy!(InkStrokeBuilder, ::windows_core::IUnknown, ::windows_core::IInspectable);
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct InkStrokeContainer(::windows_core::IUnknown);
impl InkStrokeContainer {
pub fn new() -> ::windows_core::Result<Self> {
Self::IActivationFactory(|f| f.ActivateInstance::<Self>())
}
fn IActivationFactory<R, F: FnOnce(&::windows_core::imp::IGenericFactory) -> ::windows_core::Result<R>>(callback: F) -> ::windows_core::Result<R> {
static SHARED: ::windows_core::imp::FactoryCache<InkStrokeContainer, ::windows_core::imp::IGenericFactory> = ::windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
#[doc = "Required features: `\"Foundation\"`"]
#[cfg(feature = "Foundation")]
pub fn BoundingRect(&self) -> ::windows_core::Result<super::super::super::Foundation::Rect> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).BoundingRect)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn AddStroke<P0>(&self, stroke: P0) -> ::windows_core::Result<()>
where
P0: ::windows_core::IntoParam<InkStroke>,
{
let this = self;
unsafe { (::windows_core::Interface::vtable(this).AddStroke)(::windows_core::Interface::as_raw(this), stroke.into_param().abi()).ok() }
}
#[doc = "Required features: `\"Foundation\"`"]
#[cfg(feature = "Foundation")]
pub fn DeleteSelected(&self) -> ::windows_core::Result<super::super::super::Foundation::Rect> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).DeleteSelected)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation\"`"]
#[cfg(feature = "Foundation")]
pub fn MoveSelected(&self, translation: super::super::super::Foundation::Point) -> ::windows_core::Result<super::super::super::Foundation::Rect> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).MoveSelected)(::windows_core::Interface::as_raw(this), translation, &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation_Collections\"`"]
#[cfg(feature = "Foundation_Collections")]
pub fn SelectWithPolyLine<P0>(&self, polyline: P0) -> ::windows_core::Result<super::super::super::Foundation::Rect>
where
P0: ::windows_core::TryIntoParam<super::super::super::Foundation::Collections::IIterable<super::super::super::Foundation::Point>>,
{
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).SelectWithPolyLine)(::windows_core::Interface::as_raw(this), polyline.try_into_param()?.abi(), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation\"`"]
#[cfg(feature = "Foundation")]
pub fn SelectWithLine(&self, from: super::super::super::Foundation::Point, to: super::super::super::Foundation::Point) -> ::windows_core::Result<super::super::super::Foundation::Rect> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).SelectWithLine)(::windows_core::Interface::as_raw(this), from, to, &mut result__).from_abi(result__)
}
}
pub fn CopySelectedToClipboard(&self) -> ::windows_core::Result<()> {
let this = self;
unsafe { (::windows_core::Interface::vtable(this).CopySelectedToClipboard)(::windows_core::Interface::as_raw(this)).ok() }
}
#[doc = "Required features: `\"Foundation\"`"]
#[cfg(feature = "Foundation")]
pub fn PasteFromClipboard(&self, position: super::super::super::Foundation::Point) -> ::windows_core::Result<super::super::super::Foundation::Rect> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).PasteFromClipboard)(::windows_core::Interface::as_raw(this), position, &mut result__).from_abi(result__)
}
}
pub fn CanPasteFromClipboard(&self) -> ::windows_core::Result<bool> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).CanPasteFromClipboard)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation\"`, `\"Storage_Streams\"`"]
#[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
pub fn LoadAsync<P0>(&self, inputstream: P0) -> ::windows_core::Result<super::super::super::Foundation::IAsyncActionWithProgress<u64>>
where
P0: ::windows_core::TryIntoParam<super::super::super::Storage::Streams::IInputStream>,
{
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).LoadAsync)(::windows_core::Interface::as_raw(this), inputstream.try_into_param()?.abi(), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation\"`, `\"Storage_Streams\"`"]
#[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
pub fn SaveAsync<P0>(&self, outputstream: P0) -> ::windows_core::Result<super::super::super::Foundation::IAsyncOperationWithProgress<u32, u32>>
where
P0: ::windows_core::TryIntoParam<super::super::super::Storage::Streams::IOutputStream>,
{
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).SaveAsync)(::windows_core::Interface::as_raw(this), outputstream.try_into_param()?.abi(), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation_Collections\"`"]
#[cfg(feature = "Foundation_Collections")]
pub fn UpdateRecognitionResults<P0>(&self, recognitionresults: P0) -> ::windows_core::Result<()>
where
P0: ::windows_core::TryIntoParam<super::super::super::Foundation::Collections::IVectorView<InkRecognitionResult>>,
{
let this = self;
unsafe { (::windows_core::Interface::vtable(this).UpdateRecognitionResults)(::windows_core::Interface::as_raw(this), recognitionresults.try_into_param()?.abi()).ok() }
}
#[doc = "Required features: `\"Foundation_Collections\"`"]
#[cfg(feature = "Foundation_Collections")]
pub fn GetStrokes(&self) -> ::windows_core::Result<super::super::super::Foundation::Collections::IVectorView<InkStroke>> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).GetStrokes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation_Collections\"`"]
#[cfg(feature = "Foundation_Collections")]
pub fn GetRecognitionResults(&self) -> ::windows_core::Result<super::super::super::Foundation::Collections::IVectorView<InkRecognitionResult>> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).GetRecognitionResults)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation_Collections\"`"]
#[cfg(feature = "Foundation_Collections")]
pub fn AddStrokes<P0>(&self, strokes: P0) -> ::windows_core::Result<()>
where
P0: ::windows_core::TryIntoParam<super::super::super::Foundation::Collections::IIterable<InkStroke>>,
{
let this = &::windows_core::ComInterface::cast::<IInkStrokeContainer2>(self)?;
unsafe { (::windows_core::Interface::vtable(this).AddStrokes)(::windows_core::Interface::as_raw(this), strokes.try_into_param()?.abi()).ok() }
}
pub fn Clear(&self) -> ::windows_core::Result<()> {
let this = &::windows_core::ComInterface::cast::<IInkStrokeContainer2>(self)?;
unsafe { (::windows_core::Interface::vtable(this).Clear)(::windows_core::Interface::as_raw(this)).ok() }
}
#[doc = "Required features: `\"Foundation\"`, `\"Storage_Streams\"`"]
#[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
pub fn SaveWithFormatAsync<P0>(&self, outputstream: P0, inkpersistenceformat: InkPersistenceFormat) -> ::windows_core::Result<super::super::super::Foundation::IAsyncOperationWithProgress<u32, u32>>
where
P0: ::windows_core::TryIntoParam<super::super::super::Storage::Streams::IOutputStream>,
{
let this = &::windows_core::ComInterface::cast::<IInkStrokeContainer3>(self)?;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).SaveWithFormatAsync)(::windows_core::Interface::as_raw(this), outputstream.try_into_param()?.abi(), inkpersistenceformat, &mut result__).from_abi(result__)
}
}
pub fn GetStrokeById(&self, id: u32) -> ::windows_core::Result<InkStroke> {
let this = &::windows_core::ComInterface::cast::<IInkStrokeContainer3>(self)?;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).GetStrokeById)(::windows_core::Interface::as_raw(this), id, &mut result__).from_abi(result__)
}
}
}
impl ::windows_core::RuntimeType for InkStrokeContainer {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Input.Inking.InkStrokeContainer;{22accbc6-faa9-4f14-b68c-f6cee670ae16})");
}
unsafe impl ::windows_core::Interface for InkStrokeContainer {
type Vtable = IInkStrokeContainer_Vtbl;
}
unsafe impl ::windows_core::ComInterface for InkStrokeContainer {
const IID: ::windows_core::GUID = <IInkStrokeContainer as ::windows_core::ComInterface>::IID;
}
impl ::windows_core::RuntimeName for InkStrokeContainer {
const NAME: &'static str = "Windows.UI.Input.Inking.InkStrokeContainer";
}
::windows_core::imp::interface_hierarchy!(InkStrokeContainer, ::windows_core::IUnknown, ::windows_core::IInspectable);
impl ::windows_core::CanTryInto<IInkStrokeContainer> for InkStrokeContainer {}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct InkStrokeInput(::windows_core::IUnknown);
impl InkStrokeInput {
#[doc = "Required features: `\"Foundation\"`, `\"UI_Core\"`"]
#[cfg(all(feature = "Foundation", feature = "UI_Core"))]
pub fn StrokeStarted<P0>(&self, handler: P0) -> ::windows_core::Result<super::super::super::Foundation::EventRegistrationToken>
where
P0: ::windows_core::IntoParam<super::super::super::Foundation::TypedEventHandler<InkStrokeInput, super::super::Core::PointerEventArgs>>,
{
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).StrokeStarted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation\"`"]
#[cfg(feature = "Foundation")]
pub fn RemoveStrokeStarted(&self, cookie: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> {
let this = self;
unsafe { (::windows_core::Interface::vtable(this).RemoveStrokeStarted)(::windows_core::Interface::as_raw(this), cookie).ok() }
}
#[doc = "Required features: `\"Foundation\"`, `\"UI_Core\"`"]
#[cfg(all(feature = "Foundation", feature = "UI_Core"))]
pub fn StrokeContinued<P0>(&self, handler: P0) -> ::windows_core::Result<super::super::super::Foundation::EventRegistrationToken>
where
P0: ::windows_core::IntoParam<super::super::super::Foundation::TypedEventHandler<InkStrokeInput, super::super::Core::PointerEventArgs>>,
{
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).StrokeContinued)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation\"`"]
#[cfg(feature = "Foundation")]
pub fn RemoveStrokeContinued(&self, cookie: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> {
let this = self;
unsafe { (::windows_core::Interface::vtable(this).RemoveStrokeContinued)(::windows_core::Interface::as_raw(this), cookie).ok() }
}
#[doc = "Required features: `\"Foundation\"`, `\"UI_Core\"`"]
#[cfg(all(feature = "Foundation", feature = "UI_Core"))]
pub fn StrokeEnded<P0>(&self, handler: P0) -> ::windows_core::Result<super::super::super::Foundation::EventRegistrationToken>
where
P0: ::windows_core::IntoParam<super::super::super::Foundation::TypedEventHandler<InkStrokeInput, super::super::Core::PointerEventArgs>>,
{
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).StrokeEnded)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation\"`"]
#[cfg(feature = "Foundation")]
pub fn RemoveStrokeEnded(&self, cookie: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> {
let this = self;
unsafe { (::windows_core::Interface::vtable(this).RemoveStrokeEnded)(::windows_core::Interface::as_raw(this), cookie).ok() }
}
#[doc = "Required features: `\"Foundation\"`, `\"UI_Core\"`"]
#[cfg(all(feature = "Foundation", feature = "UI_Core"))]
pub fn StrokeCanceled<P0>(&self, handler: P0) -> ::windows_core::Result<super::super::super::Foundation::EventRegistrationToken>
where
P0: ::windows_core::IntoParam<super::super::super::Foundation::TypedEventHandler<InkStrokeInput, super::super::Core::PointerEventArgs>>,
{
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).StrokeCanceled)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation\"`"]
#[cfg(feature = "Foundation")]
pub fn RemoveStrokeCanceled(&self, cookie: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> {
let this = self;
unsafe { (::windows_core::Interface::vtable(this).RemoveStrokeCanceled)(::windows_core::Interface::as_raw(this), cookie).ok() }
}
pub fn InkPresenter(&self) -> ::windows_core::Result<InkPresenter> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).InkPresenter)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
}
impl ::windows_core::RuntimeType for InkStrokeInput {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Input.Inking.InkStrokeInput;{cf2ffe7b-5e10-43c6-a080-88f26e1dc67d})");
}
unsafe impl ::windows_core::Interface for InkStrokeInput {
type Vtable = IInkStrokeInput_Vtbl;
}
unsafe impl ::windows_core::ComInterface for InkStrokeInput {
const IID: ::windows_core::GUID = <IInkStrokeInput as ::windows_core::ComInterface>::IID;
}
impl ::windows_core::RuntimeName for InkStrokeInput {
const NAME: &'static str = "Windows.UI.Input.Inking.InkStrokeInput";
}
::windows_core::imp::interface_hierarchy!(InkStrokeInput, ::windows_core::IUnknown, ::windows_core::IInspectable);
unsafe impl ::core::marker::Send for InkStrokeInput {}
unsafe impl ::core::marker::Sync for InkStrokeInput {}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct InkStrokeRenderingSegment(::windows_core::IUnknown);
impl InkStrokeRenderingSegment {
#[doc = "Required features: `\"Foundation\"`"]
#[cfg(feature = "Foundation")]
pub fn Position(&self) -> ::windows_core::Result<super::super::super::Foundation::Point> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation\"`"]
#[cfg(feature = "Foundation")]
pub fn BezierControlPoint1(&self) -> ::windows_core::Result<super::super::super::Foundation::Point> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).BezierControlPoint1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation\"`"]
#[cfg(feature = "Foundation")]
pub fn BezierControlPoint2(&self) -> ::windows_core::Result<super::super::super::Foundation::Point> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).BezierControlPoint2)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Pressure(&self) -> ::windows_core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).Pressure)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TiltX(&self) -> ::windows_core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).TiltX)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TiltY(&self) -> ::windows_core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).TiltY)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Twist(&self) -> ::windows_core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).Twist)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
}
impl ::windows_core::RuntimeType for InkStrokeRenderingSegment {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Input.Inking.InkStrokeRenderingSegment;{68510f1f-88e3-477a-a2fa-569f5f1f9bd5})");
}
unsafe impl ::windows_core::Interface for InkStrokeRenderingSegment {
type Vtable = IInkStrokeRenderingSegment_Vtbl;
}
unsafe impl ::windows_core::ComInterface for InkStrokeRenderingSegment {
const IID: ::windows_core::GUID = <IInkStrokeRenderingSegment as ::windows_core::ComInterface>::IID;
}
impl ::windows_core::RuntimeName for InkStrokeRenderingSegment {
const NAME: &'static str = "Windows.UI.Input.Inking.InkStrokeRenderingSegment";
}
::windows_core::imp::interface_hierarchy!(InkStrokeRenderingSegment, ::windows_core::IUnknown, ::windows_core::IInspectable);
unsafe impl ::core::marker::Send for InkStrokeRenderingSegment {}
unsafe impl ::core::marker::Sync for InkStrokeRenderingSegment {}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct InkStrokesCollectedEventArgs(::windows_core::IUnknown);
impl InkStrokesCollectedEventArgs {
#[doc = "Required features: `\"Foundation_Collections\"`"]
#[cfg(feature = "Foundation_Collections")]
pub fn Strokes(&self) -> ::windows_core::Result<super::super::super::Foundation::Collections::IVectorView<InkStroke>> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).Strokes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
}
impl ::windows_core::RuntimeType for InkStrokesCollectedEventArgs {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Input.Inking.InkStrokesCollectedEventArgs;{c4f3f229-1938-495c-b4d9-6de4b08d4811})");
}
unsafe impl ::windows_core::Interface for InkStrokesCollectedEventArgs {
type Vtable = IInkStrokesCollectedEventArgs_Vtbl;
}
unsafe impl ::windows_core::ComInterface for InkStrokesCollectedEventArgs {
const IID: ::windows_core::GUID = <IInkStrokesCollectedEventArgs as ::windows_core::ComInterface>::IID;
}
impl ::windows_core::RuntimeName for InkStrokesCollectedEventArgs {
const NAME: &'static str = "Windows.UI.Input.Inking.InkStrokesCollectedEventArgs";
}
::windows_core::imp::interface_hierarchy!(InkStrokesCollectedEventArgs, ::windows_core::IUnknown, ::windows_core::IInspectable);
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct InkStrokesErasedEventArgs(::windows_core::IUnknown);
impl InkStrokesErasedEventArgs {
#[doc = "Required features: `\"Foundation_Collections\"`"]
#[cfg(feature = "Foundation_Collections")]
pub fn Strokes(&self) -> ::windows_core::Result<super::super::super::Foundation::Collections::IVectorView<InkStroke>> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).Strokes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
}
impl ::windows_core::RuntimeType for InkStrokesErasedEventArgs {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Input.Inking.InkStrokesErasedEventArgs;{a4216a22-1503-4ebf-8ff5-2de84584a8aa})");
}
unsafe impl ::windows_core::Interface for InkStrokesErasedEventArgs {
type Vtable = IInkStrokesErasedEventArgs_Vtbl;
}
unsafe impl ::windows_core::ComInterface for InkStrokesErasedEventArgs {
const IID: ::windows_core::GUID = <IInkStrokesErasedEventArgs as ::windows_core::ComInterface>::IID;
}
impl ::windows_core::RuntimeName for InkStrokesErasedEventArgs {
const NAME: &'static str = "Windows.UI.Input.Inking.InkStrokesErasedEventArgs";
}
::windows_core::imp::interface_hierarchy!(InkStrokesErasedEventArgs, ::windows_core::IUnknown, ::windows_core::IInspectable);
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct InkSynchronizer(::windows_core::IUnknown);
impl InkSynchronizer {
#[doc = "Required features: `\"Foundation_Collections\"`"]
#[cfg(feature = "Foundation_Collections")]
pub fn BeginDry(&self) -> ::windows_core::Result<super::super::super::Foundation::Collections::IVectorView<InkStroke>> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).BeginDry)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn EndDry(&self) -> ::windows_core::Result<()> {
let this = self;
unsafe { (::windows_core::Interface::vtable(this).EndDry)(::windows_core::Interface::as_raw(this)).ok() }
}
}
impl ::windows_core::RuntimeType for InkSynchronizer {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Input.Inking.InkSynchronizer;{9b9ea160-ae9b-45f9-8407-4b493b163661})");
}
unsafe impl ::windows_core::Interface for InkSynchronizer {
type Vtable = IInkSynchronizer_Vtbl;
}
unsafe impl ::windows_core::ComInterface for InkSynchronizer {
const IID: ::windows_core::GUID = <IInkSynchronizer as ::windows_core::ComInterface>::IID;
}
impl ::windows_core::RuntimeName for InkSynchronizer {
const NAME: &'static str = "Windows.UI.Input.Inking.InkSynchronizer";
}
::windows_core::imp::interface_hierarchy!(InkSynchronizer, ::windows_core::IUnknown, ::windows_core::IInspectable);
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct InkUnprocessedInput(::windows_core::IUnknown);
impl InkUnprocessedInput {
#[doc = "Required features: `\"Foundation\"`, `\"UI_Core\"`"]
#[cfg(all(feature = "Foundation", feature = "UI_Core"))]
pub fn PointerEntered<P0>(&self, handler: P0) -> ::windows_core::Result<super::super::super::Foundation::EventRegistrationToken>
where
P0: ::windows_core::IntoParam<super::super::super::Foundation::TypedEventHandler<InkUnprocessedInput, super::super::Core::PointerEventArgs>>,
{
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).PointerEntered)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation\"`"]
#[cfg(feature = "Foundation")]
pub fn RemovePointerEntered(&self, cookie: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> {
let this = self;
unsafe { (::windows_core::Interface::vtable(this).RemovePointerEntered)(::windows_core::Interface::as_raw(this), cookie).ok() }
}
#[doc = "Required features: `\"Foundation\"`, `\"UI_Core\"`"]
#[cfg(all(feature = "Foundation", feature = "UI_Core"))]
pub fn PointerHovered<P0>(&self, handler: P0) -> ::windows_core::Result<super::super::super::Foundation::EventRegistrationToken>
where
P0: ::windows_core::IntoParam<super::super::super::Foundation::TypedEventHandler<InkUnprocessedInput, super::super::Core::PointerEventArgs>>,
{
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).PointerHovered)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation\"`"]
#[cfg(feature = "Foundation")]
pub fn RemovePointerHovered(&self, cookie: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> {
let this = self;
unsafe { (::windows_core::Interface::vtable(this).RemovePointerHovered)(::windows_core::Interface::as_raw(this), cookie).ok() }
}
#[doc = "Required features: `\"Foundation\"`, `\"UI_Core\"`"]
#[cfg(all(feature = "Foundation", feature = "UI_Core"))]
pub fn PointerExited<P0>(&self, handler: P0) -> ::windows_core::Result<super::super::super::Foundation::EventRegistrationToken>
where
P0: ::windows_core::IntoParam<super::super::super::Foundation::TypedEventHandler<InkUnprocessedInput, super::super::Core::PointerEventArgs>>,
{
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).PointerExited)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation\"`"]
#[cfg(feature = "Foundation")]
pub fn RemovePointerExited(&self, cookie: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> {
let this = self;
unsafe { (::windows_core::Interface::vtable(this).RemovePointerExited)(::windows_core::Interface::as_raw(this), cookie).ok() }
}
#[doc = "Required features: `\"Foundation\"`, `\"UI_Core\"`"]
#[cfg(all(feature = "Foundation", feature = "UI_Core"))]
pub fn PointerPressed<P0>(&self, handler: P0) -> ::windows_core::Result<super::super::super::Foundation::EventRegistrationToken>
where
P0: ::windows_core::IntoParam<super::super::super::Foundation::TypedEventHandler<InkUnprocessedInput, super::super::Core::PointerEventArgs>>,
{
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).PointerPressed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation\"`"]
#[cfg(feature = "Foundation")]
pub fn RemovePointerPressed(&self, cookie: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> {
let this = self;
unsafe { (::windows_core::Interface::vtable(this).RemovePointerPressed)(::windows_core::Interface::as_raw(this), cookie).ok() }
}
#[doc = "Required features: `\"Foundation\"`, `\"UI_Core\"`"]
#[cfg(all(feature = "Foundation", feature = "UI_Core"))]
pub fn PointerMoved<P0>(&self, handler: P0) -> ::windows_core::Result<super::super::super::Foundation::EventRegistrationToken>
where
P0: ::windows_core::IntoParam<super::super::super::Foundation::TypedEventHandler<InkUnprocessedInput, super::super::Core::PointerEventArgs>>,
{
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).PointerMoved)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation\"`"]
#[cfg(feature = "Foundation")]
pub fn RemovePointerMoved(&self, cookie: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> {
let this = self;
unsafe { (::windows_core::Interface::vtable(this).RemovePointerMoved)(::windows_core::Interface::as_raw(this), cookie).ok() }
}
#[doc = "Required features: `\"Foundation\"`, `\"UI_Core\"`"]
#[cfg(all(feature = "Foundation", feature = "UI_Core"))]
pub fn PointerReleased<P0>(&self, handler: P0) -> ::windows_core::Result<super::super::super::Foundation::EventRegistrationToken>
where
P0: ::windows_core::IntoParam<super::super::super::Foundation::TypedEventHandler<InkUnprocessedInput, super::super::Core::PointerEventArgs>>,
{
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).PointerReleased)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation\"`"]
#[cfg(feature = "Foundation")]
pub fn RemovePointerReleased(&self, cookie: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> {
let this = self;
unsafe { (::windows_core::Interface::vtable(this).RemovePointerReleased)(::windows_core::Interface::as_raw(this), cookie).ok() }
}
#[doc = "Required features: `\"Foundation\"`, `\"UI_Core\"`"]
#[cfg(all(feature = "Foundation", feature = "UI_Core"))]
pub fn PointerLost<P0>(&self, handler: P0) -> ::windows_core::Result<super::super::super::Foundation::EventRegistrationToken>
where
P0: ::windows_core::IntoParam<super::super::super::Foundation::TypedEventHandler<InkUnprocessedInput, super::super::Core::PointerEventArgs>>,
{
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).PointerLost)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation\"`"]
#[cfg(feature = "Foundation")]
pub fn RemovePointerLost(&self, cookie: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> {
let this = self;
unsafe { (::windows_core::Interface::vtable(this).RemovePointerLost)(::windows_core::Interface::as_raw(this), cookie).ok() }
}
pub fn InkPresenter(&self) -> ::windows_core::Result<InkPresenter> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).InkPresenter)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
}
impl ::windows_core::RuntimeType for InkUnprocessedInput {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Input.Inking.InkUnprocessedInput;{db4445e0-8398-4921-ac3b-ab978c5ba256})");
}
unsafe impl ::windows_core::Interface for InkUnprocessedInput {
type Vtable = IInkUnprocessedInput_Vtbl;
}
unsafe impl ::windows_core::ComInterface for InkUnprocessedInput {
const IID: ::windows_core::GUID = <IInkUnprocessedInput as ::windows_core::ComInterface>::IID;
}
impl ::windows_core::RuntimeName for InkUnprocessedInput {
const NAME: &'static str = "Windows.UI.Input.Inking.InkUnprocessedInput";
}
::windows_core::imp::interface_hierarchy!(InkUnprocessedInput, ::windows_core::IUnknown, ::windows_core::IInspectable);
unsafe impl ::core::marker::Send for InkUnprocessedInput {}
unsafe impl ::core::marker::Sync for InkUnprocessedInput {}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct PenAndInkSettings(::windows_core::IUnknown);
impl PenAndInkSettings {
pub fn IsHandwritingDirectlyIntoTextFieldEnabled(&self) -> ::windows_core::Result<bool> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).IsHandwritingDirectlyIntoTextFieldEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn PenHandedness(&self) -> ::windows_core::Result<PenHandedness> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).PenHandedness)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn HandwritingLineHeight(&self) -> ::windows_core::Result<HandwritingLineHeight> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).HandwritingLineHeight)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn FontFamilyName(&self) -> ::windows_core::Result<::windows_core::HSTRING> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).FontFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn UserConsentsToHandwritingTelemetryCollection(&self) -> ::windows_core::Result<bool> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).UserConsentsToHandwritingTelemetryCollection)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn IsTouchHandwritingEnabled(&self) -> ::windows_core::Result<bool> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).IsTouchHandwritingEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetPenHandedness(&self, value: PenHandedness) -> ::windows_core::Result<()> {
let this = &::windows_core::ComInterface::cast::<IPenAndInkSettings2>(self)?;
unsafe { (::windows_core::Interface::vtable(this).SetPenHandedness)(::windows_core::Interface::as_raw(this), value).ok() }
}
pub fn GetDefault() -> ::windows_core::Result<PenAndInkSettings> {
Self::IPenAndInkSettingsStatics(|this| unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
})
}
#[doc(hidden)]
pub fn IPenAndInkSettingsStatics<R, F: FnOnce(&IPenAndInkSettingsStatics) -> ::windows_core::Result<R>>(callback: F) -> ::windows_core::Result<R> {
static SHARED: ::windows_core::imp::FactoryCache<PenAndInkSettings, IPenAndInkSettingsStatics> = ::windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl ::windows_core::RuntimeType for PenAndInkSettings {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Input.Inking.PenAndInkSettings;{bc2ceb8f-0066-44a8-bb7a-b839b3deb8f5})");
}
unsafe impl ::windows_core::Interface for PenAndInkSettings {
type Vtable = IPenAndInkSettings_Vtbl;
}
unsafe impl ::windows_core::ComInterface for PenAndInkSettings {
const IID: ::windows_core::GUID = <IPenAndInkSettings as ::windows_core::ComInterface>::IID;
}
impl ::windows_core::RuntimeName for PenAndInkSettings {
const NAME: &'static str = "Windows.UI.Input.Inking.PenAndInkSettings";
}
::windows_core::imp::interface_hierarchy!(PenAndInkSettings, ::windows_core::IUnknown, ::windows_core::IInspectable);
unsafe impl ::core::marker::Send for PenAndInkSettings {}
unsafe impl ::core::marker::Sync for PenAndInkSettings {}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct HandwritingLineHeight(pub i32);
impl HandwritingLineHeight {
pub const Small: Self = Self(0i32);
pub const Medium: Self = Self(1i32);
pub const Large: Self = Self(2i32);
}
impl ::core::marker::Copy for HandwritingLineHeight {}
impl ::core::clone::Clone for HandwritingLineHeight {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for HandwritingLineHeight {
fn default() -> Self {
Self(0)
}
}
impl ::windows_core::TypeKind for HandwritingLineHeight {
type TypeKind = ::windows_core::CopyType;
}
impl ::core::fmt::Debug for HandwritingLineHeight {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("HandwritingLineHeight").field(&self.0).finish()
}
}
impl ::windows_core::RuntimeType for HandwritingLineHeight {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"enum(Windows.UI.Input.Inking.HandwritingLineHeight;i4)");
}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct InkDrawingAttributesKind(pub i32);
impl InkDrawingAttributesKind {
pub const Default: Self = Self(0i32);
pub const Pencil: Self = Self(1i32);
}
impl ::core::marker::Copy for InkDrawingAttributesKind {}
impl ::core::clone::Clone for InkDrawingAttributesKind {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for InkDrawingAttributesKind {
fn default() -> Self {
Self(0)
}
}
impl ::windows_core::TypeKind for InkDrawingAttributesKind {
type TypeKind = ::windows_core::CopyType;
}
impl ::core::fmt::Debug for InkDrawingAttributesKind {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("InkDrawingAttributesKind").field(&self.0).finish()
}
}
impl ::windows_core::RuntimeType for InkDrawingAttributesKind {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"enum(Windows.UI.Input.Inking.InkDrawingAttributesKind;i4)");
}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct InkHighContrastAdjustment(pub i32);
impl InkHighContrastAdjustment {
pub const UseSystemColorsWhenNecessary: Self = Self(0i32);
pub const UseSystemColors: Self = Self(1i32);
pub const UseOriginalColors: Self = Self(2i32);
}
impl ::core::marker::Copy for InkHighContrastAdjustment {}
impl ::core::clone::Clone for InkHighContrastAdjustment {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for InkHighContrastAdjustment {
fn default() -> Self {
Self(0)
}
}
impl ::windows_core::TypeKind for InkHighContrastAdjustment {
type TypeKind = ::windows_core::CopyType;
}
impl ::core::fmt::Debug for InkHighContrastAdjustment {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("InkHighContrastAdjustment").field(&self.0).finish()
}
}
impl ::windows_core::RuntimeType for InkHighContrastAdjustment {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"enum(Windows.UI.Input.Inking.InkHighContrastAdjustment;i4)");
}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct InkInputProcessingMode(pub i32);
impl InkInputProcessingMode {
pub const None: Self = Self(0i32);
pub const Inking: Self = Self(1i32);
pub const Erasing: Self = Self(2i32);
}
impl ::core::marker::Copy for InkInputProcessingMode {}
impl ::core::clone::Clone for InkInputProcessingMode {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for InkInputProcessingMode {
fn default() -> Self {
Self(0)
}
}
impl ::windows_core::TypeKind for InkInputProcessingMode {
type TypeKind = ::windows_core::CopyType;
}
impl ::core::fmt::Debug for InkInputProcessingMode {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("InkInputProcessingMode").field(&self.0).finish()
}
}
impl ::windows_core::RuntimeType for InkInputProcessingMode {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"enum(Windows.UI.Input.Inking.InkInputProcessingMode;i4)");
}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct InkInputRightDragAction(pub i32);
impl InkInputRightDragAction {
pub const LeaveUnprocessed: Self = Self(0i32);
pub const AllowProcessing: Self = Self(1i32);
}
impl ::core::marker::Copy for InkInputRightDragAction {}
impl ::core::clone::Clone for InkInputRightDragAction {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for InkInputRightDragAction {
fn default() -> Self {
Self(0)
}
}
impl ::windows_core::TypeKind for InkInputRightDragAction {
type TypeKind = ::windows_core::CopyType;
}
impl ::core::fmt::Debug for InkInputRightDragAction {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("InkInputRightDragAction").field(&self.0).finish()
}
}
impl ::windows_core::RuntimeType for InkInputRightDragAction {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"enum(Windows.UI.Input.Inking.InkInputRightDragAction;i4)");
}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct InkManipulationMode(pub i32);
impl InkManipulationMode {
pub const Inking: Self = Self(0i32);
pub const Erasing: Self = Self(1i32);
pub const Selecting: Self = Self(2i32);
}
impl ::core::marker::Copy for InkManipulationMode {}
impl ::core::clone::Clone for InkManipulationMode {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for InkManipulationMode {
fn default() -> Self {
Self(0)
}
}
impl ::windows_core::TypeKind for InkManipulationMode {
type TypeKind = ::windows_core::CopyType;
}
impl ::core::fmt::Debug for InkManipulationMode {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("InkManipulationMode").field(&self.0).finish()
}
}
impl ::windows_core::RuntimeType for InkManipulationMode {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"enum(Windows.UI.Input.Inking.InkManipulationMode;i4)");
}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct InkPersistenceFormat(pub i32);
impl InkPersistenceFormat {
pub const GifWithEmbeddedIsf: Self = Self(0i32);
pub const Isf: Self = Self(1i32);
}
impl ::core::marker::Copy for InkPersistenceFormat {}
impl ::core::clone::Clone for InkPersistenceFormat {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for InkPersistenceFormat {
fn default() -> Self {
Self(0)
}
}
impl ::windows_core::TypeKind for InkPersistenceFormat {
type TypeKind = ::windows_core::CopyType;
}
impl ::core::fmt::Debug for InkPersistenceFormat {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("InkPersistenceFormat").field(&self.0).finish()
}
}
impl ::windows_core::RuntimeType for InkPersistenceFormat {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"enum(Windows.UI.Input.Inking.InkPersistenceFormat;i4)");
}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct InkPresenterPredefinedConfiguration(pub i32);
impl InkPresenterPredefinedConfiguration {
pub const SimpleSinglePointer: Self = Self(0i32);
pub const SimpleMultiplePointer: Self = Self(1i32);
}
impl ::core::marker::Copy for InkPresenterPredefinedConfiguration {}
impl ::core::clone::Clone for InkPresenterPredefinedConfiguration {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for InkPresenterPredefinedConfiguration {
fn default() -> Self {
Self(0)
}
}
impl ::windows_core::TypeKind for InkPresenterPredefinedConfiguration {
type TypeKind = ::windows_core::CopyType;
}
impl ::core::fmt::Debug for InkPresenterPredefinedConfiguration {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("InkPresenterPredefinedConfiguration").field(&self.0).finish()
}
}
impl ::windows_core::RuntimeType for InkPresenterPredefinedConfiguration {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"enum(Windows.UI.Input.Inking.InkPresenterPredefinedConfiguration;i4)");
}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct InkPresenterStencilKind(pub i32);
impl InkPresenterStencilKind {
pub const Other: Self = Self(0i32);
pub const Ruler: Self = Self(1i32);
pub const Protractor: Self = Self(2i32);
}
impl ::core::marker::Copy for InkPresenterStencilKind {}
impl ::core::clone::Clone for InkPresenterStencilKind {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for InkPresenterStencilKind {
fn default() -> Self {
Self(0)
}
}
impl ::windows_core::TypeKind for InkPresenterStencilKind {
type TypeKind = ::windows_core::CopyType;
}
impl ::core::fmt::Debug for InkPresenterStencilKind {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("InkPresenterStencilKind").field(&self.0).finish()
}
}
impl ::windows_core::RuntimeType for InkPresenterStencilKind {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"enum(Windows.UI.Input.Inking.InkPresenterStencilKind;i4)");
}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct InkRecognitionTarget(pub i32);
impl InkRecognitionTarget {
pub const All: Self = Self(0i32);
pub const Selected: Self = Self(1i32);
pub const Recent: Self = Self(2i32);
}
impl ::core::marker::Copy for InkRecognitionTarget {}
impl ::core::clone::Clone for InkRecognitionTarget {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for InkRecognitionTarget {
fn default() -> Self {
Self(0)
}
}
impl ::windows_core::TypeKind for InkRecognitionTarget {
type TypeKind = ::windows_core::CopyType;
}
impl ::core::fmt::Debug for InkRecognitionTarget {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("InkRecognitionTarget").field(&self.0).finish()
}
}
impl ::windows_core::RuntimeType for InkRecognitionTarget {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"enum(Windows.UI.Input.Inking.InkRecognitionTarget;i4)");
}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct PenHandedness(pub i32);
impl PenHandedness {
pub const Right: Self = Self(0i32);
pub const Left: Self = Self(1i32);
}
impl ::core::marker::Copy for PenHandedness {}
impl ::core::clone::Clone for PenHandedness {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for PenHandedness {
fn default() -> Self {
Self(0)
}
}
impl ::windows_core::TypeKind for PenHandedness {
type TypeKind = ::windows_core::CopyType;
}
impl ::core::fmt::Debug for PenHandedness {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("PenHandedness").field(&self.0).finish()
}
}
impl ::windows_core::RuntimeType for PenHandedness {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"enum(Windows.UI.Input.Inking.PenHandedness;i4)");
}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct PenTipShape(pub i32);
impl PenTipShape {
pub const Circle: Self = Self(0i32);
pub const Rectangle: Self = Self(1i32);
}
impl ::core::marker::Copy for PenTipShape {}
impl ::core::clone::Clone for PenTipShape {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for PenTipShape {
fn default() -> Self {
Self(0)
}
}
impl ::windows_core::TypeKind for PenTipShape {
type TypeKind = ::windows_core::CopyType;
}
impl ::core::fmt::Debug for PenTipShape {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("PenTipShape").field(&self.0).finish()
}
}
impl ::windows_core::RuntimeType for PenTipShape {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"enum(Windows.UI.Input.Inking.PenTipShape;i4)");
}
#[cfg(feature = "implement")]
::core::include!("impl.rs");