]> git.proxmox.com Git - rustc.git/blame - vendor/windows/src/Windows/Win32/Graphics/Direct2D/Common/mod.rs
New upstream version 1.70.0+dfsg1
[rustc.git] / vendor / windows / src / Windows / Win32 / Graphics / Direct2D / Common / mod.rs
CommitLineData
353b0b11
FG
1#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
2#[repr(transparent)]
3pub struct ID2D1SimplifiedGeometrySink(::windows::core::IUnknown);
4impl ID2D1SimplifiedGeometrySink {
5 pub unsafe fn SetFillMode(&self, fillmode: D2D1_FILL_MODE) {
6 (::windows::core::Interface::vtable(self).SetFillMode)(::windows::core::Interface::as_raw(self), fillmode)
7 }
8 pub unsafe fn SetSegmentFlags(&self, vertexflags: D2D1_PATH_SEGMENT) {
9 (::windows::core::Interface::vtable(self).SetSegmentFlags)(::windows::core::Interface::as_raw(self), vertexflags)
10 }
11 pub unsafe fn BeginFigure(&self, startpoint: D2D_POINT_2F, figurebegin: D2D1_FIGURE_BEGIN) {
12 (::windows::core::Interface::vtable(self).BeginFigure)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(startpoint), figurebegin)
13 }
14 pub unsafe fn AddLines(&self, points: &[D2D_POINT_2F]) {
15 (::windows::core::Interface::vtable(self).AddLines)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(points.as_ptr()), points.len() as _)
16 }
17 pub unsafe fn AddBeziers(&self, beziers: &[D2D1_BEZIER_SEGMENT]) {
18 (::windows::core::Interface::vtable(self).AddBeziers)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(beziers.as_ptr()), beziers.len() as _)
19 }
20 pub unsafe fn EndFigure(&self, figureend: D2D1_FIGURE_END) {
21 (::windows::core::Interface::vtable(self).EndFigure)(::windows::core::Interface::as_raw(self), figureend)
22 }
23 pub unsafe fn Close(&self) -> ::windows::core::Result<()> {
24 (::windows::core::Interface::vtable(self).Close)(::windows::core::Interface::as_raw(self)).ok()
25 }
26}
27::windows::imp::interface_hierarchy!(ID2D1SimplifiedGeometrySink, ::windows::core::IUnknown);
28impl ::core::cmp::PartialEq for ID2D1SimplifiedGeometrySink {
29 fn eq(&self, other: &Self) -> bool {
30 self.0 == other.0
31 }
32}
33impl ::core::cmp::Eq for ID2D1SimplifiedGeometrySink {}
34impl ::core::fmt::Debug for ID2D1SimplifiedGeometrySink {
35 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
36 f.debug_tuple("ID2D1SimplifiedGeometrySink").field(&self.0).finish()
37 }
38}
39unsafe impl ::core::marker::Send for ID2D1SimplifiedGeometrySink {}
40unsafe impl ::core::marker::Sync for ID2D1SimplifiedGeometrySink {}
41unsafe impl ::windows::core::Interface for ID2D1SimplifiedGeometrySink {
42 type Vtable = ID2D1SimplifiedGeometrySink_Vtbl;
43}
44impl ::core::clone::Clone for ID2D1SimplifiedGeometrySink {
45 fn clone(&self) -> Self {
46 Self(self.0.clone())
47 }
48}
49unsafe impl ::windows::core::ComInterface for ID2D1SimplifiedGeometrySink {
50 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x2cd9069e_12e2_11dc_9fed_001143a055f9);
51}
52#[repr(C)]
53#[doc(hidden)]
54pub struct ID2D1SimplifiedGeometrySink_Vtbl {
55 pub base__: ::windows::core::IUnknown_Vtbl,
56 pub SetFillMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, fillmode: D2D1_FILL_MODE),
57 pub SetSegmentFlags: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, vertexflags: D2D1_PATH_SEGMENT),
58 pub BeginFigure: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, startpoint: D2D_POINT_2F, figurebegin: D2D1_FIGURE_BEGIN),
59 pub AddLines: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, points: *const D2D_POINT_2F, pointscount: u32),
60 pub AddBeziers: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, beziers: *const D2D1_BEZIER_SEGMENT, bezierscount: u32),
61 pub EndFigure: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, figureend: D2D1_FIGURE_END),
62 pub Close: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
63}
64#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
65#[repr(transparent)]
66#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
67pub struct D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE(pub u32);
68#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
69pub const D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_NEAREST_NEIGHBOR: D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE = D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE(0u32);
70#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
71pub const D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_LINEAR: D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE = D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE(1u32);
72#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
73pub const D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_CUBIC: D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE = D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE(2u32);
74#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
75pub const D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR: D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE = D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE(3u32);
76#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
77pub const D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_ANISOTROPIC: D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE = D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE(4u32);
78#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
79pub const D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_HIGH_QUALITY_CUBIC: D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE = D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE(5u32);
80#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
81pub const D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_FORCE_DWORD: D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE = D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE(4294967295u32);
82impl ::core::marker::Copy for D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE {}
83impl ::core::clone::Clone for D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE {
84 fn clone(&self) -> Self {
85 *self
86 }
87}
88impl ::core::default::Default for D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE {
89 fn default() -> Self {
90 Self(0)
91 }
92}
93impl ::windows::core::TypeKind for D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE {
94 type TypeKind = ::windows::core::CopyType;
95}
96impl ::core::fmt::Debug for D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE {
97 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
98 f.debug_tuple("D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE").field(&self.0).finish()
99 }
100}
101#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
102#[repr(transparent)]
103#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
104pub struct D2D1_ALPHA_MODE(pub u32);
105#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
106pub const D2D1_ALPHA_MODE_UNKNOWN: D2D1_ALPHA_MODE = D2D1_ALPHA_MODE(0u32);
107#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
108pub const D2D1_ALPHA_MODE_PREMULTIPLIED: D2D1_ALPHA_MODE = D2D1_ALPHA_MODE(1u32);
109#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
110pub const D2D1_ALPHA_MODE_STRAIGHT: D2D1_ALPHA_MODE = D2D1_ALPHA_MODE(2u32);
111#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
112pub const D2D1_ALPHA_MODE_IGNORE: D2D1_ALPHA_MODE = D2D1_ALPHA_MODE(3u32);
113#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
114pub const D2D1_ALPHA_MODE_FORCE_DWORD: D2D1_ALPHA_MODE = D2D1_ALPHA_MODE(4294967295u32);
115impl ::core::marker::Copy for D2D1_ALPHA_MODE {}
116impl ::core::clone::Clone for D2D1_ALPHA_MODE {
117 fn clone(&self) -> Self {
118 *self
119 }
120}
121impl ::core::default::Default for D2D1_ALPHA_MODE {
122 fn default() -> Self {
123 Self(0)
124 }
125}
126impl ::windows::core::TypeKind for D2D1_ALPHA_MODE {
127 type TypeKind = ::windows::core::CopyType;
128}
129impl ::core::fmt::Debug for D2D1_ALPHA_MODE {
130 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
131 f.debug_tuple("D2D1_ALPHA_MODE").field(&self.0).finish()
132 }
133}
134#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
135#[repr(transparent)]
136#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
137pub struct D2D1_BLEND_MODE(pub u32);
138#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
139pub const D2D1_BLEND_MODE_MULTIPLY: D2D1_BLEND_MODE = D2D1_BLEND_MODE(0u32);
140#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
141pub const D2D1_BLEND_MODE_SCREEN: D2D1_BLEND_MODE = D2D1_BLEND_MODE(1u32);
142#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
143pub const D2D1_BLEND_MODE_DARKEN: D2D1_BLEND_MODE = D2D1_BLEND_MODE(2u32);
144#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
145pub const D2D1_BLEND_MODE_LIGHTEN: D2D1_BLEND_MODE = D2D1_BLEND_MODE(3u32);
146#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
147pub const D2D1_BLEND_MODE_DISSOLVE: D2D1_BLEND_MODE = D2D1_BLEND_MODE(4u32);
148#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
149pub const D2D1_BLEND_MODE_COLOR_BURN: D2D1_BLEND_MODE = D2D1_BLEND_MODE(5u32);
150#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
151pub const D2D1_BLEND_MODE_LINEAR_BURN: D2D1_BLEND_MODE = D2D1_BLEND_MODE(6u32);
152#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
153pub const D2D1_BLEND_MODE_DARKER_COLOR: D2D1_BLEND_MODE = D2D1_BLEND_MODE(7u32);
154#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
155pub const D2D1_BLEND_MODE_LIGHTER_COLOR: D2D1_BLEND_MODE = D2D1_BLEND_MODE(8u32);
156#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
157pub const D2D1_BLEND_MODE_COLOR_DODGE: D2D1_BLEND_MODE = D2D1_BLEND_MODE(9u32);
158#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
159pub const D2D1_BLEND_MODE_LINEAR_DODGE: D2D1_BLEND_MODE = D2D1_BLEND_MODE(10u32);
160#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
161pub const D2D1_BLEND_MODE_OVERLAY: D2D1_BLEND_MODE = D2D1_BLEND_MODE(11u32);
162#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
163pub const D2D1_BLEND_MODE_SOFT_LIGHT: D2D1_BLEND_MODE = D2D1_BLEND_MODE(12u32);
164#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
165pub const D2D1_BLEND_MODE_HARD_LIGHT: D2D1_BLEND_MODE = D2D1_BLEND_MODE(13u32);
166#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
167pub const D2D1_BLEND_MODE_VIVID_LIGHT: D2D1_BLEND_MODE = D2D1_BLEND_MODE(14u32);
168#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
169pub const D2D1_BLEND_MODE_LINEAR_LIGHT: D2D1_BLEND_MODE = D2D1_BLEND_MODE(15u32);
170#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
171pub const D2D1_BLEND_MODE_PIN_LIGHT: D2D1_BLEND_MODE = D2D1_BLEND_MODE(16u32);
172#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
173pub const D2D1_BLEND_MODE_HARD_MIX: D2D1_BLEND_MODE = D2D1_BLEND_MODE(17u32);
174#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
175pub const D2D1_BLEND_MODE_DIFFERENCE: D2D1_BLEND_MODE = D2D1_BLEND_MODE(18u32);
176#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
177pub const D2D1_BLEND_MODE_EXCLUSION: D2D1_BLEND_MODE = D2D1_BLEND_MODE(19u32);
178#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
179pub const D2D1_BLEND_MODE_HUE: D2D1_BLEND_MODE = D2D1_BLEND_MODE(20u32);
180#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
181pub const D2D1_BLEND_MODE_SATURATION: D2D1_BLEND_MODE = D2D1_BLEND_MODE(21u32);
182#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
183pub const D2D1_BLEND_MODE_COLOR: D2D1_BLEND_MODE = D2D1_BLEND_MODE(22u32);
184#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
185pub const D2D1_BLEND_MODE_LUMINOSITY: D2D1_BLEND_MODE = D2D1_BLEND_MODE(23u32);
186#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
187pub const D2D1_BLEND_MODE_SUBTRACT: D2D1_BLEND_MODE = D2D1_BLEND_MODE(24u32);
188#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
189pub const D2D1_BLEND_MODE_DIVISION: D2D1_BLEND_MODE = D2D1_BLEND_MODE(25u32);
190#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
191pub const D2D1_BLEND_MODE_FORCE_DWORD: D2D1_BLEND_MODE = D2D1_BLEND_MODE(4294967295u32);
192impl ::core::marker::Copy for D2D1_BLEND_MODE {}
193impl ::core::clone::Clone for D2D1_BLEND_MODE {
194 fn clone(&self) -> Self {
195 *self
196 }
197}
198impl ::core::default::Default for D2D1_BLEND_MODE {
199 fn default() -> Self {
200 Self(0)
201 }
202}
203impl ::windows::core::TypeKind for D2D1_BLEND_MODE {
204 type TypeKind = ::windows::core::CopyType;
205}
206impl ::core::fmt::Debug for D2D1_BLEND_MODE {
207 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
208 f.debug_tuple("D2D1_BLEND_MODE").field(&self.0).finish()
209 }
210}
211#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
212#[repr(transparent)]
213#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
214pub struct D2D1_BORDER_MODE(pub u32);
215#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
216pub const D2D1_BORDER_MODE_SOFT: D2D1_BORDER_MODE = D2D1_BORDER_MODE(0u32);
217#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
218pub const D2D1_BORDER_MODE_HARD: D2D1_BORDER_MODE = D2D1_BORDER_MODE(1u32);
219#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
220pub const D2D1_BORDER_MODE_FORCE_DWORD: D2D1_BORDER_MODE = D2D1_BORDER_MODE(4294967295u32);
221impl ::core::marker::Copy for D2D1_BORDER_MODE {}
222impl ::core::clone::Clone for D2D1_BORDER_MODE {
223 fn clone(&self) -> Self {
224 *self
225 }
226}
227impl ::core::default::Default for D2D1_BORDER_MODE {
228 fn default() -> Self {
229 Self(0)
230 }
231}
232impl ::windows::core::TypeKind for D2D1_BORDER_MODE {
233 type TypeKind = ::windows::core::CopyType;
234}
235impl ::core::fmt::Debug for D2D1_BORDER_MODE {
236 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
237 f.debug_tuple("D2D1_BORDER_MODE").field(&self.0).finish()
238 }
239}
240#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
241#[repr(transparent)]
242#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
243pub struct D2D1_COLORMATRIX_ALPHA_MODE(pub u32);
244#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
245pub const D2D1_COLORMATRIX_ALPHA_MODE_PREMULTIPLIED: D2D1_COLORMATRIX_ALPHA_MODE = D2D1_COLORMATRIX_ALPHA_MODE(1u32);
246#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
247pub const D2D1_COLORMATRIX_ALPHA_MODE_STRAIGHT: D2D1_COLORMATRIX_ALPHA_MODE = D2D1_COLORMATRIX_ALPHA_MODE(2u32);
248#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
249pub const D2D1_COLORMATRIX_ALPHA_MODE_FORCE_DWORD: D2D1_COLORMATRIX_ALPHA_MODE = D2D1_COLORMATRIX_ALPHA_MODE(4294967295u32);
250impl ::core::marker::Copy for D2D1_COLORMATRIX_ALPHA_MODE {}
251impl ::core::clone::Clone for D2D1_COLORMATRIX_ALPHA_MODE {
252 fn clone(&self) -> Self {
253 *self
254 }
255}
256impl ::core::default::Default for D2D1_COLORMATRIX_ALPHA_MODE {
257 fn default() -> Self {
258 Self(0)
259 }
260}
261impl ::windows::core::TypeKind for D2D1_COLORMATRIX_ALPHA_MODE {
262 type TypeKind = ::windows::core::CopyType;
263}
264impl ::core::fmt::Debug for D2D1_COLORMATRIX_ALPHA_MODE {
265 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
266 f.debug_tuple("D2D1_COLORMATRIX_ALPHA_MODE").field(&self.0).finish()
267 }
268}
269#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
270#[repr(transparent)]
271#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
272pub struct D2D1_COMPOSITE_MODE(pub u32);
273#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
274pub const D2D1_COMPOSITE_MODE_SOURCE_OVER: D2D1_COMPOSITE_MODE = D2D1_COMPOSITE_MODE(0u32);
275#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
276pub const D2D1_COMPOSITE_MODE_DESTINATION_OVER: D2D1_COMPOSITE_MODE = D2D1_COMPOSITE_MODE(1u32);
277#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
278pub const D2D1_COMPOSITE_MODE_SOURCE_IN: D2D1_COMPOSITE_MODE = D2D1_COMPOSITE_MODE(2u32);
279#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
280pub const D2D1_COMPOSITE_MODE_DESTINATION_IN: D2D1_COMPOSITE_MODE = D2D1_COMPOSITE_MODE(3u32);
281#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
282pub const D2D1_COMPOSITE_MODE_SOURCE_OUT: D2D1_COMPOSITE_MODE = D2D1_COMPOSITE_MODE(4u32);
283#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
284pub const D2D1_COMPOSITE_MODE_DESTINATION_OUT: D2D1_COMPOSITE_MODE = D2D1_COMPOSITE_MODE(5u32);
285#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
286pub const D2D1_COMPOSITE_MODE_SOURCE_ATOP: D2D1_COMPOSITE_MODE = D2D1_COMPOSITE_MODE(6u32);
287#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
288pub const D2D1_COMPOSITE_MODE_DESTINATION_ATOP: D2D1_COMPOSITE_MODE = D2D1_COMPOSITE_MODE(7u32);
289#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
290pub const D2D1_COMPOSITE_MODE_XOR: D2D1_COMPOSITE_MODE = D2D1_COMPOSITE_MODE(8u32);
291#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
292pub const D2D1_COMPOSITE_MODE_PLUS: D2D1_COMPOSITE_MODE = D2D1_COMPOSITE_MODE(9u32);
293#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
294pub const D2D1_COMPOSITE_MODE_SOURCE_COPY: D2D1_COMPOSITE_MODE = D2D1_COMPOSITE_MODE(10u32);
295#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
296pub const D2D1_COMPOSITE_MODE_BOUNDED_SOURCE_COPY: D2D1_COMPOSITE_MODE = D2D1_COMPOSITE_MODE(11u32);
297#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
298pub const D2D1_COMPOSITE_MODE_MASK_INVERT: D2D1_COMPOSITE_MODE = D2D1_COMPOSITE_MODE(12u32);
299#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
300pub const D2D1_COMPOSITE_MODE_FORCE_DWORD: D2D1_COMPOSITE_MODE = D2D1_COMPOSITE_MODE(4294967295u32);
301impl ::core::marker::Copy for D2D1_COMPOSITE_MODE {}
302impl ::core::clone::Clone for D2D1_COMPOSITE_MODE {
303 fn clone(&self) -> Self {
304 *self
305 }
306}
307impl ::core::default::Default for D2D1_COMPOSITE_MODE {
308 fn default() -> Self {
309 Self(0)
310 }
311}
312impl ::windows::core::TypeKind for D2D1_COMPOSITE_MODE {
313 type TypeKind = ::windows::core::CopyType;
314}
315impl ::core::fmt::Debug for D2D1_COMPOSITE_MODE {
316 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
317 f.debug_tuple("D2D1_COMPOSITE_MODE").field(&self.0).finish()
318 }
319}
320#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
321#[repr(transparent)]
322#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
323pub struct D2D1_FIGURE_BEGIN(pub u32);
324#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
325pub const D2D1_FIGURE_BEGIN_FILLED: D2D1_FIGURE_BEGIN = D2D1_FIGURE_BEGIN(0u32);
326#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
327pub const D2D1_FIGURE_BEGIN_HOLLOW: D2D1_FIGURE_BEGIN = D2D1_FIGURE_BEGIN(1u32);
328#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
329pub const D2D1_FIGURE_BEGIN_FORCE_DWORD: D2D1_FIGURE_BEGIN = D2D1_FIGURE_BEGIN(4294967295u32);
330impl ::core::marker::Copy for D2D1_FIGURE_BEGIN {}
331impl ::core::clone::Clone for D2D1_FIGURE_BEGIN {
332 fn clone(&self) -> Self {
333 *self
334 }
335}
336impl ::core::default::Default for D2D1_FIGURE_BEGIN {
337 fn default() -> Self {
338 Self(0)
339 }
340}
341impl ::windows::core::TypeKind for D2D1_FIGURE_BEGIN {
342 type TypeKind = ::windows::core::CopyType;
343}
344impl ::core::fmt::Debug for D2D1_FIGURE_BEGIN {
345 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
346 f.debug_tuple("D2D1_FIGURE_BEGIN").field(&self.0).finish()
347 }
348}
349#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
350#[repr(transparent)]
351#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
352pub struct D2D1_FIGURE_END(pub u32);
353#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
354pub const D2D1_FIGURE_END_OPEN: D2D1_FIGURE_END = D2D1_FIGURE_END(0u32);
355#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
356pub const D2D1_FIGURE_END_CLOSED: D2D1_FIGURE_END = D2D1_FIGURE_END(1u32);
357#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
358pub const D2D1_FIGURE_END_FORCE_DWORD: D2D1_FIGURE_END = D2D1_FIGURE_END(4294967295u32);
359impl ::core::marker::Copy for D2D1_FIGURE_END {}
360impl ::core::clone::Clone for D2D1_FIGURE_END {
361 fn clone(&self) -> Self {
362 *self
363 }
364}
365impl ::core::default::Default for D2D1_FIGURE_END {
366 fn default() -> Self {
367 Self(0)
368 }
369}
370impl ::windows::core::TypeKind for D2D1_FIGURE_END {
371 type TypeKind = ::windows::core::CopyType;
372}
373impl ::core::fmt::Debug for D2D1_FIGURE_END {
374 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
375 f.debug_tuple("D2D1_FIGURE_END").field(&self.0).finish()
376 }
377}
378#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
379#[repr(transparent)]
380#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
381pub struct D2D1_FILL_MODE(pub u32);
382#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
383pub const D2D1_FILL_MODE_ALTERNATE: D2D1_FILL_MODE = D2D1_FILL_MODE(0u32);
384#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
385pub const D2D1_FILL_MODE_WINDING: D2D1_FILL_MODE = D2D1_FILL_MODE(1u32);
386#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
387pub const D2D1_FILL_MODE_FORCE_DWORD: D2D1_FILL_MODE = D2D1_FILL_MODE(4294967295u32);
388impl ::core::marker::Copy for D2D1_FILL_MODE {}
389impl ::core::clone::Clone for D2D1_FILL_MODE {
390 fn clone(&self) -> Self {
391 *self
392 }
393}
394impl ::core::default::Default for D2D1_FILL_MODE {
395 fn default() -> Self {
396 Self(0)
397 }
398}
399impl ::windows::core::TypeKind for D2D1_FILL_MODE {
400 type TypeKind = ::windows::core::CopyType;
401}
402impl ::core::fmt::Debug for D2D1_FILL_MODE {
403 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
404 f.debug_tuple("D2D1_FILL_MODE").field(&self.0).finish()
405 }
406}
407#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
408#[repr(transparent)]
409#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
410pub struct D2D1_PATH_SEGMENT(pub u32);
411#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
412pub const D2D1_PATH_SEGMENT_NONE: D2D1_PATH_SEGMENT = D2D1_PATH_SEGMENT(0u32);
413#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
414pub const D2D1_PATH_SEGMENT_FORCE_UNSTROKED: D2D1_PATH_SEGMENT = D2D1_PATH_SEGMENT(1u32);
415#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
416pub const D2D1_PATH_SEGMENT_FORCE_ROUND_LINE_JOIN: D2D1_PATH_SEGMENT = D2D1_PATH_SEGMENT(2u32);
417#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
418pub const D2D1_PATH_SEGMENT_FORCE_DWORD: D2D1_PATH_SEGMENT = D2D1_PATH_SEGMENT(4294967295u32);
419impl ::core::marker::Copy for D2D1_PATH_SEGMENT {}
420impl ::core::clone::Clone for D2D1_PATH_SEGMENT {
421 fn clone(&self) -> Self {
422 *self
423 }
424}
425impl ::core::default::Default for D2D1_PATH_SEGMENT {
426 fn default() -> Self {
427 Self(0)
428 }
429}
430impl ::windows::core::TypeKind for D2D1_PATH_SEGMENT {
431 type TypeKind = ::windows::core::CopyType;
432}
433impl ::core::fmt::Debug for D2D1_PATH_SEGMENT {
434 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
435 f.debug_tuple("D2D1_PATH_SEGMENT").field(&self.0).finish()
436 }
437}
438impl D2D1_PATH_SEGMENT {
439 pub const fn contains(&self, other: Self) -> bool {
440 self.0 & other.0 == other.0
441 }
442}
443impl ::core::ops::BitOr for D2D1_PATH_SEGMENT {
444 type Output = Self;
445 fn bitor(self, other: Self) -> Self {
446 Self(self.0 | other.0)
447 }
448}
449impl ::core::ops::BitAnd for D2D1_PATH_SEGMENT {
450 type Output = Self;
451 fn bitand(self, other: Self) -> Self {
452 Self(self.0 & other.0)
453 }
454}
455impl ::core::ops::BitOrAssign for D2D1_PATH_SEGMENT {
456 fn bitor_assign(&mut self, other: Self) {
457 self.0.bitor_assign(other.0)
458 }
459}
460impl ::core::ops::BitAndAssign for D2D1_PATH_SEGMENT {
461 fn bitand_assign(&mut self, other: Self) {
462 self.0.bitand_assign(other.0)
463 }
464}
465impl ::core::ops::Not for D2D1_PATH_SEGMENT {
466 type Output = Self;
467 fn not(self) -> Self {
468 Self(self.0.not())
469 }
470}
471#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
472#[repr(transparent)]
473#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
474pub struct D2D1_TURBULENCE_NOISE(pub u32);
475#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
476pub const D2D1_TURBULENCE_NOISE_FRACTAL_SUM: D2D1_TURBULENCE_NOISE = D2D1_TURBULENCE_NOISE(0u32);
477#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
478pub const D2D1_TURBULENCE_NOISE_TURBULENCE: D2D1_TURBULENCE_NOISE = D2D1_TURBULENCE_NOISE(1u32);
479#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
480pub const D2D1_TURBULENCE_NOISE_FORCE_DWORD: D2D1_TURBULENCE_NOISE = D2D1_TURBULENCE_NOISE(4294967295u32);
481impl ::core::marker::Copy for D2D1_TURBULENCE_NOISE {}
482impl ::core::clone::Clone for D2D1_TURBULENCE_NOISE {
483 fn clone(&self) -> Self {
484 *self
485 }
486}
487impl ::core::default::Default for D2D1_TURBULENCE_NOISE {
488 fn default() -> Self {
489 Self(0)
490 }
491}
492impl ::windows::core::TypeKind for D2D1_TURBULENCE_NOISE {
493 type TypeKind = ::windows::core::CopyType;
494}
495impl ::core::fmt::Debug for D2D1_TURBULENCE_NOISE {
496 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
497 f.debug_tuple("D2D1_TURBULENCE_NOISE").field(&self.0).finish()
498 }
499}
500#[repr(C)]
501#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
502pub struct D2D1_BEZIER_SEGMENT {
503 pub point1: D2D_POINT_2F,
504 pub point2: D2D_POINT_2F,
505 pub point3: D2D_POINT_2F,
506}
507impl ::core::marker::Copy for D2D1_BEZIER_SEGMENT {}
508impl ::core::clone::Clone for D2D1_BEZIER_SEGMENT {
509 fn clone(&self) -> Self {
510 *self
511 }
512}
513impl ::core::fmt::Debug for D2D1_BEZIER_SEGMENT {
514 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
515 f.debug_struct("D2D1_BEZIER_SEGMENT").field("point1", &self.point1).field("point2", &self.point2).field("point3", &self.point3).finish()
516 }
517}
518impl ::windows::core::TypeKind for D2D1_BEZIER_SEGMENT {
519 type TypeKind = ::windows::core::CopyType;
520}
521impl ::core::cmp::PartialEq for D2D1_BEZIER_SEGMENT {
522 fn eq(&self, other: &Self) -> bool {
523 self.point1 == other.point1 && self.point2 == other.point2 && self.point3 == other.point3
524 }
525}
526impl ::core::cmp::Eq for D2D1_BEZIER_SEGMENT {}
527impl ::core::default::Default for D2D1_BEZIER_SEGMENT {
528 fn default() -> Self {
529 unsafe { ::core::mem::zeroed() }
530 }
531}
532#[repr(C)]
533#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
534pub struct D2D1_COLOR_F {
535 pub r: f32,
536 pub g: f32,
537 pub b: f32,
538 pub a: f32,
539}
540impl ::core::marker::Copy for D2D1_COLOR_F {}
541impl ::core::clone::Clone for D2D1_COLOR_F {
542 fn clone(&self) -> Self {
543 *self
544 }
545}
546impl ::core::fmt::Debug for D2D1_COLOR_F {
547 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
548 f.debug_struct("D2D1_COLOR_F").field("r", &self.r).field("g", &self.g).field("b", &self.b).field("a", &self.a).finish()
549 }
550}
551impl ::windows::core::TypeKind for D2D1_COLOR_F {
552 type TypeKind = ::windows::core::CopyType;
553}
554impl ::core::cmp::PartialEq for D2D1_COLOR_F {
555 fn eq(&self, other: &Self) -> bool {
556 self.r == other.r && self.g == other.g && self.b == other.b && self.a == other.a
557 }
558}
559impl ::core::cmp::Eq for D2D1_COLOR_F {}
560impl ::core::default::Default for D2D1_COLOR_F {
561 fn default() -> Self {
562 unsafe { ::core::mem::zeroed() }
563 }
564}
565#[repr(C)]
566#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`, `\"Win32_Graphics_Dxgi_Common\"`*"]
567#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
568pub struct D2D1_PIXEL_FORMAT {
569 pub format: super::super::Dxgi::Common::DXGI_FORMAT,
570 pub alphaMode: D2D1_ALPHA_MODE,
571}
572#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
573impl ::core::marker::Copy for D2D1_PIXEL_FORMAT {}
574#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
575impl ::core::clone::Clone for D2D1_PIXEL_FORMAT {
576 fn clone(&self) -> Self {
577 *self
578 }
579}
580#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
581impl ::core::fmt::Debug for D2D1_PIXEL_FORMAT {
582 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
583 f.debug_struct("D2D1_PIXEL_FORMAT").field("format", &self.format).field("alphaMode", &self.alphaMode).finish()
584 }
585}
586#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
587impl ::windows::core::TypeKind for D2D1_PIXEL_FORMAT {
588 type TypeKind = ::windows::core::CopyType;
589}
590#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
591impl ::core::cmp::PartialEq for D2D1_PIXEL_FORMAT {
592 fn eq(&self, other: &Self) -> bool {
593 self.format == other.format && self.alphaMode == other.alphaMode
594 }
595}
596#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
597impl ::core::cmp::Eq for D2D1_PIXEL_FORMAT {}
598#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
599impl ::core::default::Default for D2D1_PIXEL_FORMAT {
600 fn default() -> Self {
601 unsafe { ::core::mem::zeroed() }
602 }
603}
604#[repr(C)]
605#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
606pub struct D2D_COLOR_F {
607 pub r: f32,
608 pub g: f32,
609 pub b: f32,
610 pub a: f32,
611}
612impl ::core::marker::Copy for D2D_COLOR_F {}
613impl ::core::clone::Clone for D2D_COLOR_F {
614 fn clone(&self) -> Self {
615 *self
616 }
617}
618impl ::core::fmt::Debug for D2D_COLOR_F {
619 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
620 f.debug_struct("D2D_COLOR_F").field("r", &self.r).field("g", &self.g).field("b", &self.b).field("a", &self.a).finish()
621 }
622}
623impl ::windows::core::TypeKind for D2D_COLOR_F {
624 type TypeKind = ::windows::core::CopyType;
625}
626impl ::core::cmp::PartialEq for D2D_COLOR_F {
627 fn eq(&self, other: &Self) -> bool {
628 self.r == other.r && self.g == other.g && self.b == other.b && self.a == other.a
629 }
630}
631impl ::core::cmp::Eq for D2D_COLOR_F {}
632impl ::core::default::Default for D2D_COLOR_F {
633 fn default() -> Self {
634 unsafe { ::core::mem::zeroed() }
635 }
636}
637#[repr(C)]
638#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
639pub struct D2D_MATRIX_4X3_F {
640 pub Anonymous: D2D_MATRIX_4X3_F_0,
641}
642impl ::core::marker::Copy for D2D_MATRIX_4X3_F {}
643impl ::core::clone::Clone for D2D_MATRIX_4X3_F {
644 fn clone(&self) -> Self {
645 *self
646 }
647}
648impl ::windows::core::TypeKind for D2D_MATRIX_4X3_F {
649 type TypeKind = ::windows::core::CopyType;
650}
651impl ::core::default::Default for D2D_MATRIX_4X3_F {
652 fn default() -> Self {
653 unsafe { ::core::mem::zeroed() }
654 }
655}
656#[repr(C)]
657#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
658pub union D2D_MATRIX_4X3_F_0 {
659 pub Anonymous: D2D_MATRIX_4X3_F_0_0,
660 pub m: [f32; 12],
661}
662impl ::core::marker::Copy for D2D_MATRIX_4X3_F_0 {}
663impl ::core::clone::Clone for D2D_MATRIX_4X3_F_0 {
664 fn clone(&self) -> Self {
665 *self
666 }
667}
668impl ::windows::core::TypeKind for D2D_MATRIX_4X3_F_0 {
669 type TypeKind = ::windows::core::CopyType;
670}
671impl ::core::default::Default for D2D_MATRIX_4X3_F_0 {
672 fn default() -> Self {
673 unsafe { ::core::mem::zeroed() }
674 }
675}
676#[repr(C)]
677#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
678pub struct D2D_MATRIX_4X3_F_0_0 {
679 pub _11: f32,
680 pub _12: f32,
681 pub _13: f32,
682 pub _21: f32,
683 pub _22: f32,
684 pub _23: f32,
685 pub _31: f32,
686 pub _32: f32,
687 pub _33: f32,
688 pub _41: f32,
689 pub _42: f32,
690 pub _43: f32,
691}
692impl ::core::marker::Copy for D2D_MATRIX_4X3_F_0_0 {}
693impl ::core::clone::Clone for D2D_MATRIX_4X3_F_0_0 {
694 fn clone(&self) -> Self {
695 *self
696 }
697}
698impl ::core::fmt::Debug for D2D_MATRIX_4X3_F_0_0 {
699 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
700 f.debug_struct("D2D_MATRIX_4X3_F_0_0").field("_11", &self._11).field("_12", &self._12).field("_13", &self._13).field("_21", &self._21).field("_22", &self._22).field("_23", &self._23).field("_31", &self._31).field("_32", &self._32).field("_33", &self._33).field("_41", &self._41).field("_42", &self._42).field("_43", &self._43).finish()
701 }
702}
703impl ::windows::core::TypeKind for D2D_MATRIX_4X3_F_0_0 {
704 type TypeKind = ::windows::core::CopyType;
705}
706impl ::core::cmp::PartialEq for D2D_MATRIX_4X3_F_0_0 {
707 fn eq(&self, other: &Self) -> bool {
708 self._11 == other._11 && self._12 == other._12 && self._13 == other._13 && self._21 == other._21 && self._22 == other._22 && self._23 == other._23 && self._31 == other._31 && self._32 == other._32 && self._33 == other._33 && self._41 == other._41 && self._42 == other._42 && self._43 == other._43
709 }
710}
711impl ::core::cmp::Eq for D2D_MATRIX_4X3_F_0_0 {}
712impl ::core::default::Default for D2D_MATRIX_4X3_F_0_0 {
713 fn default() -> Self {
714 unsafe { ::core::mem::zeroed() }
715 }
716}
717#[repr(C)]
718#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
719pub struct D2D_MATRIX_4X4_F {
720 pub Anonymous: D2D_MATRIX_4X4_F_0,
721}
722impl ::core::marker::Copy for D2D_MATRIX_4X4_F {}
723impl ::core::clone::Clone for D2D_MATRIX_4X4_F {
724 fn clone(&self) -> Self {
725 *self
726 }
727}
728impl ::windows::core::TypeKind for D2D_MATRIX_4X4_F {
729 type TypeKind = ::windows::core::CopyType;
730}
731impl ::core::default::Default for D2D_MATRIX_4X4_F {
732 fn default() -> Self {
733 unsafe { ::core::mem::zeroed() }
734 }
735}
736#[repr(C)]
737#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
738pub union D2D_MATRIX_4X4_F_0 {
739 pub Anonymous: D2D_MATRIX_4X4_F_0_0,
740 pub m: [f32; 16],
741}
742impl ::core::marker::Copy for D2D_MATRIX_4X4_F_0 {}
743impl ::core::clone::Clone for D2D_MATRIX_4X4_F_0 {
744 fn clone(&self) -> Self {
745 *self
746 }
747}
748impl ::windows::core::TypeKind for D2D_MATRIX_4X4_F_0 {
749 type TypeKind = ::windows::core::CopyType;
750}
751impl ::core::default::Default for D2D_MATRIX_4X4_F_0 {
752 fn default() -> Self {
753 unsafe { ::core::mem::zeroed() }
754 }
755}
756#[repr(C)]
757#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
758pub struct D2D_MATRIX_4X4_F_0_0 {
759 pub _11: f32,
760 pub _12: f32,
761 pub _13: f32,
762 pub _14: f32,
763 pub _21: f32,
764 pub _22: f32,
765 pub _23: f32,
766 pub _24: f32,
767 pub _31: f32,
768 pub _32: f32,
769 pub _33: f32,
770 pub _34: f32,
771 pub _41: f32,
772 pub _42: f32,
773 pub _43: f32,
774 pub _44: f32,
775}
776impl ::core::marker::Copy for D2D_MATRIX_4X4_F_0_0 {}
777impl ::core::clone::Clone for D2D_MATRIX_4X4_F_0_0 {
778 fn clone(&self) -> Self {
779 *self
780 }
781}
782impl ::core::fmt::Debug for D2D_MATRIX_4X4_F_0_0 {
783 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
784 f.debug_struct("D2D_MATRIX_4X4_F_0_0").field("_11", &self._11).field("_12", &self._12).field("_13", &self._13).field("_14", &self._14).field("_21", &self._21).field("_22", &self._22).field("_23", &self._23).field("_24", &self._24).field("_31", &self._31).field("_32", &self._32).field("_33", &self._33).field("_34", &self._34).field("_41", &self._41).field("_42", &self._42).field("_43", &self._43).field("_44", &self._44).finish()
785 }
786}
787impl ::windows::core::TypeKind for D2D_MATRIX_4X4_F_0_0 {
788 type TypeKind = ::windows::core::CopyType;
789}
790impl ::core::cmp::PartialEq for D2D_MATRIX_4X4_F_0_0 {
791 fn eq(&self, other: &Self) -> bool {
792 self._11 == other._11 && self._12 == other._12 && self._13 == other._13 && self._14 == other._14 && self._21 == other._21 && self._22 == other._22 && self._23 == other._23 && self._24 == other._24 && self._31 == other._31 && self._32 == other._32 && self._33 == other._33 && self._34 == other._34 && self._41 == other._41 && self._42 == other._42 && self._43 == other._43 && self._44 == other._44
793 }
794}
795impl ::core::cmp::Eq for D2D_MATRIX_4X4_F_0_0 {}
796impl ::core::default::Default for D2D_MATRIX_4X4_F_0_0 {
797 fn default() -> Self {
798 unsafe { ::core::mem::zeroed() }
799 }
800}
801#[repr(C)]
802#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
803pub struct D2D_MATRIX_5X4_F {
804 pub Anonymous: D2D_MATRIX_5X4_F_0,
805}
806impl ::core::marker::Copy for D2D_MATRIX_5X4_F {}
807impl ::core::clone::Clone for D2D_MATRIX_5X4_F {
808 fn clone(&self) -> Self {
809 *self
810 }
811}
812impl ::windows::core::TypeKind for D2D_MATRIX_5X4_F {
813 type TypeKind = ::windows::core::CopyType;
814}
815impl ::core::default::Default for D2D_MATRIX_5X4_F {
816 fn default() -> Self {
817 unsafe { ::core::mem::zeroed() }
818 }
819}
820#[repr(C)]
821#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
822pub union D2D_MATRIX_5X4_F_0 {
823 pub Anonymous: D2D_MATRIX_5X4_F_0_0,
824 pub m: [f32; 20],
825}
826impl ::core::marker::Copy for D2D_MATRIX_5X4_F_0 {}
827impl ::core::clone::Clone for D2D_MATRIX_5X4_F_0 {
828 fn clone(&self) -> Self {
829 *self
830 }
831}
832impl ::windows::core::TypeKind for D2D_MATRIX_5X4_F_0 {
833 type TypeKind = ::windows::core::CopyType;
834}
835impl ::core::default::Default for D2D_MATRIX_5X4_F_0 {
836 fn default() -> Self {
837 unsafe { ::core::mem::zeroed() }
838 }
839}
840#[repr(C)]
841#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
842pub struct D2D_MATRIX_5X4_F_0_0 {
843 pub _11: f32,
844 pub _12: f32,
845 pub _13: f32,
846 pub _14: f32,
847 pub _21: f32,
848 pub _22: f32,
849 pub _23: f32,
850 pub _24: f32,
851 pub _31: f32,
852 pub _32: f32,
853 pub _33: f32,
854 pub _34: f32,
855 pub _41: f32,
856 pub _42: f32,
857 pub _43: f32,
858 pub _44: f32,
859 pub _51: f32,
860 pub _52: f32,
861 pub _53: f32,
862 pub _54: f32,
863}
864impl ::core::marker::Copy for D2D_MATRIX_5X4_F_0_0 {}
865impl ::core::clone::Clone for D2D_MATRIX_5X4_F_0_0 {
866 fn clone(&self) -> Self {
867 *self
868 }
869}
870impl ::core::fmt::Debug for D2D_MATRIX_5X4_F_0_0 {
871 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
872 f.debug_struct("D2D_MATRIX_5X4_F_0_0")
873 .field("_11", &self._11)
874 .field("_12", &self._12)
875 .field("_13", &self._13)
876 .field("_14", &self._14)
877 .field("_21", &self._21)
878 .field("_22", &self._22)
879 .field("_23", &self._23)
880 .field("_24", &self._24)
881 .field("_31", &self._31)
882 .field("_32", &self._32)
883 .field("_33", &self._33)
884 .field("_34", &self._34)
885 .field("_41", &self._41)
886 .field("_42", &self._42)
887 .field("_43", &self._43)
888 .field("_44", &self._44)
889 .field("_51", &self._51)
890 .field("_52", &self._52)
891 .field("_53", &self._53)
892 .field("_54", &self._54)
893 .finish()
894 }
895}
896impl ::windows::core::TypeKind for D2D_MATRIX_5X4_F_0_0 {
897 type TypeKind = ::windows::core::CopyType;
898}
899impl ::core::cmp::PartialEq for D2D_MATRIX_5X4_F_0_0 {
900 fn eq(&self, other: &Self) -> bool {
901 self._11 == other._11 && self._12 == other._12 && self._13 == other._13 && self._14 == other._14 && self._21 == other._21 && self._22 == other._22 && self._23 == other._23 && self._24 == other._24 && self._31 == other._31 && self._32 == other._32 && self._33 == other._33 && self._34 == other._34 && self._41 == other._41 && self._42 == other._42 && self._43 == other._43 && self._44 == other._44 && self._51 == other._51 && self._52 == other._52 && self._53 == other._53 && self._54 == other._54
902 }
903}
904impl ::core::cmp::Eq for D2D_MATRIX_5X4_F_0_0 {}
905impl ::core::default::Default for D2D_MATRIX_5X4_F_0_0 {
906 fn default() -> Self {
907 unsafe { ::core::mem::zeroed() }
908 }
909}
910#[repr(C)]
911#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
912pub struct D2D_POINT_2F {
913 pub x: f32,
914 pub y: f32,
915}
916impl ::core::marker::Copy for D2D_POINT_2F {}
917impl ::core::clone::Clone for D2D_POINT_2F {
918 fn clone(&self) -> Self {
919 *self
920 }
921}
922impl ::core::fmt::Debug for D2D_POINT_2F {
923 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
924 f.debug_struct("D2D_POINT_2F").field("x", &self.x).field("y", &self.y).finish()
925 }
926}
927impl ::windows::core::TypeKind for D2D_POINT_2F {
928 type TypeKind = ::windows::core::CopyType;
929}
930impl ::core::cmp::PartialEq for D2D_POINT_2F {
931 fn eq(&self, other: &Self) -> bool {
932 self.x == other.x && self.y == other.y
933 }
934}
935impl ::core::cmp::Eq for D2D_POINT_2F {}
936impl ::core::default::Default for D2D_POINT_2F {
937 fn default() -> Self {
938 unsafe { ::core::mem::zeroed() }
939 }
940}
941#[repr(C)]
942#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
943pub struct D2D_POINT_2U {
944 pub x: u32,
945 pub y: u32,
946}
947impl ::core::marker::Copy for D2D_POINT_2U {}
948impl ::core::clone::Clone for D2D_POINT_2U {
949 fn clone(&self) -> Self {
950 *self
951 }
952}
953impl ::core::fmt::Debug for D2D_POINT_2U {
954 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
955 f.debug_struct("D2D_POINT_2U").field("x", &self.x).field("y", &self.y).finish()
956 }
957}
958impl ::windows::core::TypeKind for D2D_POINT_2U {
959 type TypeKind = ::windows::core::CopyType;
960}
961impl ::core::cmp::PartialEq for D2D_POINT_2U {
962 fn eq(&self, other: &Self) -> bool {
963 self.x == other.x && self.y == other.y
964 }
965}
966impl ::core::cmp::Eq for D2D_POINT_2U {}
967impl ::core::default::Default for D2D_POINT_2U {
968 fn default() -> Self {
969 unsafe { ::core::mem::zeroed() }
970 }
971}
972#[repr(C)]
973#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
974pub struct D2D_RECT_F {
975 pub left: f32,
976 pub top: f32,
977 pub right: f32,
978 pub bottom: f32,
979}
980impl ::core::marker::Copy for D2D_RECT_F {}
981impl ::core::clone::Clone for D2D_RECT_F {
982 fn clone(&self) -> Self {
983 *self
984 }
985}
986impl ::core::fmt::Debug for D2D_RECT_F {
987 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
988 f.debug_struct("D2D_RECT_F").field("left", &self.left).field("top", &self.top).field("right", &self.right).field("bottom", &self.bottom).finish()
989 }
990}
991impl ::windows::core::TypeKind for D2D_RECT_F {
992 type TypeKind = ::windows::core::CopyType;
993}
994impl ::core::cmp::PartialEq for D2D_RECT_F {
995 fn eq(&self, other: &Self) -> bool {
996 self.left == other.left && self.top == other.top && self.right == other.right && self.bottom == other.bottom
997 }
998}
999impl ::core::cmp::Eq for D2D_RECT_F {}
1000impl ::core::default::Default for D2D_RECT_F {
1001 fn default() -> Self {
1002 unsafe { ::core::mem::zeroed() }
1003 }
1004}
1005#[repr(C)]
1006#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
1007pub struct D2D_RECT_U {
1008 pub left: u32,
1009 pub top: u32,
1010 pub right: u32,
1011 pub bottom: u32,
1012}
1013impl ::core::marker::Copy for D2D_RECT_U {}
1014impl ::core::clone::Clone for D2D_RECT_U {
1015 fn clone(&self) -> Self {
1016 *self
1017 }
1018}
1019impl ::core::fmt::Debug for D2D_RECT_U {
1020 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1021 f.debug_struct("D2D_RECT_U").field("left", &self.left).field("top", &self.top).field("right", &self.right).field("bottom", &self.bottom).finish()
1022 }
1023}
1024impl ::windows::core::TypeKind for D2D_RECT_U {
1025 type TypeKind = ::windows::core::CopyType;
1026}
1027impl ::core::cmp::PartialEq for D2D_RECT_U {
1028 fn eq(&self, other: &Self) -> bool {
1029 self.left == other.left && self.top == other.top && self.right == other.right && self.bottom == other.bottom
1030 }
1031}
1032impl ::core::cmp::Eq for D2D_RECT_U {}
1033impl ::core::default::Default for D2D_RECT_U {
1034 fn default() -> Self {
1035 unsafe { ::core::mem::zeroed() }
1036 }
1037}
1038#[repr(C)]
1039#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
1040pub struct D2D_SIZE_F {
1041 pub width: f32,
1042 pub height: f32,
1043}
1044impl ::core::marker::Copy for D2D_SIZE_F {}
1045impl ::core::clone::Clone for D2D_SIZE_F {
1046 fn clone(&self) -> Self {
1047 *self
1048 }
1049}
1050impl ::core::fmt::Debug for D2D_SIZE_F {
1051 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1052 f.debug_struct("D2D_SIZE_F").field("width", &self.width).field("height", &self.height).finish()
1053 }
1054}
1055impl ::windows::core::TypeKind for D2D_SIZE_F {
1056 type TypeKind = ::windows::core::CopyType;
1057}
1058impl ::core::cmp::PartialEq for D2D_SIZE_F {
1059 fn eq(&self, other: &Self) -> bool {
1060 self.width == other.width && self.height == other.height
1061 }
1062}
1063impl ::core::cmp::Eq for D2D_SIZE_F {}
1064impl ::core::default::Default for D2D_SIZE_F {
1065 fn default() -> Self {
1066 unsafe { ::core::mem::zeroed() }
1067 }
1068}
1069#[repr(C)]
1070#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
1071pub struct D2D_SIZE_U {
1072 pub width: u32,
1073 pub height: u32,
1074}
1075impl ::core::marker::Copy for D2D_SIZE_U {}
1076impl ::core::clone::Clone for D2D_SIZE_U {
1077 fn clone(&self) -> Self {
1078 *self
1079 }
1080}
1081impl ::core::fmt::Debug for D2D_SIZE_U {
1082 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1083 f.debug_struct("D2D_SIZE_U").field("width", &self.width).field("height", &self.height).finish()
1084 }
1085}
1086impl ::windows::core::TypeKind for D2D_SIZE_U {
1087 type TypeKind = ::windows::core::CopyType;
1088}
1089impl ::core::cmp::PartialEq for D2D_SIZE_U {
1090 fn eq(&self, other: &Self) -> bool {
1091 self.width == other.width && self.height == other.height
1092 }
1093}
1094impl ::core::cmp::Eq for D2D_SIZE_U {}
1095impl ::core::default::Default for D2D_SIZE_U {
1096 fn default() -> Self {
1097 unsafe { ::core::mem::zeroed() }
1098 }
1099}
1100#[repr(C)]
1101#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
1102pub struct D2D_VECTOR_2F {
1103 pub x: f32,
1104 pub y: f32,
1105}
1106impl ::core::marker::Copy for D2D_VECTOR_2F {}
1107impl ::core::clone::Clone for D2D_VECTOR_2F {
1108 fn clone(&self) -> Self {
1109 *self
1110 }
1111}
1112impl ::core::fmt::Debug for D2D_VECTOR_2F {
1113 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1114 f.debug_struct("D2D_VECTOR_2F").field("x", &self.x).field("y", &self.y).finish()
1115 }
1116}
1117impl ::windows::core::TypeKind for D2D_VECTOR_2F {
1118 type TypeKind = ::windows::core::CopyType;
1119}
1120impl ::core::cmp::PartialEq for D2D_VECTOR_2F {
1121 fn eq(&self, other: &Self) -> bool {
1122 self.x == other.x && self.y == other.y
1123 }
1124}
1125impl ::core::cmp::Eq for D2D_VECTOR_2F {}
1126impl ::core::default::Default for D2D_VECTOR_2F {
1127 fn default() -> Self {
1128 unsafe { ::core::mem::zeroed() }
1129 }
1130}
1131#[repr(C)]
1132#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
1133pub struct D2D_VECTOR_3F {
1134 pub x: f32,
1135 pub y: f32,
1136 pub z: f32,
1137}
1138impl ::core::marker::Copy for D2D_VECTOR_3F {}
1139impl ::core::clone::Clone for D2D_VECTOR_3F {
1140 fn clone(&self) -> Self {
1141 *self
1142 }
1143}
1144impl ::core::fmt::Debug for D2D_VECTOR_3F {
1145 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1146 f.debug_struct("D2D_VECTOR_3F").field("x", &self.x).field("y", &self.y).field("z", &self.z).finish()
1147 }
1148}
1149impl ::windows::core::TypeKind for D2D_VECTOR_3F {
1150 type TypeKind = ::windows::core::CopyType;
1151}
1152impl ::core::cmp::PartialEq for D2D_VECTOR_3F {
1153 fn eq(&self, other: &Self) -> bool {
1154 self.x == other.x && self.y == other.y && self.z == other.z
1155 }
1156}
1157impl ::core::cmp::Eq for D2D_VECTOR_3F {}
1158impl ::core::default::Default for D2D_VECTOR_3F {
1159 fn default() -> Self {
1160 unsafe { ::core::mem::zeroed() }
1161 }
1162}
1163#[repr(C)]
1164#[doc = "*Required features: `\"Win32_Graphics_Direct2D_Common\"`*"]
1165pub struct D2D_VECTOR_4F {
1166 pub x: f32,
1167 pub y: f32,
1168 pub z: f32,
1169 pub w: f32,
1170}
1171impl ::core::marker::Copy for D2D_VECTOR_4F {}
1172impl ::core::clone::Clone for D2D_VECTOR_4F {
1173 fn clone(&self) -> Self {
1174 *self
1175 }
1176}
1177impl ::core::fmt::Debug for D2D_VECTOR_4F {
1178 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1179 f.debug_struct("D2D_VECTOR_4F").field("x", &self.x).field("y", &self.y).field("z", &self.z).field("w", &self.w).finish()
1180 }
1181}
1182impl ::windows::core::TypeKind for D2D_VECTOR_4F {
1183 type TypeKind = ::windows::core::CopyType;
1184}
1185impl ::core::cmp::PartialEq for D2D_VECTOR_4F {
1186 fn eq(&self, other: &Self) -> bool {
1187 self.x == other.x && self.y == other.y && self.z == other.z && self.w == other.w
1188 }
1189}
1190impl ::core::cmp::Eq for D2D_VECTOR_4F {}
1191impl ::core::default::Default for D2D_VECTOR_4F {
1192 fn default() -> Self {
1193 unsafe { ::core::mem::zeroed() }
1194 }
1195}
1196#[cfg(feature = "implement")]
1197::core::include!("impl.rs");