Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  d2d1_3.rs   Sprache: unbekannt

 
// 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 d2d1_3.h
use ctypes::c_void;
use shared::basetsd::{UINT16, UINT32, UINT64};
use shared::dxgi::{IDXGIDevice, IDXGISurface};
use shared::dxgitype::DXGI_COLOR_SPACE_TYPE;
use shared::minwindef::{BOOL, BYTE, DWORD, FLOAT};
use shared::ntdef::WCHAR;
use shared::winerror::HRESULT;
use um::d2d1::{
    D2D1_BITMAP_INTERPOLATION_MODE, D2D1_COLOR_F, D2D1_DRAW_TEXT_OPTIONS, D2D1_GAMMA_1_0,
    D2D1_GAMMA_2_2, D2D1_MATRIX_3X2_F, D2D1_POINT_2F, D2D1_RECT_F, D2D1_RECT_U, D2D1_SIZE_F,
    ID2D1Bitmap, ID2D1Brush, ID2D1Image, ID2D1ImageVtbl, ID2D1Resource, ID2D1ResourceVtbl,
    ID2D1SimplifiedGeometrySink,
};
use um::d2d1_1::{
    D2D1_BUFFER_PRECISION, D2D1_DEVICE_CONTEXT_OPTIONS, D2D1_INTERPOLATION_MODE,
    D2D1_PRIMITIVE_BLEND, ID2D1ColorContext, ID2D1ColorContextVtbl, ID2D1CommandList,
    ID2D1GdiMetafile, ID2D1GdiMetafileSink, ID2D1GdiMetafileSinkVtbl, ID2D1GdiMetafileVtbl,
};
use um::d2d1_2::{
    ID2D1CommandSink1, ID2D1CommandSink1Vtbl, ID2D1Device1, ID2D1Device1Vtbl, ID2D1DeviceContext1,
    ID2D1DeviceContext1Vtbl, ID2D1Factory2, ID2D1Factory2Vtbl,
};
use um::d2d1effects::D2D1_BLEND_MODE;
use um::d2d1svg::ID2D1SvgDocument;
use um::dcommon::{D2D1_ALPHA_MODE, DWRITE_GLYPH_IMAGE_FORMATS, DWRITE_MEASURING_MODE};
use um::dwrite::{DWRITE_GLYPH_RUN, IDWriteFontFace, IDWriteTextFormat, IDWriteTextLayout};
use um::objidlbase::IStream;
use um::wincodec::IWICBitmapSource;
ENUM!{enum D2D1_INK_NIB_SHAPE {
    D2D1_INK_NIB_SHAPE_ROUND = 0,
    D2D1_INK_NIB_SHAPE_SQUARE = 1,
}}
ENUM!{enum D2D1_ORIENTATION {
    D2D1_ORIENTATION_DEFAULT = 1,
    D2D1_ORIENTATION_FLIP_HORIZONTAL = 2,
    D2D1_ORIENTATION_ROTATE_CLOCKWISE180 = 3,
    D2D1_ORIENTATION_ROTATE_CLOCKWISE180_FLIP_HORIZONTAL = 4,
    D2D1_ORIENTATION_ROTATE_CLOCKWISE90_FLIP_HORIZONTAL = 5,
    D2D1_ORIENTATION_ROTATE_CLOCKWISE270 = 6,
    D2D1_ORIENTATION_ROTATE_CLOCKWISE270_FLIP_HORIZONTAL = 7,
    D2D1_ORIENTATION_ROTATE_CLOCKWISE90 = 8,
}}
ENUM!{enum D2D1_IMAGE_SOURCE_LOADING_OPTIONS {
    D2D1_IMAGE_SOURCE_LOADING_OPTIONS_NONE = 0,
    D2D1_IMAGE_SOURCE_LOADING_OPTIONS_RELEASE_SOURCE = 1,
    D2D1_IMAGE_SOURCE_LOADING_OPTIONS_CACHE_ON_DEMAND = 2,
}}
ENUM!{enum D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS {
    D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS_NONE = 0,
    D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS_LOW_QUALITY_PRIMARY_CONVERSION = 1,
}}
ENUM!{enum D2D1_TRANSFORMED_IMAGE_SOURCE_OPTIONS {
    D2D1_TRANSFORMED_IMAGE_SOURCE_OPTIONS_NONE = 0,
    D2D1_TRANSFORMED_IMAGE_SOURCE_OPTIONS_DISABLE_DPI_SCALE = 1,
}}
STRUCT!{struct D2D1_TRANSFORMED_IMAGE_SOURCE_PROPERTIES {
    orientation: D2D1_ORIENTATION,
    scaleX: FLOAT,
    scaleY: FLOAT,
    interpolationMode: D2D1_INTERPOLATION_MODE,
    options: D2D1_TRANSFORMED_IMAGE_SOURCE_OPTIONS,
}}
STRUCT!{struct D2D1_INK_POINT {
    x: FLOAT,
    y: FLOAT,
    radius: FLOAT,
}}
STRUCT!{struct D2D1_INK_BEZIER_SEGMENT {
    point1: D2D1_INK_POINT,
    point2: D2D1_INK_POINT,
    point3: D2D1_INK_POINT,
}}
STRUCT!{struct D2D1_INK_STYLE_PROPERTIES {
    nibShape: D2D1_INK_NIB_SHAPE,
    nibTransform: D2D1_MATRIX_3X2_F,
}}
ENUM!{enum D2D1_PATCH_EDGE_MODE {
    D2D1_PATCH_EDGE_MODE_ALIASED = 0,
    D2D1_PATCH_EDGE_MODE_ANTIALIASED = 1,
    D2D1_PATCH_EDGE_MODE_ALIASED_INFLATED = 2,
}}
STRUCT!{struct D2D1_GRADIENT_MESH_PATCH {
    point00: D2D1_POINT_2F,
    point01: D2D1_POINT_2F,
    point02: D2D1_POINT_2F,
    point03: D2D1_POINT_2F,
    point10: D2D1_POINT_2F,
    point11: D2D1_POINT_2F,
    point12: D2D1_POINT_2F,
    point13: D2D1_POINT_2F,
    point20: D2D1_POINT_2F,
    point21: D2D1_POINT_2F,
    point22: D2D1_POINT_2F,
    point23: D2D1_POINT_2F,
    point30: D2D1_POINT_2F,
    point31: D2D1_POINT_2F,
    point32: D2D1_POINT_2F,
    point33: D2D1_POINT_2F,
    color00: D2D1_COLOR_F,
    color03: D2D1_COLOR_F,
    color30: D2D1_COLOR_F,
    color33: D2D1_COLOR_F,
    topEdgeMode: D2D1_PATCH_EDGE_MODE,
    leftEdgeMode: D2D1_PATCH_EDGE_MODE,
    bottomEdgeMode: D2D1_PATCH_EDGE_MODE,
    rightEdgeMode: D2D1_PATCH_EDGE_MODE,
}}
ENUM!{enum D2D1_SPRITE_OPTIONS {
    D2D1_SPRITE_OPTIONS_NONE = 0,
    D2D1_SPRITE_OPTIONS_CLAMP_TO_SOURCE_RECTANGLE = 1,
}}
ENUM!{enum D2D1_COLOR_BITMAP_GLYPH_SNAP_OPTION {
    D2D1_COLOR_BITMAP_GLYPH_SNAP_OPTION_DEFAULT = 0,
    D2D1_COLOR_BITMAP_GLYPH_SNAP_OPTION_DISABLE = 1,
}}
ENUM!{enum D2D1_GAMMA1 {
    D2D1_GAMMA1_G22 = D2D1_GAMMA_2_2,
    D2D1_GAMMA1_G10 = D2D1_GAMMA_1_0,
    D2D1_GAMMA1_G2084 = 2,
}}
STRUCT!{struct D2D1_SIMPLE_COLOR_PROFILE {
    redPrimary: D2D1_POINT_2F,
    greenPrimary: D2D1_POINT_2F,
    bluePrimary: D2D1_POINT_2F,
    whitePointXZ: D2D1_POINT_2F,
    gamma: D2D1_GAMMA1,
}}
ENUM!{enum D2D1_COLOR_CONTEXT_TYPE {
    D2D1_COLOR_CONTEXT_TYPE_ICC = 0,
    D2D1_COLOR_CONTEXT_TYPE_SIMPLE = 1,
    D2D1_COLOR_CONTEXT_TYPE_DXGI = 2,
}}
DEFINE_GUID!{IID_ID2D1InkStyle,
    0xbae8b344, 0x23fc, 0x4071, 0x8c, 0xb5, 0xd0, 0x5d, 0x6f, 0x07, 0x38, 0x48}
