zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

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_ */