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


Quelle  d2d1svg.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 d2d1svg.h
use ctypes::c_void;
use shared::basetsd::UINT32;
use shared::guiddef::REFIID;
use shared::minwindef::{BOOL, FLOAT};
use shared::ntdef::{PCWSTR, PWSTR, WCHAR};
use shared::winerror::HRESULT;
use um::d2d1::{
    D2D1_CAP_STYLE_FLAT, D2D1_CAP_STYLE_ROUND, D2D1_CAP_STYLE_SQUARE, D2D1_COLOR_F, D2D1_FILL_MODE,
    D2D1_LINE_JOIN_BEVEL, D2D1_LINE_JOIN_MITER_OR_BEVEL, D2D1_LINE_JOIN_ROUND, D2D1_POINT_2F,
    D2D1_SIZE_F, ID2D1Resource, ID2D1ResourceVtbl
};
use um::d2d1_1::ID2D1PathGeometry1;
use um::objidlbase::IStream;
ENUM!{enum D2D1_SVG_PAINT_TYPE {
    D2D1_SVG_PAINT_TYPE_NONE = 0,
    D2D1_SVG_PAINT_TYPE_COLOR = 1,
    D2D1_SVG_PAINT_TYPE_CURRENT_COLOR = 2,
    D2D1_SVG_PAINT_TYPE_URI = 3,
    D2D1_SVG_PAINT_TYPE_URI_NONE = 4,
    D2D1_SVG_PAINT_TYPE_URI_COLOR = 5,
    D2D1_SVG_PAINT_TYPE_URI_CURRENT_COLOR = 6,
}}
ENUM!{enum D2D1_SVG_LENGTH_UNITS {
    D2D1_SVG_LENGTH_UNITS_NUMBER = 0,
    D2D1_SVG_LENGTH_UNITS_PERCENTAGE = 1,
}}
ENUM!{enum D2D1_SVG_DISPLAY {
    D2D1_SVG_DISPLAY_INLINE = 0,
    D2D1_SVG_DISPLAY_NONE = 1,
}}
ENUM!{enum D2D1_SVG_VISIBILITY {
    D2D1_SVG_VISIBILITY_VISIBLE = 0,
    D2D1_SVG_VISIBILITY_HIDDEN = 1,
}}
ENUM!{enum D2D1_SVG_OVERFLOW {
    D2D1_SVG_OVERFLOW_VISIBLE = 0,
    D2D1_SVG_OVERFLOW_HIDDEN = 1,
}}
ENUM!{enum D2D1_SVG_LINE_CAP {
    D2D1_SVG_LINE_CAP_BUTT = D2D1_CAP_STYLE_FLAT,
    D2D1_SVG_LINE_CAP_SQUARE = D2D1_CAP_STYLE_SQUARE,
    D2D1_SVG_LINE_CAP_ROUND = D2D1_CAP_STYLE_ROUND,
}}
ENUM!{enum D2D1_SVG_LINE_JOIN {
    D2D1_SVG_LINE_JOIN_BEVEL = D2D1_LINE_JOIN_BEVEL,
    D2D1_SVG_LINE_JOIN_MITER = D2D1_LINE_JOIN_MITER_OR_BEVEL,
    D2D1_SVG_LINE_JOIN_ROUND = D2D1_LINE_JOIN_ROUND,
}}
ENUM!{enum D2D1_SVG_ASPECT_ALIGN {
    D2D1_SVG_ASPECT_ALIGN_NONE = 0,
    D2D1_SVG_ASPECT_ALIGN_X_MIN_Y_MIN = 1,
    D2D1_SVG_ASPECT_ALIGN_X_MID_Y_MIN = 2,
    D2D1_SVG_ASPECT_ALIGN_X_MAX_Y_MIN = 3,
    D2D1_SVG_ASPECT_ALIGN_X_MIN_Y_MID = 4,
    D2D1_SVG_ASPECT_ALIGN_X_MID_Y_MID = 5,
    D2D1_SVG_ASPECT_ALIGN_X_MAX_Y_MID = 6,
    D2D1_SVG_ASPECT_ALIGN_X_MIN_Y_MAX = 7,
    D2D1_SVG_ASPECT_ALIGN_X_MID_Y_MAX = 8,
    D2D1_SVG_ASPECT_ALIGN_X_MAX_Y_MAX = 9,
}}
ENUM!{enum D2D1_SVG_ASPECT_SCALING {
    D2D1_SVG_ASPECT_SCALING_MEET = 0,
    D2D1_SVG_ASPECT_SCALING_SLICE = 1,
}}
ENUM!{enum D2D1_SVG_PATH_COMMAND {
    D2D1_SVG_PATH_COMMAND_CLOSE_PATH = 0,
    D2D1_SVG_PATH_COMMAND_MOVE_ABSOLUTE = 1,
    D2D1_SVG_PATH_COMMAND_MOVE_RELATIVE = 2,
    D2D1_SVG_PATH_COMMAND_LINE_ABSOLUTE = 3,
    D2D1_SVG_PATH_COMMAND_LINE_RELATIVE = 4,
    D2D1_SVG_PATH_COMMAND_CUBIC_ABSOLUTE = 5,
    D2D1_SVG_PATH_COMMAND_CUBIC_RELATIVE = 6,
    D2D1_SVG_PATH_COMMAND_QUADRADIC_ABSOLUTE = 7,
    D2D1_SVG_PATH_COMMAND_QUADRADIC_RELATIVE = 8,
    D2D1_SVG_PATH_COMMAND_ARC_ABSOLUTE = 9,
    D2D1_SVG_PATH_COMMAND_ARC_RELATIVE = 10,
    D2D1_SVG_PATH_COMMAND_HORIZONTAL_ABSOLUTE = 11,
    D2D1_SVG_PATH_COMMAND_HORIZONTAL_RELATIVE = 12,
    D2D1_SVG_PATH_COMMAND_VERTICAL_ABSOLUTE = 13,
    D2D1_SVG_PATH_COMMAND_VERTICAL_RELATIVE = 14,
    D2D1_SVG_PATH_COMMAND_CUBIC_SMOOTH_ABSOLUTE = 15,
    D2D1_SVG_PATH_COMMAND_CUBIC_SMOOTH_RELATIVE = 16,
    D2D1_SVG_PATH_COMMAND_QUADRADIC_SMOOTH_ABSOLUTE = 17,
    D2D1_SVG_PATH_COMMAND_QUADRADIC_SMOOTH_RELATIVE = 18,
}}
ENUM!{enum D2D1_SVG_UNIT_TYPE {
    D2D1_SVG_UNIT_TYPE_USER_SPACE_ON_USE = 0,
    D2D1_SVG_UNIT_TYPE_OBJECT_BOUNDING_BOX = 1,
}}
ENUM!{enum D2D1_SVG_ATTRIBUTE_STRING_TYPE {
    D2D1_SVG_ATTRIBUTE_STRING_TYPE_SVG = 0,
    D2D1_SVG_ATTRIBUTE_STRING_TYPE_ID = 1,
}}
ENUM!{enum D2D1_SVG_ATTRIBUTE_POD_TYPE {
    D2D1_SVG_ATTRIBUTE_POD_TYPE_FLOAT = 0,
    D2D1_SVG_ATTRIBUTE_POD_TYPE_COLOR = 1,
    D2D1_SVG_ATTRIBUTE_POD_TYPE_FILL_MODE = 2,
    D2D1_SVG_ATTRIBUTE_POD_TYPE_DISPLAY = 3,
    D2D1_SVG_ATTRIBUTE_POD_TYPE_OVERFLOW = 4,
    D2D1_SVG_ATTRIBUTE_POD_TYPE_LINE_CAP = 5,
    D2D1_SVG_ATTRIBUTE_POD_TYPE_LINE_JOIN = 6,
    D2D1_SVG_ATTRIBUTE_POD_TYPE_VISIBILITY = 7,
    D2D1_SVG_ATTRIBUTE_POD_TYPE_MATRIX = 8,
    D2D1_SVG_ATTRIBUTE_POD_TYPE_UNIT_TYPE = 9,
    D2D1_SVG_ATTRIBUTE_POD_TYPE_EXTEND_MODE = 10,
    D2D1_SVG_ATTRIBUTE_POD_TYPE_PRESERVE_ASPECT_RATIO = 11,
    D2D1_SVG_ATTRIBUTE_POD_TYPE_VIEWBOX = 12,
    D2D1_SVG_ATTRIBUTE_POD_TYPE_LENGTH = 13,
}}
STRUCT!{struct D2D1_SVG_LENGTH {
    value: FLOAT,
    units: D2D1_SVG_LENGTH_UNITS,
}}
STRUCT!{struct D2D1_SVG_PRESERVE_ASPECT_RATIO {
    defer: BOOL,
    align: D2D1_SVG_ASPECT_ALIGN,
    meetOrSlice: D2D1_SVG_ASPECT_SCALING,
}}
STRUCT!{struct D2D1_SVG_VIEWBOX {
    x: FLOAT,
    y: FLOAT,
    width: FLOAT,
    height: FLOAT,
}}
DEFINE_GUID!{IID_ID2D1SvgAttribute,
    0xc9cdb0dd, 0xf8c9, 0x4e70, 0xb7, 0xc2, 0x30, 0x1c, 0x80, 0x29, 0x2c, 0x5e}