DEFINE_GUID!{IID_ID2D1Ink,
    0xb499923b, 0x7029, 0x478f, 0xa8, 0xb3, 0x43, 0x2c, 0x7c, 0x5f, 0x53, 0x12}
DEFINE_GUID!{IID_ID2D1GradientMesh,
    0xf292e401, 0xc050, 0x4cde, 0x83, 0xd7, 0x04, 0x96, 0x2d, 0x3b, 0x23, 0xc2}
DEFINE_GUID!{IID_ID2D1ImageSource,
    0xc9b664e5, 0x74a1, 0x4378, 0x9a, 0xc2, 0xee, 0xfc, 0x37, 0xa3, 0xf4, 0xd8}
DEFINE_GUID!{IID_ID2D1ImageSourceFromWic,
    0x77395441, 0x1c8f, 0x4555, 0x86, 0x83, 0xf5, 0x0d, 0xab, 0x0f, 0xe7, 0x92}
DEFINE_GUID!{IID_ID2D1TransformedImageSource,
    0x7f1f79e5, 0x2796, 0x416c, 0x8f, 0x55, 0x70, 0x0f, 0x91, 0x14, 0x45, 0xe5}
DEFINE_GUID!{IID_ID2D1LookupTable3D,
    0x53dd9855, 0xa3b0, 0x4d5b, 0x82, 0xe1, 0x26, 0xe2, 0x5c, 0x5e, 0x57, 0x97}
DEFINE_GUID!{IID_ID2D1DeviceContext2,
    0x394ea6a3, 0x0c34, 0x4321, 0x95, 0x0b, 0x6c, 0xa2, 0x0f, 0x0b, 0xe6, 0xc7}
DEFINE_GUID!{IID_ID2D1Device2,
    0xa44472e1, 0x8dfb, 0x4e60, 0x84, 0x92, 0x6e, 0x28, 0x61, 0xc9, 0xca, 0x8b}
DEFINE_GUID!{IID_ID2D1Factory3,
    0x0869759f, 0x4f00, 0x413f, 0xb0, 0x3e, 0x2b, 0xda, 0x45, 0x40, 0x4d, 0x0f}
DEFINE_GUID!{IID_ID2D1CommandSink2,
    0x3bab440e, 0x417e, 0x47df, 0xa2, 0xe2, 0xbc, 0x0b, 0xe6, 0xa0, 0x09, 0x16}
DEFINE_GUID!{IID_ID2D1GdiMetafile1,
    0x2e69f9e8, 0xdd3f, 0x4bf9, 0x95, 0xba, 0xc0, 0x4f, 0x49, 0xd7, 0x88, 0xdf}
