// 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(0 xc37ea93a, 0 xe7aa, 0 x450d, 0 xb1, 0 x6f, 0 x97, 0 x46, 0 xcb, 0 x04, 0 x07, 0 xf3)]
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(0 xeacdd04c, 0 x117e, 0 x4e17, 0 x88, 0 xf4, 0 xd1, 0 xb1, 0 x2b, 0 x0e, 0 x3d, 0 x89)]
interface IDCompositionTarget(IDCompositionTargetVtbl): IUnknown(IUnknownVtbl) {
fn SetRoot(
visual: *const IDCompositionVisual,
) -> HRESULT,
}}
RIDL!{#[ uuid(0 x4d93059d, 0 x097b, 0 x4651, 0 x9a, 0 x60, 0 xf0, 0 xf2, 0 x51, 0 x16, 0 xe2, 0 xf3)]
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(0 xec81b08f, 0 xbfcb, 0 x4e8d, 0 xb1, 0 x93, 0 xa9, 0 x15, 0 x58, 0 x79, 0 x99, 0 xe8)]
interface IDCompositionEffect(IDCompositionEffectVtbl): IUnknown(IUnknownVtbl) {}}
RIDL!{#[ uuid(0 x71185722, 0 x246b, 0 x41f2, 0 xaa, 0 xd1, 0 x04, 0 x43, 0 xf7, 0 xf4, 0 xbf, 0 xc2)]
interface IDCompositionTransform3D(IDCompositionTransform3DVtbl):
IDCompositionEffect(IDCompositionEffectVtbl) {}}
RIDL!{#[ uuid(0 xfd55faa7, 0 x37e0, 0 x4c20, 0 x95, 0 xd2, 0 x9b, 0 xe4, 0 x5b, 0 xc3, 0 x3f, 0 x55)]
interface IDCompositionTransform(IDCompositionTransformVtbl):
IDCompositionTransform3D(IDCompositionTransform3DVtbl) {}}
RIDL!{#[ uuid(0 x06791122, 0 xc6f0, 0 x417d, 0 x83, 0 x23, 0 x26, 0 x9e, 0 x98, 0 x7f, 0 x59, 0 x54)]
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(0 x71fde914, 0 x40ef, 0 x45ef, 0 xbd, 0 x51, 0 x68, 0 xb0, 0 x37, 0 xc3, 0 x39, 0 xf9)]
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(0 x641ed83c, 0 xae96, 0 x46c5, 0 x90, 0 xdc, 0 x32, 0 x77, 0 x4c, 0 xc5, 0 xc6, 0 xd5)]
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(0 xe57aa735, 0 xdcdb, 0 x4c72, 0 x9c, 0 x61, 0 x05, 0 x91, 0 xf5, 0 x88, 0 x89, 0 xee)]
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(0 x16cdff07, 0 xc503, 0 x419c, 0 x83, 0 xf2, 0 x09, 0 x65, 0 xc7, 0 xaf, 0 x1f, 0 xa6)]
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(0 xa7929a74, 0 xe6b2, 0 x4bd6, 0 x8b, 0 x95, 0 x40, 0 x40, 0 x11, 0 x9c, 0 xa3, 0 x4d)]
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(0 x91636d4b, 0 x9ba1, 0 x4532, 0 xaa, 0 xf7, 0 xe3, 0 x34, 0 x49, 0 x94, 0 xd7, 0 x88)]
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(0 x2a9e9ead, 0 x364b, 0 x4b15, 0 xa7, 0 xc4, 0 xa1, 0 x99, 0 x7f, 0 x78, 0 xb3, 0 x89)]
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(0 xd8f5b23f, 0 xd429, 0 x4a91, 0 xb5, 0 x5a, 0 xd2, 0 xf4, 0 x5f, 0 xd7, 0 x5b, 0 x18)]
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(0 x4b3363f0, 0 x643b, 0 x41b7, 0 xb6, 0 xe0, 0 xcc, 0 xf2, 0 x2d, 0 x34, 0 x46, 0 x7c)]
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(0 x64ac3703, 0 x9d3f, 0 x45ec, 0 xa1, 0 x09, 0 x7c, 0 xac, 0 x0e, 0 x7a, 0 x13, 0 xa7)]
interface IDCompositionClip(IDCompositionClipVtbl): IUnknown(IUnknownVtbl) {}}
RIDL!{#[ uuid(0 x9842ad7d, 0 xd9cf, 0 x4908, 0 xae, 0 xd7, 0 x48, 0 xb5, 0 x1d, 0 xa5, 0 xe7, 0 xc2)]
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(0 xbb8a4953, 0 x2c99, 0 x4f5a, 0 x96, 0 xf5, 0 x48, 0 x19, 0 x02, 0 x7f, 0 xa3, 0 xac)]
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(0 xae471c51, 0 x5f53, 0 x4a24, 0 x8d, 0 x3e, 0 xd0, 0 xc3, 0 x9c, 0 x30, 0 xb3, 0 xf0)]
interface IDCompositionVirtualSurface(IDCompositionVirtualSurfaceVtbl):
IDCompositionSurface(IDCompositionSurfaceVtbl) {
fn Resize(
width: UINT,
height: UINT,
) -> HRESULT,
fn Trim(
rectangles: *const RECT,
count: UINT,
) -> HRESULT,
}}
RIDL!{#[ uuid(0 x75f6468d, 0 x1b8e, 0 x447c, 0 x9b, 0 xc6, 0 x75, 0 xfe, 0 xa8, 0 x0b, 0 x5b, 0 x25)]
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(0 x5f4633fe, 0 x1e08, 0 x4cb8, 0 x8c, 0 x75, 0 xce, 0 x24, 0 x33, 0 x3f, 0 x56, 0 x02)]
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(0 xa1a3c64a, 0 x224f, 0 x4a81, 0 x97, 0 x73, 0 x4f, 0 x03, 0 xa8, 0 x9d, 0 x3c, 0 x6c)]
interface IDCompositionDeviceDebug(IDCompositionDeviceDebugVtbl): IUnknown(IUnknownVtbl) {
fn EnableDebugCounters() -> HRESULT,
fn DisableDebugCounters() -> HRESULT,
}}
RIDL!{#[ uuid(0 xe334bc12, 0 x3937, 0 x4e02, 0 x85, 0 xeb, 0 xfc, 0 xf4, 0 xeb, 0 x30, 0 xd2, 0 xc8)]
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(0 xe8de1639, 0 x4331, 0 x4b26, 0 xbc, 0 x5f, 0 x6a, 0 x32, 0 x1d, 0 x34, 0 x7a, 0 x85)]
interface IDCompositionVisual2(IDCompositionVisual2Vtbl):
IDCompositionVisual(IDCompositionVisualVtbl) {
fn SetOpacityMode(
mode: DCOMPOSITION_OPACITY_MODE,
) -> HRESULT,
fn SetBackFaceVisibility(
visibility: DCOMPOSITION_BACKFACE_VISIBILITY,
) -> HRESULT,
}}
RIDL!{#[ uuid(0 xfed2b808, 0 x5eb4, 0 x43a0, 0 xae, 0 xa3, 0 x35, 0 xf6, 0 x52, 0 x80, 0 xf9, 0 x1b)]
interface IDCompositionVisualDebug(IDCompositionVisualDebugVtbl):
IDCompositionVisual2(IDCompositionVisual2Vtbl) {
fn EnableHeatMap(
color: *const D2D1_COLOR_F,
) -> HRESULT,
fn DisableHeatMap() -> HRESULT,
fn EnableRedrawRegions() -> HRESULT,
fn DisableRedrawRegions() -> HRESULT,
}}
RIDL!{#[ uuid(0 x2775f462, 0 xb6c1, 0 x4015, 0 xb0, 0 xbe, 0 xb3, 0 xe7, 0 xd6, 0 xa4, 0 x97, 0 x6d)]
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(0 x0987cb06, 0 xf916, 0 x48bf, 0 x8d, 0 x35, 0 xce, 0 x76, 0 x41, 0 x78, 0 x1b, 0 xd9)]
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(0 x30c421d5, 0 x8cb2, 0 x4e9f, 0 xb1, 0 x33, 0 x37, 0 xbe, 0 x27, 0 x0d, 0 x4a, 0 xc2)]
interface IDCompositionFilterEffect(IDCompositionFilterEffectVtbl):
IDCompositionEffect(IDCompositionEffectVtbl) {
fn SetInput(
index: UINT,
input: *const IUnknown,
flags: UINT,
) -> HRESULT,
}}
RIDL!{#[ uuid(0 x45d4d0b7, 0 x1bd4, 0 x454e, 0 x88, 0 x94, 0 x2b, 0 xfa, 0 x68, 0 x44, 0 x30, 0 x33)]
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(0 x6027496e, 0 xcb3a, 0 x49ab, 0 x93, 0 x4f, 0 xd7, 0 x98, 0 xda, 0 x4f, 0 x7d, 0 xa6)]
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(0 xc1170a22, 0 x3ce2, 0 x4966, 0 x90, 0 xd4, 0 x55, 0 x40, 0 x8b, 0 xfc, 0 x84, 0 xc4)]
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(0 x4ad18ac0, 0 xcfd2, 0 x4c2f, 0 xbb, 0 x62, 0 x96, 0 xe5, 0 x4f, 0 xdb, 0 x68, 0 x79)]
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(0 x6db9f920, 0 x0770, 0 x4781, 0 xb0, 0 xc6, 0 x38, 0 x19, 0 x12, 0 xf9, 0 xd1, 0 x67)]
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(0 xa08debda, 0 x3258, 0 x4fa4, 0 x9f, 0 x16, 0 x91, 0 x74, 0 xd3, 0 xfe, 0 x93, 0 xb1)]
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(0 xa6a55bda, 0 xc09c, 0 x49f3, 0 x91, 0 x93, 0 xa4, 0 x19, 0 x22, 0 xc8, 0 x97, 0 x15)]
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(0 x4305ee5b, 0 xc4a0, 0 x4c88, 0 x93, 0 x85, 0 x67, 0 x12, 0 x4e, 0 x01, 0 x76, 0 x83)]
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(0 x9b7e82e2, 0 x69c5, 0 x4eb4, 0 xa5, 0 xf5, 0 xa7, 0 x03, 0 x3f, 0 x51, 0 x32, 0 xcd)]
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(0 x576616c0, 0 xa231, 0 x494d, 0 xa3, 0 x8d, 0 x00, 0 xfd, 0 x5e, 0 xc4, 0 xdb, 0 x46)]
interface IDCompositionCompositeEffect(IDCompositionCompositeEffectVtbl):
IDCompositionFilterEffect(IDCompositionFilterEffectVtbl) {
fn SetMode(
mode: D2D1_COMPOSITE_MODE,
) -> HRESULT,
}}
RIDL!{#[ uuid(0 x33ecdc0a, 0 x578a, 0 x4a11, 0 x9c, 0 x14, 0 x0c, 0 xb9, 0 x05, 0 x17, 0 xf9, 0 xc5)]
interface IDCompositionBlendEffect(IDCompositionBlendEffectVtbl):
IDCompositionFilterEffect(IDCompositionFilterEffectVtbl) {
fn SetMode(
mode: D2D1_BLEND_MODE,
) -> HRESULT,
}}
RIDL!{#[ uuid(0 x3b67dfa8, 0 xe3dd, 0 x4e61, 0 xb6, 0 x40, 0 x46, 0 xc2, 0 xf3, 0 xd7, 0 x39, 0 xdc)]
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(0 x0b74b9e8, 0 xcdd6, 0 x492f, 0 xbb, 0 xbc, 0 x5e, 0 xd3, 0 x21, 0 x57, 0 x02, 0 x6d)]
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,
}}
Messung V0.5 in Prozent C=98 H=100 G=98
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.17Bemerkung:
(vorverarbeitet am 2026-06-18)
¤
*© Formatika GbR, Deutschland