| // Licensed under the Apache License, Version 2.0 |
| // <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license |
| // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option. |
| // All files in the project carrying such notice may not be copied, modified, or distributed |
| // except according to those terms. |
| //! Mappings for the contents of dcomp.h |
| use ctypes::{c_float, c_int, c_void}; |
| use shared::d3d9types::D3DMATRIX; |
| use shared::dcomptypes::{ |
| DCOMPOSITION_BACKFACE_VISIBILITY, DCOMPOSITION_BITMAP_INTERPOLATION_MODE, |
| DCOMPOSITION_BORDER_MODE, DCOMPOSITION_COMPOSITE_MODE, DCOMPOSITION_DEPTH_MODE, |
| DCOMPOSITION_FRAME_STATISTICS, DCOMPOSITION_OPACITY_MODE |
| }; |
| use shared::dxgi::IDXGIDevice; |
| use shared::dxgi1_2::DXGI_ALPHA_MODE; |
| use shared::dxgiformat::DXGI_FORMAT; |
| use shared::guiddef::REFIID; |
| use shared::minwindef::{BOOL, DWORD, UINT}; |
| use shared::ntdef::{HANDLE, HRESULT}; |
| use shared::windef::{HWND, POINT, RECT}; |
| use um::d2d1::{D2D1_COLOR_F, D2D1_MATRIX_3X2_F}; |
| use um::d2d1_1::{D2D1_COMPOSITE_MODE, D2D1_MATRIX_5X4_F, D2D1_VECTOR_2F, D2D1_VECTOR_4F}; |
| use um::d2d1effects::{ |
| D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE, D2D1_BLEND_MODE, D2D1_BORDER_MODE, |
| D2D1_COLORMATRIX_ALPHA_MODE, D2D1_TURBULENCE_NOISE |
| }; |
| use um::d2dbasetypes::{D2D_MATRIX_3X2_F, D2D_MATRIX_4X4_F, D2D_RECT_F}; |
| use um::d3dcommon::D3D_FEATURE_LEVEL; |
| use um::dcompanimation::IDCompositionAnimation; |
| use um::minwinbase::SECURITY_ATTRIBUTES; |
| use um::unknwnbase::{IUnknown, IUnknownVtbl}; |
| extern "system" { |
| pub fn DCompositionCreateDevice( |
| dxgiDevice: *const IDXGIDevice, |
| iid: REFIID, |
| dcompositionDevice: *mut *mut c_void, |
| ) -> HRESULT; |
| pub fn DCompositionCreateDevice2( |
| renderingDevice: *const IUnknown, |
| iid: REFIID, |
| dcompositionDevice: *mut *mut c_void, |
| ) -> HRESULT; |
| pub fn DCompositionCreateDevice3( |
| renderingDevice: *const IUnknown, |
| iid: REFIID, |
| dcompositionDevice: *mut *mut c_void, |
| ) -> HRESULT; |
| pub fn DCompositionGetFrameStatistics( |
| statistics: *const DCOMPOSITION_FRAME_STATISTICS, |
| minSafeFeaturelLevel: *const D3D_FEATURE_LEVEL, |
| maxHardwareFeaturelLevel: *const D3D_FEATURE_LEVEL, |
| ) -> HRESULT; |
| pub fn DCompositionCreateSurfaceHandle( |
| desiredAccess: DWORD, |
| securityAttributes: *const SECURITY_ATTRIBUTES, |
| surfaceHandle: *mut HANDLE, |
| ) -> HRESULT; |
| pub fn DCompositionAttachMouseWheelToHwnd( |
| visual: *const IDCompositionVisual, |
| hwnd: HWND, |
| enable: BOOL, |
| ) -> HRESULT; |
| pub fn DCompositionAttachMouseDragToHwnd( |
| visual: *const IDCompositionVisual, |
| hwnd: HWND, |
| enable: BOOL, |
| ) -> HRESULT; |
| } |
| RIDL!{#[uuid(0xc37ea93a, 0xe7aa, 0x450d, 0xb1, 0x6f, 0x97, 0x46, 0xcb, 0x04, 0x07, 0xf3)] |
| interface IDCompositionDevice(IDCompositionDeviceVtbl): IUnknown(IUnknownVtbl) { |
| fn Commit() -> HRESULT, |
| fn WaitForCommitCompletion() -> HRESULT, |
| fn GetFrameStatistics( |
| statistics: *mut DCOMPOSITION_FRAME_STATISTICS, |
| ) -> HRESULT, |
| fn CreateTargetForHwnd( |
| hwnd: HWND, |
| topmost: BOOL, |
| target: *mut *mut IDCompositionTarget, |
| ) -> HRESULT, |
| fn CreateVisual( |
| visual: *mut *mut IDCompositionVisual, |
| ) -> HRESULT, |
| fn CreateSurface( |
| width: UINT, |
| height: UINT, |
| pixelFormat: DXGI_FORMAT, |
| alphaMode: DXGI_ALPHA_MODE, |
| surface: *mut *mut IDCompositionSurface, |
| ) -> HRESULT, |
| fn CreateVirtualSurface( |
| initialWidth: UINT, |
| initialHeight: UINT, |
| pixelFormat: DXGI_FORMAT, |
| alphaMode: DXGI_ALPHA_MODE, |
| virtualSurface: *mut *mut IDCompositionVirtualSurface, |
| ) -> HRESULT, |
| fn CreateSurfaceFromHandle( |
| handle: HANDLE, |
| mutsurface: *mut *mut IUnknown, |
| ) -> HRESULT, |
| fn CreateSurfaceFromHwnd( |
| hwnd: HWND, |
| mutsurface: *mut *mut IUnknown, |
| ) -> HRESULT, |
| fn CreateTranslateTransform( |
| translateTransform: *mut *mut IDCompositionTranslateTransform, |
| ) -> HRESULT, |
| fn CreateScaleTransform( |
| scaleTransform: *mut *mut IDCompositionScaleTransform, |
| ) -> HRESULT, |
| fn CreateRotateTransform( |
| rotateTransform: *mut *mut IDCompositionRotateTransform, |
| ) -> HRESULT, |
| fn CreateSkewTransform( |
| skewTransform: *mut *mut IDCompositionSkewTransform, |
| ) -> HRESULT, |
| fn CreateMatrixTransform( |
| matrixTransform: *mut *mut IDCompositionMatrixTransform, |
| ) -> HRESULT, |
| fn CreateTransformGroup( |
| transforms: *const *const IDCompositionTransform, |
| elements: UINT, |
| transformGroup: *mut *mut IDCompositionTransform, |
| ) -> HRESULT, |
| fn CreateTranslateTransform3D( |
| translateTransform3D: *mut *mut IDCompositionTranslateTransform3D, |
| ) -> HRESULT, |
| fn CreateScaleTransform3D( |
| scaleTransform3D: *mut *mut IDCompositionScaleTransform3D, |
| ) -> HRESULT, |
| fn CreateRotateTransform3D( |
| rotateTransform3D: *mut *mut IDCompositionRotateTransform3D, |
| ) -> HRESULT, |
| fn CreateMatrixTransform3D( |
| matrixTransform3D: *mut *mut IDCompositionMatrixTransform3D, |
| ) -> HRESULT, |
| fn CreateTransform3DGroup( |
| transforms3D: *const *const IDCompositionTransform3D, |
| elements: UINT, |
| transform3DGroup: *mut *mut IDCompositionTransform3D, |
| ) -> HRESULT, |
| fn CreateEffectGroup( |
| effectGroup: *mut *mut IDCompositionEffectGroup, |
| ) -> HRESULT, |
| fn CreateRectangleClip( |
| clip: *mut *mut IDCompositionRectangleClip, |
| ) -> HRESULT, |
| fn CreateAnimation( |
| animation: *mut *mut IDCompositionAnimation, |
| ) -> HRESULT, |
| fn CheckDeviceState( |
| pfValid: *mut BOOL, |
| ) -> HRESULT, |
| }} |
| RIDL!{#[uuid(0xeacdd04c, 0x117e, 0x4e17, 0x88, 0xf4, 0xd1, 0xb1, 0x2b, 0x0e, 0x3d, 0x89)] |
| interface IDCompositionTarget(IDCompositionTargetVtbl): IUnknown(IUnknownVtbl) { |
| fn SetRoot( |
| visual: *const IDCompositionVisual, |
| ) -> HRESULT, |
| }} |
| RIDL!{#[uuid(0x4d93059d, 0x097b, 0x4651, 0x9a, 0x60, 0xf0, 0xf2, 0x51, 0x16, 0xe2, 0xf3)] |
| interface IDCompositionVisual(IDCompositionVisualVtbl): IUnknown(IUnknownVtbl) { |
| fn SetOffsetX_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetOffsetX_1( |
| offsetX: c_float, |
| ) -> HRESULT, |
| fn SetOffsetY_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetOffsetY_1( |
| offsetY: c_float, |
| ) -> HRESULT, |
| fn SetTransform_2( |
| transform: *const IDCompositionTransform, |
| ) -> HRESULT, |
| fn SetTransform_1( |
| matrix: *const D2D_MATRIX_3X2_F, |
| ) -> HRESULT, |
| fn SetTransformParent( |
| visual: *const IDCompositionVisual, |
| ) -> HRESULT, |
| fn SetEffect( |
| effect: *const IDCompositionEffect, |
| ) -> HRESULT, |
| fn SetBitmapInterpolationMode( |
| interpolationMode: DCOMPOSITION_BITMAP_INTERPOLATION_MODE, |
| ) -> HRESULT, |
| fn SetBorderMode( |
| borderMode: DCOMPOSITION_BORDER_MODE, |
| ) -> HRESULT, |
| fn SetClip_2( |
| clip: *const IDCompositionClip, |
| ) -> HRESULT, |
| fn SetClip_1( |
| rect: *const D2D_RECT_F, |
| ) -> HRESULT, |
| fn SetContent( |
| content: *const IUnknown, |
| ) -> HRESULT, |
| fn AddVisual( |
| visual: *const IDCompositionVisual, |
| insertAbove: BOOL, |
| referenceVisual: *const IDCompositionVisual, |
| ) -> HRESULT, |
| fn RemoveVisual( |
| visual: *const IDCompositionVisual, |
| ) -> HRESULT, |
| fn RemoveAllVisuals() -> HRESULT, |
| fn SetCompositeMode( |
| compositeMode: DCOMPOSITION_COMPOSITE_MODE, |
| ) -> HRESULT, |
| }} |
| RIDL!{#[uuid(0xec81b08f, 0xbfcb, 0x4e8d, 0xb1, 0x93, 0xa9, 0x15, 0x58, 0x79, 0x99, 0xe8)] |
| interface IDCompositionEffect(IDCompositionEffectVtbl): IUnknown(IUnknownVtbl) {}} |
| RIDL!{#[uuid(0x71185722, 0x246b, 0x41f2, 0xaa, 0xd1, 0x04, 0x43, 0xf7, 0xf4, 0xbf, 0xc2)] |
| interface IDCompositionTransform3D(IDCompositionTransform3DVtbl): |
| IDCompositionEffect(IDCompositionEffectVtbl) {}} |
| RIDL!{#[uuid(0xfd55faa7, 0x37e0, 0x4c20, 0x95, 0xd2, 0x9b, 0xe4, 0x5b, 0xc3, 0x3f, 0x55)] |
| interface IDCompositionTransform(IDCompositionTransformVtbl): |
| IDCompositionTransform3D(IDCompositionTransform3DVtbl) {}} |
| RIDL!{#[uuid(0x06791122, 0xc6f0, 0x417d, 0x83, 0x23, 0x26, 0x9e, 0x98, 0x7f, 0x59, 0x54)] |
| interface IDCompositionTranslateTransform(IDCompositionTranslateTransformVtbl): |
| IDCompositionTransform(IDCompositionTransformVtbl) { |
| fn SetOffsetX_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetOffsetX_1( |
| offsetX: c_float, |
| ) -> HRESULT, |
| fn SetOffsetY_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetOffsetY_1( |
| offsetY: c_float, |
| ) -> HRESULT, |
| }} |
| RIDL!{#[uuid(0x71fde914, 0x40ef, 0x45ef, 0xbd, 0x51, 0x68, 0xb0, 0x37, 0xc3, 0x39, 0xf9)] |
| interface IDCompositionScaleTransform(IDCompositionScaleTransformVtbl): |
| IDCompositionTransform(IDCompositionTransformVtbl) { |
| fn SetScaleX_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetScaleX_1( |
| scaleX: c_float, |
| ) -> HRESULT, |
| fn SetScaleY_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetScaleY_1( |
| scaleY: c_float, |
| ) -> HRESULT, |
| fn SetCenterX_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetCenterX_1( |
| centerX: c_float, |
| ) -> HRESULT, |
| fn SetCenterY_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetCenterY_1( |
| centerY: c_float, |
| ) -> HRESULT, |
| }} |
| RIDL!{#[uuid(0x641ed83c, 0xae96, 0x46c5, 0x90, 0xdc, 0x32, 0x77, 0x4c, 0xc5, 0xc6, 0xd5)] |
| interface IDCompositionRotateTransform(IDCompositionRotateTransformVtbl): |
| IDCompositionTransform(IDCompositionTransformVtbl) { |
| fn SetAngle_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetAngle_1( |
| angle: c_float, |
| ) -> HRESULT, |
| fn SetCenterX_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetCenterX_1( |
| centerX: c_float, |
| ) -> HRESULT, |
| fn SetCenterY_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetCenterY_1( |
| centerY: c_float, |
| ) -> HRESULT, |
| }} |
| RIDL!{#[uuid(0xe57aa735, 0xdcdb, 0x4c72, 0x9c, 0x61, 0x05, 0x91, 0xf5, 0x88, 0x89, 0xee)] |
| interface IDCompositionSkewTransform(IDCompositionSkewTransformVtbl): |
| IDCompositionTransform(IDCompositionTransformVtbl) { |
| fn SetAngleX_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetAngleX_1( |
| angleX: c_float, |
| ) -> HRESULT, |
| fn SetAngleY_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetAngleY_1( |
| angleY: c_float, |
| ) -> HRESULT, |
| fn SetCenterX_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetCenterX_1( |
| centerX: c_float, |
| ) -> HRESULT, |
| fn SetCenterY_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetCenterY_1( |
| centerY: c_float, |
| ) -> HRESULT, |
| }} |
| RIDL!{#[uuid(0x16cdff07, 0xc503, 0x419c, 0x83, 0xf2, 0x09, 0x65, 0xc7, 0xaf, 0x1f, 0xa6)] |
| interface IDCompositionMatrixTransform(IDCompositionMatrixTransformVtbl): |
| IDCompositionTransform(IDCompositionTransformVtbl) { |
| fn SetMatrix( |
| matrix: *const D2D_MATRIX_3X2_F, |
| ) -> HRESULT, |
| fn SetMatrixElement_2( |
| row: c_int, |
| column: c_int, |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetMatrixElement_1( |
| row: c_int, |
| column: c_int, |
| value: c_float, |
| ) -> HRESULT, |
| }} |
| RIDL!{#[uuid(0xa7929a74, 0xe6b2, 0x4bd6, 0x8b, 0x95, 0x40, 0x40, 0x11, 0x9c, 0xa3, 0x4d)] |
| interface IDCompositionEffectGroup(IDCompositionEffectGroupVtbl): |
| IDCompositionEffect(IDCompositionEffectVtbl) { |
| fn SetOpacity_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetOpacity_1( |
| opacity: c_float, |
| ) -> HRESULT, |
| fn SetTransform3D( |
| transform3D: *const IDCompositionTransform3D, |
| ) -> HRESULT, |
| }} |
| RIDL!{#[uuid(0x91636d4b, 0x9ba1, 0x4532, 0xaa, 0xf7, 0xe3, 0x34, 0x49, 0x94, 0xd7, 0x88)] |
| interface IDCompositionTranslateTransform3D(IDCompositionTranslateTransform3DVtbl): |
| IDCompositionTransform3D(IDCompositionTransform3DVtbl) { |
| fn SetOffsetX_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetOffsetX_1( |
| offsetX: c_float, |
| ) -> HRESULT, |
| fn SetOffsetY_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetOffsetY_1( |
| offsetY: c_float, |
| ) -> HRESULT, |
| fn SetOffsetZ_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetOffsetZ_1( |
| offsetZ: c_float, |
| ) -> HRESULT, |
| }} |
| RIDL!{#[uuid(0x2a9e9ead, 0x364b, 0x4b15, 0xa7, 0xc4, 0xa1, 0x99, 0x7f, 0x78, 0xb3, 0x89)] |
| interface IDCompositionScaleTransform3D(IDCompositionScaleTransform3DVtbl): |
| IDCompositionTransform3D(IDCompositionTransform3DVtbl) { |
| fn SetScaleX_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetScaleX_1( |
| scaleX: c_float, |
| ) -> HRESULT, |
| fn SetScaleY_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetScaleY_1( |
| scaleY: c_float, |
| ) -> HRESULT, |
| fn SetScaleZ_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetScaleZ_1( |
| scaleZ: c_float, |
| ) -> HRESULT, |
| fn SetCenterX_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetCenterX_1( |
| centerX: c_float, |
| ) -> HRESULT, |
| fn SetCenterY_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetCenterY_1( |
| centerY: c_float, |
| ) -> HRESULT, |
| fn SetCenterZ_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetCenterZ_1( |
| centerZ: c_float, |
| ) -> HRESULT, |
| }} |
| RIDL!{#[uuid(0xd8f5b23f, 0xd429, 0x4a91, 0xb5, 0x5a, 0xd2, 0xf4, 0x5f, 0xd7, 0x5b, 0x18)] |
| interface IDCompositionRotateTransform3D(IDCompositionRotateTransform3DVtbl): |
| IDCompositionTransform3D(IDCompositionTransform3DVtbl) { |
| fn SetAngle_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetAngle_1( |
| angle: c_float, |
| ) -> HRESULT, |
| fn SetAxisX_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetAxisX_1( |
| axisX: c_float, |
| ) -> HRESULT, |
| fn SetAxisY_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetAxisY_1( |
| axisY: c_float, |
| ) -> HRESULT, |
| fn SetAxisZ_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetAxisZ_1( |
| axisZ: c_float, |
| ) -> HRESULT, |
| fn SetCenterX_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetCenterX_1( |
| centerX: c_float, |
| ) -> HRESULT, |
| fn SetCenterY_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetCenterY_1( |
| centerY: c_float, |
| ) -> HRESULT, |
| fn SetCenterZ_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetCenterZ_1( |
| centerZ: c_float, |
| ) -> HRESULT, |
| }} |
| RIDL!{#[uuid(0x4b3363f0, 0x643b, 0x41b7, 0xb6, 0xe0, 0xcc, 0xf2, 0x2d, 0x34, 0x46, 0x7c)] |
| interface IDCompositionMatrixTransform3D(IDCompositionMatrixTransform3DVtbl): |
| IDCompositionTransform3D(IDCompositionTransform3DVtbl) { |
| fn SetMatrix( |
| matrix: *const D3DMATRIX, |
| ) -> HRESULT, |
| fn SetMatrixElement_2( |
| row: c_int, |
| column: c_int, |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetMatrixElement_1( |
| row: c_int, |
| column: c_int, |
| value: c_float, |
| ) -> HRESULT, |
| }} |
| RIDL!{#[uuid(0x64ac3703, 0x9d3f, 0x45ec, 0xa1, 0x09, 0x7c, 0xac, 0x0e, 0x7a, 0x13, 0xa7)] |
| interface IDCompositionClip(IDCompositionClipVtbl): IUnknown(IUnknownVtbl) {}} |
| RIDL!{#[uuid(0x9842ad7d, 0xd9cf, 0x4908, 0xae, 0xd7, 0x48, 0xb5, 0x1d, 0xa5, 0xe7, 0xc2)] |
| interface IDCompositionRectangleClip(IDCompositionRectangleClipVtbl): |
| IDCompositionClip(IDCompositionClipVtbl) { |
| fn SetLeft_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetLeft_1( |
| left: c_float, |
| ) -> HRESULT, |
| fn SetTop_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetTop_1( |
| top: c_float, |
| ) -> HRESULT, |
| fn SetRight_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetRight_1( |
| right: c_float, |
| ) -> HRESULT, |
| fn SetBottom_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetBottom_1( |
| bottom: c_float, |
| ) -> HRESULT, |
| fn SetTopLeftRadiusX_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetTopLeftRadiusX_1( |
| radius: c_float, |
| ) -> HRESULT, |
| fn SetTopLeftRadiusY_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetTopLeftRadiusY_1( |
| radius: c_float, |
| ) -> HRESULT, |
| fn SetTopRightRadiusX_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetTopRightRadiusX_1( |
| radius: c_float, |
| ) -> HRESULT, |
| fn SetTopRightRadiusY_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetTopRightRadiusY_1( |
| radius: c_float, |
| ) -> HRESULT, |
| fn SetBottomLeftRadiusX_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetBottomLeftRadiusX_1( |
| radius: c_float, |
| ) -> HRESULT, |
| fn SetBottomLeftRadiusY_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetBottomLeftRadiusY_1( |
| radius: c_float, |
| ) -> HRESULT, |
| fn SetBottomRightRadiusX_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetBottomRightRadiusX_1( |
| radius: c_float, |
| ) -> HRESULT, |
| fn SetBottomRightRadiusY_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetBottomRightRadiusY_1( |
| radius: c_float, |
| ) -> HRESULT, |
| }} |
| RIDL!{#[uuid(0xbb8a4953, 0x2c99, 0x4f5a, 0x96, 0xf5, 0x48, 0x19, 0x02, 0x7f, 0xa3, 0xac)] |
| interface IDCompositionSurface(IDCompositionSurfaceVtbl): IUnknown(IUnknownVtbl) { |
| fn BeginDraw( |
| updateRect: *const RECT, |
| iid: REFIID, |
| updateObject: *mut *mut c_void, |
| updateOffset: *mut POINT, |
| ) -> HRESULT, |
| fn EndDraw() -> HRESULT, |
| fn SuspendDraw() -> HRESULT, |
| fn ResumeDraw() -> HRESULT, |
| fn Scroll( |
| scrollRect: *const RECT, |
| clipRect: *const RECT, |
| offsetX: c_int, |
| offsetY: c_int, |
| ) -> HRESULT, |
| }} |
| RIDL!{#[uuid(0xae471c51, 0x5f53, 0x4a24, 0x8d, 0x3e, 0xd0, 0xc3, 0x9c, 0x30, 0xb3, 0xf0)] |
| interface IDCompositionVirtualSurface(IDCompositionVirtualSurfaceVtbl): |
| IDCompositionSurface(IDCompositionSurfaceVtbl) { |
| fn Resize( |
| width: UINT, |
| height: UINT, |
| ) -> HRESULT, |
| fn Trim( |
| rectangles: *const RECT, |
| count: UINT, |
| ) -> HRESULT, |
| }} |
| RIDL!{#[uuid(0x75f6468d, 0x1b8e, 0x447c, 0x9b, 0xc6, 0x75, 0xfe, 0xa8, 0x0b, 0x5b, 0x25)] |
| interface IDCompositionDevice2(IDCompositionDevice2Vtbl): IUnknown(IUnknownVtbl) { |
| fn Commit() -> HRESULT, |
| fn WaitForCommitCompletion() -> HRESULT, |
| fn GetFrameStatistics( |
| statistics: *mut DCOMPOSITION_FRAME_STATISTICS, |
| ) -> HRESULT, |
| fn CreateVisual( |
| visual: *mut *mut IDCompositionVisual2, |
| ) -> HRESULT, |
| fn CreateSurfaceFactory( |
| renderingDevice: *const IUnknown, |
| surfaceFactory: *mut *mut IDCompositionSurfaceFactory, |
| ) -> HRESULT, |
| fn CreateSurface( |
| width: UINT, |
| height: UINT, |
| pixelFormat: DXGI_FORMAT, |
| alphaMode: DXGI_ALPHA_MODE, |
| surface: *mut *mut IDCompositionSurface, |
| ) -> HRESULT, |
| fn CreateVirtualSurface( |
| initialWidth: UINT, |
| initialHeight: UINT, |
| pixelFormat: DXGI_FORMAT, |
| alphaMode: DXGI_ALPHA_MODE, |
| virtualSurface: *mut *mut IDCompositionVirtualSurface, |
| ) -> HRESULT, |
| fn CreateTranslateTransform( |
| translateTransform: *mut *mut IDCompositionTranslateTransform, |
| ) -> HRESULT, |
| fn CreateScaleTransform( |
| scaleTransform: *mut *mut IDCompositionScaleTransform, |
| ) -> HRESULT, |
| fn CreateRotateTransform( |
| rotateTransform: *mut *mut IDCompositionRotateTransform, |
| ) -> HRESULT, |
| fn CreateSkewTransform( |
| skewTransform: *mut *mut IDCompositionSkewTransform, |
| ) -> HRESULT, |
| fn CreateMatrixTransform( |
| matrixTransform: *mut *mut IDCompositionMatrixTransform, |
| ) -> HRESULT, |
| fn CreateTransformGroup( |
| transforms: *const *const IDCompositionTransform, |
| elements: UINT, |
| transformGroup: *mut *mut IDCompositionTransform, |
| ) -> HRESULT, |
| fn CreateTranslateTransform3D( |
| translateTransform3D: *mut *mut IDCompositionTranslateTransform3D, |
| ) -> HRESULT, |
| fn CreateScaleTransform3D( |
| scaleTransform3D: *mut *mut IDCompositionScaleTransform3D, |
| ) -> HRESULT, |
| fn CreateRotateTransform3D( |
| rotateTransform3D: *mut *mut IDCompositionRotateTransform3D, |
| ) -> HRESULT, |
| fn CreateMatrixTransform3D( |
| matrixTransform3D: *mut *mut IDCompositionMatrixTransform3D, |
| ) -> HRESULT, |
| fn CreateTransform3DGroup( |
| transforms3D: *const *const IDCompositionTransform3D, |
| elements: UINT, |
| transform3DGroup: *mut *mut IDCompositionTransform3D, |
| ) -> HRESULT, |
| fn CreateEffectGroup( |
| effectGroup: *mut *mut IDCompositionEffectGroup, |
| ) -> HRESULT, |
| fn CreateRectangleClip( |
| clip: *mut *mut IDCompositionRectangleClip, |
| ) -> HRESULT, |
| fn CreateAnimation( |
| animation: *mut *mut IDCompositionAnimation, |
| ) -> HRESULT, |
| }} |
| RIDL!{#[uuid(0x5f4633fe, 0x1e08, 0x4cb8, 0x8c, 0x75, 0xce, 0x24, 0x33, 0x3f, 0x56, 0x02)] |
| interface IDCompositionDesktopDevice(IDCompositionDesktopDeviceVtbl): |
| IDCompositionDevice2(IDCompositionDevice2Vtbl) { |
| fn CreateTargetForHwnd( |
| hwnd: HWND, |
| topmost: BOOL, |
| target: *mut *mut IDCompositionTarget, |
| ) -> HRESULT, |
| fn CreateSurfaceFromHandle( |
| handle: HANDLE, |
| surface: *mut *mut IUnknown, |
| ) -> HRESULT, |
| fn CreateSurfaceFromHwnd( |
| hwnd: HWND, |
| surface: *mut *mut IUnknown, |
| ) -> HRESULT, |
| }} |
| RIDL!{#[uuid(0xa1a3c64a, 0x224f, 0x4a81, 0x97, 0x73, 0x4f, 0x03, 0xa8, 0x9d, 0x3c, 0x6c)] |
| interface IDCompositionDeviceDebug(IDCompositionDeviceDebugVtbl): IUnknown(IUnknownVtbl) { |
| fn EnableDebugCounters() -> HRESULT, |
| fn DisableDebugCounters() -> HRESULT, |
| }} |
| RIDL!{#[uuid(0xe334bc12, 0x3937, 0x4e02, 0x85, 0xeb, 0xfc, 0xf4, 0xeb, 0x30, 0xd2, 0xc8)] |
| interface IDCompositionSurfaceFactory(IDCompositionSurfaceFactoryVtbl): IUnknown(IUnknownVtbl) { |
| fn CreateSurface( |
| width: UINT, |
| height: UINT, |
| pixelFormat: DXGI_FORMAT, |
| alphaMode: DXGI_ALPHA_MODE, |
| surface: *mut *mut IDCompositionSurface, |
| ) -> HRESULT, |
| fn CreateVirtualSurface( |
| initialWidth: UINT, |
| initialHeight: UINT, |
| pixelFormat: DXGI_FORMAT, |
| alphaMode: DXGI_ALPHA_MODE, |
| virtualSurface: *mut *mut IDCompositionVirtualSurface, |
| ) -> HRESULT, |
| }} |
| RIDL!{#[uuid(0xe8de1639, 0x4331, 0x4b26, 0xbc, 0x5f, 0x6a, 0x32, 0x1d, 0x34, 0x7a, 0x85)] |
| interface IDCompositionVisual2(IDCompositionVisual2Vtbl): |
| IDCompositionVisual(IDCompositionVisualVtbl) { |
| fn SetOpacityMode( |
| mode: DCOMPOSITION_OPACITY_MODE, |
| ) -> HRESULT, |
| fn SetBackFaceVisibility( |
| visibility: DCOMPOSITION_BACKFACE_VISIBILITY, |
| ) -> HRESULT, |
| }} |
| RIDL!{#[uuid(0xfed2b808, 0x5eb4, 0x43a0, 0xae, 0xa3, 0x35, 0xf6, 0x52, 0x80, 0xf9, 0x1b)] |
| interface IDCompositionVisualDebug(IDCompositionVisualDebugVtbl): |
| IDCompositionVisual2(IDCompositionVisual2Vtbl) { |
| fn EnableHeatMap( |
| color: *const D2D1_COLOR_F, |
| ) -> HRESULT, |
| fn DisableHeatMap() -> HRESULT, |
| fn EnableRedrawRegions() -> HRESULT, |
| fn DisableRedrawRegions() -> HRESULT, |
| }} |
| RIDL!{#[uuid(0x2775f462, 0xb6c1, 0x4015, 0xb0, 0xbe, 0xb3, 0xe7, 0xd6, 0xa4, 0x97, 0x6d)] |
| interface IDCompositionVisual3(IDCompositionVisual3Vtbl): |
| IDCompositionVisualDebug(IDCompositionVisualDebugVtbl) { |
| fn SetDepthMode( |
| mode: DCOMPOSITION_DEPTH_MODE, |
| ) -> HRESULT, |
| fn SetOffsetZ_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetOffsetZ_1( |
| offsetZ: c_float, |
| ) -> HRESULT, |
| fn SetOpacity_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetOpacity_1( |
| opacity: c_float, |
| ) -> HRESULT, |
| fn SetTransform_2( |
| transform: *const IDCompositionTransform3D, |
| ) -> HRESULT, |
| fn SetTransform_1( |
| matrix: *const D2D_MATRIX_4X4_F, |
| ) -> HRESULT, |
| fn SetVisible( |
| visible: BOOL, |
| ) -> HRESULT, |
| }} |
| RIDL!{#[uuid(0x0987cb06, 0xf916, 0x48bf, 0x8d, 0x35, 0xce, 0x76, 0x41, 0x78, 0x1b, 0xd9)] |
| interface IDCompositionDevice3(IDCompositionDevice3Vtbl): |
| IDCompositionDevice2(IDCompositionDevice2Vtbl) { |
| fn CreateGaussianBlurEffect( |
| gaussianBlurEffect: *mut *mut IDCompositionGaussianBlurEffect, |
| ) -> HRESULT, |
| fn CreateBrightnessEffect( |
| brightnessEffect: *mut *mut IDCompositionBrightnessEffect, |
| ) -> HRESULT, |
| fn CreateColorMatrixEffect( |
| colorMatrixEffect: *mut *mut IDCompositionColorMatrixEffect, |
| ) -> HRESULT, |
| fn CreateShadowEffect( |
| shadowEffect: *mut *mut IDCompositionShadowEffect, |
| ) -> HRESULT, |
| fn CreateHueRotationEffect( |
| hueRotationEffect: *mut *mut IDCompositionHueRotationEffect, |
| ) -> HRESULT, |
| fn CreateSaturationEffect( |
| saturationEffect: *mut *mut IDCompositionSaturationEffect, |
| ) -> HRESULT, |
| fn CreateTurbulenceEffect( |
| turbulenceEffect: *mut *mut IDCompositionTurbulenceEffect, |
| ) -> HRESULT, |
| fn CreateLinearTransferEffect( |
| linearTransferEffect: *mut *mut IDCompositionLinearTransferEffect, |
| ) -> HRESULT, |
| fn CreateTableTransferEffect( |
| tableTransferEffect: *mut *mut IDCompositionTableTransferEffect, |
| ) -> HRESULT, |
| fn CreateCompositeEffect( |
| compositeEffect: *mut *mut IDCompositionCompositeEffect, |
| ) -> HRESULT, |
| fn CreateBlendEffect( |
| blendEffect: *mut *mut IDCompositionBlendEffect, |
| ) -> HRESULT, |
| fn CreateArithmeticCompositeEffect( |
| arithmeticCompositeEffect: *mut *mut IDCompositionArithmeticCompositeEffect, |
| ) -> HRESULT, |
| fn CreateAffineTransform2DEffect( |
| affineTransform2dEffect: *mut *mut IDCompositionAffineTransform2DEffect, |
| ) -> HRESULT, |
| }} |
| RIDL!{#[uuid(0x30c421d5, 0x8cb2, 0x4e9f, 0xb1, 0x33, 0x37, 0xbe, 0x27, 0x0d, 0x4a, 0xc2)] |
| interface IDCompositionFilterEffect(IDCompositionFilterEffectVtbl): |
| IDCompositionEffect(IDCompositionEffectVtbl) { |
| fn SetInput( |
| index: UINT, |
| input: *const IUnknown, |
| flags: UINT, |
| ) -> HRESULT, |
| }} |
| RIDL!{#[uuid(0x45d4d0b7, 0x1bd4, 0x454e, 0x88, 0x94, 0x2b, 0xfa, 0x68, 0x44, 0x30, 0x33)] |
| interface IDCompositionGaussianBlurEffect(IDCompositionGaussianBlurEffectVtbl): |
| IDCompositionFilterEffect(IDCompositionFilterEffectVtbl) { |
| fn SetStandardDeviation_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetStandardDeviation_1( |
| amount: c_float, |
| ) -> HRESULT, |
| fn SetBorderMode( |
| mode: D2D1_BORDER_MODE, |
| ) -> HRESULT, |
| }} |
| RIDL!{#[uuid(0x6027496e, 0xcb3a, 0x49ab, 0x93, 0x4f, 0xd7, 0x98, 0xda, 0x4f, 0x7d, 0xa6)] |
| interface IDCompositionBrightnessEffect(IDCompositionBrightnessEffectVtbl): |
| IDCompositionFilterEffect(IDCompositionFilterEffectVtbl) { |
| fn SetWhitePoint( |
| whitePoint: *const D2D1_VECTOR_2F, |
| ) -> HRESULT, |
| fn SetBlackPoint( |
| blackPoint: *const D2D1_VECTOR_2F, |
| ) -> HRESULT, |
| fn SetWhitePointX_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetWhitePointX_1( |
| whitePointX: c_float, |
| ) -> HRESULT, |
| fn SetWhitePointY_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetWhitePointY_1( |
| whitePointY: c_float, |
| ) -> HRESULT, |
| fn SetBlackPointX_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetBlackPointX_1( |
| blackPointX: c_float, |
| ) -> HRESULT, |
| fn SetBlackPointY_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetBlackPointY_1( |
| blackPointY: c_float, |
| ) -> HRESULT, |
| }} |
| RIDL!{#[uuid(0xc1170a22, 0x3ce2, 0x4966, 0x90, 0xd4, 0x55, 0x40, 0x8b, 0xfc, 0x84, 0xc4)] |
| interface IDCompositionColorMatrixEffect(IDCompositionColorMatrixEffectVtbl): |
| IDCompositionFilterEffect(IDCompositionFilterEffectVtbl) { |
| fn SetMatrix( |
| matrix: *const D2D1_MATRIX_5X4_F, |
| ) -> HRESULT, |
| fn SetMatrixElement_2( |
| row: c_int, |
| column: c_int, |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetMatrixElement_1( |
| row: c_int, |
| column: c_int, |
| value: c_float, |
| ) -> HRESULT, |
| fn SetAlphaMode( |
| mode: D2D1_COLORMATRIX_ALPHA_MODE, |
| ) -> HRESULT, |
| fn SetClampOutput( |
| clamp: BOOL, |
| ) -> HRESULT, |
| }} |
| RIDL!{#[uuid(0x4ad18ac0, 0xcfd2, 0x4c2f, 0xbb, 0x62, 0x96, 0xe5, 0x4f, 0xdb, 0x68, 0x79)] |
| interface IDCompositionShadowEffect(IDCompositionShadowEffectVtbl): |
| IDCompositionFilterEffect(IDCompositionFilterEffectVtbl) { |
| fn SetStandardDeviation_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetStandardDeviation_1( |
| amount: c_float, |
| ) -> HRESULT, |
| fn SetColor( |
| color: *const D2D1_VECTOR_4F, |
| ) -> HRESULT, |
| fn SetRed_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetRed_1( |
| amount: c_float, |
| ) -> HRESULT, |
| fn SetGreen_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetGreen_1( |
| amount: c_float, |
| ) -> HRESULT, |
| fn SetBlue_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetBlue_1( |
| amount: c_float, |
| ) -> HRESULT, |
| fn SetAlpha_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetAlpha_1( |
| amount: c_float, |
| ) -> HRESULT, |
| }} |
| RIDL!{#[uuid(0x6db9f920, 0x0770, 0x4781, 0xb0, 0xc6, 0x38, 0x19, 0x12, 0xf9, 0xd1, 0x67)] |
| interface IDCompositionHueRotationEffect(IDCompositionHueRotationEffectVtbl): |
| IDCompositionFilterEffect(IDCompositionFilterEffectVtbl) { |
| // Changes the angle of rotation |
| fn SetAngle_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetAngle_1( |
| amountDegrees: c_float, |
| ) -> HRESULT, |
| }} |
| RIDL!{#[uuid(0xa08debda, 0x3258, 0x4fa4, 0x9f, 0x16, 0x91, 0x74, 0xd3, 0xfe, 0x93, 0xb1)] |
| interface IDCompositionSaturationEffect(IDCompositionSaturationEffectVtbl): |
| IDCompositionFilterEffect(IDCompositionFilterEffectVtbl) { |
| // Changes the amount of saturation to be applied. |
| fn SetSaturation_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetSaturation_1( |
| ratio: c_float, |
| ) -> HRESULT, |
| }} |
| RIDL!{#[uuid(0xa6a55bda, 0xc09c, 0x49f3, 0x91, 0x93, 0xa4, 0x19, 0x22, 0xc8, 0x97, 0x15)] |
| interface IDCompositionTurbulenceEffect(IDCompositionTurbulenceEffectVtbl): |
| IDCompositionFilterEffect(IDCompositionFilterEffectVtbl) { |
| fn SetOffset( |
| offset: *const D2D1_VECTOR_2F, |
| ) -> HRESULT, |
| fn SetBaseFrequency( |
| frequency: *const D2D1_VECTOR_2F, |
| ) -> HRESULT, |
| fn SetSize( |
| size: *const D2D1_VECTOR_2F, |
| ) -> HRESULT, |
| fn SetNumOctaves( |
| numOctaves: UINT, |
| ) -> HRESULT, |
| fn SetSeed( |
| seed: UINT, |
| ) -> HRESULT, |
| fn SetNoise( |
| noise: D2D1_TURBULENCE_NOISE, |
| ) -> HRESULT, |
| fn SetStitchable( |
| stitchable: BOOL, |
| ) -> HRESULT, |
| }} |
| RIDL!{#[uuid(0x4305ee5b, 0xc4a0, 0x4c88, 0x93, 0x85, 0x67, 0x12, 0x4e, 0x01, 0x76, 0x83)] |
| interface IDCompositionLinearTransferEffect(IDCompositionLinearTransferEffectVtbl): |
| IDCompositionFilterEffect(IDCompositionFilterEffectVtbl) { |
| fn SetRedYIntercept_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetRedYIntercept_1( |
| redYIntercept: c_float, |
| ) -> HRESULT, |
| fn SetRedSlope_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetRedSlope_1( |
| redSlope: c_float, |
| ) -> HRESULT, |
| fn SetRedDisable( |
| redDisable: BOOL, |
| ) -> HRESULT, |
| fn SetGreenYIntercept_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetGreenYIntercept_1( |
| greenYIntercept: c_float, |
| ) -> HRESULT, |
| fn SetGreenSlope_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetGreenSlope_1( |
| greenSlope: c_float, |
| ) -> HRESULT, |
| fn SetGreenDisable( |
| greenDisable: BOOL, |
| ) -> HRESULT, |
| fn SetBlueYIntercept_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetBlueYIntercept_1( |
| blueYIntercept: c_float, |
| ) -> HRESULT, |
| fn SetBlueSlope_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetBlueSlope_1( |
| blueSlope: c_float, |
| ) -> HRESULT, |
| fn SetBlueDisable( |
| blueDisable: BOOL, |
| ) -> HRESULT, |
| fn SetAlphaYIntercept_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetAlphaYIntercept_1( |
| alphaYIntercept: c_float, |
| ) -> HRESULT, |
| fn SetAlphaSlope_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetAlphaSlope_1( |
| alphaSlope: c_float, |
| ) -> HRESULT, |
| fn SetAlphaDisable( |
| alphaDisable: BOOL, |
| ) -> HRESULT, |
| fn SetClampOutput( |
| clampOutput: BOOL, |
| ) -> HRESULT, |
| }} |
| RIDL!{#[uuid(0x9b7e82e2, 0x69c5, 0x4eb4, 0xa5, 0xf5, 0xa7, 0x03, 0x3f, 0x51, 0x32, 0xcd)] |
| interface IDCompositionTableTransferEffect(IDCompositionTableTransferEffectVtbl): |
| IDCompositionFilterEffect(IDCompositionFilterEffectVtbl) { |
| fn SetRedTable( |
| tableValues: *const c_float, |
| count: UINT, |
| ) -> HRESULT, |
| fn SetGreenTable( |
| tableValues: *const c_float, |
| count: UINT, |
| ) -> HRESULT, |
| fn SetBlueTable( |
| tableValues: *const c_float, |
| count: UINT, |
| ) -> HRESULT, |
| fn SetAlphaTable( |
| tableValues: *const c_float, |
| count: UINT, |
| ) -> HRESULT, |
| fn SetRedDisable( |
| redDisable: BOOL, |
| ) -> HRESULT, |
| fn SetGreenDisable( |
| greenDisable: BOOL, |
| ) -> HRESULT, |
| fn SetBlueDisable( |
| blueDisable: BOOL, |
| ) -> HRESULT, |
| fn SetAlphaDisable( |
| alphaDisable: BOOL, |
| ) -> HRESULT, |
| fn SetClampOutput( |
| clampOutput: BOOL, |
| ) -> HRESULT, |
| fn SetRedTableValue_2( |
| index: UINT, |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetRedTableValue_1( |
| index: UINT, |
| value: c_float, |
| ) -> HRESULT, |
| fn SetGreenTableValue_2( |
| index: UINT, |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetGreenTableValue_1( |
| index: UINT, |
| value: c_float, |
| ) -> HRESULT, |
| fn SetBlueTableValue_2( |
| index: UINT, |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetBlueTableValue_1( |
| index: UINT, |
| value: c_float, |
| ) -> HRESULT, |
| fn SetAlphaTableValue_2( |
| index: UINT, |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetAlphaTableValue_1( |
| index: UINT, |
| value: c_float, |
| ) -> HRESULT, |
| }} |
| RIDL!{#[uuid(0x576616c0, 0xa231, 0x494d, 0xa3, 0x8d, 0x00, 0xfd, 0x5e, 0xc4, 0xdb, 0x46)] |
| interface IDCompositionCompositeEffect(IDCompositionCompositeEffectVtbl): |
| IDCompositionFilterEffect(IDCompositionFilterEffectVtbl) { |
| fn SetMode( |
| mode: D2D1_COMPOSITE_MODE, |
| ) -> HRESULT, |
| }} |
| RIDL!{#[uuid(0x33ecdc0a, 0x578a, 0x4a11, 0x9c, 0x14, 0x0c, 0xb9, 0x05, 0x17, 0xf9, 0xc5)] |
| interface IDCompositionBlendEffect(IDCompositionBlendEffectVtbl): |
| IDCompositionFilterEffect(IDCompositionFilterEffectVtbl) { |
| fn SetMode( |
| mode: D2D1_BLEND_MODE, |
| ) -> HRESULT, |
| }} |
| RIDL!{#[uuid(0x3b67dfa8, 0xe3dd, 0x4e61, 0xb6, 0x40, 0x46, 0xc2, 0xf3, 0xd7, 0x39, 0xdc)] |
| interface IDCompositionArithmeticCompositeEffect(IDCompositionArithmeticCompositeEffectVtbl): |
| IDCompositionFilterEffect(IDCompositionFilterEffectVtbl) { |
| fn SetCoefficients( |
| coefficients: *const D2D1_VECTOR_4F, |
| ) -> HRESULT, |
| fn SetClampOutput( |
| clampoutput: BOOL, |
| ) -> HRESULT, |
| fn SetCoefficient1_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetCoefficient1_1( |
| Coeffcient1: c_float, |
| ) -> HRESULT, |
| fn SetCoefficient2_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetCoefficient2_1( |
| Coefficient2: c_float, |
| ) -> HRESULT, |
| fn SetCoefficient3_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetCoefficient3_1( |
| Coefficient3: c_float, |
| ) -> HRESULT, |
| fn SetCoefficient4_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetCoefficient4_1( |
| Coefficient4: c_float, |
| ) -> HRESULT, |
| }} |
| RIDL!{#[uuid(0x0b74b9e8, 0xcdd6, 0x492f, 0xbb, 0xbc, 0x5e, 0xd3, 0x21, 0x57, 0x02, 0x6d)] |
| interface IDCompositionAffineTransform2DEffect(IDCompositionAffineTransform2DEffectVtbl): |
| IDCompositionFilterEffect(IDCompositionFilterEffectVtbl) { |
| fn SetInterpolationMode( |
| interpolationMode: D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE, |
| ) -> HRESULT, |
| fn SetBorderMode( |
| borderMode: D2D1_BORDER_MODE, |
| ) -> HRESULT, |
| fn SetTransformMatrix( |
| transformMatrix: *const D2D1_MATRIX_3X2_F, |
| ) -> HRESULT, |
| fn SetTransformMatrixElement_2( |
| row: c_int, |
| column: c_int, |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetTransformMatrixElement_1( |
| row: c_int, |
| column: c_int, |
| value: c_float, |
| ) -> HRESULT, |
| fn SetSharpness_2( |
| animation: *const IDCompositionAnimation, |
| ) -> HRESULT, |
| fn SetSharpness_1( |
| sharpness: c_float, |
| ) -> HRESULT, |
| }} |