DEFINE_GUID!{IID_ID2D1SvgPaint,
    0xd59bab0a, 0x68a2, 0x455b, 0xa5, 0xdc, 0x9e, 0xb2, 0x85, 0x4e, 0x24, 0x90}
DEFINE_GUID!{IID_ID2D1SvgStrokeDashArray,
    0xf1c0ca52, 0x92a3, 0x4f00, 0xb4, 0xce, 0xf3, 0x56, 0x91, 0xef, 0xd9, 0xd9}
DEFINE_GUID!{IID_ID2D1SvgPointCollection,
    0x9dbe4c0d, 0x3572, 0x4dd9, 0x98, 0x25, 0x55, 0x30, 0x81, 0x3b, 0xb7, 0x12}
DEFINE_GUID!{IID_ID2D1SvgPathData,
    0xc095e4f4, 0xbb98, 0x43d6, 0x97, 0x45, 0x4d, 0x1b, 0x84, 0xec, 0x98, 0x88}
DEFINE_GUID!{IID_ID2D1SvgElement,
    0xac7b67a6, 0x183e, 0x49c1, 0xa8, 0x23, 0x0e, 0xbe, 0x40, 0xb0, 0xdb, 0x29}
DEFINE_GUID!{IID_ID2D1SvgDocument,
    0x86b88e4d, 0xafa4, 0x4d7b, 0x88, 0xe4, 0x68, 0xa5, 0x1c, 0x4a, 0x0a, 0xec}
