// 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_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 =
0 xffffffff,
}}
RIDL!{
#[ uuid(
0 xa16907d7,
0 xbc02,
0 x4801,
0 x99,
0 xe8,
0 x8c,
0 xf7,
0 xf4,
0 x85,
0 xf7,
0 x74)]
interface ID2D1GeometryRealization(ID2D1GeometryRealizationVtbl):
ID2D1Resource(ID2D1ResourceVtbl) {}}
RIDL!{
#[ uuid(
0 xd37f57e4,
0 x6908,
0 x459f,
0 xa1,
0 x99,
0 xe7,
0 x2f,
0 x24,
0 xf7,
0 x99,
0 x87)]
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(
0 xd21768e1,
0 x23a4,
0 x4823,
0 xa1,
0 x4b,
0 x7c,
0 x3e,
0 xba,
0 x85,
0 xd6,
0 x58)]
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(
0 x94f81a73,
0 x9212,
0 x4376,
0 x9c,
0 x58,
0 xb1,
0 x6a,
0 x3a,
0 x0d,
0 x39,
0 x92)]
interface ID2D1Factory2(ID2D1Factory2Vtbl): ID2D1Factory1(ID2D1Factory1Vtbl) {
fn CreateDevice(
dxgiDevice: *
mut IDXGIDevice,
d2dDevice1: *
mut *
mut ID2D1Device1,
) -> HRESULT,
}}
RIDL!{
#[ uuid(
0 x9eb767fd,
0 x4269,
0 x4467,
0 xb8,
0 xc2,
0 xeb,
0 x30,
0 xcb,
0 x30,
0 x57,
0 x43)]
interface ID2D1CommandSink1(ID2D1CommandSink1Vtbl): ID2D1CommandSink(ID2D1CommandS
inkVtbl) {
fn SetPrimitiveBlend1(
primitiveBlend: D2D1_PRIMITIVE_BLEND,
) -> HRESULT,
}}
Messung V0.5 in Prozent C=92 H=100 G=95
¤ Dauer der Verarbeitung: 0.12 Sekunden
(vorverarbeitet am 2026-06-21)
¤
*© Formatika GbR, Deutschland