DEFINE_GUID!{IID_ID2D1GdiMetafileSink1,
    0xfd0ecb6b, 0x91e6, 0x411e, 0x86, 0x55, 0x39, 0x5e, 0x76, 0x0f, 0x91, 0xb4}
DEFINE_GUID!{IID_ID2D1SpriteBatch,
    0x4dc583bf, 0x3a10, 0x438a, 0x87, 0x22, 0xe9, 0x76, 0x52, 0x24, 0xf1, 0xf1}
DEFINE_GUID!{IID_ID2D1DeviceContext3,
    0x235a7496, 0x8351, 0x414c, 0xbc, 0xd4, 0x66, 0x72, 0xab, 0x2d, 0x8e, 0x00}
DEFINE_GUID!{IID_ID2D1Device3,
    0x852f2087, 0x802c, 0x4037, 0xab, 0x60, 0xff, 0x2e, 0x7e, 0xe6, 0xfc, 0x01}
DEFINE_GUID!{IID_ID2D1Factory4,
    0xbd4ec2d2, 0x0662, 0x4bee, 0xba, 0x8e, 0x6f, 0x29, 0xf0, 0x32, 0xe0, 0x96}
DEFINE_GUID!{IID_ID2D1CommandSink3,
    0x18079135, 0x4cf3, 0x4868, 0xbc, 0x8e, 0x06, 0x06, 0x7e, 0x6d, 0x24, 0x2d}
DEFINE_GUID!{IID_ID2D1SvgGlyphStyle,
    0xaf671749, 0xd241, 0x4db8, 0x8e, 0x41, 0xdc, 0xc2, 0xe5, 0xc1, 0xa4, 0x38}
DEFINE_GUID!{IID_ID2D1DeviceContext4,
    0x8c427831, 0x3d90, 0x4476, 0xb6, 0x47, 0xc4, 0xfa, 0xe3, 0x49, 0xe4, 0xdb}
DEFINE_GUID!{IID_ID2D1Device4,
    0xd7bdb159, 0x5683, 0x4a46, 0xbc, 0x9c, 0x72, 0xdc, 0x72, 0x0b, 0x85, 0x8b}
DEFINE_GUID!{IID_ID2D1Factory5,
    0xc4349994, 0x838e, 0x4b0f, 0x8c, 0xab, 0x44, 0x99, 0x7d, 0x9e, 0xea, 0xcc}
DEFINE_GUID!{IID_ID2D1CommandSink4,
    0xc78a6519, 0x40d6, 0x4218, 0xb2, 0xde, 0xbe, 0xee, 0xb7, 0x44, 0xbb, 0x3e}
DEFINE_GUID!{IID_ID2D1ColorContext1,
    0x1ab42875, 0xc57f, 0x4be9, 0xbd, 0x85, 0x9c, 0xd7, 0x8d, 0x6f, 0x55, 0xee}
DEFINE_GUID!{IID_ID2D1DeviceContext5,
    0x7836d248, 0x68cc, 0x4df6, 0xb9, 0xe8, 0xde, 0x99, 0x1b, 0xf6, 0x2e, 0xb7}
DEFINE_GUID!{IID_ID2D1Device5,
    0xd55ba0a4, 0x6405, 0x4694, 0xae, 0xf5, 0x08, 0xee, 0x1a, 0x43, 0x58, 0xb4}
DEFINE_GUID!{IID_ID2D1Factory6,
    0xf9976f46, 0xf642, 0x44c1, 0x97, 0xca, 0xda, 0x32, 0xea, 0x2a, 0x26, 0x35}
DEFINE_GUID!{IID_ID2D1CommandSink5,
    0x7047dd26, 0xb1e7, 0x44a7, 0x95, 0x9a, 0x83, 0x49, 0xe2, 0x14, 0x4f, 0xa8}
DEFINE_GUID!{IID_ID2D1DeviceContext6,
    0x985f7e37, 0x4ed0, 0x4a19, 0x98, 0xa3, 0x15, 0xb0, 0xed, 0xfd, 0xe3, 0x06}
DEFINE_GUID!{IID_ID2D1Device6,
    0x7bfef914, 0x2d75, 0x4bad, 0xbe, 0x87, 0xe1, 0x8d, 0xdb, 0x07, 0x7b, 0x6d}
DEFINE_GUID!{IID_ID2D1Factory7,
    0xbdc2bdd3, 0xb96c, 0x4de6, 0xbd, 0xf7, 0x99, 0xd4, 0x74, 0x54, 0x54, 0xde}
