// Licensed under the Apache License, Version 2.0 // or the MIT license // , 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_2.h use shared::dxgi::IDXGIDevice; use shared::minwindef::FLOAT; use um::d2d1::{ID2D1Brush, ID2D1Geometry, ID2D1StrokeStyle}; use um::d2d1::{ID2D1Resource, ID2D1ResourceVtbl}; use um::d2d1_1::{D2D1_DEVICE_CONTEXT_OPTIONS, D2D1_PRIMITIVE_BLEND}; use um::d2d1_1::{ID2D1DeviceContext, ID2D1DeviceContextVtbl}; use um::d2d1_1::{ID2D1Device, ID2D1DeviceVtbl}; use um::d2d1_1::{ID2D1Factory1, ID2D1Factory1Vtbl}; use um::d2d1_1::{ID2D1CommandSink, ID2D1CommandSinkVtbl}; use um::winnt::HRESULT; ENUM!{enum D2D1_RENDERING_PRIORITY { D2D1_RENDERING_PRIORITY_NORMAL = 0, D2D1_RENDERING_PRIORITY_LOW = 1, D2D1_RENDERING_PRIORITY_FORCE_DWORD = 0xffffffff, }} RIDL!{#[uuid(0xa16907d7, 0xbc02, 0x4801, 0x99, 0xe8, 0x8c, 0xf7, 0xf4, 0x85, 0xf7, 0x74)] interface ID2D1GeometryRealization(ID2D1GeometryRealizationVtbl): ID2D1Resource(ID2D1ResourceVtbl) {}} RIDL!{#[uuid(0xd37f57e4, 0x6908, 0x459f, 0xa1, 0x99, 0xe7, 0x2f, 0x24, 0xf7, 0x99, 0x87)] interface ID2D1DeviceContext1(ID2D1DeviceContext1Vtbl): ID2D1DeviceContext(ID2D1DeviceContextVtbl) { fn CreateFilledGeometryRealization( geometry: *mut ID2D1Geometry, flatteningTolerance: FLOAT, geometryRealization: *mut *mut ID2D1GeometryRealization, ) -> HRESULT, fn CreateStrokedGeometryRealization( geometry: *mut ID2D1Geometry, flatteningTolerance: FLOAT, strokeWidth: FLOAT, strokeStyle: *mut ID2D1StrokeStyle, geometryRealization: *mut *mut ID2D1GeometryRealization, ) -> HRESULT, fn DrawGeometryRealization( geometryRealization: *mut ID2D1GeometryRealization, brush: *mut ID2D1Brush, ) -> (), }} RIDL!{#[uuid(0xd21768e1, 0x23a4, 0x4823, 0xa1, 0x4b, 0x7c, 0x3e, 0xba, 0x85, 0xd6, 0x58)] interface ID2D1Device1(ID2D1Device1Vtbl): ID2D1Device(ID2D1DeviceVtbl) { fn GetRenderingPriority() -> D2D1_RENDERING_PRIORITY, fn SetRenderingPriority( renderingPriority: D2D1_RENDERING_PRIORITY, ) -> (), fn CreateDeviceContext( options: D2D1_DEVICE_CONTEXT_OPTIONS, deviceContext1: *mut *mut ID2D1DeviceContext1, ) -> HRESULT, }} RIDL!{#[uuid(0x94f81a73, 0x9212, 0x4376, 0x9c, 0x58, 0xb1, 0x6a, 0x3a, 0x0d, 0x39, 0x92)] interface ID2D1Factory2(ID2D1Factory2Vtbl): ID2D1Factory1(ID2D1Factory1Vtbl) { fn CreateDevice( dxgiDevice: *mut IDXGIDevice, d2dDevice1: *mut *mut ID2D1Device1, ) -> HRESULT, }} RIDL!{#[uuid(0x9eb767fd, 0x4269, 0x4467, 0xb8, 0xc2, 0xeb, 0x30, 0xcb, 0x30, 0x57, 0x43)] interface ID2D1CommandSink1(ID2D1CommandSink1Vtbl): ID2D1CommandSink(ID2D1CommandSinkVtbl) { fn SetPrimitiveBlend1( primitiveBlend: D2D1_PRIMITIVE_BLEND, ) -> HRESULT, }}