1 // Licensed under the Apache License, Version 2.0
2 // <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
3 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
4 // All files in the project carrying such notice may not be copied, modified, or distributed
5 // except according to those terms.
6 //! Mappings for the contents of dcompanimation.h
7 use ctypes::{c_double, c_float};
8 use shared::ntdef::{HRESULT, LARGE_INTEGER};
9 use um::unknwnbase::{IUnknown, IUnknownVtbl};
10 RIDL!{#[uuid(0xcbfd91d9, 0x51b2, 0x45e4, 0xb3, 0xde, 0xd1, 0x9c, 0xcf, 0xb8, 0x63, 0xc5)]
11 interface IDCompositionAnimation(IDCompositionAnimationVtbl): IUnknown(IUnknownVtbl) {
12     fn Reset() -> HRESULT,
13     fn SetAbsoluteBeginTime(
14         beginTime: LARGE_INTEGER,
15     ) -> HRESULT,
16     fn AddCubic(
17         beginOffset: c_double,
18         constantCoefficient: c_float,
19         linearCoefficient: c_float,
20         quadraticCoefficient: c_float,
21         cubicCoefficient: c_float,
22     )-> HRESULT,
23     fn AddSinusoidal(
24         beginOffset: c_double,
25         bias: c_float,
26         amplitude: c_float,
27         frequency: c_float,
28         phase: c_float,
29     )-> HRESULT,
30     fn AddRepeat(
31         beginOffset: c_double,
32         durationToRepeat: c_double,
33     )-> HRESULT,
34     fn End(
35         endOffset: c_double,
36         endValue: c_float,
37     ) -> HRESULT,
38 }}
39