RIDL!{#[uuid(0xbae8b344, 0x23fc, 0x4071, 0x8c, 0xb5, 0xd0, 0x5d, 0x6f, 0x07, 0x38, 0x48)]
interface ID2D1InkStyle(ID2D1InkStyleVtbl): ID2D1Resource(ID2D1ResourceVtbl) {
    fn SetNibTransform(
        transform: *const D2D1_MATRIX_3X2_F,
    ) -> (),
    fn GetNibTransform(
        transform: *mut D2D1_MATRIX_3X2_F,
    ) -> (),
    fn SetNibShape(
        nibShape: D2D1_INK_NIB_SHAPE,
    ) -> (),
    fn GetNibShape() -> D2D1_INK_NIB_SHAPE,
}}
RIDL!{#[uuid(0xb499923b, 0x7029, 0x478f, 0xa8, 0xb3, 0x43, 0x2c, 0x7c, 0x5f, 0x53, 0x12)]
interface ID2D1Ink(ID2D1InkVtbl): ID2D1Resource(ID2D1ResourceVtbl) {
    fn SetStartPoint(
        startPoint: *const D2D1_INK_POINT,
    ) -> (),
    fn GetStartPoint() -> D2D1_INK_POINT,
    fn AddSegments(
        segments: *const D2D1_INK_BEZIER_SEGMENT,
        segmentsCount: UINT32,
    ) -> HRESULT,
    fn RemoveSegmentsAtEnd(
        segmentsCount: UINT32,
    ) -> HRESULT,
    fn SetSegments(
        startSegment: UINT32,
        segments: *const D2D1_INK_BEZIER_SEGMENT,
        segmentsCount: UINT32,
    ) -> HRESULT,
    fn SetSegmentAtEnd(
        segment: *const D2D1_INK_BEZIER_SEGMENT,
    ) -> HRESULT,
    fn GetSegmentCount() -> UINT32,
    fn GetSegments(
        startSegment: UINT32,
        segments: *mut D2D1_INK_BEZIER_SEGMENT,
        segmentsCount: UINT32,
    ) -> HRESULT,
    fn StreamAsGeometry(
        inkStyle: *mut ID2D1InkStyle,
        worldTransform: *const D2D1_MATRIX_3X2_F,
        flatteningTolerance: FLOAT,
        geometrySink: *mut ID2D1SimplifiedGeometrySink,
    ) -> HRESULT,
    fn GetBounds(
        inkStyle: *mut ID2D1InkStyle,
        worldTransform: *const D2D1_MATRIX_3X2_F,
        bounds: *mut D2D1_RECT_F,
    ) -> HRESULT,
}}
RIDL!{#[uuid(0xf292e401, 0xc050, 0x4cde, 0x83, 0xd7, 0x04, 0x96, 0x2d, 0x3b, 0x23, 0xc2)]
interface ID2D1GradientMesh(ID2D1GradientMeshVtbl): ID2D1Resource(ID2D1ResourceVtbl) {
    fn GetPatchCount() -> UINT32,
    fn GetPatches(
        startIndex: UINT32,
        patches: *mut D2D1_GRADIENT_MESH_PATCH,
        patchesCount: UINT32,
    ) -> HRESULT,
}}
RIDL!{#[uuid(0xc9b664e5, 0x74a1, 0x4378, 0x9a, 0xc2, 0xee, 0xfc, 0x37, 0xa3, 0xf4, 0xd8)]
interface ID2D1ImageSource(ID2D1ImageSourceVtbl): ID2D1Image(ID2D1ImageVtbl) {
    fn OfferResources() -> HRESULT,
    fn TryReclaimResources(
        resourcesDiscarded: *mut BOOL,
    ) -> HRESULT,
}}
RIDL!{#[uuid(0x77395441, 0x1c8f, 0x4555, 0x86, 0x83, 0xf5, 0x0d, 0xab, 0x0f, 0xe7, 0x92)]
interface ID2D1ImageSourceFromWic(ID2D1ImageSourceFromWicVtbl):
    ID2D1ImageSource(ID2D1ImageSourceVtbl) {
    fn EnsureCached(
        rectangleToFill: *const D2D1_RECT_U,
    ) -> HRESULT,
    fn TrimCache(
        rectangleToPreserve: *const D2D1_RECT_U,
    ) -> HRESULT,
    fn GetSource(
        wicBitmapSource: *mut *mut IWICBitmapSource,
    ) -> (),
}}
RIDL!{#[uuid(0x7f1f79e5, 0x2796, 0x416c, 0x8f, 0x55, 0x70, 0x0f, 0x91, 0x14, 0x45, 0xe5)]
interface ID2D1TransformedImageSource(ID2D1TransformedImageSourceVtbl):
    ID2D1Image(ID2D1ImageVtbl) {
    fn GetSource(
        imageSource: *mut *mut ID2D1ImageSource,
    ) -> (),
    fn GetProperties(
        properties: *mut D2D1_TRANSFORMED_IMAGE_SOURCE_PROPERTIES,
    ) -> (),
}}
RIDL!{#[uuid(0x53dd9855, 0xa3b0, 0x4d5b, 0x82, 0xe1, 0x26, 0xe2, 0x5c, 0x5e, 0x57, 0x97)]
interface ID2D1LookupTable3D(ID2D1LookupTable3DVtbl): ID2D1Resource(ID2D1ResourceVtbl) {}}
RIDL!{#[uuid(0x394ea6a3, 0x0c34, 0x4321, 0x95, 0x0b, 0x6c, 0xa2, 0x0f, 0x0b, 0xe6, 0xc7)]
interface ID2D1DeviceContext2(ID2D1DeviceContext2Vtbl):
    ID2D1DeviceContext1(ID2D1DeviceContext1Vtbl) {
    fn CreateInk(
        startPoint: *const D2D1_INK_POINT,
        ink: *mut *mut ID2D1Ink,
    ) -> HRESULT,
    fn CreateInkStyle(
        inkStyleProperties: *const D2D1_INK_STYLE_PROPERTIES,
        inkStyle: *mut *mut ID2D1InkStyle,
    ) -> HRESULT,
    fn CreateGradientMesh(
        patches: *const D2D1_GRADIENT_MESH_PATCH,
        patchesCount: UINT32,
        gradientMesh: *mut *mut ID2D1GradientMesh,
    ) -> HRESULT,
    fn CreateImageSourceFromWic(
        wicBitmapSource: *mut IWICBitmapSource,
        loadingOptions: D2D1_IMAGE_SOURCE_LOADING_OPTIONS,
        alphaMode: D2D1_ALPHA_MODE,
        imageSource: *mut *mut ID2D1ImageSourceFromWic,
    ) -> HRESULT,
    fn CreateLookupTable3D(
        precision: D2D1_BUFFER_PRECISION,
        extents: *const UINT32,
        data: *const BYTE,
        dataCount: UINT32,
        strides: *const UINT32,
        lookupTable: *mut *mut ID2D1LookupTable3D,
    ) -> HRESULT,
    fn CreateImageSourceFromDxgi(
        surfaces: *const *mut IDXGISurface,
        surfaceCount: UINT32,
        colorSpace: DXGI_COLOR_SPACE_TYPE,
        options: D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS,
        imageSource: *mut *mut ID2D1ImageSource,
    ) -> HRESULT,
    fn GetGradientMeshWorldBounds(
        gradientMesh: *mut ID2D1GradientMesh,
        pBounds: *mut D2D1_RECT_F,
    ) -> HRESULT,
    fn DrawInk(
        ink: *mut ID2D1Ink,
        brush: *mut ID2D1Brush,
        inkStyle: *mut ID2D1InkStyle,
    ) -> (),
    fn DrawGradientMesh(
        gradientMesh: *mut ID2D1GradientMesh,
    ) -> (),
    fn DrawGdiMetafile(
        gdiMetafile: *mut ID2D1GdiMetafile,
        destinationRectangle: *const D2D1_RECT_F,
        sourceRectangle: *const D2D1_RECT_F,
    ) -> (),
    fn CreateTransformedImageSource(
        imageSource: *mut ID2D1ImageSource,
        properties: *const D2D1_TRANSFORMED_IMAGE_SOURCE_PROPERTIES,
        transformedImageSource: *mut *mut ID2D1TransformedImageSource,
    ) -> HRESULT,
}}
RIDL!{#[uuid(0xa44472e1, 0x8dfb, 0x4e60, 0x84, 0x92, 0x6e, 0x28, 0x61, 0xc9, 0xca, 0x8b)]
interface ID2D1Device2(ID2D1Device2Vtbl): ID2D1Device1(ID2D1Device1Vtbl) {
    fn CreateDeviceContext(
        options: D2D1_DEVICE_CONTEXT_OPTIONS,
        deviceContext2: *mut *mut ID2D1DeviceContext2,
    ) -> HRESULT,
    fn FlushDeviceContexts(
        bitmap: *mut ID2D1Bitmap,
    ) -> (),
    fn GetDxgiDevice(
        dxgiDevice: *mut *mut IDXGIDevice,
    ) -> HRESULT,
}}
RIDL!{#[uuid(0x0869759f, 0x4f00, 0x413f, 0xb0, 0x3e, 0x2b, 0xda, 0x45, 0x40, 0x4d, 0x0f)]
interface ID2D1Factory3(ID2D1Factory3Vtbl): ID2D1Factory2(ID2D1Factory2Vtbl) {
    fn CreateDevice(
        dxgiDevice: *mut IDXGIDevice,
        d2dDevice2: *mut *mut ID2D1Device2,
    ) -> HRESULT,
}}
RIDL!{#[uuid(0x3bab440e, 0x417e, 0x47df, 0xa2, 0xe2, 0xbc, 0x0b, 0xe6, 0xa0, 0x09, 0x16)]
interface ID2D1CommandSink2(ID2D1CommandSink2Vtbl): ID2D1CommandSink1(ID2D1CommandSink1Vtbl) {
    fn DrawInk(
        ink: *mut ID2D1Ink,
        brush: *mut ID2D1Brush,
        inkStyle: *mut ID2D1InkStyle,
    ) -> (),
    fn DrawGradientMesh(
        gradientMesh: *mut ID2D1GradientMesh,
    ) -> (),
    fn DrawGdiMetafile(
        gdiMetafile: *mut ID2D1GdiMetafile,
        destinationRectangle: *const D2D1_RECT_F,
        sourceRectangle: *const D2D1_RECT_F,
    ) -> (),
}}
RIDL!{#[uuid(0x2e69f9e8, 0xdd3f, 0x4bf9, 0x95, 0xba, 0xc0, 0x4f, 0x49, 0xd7, 0x88, 0xdf)]
interface ID2D1GdiMetafile1(ID2D1GdiMetafile1Vtbl): ID2D1GdiMetafile(ID2D1GdiMetafileVtbl) {
    fn GetDpi(
        dpiX: *mut FLOAT,
        dpiY: *mut FLOAT,
    ) -> HRESULT,
    fn GetSourceBounds(
        bounds: *mut D2D1_RECT_F,
    ) -> HRESULT,
}}
RIDL!{#[uuid(0xfd0ecb6b, 0x91e6, 0x411e, 0x86, 0x55, 0x39, 0x5e, 0x76, 0x0f, 0x91, 0xb4)]
interface ID2D1GdiMetafileSink1(ID2D1GdiMetafileSink1Vtbl):
    ID2D1GdiMetafileSink(ID2D1GdiMetafileSinkVtbl) {
    fn ProcessRecord(
        recordType: DWORD,
        recordData: *const c_void,
        recordDataSize: DWORD,
        flags: UINT32,
    ) -> HRESULT,
}}
RIDL!{#[uuid(0x4dc583bf, 0x3a10, 0x438a, 0x87, 0x22, 0xe9, 0x76, 0x52, 0x24, 0xf1, 0xf1)]
interface ID2D1SpriteBatch(ID2D1SpriteBatchVtbl): ID2D1Resource(ID2D1ResourceVtbl) {
    fn AddSprites(
        spriteCount: UINT32,
        destinationRectangle: *const D2D1_RECT_F,
        sourceRectangles: *const D2D1_RECT_U,
        colors: *const D2D1_COLOR_F,
        transforms: *const D2D1_MATRIX_3X2_F,
        destinationRectanglesStride: UINT32,
        sourceRectanglesStride: UINT32,
        colorsStride: UINT32,
        transformsStride: D2D1_MATRIX_3X2_F,
    ) -> HRESULT,
    fn SetSprites(
        startIndex: UINT32,
        spriteCount: UINT32,
        destinationRectangle: *const D2D1_RECT_F,
        sourceRectangles: *const D2D1_RECT_U,
        colors: *const D2D1_COLOR_F,
        transforms: *const D2D1_MATRIX_3X2_F,
        destinationRectanglesStride: UINT32,
        sourceRectanglesStride: UINT32,
        colorsStride: UINT32,
        transformsStride: D2D1_MATRIX_3X2_F,
    ) -> HRESULT,
    fn GetSprites(
        startIndex: UINT32,
        spriteCount: UINT32,
        destinationRectangle: *mut D2D1_RECT_F,
        sourceRectangles: *mut D2D1_RECT_U,
        colors: *mut D2D1_COLOR_F,
        transforms: *mut D2D1_MATRIX_3X2_F,
    ) -> HRESULT,
    fn GetSpriteCount() -> UINT32,
    fn Clear() -> (),
}}
RIDL!{#[uuid(0x235a7496, 0x8351, 0x414c, 0xbc, 0xd4, 0x66, 0x72, 0xab, 0x2d, 0x8e, 0x00)]
interface ID2D1DeviceContext3(ID2D1DeviceContext3Vtbl):
    ID2D1DeviceContext2(ID2D1DeviceContext2Vtbl) {
    fn CreateSpriteBatch(
        spriteBatch: *mut *mut ID2D1SpriteBatch,
    ) -> HRESULT,
    fn DrawSpriteBatch(
        spriteBatch: *mut ID2D1SpriteBatch,
        startIndex: UINT32,
        spriteCount: UINT32,
        bitmap: *mut ID2D1Bitmap,
        interpolationMode: D2D1_BITMAP_INTERPOLATION_MODE,
        spriteOptions: D2D1_SPRITE_OPTIONS,
    ) -> (),
}}
RIDL!{#[uuid(0x852f2087, 0x802c, 0x4037, 0xab, 0x60, 0xff, 0x2e, 0x7e, 0xe6, 0xfc, 0x01)]
interface ID2D1Device3(ID2D1Device3Vtbl): ID2D1Device2(ID2D1Device2Vtbl) {
    fn CreateDeviceContext(
        options: D2D1_DEVICE_CONTEXT_OPTIONS,
        deviceContext3: *mut *mut ID2D1DeviceContext3,
    ) -> HRESULT,
}}
RIDL!{#[uuid(0xbd4ec2d2, 0x0662, 0x4bee, 0xba, 0x8e, 0x6f, 0x29, 0xf0, 0x32, 0xe0, 0x96)]
interface ID2D1Factory4(ID2D1Factory4Vtbl): ID2D1Factory3(ID2D1Factory3Vtbl) {
    fn CreateDevice(
        dxgiDevice: *mut IDXGIDevice,
        d2dDevice3: *mut *mut ID2D1Device3,
    ) -> HRESULT,
}}
RIDL!{#[uuid(0x18079135, 0x4cf3, 0x4868, 0xbc, 0x8e, 0x06, 0x06, 0x7e, 0x6d, 0x24, 0x2d)]
interface ID2D1CommandSink3(ID2D1CommandSink3Vtbl): ID2D1CommandSink2(ID2D1CommandSink2Vtbl) {
    fn DrawSpriteBatch(
        spriteBatch: *mut ID2D1SpriteBatch,
        startIndex: UINT32,
        spriteCount: UINT32,
        bitmap: *mut ID2D1Bitmap,
        interpolationMode: D2D1_BITMAP_INTERPOLATION_MODE,
        spriteOptions: D2D1_SPRITE_OPTIONS,
    ) -> (),
}}
RIDL!{#[uuid(0xaf671749, 0xd241, 0x4db8, 0x8e, 0x41, 0xdc, 0xc2, 0xe5, 0xc1, 0xa4, 0x38)]
interface ID2D1SvgGlyphStyle(ID2D1SvgGlyphStyleVtbl): ID2D1Resource(ID2D1ResourceVtbl) {
    fn SetFill(
        brush: *mut ID2D1Brush,
    ) -> HRESULT,
    fn GetFill(
        brush: *mut *mut ID2D1Brush,
    ) -> (),
    fn SetStroke(
        brush: *mut ID2D1Brush,
        strokeWidth: FLOAT,
        dashes: *const FLOAT,
        dashesCount: UINT32,
        dashOffset: FLOAT,
    ) -> HRESULT,
    fn GetStrokeDashesCount() -> UINT32,
    fn GetStroke(
        brush: *mut *mut ID2D1Brush,
        strokeWidth: *mut FLOAT,
        dashes: *mut FLOAT,
        dashesCount: UINT32,
        dashOffset: *mut FLOAT,
    ) -> (),
}}
RIDL!{#[uuid(0x8c427831, 0x3d90, 0x4476, 0xb6, 0x47, 0xc4, 0xfa, 0xe3, 0x49, 0xe4, 0xdb)]
interface ID2D1DeviceContext4(ID2D1DeviceContext4Vtbl):
    ID2D1DeviceContext3(ID2D1DeviceContext3Vtbl) {
    fn CreateSvgGlyphStyle(
        svgGlyphStyle: *mut *mut ID2D1SvgGlyphStyle,
    ) -> HRESULT,
    fn DrawText(
        string: *const WCHAR,
        stringLength: UINT32,
        textFormat: *mut IDWriteTextFormat,
        layoutRect: *const D2D1_RECT_F,
        defaultFillBrush: *mut ID2D1Brush,
        svgGlyphStyle: *mut ID2D1SvgGlyphStyle,
        colorPaletteIndex: UINT32,
        options: D2D1_DRAW_TEXT_OPTIONS,
        measuringMode: DWRITE_MEASURING_MODE,
    ) -> (),
    fn DrawTextLayout(
        origin: D2D1_POINT_2F,
        textLayout: *mut IDWriteTextLayout,
        defaultFillBrush: *mut ID2D1Brush,
        svgGlyphStyle: *mut ID2D1SvgGlyphStyle,
        colorPaletteIndex: UINT32,
        options: D2D1_DRAW_TEXT_OPTIONS,
    ) -> (),
    fn DrawColorBitmapGlyphRun(
        glyphImageFormat: DWRITE_GLYPH_IMAGE_FORMATS,
        baselineOrigin: D2D1_POINT_2F,
        glyphRun: *const DWRITE_GLYPH_RUN,
        measuringMode: DWRITE_MEASURING_MODE,
        bitmapSnapOption: D2D1_COLOR_BITMAP_GLYPH_SNAP_OPTION,
    ) -> (),
    fn DrawSvgGlyphRun(
        baselineOrigin: D2D1_POINT_2F,
        glyphRun: *const DWRITE_GLYPH_RUN,
        defaultFillBrush: *mut ID2D1Brush,
        svgGlyphStyle: *mut ID2D1SvgGlyphStyle,
        colorPaletteIndex: UINT32,
        measuringMode: DWRITE_MEASURING_MODE,
    ) -> (),
    fn GetColorBitmapGlyphImage(
        glyphImageFormat: DWRITE_GLYPH_IMAGE_FORMATS,
        glyphOrigin: D2D1_POINT_2F,
        fontFace: *mut IDWriteFontFace,
        fontEmSize: FLOAT,
        glyphIndex: UINT16,
        isSideways: BOOL,
        worldTransform: *const D2D1_MATRIX_3X2_F,
        dpiX: FLOAT,
        dpiY: FLOAT,
        glyphTransform: *mut D2D1_MATRIX_3X2_F,
        glyphImage: *mut *mut ID2D1Image,
    ) -> HRESULT,
    fn GetSvgGlyphImage(
        glyphImageFormat: DWRITE_GLYPH_IMAGE_FORMATS,
        glyphOrigin: D2D1_POINT_2F,
        fontFace: *mut IDWriteFontFace,
        fontEmSize: FLOAT,
        glyphIndex: UINT16,
        isSideways: BOOL,
        worldTransform: *const D2D1_MATRIX_3X2_F,
        defaultFillBrush: *mut ID2D1Brush,
        svgGlyphStyle: *mut ID2D1SvgGlyphStyle,
        colorPaletteIndex: UINT32,
        glyphTransform: *mut D2D1_MATRIX_3X2_F,
        glyphImage: *mut *mut ID2D1CommandList,
    ) -> HRESULT,
}}
RIDL!{#[uuid(0xd7bdb159, 0x5683, 0x4a46, 0xbc, 0x9c, 0x72, 0xdc, 0x72, 0x0b, 0x85, 0x8b)]
interface ID2D1Device4(ID2D1Device4Vtbl): ID2D1Device3(ID2D1Device3Vtbl) {
    fn CreateDeviceContext(
        options: D2D1_DEVICE_CONTEXT_OPTIONS,
        deviceContext4: *mut *mut ID2D1DeviceContext4,
    ) -> HRESULT,
    fn SetMaximumColorGlyphCacheMemory(
        maximumInBytes: UINT64,
    ) -> (),
    fn GetMaximumColorGlyphCacheMemory() -> UINT64,
}}
RIDL!{#[uuid(0xc4349994, 0x838e, 0x4b0f, 0x8c, 0xab, 0x44, 0x99, 0x7d, 0x9e, 0xea, 0xcc)]
interface ID2D1Factory5(ID2D1Factory5Vtbl): ID2D1Factory4(ID2D1Factory4Vtbl) {
    fn CreateDevice(
        dxgiDevice: *mut IDXGIDevice,
        d2dDevice4: *mut *mut ID2D1Device4,
    ) -> HRESULT,
}}
RIDL!{#[uuid(0xc78a6519, 0x40d6, 0x4218, 0xb2, 0xde, 0xbe, 0xee, 0xb7, 0x44, 0xbb, 0x3e)]
interface ID2D1CommandSink4(ID2D1CommandSink4Vtbl): ID2D1CommandSink3(ID2D1CommandSink3Vtbl) {
    fn SetPrimitiveBlend2(
        primitiveBlend: D2D1_PRIMITIVE_BLEND,
    ) -> HRESULT,
}}
RIDL!{#[uuid(0x1ab42875, 0xc57f, 0x4be9, 0xbd, 0x85, 0x9c, 0xd7, 0x8d, 0x6f, 0x55, 0xee)]
interface ID2D1ColorContext1(ID2D1ColorContext1Vtbl): ID2D1ColorContext(ID2D1ColorContextVtbl) {
    fn GetColorContextType() -> D2D1_COLOR_CONTEXT_TYPE,
    fn GetDXGIColorSpace() -> DXGI_COLOR_SPACE_TYPE,
    fn GetSimpleColorProfile(
        simpleProfile: *mut D2D1_SIMPLE_COLOR_PROFILE,
    ) -> HRESULT,
}}
RIDL!{#[uuid(0x7836d248, 0x68cc, 0x4df6, 0xb9, 0xe8, 0xde, 0x99, 0x1b, 0xf6, 0x2e, 0xb7)]
interface ID2D1DeviceContext5(ID2D1DeviceContext5Vtbl):
    ID2D1DeviceContext4(ID2D1DeviceContext4Vtbl) {
    fn CreateSvgDocument(
        inputXmlStream: *mut IStream,
        viewportSize: D2D1_SIZE_F,
        svgDocument: *mut *mut ID2D1SvgDocument,
    ) -> HRESULT,
    fn DrawSvgDocument(
        svgDocument: *mut ID2D1SvgDocument,
    ) -> (),
    fn CreateColorContextFromDxgiColorSpace(
        colorSpace: DXGI_COLOR_SPACE_TYPE,
        colorContext: *mut *mut ID2D1ColorContext1,
    ) -> HRESULT,
    fn CreateColorContextFromSimpleColorProfile(
        simpleProfile: *const D2D1_SIMPLE_COLOR_PROFILE,
        colorContext: *mut *mut ID2D1ColorContext1,
    ) -> HRESULT,
}}
RIDL!{#[uuid(0xd55ba0a4, 0x6405, 0x4694, 0xae, 0xf5, 0x08, 0xee, 0x1a, 0x43, 0x58, 0xb4)]
interface ID2D1Device5(ID2D1Device5Vtbl): ID2D1Device4(ID2D1Device4Vtbl) {
    fn CreateDeviceContext(
        options: D2D1_DEVICE_CONTEXT_OPTIONS,
        deviceContext5: *mut *mut ID2D1DeviceContext5,
    ) -> HRESULT,
}}
RIDL!{#[uuid(0xf9976f46, 0xf642, 0x44c1, 0x97, 0xca, 0xda, 0x32, 0xea, 0x2a, 0x26, 0x35)]
interface ID2D1Factory6(ID2D1Factory6Vtbl): ID2D1Factory5(ID2D1Factory5Vtbl) {
    fn CreateDevice(
        dxgiDevice: *mut IDXGIDevice,
        d2dDevice5: *mut *mut ID2D1Device5,
    ) -> HRESULT,
}}
RIDL!{#[uuid(0x7047dd26, 0xb1e7, 0x44a7, 0x95, 0x9a, 0x83, 0x49, 0xe2, 0x14, 0x4f, 0xa8)]
interface ID2D1CommandSink5(ID2D1CommandSink5Vtbl): ID2D1CommandSink4(ID2D1CommandSink4Vtbl) {
    fn BlendImage(
        image: *mut ID2D1Image,
        blendMode: D2D1_BLEND_MODE,
        targetOffset: *const D2D1_POINT_2F,
        imageRectangle: *const D2D1_RECT_F,
        interpolationMode: D2D1_INTERPOLATION_MODE,
    ) -> HRESULT,
}}
RIDL!{#[uuid(0x985f7e37, 0x4ed0, 0x4a19, 0x98, 0xa3, 0x15, 0xb0, 0xed, 0xfd, 0xe3, 0x06)]
interface ID2D1DeviceContext6(ID2D1DeviceContext6Vtbl):
    ID2D1DeviceContext5(ID2D1DeviceContext5Vtbl) {
    fn BlendImage(
        image: *mut ID2D1Image,
        blendMode: D2D1_BLEND_MODE,
        targetOffset: *const D2D1_POINT_2F,
        imageRectangle: *const D2D1_RECT_F,
        interpolationMode: D2D1_INTERPOLATION_MODE,
    ) -> HRESULT,
}}
RIDL!{#[uuid(0x7bfef914, 0x2d75, 0x4bad, 0xbe, 0x87, 0xe1, 0x8d, 0xdb, 0x07, 0x7b, 0x6d)]
interface ID2D1Device6(ID2D1Device6Vtbl): ID2D1Device5(ID2D1Device5Vtbl) {
    fn CreateDeviceContext(
        options: D2D1_DEVICE_CONTEXT_OPTIONS,
        deviceContext6: *mut *mut ID2D1DeviceContext6,
    ) -> HRESULT,
}}
RIDL!{#[uuid(0xbdc2bdd3, 0xb96c, 0x4de6, 0xbd, 0xf7, 0x99, 0xd4, 0x74, 0x54, 0x54, 0xde)]
interface ID2D1Factory7(ID2D1Factory7Vtbl): ID2D1Factory6(ID2D1Factory6Vtbl) {
    fn CreateDevice(
        dxgiDevice: *mut IDXGIDevice,
        d2dDevice6: *mut *mut ID2D1Device6,
    ) -> HRESULT,
}}
extern "system" {
    pub fn D2D1GetGradientMeshInteriorPointsFromCoonsPatch(
        pPoint0: *const D2D1_POINT_2F,
        pPoint1: *const D2D1_POINT_2F,
        pPoint2: *const D2D1_POINT_2F,
        pPoint3: *const D2D1_POINT_2F,
        pPoint4: *const D2D1_POINT_2F,
        pPoint5: *const D2D1_POINT_2F,
        pPoint6: *const D2D1_POINT_2F,
        pPoint7: *const D2D1_POINT_2F,
        pPoint8: *const D2D1_POINT_2F,
        pPoint9: *const D2D1_POINT_2F,
        pPoint10: *const D2D1_POINT_2F,
        pPoint11: *const D2D1_POINT_2F,
        pTensorPoint11: *mut D2D1_POINT_2F,
        pTensorPoint12: *mut D2D1_POINT_2F,
        pTensorPoint21: *mut D2D1_POINT_2F,
        pTensorPoint22: *mut D2D1_POINT_2F,
    );
}

[ Dauer der Verarbeitung: 0.5 Sekunden  (vorverarbeitet)  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge