diff options
Diffstat (limited to 'vendor/winapi/src/um/d2d1.rs')
-rw-r--r-- | vendor/winapi/src/um/d2d1.rs | 982 |
1 files changed, 0 insertions, 982 deletions
diff --git a/vendor/winapi/src/um/d2d1.rs b/vendor/winapi/src/um/d2d1.rs deleted file mode 100644 index 0632e68..0000000 --- a/vendor/winapi/src/um/d2d1.rs +++ /dev/null @@ -1,982 +0,0 @@ -// 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.h -use ctypes::c_void; -use shared::basetsd::{UINT32, UINT64}; -use shared::dxgi::IDXGISurface; -use shared::guiddef::REFIID; -use shared::minwindef::{BOOL, DWORD, FLOAT}; -use shared::windef::{HDC, HWND, RECT}; -use um::d2dbasetypes::{ - D2D_COLOR_F, D2D_MATRIX_3X2_F, D2D_POINT_2F, D2D_POINT_2U, D2D_RECT_F, D2D_RECT_U, D2D_SIZE_F, - D2D_SIZE_U, -}; -use um::d3dcommon::{D3D_FEATURE_LEVEL_10_0, D3D_FEATURE_LEVEL_9_1}; -use um::dcommon::{D2D1_PIXEL_FORMAT, DWRITE_MEASURING_MODE}; -use um::dwrite::{DWRITE_GLYPH_RUN, IDWriteRenderingParams, IDWriteTextFormat, IDWriteTextLayout}; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -use um::wincodec::{IWICBitmap, IWICBitmapSource}; -use um::winnt::{HRESULT, WCHAR}; -// Types confirmed affected by the ABI issue: -// D2D1_SIZE_F, D2D1_SIZE_U, D2D1_COLOR_F, D2D1_PIXEL_FORMAT, D2D1_POINT_2F -pub const D2D1_DEFAULT_FLATTENING_TOLERANCE: FLOAT = 0.25; -pub const D2D1_INTERPOLATION_MODE_DEFINITION_NEAREST_NEIGHBOR: DWORD = 0; -pub const D2D1_INTERPOLATION_MODE_DEFINITION_LINEAR: DWORD = 1; -pub const D2D1_INTERPOLATION_MODE_DEFINITION_CUBIC: DWORD = 2; -pub const D2D1_INTERPOLATION_MODE_DEFINITION_MULTI_SAMPLE_LINEAR: DWORD = 3; -pub const D2D1_INTERPOLATION_MODE_DEFINITION_ANISOTROPIC: DWORD = 4; -pub const D2D1_INTERPOLATION_MODE_DEFINITION_HIGH_QUALITY_CUBIC: DWORD = 5; -pub const D2D1_INTERPOLATION_MODE_DEFINITION_FANT: DWORD = 6; -pub const D2D1_INTERPOLATION_MODE_DEFINITION_MIPMAP_LINEAR: DWORD = 7; -ENUM!{enum D2D1_GAMMA { - D2D1_GAMMA_2_2 = 0, - D2D1_GAMMA_1_0 = 1, -}} -ENUM!{enum D2D1_OPACITY_MASK_CONTENT { - D2D1_OPACITY_MASK_CONTENT_GRAPHICS = 0, - D2D1_OPACITY_MASK_CONTENT_TEXT_NATURAL = 1, - D2D1_OPACITY_MASK_CONTENT_TEXT_GDI_COMPATIBLE = 2, -}} -ENUM!{enum D2D1_EXTEND_MODE { - D2D1_EXTEND_MODE_CLAMP = 0, - D2D1_EXTEND_MODE_WRAP = 1, - D2D1_EXTEND_MODE_MIRROR = 2, -}} -ENUM!{enum D2D1_ANTIALIAS_MODE { - D2D1_ANTIALIAS_MODE_PER_PRIMITIVE = 0, - D2D1_ANTIALIAS_MODE_ALIASED = 1, -}} -ENUM!{enum D2D1_TEXT_ANTIALIAS_MODE { - D2D1_TEXT_ANTIALIAS_MODE_DEFAULT = 0, - D2D1_TEXT_ANTIALIAS_MODE_CLEARTYPE = 1, - D2D1_TEXT_ANTIALIAS_MODE_GRAYSCALE = 2, - D2D1_TEXT_ANTIALIAS_MODE_ALIASED = 3, -}} -ENUM!{enum D2D1_BITMAP_INTERPOLATION_MODE { - D2D1_BITMAP_INTERPOLATION_MODE_NEAREST_NEIGHBOR = - D2D1_INTERPOLATION_MODE_DEFINITION_NEAREST_NEIGHBOR, - D2D1_BITMAP_INTERPOLATION_MODE_LINEAR = - D2D1_INTERPOLATION_MODE_DEFINITION_LINEAR, -}} -ENUM!{enum D2D1_DRAW_TEXT_OPTIONS { - D2D1_DRAW_TEXT_OPTIONS_NO_SNAP = 0x00000001, - D2D1_DRAW_TEXT_OPTIONS_CLIP = 0x00000002, - D2D1_DRAW_TEXT_OPTIONS_ENABLE_COLOR_FONT = 0x00000004, - D2D1_DRAW_TEXT_OPTIONS_NONE = 0x00000000, -}} -pub type D2D1_POINT_2U = D2D_POINT_2U; -pub type D2D1_POINT_2F = D2D_POINT_2F; -pub type D2D1_RECT_F = D2D_RECT_F; -pub type D2D1_RECT_U = D2D_RECT_U; -pub type D2D1_SIZE_F = D2D_SIZE_F; -pub type D2D1_SIZE_U = D2D_SIZE_U; -pub type D2D1_COLOR_F = D2D_COLOR_F; -pub type D2D1_MATRIX_3X2_F = D2D_MATRIX_3X2_F; -pub type D2D1_TAG = UINT64; -STRUCT!{struct D2D1_BITMAP_PROPERTIES { - pixelFormat: D2D1_PIXEL_FORMAT, - dpiX: FLOAT, - dpiY: FLOAT, -}} -STRUCT!{struct D2D1_GRADIENT_STOP { - position: FLOAT, - color: D2D1_COLOR_F, -}} -STRUCT!{struct D2D1_BRUSH_PROPERTIES { - opacity: FLOAT, - transform: D2D1_MATRIX_3X2_F, -}} -STRUCT!{struct D2D1_BITMAP_BRUSH_PROPERTIES { - extendModeX: D2D1_EXTEND_MODE, - extendModeY: D2D1_EXTEND_MODE, - interpolationMode: D2D1_BITMAP_INTERPOLATION_MODE, -}} -STRUCT!{struct D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES { - startPoint: D2D1_POINT_2F, - endPoint: D2D1_POINT_2F, -}} -STRUCT!{struct D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES { - center: D2D1_POINT_2F, - gradientOriginOffset: D2D1_POINT_2F, - radiusX: FLOAT, - radiusY: FLOAT, -}} -ENUM!{enum D2D1_ARC_SIZE { - D2D1_ARC_SIZE_SMALL = 0, - D2D1_ARC_SIZE_LARGE = 1, -}} -ENUM!{enum D2D1_CAP_STYLE { - D2D1_CAP_STYLE_FLAT = 0, - D2D1_CAP_STYLE_SQUARE = 1, - D2D1_CAP_STYLE_ROUND = 2, - D2D1_CAP_STYLE_TRIANGLE = 3, -}} -ENUM!{enum D2D1_DASH_STYLE { - D2D1_DASH_STYLE_SOLID = 0, - D2D1_DASH_STYLE_DASH = 1, - D2D1_DASH_STYLE_DOT = 2, - D2D1_DASH_STYLE_DASH_DOT = 3, - D2D1_DASH_STYLE_DASH_DOT_DOT = 4, - D2D1_DASH_STYLE_CUSTOM = 5, -}} -ENUM!{enum D2D1_LINE_JOIN { - D2D1_LINE_JOIN_MITER = 0, - D2D1_LINE_JOIN_BEVEL = 1, - D2D1_LINE_JOIN_ROUND = 2, - D2D1_LINE_JOIN_MITER_OR_BEVEL = 3, -}} -ENUM!{enum D2D1_COMBINE_MODE { - D2D1_COMBINE_MODE_UNION = 0, - D2D1_COMBINE_MODE_INTERSECT = 1, - D2D1_COMBINE_MODE_XOR = 2, - D2D1_COMBINE_MODE_EXCLUDE = 3, -}} -ENUM!{enum D2D1_GEOMETRY_RELATION { - D2D1_GEOMETRY_RELATION_UNKNOWN = 0, - D2D1_GEOMETRY_RELATION_DISJOINT = 1, - D2D1_GEOMETRY_RELATION_IS_CONTAINED = 2, - D2D1_GEOMETRY_RELATION_CONTAINS = 3, - D2D1_GEOMETRY_RELATION_OVERLAP = 4, -}} -ENUM!{enum D2D1_GEOMETRY_SIMPLIFICATION_OPTION { - D2D1_GEOMETRY_SIMPLIFICATION_OPTION_CUBICS_AND_LINES = 0, - D2D1_GEOMETRY_SIMPLIFICATION_OPTION_LINES = 1, -}} -ENUM!{enum D2D1_FIGURE_BEGIN { - D2D1_FIGURE_BEGIN_FILLED = 0, - D2D1_FIGURE_BEGIN_HOLLOW = 1, -}} -ENUM!{enum D2D1_FIGURE_END { - D2D1_FIGURE_END_OPEN = 0, - D2D1_FIGURE_END_CLOSED = 1, -}} -STRUCT!{struct D2D1_BEZIER_SEGMENT { - point1: D2D1_POINT_2F, - point2: D2D1_POINT_2F, - point3: D2D1_POINT_2F, -}} -STRUCT!{struct D2D1_TRIANGLE { - point1: D2D1_POINT_2F, - point2: D2D1_POINT_2F, - point3: D2D1_POINT_2F, -}} -ENUM!{enum D2D1_PATH_SEGMENT { - D2D1_PATH_SEGMENT_NONE = 0x00000000, - D2D1_PATH_SEGMENT_FORCE_UNSTROKED = 0x00000001, - D2D1_PATH_SEGMENT_FORCE_ROUND_LINE_JOIN = 0x00000002, -}} -ENUM!{enum D2D1_SWEEP_DIRECTION { - D2D1_SWEEP_DIRECTION_COUNTER_CLOCKWISE = 0, - D2D1_SWEEP_DIRECTION_CLOCKWISE = 1, -}} -ENUM!{enum D2D1_FILL_MODE { - D2D1_FILL_MODE_ALTERNATE = 0, - D2D1_FILL_MODE_WINDING = 1, -}} -STRUCT!{struct D2D1_ARC_SEGMENT { - point: D2D1_POINT_2F, - size: D2D1_SIZE_F, - rotationAngle: FLOAT, - sweepDirection: D2D1_SWEEP_DIRECTION, - arcSize: D2D1_ARC_SIZE, -}} -STRUCT!{struct D2D1_QUADRATIC_BEZIER_SEGMENT { - point1: D2D1_POINT_2F, - point2: D2D1_POINT_2F, -}} -STRUCT!{struct D2D1_ELLIPSE { - point: D2D1_POINT_2F, - radiusX: FLOAT, - radiusY: FLOAT, -}} -STRUCT!{struct D2D1_ROUNDED_RECT { - rect: D2D1_RECT_F, - radiusX: FLOAT, - radiusY: FLOAT, -}} -STRUCT!{struct D2D1_STROKE_STYLE_PROPERTIES { - startCap: D2D1_CAP_STYLE, - endCap: D2D1_CAP_STYLE, - dashCap: D2D1_CAP_STYLE, - lineJoin: D2D1_LINE_JOIN, - miterLimit: FLOAT, - dashStyle: D2D1_DASH_STYLE, - dashOffset: FLOAT, -}} -ENUM!{enum D2D1_LAYER_OPTIONS { - D2D1_LAYER_OPTIONS_NONE = 0x00000000, - D2D1_LAYER_OPTIONS_INITIALIZE_FOR_CLEARTYPE = 0x00000001, -}} -STRUCT!{struct D2D1_LAYER_PARAMETERS { - contentBounds: D2D1_RECT_F, - geometricMask: *mut ID2D1Geometry, - maskAntialiasMode: D2D1_ANTIALIAS_MODE, - maskTransform: D2D1_MATRIX_3X2_F, - opacity: FLOAT, - opacityBrush: *mut ID2D1Brush, - layerOptions: D2D1_LAYER_OPTIONS, -}} -ENUM!{enum D2D1_WINDOW_STATE { - D2D1_WINDOW_STATE_NONE = 0x0000000, - D2D1_WINDOW_STATE_OCCLUDED = 0x0000001, -}} -ENUM!{enum D2D1_RENDER_TARGET_TYPE { - D2D1_RENDER_TARGET_TYPE_DEFAULT = 0, - D2D1_RENDER_TARGET_TYPE_SOFTWARE = 1, - D2D1_RENDER_TARGET_TYPE_HARDWARE = 2, -}} -ENUM!{enum D2D1_FEATURE_LEVEL { - D2D1_FEATURE_LEVEL_DEFAULT = 0, - D2D1_FEATURE_LEVEL_9 = D3D_FEATURE_LEVEL_9_1, - D2D1_FEATURE_LEVEL_10 = D3D_FEATURE_LEVEL_10_0, -}} -ENUM!{enum D2D1_RENDER_TARGET_USAGE { - D2D1_RENDER_TARGET_USAGE_NONE = 0x00000000, - D2D1_RENDER_TARGET_USAGE_FORCE_BITMAP_REMOTING = 0x00000001, - D2D1_RENDER_TARGET_USAGE_GDI_COMPATIBLE = 0x00000002, -}} -ENUM!{enum D2D1_PRESENT_OPTIONS { - D2D1_PRESENT_OPTIONS_NONE = 0x00000000, - D2D1_PRESENT_OPTIONS_RETAIN_CONTENTS = 0x00000001, - D2D1_PRESENT_OPTIONS_IMMEDIATELY = 0x00000002, -}} -STRUCT!{struct D2D1_RENDER_TARGET_PROPERTIES { - _type: D2D1_RENDER_TARGET_TYPE, - pixelFormat: D2D1_PIXEL_FORMAT, - dpiX: FLOAT, - dpiY: FLOAT, - usage: D2D1_RENDER_TARGET_USAGE, - minLevel: D2D1_FEATURE_LEVEL, -}} -STRUCT!{struct D2D1_HWND_RENDER_TARGET_PROPERTIES { - hwnd: HWND, - pixelSize: D2D1_SIZE_U, - presentOptions: D2D1_PRESENT_OPTIONS, -}} -ENUM!{enum D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS { - D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_NONE = 0x00000000, - D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_GDI_COMPATIBLE = 0x00000001, -}} -STRUCT!{struct D2D1_DRAWING_STATE_DESCRIPTION { - antialiasMode: D2D1_ANTIALIAS_MODE, - textAntialiasMode: D2D1_TEXT_ANTIALIAS_MODE, - tag1: D2D1_TAG, - tag2: D2D1_TAG, - transform: D2D1_MATRIX_3X2_F, -}} -ENUM!{enum D2D1_DC_INITIALIZE_MODE { - D2D1_DC_INITIALIZE_MODE_COPY = 0, - D2D1_DC_INITIALIZE_MODE_CLEAR = 1, -}} -ENUM!{enum D2D1_DEBUG_LEVEL { - D2D1_DEBUG_LEVEL_NONE = 0, - D2D1_DEBUG_LEVEL_ERROR = 1, - D2D1_DEBUG_LEVEL_WARNING = 2, - D2D1_DEBUG_LEVEL_INFORMATION = 3, -}} -ENUM!{enum D2D1_FACTORY_TYPE { - D2D1_FACTORY_TYPE_SINGLE_THREADED = 0, - D2D1_FACTORY_TYPE_MULTI_THREADED = 1, -}} -STRUCT!{struct D2D1_FACTORY_OPTIONS { - debugLevel: D2D1_DEBUG_LEVEL, -}} -RIDL!{#[uuid(0x2cd90691, 0x12e2, 0x11dc, 0x9f, 0xed, 0x00, 0x11, 0x43, 0xa0, 0x55, 0xf9)] -interface ID2D1Resource(ID2D1ResourceVtbl): IUnknown(IUnknownVtbl) { - fn GetFactory( - factory: *mut *mut ID2D1Factory, - ) -> (), -}} -RIDL!{#[uuid(0x65019f75, 0x8da2, 0x497c, 0xb3, 0x2c, 0xdf, 0xa3, 0x4e, 0x48, 0xed, 0xe6)] -interface ID2D1Image(ID2D1ImageVtbl): ID2D1Resource(ID2D1ResourceVtbl) {}} -RIDL!{#[uuid(0xa2296057, 0xea42, 0x4099, 0x98, 0x3b, 0x53, 0x9f, 0xb6, 0x50, 0x54, 0x26)] -interface ID2D1Bitmap(ID2D1BitmapVtbl): ID2D1Image(ID2D1ImageVtbl) { - #[fixme] fn GetSize() -> D2D1_SIZE_F, - #[fixme] fn GetPixelSize() -> D2D1_SIZE_U, - #[fixme] fn GetPixelFormat() -> D2D1_PIXEL_FORMAT, - fn GetDpi( - dpiX: *mut FLOAT, - dpiY: *mut FLOAT, - ) -> (), - fn CopyFromBitmap( - destPoint: *const D2D1_POINT_2U, - bitmap: *mut ID2D1Bitmap, - srcRect: *const D2D1_RECT_U, - ) -> HRESULT, - fn CopyFromRenderTarget( - destPoint: *const D2D1_POINT_2U, - renderTarget: *mut ID2D1RenderTarget, - srcRect: *const D2D1_RECT_U, - ) -> HRESULT, - fn CopyFromMemory( - dstRect: *const D2D1_RECT_U, - srcData: *const c_void, - pitch: UINT32, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x2cd906a7, 0x12e2, 0x11dc, 0x9f, 0xed, 0x00, 0x11, 0x43, 0xa0, 0x55, 0xf9)] -interface ID2D1GradientStopCollection(ID2D1GradientStopCollectionVtbl): - ID2D1Resource(ID2D1ResourceVtbl) { - fn GetGradientStopCount() -> UINT32, - fn GetGradientStops( - gradientStops: *mut D2D1_GRADIENT_STOP, - gradientStopsCount: UINT32, - ) -> (), - fn GetColorInterpolationGamma() -> D2D1_GAMMA, - fn GetExtendMode() -> D2D1_EXTEND_MODE, -}} -RIDL!{#[uuid(0x2cd906a8, 0x12e2, 0x11dc, 0x9f, 0xed, 0x00, 0x11, 0x43, 0xa0, 0x55, 0xf9)] -interface ID2D1Brush(ID2D1BrushVtbl): ID2D1Resource(ID2D1ResourceVtbl) { - fn SetOpacity( - opacity: FLOAT, - ) -> (), - fn SetTransform( - transform: *const D2D1_MATRIX_3X2_F, - ) -> (), - fn GetOpacity() -> FLOAT, - fn GetTransform( - transform: *mut D2D1_MATRIX_3X2_F, - ) -> (), -}} -RIDL!{#[uuid(0x2cd906aa, 0x12e2, 0x11dc, 0x9f, 0xed, 0x00, 0x11, 0x43, 0xa0, 0x55, 0xf9)] -interface ID2D1BitmapBrush(ID2D1BitmapBrushVtbl): ID2D1Brush(ID2D1BrushVtbl) { - fn SetExtendModeX( - extendModeX: D2D1_EXTEND_MODE, - ) -> (), - fn SetExtendModeY( - extendModeY: D2D1_EXTEND_MODE, - ) -> (), - fn SetInterpolationMode( - interpolationMode: D2D1_BITMAP_INTERPOLATION_MODE, - ) -> (), - fn SetBitmap( - bitmap: *mut ID2D1Bitmap, - ) -> (), - fn GetExtendModeX() -> D2D1_EXTEND_MODE, - fn GetExtendModeY() -> D2D1_EXTEND_MODE, - fn GetInterpolationMode() -> D2D1_BITMAP_INTERPOLATION_MODE, - fn GetBitmap( - bitmap: *mut *mut ID2D1Bitmap, - ) -> (), -}} -RIDL!{#[uuid(0x2cd906a9, 0x12e2, 0x11dc, 0x9f, 0xed, 0x00, 0x11, 0x43, 0xa0, 0x55, 0xf9)] -interface ID2D1SolidColorBrush(ID2D1SolidColorBrushVtbl): ID2D1Brush(ID2D1BrushVtbl) { - fn SetColor( - color: *const D2D1_COLOR_F, - ) -> (), - #[fixme] fn GetColor() -> D2D1_COLOR_F, -}} -RIDL!{#[uuid(0x2cd906ab, 0x12e2, 0x11dc, 0x9f, 0xed, 0x00, 0x11, 0x43, 0xa0, 0x55, 0xf9)] -interface ID2D1LinearGradientBrush(ID2D1LinearGradientBrushVtbl): ID2D1Brush(ID2D1BrushVtbl) { - fn SetStartPoint( - startPoint: D2D1_POINT_2F, - ) -> (), - fn SetEndPoint( - endPoint: D2D1_POINT_2F, - ) -> (), - #[fixme] fn GetStartPoint() -> D2D1_POINT_2F, - #[fixme] fn GetEndPoint() -> D2D1_POINT_2F, - fn GetGradientStopCollection( - gradientStopCollection: *mut *mut ID2D1GradientStopCollection, - ) -> (), -}} -RIDL!{#[uuid(0x2cd906ac, 0x12e2, 0x11dc, 0x9f, 0xed, 0x00, 0x11, 0x43, 0xa0, 0x55, 0xf9)] -interface ID2D1RadialGradientBrush(ID2D1RadialGradientBrushVtbl): ID2D1Brush(ID2D1BrushVtbl) { - fn SetCenter( - center: D2D1_POINT_2F, - ) -> (), - fn SetGradientOriginOffset( - gradientOriginOffset: D2D1_POINT_2F, - ) -> (), - fn SetRadiusX( - radiusX: FLOAT, - ) -> (), - fn SetRadiusY( - radiusY: FLOAT, - ) -> (), - #[fixme] fn GetCenter() -> D2D1_POINT_2F, - #[fixme] fn GetGradientOriginOffset() -> D2D1_POINT_2F, - fn GetRadiusX() -> FLOAT, - fn GetRadiusY() -> FLOAT, - fn GetGradientStopCollection( - gradientStopCollection: *mut *mut ID2D1GradientStopCollection, - ) -> (), -}} -RIDL!{#[uuid(0x2cd9069d, 0x12e2, 0x11dc, 0x9f, 0xed, 0x00, 0x11, 0x43, 0xa0, 0x55, 0xf9)] -interface ID2D1StrokeStyle(ID2D1StrokeStyleVtbl): ID2D1Resource(ID2D1ResourceVtbl) { - fn GetStartCap() -> D2D1_CAP_STYLE, - fn GetEndCap() -> D2D1_CAP_STYLE, - fn GetDashCap() -> D2D1_CAP_STYLE, - fn GetMiterLimit() -> FLOAT, - fn GetLineJoin() -> D2D1_LINE_JOIN, - fn GetDashOffset() -> FLOAT, - fn GetDashStyle() -> D2D1_DASH_STYLE, - fn GetDashesCount() -> UINT32, - fn GetDashes( - dashes: *mut FLOAT, - dashesCount: UINT32, - ) -> (), -}} -RIDL!{#[uuid(0x2cd906a1, 0x12e2, 0x11dc, 0x9f, 0xed, 0x00, 0x11, 0x43, 0xa0, 0x55, 0xf9)] -interface ID2D1Geometry(ID2D1GeometryVtbl): ID2D1Resource(ID2D1ResourceVtbl) { - fn GetBounds( - worldTransform: *const D2D1_MATRIX_3X2_F, - bounds: *mut D2D1_RECT_F, - ) -> HRESULT, - fn GetWidenedBounds( - strokeWidth: FLOAT, - strokeStyle: *mut ID2D1StrokeStyle, - worldTransform: *const D2D1_MATRIX_3X2_F, - flatteningTolerance: FLOAT, - bounds: *mut D2D1_RECT_F, - ) -> HRESULT, - fn StrokeContainsPoint( - point: D2D1_POINT_2F, - strokeWidth: FLOAT, - strokeStyle: *mut ID2D1StrokeStyle, - worldTransform: *const D2D1_MATRIX_3X2_F, - flatteningTolerance: FLOAT, - contains: *mut BOOL, - ) -> HRESULT, - fn FillContainsPoint( - point: D2D1_POINT_2F, - worldTransform: *const D2D1_MATRIX_3X2_F, - flatteningTolerance: FLOAT, - contains: *mut BOOL, - ) -> HRESULT, - fn CompareWithGeometry( - inputGeometry: *mut ID2D1Geometry, - inputGeometryTransform: *const D2D1_MATRIX_3X2_F, - flatteningTolerance: FLOAT, - relation: *mut D2D1_GEOMETRY_RELATION, - ) -> HRESULT, - fn Simplify( - simplificationOption: D2D1_GEOMETRY_SIMPLIFICATION_OPTION, - worldTransform: *const D2D1_MATRIX_3X2_F, - flatteningTolerance: FLOAT, - geometrySink: *mut ID2D1SimplifiedGeometrySink, - ) -> HRESULT, - fn Tessellate( - worldTransform: *const D2D1_MATRIX_3X2_F, - flatteningTolerance: FLOAT, - tessellationSink: *mut ID2D1TessellationSink, - ) -> HRESULT, - fn CombineWithGeometry( - inputGeometry: *mut ID2D1Geometry, - combineMode: D2D1_COMBINE_MODE, - inputGeometryTransform: *const D2D1_MATRIX_3X2_F, - flatteningTolerance: FLOAT, - geometrySink: *mut ID2D1SimplifiedGeometrySink, - ) -> HRESULT, - fn Outline( - worldTransform: *const D2D1_MATRIX_3X2_F, - flatteningTolerance: FLOAT, - geometrySink: *mut ID2D1SimplifiedGeometrySink, - ) -> HRESULT, - fn ComputeArea( - worldTransform: *const D2D1_MATRIX_3X2_F, - flatteningTolerance: FLOAT, - area: *mut FLOAT, - ) -> HRESULT, - fn ComputeLength( - worldTransform: *const D2D1_MATRIX_3X2_F, - flatteningTolerance: FLOAT, - length: *mut FLOAT, - ) -> HRESULT, - fn ComputePointAtLength( - length: FLOAT, - worldTransform: *const D2D1_MATRIX_3X2_F, - flatteningTolerance: FLOAT, - point: *mut D2D1_POINT_2F, - unitTangentVector: *mut D2D1_POINT_2F, - ) -> HRESULT, - fn Widen( - strokeWidth: FLOAT, - strokeStyle: *mut ID2D1StrokeStyle, - worldTransform: *const D2D1_MATRIX_3X2_F, - flatteningTolerance: FLOAT, - geometrySink: *mut ID2D1SimplifiedGeometrySink, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x2cd906a2, 0x12e2, 0x11dc, 0x9f, 0xed, 0x00, 0x11, 0x43, 0xa0, 0x55, 0xf9)] -interface ID2D1RectangleGeometry(ID2D1RectangleGeometryVtbl): ID2D1Geometry(ID2D1GeometryVtbl) { - fn GetRect( - rect: *mut D2D1_RECT_F, - ) -> (), -}} -RIDL!{#[uuid(0x2cd906a3, 0x12e2, 0x11dc, 0x9f, 0xed, 0x00, 0x11, 0x43, 0xa0, 0x55, 0xf9)] -interface ID2D1RoundedRectangleGeometry(ID2D1RoundedRectangleGeometryVtbl): - ID2D1Geometry(ID2D1GeometryVtbl) { - fn GetRoundedRect( - roundedRect: *mut D2D1_ROUNDED_RECT, - ) -> (), -}} -RIDL!{#[uuid(0x2cd906a4, 0x12e2, 0x11dc, 0x9f, 0xed, 0x00, 0x11, 0x43, 0xa0, 0x55, 0xf9)] -interface ID2D1EllipseGeometry(ID2D1EllipseGeometryVtbl): ID2D1Geometry(ID2D1GeometryVtbl) { - fn GetEllipse( - ellipse: *mut D2D1_ELLIPSE, - ) -> (), -}} -RIDL!{#[uuid(0x2cd906a6, 0x12e2, 0x11dc, 0x9f, 0xed, 0x00, 0x11, 0x43, 0xa0, 0x55, 0xf9)] -interface ID2D1GeometryGroup(ID2D1GeometryGroupVtbl): ID2D1Geometry(ID2D1GeometryVtbl) { - fn GetFillMode() -> D2D1_FILL_MODE, - fn GetSourceGeometryCount() -> UINT32, - fn GetSourceGeometries( - geometries: *mut *mut ID2D1Geometry, - geometriesCount: UINT32, - ) -> (), -}} -RIDL!{#[uuid(0x2cd906bb, 0x12e2, 0x11dc, 0x9f, 0xed, 0x00, 0x11, 0x43, 0xa0, 0x55, 0xf9)] -interface ID2D1TransformedGeometry(ID2D1TransformedGeometryVtbl): - ID2D1Geometry(ID2D1GeometryVtbl) { - fn GetSourceGeometry( - sourceGeometry: *mut *mut ID2D1Geometry, - ) -> (), - fn GetTransform( - transform: *mut D2D1_MATRIX_3X2_F, - ) -> (), -}} -RIDL!{#[uuid(0x2cd9069e, 0x12e2, 0x11dc, 0x9f, 0xed, 0x00, 0x11, 0x43, 0xa0, 0x55, 0xf9)] -interface ID2D1SimplifiedGeometrySink(ID2D1SimplifiedGeometrySinkVtbl): IUnknown(IUnknownVtbl) { - fn SetFillMode( - fillMode: D2D1_FILL_MODE, - ) -> (), - fn SetSegmentFlags( - vertexFlags: D2D1_PATH_SEGMENT, - ) -> (), - fn BeginFigure( - startPoint: D2D1_POINT_2F, - figureBegin: D2D1_FIGURE_BEGIN, - ) -> (), - fn AddLines( - points: *const D2D1_POINT_2F, - pointsCount: UINT32, - ) -> (), - fn AddBeziers( - beziers: *const D2D1_BEZIER_SEGMENT, - beziersCount: UINT32, - ) -> (), - fn EndFigure( - figureEnd: D2D1_FIGURE_END, - ) -> (), - fn Close() -> HRESULT, -}} -RIDL!{#[uuid(0x2cd9069f, 0x12e2, 0x11dc, 0x9f, 0xed, 0x00, 0x11, 0x43, 0xa0, 0x55, 0xf9)] -interface ID2D1GeometrySink(ID2D1GeometrySinkVtbl): - ID2D1SimplifiedGeometrySink(ID2D1SimplifiedGeometrySinkVtbl) { - fn AddLine( - point: D2D1_POINT_2F, - ) -> (), - fn AddBezier( - bezier: *const D2D1_BEZIER_SEGMENT, - ) -> (), - fn AddQuadraticBezier( - bezier: *const D2D1_QUADRATIC_BEZIER_SEGMENT, - ) -> (), - fn AddQuadraticBeziers( - beziers: *const D2D1_QUADRATIC_BEZIER_SEGMENT, - beziersCount: UINT32, - ) -> (), - fn AddArc( - arc: *const D2D1_ARC_SEGMENT, - ) -> (), -}} -RIDL!{#[uuid(0x2cd906c1, 0x12e2, 0x11dc, 0x9f, 0xed, 0x00, 0x11, 0x43, 0xa0, 0x55, 0xf9)] -interface ID2D1TessellationSink(ID2D1TessellationSinkVtbl): IUnknown(IUnknownVtbl) { - fn AddTriangles( - triangles: *const D2D1_TRIANGLE, - triangleCount: UINT32, - ) -> (), - fn Close() -> HRESULT, -}} -RIDL!{#[uuid(0x2cd906a5, 0x12e2, 0x11dc, 0x9f, 0xed, 0x00, 0x11, 0x43, 0xa0, 0x55, 0xf9)] -interface ID2D1PathGeometry(ID2D1PathGeometryVtbl): ID2D1Geometry(ID2D1GeometryVtbl) { - fn Open( - geometrySink: *mut *mut ID2D1GeometrySink, - ) -> HRESULT, - fn Stream( - geometrySink: *mut ID2D1GeometrySink, - ) -> HRESULT, - fn GetSegmentCount( - count: *mut UINT32, - ) -> HRESULT, - fn GetFigureCount( - count: *mut UINT32, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x2cd906c2, 0x12e2, 0x11dc, 0x9f, 0xed, 0x00, 0x11, 0x43, 0xa0, 0x55, 0xf9)] -interface ID2D1Mesh(ID2D1MeshVtbl): ID2D1Resource(ID2D1ResourceVtbl) { - fn Open( - tessellationSink: *mut *mut ID2D1TessellationSink, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x2cd9069b, 0x12e2, 0x11dc, 0x9f, 0xed, 0x00, 0x11, 0x43, 0xa0, 0x55, 0xf9)] -interface ID2D1Layer(ID2D1LayerVtbl): ID2D1Resource(ID2D1ResourceVtbl) { - #[fixme] fn GetSize() -> D2D1_SIZE_F, -}} -RIDL!{#[uuid(0x28506e39, 0xebf6, 0x46a1, 0xbb, 0x47, 0xfd, 0x85, 0x56, 0x5a, 0xb9, 0x57)] -interface ID2D1DrawingStateBlock(ID2D1DrawingStateBlockVtbl): ID2D1Resource(ID2D1ResourceVtbl) { - fn GetDescription( - stateDescription: *mut D2D1_DRAWING_STATE_DESCRIPTION, - ) -> (), - fn SetDescription( - stateDescription: *const D2D1_DRAWING_STATE_DESCRIPTION, - ) -> (), - fn SetTextRenderingParams( - textRenderingParams: *mut IDWriteRenderingParams, - ) -> (), - fn GetTextRenderingParams( - textRenderingParams: *mut *mut IDWriteRenderingParams, - ) -> (), -}} -RIDL!{#[uuid(0x2cd90694, 0x12e2, 0x11dc, 0x9f, 0xed, 0x00, 0x11, 0x43, 0xa0, 0x55, 0xf9)] -interface ID2D1RenderTarget(ID2D1RenderTargetVtbl): ID2D1Resource(ID2D1ResourceVtbl) { - fn CreateBitmap( - size: D2D1_SIZE_U, - srcData: *const c_void, - pitch: UINT32, - bitmapProperties: *const D2D1_BITMAP_PROPERTIES, - bitmap: *mut *mut ID2D1Bitmap, - ) -> HRESULT, - fn CreateBitmapFromWicBitmap( - wicBitmapSource: *mut IWICBitmapSource, - bitmapProperties: *const D2D1_BITMAP_PROPERTIES, - bitmap: *mut *mut ID2D1Bitmap, - ) -> HRESULT, - fn CreateSharedBitmap( - riid: REFIID, - data: *const c_void, - bitmapProperties: *const D2D1_BITMAP_PROPERTIES, - bitmap: *mut *mut ID2D1Bitmap, - ) -> HRESULT, - fn CreateBitmapBrush( - bitmap: *mut ID2D1Bitmap, - bitmapBrushProperties: *const D2D1_BITMAP_BRUSH_PROPERTIES, - brushProperties: *const D2D1_BRUSH_PROPERTIES, - bitmapBrush: *mut *mut ID2D1BitmapBrush, - ) -> HRESULT, - fn CreateSolidColorBrush( - color: *const D2D1_COLOR_F, - brushProperties: *const D2D1_BRUSH_PROPERTIES, - solidColorBrush: *mut *mut ID2D1SolidColorBrush, - ) -> HRESULT, - fn CreateGradientStopCollection( - gradientStops: *const D2D1_GRADIENT_STOP, - gradientStopsCount: UINT32, - colorInterpolationGamma: D2D1_GAMMA, - extendMode: D2D1_EXTEND_MODE, - gradientStopCollection: *mut *mut ID2D1GradientStopCollection, - ) -> HRESULT, - fn CreateLinearGradientBrush( - linearGradientBrushProperties: *const D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES, - brushProperties: *const D2D1_BRUSH_PROPERTIES, - gradientStopCollection: *mut ID2D1GradientStopCollection, - linearGradientBrush: *mut *mut ID2D1LinearGradientBrush, - ) -> HRESULT, - fn CreateRadialGradientBrush( - radialGradientBrushProperties: *const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES, - brushProperties: *const D2D1_BRUSH_PROPERTIES, - gradientStopCollection: *mut ID2D1GradientStopCollection, - radialGradientBrush: *mut *mut ID2D1RadialGradientBrush, - ) -> HRESULT, - fn CreateCompatibleRenderTarget( - desiredSize: *const D2D1_SIZE_F, - desiredPixelSize: *const D2D1_SIZE_U, - desiredFormat: *const D2D1_PIXEL_FORMAT, - options: D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS, - bitmapRenderTarget: *mut *mut ID2D1BitmapRenderTarget, - ) -> HRESULT, - fn CreateLayer( - size: *const D2D1_SIZE_F, - layer: *mut *mut ID2D1Layer, - ) -> HRESULT, - fn CreateMesh( - mesh: *mut *mut ID2D1Mesh, - ) -> HRESULT, - fn DrawLine( - point0: D2D1_POINT_2F, - point1: D2D1_POINT_2F, - brush: *mut ID2D1Brush, - strokeWidth: FLOAT, - strokeStype: *mut ID2D1StrokeStyle, - ) -> (), - fn DrawRectangle( - rect: *const D2D1_RECT_F, - brush: *mut ID2D1Brush, - strokeWidth: FLOAT, - strokeStyle: *mut ID2D1StrokeStyle, - ) -> (), - fn FillRectangle( - rect: *const D2D1_RECT_F, - brush: *mut ID2D1Brush, - ) -> (), - fn DrawRoundedRectangle( - roundedRect: *const D2D1_ROUNDED_RECT, - brush: *mut ID2D1Brush, - strokeWidth: FLOAT, - strokeStyle: *mut ID2D1StrokeStyle, - ) -> (), - fn FillRoundedRectangle( - roundedRect: *const D2D1_ROUNDED_RECT, - brush: *mut ID2D1Brush, - ) -> (), - fn DrawEllipse( - ellipse: *const D2D1_ELLIPSE, - brush: *mut ID2D1Brush, - strokeWidth: FLOAT, - strokeStyle: *mut ID2D1StrokeStyle, - ) -> (), - fn FillEllipse( - ellipse: *const D2D1_ELLIPSE, - brush: *mut ID2D1Brush, - ) -> (), - fn DrawGeometry( - geometry: *mut ID2D1Geometry, - brush: *mut ID2D1Brush, - strokeWidth: FLOAT, - strokeStyle: *mut ID2D1StrokeStyle, - ) -> (), - fn FillGeometry( - geometry: *mut ID2D1Geometry, - brush: *mut ID2D1Brush, - opacityBrush: *mut ID2D1Brush, - ) -> (), - fn FillMesh( - mesh: *mut ID2D1Mesh, - brush: *const ID2D1Brush, - ) -> (), - fn FillOpacityMask( - opacityMask: *mut ID2D1Bitmap, - brush: *mut ID2D1Brush, - content: D2D1_OPACITY_MASK_CONTENT, - destinationRectangle: *const D2D1_RECT_F, - sourceRectangle: *const D2D1_RECT_F, - ) -> (), - fn DrawBitmap( - bitmap: *mut ID2D1Bitmap, - destinationRectangle: *const D2D1_RECT_F, - opacity: FLOAT, - interpolationMode: D2D1_BITMAP_INTERPOLATION_MODE, - sourceRectangle: *const D2D1_RECT_F, - ) -> (), - fn DrawText( - string: *const WCHAR, - stringLength: UINT32, - textFormat: *mut IDWriteTextFormat, - layoutRect: *const D2D1_RECT_F, - defaultForegroundBrush: *mut ID2D1Brush, - options: D2D1_DRAW_TEXT_OPTIONS, - measuringMode: DWRITE_MEASURING_MODE, - ) -> (), - fn DrawTextLayout( - origin: D2D1_POINT_2F, - textLayout: *mut IDWriteTextLayout, - defaultForegroundBrush: *mut ID2D1Brush, - options: D2D1_DRAW_TEXT_OPTIONS, - ) -> (), - fn DrawGlyphRun( - baselineOrigin: D2D1_POINT_2F, - glyphRun: *const DWRITE_GLYPH_RUN, - foregroundBrush: *mut ID2D1Brush, - measuringMode: DWRITE_MEASURING_MODE, - ) -> (), - fn SetTransform( - transform: *const D2D1_MATRIX_3X2_F, - ) -> (), - fn GetTransform( - transform: *mut D2D1_MATRIX_3X2_F, - ) -> (), - fn SetAntialiasMode( - antialiasMode: D2D1_ANTIALIAS_MODE, - ) -> (), - fn GetAntialiasMode() -> D2D1_ANTIALIAS_MODE, - fn SetTextAntialiasMode( - textAntialiasMode: D2D1_TEXT_ANTIALIAS_MODE, - ) -> (), - fn GetTextAntialiasMode() -> D2D1_TEXT_ANTIALIAS_MODE, - fn SetTextRenderingParams( - textRenderingParams: *mut IDWriteRenderingParams, - ) -> (), - fn GetTextRenderingParams( - textRenderingParams: *mut *mut IDWriteRenderingParams, - ) -> (), - fn SetTags( - tag1: D2D1_TAG, - tag2: D2D1_TAG, - ) -> (), - fn GetTags( - tag1: *mut D2D1_TAG, - tag2: *mut D2D1_TAG, - ) -> (), - fn PushLayer( - layerParameters: *const D2D1_LAYER_PARAMETERS, - layer: *mut ID2D1Layer, - ) -> (), - fn PopLayer() -> (), - fn Flush( - tag1: *mut D2D1_TAG, - tag2: *mut D2D1_TAG, - ) -> HRESULT, - fn SaveDrawingState( - drawingStateBlock: *mut ID2D1DrawingStateBlock, - ) -> (), - fn RestoreDrawingState( - drawingStateBlock: *mut ID2D1DrawingStateBlock, - ) -> (), - fn PushAxisAlignedClip( - clipRect: *const D2D1_RECT_F, - antialiasMode: D2D1_ANTIALIAS_MODE, - ) -> (), - fn PopAxisAlignedClip() -> (), - fn Clear( - clearColor: *const D2D1_COLOR_F, - ) -> (), - fn BeginDraw() -> (), - fn EndDraw( - tag1: *mut D2D1_TAG, - tag2: *mut D2D1_TAG, - ) -> HRESULT, - #[fixme] fn GetPixelFormat() -> D2D1_PIXEL_FORMAT, - fn SetDpi( - dpiX: FLOAT, - dpiY: FLOAT, - ) -> (), - fn GetDpi( - dpiX: *mut FLOAT, - dpiY: *mut FLOAT, - ) -> (), - #[fixme] fn GetSize() -> D2D1_SIZE_F, - #[fixme] fn GetPixelSize() -> D2D1_SIZE_U, - fn GetMaximumBitmapSize() -> UINT32, - fn IsSupported( - renderTargetProperties: *const D2D1_RENDER_TARGET_PROPERTIES, - ) -> BOOL, -}} -RIDL!{#[uuid(0x2cd90695, 0x12e2, 0x11dc, 0x9f, 0xed, 0x00, 0x11, 0x43, 0xa0, 0x55, 0xf9)] -interface ID2D1BitmapRenderTarget(ID2D1BitmapRenderTargetVtbl): - ID2D1RenderTarget(ID2D1RenderTargetVtbl) { - fn GetBitmap( - bitmap: *mut *mut ID2D1Bitmap, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x2cd90698, 0x12e2, 0x11dc, 0x9f, 0xed, 0x00, 0x11, 0x43, 0xa0, 0x55, 0xf9)] -interface ID2D1HwndRenderTarget(ID2D1HwndRenderTargetVtbl): - ID2D1RenderTarget(ID2D1RenderTargetVtbl) { - fn CheckWindowState() -> D2D1_WINDOW_STATE, - fn Resize( - pixelSize: *const D2D1_SIZE_U, - ) -> HRESULT, - fn GetHwnd() -> HWND, -}} -RIDL!{#[uuid(0xe0db51c3, 0x6f77, 0x4bae, 0xb3, 0xd5, 0xe4, 0x75, 0x09, 0xb3, 0x58, 0x38)] -interface ID2D1GdiInteropRenderTarget(ID2D1GdiInteropRenderTargetVtbl): IUnknown(IUnknownVtbl) { - fn GetDC( - mode: D2D1_DC_INITIALIZE_MODE, - hdc: *mut HDC, - ) -> HRESULT, - fn ReleaseDC( - update: *const RECT, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x1c51bc64, 0xde61, 0x46fd, 0x98, 0x99, 0x63, 0xa5, 0xd8, 0xf0, 0x39, 0x50)] -interface ID2D1DCRenderTarget(ID2D1DCRenderTargetVtbl): ID2D1RenderTarget(ID2D1RenderTargetVtbl) { - fn BindDC( - hDC: HDC, - pSubRect: *const RECT, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x06152247, 0x6f50, 0x465a, 0x92, 0x45, 0x11, 0x8b, 0xfd, 0x3b, 0x60, 0x07)] -interface ID2D1Factory(ID2D1FactoryVtbl): IUnknown(IUnknownVtbl) { - fn ReloadSystemMetrics() -> HRESULT, - fn GetDesktopDpi( - dpiX: *mut FLOAT, - dpiY: *mut FLOAT, - ) -> (), - fn CreateRectangleGeometry( - rectangle: *const D2D1_RECT_F, - rectangleGeometry: *mut *mut ID2D1RectangleGeometry, - ) -> HRESULT, - fn CreateRoundedRectangleGeometry( - roundedRectangle: *const D2D1_ROUNDED_RECT, - roundedRectangleGeometry: *mut *mut ID2D1RoundedRectangleGeometry, - ) -> HRESULT, - fn CreateEllipseGeometry( - ellipse: *const D2D1_ELLIPSE, - ellipseGeometry: *mut *mut ID2D1EllipseGeometry, - ) -> HRESULT, - fn CreateGeometryGroup( - fillMode: D2D1_FILL_MODE, - geometries: *mut *mut ID2D1Geometry, - geometriesCount: UINT32, - geometryGroup: *mut *mut ID2D1GeometryGroup, - ) -> HRESULT, - fn CreateTransformedGeometry( - sourceGeometry: *mut ID2D1Geometry, - transform: *const D2D1_MATRIX_3X2_F, - transformedGeometry: *mut *mut ID2D1TransformedGeometry, - ) -> HRESULT, - fn CreatePathGeometry( - pathGeometry: *mut *mut ID2D1PathGeometry, - ) -> HRESULT, - fn CreateStrokeStyle( - strokeStyleProperties: *const D2D1_STROKE_STYLE_PROPERTIES, - dashes: *const FLOAT, - dashesCount: UINT32, - strokeStyle: *mut *mut ID2D1StrokeStyle, - ) -> HRESULT, - fn CreateDrawingStateBlock( - drawingStateDescription: *const D2D1_DRAWING_STATE_DESCRIPTION, - textRenderingParams: *mut IDWriteRenderingParams, - drawingStateBlock: *mut *mut ID2D1DrawingStateBlock, - ) -> HRESULT, - fn CreateWicBitmapRenderTarget( - target: *mut IWICBitmap, - renderTargetProperties: *const D2D1_RENDER_TARGET_PROPERTIES, - renderTarget: *mut *mut ID2D1RenderTarget, - ) -> HRESULT, - fn CreateHwndRenderTarget( - renderTargetProperties: *const D2D1_RENDER_TARGET_PROPERTIES, - hwndRenderTargetProperties: *const D2D1_HWND_RENDER_TARGET_PROPERTIES, - hwndRenderTarget: *mut *mut ID2D1HwndRenderTarget, - ) -> HRESULT, - fn CreateDxgiSurfaceRenderTarget( - dxgiSurface: *mut IDXGISurface, - renderTargetProperties: *const D2D1_RENDER_TARGET_PROPERTIES, - renderTarget: *mut *mut ID2D1RenderTarget, - ) -> HRESULT, - fn CreateDCRenderTarget( - renderTargetProperties: *const D2D1_RENDER_TARGET_PROPERTIES, - dcRenderTarget: *mut *mut ID2D1DCRenderTarget, - ) -> HRESULT, -}} -extern "system" { - pub fn D2D1CreateFactory( - factoryType: D2D1_FACTORY_TYPE, - riid: REFIID, - pFactoryOptions: *const D2D1_FACTORY_OPTIONS, - ppIFactory: *mut *mut c_void, - ) -> HRESULT; - pub fn D2D1MakeRotateMatrix( - angle: FLOAT, - center: D2D1_POINT_2F, - matrix: *mut D2D1_MATRIX_3X2_F, - ); - pub fn D2D1MakeSkewMatrix( - angleX: FLOAT, - angleY: FLOAT, - center: D2D1_POINT_2F, - matrix: *mut D2D1_MATRIX_3X2_F, - ); - pub fn D2D1IsMatrixInvertible( - matrix: *const D2D1_MATRIX_3X2_F, - ) -> BOOL; - pub fn D2D1InvertMatrix( - matrix: *mut D2D1_MATRIX_3X2_F, - ) -> BOOL; - pub fn D2D1ComputeMaximumScaleFactor( - matrix: *const D2D1_MATRIX_3X2_F, - ) -> FLOAT; -} |