d2d1_2.h (4134B) - Raw
1 /** 2 * This file has no copyright assigned and is placed in the Public Domain. 3 * This file is part of the mingw-w64 runtime package. 4 * No warranty is given; refer to the file DISCLAIMER.PD within this package. 5 */ 6 7 #ifndef _D2D1_2_H_ 8 #define _D2D1_2_H_ 9 10 #ifndef _D2D1_1_H_ 11 #include <d2d1_1.h> 12 #endif 13 14 #ifndef _D2D1_EFFECTS_1_ 15 #include <d2d1effects_1.h> 16 #endif 17 18 #include <winapifamily.h> 19 20 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) 21 22 #ifndef D2D_USE_C_DEFINITIONS 23 interface ID2D1Device1; 24 #else 25 typedef interface ID2D1Device1 ID2D1Device1; 26 #endif 27 28 typedef enum D2D1_RENDERING_PRIORITY { 29 D2D1_RENDERING_PRIORITY_NORMAL = 0, 30 D2D1_RENDERING_PRIORITY_LOW = 1, 31 D2D1_RENDERING_PRIORITY_FORCE_DWORD = 0xffffffff 32 } D2D1_RENDERING_PRIORITY; 33 34 #ifndef D2D_USE_C_DEFINITIONS 35 interface ID2D1GeometryRealization : public ID2D1Resource 36 { 37 }; 38 #else 39 typedef interface ID2D1GeometryRealization ID2D1GeometryRealization; 40 /* FIXME: Add full C declaration */ 41 #endif 42 43 DEFINE_GUID(IID_ID2D1GeometryRealization, 0xa16907d7, 0xbc02, 0x4801, 0x99, 0xe8, 0x8c, 0xf7, 0xf4, 0x85, 0xf7, 0x74); 44 __CRT_UUID_DECL(ID2D1GeometryRealization, 0xa16907d7, 0xbc02, 0x4801, 0x99, 0xe8, 0x8c, 0xf7, 0xf4, 0x85, 0xf7, 0x74); 45 46 #ifndef D2D_USE_C_DEFINITIONS 47 interface ID2D1DeviceContext1 : public ID2D1DeviceContext 48 { 49 STDMETHOD(CreateFilledGeometryRealization)(ID2D1Geometry *geometry, FLOAT flattening_tolerance, ID2D1GeometryRealization **geometry_realization) PURE; 50 STDMETHOD(CreateStrokedGeometryRealization)(ID2D1Geometry *geometry, FLOAT flattening_tolerance, FLOAT stroke_width, ID2D1StrokeStyle *stroke_style, ID2D1GeometryRealization **geometry_realization) PURE; 51 STDMETHOD_(void, DrawGeometryRealization)(ID2D1GeometryRealization *geometry_realization, ID2D1Brush *brush) PURE; 52 }; 53 #else 54 typedef interface ID2D1DeviceContext1 ID2D1DeviceContext1; 55 /* FIXME: Add full C declaration */ 56 #endif 57 58 DEFINE_GUID(IID_ID2D1DeviceContext1, 0xd37f57e4, 0x6908, 0x459f, 0xa1, 0x99, 0xe7, 0x2f, 0x24, 0xf7, 0x99, 0x87); 59 __CRT_UUID_DECL(ID2D1DeviceContext1, 0xd37f57e4, 0x6908, 0x459f, 0xa1, 0x99, 0xe7, 0x2f, 0x24, 0xf7, 0x99, 0x87); 60 61 #ifndef D2D_USE_C_DEFINITIONS 62 interface ID2D1Device1 : public ID2D1Device 63 { 64 STDMETHOD_(D2D1_RENDERING_PRIORITY, GetRenderingPriority)() PURE; 65 STDMETHOD_(void, SetRenderingPriority)(D2D1_RENDERING_PRIORITY rendering_priority) PURE; 66 STDMETHOD(CreateDeviceContext)(D2D1_DEVICE_CONTEXT_OPTIONS options, ID2D1DeviceContext1 **device_context1) PURE; 67 68 using ID2D1Device::CreateDeviceContext; 69 }; 70 #else 71 typedef interface ID2D1Device1 ID2D1Device1; 72 /* FIXME: Add full C declaration */ 73 #endif 74 75 DEFINE_GUID(IID_ID2D1Device1, 0xd21768e1, 0x23a4, 0x4823, 0xa1, 0x4b, 0x7c, 0x3e, 0xba, 0x85, 0xd6, 0x58); 76 __CRT_UUID_DECL(ID2D1Device1, 0xd21768e1, 0x23a4, 0x4823, 0xa1, 0x4b, 0x7c, 0x3e, 0xba, 0x85, 0xd6, 0x58); 77 78 #ifndef D2D_USE_C_DEFINITIONS 79 interface ID2D1Factory2 : public ID2D1Factory1 80 { 81 STDMETHOD(CreateDevice)(IDXGIDevice *dxgi_device, ID2D1Device1 **d2d_device1) PURE; 82 83 using ID2D1Factory1::CreateDevice; 84 }; 85 #else 86 typedef interface ID2D1Factory2 ID2D1Factory2; 87 /* FIXME: Add full C declaration */ 88 #endif 89 90 DEFINE_GUID(IID_ID2D1Factory2, 0x94f81a73, 0x9212, 0x4376, 0x9c, 0x58, 0xb1, 0x6a, 0x3a, 0x0d, 0x39, 0x92); 91 __CRT_UUID_DECL(ID2D1Factory2, 0x94f81a73, 0x9212, 0x4376, 0x9c, 0x58, 0xb1, 0x6a, 0x3a, 0x0d, 0x39, 0x92); 92 93 #ifndef D2D_USE_C_DEFINITIONS 94 interface ID2D1CommandSink1 : public ID2D1CommandSink 95 { 96 STDMETHOD(SetPrimitiveBlend1)(D2D1_PRIMITIVE_BLEND primitive_blend) PURE; 97 }; 98 #else 99 typedef interface ID2D1CommandSink1 ID2D1CommandSink1; 100 /* FIXME: Add full C declaration */ 101 #endif 102 103 DEFINE_GUID(IID_ID2D1CommandSink1, 0x9eb767fd, 0x4269, 0x4467, 0xb8, 0xc2, 0xeb, 0x30, 0xcb, 0x30, 0x57, 0x43); 104 __CRT_UUID_DECL(ID2D1CommandSink1, 0x9eb767fd, 0x4269, 0x4467, 0xb8, 0xc2, 0xeb, 0x30, 0xcb, 0x30, 0x57, 0x43); 105 106 #ifdef __cplusplus 107 extern "C" 108 { 109 #endif 110 111 #if NTDDI_VERSION >= NTDDI_WINBLUE 112 FLOAT WINAPI D2D1ComputeMaximumScaleFactor(CONST D2D1_MATRIX_3X2_F *matrix); 113 #endif 114 115 #ifdef __cplusplus 116 } 117 #endif 118 119 #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */ 120 121 #include <d2d1_2helper.h> 122 123 #endif /* #ifndef _D2D1_2_H_ */