RIDL!{#[uuid(0xc9cdb0dd, 0xf8c9, 0x4e70, 0xb7, 0xc2, 0x30, 0x1c, 0x80, 0x29, 0x2c, 0x5e)]
interface ID2D1SvgAttribute(ID2D1SvgAttributeVtbl): ID2D1Resource(ID2D1ResourceVtbl) {
    fn GetElement(
        element: *mut *mut ID2D1SvgElement,
    ) -> (),
    fn Clone(
        attribute: *mut *mut ID2D1SvgAttribute,
    ) -> HRESULT,
}}
RIDL!{#[uuid(0xd59bab0a, 0x68a2, 0x455b, 0xa5, 0xdc, 0x9e, 0xb2, 0x85, 0x4e, 0x24, 0x90)]
interface ID2D1SvgPaint(ID2D1SvgPaintVtbl): ID2D1SvgAttribute(ID2D1SvgAttributeVtbl) {
    fn SetPaintType(
        paintType: D2D1_SVG_PAINT_TYPE,
    ) -> HRESULT,
    fn GetPaintType() -> D2D1_SVG_PAINT_TYPE,
    fn SetColor(
        color: D2D1_COLOR_F,
    ) -> HRESULT,
    fn GetColor(
        color: *mut D2D1_COLOR_F,
    ) -> (),
    fn SetId(
        id: PCWSTR,
    ) -> HRESULT,
    fn GetId(
        id: PWSTR,
        idCount: UINT32,
    ) -> HRESULT,
    fn GetIdLength() -> UINT32,
}}
RIDL!{#[uuid(0xf1c0ca52, 0x92a3, 0x4f00, 0xb4, 0xce, 0xf3, 0x56, 0x91, 0xef, 0xd9, 0xd9)]
interface ID2D1SvgStrokeDashArray(ID2D1SvgStrokeDashArrayVtbl):
    ID2D1SvgAttribute(ID2D1SvgAttributeVtbl) {
    fn RemoveDashesAtEnd(
        dashesCount: UINT32,
    ) -> HRESULT,
    fn UpdateDashes_1(
        dashes: *const D2D1_SVG_LENGTH,
        dashesCount: UINT32,
        startIndex: UINT32,
    ) -> HRESULT,
    fn UpdateDashes_2(
        dashes: *const FLOAT,
        dashesCount: UINT32,
        startIndex: UINT32,
    ) -> HRESULT,
    fn GetDashes_1(
        dashes: *mut D2D1_SVG_LENGTH,
        dashesCount: UINT32,
        startIndex: UINT32,
    ) -> HRESULT,
    fn GetDashes_2(
        dashes: *mut FLOAT,
        dashesCount: UINT32,
        startIndex: UINT32,
    ) -> HRESULT,
    fn GetDashesCount() -> UINT32,
}}
RIDL!{#[uuid(0x9dbe4c0d, 0x3572, 0x4dd9, 0x98, 0x25, 0x55, 0x30, 0x81, 0x3b, 0xb7, 0x12)]
interface ID2D1SvgPointCollection(ID2D1SvgPointCollectionVtbl):
    ID2D1SvgAttribute(ID2D1SvgAttributeVtbl) {
    fn RemovePointsAtEnd(
        pointsCount: UINT32,
    ) -> HRESULT,
    fn UpdatePoints(
        points: *const D2D1_POINT_2F,
        pointsCount: UINT32,
        startIndex: UINT32,
    ) -> HRESULT,
    fn GetPoints(
        points: *mut D2D1_POINT_2F,
        pointsCount: UINT32,
        startIndex: UINT32,
    ) -> HRESULT,
    fn GetPointsCount() -> UINT32,
}}
RIDL!{#[uuid(0xc095e4f4, 0xbb98, 0x43d6, 0x97, 0x45, 0x4d, 0x1b, 0x84, 0xec, 0x98, 0x88)]
interface ID2D1SvgPathData(ID2D1SvgPathDataVtbl): ID2D1SvgAttribute(ID2D1SvgAttributeVtbl) {
    fn RemoveSegmentDataAtEnd(
        dataCount: UINT32,
    ) -> HRESULT,
    fn UpdateSegmentData(
        data: *const FLOAT,
        dataCount: UINT32,
        startIndex: UINT32,
    ) -> HRESULT,
    fn GetSegmentData(
        data: *mut FLOAT,
        dataCount: UINT32,
        startIndex: UINT32,
    ) -> HRESULT,
    fn GetSegmentDataCount() -> UINT32,
    fn RemoveCommandsAtEnd(
        commandsCount: UINT32,
    ) -> HRESULT,
    fn UpdateCommands(
        commands: *const D2D1_SVG_PATH_COMMAND,
        commandsCount: UINT32,
        startIndex: UINT32,
    ) -> HRESULT,
    fn GetCommands(
        commands: *mut D2D1_SVG_PATH_COMMAND,
        commandsCount: UINT32,
        startIndex: UINT32,
    ) -> HRESULT,
    fn GetCommandsCount() -> UINT32,
    fn CreatePathGeometry(
        fillMode: D2D1_FILL_MODE,
        pathGeometry: *mut *mut ID2D1PathGeometry1,
    ) -> HRESULT,
}}
RIDL!{#[uuid(0xac7b67a6, 0x183e, 0x49c1, 0xa8, 0x23, 0x0e, 0xbe, 0x40, 0xb0, 0xdb, 0x29)]
interface ID2D1SvgElement(ID2D1SvgElementVtbl): ID2D1Resource(ID2D1ResourceVtbl) {
    fn GetDocument(
        document: *mut *mut ID2D1SvgDocument,
    ) -> (),
    fn GetTagName(
        name: PWSTR,
        nameCount: UINT32,
    ) -> HRESULT,
    fn GetTagNameLength() -> UINT32,
    fn IsTextContent() -> BOOL,
    fn GetParent(
        parent: *mut *mut ID2D1SvgElement,
    ) -> (),
    fn HasChildren() -> BOOL,
    fn GetFirstChild(
        child: *mut *mut ID2D1SvgElement,
    ) -> (),
    fn GetLastChild(
        child: *mut *mut ID2D1SvgElement,
    ) -> (),
    fn GetPreviousChild(
        referenceChild: *mut ID2D1SvgElement,
        previousChild: *mut *mut ID2D1SvgElement,
    ) -> HRESULT,
    fn GetNextChild(
        referenceChild: *mut ID2D1SvgElement,
        nextChild: *mut *mut ID2D1SvgElement,
    ) -> HRESULT,
    fn InsertChildBefore(
        newChild: *mut ID2D1SvgElement,
        referenceChild: *mut ID2D1SvgElement,
    ) -> HRESULT,
    fn AppendChild(
        newChild: *mut ID2D1SvgElement,
    ) -> HRESULT,
    fn ReplaceChild(
        newChild: *mut ID2D1SvgElement,
        oldChild: *mut ID2D1SvgElement,
    ) -> HRESULT,
    fn RemoveChild(
        oldChild: *mut ID2D1SvgElement,
    ) -> HRESULT,
    fn IsAttributeSpecified(
        name: PCWSTR, inherited: *mut BOOL,
    ) -> BOOL,
    fn GetSpecifiedAttributeCount() -> UINT32,
    fn GetSpecifiedAttributeName(
        index: UINT32,
        name: PWSTR,
        nameCount: UINT32,
        inherited: *mut BOOL,
    ) -> HRESULT,
    fn GetSpecifiedAttributeNameLength(
        index: UINT32,
        nameLength: *mut UINT32,
        inherited: *mut BOOL,
    ) -> HRESULT,
    fn RemoveAttribute(
        name: PCWSTR,
    ) -> HRESULT,
    fn SetTextValue(
        name: *const WCHAR,
        nameCount: UINT32,
    ) -> HRESULT,
    fn GetTextValue(
        name: PWSTR,
        nameCount: UINT32,
    ) -> HRESULT,
    fn GetTextValueLength() -> UINT32,
    fn SetAttributeValue_1(
        name: PCWSTR,
        value: *mut ID2D1SvgAttribute,
    ) -> HRESULT,
    fn SetAttributeValue_2(
        name: PCWSTR,
        type_: D2D1_SVG_ATTRIBUTE_POD_TYPE,
        value: *const c_void,
        valueSizeInBytes: UINT32,
    ) -> HRESULT,
    fn SetAttributeValue_3(
        name: PCWSTR,
        type_: D2D1_SVG_ATTRIBUTE_STRING_TYPE,
        value: PCWSTR,
    ) -> HRESULT,
    fn GetAttributeValue_1(
        name: PCWSTR,
        riid: REFIID,
        value: *mut *mut c_void,
    ) -> HRESULT,
    fn GetAttributeValue_2(
        name: PCWSTR,
        type_: D2D1_SVG_ATTRIBUTE_POD_TYPE,
        value: *mut c_void,
        valueSizeInBytes: UINT32,
    ) -> HRESULT,
    fn GetAttributeValue_3(
        name: PCWSTR,
        type_: D2D1_SVG_ATTRIBUTE_STRING_TYPE,
        value: PWSTR,
        valueCount: UINT32,
    ) -> HRESULT,
    fn GetAttributeValueLength(
        name: PCWSTR,
        type_: D2D1_SVG_ATTRIBUTE_STRING_TYPE,
        valueLength: *mut UINT32,
    ) -> HRESULT,
}}
RIDL!{#[uuid(0x86b88e4d, 0xafa4, 0x4d7b, 0x88, 0xe4, 0x68, 0xa5, 0x1c, 0x4a, 0x0a, 0xec)]
interface ID2D1SvgDocument(ID2D1SvgDocumentVtbl): ID2D1Resource(ID2D1ResourceVtbl) {
    fn SetViewportSize(
        viewportSize: D2D1_SIZE_F,
    ) -> HRESULT,
    fn GetViewportSize() -> D2D1_SIZE_F,
    fn SetRoot(
        root: *mut ID2D1SvgElement,
    ) -> HRESULT,
    fn GetRoot(
        root: *mut *mut ID2D1SvgElement,
    ) -> (),
    fn FindElementById(
        id: PCWSTR,
        svgElement: *mut *mut ID2D1SvgElement,
    ) -> HRESULT,
    fn Serialize(
        outputXmlStream: *mut IStream,
        subtree: *mut ID2D1SvgElement,
    ) -> HRESULT,
    fn Deserialize(
        inputXmlStream: *mut IStream,
        subtree: *mut *mut ID2D1SvgElement,
    ) -> HRESULT,
    fn CreatePaint(
        paintType: D2D1_SVG_PAINT_TYPE,
        color: *const D2D1_COLOR_F,
        id: PCWSTR,
        paint: *mut *mut ID2D1SvgPaint,
    ) -> HRESULT,
    fn CreateStrokeDashArray(
        dashes: *const D2D1_SVG_LENGTH,
        dashesCount: UINT32,
        strokeDashArray: *mut *mut ID2D1SvgStrokeDashArray,
    ) -> HRESULT,
    fn CreatePointCollection(
        points: *const D2D1_POINT_2F,
        pountsCount: UINT32,
        pointCollection: *mut ID2D1SvgPointCollection,
    ) -> HRESULT,
    fn CreatePathData(
        segmentData: *const FLOAT,
        segmentDataCount: UINT32,
        commands: *const D2D1_SVG_PATH_COMMAND,
        commandsCount: UINT32,
        pathData: *mut *mut ID2D1SvgPathData,
    ) -> HRESULT,
}}

[ Dauer der Verarbeitung: 0.2 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