RetroArch
d2d1_3.h
Go to the documentation of this file.
1 //---------------------------------------------------------------------------
2 // Copyright (c) Microsoft Corporation. All rights reserved.
3 //
4 // This file is automatically generated. Please do not edit it directly.
5 //
6 // File name: D2D1_3.h
7 //---------------------------------------------------------------------------
8 #ifdef _MSC_VER
9 #pragma once
10 #endif // #ifdef _MSC_VER
11 
12 #ifndef _D2D1_3_H_
13 #define _D2D1_3_H_
14 
15 #ifndef _D2D1_2_H_
16 #include <d2d1_2.h>
17 #endif // #ifndef _D2D1_2_H_
18 #ifndef _D2D1_EFFECTS_2_
19 #include <d2d1effects_2.h>
20 #endif // #ifndef _D2D1_EFFECTS_2_
21 #ifndef _D2D1_SVG_
22 #include <d2d1svg.h>
23 #endif // #ifndef _D2D1_SVG_
24 
25 /*#include <winapifamily.h>*/
26 
27 /*#pragma region Application Family*/
28 /*#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)*/
29 
31 typedef interface IDWriteFontFace IDWriteFontFace;
32 
37 typedef enum D2D1_INK_NIB_SHAPE
38 {
42 
44 
45 
49 typedef enum D2D1_ORIENTATION
50 {
60 
62 
63 
69 {
74 
76 
78 
79 
85 {
89 
91 
93 
94 
99 {
101 
108 
110 
112 
113 
118 {
119 
124 
129 
134 
140 
145 
147 
148 
152 typedef struct D2D1_INK_POINT
153 {
157 
159 
160 
167 {
171 
173 
174 
180 {
181 
186 
191 
193 
194 
199 {
200 
205 
210 
216 
218 
219 
227 {
228 
233 
238 
243 
248 
253 
258 
263 
268 
273 
278 
283 
288 
293 
298 
303 
308 
313 
318 
323 
328 
333 
338 
343 
348 
350 
352 {
353 
358 
364 
366 
368 
369 
374 {
375 
381 
387 
389 
390 
394 typedef enum D2D1_GAMMA1
395 {
396 
401 
406 
412 
413 } D2D1_GAMMA1;
414 
415 
420 {
421 
426 
431 
436 
442 
447 
449 
450 
455 {
460 
462 
463 
465 EXTERN_C CONST IID IID_ID2D1Ink;
472 EXTERN_C CONST IID IID_ID2D1Device2;
479 EXTERN_C CONST IID IID_ID2D1Device3;
484 EXTERN_C CONST IID IID_ID2D1Device4;
489 EXTERN_C CONST IID IID_ID2D1Device5;
493 EXTERN_C CONST IID IID_ID2D1Device6;
495 
496 
497 #ifndef D2D_USE_C_DEFINITIONS
498 
499 
505 interface DX_DECLARE_INTERFACE("bae8b344-23fc-4071-8cb5-d05d6f073848") ID2D1InkStyle : public ID2D1Resource
506 {
507 
508  STDMETHOD_(void, SetNibTransform)(
510  ) PURE;
511 
512  STDMETHOD_(void, GetNibTransform)(
514  ) CONST PURE;
515 
516  STDMETHOD_(void, SetNibShape)(
517  D2D1_INK_NIB_SHAPE nibShape
518  ) PURE;
519 
520  STDMETHOD_(D2D1_INK_NIB_SHAPE, GetNibShape)(
521  ) CONST PURE;
522 
523  COM_DECLSPEC_NOTHROW
524  void
525  SetNibTransform(
527  )
528  {
529  SetNibTransform(&transform);
530  }
531 }; // interface ID2D1InkStyle
532 
533 
538 interface DX_DECLARE_INTERFACE("b499923b-7029-478f-a8b3-432c7c5f5312") ID2D1Ink : public ID2D1Resource
539 {
540 
544  STDMETHOD_(void, SetStartPoint)(
545  _In_ CONST D2D1_INK_POINT *startPoint
546  ) PURE;
547 
551  STDMETHOD_(D2D1_INK_POINT, GetStartPoint)(
552  ) CONST PURE;
553 
557  STDMETHOD(AddSegments)(
558  _In_reads_(segmentsCount) CONST D2D1_INK_BEZIER_SEGMENT *segments,
559  UINT32 segmentsCount
560  ) PURE;
561 
565  STDMETHOD(RemoveSegmentsAtEnd)(
566  UINT32 segmentsCount
567  ) PURE;
568 
572  STDMETHOD(SetSegments)(
574  _In_reads_(segmentsCount) CONST D2D1_INK_BEZIER_SEGMENT *segments,
575  UINT32 segmentsCount
576  ) PURE;
577 
581  STDMETHOD(SetSegmentAtEnd)(
582  _In_ CONST D2D1_INK_BEZIER_SEGMENT *segment
583  ) PURE;
584 
588  STDMETHOD_(UINT32, GetSegmentCount)(
589  ) CONST PURE;
590 
594  STDMETHOD(GetSegments)(
596  _Out_writes_(segmentsCount) D2D1_INK_BEZIER_SEGMENT *segments,
597  UINT32 segmentsCount
598  ) CONST PURE;
599 
603  STDMETHOD(StreamAsGeometry)(
604  _In_opt_ ID2D1InkStyle *inkStyle,
605  _In_opt_ CONST D2D1_MATRIX_3X2_F *worldTransform,
606  FLOAT flatteningTolerance,
607  _In_ ID2D1SimplifiedGeometrySink *geometrySink
608  ) CONST PURE;
609 
613  STDMETHOD(GetBounds)(
614  _In_opt_ ID2D1InkStyle *inkStyle,
615  _In_opt_ CONST D2D1_MATRIX_3X2_F *worldTransform,
616  _Out_ D2D1_RECT_F *bounds
617  ) CONST PURE;
618 
622  COM_DECLSPEC_NOTHROW
623  void
624  SetStartPoint(
625  CONST D2D1_INK_POINT &startPoint
626  )
627  {
628  SetStartPoint(&startPoint);
629  }
630 
631  COM_DECLSPEC_NOTHROW
632  HRESULT
633  SetSegmentAtEnd(
635  )
636  {
637  return SetSegmentAtEnd(&segment);
638  }
639 
643  COM_DECLSPEC_NOTHROW
644  HRESULT
645  StreamAsGeometry(
646  _In_opt_ ID2D1InkStyle *inkStyle,
647  CONST D2D1_MATRIX_3X2_F &worldTransform,
648  FLOAT flatteningTolerance,
649  _In_ ID2D1SimplifiedGeometrySink *geometrySink
650  ) CONST
651  {
652  return StreamAsGeometry(inkStyle,&worldTransform, flatteningTolerance, geometrySink);
653  }
654 
658  COM_DECLSPEC_NOTHROW
659  HRESULT
660  StreamAsGeometry(
661  _In_opt_ ID2D1InkStyle *inkStyle,
662  _In_opt_ CONST D2D1_MATRIX_3X2_F *worldTransform,
663  _In_ ID2D1SimplifiedGeometrySink *geometrySink
664  ) CONST
665  {
666  return StreamAsGeometry(inkStyle,worldTransform, D2D1_DEFAULT_FLATTENING_TOLERANCE, geometrySink);
667  }
668 
672  COM_DECLSPEC_NOTHROW
673  HRESULT
674  StreamAsGeometry(
675  _In_opt_ ID2D1InkStyle *inkStyle,
676  CONST D2D1_MATRIX_3X2_F &worldTransform,
677  _In_ ID2D1SimplifiedGeometrySink *geometrySink
678  ) CONST
679  {
680  return StreamAsGeometry(inkStyle,&worldTransform, D2D1_DEFAULT_FLATTENING_TOLERANCE, geometrySink);
681  }
682 }; // interface ID2D1Ink
683 
684 
690 interface DX_DECLARE_INTERFACE("f292e401-c050-4cde-83d7-04962d3b23c2") ID2D1GradientMesh : public ID2D1Resource
691 {
692 
696  STDMETHOD_(UINT32, GetPatchCount)(
697  ) CONST PURE;
698 
702  STDMETHOD(GetPatches)(
703  UINT32 startIndex,
704  _Out_writes_(patchesCount) D2D1_GRADIENT_MESH_PATCH *patches,
705  UINT32 patchesCount
706  ) CONST PURE;
707 }; // interface ID2D1GradientMesh
708 
709 
713 interface DX_DECLARE_INTERFACE("c9b664e5-74a1-4378-9ac2-eefc37a3f4d8") ID2D1ImageSource : public ID2D1Image
714 {
715 
716  STDMETHOD(OfferResources)(
717  ) PURE;
718 
719  STDMETHOD(TryReclaimResources)(
720  _Out_ BOOL *resourcesDiscarded
721  ) PURE;
722 }; // interface ID2D1ImageSource
723 
724 
728 interface DX_DECLARE_INTERFACE("77395441-1c8f-4555-8683-f50dab0fe792") ID2D1ImageSourceFromWic : public ID2D1ImageSource
729 {
730 
731  STDMETHOD(EnsureCached)(
732  _In_opt_ CONST D2D1_RECT_U *rectangleToFill
733  ) PURE;
734 
735  STDMETHOD(TrimCache)(
736  _In_opt_ CONST D2D1_RECT_U *rectangleToPreserve
737  ) PURE;
738 
739  STDMETHOD_(void, GetSource)(
740  _Outptr_result_maybenull_ IWICBitmapSource **wicBitmapSource
741  ) CONST PURE;
742 
743  COM_DECLSPEC_NOTHROW
744  HRESULT
745  EnsureCached(
746  CONST D2D1_RECT_U &rectangleToFill
747  )
748  {
749  return EnsureCached(&rectangleToFill);
750  }
751 
752  COM_DECLSPEC_NOTHROW
753  HRESULT
754  TrimCache(
755  CONST D2D1_RECT_U &rectangleToPreserve
756  )
757  {
758  return TrimCache(&rectangleToPreserve);
759  }
760 }; // interface ID2D1ImageSourceFromWic
761 
762 
766 interface DX_DECLARE_INTERFACE("7f1f79e5-2796-416c-8f55-700f911445e5") ID2D1TransformedImageSource : public ID2D1Image
767 {
768 
769  STDMETHOD_(void, GetSource)(
770  _Outptr_result_maybenull_ ID2D1ImageSource **imageSource
771  ) CONST PURE;
772 
773  STDMETHOD_(void, GetProperties)(
775  ) CONST PURE;
776 }; // interface ID2D1TransformedImageSource
777 
778 
783 interface DX_DECLARE_INTERFACE("53dd9855-a3b0-4d5b-82e1-26e25c5e5797") ID2D1LookupTable3D : public ID2D1Resource
784 {
785 }; // interface ID2D1LookupTable3D
786 
787 
793 interface DX_DECLARE_INTERFACE("394ea6a3-0c34-4321-950b-6ca20f0be6c7") ID2D1DeviceContext2 : public ID2D1DeviceContext1
794 {
795 
796  STDMETHOD(CreateInk)(
797  _In_ CONST D2D1_INK_POINT *startPoint,
798  _COM_Outptr_ ID2D1Ink **ink
799  ) PURE;
800 
804  STDMETHOD(CreateInkStyle)(
805  _In_opt_ CONST D2D1_INK_STYLE_PROPERTIES *inkStyleProperties,
806  _COM_Outptr_ ID2D1InkStyle **inkStyle
807  ) PURE;
808 
809  STDMETHOD(CreateGradientMesh)(
810  _In_reads_(patchesCount) CONST D2D1_GRADIENT_MESH_PATCH *patches,
811  UINT32 patchesCount,
812  _COM_Outptr_ ID2D1GradientMesh **gradientMesh
813  ) PURE;
814 
815  STDMETHOD(CreateImageSourceFromWic)(
816  _In_ IWICBitmapSource *wicBitmapSource,
817  D2D1_IMAGE_SOURCE_LOADING_OPTIONS loadingOptions,
818  D2D1_ALPHA_MODE alphaMode,
819  _COM_Outptr_ ID2D1ImageSourceFromWic **imageSource
820  ) PURE;
821 
826  STDMETHOD(CreateLookupTable3D)(
828  _In_reads_(3) CONST UINT32 *extents,
829  _In_reads_(dataCount) CONST BYTE *data,
830  UINT32 dataCount,
831  _In_reads_(2) CONST UINT32 *strides,
832  _COM_Outptr_ ID2D1LookupTable3D **lookupTable
833  ) PURE;
834 
835  STDMETHOD(CreateImageSourceFromDxgi)(
836  _In_reads_(surfaceCount) IDXGISurface **surfaces,
837  UINT32 surfaceCount,
838  DXGI_COLOR_SPACE_TYPE colorSpace,
840  _COM_Outptr_ ID2D1ImageSource **imageSource
841  ) PURE;
842 
847  STDMETHOD(GetGradientMeshWorldBounds)(
848  _In_ ID2D1GradientMesh *gradientMesh,
849  _Out_ D2D1_RECT_F *pBounds
850  ) CONST PURE;
851 
852  STDMETHOD_(void, DrawInk)(
853  _In_ ID2D1Ink *ink,
854  _In_ ID2D1Brush *brush,
855  _In_opt_ ID2D1InkStyle *inkStyle
856  ) PURE;
857 
858  STDMETHOD_(void, DrawGradientMesh)(
859  _In_ ID2D1GradientMesh *gradientMesh
860  ) PURE;
861 
865  STDMETHOD_(void, DrawGdiMetafile)(
866  _In_ ID2D1GdiMetafile *gdiMetafile,
867  _In_opt_ CONST D2D1_RECT_F *destinationRectangle,
868  _In_opt_ CONST D2D1_RECT_F *sourceRectangle = NULL
869  ) PURE;
870 
871  using ID2D1DeviceContext::DrawGdiMetafile;
872 
876  STDMETHOD(CreateTransformedImageSource)(
877  _In_ ID2D1ImageSource *imageSource,
879  _COM_Outptr_ ID2D1TransformedImageSource **transformedImageSource
880  ) PURE;
881 
882  COM_DECLSPEC_NOTHROW
883  HRESULT
884  CreateInk(
885  CONST D2D1_INK_POINT &startPoint,
886  _COM_Outptr_ ID2D1Ink **ink
887  )
888  {
889  return CreateInk(&startPoint, ink);
890  }
891 
895  COM_DECLSPEC_NOTHROW
896  HRESULT
897  CreateInkStyle(
898  CONST D2D1_INK_STYLE_PROPERTIES &inkStyleProperties,
899  _COM_Outptr_ ID2D1InkStyle **inkStyle
900  )
901  {
902  return CreateInkStyle(&inkStyleProperties, inkStyle);
903  }
904 
905  COM_DECLSPEC_NOTHROW
906  HRESULT
907  CreateImageSourceFromWic(
908  _In_ IWICBitmapSource *wicBitmapSource,
909  D2D1_IMAGE_SOURCE_LOADING_OPTIONS loadingOptions,
910  _COM_Outptr_ ID2D1ImageSourceFromWic **imageSource
911  )
912  {
913  return CreateImageSourceFromWic(wicBitmapSource, loadingOptions, D2D1_ALPHA_MODE_UNKNOWN, imageSource);
914  }
915 
916  COM_DECLSPEC_NOTHROW
917  HRESULT
918  CreateImageSourceFromWic(
919  _In_ IWICBitmapSource *wicBitmapSource,
920  _COM_Outptr_ ID2D1ImageSourceFromWic **imageSource
921  )
922  {
923  return CreateImageSourceFromWic(wicBitmapSource, D2D1_IMAGE_SOURCE_LOADING_OPTIONS_NONE, D2D1_ALPHA_MODE_UNKNOWN, imageSource);
924  }
925 
929  COM_DECLSPEC_NOTHROW
930  void
931  DrawGdiMetafile(
932  _In_ ID2D1GdiMetafile *gdiMetafile,
933  CONST D2D1_RECT_F &destinationRectangle,
934  CONST D2D1_RECT_F &sourceRectangle
935  )
936  {
937  return DrawGdiMetafile(gdiMetafile, &destinationRectangle, &sourceRectangle);
938  }
939 
943  COM_DECLSPEC_NOTHROW
944  void
945  DrawGdiMetafile(
946  _In_ ID2D1GdiMetafile *gdiMetafile,
947  CONST D2D1_RECT_F &destinationRectangle,
948  _In_ CONST D2D1_RECT_F *sourceRectangle = NULL
949  )
950  {
951  return DrawGdiMetafile(gdiMetafile, &destinationRectangle, sourceRectangle);
952  }
953 }; // interface ID2D1DeviceContext2
954 
955 
962 interface DX_DECLARE_INTERFACE("a44472e1-8dfb-4e60-8492-6e2861c9ca8b") ID2D1Device2 : public ID2D1Device1
963 {
964 
968  STDMETHOD(CreateDeviceContext)(
970  _COM_Outptr_ ID2D1DeviceContext2 **deviceContext2
971  ) PURE;
972 
973  using ID2D1Device1::CreateDeviceContext;
974 
975  using ID2D1Device::CreateDeviceContext;
976 
980  STDMETHOD_(void, FlushDeviceContexts)(
981  _In_ ID2D1Bitmap *bitmap
982  ) PURE;
983 
987  STDMETHOD(GetDxgiDevice)(
988  _COM_Outptr_ IDXGIDevice **dxgiDevice
989  ) PURE;
990 }; // interface ID2D1Device2
991 
992 
997 interface DX_DECLARE_INTERFACE("0869759f-4f00-413f-b03e-2bda45404d0f") ID2D1Factory3 : public ID2D1Factory2
998 {
999 
1003  STDMETHOD(CreateDevice)(
1004  _In_ IDXGIDevice *dxgiDevice,
1005  _COM_Outptr_ ID2D1Device2 **d2dDevice2
1006  ) PURE;
1007 
1008  using ID2D1Factory2::CreateDevice;
1009 
1010  using ID2D1Factory1::CreateDevice;
1011 }; // interface ID2D1Factory3
1012 
1013 
1018 interface DX_DECLARE_INTERFACE("3bab440e-417e-47df-a2e2-bc0be6a00916") ID2D1CommandSink2 : public ID2D1CommandSink1
1019 {
1020 
1021  STDMETHOD(DrawInk)(
1022  _In_ ID2D1Ink *ink,
1023  _In_ ID2D1Brush *brush,
1024  _In_opt_ ID2D1InkStyle *inkStyle
1025  ) PURE;
1026 
1027  STDMETHOD(DrawGradientMesh)(
1028  _In_ ID2D1GradientMesh *gradientMesh
1029  ) PURE;
1030 
1031  STDMETHOD(DrawGdiMetafile)(
1032  _In_ ID2D1GdiMetafile *gdiMetafile,
1033  _In_opt_ CONST D2D1_RECT_F *destinationRectangle,
1034  _In_opt_ CONST D2D1_RECT_F *sourceRectangle
1035  ) PURE;
1036 
1037  using ID2D1CommandSink::DrawGdiMetafile;
1038 }; // interface ID2D1CommandSink2
1039 
1040 
1044 interface DX_DECLARE_INTERFACE("2e69f9e8-dd3f-4bf9-95ba-c04f49d788df") ID2D1GdiMetafile1 : public ID2D1GdiMetafile
1045 {
1046 
1050  STDMETHOD(GetDpi)(
1051  _Out_ FLOAT *dpiX,
1052  _Out_ FLOAT *dpiY
1053  ) PURE;
1054 
1059  STDMETHOD(GetSourceBounds)(
1060  _Out_ D2D1_RECT_F *bounds
1061  ) PURE;
1062 }; // interface ID2D1GdiMetafile1
1063 
1064 
1068 interface DX_DECLARE_INTERFACE("fd0ecb6b-91e6-411e-8655-395e760f91b4") ID2D1GdiMetafileSink1 : public ID2D1GdiMetafileSink
1069 {
1070 
1074  STDMETHOD(ProcessRecord)(
1075  DWORD recordType,
1076  _In_opt_ CONST void *recordData,
1077  DWORD recordDataSize,
1078  UINT32 flags
1079  ) PURE;
1080 
1081  using ID2D1GdiMetafileSink::ProcessRecord;
1082 }; // interface ID2D1GdiMetafileSink1
1083 
1084 
1085 #if NTDDI_VERSION >= NTDDI_WIN10_TH2
1086 
1087 interface DX_DECLARE_INTERFACE("4dc583bf-3a10-438a-8722-e9765224f1f1") ID2D1SpriteBatch : public ID2D1Resource
1088 {
1089 
1093  STDMETHOD(AddSprites)(
1094  UINT32 spriteCount,
1095  _In_reads_bytes_(sizeof(D2D1_RECT_F) + (spriteCount - 1) * destinationRectanglesStride) CONST D2D1_RECT_F *destinationRectangles,
1096  _In_reads_bytes_opt_(sizeof(D2D1_RECT_U) + (spriteCount - 1) * sourceRectanglesStride) CONST D2D1_RECT_U *sourceRectangles = NULL,
1097  _In_reads_bytes_opt_(sizeof(D2D1_COLOR_F) + (spriteCount - 1) * colorsStride) CONST D2D1_COLOR_F *colors = NULL,
1098  _In_reads_bytes_opt_(sizeof(D2D1_MATRIX_3X2_F) + (spriteCount - 1) * transformsStride) CONST D2D1_MATRIX_3X2_F *transforms = NULL,
1099  UINT32 destinationRectanglesStride = sizeof(D2D1_RECT_F),
1100  UINT32 sourceRectanglesStride = sizeof(D2D1_RECT_U),
1101  UINT32 colorsStride = sizeof(D2D1_COLOR_F),
1102  UINT32 transformsStride = sizeof(D2D1_MATRIX_3X2_F)
1103  ) PURE;
1104 
1109  STDMETHOD(SetSprites)(
1110  UINT32 startIndex,
1111  UINT32 spriteCount,
1112  _In_reads_bytes_opt_(sizeof(D2D1_RECT_F) + (spriteCount - 1) * destinationRectanglesStride) CONST D2D1_RECT_F *destinationRectangles = NULL,
1113  _In_reads_bytes_opt_(sizeof(D2D1_RECT_U) + (spriteCount - 1) * sourceRectanglesStride) CONST D2D1_RECT_U *sourceRectangles = NULL,
1114  _In_reads_bytes_opt_(sizeof(D2D1_COLOR_F) + (spriteCount - 1) * colorsStride) CONST D2D1_COLOR_F *colors = NULL,
1115  _In_reads_bytes_opt_(sizeof(D2D1_MATRIX_3X2_F) + (spriteCount - 1) * transformsStride) CONST D2D1_MATRIX_3X2_F *transforms = NULL,
1116  UINT32 destinationRectanglesStride = sizeof(D2D1_RECT_F),
1117  UINT32 sourceRectanglesStride = sizeof(D2D1_RECT_U),
1118  UINT32 colorsStride = sizeof(D2D1_COLOR_F),
1119  UINT32 transformsStride = sizeof(D2D1_MATRIX_3X2_F)
1120  ) PURE;
1121 
1125  STDMETHOD(GetSprites)(
1126  UINT32 startIndex,
1127  UINT32 spriteCount,
1128  _Out_writes_opt_(spriteCount) D2D1_RECT_F *destinationRectangles = NULL,
1129  _Out_writes_opt_(spriteCount) D2D1_RECT_U *sourceRectangles = NULL,
1130  _Out_writes_opt_(spriteCount) D2D1_COLOR_F *colors = NULL,
1131  _Out_writes_opt_(spriteCount) D2D1_MATRIX_3X2_F *transforms = NULL
1132  ) CONST PURE;
1133 
1137  STDMETHOD_(UINT32, GetSpriteCount)(
1138  ) CONST PURE;
1139 
1143  STDMETHOD_(void, Clear)(
1144  ) PURE;
1145 }; // interface ID2D1SpriteBatch
1146 
1147 
1148 interface DX_DECLARE_INTERFACE("235a7496-8351-414c-bcd4-6672ab2d8e00") ID2D1DeviceContext3 : public ID2D1DeviceContext2
1149 {
1150 
1154  STDMETHOD(CreateSpriteBatch)(
1155  _COM_Outptr_ ID2D1SpriteBatch **spriteBatch
1156  ) PURE;
1157 
1161  STDMETHOD_(void, DrawSpriteBatch)(
1162  _In_ ID2D1SpriteBatch *spriteBatch,
1163  UINT32 startIndex,
1164  UINT32 spriteCount,
1165  _In_ ID2D1Bitmap *bitmap,
1168  ) PURE;
1169 
1173  COM_DECLSPEC_NOTHROW
1174  void
1175  DrawSpriteBatch(
1176  _In_ ID2D1SpriteBatch *spriteBatch,
1177  _In_ ID2D1Bitmap *bitmap,
1180  )
1181  {
1182  return DrawSpriteBatch(spriteBatch, 0, spriteBatch->GetSpriteCount(), bitmap, interpolationMode, spriteOptions);
1183  }
1184 }; // interface ID2D1DeviceContext3
1185 
1186 
1187 interface DX_DECLARE_INTERFACE("852f2087-802c-4037-ab60-ff2e7ee6fc01") ID2D1Device3 : public ID2D1Device2
1188 {
1189 
1193  STDMETHOD(CreateDeviceContext)(
1195  _COM_Outptr_ ID2D1DeviceContext3 **deviceContext3
1196  ) PURE;
1197 
1198  using ID2D1Device2::CreateDeviceContext;
1199 
1200  using ID2D1Device1::CreateDeviceContext;
1201 
1202  using ID2D1Device::CreateDeviceContext;
1203 }; // interface ID2D1Device3
1204 
1205 
1210 interface DX_DECLARE_INTERFACE("bd4ec2d2-0662-4bee-ba8e-6f29f032e096") ID2D1Factory4 : public ID2D1Factory3
1211 {
1212 
1216  STDMETHOD(CreateDevice)(
1217  _In_ IDXGIDevice *dxgiDevice,
1218  _COM_Outptr_ ID2D1Device3 **d2dDevice3
1219  ) PURE;
1220 
1221  using ID2D1Factory3::CreateDevice;
1222 
1223  using ID2D1Factory2::CreateDevice;
1224 
1225  using ID2D1Factory1::CreateDevice;
1226 }; // interface ID2D1Factory4
1227 
1228 
1229 interface DX_DECLARE_INTERFACE("18079135-4cf3-4868-bc8e-06067e6d242d") ID2D1CommandSink3 : public ID2D1CommandSink2
1230 {
1231 
1232  STDMETHOD(DrawSpriteBatch)(
1233  _In_ ID2D1SpriteBatch *spriteBatch,
1234  UINT32 startIndex,
1235  UINT32 spriteCount,
1236  _In_ ID2D1Bitmap *bitmap,
1237  D2D1_BITMAP_INTERPOLATION_MODE interpolationMode,
1238  D2D1_SPRITE_OPTIONS spriteOptions
1239  ) PURE;
1240 }; // interface ID2D1CommandSink3
1241 
1242 
1243 #endif // #if NTDDI_VERSION >= NTDDI_WIN10_TH2
1244 #if NTDDI_VERSION >= NTDDI_WIN10_RS1
1245 
1250 interface DX_DECLARE_INTERFACE("af671749-d241-4db8-8e41-dcc2e5c1a438") ID2D1SvgGlyphStyle : public ID2D1Resource
1251 {
1252 
1261  STDMETHOD(SetFill)(
1262  _In_opt_ ID2D1Brush *brush
1263  ) PURE;
1264 
1268  STDMETHOD_(void, GetFill)(
1269  _Outptr_result_maybenull_ ID2D1Brush **brush
1270  ) PURE;
1271 
1286  STDMETHOD(SetStroke)(
1287  _In_opt_ ID2D1Brush *brush,
1288  FLOAT strokeWidth = 1.0f,
1289  _In_reads_opt_(dashesCount) CONST FLOAT *dashes = NULL,
1290  UINT32 dashesCount = 0,
1291  FLOAT dashOffset = 1.0f
1292  ) PURE;
1293 
1297  STDMETHOD_(UINT32, GetStrokeDashesCount)(
1298  ) PURE;
1299 
1303  STDMETHOD_(void, GetStroke)(
1304  _Outptr_opt_result_maybenull_ ID2D1Brush **brush,
1305  _Out_opt_ FLOAT *strokeWidth = NULL,
1306  _Out_writes_opt_(dashesCount) FLOAT *dashes = NULL,
1307  UINT32 dashesCount = 0,
1308  _Out_opt_ FLOAT *dashOffset = NULL
1309  ) PURE;
1310 }; // interface ID2D1SvgGlyphStyle
1311 
1312 
1313 interface DX_DECLARE_INTERFACE("8c427831-3d90-4476-b647-c4fae349e4db") ID2D1DeviceContext4 : public ID2D1DeviceContext3
1314 {
1315 
1319  STDMETHOD(CreateSvgGlyphStyle)(
1320  _COM_Outptr_ ID2D1SvgGlyphStyle **svgGlyphStyle
1321  ) PURE;
1322 
1330  STDMETHOD_(void, DrawText)(
1331  _In_reads_(stringLength) CONST WCHAR *string,
1332  UINT32 stringLength,
1333  _In_ IDWriteTextFormat *textFormat,
1334  _In_ CONST D2D1_RECT_F *layoutRect,
1335  _In_opt_ ID2D1Brush *defaultFillBrush,
1336  _In_opt_ ID2D1SvgGlyphStyle *svgGlyphStyle,
1337  UINT32 colorPaletteIndex = 0,
1340  ) PURE;
1341 
1342  using ID2D1RenderTarget::DrawText;
1343 
1355  STDMETHOD_(void, DrawTextLayout)(
1356  D2D1_POINT_2F origin,
1357  _In_ IDWriteTextLayout *textLayout,
1358  _In_opt_ ID2D1Brush *defaultFillBrush,
1359  _In_opt_ ID2D1SvgGlyphStyle *svgGlyphStyle,
1360  UINT32 colorPaletteIndex = 0,
1362  ) PURE;
1363 
1364  using ID2D1RenderTarget::DrawTextLayout;
1365 
1372  STDMETHOD_(void, DrawColorBitmapGlyphRun)(
1373  DWRITE_GLYPH_IMAGE_FORMATS glyphImageFormat,
1374  D2D1_POINT_2F baselineOrigin,
1375  _In_ CONST DWRITE_GLYPH_RUN *glyphRun,
1378  ) PURE;
1379 
1387  STDMETHOD_(void, DrawSvgGlyphRun)(
1388  D2D1_POINT_2F baselineOrigin,
1389  _In_ CONST DWRITE_GLYPH_RUN *glyphRun,
1390  _In_opt_ ID2D1Brush *defaultFillBrush = NULL,
1391  _In_opt_ ID2D1SvgGlyphStyle *svgGlyphStyle = NULL,
1392  UINT32 colorPaletteIndex = 0,
1394  ) PURE;
1395 
1409  STDMETHOD(GetColorBitmapGlyphImage)(
1410  DWRITE_GLYPH_IMAGE_FORMATS glyphImageFormat,
1411  D2D1_POINT_2F glyphOrigin,
1412  _In_ IDWriteFontFace *fontFace,
1413  FLOAT fontEmSize,
1414  UINT16 glyphIndex,
1415  BOOL isSideways,
1416  _In_opt_ CONST D2D1_MATRIX_3X2_F *worldTransform,
1417  FLOAT dpiX,
1418  FLOAT dpiY,
1419  _Out_ D2D1_MATRIX_3X2_F *glyphTransform,
1420  _COM_Outptr_ ID2D1Image **glyphImage
1421  ) PURE;
1422 
1439  STDMETHOD(GetSvgGlyphImage)(
1440  D2D1_POINT_2F glyphOrigin,
1441  _In_ IDWriteFontFace *fontFace,
1442  FLOAT fontEmSize,
1443  UINT16 glyphIndex,
1444  BOOL isSideways,
1445  _In_opt_ CONST D2D1_MATRIX_3X2_F *worldTransform,
1446  _In_opt_ ID2D1Brush *defaultFillBrush,
1447  _In_opt_ ID2D1SvgGlyphStyle *svgGlyphStyle,
1448  UINT32 colorPaletteIndex,
1449  _Out_ D2D1_MATRIX_3X2_F *glyphTransform,
1450  _COM_Outptr_ ID2D1CommandList **glyphImage
1451  ) PURE;
1452 
1460  COM_DECLSPEC_NOTHROW
1461  void
1462  DrawText(
1463  _In_reads_(stringLength) CONST WCHAR *string,
1464  UINT32 stringLength,
1465  _In_ IDWriteTextFormat *textFormat,
1466  CONST D2D1_RECT_F &layoutRect,
1467  _In_opt_ ID2D1Brush *defaultFillBrush,
1468  _In_opt_ ID2D1SvgGlyphStyle *svgGlyphStyle,
1469  UINT32 colorPaletteIndex = 0,
1472  )
1473  {
1474  return DrawText(string, stringLength, textFormat, &layoutRect, defaultFillBrush, svgGlyphStyle, colorPaletteIndex, options, measuringMode);
1475  }
1476 }; // interface ID2D1DeviceContext4
1477 
1478 
1479 interface DX_DECLARE_INTERFACE("d7bdb159-5683-4a46-bc9c-72dc720b858b") ID2D1Device4 : public ID2D1Device3
1480 {
1481 
1485  STDMETHOD(CreateDeviceContext)(
1487  _COM_Outptr_ ID2D1DeviceContext4 **deviceContext4
1488  ) PURE;
1489 
1490  using ID2D1Device3::CreateDeviceContext;
1491 
1492  using ID2D1Device2::CreateDeviceContext;
1493 
1494  using ID2D1Device1::CreateDeviceContext;
1495 
1496  using ID2D1Device::CreateDeviceContext;
1497 
1505  STDMETHOD_(void, SetMaximumColorGlyphCacheMemory)(
1506  UINT64 maximumInBytes
1507  ) PURE;
1508 
1512  STDMETHOD_(UINT64, GetMaximumColorGlyphCacheMemory)(
1513  ) CONST PURE;
1514 }; // interface ID2D1Device4
1515 
1516 
1521 interface DX_DECLARE_INTERFACE("c4349994-838e-4b0f-8cab-44997d9eeacc") ID2D1Factory5 : public ID2D1Factory4
1522 {
1523 
1527  STDMETHOD(CreateDevice)(
1528  _In_ IDXGIDevice *dxgiDevice,
1529  _COM_Outptr_ ID2D1Device4 **d2dDevice4
1530  ) PURE;
1531 
1532  using ID2D1Factory4::CreateDevice;
1533 
1534  using ID2D1Factory3::CreateDevice;
1535 
1536  using ID2D1Factory2::CreateDevice;
1537 
1538  using ID2D1Factory1::CreateDevice;
1539 }; // interface ID2D1Factory5
1540 
1541 
1542 #endif // #if NTDDI_VERSION >= NTDDI_WIN10_RS1
1543 #if NTDDI_VERSION >= NTDDI_WIN10_RS2
1544 
1545 interface DX_DECLARE_INTERFACE("c78a6519-40d6-4218-b2de-beeeb744bb3e") ID2D1CommandSink4 : public ID2D1CommandSink3
1546 {
1547 
1560  STDMETHOD(SetPrimitiveBlend2)(
1561  D2D1_PRIMITIVE_BLEND primitiveBlend
1562  ) PURE;
1563 }; // interface ID2D1CommandSink4
1564 
1565 
1569 interface DX_DECLARE_INTERFACE("1ab42875-c57f-4be9-bd85-9cd78d6f55ee") ID2D1ColorContext1 : public ID2D1ColorContext
1570 {
1571 
1575  STDMETHOD_(D2D1_COLOR_CONTEXT_TYPE, GetColorContextType)(
1576  ) CONST PURE;
1577 
1582  STDMETHOD_(DXGI_COLOR_SPACE_TYPE, GetDXGIColorSpace)(
1583  ) CONST PURE;
1584 
1588  STDMETHOD(GetSimpleColorProfile)(
1589  _Out_ D2D1_SIMPLE_COLOR_PROFILE *simpleProfile
1590  ) CONST PURE;
1591 }; // interface ID2D1ColorContext1
1592 
1593 
1594 interface DX_DECLARE_INTERFACE("7836d248-68cc-4df6-b9e8-de991bf62eb7") ID2D1DeviceContext5 : public ID2D1DeviceContext4
1595 {
1596 
1605  STDMETHOD(CreateSvgDocument)(
1606  _In_opt_ IStream *inputXmlStream,
1607  D2D1_SIZE_F viewportSize,
1608  _COM_Outptr_ ID2D1SvgDocument **svgDocument
1609  ) PURE;
1610 
1614  STDMETHOD_(void, DrawSvgDocument)(
1615  _In_ ID2D1SvgDocument *svgDocument
1616  ) PURE;
1617 
1622  STDMETHOD(CreateColorContextFromDxgiColorSpace)(
1623  DXGI_COLOR_SPACE_TYPE colorSpace,
1624  _COM_Outptr_ ID2D1ColorContext1 **colorContext
1625  ) PURE;
1626 
1631  STDMETHOD(CreateColorContextFromSimpleColorProfile)(
1632  _In_ CONST D2D1_SIMPLE_COLOR_PROFILE *simpleProfile,
1633  _COM_Outptr_ ID2D1ColorContext1 **colorContext
1634  ) PURE;
1635 
1639  COM_DECLSPEC_NOTHROW
1640  HRESULT
1641  CreateColorContextFromSimpleColorProfile(
1642  CONST D2D1_SIMPLE_COLOR_PROFILE &simpleProfile,
1643  _COM_Outptr_ ID2D1ColorContext1 **colorContext
1644  )
1645  {
1646  return CreateColorContextFromSimpleColorProfile(&simpleProfile, colorContext);
1647  }
1648 }; // interface ID2D1DeviceContext5
1649 
1650 
1651 interface DX_DECLARE_INTERFACE("d55ba0a4-6405-4694-aef5-08ee1a4358b4") ID2D1Device5 : public ID2D1Device4
1652 {
1653 
1657  STDMETHOD(CreateDeviceContext)(
1659  _COM_Outptr_ ID2D1DeviceContext5 **deviceContext5
1660  ) PURE;
1661 
1662  using ID2D1Device4::CreateDeviceContext;
1663 
1664  using ID2D1Device3::CreateDeviceContext;
1665 
1666  using ID2D1Device2::CreateDeviceContext;
1667 
1668  using ID2D1Device1::CreateDeviceContext;
1669 
1670  using ID2D1Device::CreateDeviceContext;
1671 }; // interface ID2D1Device5
1672 
1673 
1678 interface DX_DECLARE_INTERFACE("f9976f46-f642-44c1-97ca-da32ea2a2635") ID2D1Factory6 : public ID2D1Factory5
1679 {
1680 
1684  STDMETHOD(CreateDevice)(
1685  _In_ IDXGIDevice *dxgiDevice,
1686  _COM_Outptr_ ID2D1Device5 **d2dDevice5
1687  ) PURE;
1688 
1689  using ID2D1Factory5::CreateDevice;
1690 
1691  using ID2D1Factory4::CreateDevice;
1692 
1693  using ID2D1Factory3::CreateDevice;
1694 
1695  using ID2D1Factory2::CreateDevice;
1696 
1697  using ID2D1Factory1::CreateDevice;
1698 }; // interface ID2D1Factory6
1699 
1700 
1701 #endif
1702 #if NTDDI_VERSION >= NTDDI_WIN10_RS3
1703 
1704 interface DX_DECLARE_INTERFACE("7047dd26-b1e7-44a7-959a-8349e2144fa8") ID2D1CommandSink5 : public ID2D1CommandSink4
1705 {
1706 
1707  STDMETHOD(BlendImage)(
1708  _In_ ID2D1Image *image,
1709  D2D1_BLEND_MODE blendMode,
1710  _In_opt_ CONST D2D1_POINT_2F *targetOffset,
1711  _In_opt_ CONST D2D1_RECT_F *imageRectangle,
1712  D2D1_INTERPOLATION_MODE interpolationMode
1713  ) PURE;
1714 }; // interface ID2D1CommandSink5
1715 
1716 
1717 interface DX_DECLARE_INTERFACE("985f7e37-4ed0-4a19-98a3-15b0edfde306") ID2D1DeviceContext6 : public ID2D1DeviceContext5
1718 {
1719 
1723  STDMETHOD_(void, BlendImage)(
1724  _In_ ID2D1Image *image,
1725  D2D1_BLEND_MODE blendMode,
1726  _In_opt_ CONST D2D1_POINT_2F *targetOffset = NULL,
1727  _In_opt_ CONST D2D1_RECT_F *imageRectangle = NULL,
1729  ) PURE;
1730 }; // interface ID2D1DeviceContext6
1731 
1732 
1733 interface DX_DECLARE_INTERFACE("7bfef914-2d75-4bad-be87-e18ddb077b6d") ID2D1Device6 : public ID2D1Device5
1734 {
1735 
1739  STDMETHOD(CreateDeviceContext)(
1741  _COM_Outptr_ ID2D1DeviceContext6 **deviceContext6
1742  ) PURE;
1743 
1744  using ID2D1Device5::CreateDeviceContext;
1745 
1746  using ID2D1Device4::CreateDeviceContext;
1747 
1748  using ID2D1Device3::CreateDeviceContext;
1749 
1750  using ID2D1Device2::CreateDeviceContext;
1751 
1752  using ID2D1Device1::CreateDeviceContext;
1753 
1754  using ID2D1Device::CreateDeviceContext;
1755 }; // interface ID2D1Device6
1756 
1757 
1762 interface DX_DECLARE_INTERFACE("bdc2bdd3-b96c-4de6-bdf7-99d4745454de") ID2D1Factory7 : public ID2D1Factory6
1763 {
1764 
1768  STDMETHOD(CreateDevice)(
1769  _In_ IDXGIDevice *dxgiDevice,
1770  _COM_Outptr_ ID2D1Device6 **d2dDevice6
1771  ) PURE;
1772 
1773  using ID2D1Factory6::CreateDevice;
1774 
1775  using ID2D1Factory5::CreateDevice;
1776 
1777  using ID2D1Factory4::CreateDevice;
1778 
1779  using ID2D1Factory3::CreateDevice;
1780 
1781  using ID2D1Factory2::CreateDevice;
1782 
1783  using ID2D1Factory1::CreateDevice;
1784 }; // interface ID2D1Factory7
1785 
1786 
1787 #endif
1788 
1789 #endif
1790 
1791 
1792 #ifdef D2D_USE_C_DEFINITIONS
1793 
1794 
1795 typedef interface ID2D1InkStyle ID2D1InkStyle;
1796 
1797 typedef interface ID2D1Ink ID2D1Ink;
1798 
1800 
1802 
1804 
1806 
1808 
1810 
1811 typedef interface ID2D1Device2 ID2D1Device2;
1812 
1813 typedef interface ID2D1Factory3 ID2D1Factory3;
1814 
1816 
1818 
1820 
1821 #endif
1822 
1823 
1824 #ifdef __cplusplus
1825 extern "C"
1826 {
1827 #endif
1828 
1829 #if NTDDI_VERSION >= NTDDI_WINTHRESHOLD
1830  void WINAPI
1832  _In_ CONST D2D1_POINT_2F *pPoint0,
1833  _In_ CONST D2D1_POINT_2F *pPoint1,
1834  _In_ CONST D2D1_POINT_2F *pPoint2,
1835  _In_ CONST D2D1_POINT_2F *pPoint3,
1836  _In_ CONST D2D1_POINT_2F *pPoint4,
1837  _In_ CONST D2D1_POINT_2F *pPoint5,
1838  _In_ CONST D2D1_POINT_2F *pPoint6,
1839  _In_ CONST D2D1_POINT_2F *pPoint7,
1840  _In_ CONST D2D1_POINT_2F *pPoint8,
1841  _In_ CONST D2D1_POINT_2F *pPoint9,
1842  _In_ CONST D2D1_POINT_2F *pPoint10,
1843  _In_ CONST D2D1_POINT_2F *pPoint11,
1844  _Out_ D2D1_POINT_2F *pTensorPoint11,
1845  _Out_ D2D1_POINT_2F *pTensorPoint12,
1846  _Out_ D2D1_POINT_2F *pTensorPoint21,
1847  _Out_ D2D1_POINT_2F *pTensorPoint22
1848  );
1849 #endif // #if NTDDI_VERSION >= NTDDI_WINTHRESHOLD
1850 
1851 #ifdef __cplusplus
1852 }
1853 #endif
1854 
1855 
1856 
1857 /*#endif*/ /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
1858 /*#pragma endregion*/
1859 #include <d2d1_3helper.h>
1860 #endif // #ifndef _D2D1_3_H_
#define DX_DECLARE_INTERFACE(x)
Definition: dcommon.h:17
D2D1_POINT_2F point21
The gradient mesh patch control point at position 21.
Definition: d2d1_3.h:277
D2D1_BITMAP_INTERPOLATION_MODE
Specifies the algorithm that is used when images are scaled or rotated. Note Starting in Windows 8,...
Definition: d2d1.h:231
interface ID2D1SimplifiedGeometrySink ID2D1SimplifiedGeometrySink
Definition: d2d1.h:74
FLOAT y
Definition: d2d1_3.h:155
D2D1_INK_POINT point3
Definition: d2d1_3.h:170
D2D1_SPRITE_OPTIONS
Definition: d2d1_3.h:351
D2D_COLOR_F D2D1_COLOR_F
Definition: d2d1.h:288
D2D1_INTERPOLATION_MODE interpolationMode
The interpolation mode used when the image source is drawn. This is ignored if the image source is dr...
Definition: d2d1_3.h:139
D2D1_POINT_2F greenPrimary
The XY coordinates of the green primary in CIEXYZ space.
Definition: d2d1_3.h:430
interface ID2D1CommandList ID2D1CommandList
Definition: d2d1_1.h:2408
struct D2D1_SIMPLE_COLOR_PROFILE D2D1_SIMPLE_COLOR_PROFILE
Simple description of a color space.
interface ID2D1CommandSink1 ID2D1CommandSink1
Definition: d2d1_2.h:178
interface ID2D1Factory2 ID2D1Factory2
Definition: d2d1_2.h:176
Defines the general pen tip shape and the transform used in an ID2D1InkStyle object.
Definition: d2d1_3.h:179
D2D1_POINT_2F point22
The gradient mesh patch control point at position 22.
Definition: d2d1_3.h:282
D2D1_PATCH_EDGE_MODE leftEdgeMode
The edge mode for the left edge of the patch.
Definition: d2d1_3.h:337
Properties of a transformed image source.
Definition: d2d1_3.h:117
Definition: d2d1_3.h:51
Colors are manipulated in 2.2 gamma color space.
Definition: d2d1.h:112
Definition: glslang_tab.cpp:129
D2D1_COLOR_F color30
The color associated with control point at position 30.
Definition: d2d1_3.h:322
D2D1_IMAGE_SOURCE_LOADING_OPTIONS
Option flags controlling how images sources are loaded during CreateImageSourceFromWic.
Definition: d2d1_3.h:68
interface IWICBitmapSource IWICBitmapSource
Definition: d2d1.h:55
Definition: d2d1_3.h:411
GLsizei startSegment
Definition: glext.h:12661
FLOAT x
Definition: d2d1_3.h:154
interface ID2D1Ink ID2D1Ink
Definition: d2d1_3.h:1797
Use default sprite rendering behavior.
Definition: d2d1_3.h:357
Definition: d2d1_3.h:40
D2D1_TRANSFORMED_IMAGE_SOURCE_OPTIONS
Option flags for transformed image sources.
Definition: d2d1_3.h:98
D2D1_POINT_2F point11
The gradient mesh patch control point at position 11.
Definition: d2d1_3.h:257
D2D1_POINT_2F point02
The gradient mesh patch control point at position 02.
Definition: d2d1_3.h:242
Color bitmap glyph positions are not snapped.
Definition: d2d1_3.h:385
D2D1_DEVICE_CONTEXT_OPTIONS
This specifies options that apply to the device context for its lifetime.
Definition: d2d1_1.h:295
interface ID2D1TransformedImageSource ID2D1TransformedImageSource
Definition: d2d1_3.h:1805
EXTERN_C CONST IID IID_ID2D1DeviceContext4
Definition: d2d1_3.h:483
GLsizei GLfixed GLfixed GLfixed GLfixed const GLubyte * bitmap
Definition: glsym_gl.h:1002
D2D1_POINT_2F redPrimary
The XY coordinates of the red primary in CIEXYZ space.
Definition: d2d1_3.h:425
uint64_t UINT64
Definition: coretypes.h:8
EXTERN_C CONST IID IID_ID2D1Device2
Definition: d2d1_3.h:472
Simple description of a color space.
Definition: d2d1_3.h:419
EXTERN_C CONST IID IID_ID2D1SvgGlyphStyle
Definition: d2d1_3.h:482
static struct mg_connection * fc(struct mg_context *ctx)
Definition: civetweb.c:1933
D2D1_PATCH_EDGE_MODE topEdgeMode
The edge mode for the top edge of the patch.
Definition: d2d1_3.h:332
interface ID2D1GdiMetafile1 ID2D1GdiMetafile1
Definition: d2d1_3.h:1817
D2D1_INK_NIB_SHAPE nibShape
The general shape of the nib used to draw a given ink object.
Definition: d2d1_3.h:185
interface ID2D1GdiMetafileSink1 ID2D1GdiMetafileSink1
Definition: d2d1_3.h:1819
FLOAT scaleX
The horizontal scale factor at which the image source is drawn.
Definition: d2d1_3.h:128
GLfloat f
Definition: glext.h:8207
Represents a Bezier segment to be used in the creation of an ID2D1Ink object. This structure differs ...
Definition: d2d1_3.h:166
D2D1_COLOR_F color00
The color associated with control point at position 00.
Definition: d2d1_3.h:312
EXTERN_C CONST IID IID_ID2D1GdiMetafileSink1
Definition: d2d1_3.h:476
D2D1_POINT_2F point10
The gradient mesh patch control point at position 10.
Definition: d2d1_3.h:252
Definition: d2d1_3.h:39
EXTERN_C CONST IID IID_ID2D1DeviceContext3
Definition: d2d1_3.h:478
Render this edge antialiased.
Definition: d2d1_3.h:209
EXTERN_C CONST IID IID_ID2D1TransformedImageSource
Definition: d2d1_3.h:469
Linear filtering.
Definition: d2d1.h:243
D2D1_POINT_2F point12
The gradient mesh patch control point at position 12.
Definition: d2d1_3.h:262
EXTERN_C CONST IID IID_ID2D1Device3
Definition: d2d1_3.h:479
EXTERN_C CONST IID IID_ID2D1DeviceContext2
Definition: d2d1_3.h:471
Definition: d2d1_1.h:245
GLsizei const GLchar *const * string
Definition: glext.h:6699
Represents a rectangle defined by the coordinates of the upper-left corner (left, top) and the coordi...
Definition: dcommon.h:224
typedef HRESULT(WINAPI *PFN_D3D12_SERIALIZE_ROOT_SIGNATURE)(_In_ const D3D12_ROOT_SIGNATURE_DESC *pRootSignature
struct D2D1_INK_STYLE_PROPERTIES D2D1_INK_STYLE_PROPERTIES
Defines the general pen tip shape and the transform used in an ID2D1InkStyle object.
EXTERN_C CONST IID IID_ID2D1DeviceContext6
Definition: d2d1_3.h:492
Render this edge aliased.
Definition: d2d1_3.h:204
EXTERN_C CONST IID IID_ID2D1CommandSink3
Definition: d2d1_3.h:481
Colors are manipulated in 1.0 gamma color space.
Definition: d2d1.h:117
D2D1_INK_NIB_SHAPE
Specifies the appearance of the ink nib (pen tip) as part of an D2D1_INK_STYLE_PROPERTIES structure.
Definition: d2d1_3.h:37
GLenum GLint GLint * precision
Definition: glext.h:8206
interface ID2D1CommandSink2 ID2D1CommandSink2
Definition: d2d1_3.h:1815
Definition: d2d1_3.h:215
Definition: ibxm.h:9
interface IDXGIDevice IDXGIDevice
Definition: dxgi.h:114
EXTERN_C CONST IID IID_ID2D1Ink
Definition: d2d1_3.h:465
interface IWICBitmapFrameDecode IWICBitmapFrameDecode
Definition: d2d1_3.h:30
const GLubyte * c
Definition: glext.h:9812
GLboolean GLboolean GLboolean b
Definition: glext.h:6844
Alpha mode should be determined implicitly. Some target surfaces do not supply or imply this informat...
Definition: dcommon.h:131
EXTERN_C CONST IID IID_ID2D1Device4
Definition: d2d1_3.h:484
EXTERN_C CONST IID IID_ID2D1Factory3
Definition: d2d1_3.h:473
Prevents the image source from being automatically scaled (by a ratio of the context DPI divided by 9...
Definition: d2d1_3.h:106
interface ID2D1GdiMetafile ID2D1GdiMetafile
Definition: d2d1_1.h:2404
_Outptr_ IUnknown _In_reads_bytes_opt_(InitDataByteSize) const void *pInitData
EXTERN_C CONST IID IID_ID2D1CommandSink5
Definition: d2d1_3.h:491
#define D2D1_DEFAULT_FLATTENING_TOLERANCE
Definition: d2d1.h:82
EXTERN_C CONST IID IID_ID2D1DeviceContext5
Definition: d2d1_3.h:488
D2D1_POINT_2F whitePointXZ
The X/Z tristimulus values for the whitepoint, normalized for relative luminance.
Definition: d2d1_3.h:441
D2D1_PRIMITIVE_BLEND
A blend mode that applies to all primitives drawn on the context.
Definition: d2d1_1.h:341
interface ID2D1ImageSourceFromWic ID2D1ImageSourceFromWic
Definition: d2d1_3.h:1803
interface ID2D1InkStyle ID2D1InkStyle
Definition: d2d1_3.h:1795
EXTERN_C CONST IID IID_ID2D1ColorContext1
Definition: d2d1_3.h:487
D2D1_POINT_2F point33
The gradient mesh patch control point at position 33.
Definition: d2d1_3.h:307
D2D_RECT_F D2D1_RECT_F
Definition: d2d1.h:284
DWRITE_GLYPH_IMAGE_FORMATS
Fonts may contain multiple drawable data formats for glyphs. These flags specify which formats are su...
Definition: dcommon.h:62
D2D1_ORIENTATION orientation
The orientation at which the image source is drawn.
Definition: d2d1_3.h:123
EXTERN_C CONST IID IID_ID2D1InkStyle
Definition: d2d1_3.h:464
#define NULL
Pointer to 0.
Definition: gctypes.h:65
Render this edge aliased and inflated out slightly.
Definition: d2d1_3.h:214
interface ID2D1SvgDocument ID2D1SvgDocument
Definition: d2d1svg.h:24
D2D1_COLOR_F color03
The color associated with control point at position 03.
Definition: d2d1_3.h:317
EXTERN_C CONST IID IID_ID2D1CommandSink2
Definition: d2d1_3.h:474
D2D1_INTERPOLATION_MODE
This is used to specify the quality of image scaling with ID2D1DeviceContext::DrawImage and with the ...
Definition: d2d1_1.h:242
interface IDXGISurface IDXGISurface
Definition: d2d1.h:53
D2D1_GAMMA1
This determines what gamma is used for interpolation/blending.
Definition: d2d1_3.h:394
const GLvdpauSurfaceNV * surfaces
Definition: glext.h:12493
EXTERN_C CONST IID IID_ID2D1Device6
Definition: d2d1_3.h:493
D2D1_POINT_2F point20
The gradient mesh patch control point at position 20.
Definition: d2d1_3.h:272
D2D1_PATCH_EDGE_MODE bottomEdgeMode
The edge mode for the bottom edge of the patch.
Definition: d2d1_3.h:342
EXTERN_C CONST IID IID_ID2D1SpriteBatch
Definition: d2d1_3.h:477
EXTERN_C CONST IID IID_ID2D1Factory4
Definition: d2d1_3.h:480
Definition: d2d1_3.h:457
interface ID2D1DeviceContext ID2D1DeviceContext
Definition: d2d1_1.h:2432
EXTERN_C CONST IID IID_ID2D1Factory7
Definition: d2d1_3.h:494
D2D1_POINT_2F point00
The gradient mesh patch control point at position 00.
Definition: d2d1_3.h:232
Render color versions of glyphs if defined by the font.
Definition: d2d1.h:269
EXTERN_C CONST IID IID_ID2D1GdiMetafile1
Definition: d2d1_3.h:475
EXTERN_C CONST IID IID_ID2D1CommandSink4
Definition: d2d1_3.h:486
The interface implemented by the text analyzer's client to provide text to the analyzer....
Definition: dwrite.h:3021
Definition: d2d1_3.h:363
EXTERN_C CONST IID IID_ID2D1ImageSource
Definition: d2d1_3.h:467
GLenum GLsizei GLenum GLenum const GLvoid * image
Definition: glext.h:6305
D2D1_COLOR_BITMAP_GLYPH_SNAP_OPTION
Specifies the pixel snapping policy when rendering color bitmap glyphs.
Definition: d2d1_3.h:373
Stores an ordered pair of floats, typically the width and height of a rectangle.
Definition: dcommon.h:252
FLOAT scaleY
The vertical scale factor at which the image source is drawn.
Definition: d2d1_3.h:133
D2D1_PATCH_EDGE_MODE
Specifies how to render gradient mesh edges.
Definition: d2d1_3.h:198
interface ID2D1ImageSource ID2D1ImageSource
Definition: d2d1_3.h:1801
D2D1_COLOR_CONTEXT_TYPE
Specifies which way a color profile is defined.
Definition: d2d1_3.h:454
D2D1_POINT_2F point01
The gradient mesh patch control point at position 01.
Definition: d2d1_3.h:237
D2D1_INK_POINT point2
Definition: d2d1_3.h:169
interface IDWriteTextLayout IDWriteTextLayout
Definition: d2d1.h:51
Represents an x-coordinate and y-coordinate pair in two-dimensional space.
Definition: dcommon.h:175
interface ID2D1LookupTable3D ID2D1LookupTable3D
Definition: d2d1_3.h:1807
Definition: d2d1_3.h:59
D2D1_ALPHA_MODE
Qualifies how alpha is to be treated in a bitmap or render target containing alpha.
Definition: dcommon.h:124
D2D1_BUFFER_PRECISION
This specifies the precision that should be used in buffers allocated by D2D.
Definition: d2d1_1.h:193
D2D1_POINT_2F point23
The gradient mesh patch control point at position 23.
Definition: d2d1_3.h:287
EXTERN_C CONST IID IID_ID2D1Factory5
Definition: d2d1_3.h:485
interface IDWriteFontFace IDWriteFontFace
Definition: d2d1_3.h:31
interface ID2D1Device1 ID2D1Device1
Definition: d2d1_2.h:32
Colors are manipulated in ST.2084 PQ gamma color space.
Definition: d2d1_3.h:410
Represents a 3-by-2 matrix.
Definition: dcommon.h:275
void WINAPI D2D1GetGradientMeshInteriorPointsFromCoonsPatch(_In_ CONST D2D1_POINT_2F *pPoint0, _In_ CONST D2D1_POINT_2F *pPoint1, _In_ CONST D2D1_POINT_2F *pPoint2, _In_ CONST D2D1_POINT_2F *pPoint3, _In_ CONST D2D1_POINT_2F *pPoint4, _In_ CONST D2D1_POINT_2F *pPoint5, _In_ CONST D2D1_POINT_2F *pPoint6, _In_ CONST D2D1_POINT_2F *pPoint7, _In_ CONST D2D1_POINT_2F *pPoint8, _In_ CONST D2D1_POINT_2F *pPoint9, _In_ CONST D2D1_POINT_2F *pPoint10, _In_ CONST D2D1_POINT_2F *pPoint11, _Out_ D2D1_POINT_2F *pTensorPoint11, _Out_ D2D1_POINT_2F *pTensorPoint12, _Out_ D2D1_POINT_2F *pTensorPoint21, _Out_ D2D1_POINT_2F *pTensorPoint22)
D2D1_BLEND_MODE
Definition: d2d1effects.h:245
Definition: d2d1_3.h:458
interface ID2D1ColorContext ID2D1ColorContext
Definition: d2d1_1.h:31
f32 a1
Definition: gx_regdef.h:5095
D2D1_TRANSFORMED_IMAGE_SOURCE_OPTIONS options
Option flags.
Definition: d2d1_3.h:144
D2D1_GAMMA1 gamma
The gamma encoding to use for this color space.
Definition: d2d1_3.h:446
Represents a rectangle defined by the coordinates of the upper-left corner (left, top) and the coordi...
Definition: dcommon.h:238
Colors are manipulated in 2.2 gamma color space.
Definition: d2d1_3.h:400
D2D1_MATRIX_3X2_F nibTransform
The transform applied to shape of the nib. _31 and _32 are ignored.
Definition: d2d1_3.h:190
EXTERN_C CONST IID IID_ID2D1Device5
Definition: d2d1_3.h:489
D2D1_POINT_2F point32
The gradient mesh patch control point at position 32.
Definition: d2d1_3.h:302
D2D1_POINT_2F point03
The gradient mesh patch control point at position 03.
Definition: d2d1_3.h:247
interface ID2D1GdiMetafileSink ID2D1GdiMetafileSink
Definition: d2d1_1.h:2402
Colors are manipulated in 1.0 gamma color space.
Definition: d2d1_3.h:405
unsigned int BOOL
Definition: gctypes.h:51
interface ID2D1Bitmap ID2D1Bitmap
Definition: d2d1.h:3580
Color bitmap glyph positions are snapped to the nearest pixel if the bitmap resolution matches that o...
Definition: d2d1_3.h:380
interface ID2D1DeviceContext1 ID2D1DeviceContext1
Definition: d2d1_2.h:172
Text is measured using glyph ideal metrics whose values are independent to the current display resolu...
Definition: dcommon.h:40
uint32_t UINT32
Definition: coretypes.h:10
interface ID2D1Factory3 ID2D1Factory3
Definition: d2d1_3.h:1813
interface ID2D1DeviceContext2 ID2D1DeviceContext2
Definition: d2d1_3.h:1809
#define df(Z, A, B)
Definition: 2xbr.c:410
interface ID2D1Resource ID2D1Resource
Definition: d2d1.h:3576
Definition: d2d1_3.h:456
interface ID2D1Brush ID2D1Brush
Definition: d2d1.h:77
D2D1_INK_POINT point1
Definition: d2d1_3.h:168
interface ID2D1Device2 ID2D1Device2
Definition: d2d1_3.h:1811
FLOAT radius
Definition: d2d1_3.h:156
Represents a tensor patch with 16 control points, 4 corner colors, and boundary flags....
Definition: d2d1_3.h:226
D2D1_POINT_2F point13
The gradient mesh patch control point at position 13.
Definition: d2d1_3.h:267
Definition: d2d1_3.h:41
uint16_t UINT16
Definition: coretypes.h:11
DXGI_COLOR_SPACE_TYPE
Definition: dxgicommon.h:25
D2D1_POINT_2F point30
The gradient mesh patch control point at position 30.
Definition: d2d1_3.h:292
GLuint GLenum GLenum transform
Definition: glext.h:10314
Bitmap interpolation will be clamped to the sprite's source rectangle.
Definition: d2d1_3.h:362
D2D1_DRAW_TEXT_OPTIONS
Modifications made to the draw text call that influence how the text is rendered.
Definition: d2d1.h:253
Definition: glslang_tab.cpp:133
D2D1_PATCH_EDGE_MODE rightEdgeMode
The edge mode for the right edge of the patch.
Definition: d2d1_3.h:347
GLsizei const GLuint const GLintptr const GLsizei * strides
Definition: glsym_gl.h:638
interface ID2D1GradientMesh ID2D1GradientMesh
Definition: d2d1_3.h:1799
D2D1_POINT_2F point31
The gradient mesh patch control point at position 31.
Definition: d2d1_3.h:297
Definition: d2d1_3.h:52
interface IDWriteTextFormat IDWriteTextFormat
Definition: d2d1.h:50
EXTERN_C CONST IID IID_ID2D1Factory6
Definition: d2d1_3.h:490
EXTERN_C CONST IID IID_ID2D1GradientMesh
Definition: d2d1_3.h:466
EXTERN_C CONST IID IID_ID2D1ImageSourceFromWic
Definition: d2d1_3.h:468
GLbitfield flags
Definition: glext.h:7828
D2D1_COLOR_F color33
The color associated with control point at position 33.
Definition: d2d1_3.h:327
EXTERN_C CONST IID IID_ID2D1LookupTable3D
Definition: d2d1_3.h:470
struct D2D1_TRANSFORMED_IMAGE_SOURCE_PROPERTIES D2D1_TRANSFORMED_IMAGE_SOURCE_PROPERTIES
Properties of a transformed image source.
struct D2D1_INK_POINT D2D1_INK_POINT
Represents a point, radius pair that makes up part of a D2D1_INK_BEZIER_SEGMENT.
struct D2D1_GRADIENT_MESH_PATCH D2D1_GRADIENT_MESH_PATCH
Represents a tensor patch with 16 control points, 4 corner colors, and boundary flags....
DEFINE_ENUM_FLAG_OPERATORS(D2D1_IMAGE_SOURCE_LOADING_OPTIONS)
bf_uint8_t options
Definition: connect_ps4.c:78
Represents a point, radius pair that makes up part of a D2D1_INK_BEZIER_SEGMENT.
Definition: d2d1_3.h:152
D2D1_ORIENTATION
Specifies the orientation of an image.
Definition: d2d1_3.h:49
The text renderer interface represents a set of application-defined callbacks that perform rendering ...
Definition: d3d8types.h:57
D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS
Option flags controlling primary conversion performed by CreateImageSourceFromDxgi,...
Definition: d2d1_3.h:84
GLboolean GLboolean GLboolean GLboolean a
Definition: glext.h:6844
D2D1_POINT_2F bluePrimary
The XY coordinates of the blue primary in CIEXYZ space.
Definition: d2d1_3.h:435
struct D2D1_INK_BEZIER_SEGMENT D2D1_INK_BEZIER_SEGMENT
Represents a Bezier segment to be used in the creation of an ID2D1Ink object. This structure differs ...
interface ID2D1Image ID2D1Image
Definition: d2d1.h:3578
DWRITE_MEASURING_MODE
The measuring method used for text layout.
Definition: dcommon.h:35
Definition: d2d1_3.h:459